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

Disassembly:
mov edx, dword [ebp - 0x4d0]
add edx, 1
mov dword [ebp - 0x4d0], edx
push ecx
push ecx
add esp, 4
jmp 0x406fa3
sub ecx, 0x14085
pop ecx
push eax
push ebx
add esp, 4
and eax, 0x175bf
sub eax, 0x56df
jmp 0x406fc1
jmp 0x406fc7
pop eax
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x407010
push ebx
and ebx, 0x8455
jmp 0x406fe6
xor ebx, 0x16080
pop ebx
push edi
push ebx
add esp, 4
xor edi, 0x6fa0
add edi, 0xe2e3
or edi, 0xaf95
xchg ebp, eax
scasd eax, dword es:[edi]
add byte [eax], al
xor edi, 0xc391
pop edi
jmp 0x40723e
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xa60], ecx
push ebx
push ebx
add esp, 4
and ebx, 0x15f06
or ebx, 0x180cc
pop ebx
push ebx
or ebx, 0x9f9e
and ebx, 0x52bb
and ebx, 0x14baa
pop ebx
push edx
push edx
add esp, 4
add edx, 0x10190
pop edx
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 0x4070bf
push ecx
add ecx, 0xd7bb
sub ecx, 0x16036
jmp 0x40708f
pop ecx
push esi
call 0x4070a1
add byte [edi + 0x4c], al
cmp byte [edx + 0x39], cl
inc esp
dec edi
inc eax
aas
aas
add esp, 4
jmp 0x4070ad
pop esi
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], ecx
jmp 0x4071f0
cmp dword [ebp - 0xc10], 0
jle 0x4071e4
push ecx
add ecx, 0x8ef4
add ecx, 0xe028
and ecx, 0x2864
pop ecx
push edx
push ecx
add esp, 4
sub edx, 0x7ce6
pop edx
push edi
push edi
add esp, 4
jmp 0x4070f7
or edi, 0x13182
pop edi
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x9f0]
movzx edx, byte [ecx]
mov edx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 0
jne 0x407239
push esi
jmp 0x407200
sub esi, 0x17450
or esi, 0x13ec8
and esi, 0x16eb4
pop esi
push ecx
push edx
add esp, 4
and ecx, 0xa2ba
and ecx, 0x43f2
xor ecx, 0xbac9
pop ecx
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0xa5c], eax
jmp 0x40727a
jmp 0x406f87
push edx
push ebx
add esp, 4
xor edx, 0xe87c
jmp 0x40724f
xor edx, 0x9e36
pop edx
push esi
xor esi, 0x1047a
add esi, 0x166c1
pop esi
push edx
push ecx
add esp, 4
and edx, 0x321f
pop edx
mov dword [ebp - 0xa5c], 0
push eax
sub eax, 0x6142
pop eax
push edx
push edx
add esp, 4
sub edx, 0xcca5
sub edx, 0x437a
pop edx
push esi
push ecx
add esp, 4
add esi, 0xdfb6
sub esi, 0x123ba
out dx, al
mov edx, 0x81000123
out dx, al
mov dl, 0
add byte [esi - 0x3a], bl
test esp, edi
idiv edi
inc dword [ebp - 0x3a]
test ebp, edi
idiv edi
invalid
js 0x407281
test esi, edi
idiv edi
jmp [ecx - 0x3a]
test edi, edi
idiv edi
push dword [esi + eax*8 - 0x7b]
add al, bh
invalid
call dword [eax - 0x3a]
test dword [ecx], eax
clc
invalid
push dword [edx - 0x3a]
test dword [edx], eax
clc
invalid
jmp [edi - 0x3a]
test dword [ebx], eax
clc
invalid
jmp dword [ebx - 0x3a]
test dword [eax + edi*8], eax
invalid
jmp dword [ebp - 0x3a]
test dword [0x73fffff8], eax
mov byte [ebp - 0x7fa], 0x73
mov byte [ebp - 0x7f9], 0
push edx
call 0x407310
add byte [0x413d3c32], bh
dec edx
dec esp
aaa
dec edi
add esp, 4
call 0x407322
add byte [ecx*2 + 0x484a4233], bh
cmp dword [ecx + 0x48], ecx
add esp, 4
add edx, 0x6264
and edx, 0x9525
pop edx
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 edx
push ecx
add esp, 4
call 0x4073df
add byte [edx], dh
inc ecx
cmp cl, byte [edi + ecx*2 + 0x37]
xor eax, 0xc4833d4f
add al, 0xe8
or al, byte [eax]
add byte [eax], al
add byte [ebx + 0x40], al
aas
dec eax
xor eax, 0x3c383540
add esp, 4
pop edx
push eax
add eax, 0x20a1
pop eax
push edx
or edx, 0x10bd7
sub edx, 0x13580
and edx, 0x14afe
add edx, 0x11b72
pop edx
push esi
push edi
add esp, 4
xor esi, 0x10bc
pop esi
push edi
push edx
add esp, 4
or edi, 0x17ff2
pop edi
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 eax
xor eax, 0x18628
pop eax
push edx
and edx, 0x3665
pop edx
push esi
and esi, 0xac4e
jmp 0x407474
xor esi, 0xca15
sub esi, 0x107cd
pop esi
push esi
add esi, 0x13884
pop esi
cmp dword [ebp - 0x14d4], 0
jne 0x4074a1
mov dword [ebp - 0x2e0], 0
jmp 0x40775d
mov eax, dword [ebp - 0x14d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc20], edx
push esi
push ebx
add esp, 4
xor esi, 0x24d4
or esi, 0x2506
and esi, 0xa00b
pop esi
push ebx
xor ebx, 0xe2ba
or ebx, 0xc30
sub ebx, 0x134c7
xor ebx, 0x4833
pop ebx
cmp dword [ebp - 0xc20], 0
jne 0x4074fd
mov dword [ebp - 0x2e0], 0
jmp 0x40775d
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0x4d4], eax
push eax
call 0x407518
add byte [0x4d424747], dh
cmp al, 0x35
add esp, 4
and eax, 0x13c0c
call 0x407531
add byte [ebx + 0x35], al
inc ecx
dec eax
xor dh, byte [ebx]
inc edi
inc esi
cmp byte [ebp - 0x7d], al
les eax, [ecx + eax*4]
loopne 0x407507
invalid
insb byte es:[edi], dx
add byte [eax], al
pop eax
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 eax
and eax, 0x10594
pop eax
push ebx
push ebx
add esp, 4
add ebx, 0x13139
sub ebx, 0xb8c6
call 0x407590
add byte [0x49443649], dh
inc esp
cmp eax, 0xc4834333
add al, 0x81
xchg esi, eax
mov ah, 0
add byte [ebx - 0x75], bl
test eax, ebp
invalid
push esi
or esi, 0x2f4a
jmp 0x40776b
sub esi, 0x15cb
pop esi
push edx
and edx, 0x13f21
sub edx, 0xaf03
jmp 0x407785
jmp 0x40778e
pop edx
cmp dword [ebp - 0x2e0], 0
jne 0x4080a8
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 edx
push eax
add esp, 4
call 0x407849
add byte [edx], dh
xor eax, 0x41504945
aas
push eax
dec edi
add esp, 4
sub edx, 0x15543
pop edx
push ecx
sub ecx, 0x14208
add ecx, 0xbc74
sub ecx, 0x14549
pop ecx
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
push esi
add esp, 4
or eax, 0x6fe7
pop eax
push ecx
push ebx
add esp, 4
sub ecx, 0x154e4
pop ecx
push ebx
push edi
add esp, 4
add ebx, 0x15486
add ebx, 0x11f4c
pop ebx
push ecx
and ecx, 0x19e
pop ecx
cmp dword [ebp - 0x14dc], 0
jne 0x407933
mov dword [ebp - 0x6ec], 0
jmp 0x407bef
mov ecx, dword [ebp - 0x14dc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc2c], eax
push esi
jmp 0x40794b
xor esi, 0xcdf9
pop esi
push eax
call 0x407961
add byte [esi + 0x3a], cl
inc esp
dec eax
dec ebx
inc eax
aas
add esp, 4
call 0x407973
add byte [ecx + 0x4e], cl
cmp dh, byte [0x4b333c3b]
dec eax
add esp, 4
pop eax
cmp dword [ebp - 0xc2c], 0
jne 0x40798f
mov dword [ebp - 0x6ec], 0
jmp 0x407bef
mov ecx, dword [ebp - 0xc2c]
mov dword [ebp - 0x4d8], ecx
push ebx
xor ebx, 0x18632
sub ebx, 0x17646
pop ebx
push ecx
push esi
add esp, 4
xor ecx, 0x1512d
and ecx, 0x95eb
sub ecx, 0xfe52
pop ecx
push edi
push esi
add esp, 4
add edi, 0x17f57
pop edi
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 ecx
sub ecx, 0x721e
jmp 0x407a07
add ecx, 0x163f9
pop ecx
push eax
push esi
add esp, 4
sub eax, 0x5365
xor eax, 0xaab2
or eax, 0xa73f
xor eax, 0x108
pop eax
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 ebx
call 0x407a97
add byte [ebx], bh
cmp byte [esi], dh
xor ecx, dword [ebp + 0x3e]
inc ebp
dec ebx
cmp eax, 0x4c48344
pop ebx
push eax
push esi
add esp, 4
sub eax, 0x12dad
sub eax, 0x1859e
jmp 0x407ab1
and eax, 0xd0f4
pop eax
movzx eax, word [ebp - 0x104]
test eax, eax
jne 0x407adb
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
sub ecx, edx
mov dword [ebp - 0x14e4], ecx
jmp 0x407b3e
movzx eax, word [ebp - 0x1fc]
movzx ecx, word [ebp - 0x104]
cmp eax, ecx
je 0x4079fa
movzx edx, word [ebp - 0x1fc]
xor edx, 0x20
movzx eax, word [ebp - 0x104]
cmp edx, eax
je 0x4079fa
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
cmp ecx, edx
jge 0x407b28
mov dword [ebp - 0x14e0], 0xffffffff
jmp 0x407b32
mov dword [ebp - 0x14e0], 1
mov eax, dword [ebp - 0x14e0]
mov dword [ebp - 0x14e4], eax
cmp dword [ebp - 0x14e4], 0
jne 0x407b87
push ecx
push edx
add esp, 4
add ecx, 0x23f6
pop ecx
push ebx
and ebx, 0x2056
pop ebx
push ebx
push esi
add esp, 4
xor ebx, 0x15562
call 0x407b75
add byte [ebp + 0x45], cl
cmp bh, byte [eax]
dec eax
xor bh, byte [eax]
dec edi
add esp, 4
pop ebx
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x6ec], ecx
jmp 0x407bef
push ecx
jmp 0x407b8d
pop ecx
push ecx
push eax
add esp, 4
call 0x407ba3
add byte [edx], bh
dec esp
xor al, 0x47
dec ecx
inc eax
dec esi
dec esi
inc ebx
push eax
add esp, 4
call 0x407bb5
add byte [esi + esi + 0x4f], al
aaa
dec ecx
cmp byte [edx], bh
cmp eax, 0x4c48350
pop ecx
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 0x407be5
mov edx, dword [ebp - 0x4d8]
cmp dword [edx + 0x30], 0
jne 0x40799b
mov dword [ebp - 0x6ec], 0
push ecx
xor ecx, 0xbe33
xor ecx, 0x9a29
pop ecx
push eax
push ebx
add esp, 4
jmp 0x407c08
sub eax, 0xb7f8
pop eax
push ebx
push eax
add esp, 4
xor ebx, 0x13e
jmp 0x407c20
pop ebx
cmp dword [ebp - 0x6ec], 0
jne 0x407c6b
push ebx
or ebx, 0xe23b
add ebx, 0x140c9
add ebx, 0x173cb
xor ebx, 0x2d0a
pop ebx
push ecx
push ebx
add esp, 4
or ecx, 0x404f
and ecx, 0x11c0
or ecx, 0x14d1b
pop ecx
mov dword [ebp - 0x738], 0
jmp 0x408792
push esi
push ecx
add esp, 4
jmp 0x407c76
jmp 0x407c7e
sub esi, 0xe932
pop esi
push ecx
push esi
add esp, 4
and ecx, 0x130fb
pop ecx
push ecx
push ebx
add esp, 4
or ecx, 0x14286
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 0x407cdc
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x407fcd
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x407d04
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x407fcd
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 0x407d36
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x407fcd
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x407d5b
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x407fcd
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 0x407db5
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 0x407fc1
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 0x407e25
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 0x407ed7
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x407ed7
push ebx
jmp 0x407e58
or ebx, 0xfee8
add ebx, 0xe6a
pop ebx
push edi
push eax
add esp, 4
jmp 0x407e70
pop edi
push eax
push esi
add esp, 4
jmp 0x407e7d
or eax, 0xbccf
pop eax
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 0x407ec9
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 0x407ed0
jmp 0x407e16
jmp 0x407ed7
push eax
push edx
add esp, 4
xor eax, 0xba8c
or eax, 0x149ec
pop eax
push edi
push ecx
add esp, 4
xor edi, 0x4e4e
jmp 0x407efb
jmp 0x407f02
add edi, 0x16275
pop edi
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 0x407f36
mov dword [ebp - 0xc30], 0
jmp 0x407fa5
push edx
push ecx
add esp, 4
or edx, 0xc241
xor edx, 0x6594
pop edx
push eax
push esi
add esp, 4
add eax, 0xe0b1
sub eax, 0x15469
or eax, 0xe6a7
pop eax
cmp dword [ebp - 0xc30], 0
jne 0x407fbc
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x407fcd
jmp 0x407da6
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x4080a8
push eax
add eax, 0x159c2
jmp 0x407fea
pop eax
push ebx
xor ebx, 0x13302
or ebx, 0x11320
sub ebx, 0x17552
pop ebx
push ebx
jmp 0x408005
jmp 0x40800b
pop ebx
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push ecx
sub ecx, 0xdf47
and ecx, 0xa082
or ecx, 0x7b66
pop ecx
push eax
xor eax, 0x49d3
xor eax, 0x8c0a
call 0x408046
add byte [ebp + 0x4c], al
dec ebx
dec esi
cmp al, 0x3c
cmp dword [ebx - 0x74a7fb3c], eax
lea edx, [eax - 0x19]
invalid
push esi
push ebx
add esp, 4
or esi, 0x16d1d
xor esi, 0xa88e
or esi, 0x693e
add esi, 0x693f
pop esi
push eax
sub eax, 0x205e
add eax, 0x19be
and eax, 0x80cf
pop eax
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 eax
push edx
add esp, 4
or eax, 0x5f05
jmp 0x408114
pop eax
push ecx
push eax
add esp, 4
xor ecx, 0x144e2
and ecx, 0x9d4c
sub ecx, 0xf8be
or ecx, 0xede
pop ecx
cmp dword [ebp - 0x14f4], 0
jne 0x40814b
mov dword [ebp - 0x2e0], 0
jmp 0x4083f2
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push ecx
jmp 0x408167
or ecx, 0x1ec8
jmp 0x408174
jmp 0x40817c
pop ecx
push ecx
push eax
add esp, 4
or ecx, 0x7718
xor ecx, 0x63e9
pop ecx
cmp dword [ebp - 0xc3c], 0
jne 0x4081a7
mov dword [ebp - 0x2e0], 0
jmp 0x4083f2
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push esi
sub esi, 0x5d7f
pop esi
push ebx
push esi
add esp, 4
xor ebx, 0x7f6c
sub ebx, 0x12962
add ebx, 0x96e6
and ebx, 0x7110
pop ebx
push esi
push esi
add esp, 4
add esi, 0x657e
pop esi
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
jmp 0x408216
or eax, 0x12383
add eax, 0x15eca
add eax, 0x12889
pop eax
push esi
call 0x408237
add byte [eax + 0x46], al
cmp eax, 0x3e444b36
add esp, 4
or esi, 0xe1ac
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 eax
push ebx
add esp, 4
or eax, 0x17d25
and eax, 0x12ef7
and eax, 0x1037e
pop eax
push ecx
sub ecx, 0x9174
sub ecx, 0x269f
add ecx, 0xcbf0
or ecx, 0x4841
pop ecx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x4082e7
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x408341
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x40820f
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x40820f
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x40832b
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x408335
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x40838a
push edx
xor edx, 0x17f49
sub edx, 0x99fb
add edx, 0x16546
pop edx
push edx
push ecx
add esp, 4
add edx, 0x4c93
sub edx, 0x11ffb
xor edx, 0xcaae
or edx, 0x753c
pop edx
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x4083f2
push edx
and edx, 0xc810
and edx, 0xe53
pop edx
push ecx
push ecx
add esp, 4
call 0x4083aa
add byte [ebx + 0x3c], al
xor al, byte [edx + 0x39]
inc esp
inc ecx
add esp, 4
and ecx, 0x12603
pop ecx
push ecx
sub ecx, 0xfe8a
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 0x4083e8
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x4081b3
mov dword [ebp - 0x2e0], 0
push ebx
push ebx
add esp, 4
add ebx, 0x41ff
pop ebx
push edx
call 0x40840e
add byte [ebx], bh
inc edx
aaa
cmp dword [ecx + 0x44], eax
aas
dec esp
add esp, 4
and edx, 0x1d47
sub edx, 0x2c75
and edx, 0x17f95
pop edx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push edx
jmp 0x40843b
xor edx, 0x17d29
or edx, 0xdd69
pop edx
push ebx
push eax
add esp, 4
xor ebx, 0x11899
jmp 0x408458
sub ebx, 0xfbd8
xor ebx, 0x253e
pop ebx
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x408495
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x408786
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x4084bd
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x408786
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 0x4084ef
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x408786
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x408514
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x408786
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 0x40856e
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 0x40877a
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 0x4085de
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 0x408690
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x408690
push edi
push eax
add esp, 4
xor edi, 0x1191d
pop edi
push edx
sub edx, 0x10e05
or edx, 0x8097
or edx, 0x7940
xor edx, 0x2578
pop edx
push ebx
push ebx
add esp, 4
or ebx, 0x453e
pop ebx
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 0x408682
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 0x408689
jmp 0x4085cf
jmp 0x408690
push ebx
sub ebx, 0xe976
pop ebx
push edx
push esi
add esp, 4
and edx, 0xfe2a
call 0x4086b2
add byte [edi], bh
cmp dword [ebx], edi
inc esp
cmp byte [edi], dh
inc edi
inc edi
dec edi
add esp, 4
and edx, 0x7b59
and edx, 0x100a4
pop edx
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 0x4086ef
mov dword [ebp - 0xc40], 0
jmp 0x40875e
push esi
push edx
add esp, 4
sub esi, 0x9fca
pop esi
push ecx
and ecx, 0x12b42
add ecx, 0x165a3
or ecx, 0xc9cf
xor ecx, 0x29cf
pop ecx
push edi
push ebx
add esp, 4
xor edi, 0x8da
pop edi
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 0x408754
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x40875e
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x408775
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x408786
jmp 0x40855f
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push edi
push edi
add esp, 4
xor edi, 0xe646
pop edi
push ebx
push ecx
add esp, 4
jmp 0x4087ab
call 0x4087ba
add byte [eax + 0x4f], cl
xor edi, dword [eax]
inc eax
dec ebp
xor eax, 0x4c48339
sub ebx, 0xd1dd
pop ebx
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push edi
push edx
add esp, 4
sub edi, 0x10699
pop edi
push ebx
push ebx
add esp, 4
xor ebx, 0x108a9
pop ebx
push esi
xor esi, 0x2a17
xor esi, 0xfbb
sub esi, 0xc39e
add esi, 0x17b94
pop esi
cmp dword [ebp - 0x3cc], 0
je 0x408817
cmp dword [ebp - 0xa5c], 0
jne 0x40885d
push edi
push edi
add esp, 4
xor edi, 0xa3b7
pop edi
push edx
sub edx, 0x1745f
add edx, 0xd8b7
xor edx, 0x13d9f
or edx, 0xc506
pop edx
push edx
push ecx
add esp, 4
or edx, 0x13860
pop edx
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push edx
or edx, 0x1420
pop edx
push esi
or esi, 0x10b5d
jmp 0x40887b
add esi, 0x15ed3
xor esi, 0xdcab
pop esi
push ecx
push eax
add esp, 4
jmp 0x408892
xor ecx, 0x10b14
pop ecx
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 ebx
push esi
add esp, 4
or ebx, 0x9091
sub ebx, 0xbf7b
pop ebx
push edx
push eax
add esp, 4
or edx, 0x1251c
jmp 0x4088e9
pop edx
push esi
push ebx
add esp, 4
or esi, 0x1392a
pop esi
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 eax
push edi
add esp, 4
sub eax, 0xad7a
pop eax
push esi
call 0x40897b
add byte [edx], bh
inc ecx
cmp dword [esp + esi], edi
inc eax
aas
xor edi, dword [0x8104c483]
invalid