Function at 0x40688a
Capabilities:
Get number of processors

Disassembly:
add byte [eax], al
and edi, 0x1696e
jmp 0x4051a9
sub edi, 0x9a57
pop edi
push edi
sub edi, 0x11d95
or edi, 0xead9
xor edi, 0x48d4
pop edi
mov byte [ebp - 0x87c], 0x45
mov byte [ebp - 0x87b], 0x78
mov byte [ebp - 0x87a], 0x69
mov byte [ebp - 0x879], 0x74
mov byte [ebp - 0x878], 0x50
mov byte [ebp - 0x877], 0x72
mov byte [ebp - 0x876], 0x6f
mov byte [ebp - 0x875], 0x63
mov byte [ebp - 0x874], 0x65
mov byte [ebp - 0x873], 0x73
mov byte [ebp - 0x872], 0x73
idiv edi
push dword [ebx - 0x3a]
test dword [edi + 0xfffff7], ecx
push esi
or esi, 0x2332
and esi, 0x4397
sub esi, 0x5e15
and esi, 0xef3e
pop esi
push ebx
push eax
add esp, 4
sub ebx, 0x17a76
add ebx, 0xfbb5
and ebx, 0xcf2d
pop ebx
mov ecx, 0x6b
mov word [ebp - 0x1740], cx
mov edx, 0x65
mov word [ebp - 0x173e], dx
mov eax, 0x72
mov word [ebp - 0x173c], ax
mov ecx, 0x6e
mov word [ebp - 0x173a], cx
mov edx, 0x65
mov word [ebp - 0x1738], dx
mov eax, 0x6c
mov word [ebp - 0x1736], ax
mov ecx, 0x33
mov word [ebp - 0x1734], cx
mov edx, 0x32
mov word [ebp - 0x1732], dx
mov eax, 0x2e
mov word [ebp - 0x1730], ax
mov ecx, 0x64
mov word [ebp - 0x172e], cx
mov edx, 0x6c
mov word [ebp - 0x172c], dx
mov eax, 0x6c
mov word [ebp - 0x172a], ax
xor ecx, ecx
mov word [ebp - 0x1728], cx
push eax
push ecx
add esp, 4
jmp 0x4052ee
pop eax
push esi
push eax
add esp, 4
add esi, 0xfac
jmp 0x4052ff
call 0x40530b
add byte [ebp + edi + 0x33], cl
cmp al, byte [ebx + 0x45]
add esp, 4
sub esi, 0xda59
pop esi
push eax
sub eax, 0x133a1
pop eax
push eax
push ecx
add esp, 4
sub eax, 0x13af0
pop eax
push edi
push ecx
add esp, 4
sub edi, 0xc9fe
sub edi, 0x496d
or edi, 0x9ab4
or edi, 0xbe84
pop edi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x2034], edx
mov eax, dword [ebp - 0x2034]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x198c], ecx
mov edx, dword [ebp - 0x198c]
mov dword [ebp - 0x15e0], edx
push edi
xor edi, 0x379f
and edi, 0x1e9e
call 0x40538c
add byte [ecx + edi + 0x43], cl
dec edi
cmp bh, byte [edx]
xor dh, byte [edi]
cmp al, 0x45
add esp, 4
jmp 0x405398
pop edi
push eax
sub eax, 0x3473
pop eax
cmp dword [ebp - 0x15e0], 0
jne 0x4053b9
mov dword [ebp - 0x2d4], 0
jmp 0x405675
mov eax, dword [ebp - 0x15e0]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc9c], edx
push ebx
push ebx
add esp, 4
or ebx, 0xba81
pop ebx
push eax
add eax, 0x7921
xor eax, 0x1cf8
or eax, 0xbb0
or eax, 0x7f74
pop eax
push edi
push eax
add esp, 4
or edi, 0x9b81
pop edi
cmp dword [ebp - 0xc9c], 0
jne 0x405415
mov dword [ebp - 0x2d4], 0
jmp 0x405675
mov eax, dword [ebp - 0xc9c]
mov dword [ebp - 0x508], eax
push edx
or edx, 0x6554
sub edx, 0x15cc1
xor edx, 0x14146
pop edx
push ecx
push eax
add esp, 4
jmp 0x405440
add ecx, 0x83e2
sub ecx, 0x480f
and ecx, 0xc5f7
pop ecx
lea ecx, [ebp - 0x1740]
mov dword [ebp - 0xc98], ecx
mov edx, dword [ebp - 0x508]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc94], eax
xor ecx, ecx
mov word [ebp - 0x210], cx
xor edx, edx
mov word [ebp - 0x10c], dx
push eax
push esi
add esp, 4
jmp 0x40548e
jmp 0x405496
pop eax
push edi
jmp 0x40549f
add edi, 0x42a6
add edi, 0xe6ad
or edi, 0x16bbb
pop edi
mov eax, dword [ebp - 0xc94]
mov cx, word [eax]
mov word [ebp - 0x1036], cx
mov edx, dword [ebp - 0xc94]
add edx, 2
mov dword [ebp - 0xc94], edx
mov ax, word [ebp - 0x1036]
mov word [ebp - 0x210], ax
mov ecx, dword [ebp - 0xc98]
mov dx, word [ecx]
mov word [ebp - 0x1038], dx
mov eax, dword [ebp - 0xc98]
add eax, 2
mov dword [ebp - 0xc98], eax
mov cx, word [ebp - 0x1038]
mov word [ebp - 0x10c], cx
push ebx
push edi
add esp, 4
and ebx, 0xe732
call 0x405525
add byte [ebp + 0x44], al
dec ecx
dec eax
xor eax, 0xc4833243
add al, 0x81
invalid
push edx
push ecx
add esp, 4
les eax, [ebx + ebp*8]
invalid
sub edx, 0xfdf4
add edx, 0xc90a
pop edx
push esi
and esi, 0x32db
add esi, 0x13246
xor esi, 0x308
add esi, 0x15aef
pop esi
cmp dword [ebp - 0x2d4], 0
jne 0x405fc0
mov edx, 0x6b
mov word [ebp - 0x17ac], dx
mov eax, 0x65
mov word [ebp - 0x17aa], ax
mov ecx, 0x72
mov word [ebp - 0x17a8], cx
mov edx, 0x6e
mov word [ebp - 0x17a6], dx
mov eax, 0x65
mov word [ebp - 0x17a4], ax
mov ecx, 0x6c
mov word [ebp - 0x17a2], cx
mov edx, 0x33
mov word [ebp - 0x17a0], dx
mov eax, 0x32
mov word [ebp - 0x179e], ax
mov ecx, 0x2e
mov word [ebp - 0x179c], cx
mov edx, 0x64
mov word [ebp - 0x179a], dx
mov eax, 0x6c
mov word [ebp - 0x1798], ax
mov ecx, 0x6c
mov word [ebp - 0x1796], cx
xor edx, edx
mov word [ebp - 0x1794], dx
push edx
or edx, 0x8f5d
jmp 0x405759
jmp 0x405760
pop edx
push ebx
push esi
add esp, 4
sub ebx, 0x1710e
pop ebx
push edx
push eax
add esp, 4
add edx, 0xdc71
add edx, 0x819f
pop edx
mov byte [ebp - 0x898], 0x4c
mov byte [ebp - 0x897], 0x6f
mov byte [ebp - 0x896], 0x61
mov byte [ebp - 0x895], 0x64
mov byte [ebp - 0x894], 0x4c
mov byte [ebp - 0x893], 0x69
mov byte [ebp - 0x892], 0x62
mov byte [ebp - 0x891], 0x72
mov byte [ebp - 0x890], 0x61
mov byte [ebp - 0x88f], 0x72
mov byte [ebp - 0x88e], 0x79
mov byte [ebp - 0x88d], 0x57
mov byte [ebp - 0x88c], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1990], eax
mov ecx, dword [ebp - 0x1990]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1994], edx
mov eax, dword [ebp - 0x1994]
mov dword [ebp - 0x15ec], eax
push esi
push edi
add esp, 4
sub esi, 0xc555
pop esi
push eax
push edx
add esp, 4
or eax, 0x2c50
pop eax
push eax
xor eax, 0xfc89
add eax, 0x17f2b
or eax, 0xbe92
or eax, 0x17ea0
pop eax
cmp dword [ebp - 0x15ec], 0
jne 0x40584b
mov dword [ebp - 0x754], 0
jmp 0x405b07
mov ecx, dword [ebp - 0x15ec]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca8], eax
push esi
push esi
add esp, 4
xor esi, 0x11ed9
and esi, 0xf740
call 0x40587a
add byte [esi], dh
dec ecx
xor bh, byte [edx + eax*2]
aas
add esp, 4
call 0x40588b
add byte [esi], bh
xor eax, 0x3c3e3934
aaa
aaa
add esp, 4
pop esi
cmp dword [ebp - 0xca8], 0
jne 0x4058a7
mov dword [ebp - 0x754], 0
jmp 0x405b07
mov ecx, dword [ebp - 0xca8]
mov dword [ebp - 0x50c], ecx
push ecx
push ebx
add esp, 4
or ecx, 0x159d9
add ecx, 0x12b13
pop ecx
push edx
push ebx
add esp, 4
add edx, 0x4e0e
and edx, 0x12b1a
or edx, 0x42e
pop edx
push ecx
xor ecx, 0x418
pop ecx
lea edx, [ebp - 0x17ac]
mov dword [ebp - 0xca4], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xca0], ecx
xor edx, edx
mov word [ebp - 0x214], dx
xor eax, eax
mov word [ebp - 0x110], ax
push ecx
push edx
add esp, 4
sub ecx, 0xaa8b
sub ecx, 0x8d77
pop ecx
push ecx
add ecx, 0xdade
pop ecx
push ebx
push ebx
add esp, 4
xor ebx, 0x1b92
sub ebx, 0x10bb0
xor ebx, 0x6c82
pop ebx
mov ecx, dword [ebp - 0xca0]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xca0]
add eax, 2
mov dword [ebp - 0xca0], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x214], cx
mov edx, dword [ebp - 0xca4]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xca4]
add ecx, 2
mov dword [ebp - 0xca4], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x110], dx
push eax
xor eax, 0x4e9b
jmp 0x4059ae
call 0x4059be
add byte [ebp + 0x32], cl
cmp dword [edi], edi
dec ebx
inc ebx
dec edx
cmp eax, 0xc4834237
add al, 0x58
push edx
xor edx, 0x5ef0
sub edx, 0x6d0d
pop edx
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x4059f3
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
sub ecx, edx
mov dword [ebp - 0x15f4], ecx
jmp 0x405a56
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x110]
cmp eax, ecx
je 0x405912
movzx edx, word [ebp - 0x214]
xor edx, 0x20
movzx eax, word [ebp - 0x110]
cmp edx, eax
je 0x405912
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
cmp ecx, edx
jge 0x405a40
mov dword [ebp - 0x15f0], 0xffffffff
jmp 0x405a4a
mov dword [ebp - 0x15f0], 1
mov eax, dword [ebp - 0x15f0]
mov dword [ebp - 0x15f4], eax
cmp dword [ebp - 0x15f4], 0
jne 0x405a9f
push esi
push edi
add esp, 4
call 0x405a72
add byte [edi], bh
xor cl, byte [ebp + 0x42]
aaa
dec ebp
dec edx
inc ebx
add esp, 4
pop esi
push edx
push edx
add esp, 4
call 0x405a87
add byte [ecx + 0x44], al
inc esp
dec ebx
cmp byte [ebx - 0x357efb3c], al
sbb ch, byte [eax]
add byte [eax], al
pop edx
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x754], ecx
jmp 0x405b07
push esi
or esi, 0x126b5
and esi, 0x7727
or esi, 0x9929
jmp 0x405ab8
pop esi
push edi
push edi
add esp, 4
xor edi, 0x7808
pop edi
push edi
push ebx
add esp, 4
or edi, 0x1a7d
pop edi
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xca8]
je 0x405afd
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x4058b3
mov dword [ebp - 0x754], 0
push ecx
push esi
add esp, 4
add ecx, 0x10542
sub ecx, 0x2a3f
pop ecx
push eax
call 0x405b26
add byte [edx + 0x47], cl
dec ecx
dec ebx
cmp byte [edx - 0x7d], cl
les eax, [ebx + ebp*8]
pop es
dec ebp
xor al, 0x45
xor eax, 0x81483749
sar byte [ecx + 0x580000af], 0x83
mov ebp, 0xfffff8ac
add byte [ebp + 0x41], dh
push edi
push eax
add esp, 4
call 0x405b53
add byte [ebx], bh
xor bh, byte [eax]
cmp eax, 0xc4833948
add al, 0x81
out 0xb3, eax
add byte [eax], al
add al, ch
or dword [eax], eax
add byte [eax], al
add byte [edi], dh
inc eax
cmp eax, 0x3a434041
inc ecx
add esp, 4
or edi, 0xf310
pop edi
mov dword [ebp - 0x7a0], 0
jmp 0x4066aa
push edx
push eax
add esp, 4
or edx, 0x16d05
pop edx
push eax
push ebx
add esp, 4
add eax, 0x10438
pop eax
push edx
xor edx, 0x10c6a
add edx, 0x14644
sub edx, 0xfb44
xor edx, 0x15423
pop edx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19b0], eax
mov ecx, dword [ebp - 0x19b0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19b4], edx
mov eax, dword [ebp - 0x19b4]
mov dword [ebp - 0x1604], eax
push ebx
push edx
add esp, 4
or ebx, 0x12f24
add ebx, 0x831b
or ebx, 0xbd20
xor ebx, 0x184a9
pop ebx
push ebx
or ebx, 0xd283
xor ebx, 0x2a7c
xor ebx, 0xbe88
pop ebx
cmp dword [ebp - 0x1604], 0
jne 0x406063
mov dword [ebp - 0x2d4], 0
jmp 0x40630a
mov ecx, dword [ebp - 0x1604]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb8], eax
push eax
push ebx
add esp, 4
jmp 0x406082
and eax, 0x3901
pop eax
push ebx
push ebx
add esp, 4
and ebx, 0x5f6a
and ebx, 0x7b34
xor ebx, 0x168c9
xor ebx, 0x15e36
pop ebx
cmp dword [ebp - 0xcb8], 0
jne 0x4060bf
mov dword [ebp - 0x2d4], 0
jmp 0x40630a
mov ecx, dword [ebp - 0xcb8]
mov dword [ebp - 0x510], ecx
push eax
push eax
add esp, 4
sub eax, 0x6541
pop eax
push edi
or edi, 0xb5d4
pop edi
push ecx
push eax
add esp, 4
xor ecx, 0x7f63
call 0x4060f9
add byte [edx + 0x3d], cl
inc eax
dec esp
push eax
cmp eax, 0xc4833a38
add al, 0x59
lea edx, [ebp - 0x1740]
mov dword [ebp - 0xcb4], edx
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcb0], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push ebx
push edi
add esp, 4
and ebx, 0x13d58
add ebx, 0x48e8
or ebx, 0xa451
or ebx, 0xc8ef
pop ebx
push esi
add esi, 0x14fb7
pop esi
push eax
push ecx
add esp, 4
or eax, 0x14079
pop eax
mov ecx, dword [ebp - 0xcb0]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcb0]
add eax, 2
mov dword [ebp - 0xcb0], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb4]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcb4]
add ecx, 2
mov dword [ebp - 0xcb4], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x34], dx
push edx
add edx, 0x115fa
add edx, 0x12b6
sub edx, 0x9bc
pop edx
push esi
push ecx
add esp, 4
and esi, 0x4d8
jmp 0x4061d5
sub esi, 0x1577d
and esi, 0xa31b
pop esi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x4061ff
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x160c], ecx
jmp 0x406259
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x406127
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x406127
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x406243
mov dword [ebp - 0x1608], 0xffffffff
jmp 0x40624d
mov dword [ebp - 0x1608], 1
mov eax, dword [ebp - 0x1608]
mov dword [ebp - 0x160c], eax
cmp dword [ebp - 0x160c], 0
jne 0x4062a2
push eax
push edi
add esp, 4
sub eax, 0x3f2c
call 0x40627a
add byte [ecx + 0x3a], al
xor al, 0x41
xor eax, 0xc4835042
add al, 0xe8
or byte [eax], al
add byte [eax], al
add byte [edx + 0x4c], al
inc esi
dec esp
xor ecx, dword [eax + 0x4e]
add esp, 4
or eax, 0xc6ae
pop eax
mov ecx, dword [ebp - 0x510]
mov dword [ebp - 0x2d4], ecx
jmp 0x40630a
push esi
push edi
add esp, 4
add esi, 0xa7ed
call 0x4062bc
add byte [0x403b3f4f], dh
aas
push eax
xor al, 0x47
add esp, 4
and esi, 0x2a71
or esi, 0x6e7a
pop esi
push ebx
and ebx, 0x108b6
pop ebx
mov edx, dword [ebp - 0x510]
mov eax, dword [edx]
mov dword [ebp - 0x510], eax
mov ecx, dword [ebp - 0x510]
cmp ecx, dword [ebp - 0xcb8]
je 0x406300
mov edx, dword [ebp - 0x510]
cmp dword [edx + 0x30], 0
jne 0x4060cb
mov dword [ebp - 0x2d4], 0
push edx
call 0x406319
add byte [edi + 0x45], al
dec ebx
inc eax
dec esi
dec ebx
xor eax, 0x4c4834d
and edx, 0x5017
or edx, 0x2499
call 0x406338
add byte [eax + edi], bh
dec edx
aaa
inc esi
dec esp
cmp ecx, dword [ebp + 0x37]
cmp al, byte [ebx - 0x74a5fb3c]
test dword [edi*8 + 0x488bffff], ebp
sbb byte [ecx - 0x32373], cl
call dword [eax + 0x56]
add esp, 4
or eax, 0xbfcb
pop eax
push edi
and edi, 0x9793
sub edi, 0x68c3
sub edi, 0x69f8
pop edi
push ecx
push eax
add esp, 4
and ecx, 0x2330
or ecx, 0x37ed
pop ecx
mov dword [ebp - 0x774], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1610], edx
cmp dword [ebp - 0x1610], 0
jne 0x4063ad
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x514], eax
jmp 0x40669e
mov ecx, dword [ebp - 0x1610]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1614], edx
jne 0x4063d5
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x514], eax
jmp 0x40669e
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1614]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1618], ecx
cmp dword [ebp - 0x1618], 0
jne 0x406407
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x514], edx
jmp 0x40669e
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1618]
mov dword [ebp - 0x768], eax
jne 0x40642c
mov ecx, dword [ebp - 0x774]
mov dword [ebp - 0x514], ecx
jmp 0x40669e
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19b8], eax
mov ecx, dword [ebp - 0x768]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19bc], edx
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19c0], ecx
mov dword [ebp - 0x76c], 0
jmp 0x406486
mov edx, dword [ebp - 0x76c]
add edx, 1
mov dword [ebp - 0x76c], edx
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x76c]
cmp ecx, dword [eax + 0x18]
jae 0x406692
mov edx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x19b8]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x770], ecx
mov edx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x19bc]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19c0]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1d48], eax
mov dword [ebp - 0x198], 0
jmp 0x4064f6
mov ecx, dword [ebp - 0x198]
add ecx, 1
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x4065a8
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x87c]
test edx, edx
je 0x4065a8
push edi
push eax
add esp, 4
call 0x406535
add byte [edx], dh
dec ebp
cmp eax, 0x44413c49
add esp, 4
sub edi, 0x5edf
add edi, 0x560b
call 0x406551
add byte [ebx], dh
xor al, 0x36
dec ecx
aas
dec ebp
inc esp
add esp, 4
pop edi
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x87c]
cmp ecx, eax
je 0x40659a
mov ecx, dword [ebp - 0x770]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x87c]
cmp edx, ecx
jne 0x4065a1
jmp 0x4064e7
jmp 0x4065a8
push edi
add edi, 0x1406
and edi, 0x1684
sub edi, 0x151a1
sub edi, 0x1e27
pop edi
push edi
push eax
add esp, 4
add edi, 0xf2ed
or edi, 0xd9a6
sub edi, 0x12cc2
pop edi
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x87c]
cmp eax, edx
jne 0x406607
mov dword [ebp - 0xcbc], 0
jmp 0x406676
push eax
call 0x406617
add byte [0x34433448], bh
dec esi
xor al, byte [ebp + edi - 0x7d]
les eax, [ecx + eax*4]
call fcn.004167ee
add eax, 0xd223
pop eax
push edx
push edx
add esp, 4
xor edx, 0x1100e
sub edx, 0x49c8
pop edx
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x87c]
or eax, 0x20
cmp ecx, eax
jge 0x40666c
mov dword [ebp - 0xcbc], 0xffffffff
jmp 0x406676
mov dword [ebp - 0xcbc], 1
cmp dword [ebp - 0xcbc], 0
jne 0x40668d
mov ecx, dword [ebp - 0x1d48]
mov dword [ebp - 0x514], ecx
jmp 0x40669e
jmp 0x406477
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x514], edx
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0x7a0], eax
push edi
push edx
add esp, 4
add edi, 0x1bdd
pop edi
push eax
and eax, 0xf579
pop eax
push esi
sub esi, 0xefb8
pop esi
push eax
sub eax, 0x14426
pop eax
push ecx
xor ecx, 0xbfa
or ecx, 0x11f50
pop ecx
mov ecx, dword [ebp - 0x3e4]
add ecx, 0xe
mov dword [ebp - 0x1a10], ecx
push ebx
push ecx
add esp, 4
sub ebx, 0x8267
pop ebx
push eax
push eax
add esp, 4
and eax, 0x6b67
or eax, 0x5d6c
and eax, 0xafca
or eax, 0x9f3
pop eax
push esi
sub esi, 0x9562
pop esi
cmp dword [ebp - 0x3e4], 0
je 0x40672f
cmp dword [ebp - 0xac4], 0
jne 0x406775
push esi
push eax
add esp, 4
and esi, 0xd558
pop esi
push edi
push eax
add esp, 4
jmp 0x406747
call 0x406757
add byte [eax + 0x3d], dl
dec edx
cmp dword ds:[eax + 0x35], eax
dec ecx
xor eax, 0xeb04c483
add al, 0x37
inc edi
dec eax
dec eax
pop edi
mov edx, dword [ebp - 0x7a0]
mov dword [ebp - 0x19c4], edx
push 0
call dword [ebp - 0x19c4]
mov dword [ebp - 0x20dc], 0xa
push esi
push ebx
add esp, 4
jmp 0x40678d
pop esi
push esi
push ecx
add esp, 4
or esi, 0x872d
xor esi, 0x39b0
pop esi
push ecx
push edi
add esp, 4
jmp 0x4067aa
xor ecx, 0x16e08
pop ecx
mov eax, dword [ebp - 0x3e4]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ed], cl
mov edx, dword [ebp - 0xac4]
sub edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x169c], edx
mov dword [ebp - 0xcec], 0
push esi
push eax
add esp, 4
and esi, 0x2419
xor esi, 0x159a6
pop esi
push ecx
call 0x4067fe
add byte [ecx + 0x4f], cl
inc ecx
dec esp
inc ecx
inc ebp
aas
inc ebp
inc ecx
add esp, 4
jmp 0x406807
or ecx, 0x110cf
pop ecx
mov byte [ebp - 0x9d8], 0x56
mov byte [ebp - 0x9d7], 0x69
mov byte [ebp - 0x9d6], 0x72
mov byte [ebp - 0x9d5], 0x74
mov byte [ebp - 0x9d4], 0x75
mov byte [ebp - 0x9d3], 0x61
mov byte [ebp - 0x9d2], 0x6c
mov byte [ebp - 0x9d1], 0x50
mov byte [ebp - 0x9d0], 0x72
mov byte [ebp - 0x9cf], 0x6f
mov byte [ebp - 0x9ce], 0x74
mov byte [ebp - 0x9cd], 0x65
mov byte [ebp - 0x9cc], 0x63
mov byte [ebp - 0x9cb], 0x74
mov byte [ebp - 0x9ca], 0
push ebx
push edx
add esp, 4
call 0x40688a
add byte [eax + 0x4a], al
xor al, byte [edi + 0x3a]
xor esi, dword [edi + 0x5b04c483]
push eax
and eax, 0xe516
pop eax
push ecx
xor ecx, 0xf96f
jmp 0x4068a2
sub ecx, 0xb39a
pop ecx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19c8], eax
mov ecx, dword [ebp - 0x19c8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19cc], edx
mov eax, dword [ebp - 0x19cc]
mov dword [ebp - 0x161c], eax
push ecx
push eax
add esp, 4
sub ecx, 0x6692
pop ecx
push edi
xor edi, 0x8b5e
pop edi
push edi
push edx
add esp, 4
xor edi, 0xaad2
add edi, 0x5a1f
sub edi, 0x12d4c
add edi, 0x15fd7
pop edi
cmp dword [ebp - 0x161c], 0
jne 0x40691a
mov dword [ebp - 0x2f4], 0
jmp 0x406bc1
mov ecx, dword [ebp - 0x161c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc8], eax
push edi
push edi
add esp, 4
xor edi, 0x3b4c
jmp 0x40693d
and edi, 0x256f
pop edi
push ebx
push eax
add esp, 4
jmp 0x406951
xor ebx, 0x11dd4
sub ebx, 0x33af
pop ebx
cmp dword [ebp - 0xcc8], 0
jne 0x406976
mov dword [ebp - 0x2f4], 0
jmp 0x406bc1
mov ecx, dword [ebp - 0xcc8]
mov dword [ebp - 0x518], ecx
push edx
and edx, 0x7dfe
add edx, 0x4e87
or edx, 0xac75
pop edx
push esi
push eax
add esp, 4
call 0x4069aa
add byte [0x4c483e36], dh
aas
aas
cmp dh, byte [edx]
add esp, 4
sub esi, 0x68ed
pop esi
lea edx, [ebp - 0x1740]
mov dword [ebp - 0xcc4], edx
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcc0], ecx
xor edx, edx
mov word [ebp - 0x21c], dx
xor eax, eax
mov word [ebp - 0x38], ax
push ebx
add ebx, 0x13efa
pop ebx
push esi
push edx
add esp, 4
jmp 0x4069f1
xor esi, 0xe913
pop esi
push ecx
push ecx
add esp, 4
or ecx, 0x273f
xor ecx, 0x8719
xor ecx, 0xcce
pop ecx
mov ecx, dword [ebp - 0xcc0]
mov dx, word [ecx]
mov word [ebp - 0x1042], dx
mov eax, dword [ebp - 0xcc0]
add eax, 2
mov dword [ebp - 0xcc0], eax
mov cx, word [ebp - 0x1042]
mov word [ebp - 0x21c], cx
mov edx, dword [ebp - 0xcc4]
mov ax, word [edx]
mov word [ebp - 0x1044], ax
mov ecx, dword [ebp - 0xcc4]
add ecx, 2
mov dword [ebp - 0xcc4], ecx
mov dx, word [ebp - 0x1044]
mov word [ebp - 0x38], dx
push edi
jmp 0x406a6e
or edi, 0x8f49
and edi, 0xe2f1
pop edi
push eax
push ebx
add esp, 4
sub eax, 0x2e4d
sub eax, 0x11f2e
sub eax, 0x14ae3
xor eax, 0x1154a
pop eax
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x406ab6
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1624], ecx
jmp 0x406b10
movzx eax, word [ebp - 0x21c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x4069de
movzx edx, word [ebp - 0x21c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x4069de
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x406afa
mov dword [ebp - 0x1620], 0xffffffff
jmp 0x406b04
mov dword [ebp - 0x1620], 1
mov eax, dword [ebp - 0x1620]
mov dword [ebp - 0x1624], eax
cmp dword [ebp - 0x1624], 0
jne 0x406b59
push esi
sub esi, 0x7dbe
or esi, 0x17c96
and esi, 0xb105
call 0x406b3b
add byte [ecx], bh
aaa
cmp eax, 0x4a4a453f
xor al, 0x49
add esp, 4
pop esi
push edi
push esi
add esp, 4
or edi, 0x9a4c
pop edi
mov ecx, dword [ebp - 0x518]
mov dword [ebp - 0x2f4], ecx
jmp 0x406bc1
push esi
add esi, 0x156a4
add esi, 0x8e05
pop esi
push esi
and esi, 0x585c
pop esi
push esi
add esi, 0xd043
add esi, 0xd1d8
xor esi, 0x63c0
pop esi
push edi
and edi, 0x17752
pop edi
mov edx, dword [ebp - 0x518]
mov eax, dword [edx]
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x518]
cmp ecx, dword [ebp - 0xcc8]
je 0x406bb7
mov edx, dword [ebp - 0x518]
cmp dword [edx + 0x30], 0
jne 0x406982
mov dword [ebp - 0x2f4], 0
push edx
jmp 0x406bca
pop edx
push edx
jmp 0x406bd2
pop edx
push edx
xor edx, 0x228d
call 0x406be9
add byte [eax + 0x3b], dl
cmp eax, 0x3f4e343b
dec esi
add esp, 4
add edx, 0xe7a9
pop edx
cmp dword [ebp - 0x2f4], 0
jne 0x4074f8
mov eax, 0x6b
mov word [ebp - 0x17c8], ax
mov ecx, 0x65
mov word [ebp - 0x17c6], cx
mov edx, 0x72
mov word [ebp - 0x17c4], dx
mov eax, 0x6e
mov word [ebp - 0x17c2], ax
mov ecx, 0x65
mov word [ebp - 0x17c0], cx
mov edx, 0x6c
mov word [ebp - 0x17be], dx
mov eax, 0x33
mov word [ebp - 0x17bc], ax
mov ecx, 0x32
mov word [ebp - 0x17ba], cx
mov edx, 0x2e
mov word [ebp - 0x17b8], dx
mov eax, 0x64
mov word [ebp - 0x17b6], ax
mov ecx, 0x6c
mov word [ebp - 0x17b4], cx
mov edx, 0x6c
mov word [ebp - 0x17b2], dx
xor eax, eax
mov word [ebp - 0x17b0], ax
push edi
and edi, 0x149eb
pop edi
push esi
or esi, 0x14646
jmp 0x406cae
add esi, 0x27c0
pop esi
push ecx
jmp 0x406cbe
or ecx, 0x23e2
and ecx, 0x16c58
pop ecx
mov byte [ebp - 0x8a8], 0x4c
mov byte [ebp - 0x8a7], 0x6f
mov byte [ebp - 0x8a6], 0x61
mov byte [ebp - 0x8a5], 0x64
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x69
mov byte [ebp - 0x8a2], 0x62
mov byte [ebp - 0x8a1], 0x72
mov byte [ebp - 0x8a0], 0x61
mov byte [ebp - 0x89f], 0x72
mov byte [ebp - 0x89e], 0x79
mov byte [ebp - 0x89d], 0x57
mov byte [ebp - 0x89c], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19d0], ecx
mov edx, dword [ebp - 0x19d0]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19d4], eax
mov ecx, dword [ebp - 0x19d4]
mov dword [ebp - 0x1628], ecx
push esi
xor esi, 0x1657f
jmp 0x406d5e
call 0x406d6e
add byte [ecx + 0x39], cl
inc edx
inc edx
inc ebp
inc ecx
dec esi
dec esi
cmp eax, dword [ebx + 0x575e04c4]
xor edi, 0x9dff
and edi, 0x3d50
pop edi
cmp dword [ebp - 0x1628], 0
jne 0x406d98
mov dword [ebp - 0x778], 0
jmp 0x40703f
mov edx, dword [ebp - 0x1628]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd4], ecx
push edi
push edi
add esp, 4
xor edi, 0x48d8
pop edi
push ecx
push ebx
add esp, 4
sub ecx, 0xdfd7
pop ecx
push ebx
and ebx, 0xd33d
add ebx, 0x1d0e
or ebx, 0x13137
xor ebx, 0xd5b4
pop ebx
cmp dword [ebp - 0xcd4], 0
jne 0x406df4
mov dword [ebp - 0x778], 0
jmp 0x40703f
mov edx, dword [ebp - 0xcd4]
mov dword [ebp - 0x51c], edx
push ecx
call 0x406e0f
add byte [edx], dh
xor ecx, dword [ebp + 0x4f]
dec ebx
inc ecx
inc edx
dec ecx
add esp, 4
jmp 0x406e17
or ecx, 0x8eb7
pop ecx
push esi
and esi, 0x8a4e
sub esi, 0xd143
add esi, 0x15154
pop esi
lea eax, [ebp - 0x17c8]
mov dword [ebp - 0xcd0], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xccc], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push eax
xor eax, 0xb0b3
and eax, 0x60d
and eax, 0xb697
pop eax
push ebx
call 0x406e7e
add byte [esi + 0x48], cl
inc esi
cmp dh, byte [edx]
inc esi
inc esi
add esp, 4
xor ebx, 0x16cd8
add ebx, 0x1815e
pop ebx
mov edx, dword [ebp - 0xccc]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xccc]
add ecx, 2
mov dword [ebp - 0xccc], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x220], dx
mov eax, dword [ebp - 0xcd0]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcd0]
add edx, 2
mov dword [ebp - 0xcd0], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x3c], ax
push edi
push ecx
add esp, 4
and edi, 0xc9ff
pop edi
push eax
or eax, 0x101c5
xor eax, 0x1431f
or eax, 0x11105
pop eax
push edi
push ebx
add esp, 4
sub edi, 0xd2c
sub edi, 0xf220
pop edi
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x406f34
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1670], edx
jmp 0x406f8e
movzx ecx, word [ebp - 0x220]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x406e5c
movzx eax, word [ebp - 0x220]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x406e5c
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x406f78
mov dword [ebp - 0x162c], 0xffffffff
jmp 0x406f82
mov dword [ebp - 0x162c], 1
mov ecx, dword [ebp - 0x162c]
mov dword [ebp - 0x1670], ecx
cmp dword [ebp - 0x1670], 0
jne 0x406fd7
push ecx
call 0x406fa4
add byte [ebx + 0x46], cl
cmp cl, byte [esi + 0x44]
inc ecx
add esp, 4
xor ecx, 0xecf2
pop ecx
push ecx
push ebx
add esp, 4
and ecx, 0x80e4
call 0x406fc5
add byte [ebx], dh
inc edx
dec ebp
inc ebx
aaa
inc esi
add esp, 4
pop ecx
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x778], edx
jmp 0x40703f
push edi
and edi, 0x10d37
or edi, 0x2157
sub edi, 0xb79f
pop edi
push edi
push eax
add esp, 4
xor edi, 0x101c5
sub edi, 0x17689
add edi, 0xd8d5
or edi, 0x17fdb
pop edi
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0xcd4]
je 0x407035
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x406e00
mov dword [ebp - 0x778], 0
push eax
push ecx
add esp, 4
and eax, 0xca76
xor eax, 0x129
and eax, 0x14d
pop eax
push edx
add edx, 0x7867
or edx, 0x2342
or edx, 0xfec6
and edx, 0xbb26
pop edx
cmp dword [ebp - 0x778], 0
jne 0x4070bb
push ecx
push ebx
add esp, 4
and ecx, 0xe2dc
pop ecx
push ebx
and ebx, 0xb6ab
or ebx, 0x42fb
and ebx, 0xa758
pop ebx
push edx
push ecx
add esp, 4
or edx, 0x12f03
sub edx, 0x1539f
pop edx
mov dword [ebp - 0xac0], 0
jmp 0x407be3
push edi
push edx
add esp, 4
jmp 0x4070c5
xor edi, 0x1605b
sub edi, 0x8bca
pop edi
push eax
push esi
add esp, 4
call 0x4070e3
add byte [ebx + 0x3e], al
cmp eax, 0xc4833739
add al, 0x81
call fcn.00413b12
pop eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x788], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x1674], eax
cmp dword [ebp - 0x1674], 0
jne 0x40712c
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], ecx
jmp 0x40741d
mov edx, dword [ebp - 0x1674]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1678], eax
jne 0x407154
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], ecx
jmp 0x40741d
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1678]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1680], edx
cmp dword [ebp - 0x1680], 0
jne 0x407186
mov eax, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], eax
jmp 0x40741d
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x77c], ecx
jne 0x4071ab
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], edx
jmp 0x40741d
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19d8], ecx
mov edx, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19dc], eax
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19e0], edx
mov dword [ebp - 0x780], 0
jmp 0x407205