Function at 0x40a90a
Capabilities:
Resolve function by parsing pe exports

Disassembly:
add esp, 4
or ebx, 0x124c7
pop ebx
push esi
push edi
add esp, 4
add esi, 0x14107
add esi, 0x2b3e
xor esi, 0x7d16
pop esi
jmp 0x40974e
push edx
jmp 0x409755
sub edx, 0xab7e
add edx, 0x16469
add edx, 0xa064
pop edx
push edx
push ebx
add esp, 4
or edx, 0x12a66
or edx, 0x15950
add edx, 0x179f
pop edx
mov dword [ebp - 0xae8], 0
push esi
jmp 0x409791
jmp 0x409799
pop esi
push edi
push esi
add esp, 4
or edi, 0xe12a
pop edi
push edx
xor edx, 0x9ac2
pop edx
push edi
add edi, 0x14fce
or edi, 0x824d
pop edi
mov byte [ebp - 0x890], 0x45
mov byte [ebp - 0x88f], 0x78
mov byte [ebp - 0x88e], 0x69
mov byte [ebp - 0x88d], 0x74
mov byte [ebp - 0x88c], 0x50
mov byte [ebp - 0x88b], 0x72
mov byte [ebp - 0x88a], 0x6f
mov byte [ebp - 0x889], 0x63
mov byte [ebp - 0x888], 0x65
mov byte [ebp - 0x887], 0x73
mov byte [ebp - 0x886], 0x73
mov byte [ebp - 0x885], 0
push eax
or eax, 0x5d74
jmp 0x40981c
or eax, 0xb85b
or eax, 0x2eb1
pop eax
push eax
push ebx
add esp, 4
call 0x40983e
add byte [0x47453946], dh
dec ecx
cmp eax, 0x83424b40
les eax, [eax + ebx*2]
mov ecx, 0x6b
mov word [ebp - 0x1770], cx
mov edx, 0x65
mov word [ebp - 0x176e], dx
mov eax, 0x72
mov word [ebp - 0x176c], ax
mov ecx, 0x6e
mov word [ebp - 0x176a], cx
mov edx, 0x65
mov word [ebp - 0x1768], dx
mov eax, 0x6c
mov word [ebp - 0x1766], ax
mov ecx, 0x33
mov word [ebp - 0x1764], cx
mov edx, 0x32
mov word [ebp - 0x1762], dx
mov eax, 0x2e
mov word [ebp - 0x1760], ax
mov ecx, 0x64
mov word [ebp - 0x175e], cx
mov edx, 0x6c
mov word [ebp - 0x175c], dx
mov eax, 0x6c
mov word [ebp - 0x175a], ax
xor ecx, ecx
mov word [ebp - 0x1758], cx
push ecx
push esi
add esp, 4
xor ecx, 0x1b5e
and ecx, 0x397a
pop ecx
push edi
push esi
add esp, 4
xor edi, 0x13fd7
pop edi
push esi
sub esi, 0x55e
and esi, 0x2218
and esi, 0x4bf5
pop esi
push eax
xor eax, 0x111da
and eax, 0x16ce
xor eax, 0xa1f5
xor eax, 0x13b50
pop eax
push eax
push ebx
add esp, 4
and eax, 0x8c38
xor eax, 0xfe24
add eax, 0x6154
pop eax
mov edx, dword fs:[0x18]
mov dword [ebp - 0x2030], edx
mov eax, dword [ebp - 0x2030]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x198c], ecx
mov edx, dword [ebp - 0x198c]
mov dword [ebp - 0x15f8], edx
push ecx
call 0x409977
add byte [ecx + 0x45], cl
inc eax
dec eax
dec eax
inc ebx
aas
cmp edi, dword [eax]
add esp, 4
sub ecx, 0x152f2
pop ecx
push edi
push eax
add esp, 4
sub edi, 0x12381
xor edi, 0x14e9
and edi, 0x14330
pop edi
cmp dword [ebp - 0x15f8], 0
jne 0x4099b1
mov dword [ebp - 0x2f8], 0
jmp 0x409c6d
mov eax, dword [ebp - 0x15f8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xcb4], edx
push ebx
or ebx, 0x14d0e
pop ebx
push edx
push ecx
add esp, 4
call 0x4099df
add byte [esp + edi], bh
push eax
inc esp
cmp al, 0x37
cmp dword [edi + esi - 0x7d], ecx
les eax, [ecx + eax*4]
loop 0x40996d
push 0
add byte [ecx + 0x10564ea], al
add byte [ecx + 0x12de1f2], al
add byte [edx - 0x7d], bl
mov ebp, 0xfffff34c
add byte [ebp + 0xf], dh
mov dword [ebp - 0x2f8], 0
jmp 0x409c6d
push ecx
push edi
add esp, 4
add ecx, 0x12a31
jmp 0x409c7d
and ecx, 0x14368
pop ecx
push esi
push ebx
add esp, 4
xor esi, 0x3d43
xor esi, 0xd2aa
jmp 0x409c9e
pop esi
cmp dword [ebp - 0x2f8], 0
jne 0x40a5a3
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 ebx
push eax
add esp, 4
add ebx, 0x7b00
add ebx, 0x9fb9
pop ebx
push ecx
push edx
add esp, 4
or ecx, 0xf17e
jmp 0x409d6a
sub ecx, 0x986e
add ecx, 0x252b
pop ecx
mov byte [ebp - 0x8bc], 0x4c
mov byte [ebp - 0x8bb], 0x6f
mov byte [ebp - 0x8ba], 0x61
mov byte [ebp - 0x8b9], 0x64
mov byte [ebp - 0x8b8], 0x4c
mov byte [ebp - 0x8b7], 0x69
mov byte [ebp - 0x8b6], 0x62
mov byte [ebp - 0x8b5], 0x72
mov byte [ebp - 0x8b4], 0x61
mov byte [ebp - 0x8b3], 0x72
mov byte [ebp - 0x8b2], 0x79
mov byte [ebp - 0x8b1], 0x57
mov byte [ebp - 0x8b0], 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 - 0x1604], eax
push edi
push ebx
add esp, 4
sub edi, 0x20fd
or edi, 0x17d0b
or edi, 0xe33c
and edi, 0x14a85
pop edi
push edx
add edx, 0x5cb5
xor edx, 0x8c31
xor edx, 0xb75a
pop edx
cmp dword [ebp - 0x1604], 0
jne 0x409e43
mov dword [ebp - 0x760], 0
jmp 0x40a0ea
mov ecx, dword [ebp - 0x1604]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc0], eax
push ebx
push eax
add esp, 4
and ebx, 0x1ea2
xor ebx, 0x1b05
and ebx, 0x17573
xor ebx, 0x17205
pop ebx
push ebx
and ebx, 0xc5c7
sub ebx, 0x48e1
or ebx, 0x205d
pop ebx
cmp dword [ebp - 0xcc0], 0
jne 0x409e9f
mov dword [ebp - 0x760], 0
jmp 0x40a0ea
mov ecx, dword [ebp - 0xcc0]
mov dword [ebp - 0x454], ecx
push eax
call 0x409eba
add byte [esi], dh
cmp cl, byte [eax + 0x4f]
cmp edi, dword [ebx]
xor eax, 0x4c4834e
sub eax, 0x2f81
xor eax, 0x174b2
or eax, 0xe804
pop eax
push ecx
push edx
add esp, 4
jmp 0x409edc
pop ecx
lea edx, [ebp - 0x17ac]
mov dword [ebp - 0xcbc], edx
mov eax, dword [ebp - 0x454]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcb8], ecx
xor edx, edx
mov word [ebp - 0x1c0], dx
xor eax, eax
mov word [ebp - 0x2c], ax
push ecx
push edx
add esp, 4
call 0x409f1c
add byte [esi + 0x3b], cl
xor esi, dword [edi]
inc edi
cmp dword [ebx + 0x3f], eax
push eax
xor eax, dword [ebx - 0x3e7efb3c]
sub al, 0x84
add byte [eax], al
call 0x409f35
add byte [esi], dh
cmp bh, byte [edx]
inc edi
inc ecx
xor bh, byte [edx]
cmp dword [eax + 0x4c], edx
add esp, 4
pop ecx
mov ecx, dword [ebp - 0xcb8]
mov dx, word [ecx]
mov word [ebp - 0x104a], dx
mov eax, dword [ebp - 0xcb8]
add eax, 2
mov dword [ebp - 0xcb8], eax
mov cx, word [ebp - 0x104a]
mov word [ebp - 0x1c0], cx
mov edx, dword [ebp - 0xcbc]
mov ax, word [edx]
mov word [ebp - 0x104c], ax
mov ecx, dword [ebp - 0xcbc]
add ecx, 2
mov dword [ebp - 0xcbc], ecx
mov dx, word [ebp - 0x104c]
mov word [ebp - 0x2c], dx
push ecx
sub ecx, 0x144c4
or ecx, 0xe6cb
xor ecx, 0x10c64
pop ecx
push eax
jmp 0x409fab
pop eax
push ebx
xor ebx, 0x152d2
pop ebx
push ecx
sub ecx, 0xc685
add ecx, 0xc8e3
pop ecx
movzx eax, word [ebp - 0x2c]
test eax, eax
jne 0x409fdf
movzx ecx, word [ebp - 0x1c0]
movzx edx, word [ebp - 0x2c]
sub ecx, edx
mov dword [ebp - 0x160c], ecx
jmp 0x40a039
movzx eax, word [ebp - 0x1c0]
movzx ecx, word [ebp - 0x2c]
cmp eax, ecx
je 0x409f07
movzx edx, word [ebp - 0x1c0]
xor edx, 0x20
movzx eax, word [ebp - 0x2c]
cmp edx, eax
je 0x409f07
movzx ecx, word [ebp - 0x1c0]
movzx edx, word [ebp - 0x2c]
cmp ecx, edx
jge 0x40a023
mov dword [ebp - 0x1608], 0xffffffff
jmp 0x40a02d
mov dword [ebp - 0x1608], 1
mov eax, dword [ebp - 0x1608]
mov dword [ebp - 0x160c], eax
cmp dword [ebp - 0x160c], 0
jne 0x40a082
push esi
and esi, 0x1102a
xor esi, 0x6601
add esi, 0xd9a
sub esi, 0x352c
pop esi
push esi
push edx
add esp, 4
and esi, 0x9b13
sub esi, 0xd0ef
or esi, 0xafa4
pop esi
mov ecx, dword [ebp - 0x454]
mov dword [ebp - 0x760], ecx
jmp 0x40a0ea
push esi
and esi, 0x6b3d
or esi, 0x9ca6
or esi, 0xc5f
pop esi
push eax
push ecx
add esp, 4
add eax, 0xb1eb
or eax, 0xb182
pop eax
push esi
push edi
add esp, 4
sub esi, 0xa091
pop esi
mov edx, dword [ebp - 0x454]
mov eax, dword [edx]
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x454]
cmp ecx, dword [ebp - 0xcc0]
je 0x40a0e0
mov edx, dword [ebp - 0x454]
cmp dword [edx + 0x30], 0
jne 0x409eab
mov dword [ebp - 0x760], 0
push edx
push ebx
add esp, 4
xor edx, 0x13ad1
pop edx
push edi
push edx
add esp, 4
sub edi, 0xedc3
jmp 0x40a107
pop edi
push esi
sub esi, 0x10f91
xor esi, 0xec71
or esi, 0x14962
pop esi
cmp dword [ebp - 0x760], 0
jne 0x40a166
push esi
push ebx
add esp, 4
xor esi, 0x80a6
or esi, 0x2a99
pop esi
push ecx
xor ecx, 0x16058
pop ecx
push esi
push esi
add esp, 4
add esi, 0xd776
add esi, 0x3d27
or esi, 0x13ab6
pop esi
mov dword [ebp - 0x7ac], 0
jmp 0x40ac8d
push ecx
xor ecx, 0x17c65
and ecx, 0x10a75
sub ecx, 0x166ce
pop ecx
push edi
push eax
add esp, 4
and edi, 0x95ed
sub edi, 0x13470
pop edi
push ecx
push edx
add esp, 4
add ecx, 0x9c2e
pop ecx
mov eax, dword [ebp - 0x760]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x394]
mov dword [ebp - 0x1610], edx
cmp dword [ebp - 0x1610], 0
jne 0x40a1d7
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x410], eax
jmp 0x40a4c8
mov ecx, dword [ebp - 0x1610]
mov edx, dword [ebp - 0x394]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1614], edx
jne 0x40a1ff
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x410], eax
jmp 0x40a4c8
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 0x40a231
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x410], edx
jmp 0x40a4c8
mov eax, dword [ebp - 0x394]
add eax, dword [ebp - 0x1618]
mov dword [ebp - 0x764], eax
jne 0x40a256
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x410], ecx
jmp 0x40a4c8
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x394]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1998], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x394]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x199c], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x394]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19a0], ecx
mov dword [ebp - 0x768], 0
jmp 0x40a2b0
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 0x40a4bc
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1998]
mov ecx, dword [ebp - 0x394]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x199c]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19a0]
mov eax, dword [ebp - 0x394]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19a4], eax
mov dword [ebp - 0x160], 0
jmp 0x40a320
mov ecx, dword [ebp - 0x160]
add ecx, 1
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x160]
movsx eax, byte [edx]
test eax, eax
je 0x40a3d2
mov ecx, dword [ebp - 0x160]
movsx edx, byte [ebp + ecx - 0x8bc]
test edx, edx
je 0x40a3d2
push eax
add eax, 0x11487
pop eax
push esi
and esi, 0x12067
call 0x40a369
add byte [esi], bh
inc ebx
dec ebx
inc esi
cmp al, byte [edi + 0x35]
add esp, 4
pop esi
push esi
jmp 0x40a377
jmp 0x40a37e
pop esi
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x160]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x160]
movsx eax, byte [ebp + edx - 0x8bc]
cmp ecx, eax
je 0x40a3c4
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x160]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x160]
movsx ecx, byte [ebp + eax - 0x8bc]
cmp edx, ecx
jne 0x40a3cb
jmp 0x40a311
jmp 0x40a3d2
push ebx
push edi
add esp, 4
call 0x40a3e6
add byte [ecx + 0x3e], al
inc esp
cmp al, 0x35
cmp dword [ebx + 0x4f], ecx
inc ebx
add esp, 4
and ebx, 0xcac8
xor ebx, 0x116f
xor ebx, 0x15a70
pop ebx
push esi
and esi, 0xc538
pop esi
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x160]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x160]
movsx edx, byte [ebp + ecx - 0x8bc]
cmp eax, edx
jne 0x40a431
mov dword [ebp - 0xcc4], 0
jmp 0x40a4a0
push eax
push ebx
add esp, 4
jmp 0x40a43d
sub eax, 0x9c00
jmp 0x40a44b
pop eax
push esi
jmp 0x40a456
pop esi
push edx
push esi
add esp, 4
jmp 0x40a462
pop edx
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x160]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x160]
movsx eax, byte [ebp + edx - 0x8bc]
or eax, 0x20
cmp ecx, eax
jge 0x40a496
mov dword [ebp - 0xcc4], 0xffffffff
jmp 0x40a4a0
mov dword [ebp - 0xcc4], 1
cmp dword [ebp - 0xcc4], 0
jne 0x40a4b7
mov ecx, dword [ebp - 0x19a4]
mov dword [ebp - 0x410], ecx
jmp 0x40a4c8
jmp 0x40a2a1
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x410], edx
cmp dword [ebp - 0x410], 0
je 0x40a5a3
push ecx
call 0x40a4e4
add byte [eax], bh
cmp edi, dword [ecx]
inc edi
cmp byte [0xc483443d], dh
add al, 0x59
push esi
push edx
add esp, 4
add esi, 0xa7f1
call 0x40a503
add byte [ebp + 0x3b], cl
dec edi
inc ebx
inc ebx
aaa
cmp dword [ecx + 0x37], ecx
xor eax, dword [ebx - 0x74a1fb3c]
test eax, esi
sti
invalid
push ecx
push edi
add esp, 4
and ecx, 0x158d9
and ecx, 0x15f34
sub ecx, 0x3ab0
and ecx, 0x4105
pop ecx
push eax
or eax, 0x3fbe
xor eax, 0x4d31
or eax, 0x10b3d
pop eax
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 - 0x161c], eax
push eax
sub eax, 0x14980
call 0x40a610
add byte [esi + 0x4a], al
aas
dec esp
aas
add esp, 4
or eax, 0x11462
pop eax
push esi
jmp 0x40a621
pop esi
push eax
push edx
add esp, 4
add eax, 0x10e1a
pop eax
cmp dword [ebp - 0x161c], 0
jne 0x40a646
mov dword [ebp - 0x2f8], 0
jmp 0x40a8ed
mov ecx, dword [ebp - 0x161c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcd0], eax
push esi
push ecx
add esp, 4
xor esi, 0x11fba
sub esi, 0xb43e
call 0x40a678
add byte [ebx], bh
aas
cmp eax, 0x38413c4f
xor al, 0x46
add esp, 4
pop esi
push ebx
add ebx, 0xcee9
sub ebx, 0xd343
pop ebx
cmp dword [ebp - 0xcd0], 0
jne 0x40a6a2
mov dword [ebp - 0x2f8], 0
jmp 0x40a8ed
mov ecx, dword [ebp - 0xcd0]
mov dword [ebp - 0x450], ecx
push esi
push esi
add esp, 4
jmp 0x40a6bc
or esi, 0x8ee6
call 0x40a6cf
add byte [edx + 0x37], al
inc ebp
dec eax
dec ebp
dec eax
cmp al, 0x83
les eax, [ecx + eax*4]
out 0xfa, al
imul eax, dword [ecx], 0
pop esi
push edi
jmp 0x40a6df
pop edi
lea edx, [ebp - 0x1770]
mov dword [ebp - 0xccc], edx
mov eax, dword [ebp - 0x450]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcc8], ecx
xor edx, edx
mov word [ebp - 0x1c4], dx
xor eax, eax
mov word [ebp - 0x30], ax
push ecx
push edi
add esp, 4
call 0x40a71d
add byte [ebp + 0x3d], al
inc ebp
dec edi
inc ecx
cmp dword [esi + 0x46], eax
add esp, 4
pop ecx
push ecx
sub ecx, 0x13b2a
jmp 0x40a72d
jmp 0x40a735
add ecx, 0x13d17
pop ecx
mov ecx, dword [ebp - 0xcc8]
mov dx, word [ecx]
mov word [ebp - 0x104e], dx
mov eax, dword [ebp - 0xcc8]
add eax, 2
mov dword [ebp - 0xcc8], eax
mov cx, word [ebp - 0x104e]
mov word [ebp - 0x1c4], cx
mov edx, dword [ebp - 0xccc]
mov ax, word [edx]
mov word [ebp - 0x1064], ax
mov ecx, dword [ebp - 0xccc]
add ecx, 2
mov dword [ebp - 0xccc], ecx
mov dx, word [ebp - 0x1064]
mov word [ebp - 0x30], dx
push eax
push ecx
add esp, 4
and eax, 0x1645c
xor eax, 0x1642
sub eax, 0x17190
xor eax, 0x12484
pop eax
push edi
or edi, 0x13b8
and edi, 0x8c58
add edi, 0x1148b
pop edi
movzx eax, word [ebp - 0x30]
test eax, eax
jne 0x40a7e2
movzx ecx, word [ebp - 0x1c4]
movzx edx, word [ebp - 0x30]
sub ecx, edx
mov dword [ebp - 0x1624], ecx
jmp 0x40a83c
movzx eax, word [ebp - 0x1c4]
movzx ecx, word [ebp - 0x30]
cmp eax, ecx
je 0x40a70a
movzx edx, word [ebp - 0x1c4]
xor edx, 0x20
movzx eax, word [ebp - 0x30]
cmp edx, eax
je 0x40a70a
movzx ecx, word [ebp - 0x1c4]
movzx edx, word [ebp - 0x30]
cmp ecx, edx
jge 0x40a826
mov dword [ebp - 0x1620], 0xffffffff
jmp 0x40a830
mov dword [ebp - 0x1620], 1
mov eax, dword [ebp - 0x1620]
mov dword [ebp - 0x1624], eax
cmp dword [ebp - 0x1624], 0
jne 0x40a885
push edi
jmp 0x40a84b
and edi, 0x67c9
call 0x40a85f
add byte [esi], bh
inc edi
dec edi
dec ecx
inc ebx
aas
inc esp
add esp, 4
pop edi
push edx
xor edx, 0x149
sub edx, 0x1029a
or edx, 0x5a76
pop edx
mov ecx, dword [ebp - 0x450]
mov dword [ebp - 0x2f8], ecx
jmp 0x40a8ed
push esi
push esi
add esp, 4
call 0x40a899
add byte [edx + 0x3c], cl
xor al, 0x45
dec eax
inc ecx
xor eax, 0xc4834b3b
add al, 0x81
neg byte [esi]
and eax, 0xf6810000
test dword [edx], eax
add dword [eax], eax
or esi, 0xfd98
pop esi
push edx
xor edx, 0x251d
pop edx
mov edx, dword [ebp - 0x450]
mov eax, dword [edx]
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x450]
cmp ecx, dword [ebp - 0xcd0]
je 0x40a8e3
mov edx, dword [ebp - 0x450]
cmp dword [edx + 0x30], 0
jne 0x40a6ae
mov dword [ebp - 0x2f8], 0
push esi
sub esi, 0x45da
or esi, 0x80c4
call 0x40a90a
add byte [ebx + 0x39], al
inc ebp
aas
aaa
inc ecx
cmp esi, dword [esp + edi]
cmp al, byte [ebx + 0x575e04c4]
and edi, 0x4faf
jmp 0x40a91e
pop edi
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x398], ecx
push ebx
push ebx
add esp, 4
and ebx, 0x28fe
pop ebx
push edx
push ecx
add esp, 4
sub edx, 0xaf80
pop edx
push edi
or edi, 0x13ca3
sub edi, 0x4447
pop edi
push edx
push edi
add esp, 4
and edx, 0x497e
pop edx
mov dword [ebp - 0x780], 0
mov edx, dword [ebp - 0x398]
mov dword [ebp - 0x1628], edx
cmp dword [ebp - 0x1628], 0
jne 0x40a990
mov eax, dword [ebp - 0x780]
mov dword [ebp - 0x44c], eax
jmp 0x40ac81
mov ecx, dword [ebp - 0x1628]
mov edx, dword [ebp - 0x398]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x162c], edx
jne 0x40a9b8
mov eax, dword [ebp - 0x780]
mov dword [ebp - 0x44c], eax
jmp 0x40ac81
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x162c]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1630], ecx
cmp dword [ebp - 0x1630], 0
jne 0x40a9ea
mov edx, dword [ebp - 0x780]
mov dword [ebp - 0x44c], edx
jmp 0x40ac81
mov eax, dword [ebp - 0x398]
add eax, dword [ebp - 0x1630]
mov dword [ebp - 0x774], eax
jne 0x40aa0f
mov ecx, dword [ebp - 0x780]
mov dword [ebp - 0x44c], ecx
jmp 0x40ac81
mov edx, dword [ebp - 0x774]
mov eax, dword [ebp - 0x398]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19b8], eax
mov ecx, dword [ebp - 0x774]
mov edx, dword [ebp - 0x398]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19bc], edx
mov eax, dword [ebp - 0x774]
mov ecx, dword [ebp - 0x398]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19c0], ecx
mov dword [ebp - 0x778], 0
jmp 0x40aa69
mov edx, dword [ebp - 0x778]
add edx, 1
mov dword [ebp - 0x778], edx
mov eax, dword [ebp - 0x774]
mov ecx, dword [ebp - 0x778]
cmp ecx, dword [eax + 0x18]
jae 0x40ac75
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x19b8]
mov ecx, dword [ebp - 0x398]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x77c], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x19bc]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19c0]
mov eax, dword [ebp - 0x398]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19c4], eax
mov dword [ebp - 0x120], 0
jmp 0x40aad9
mov ecx, dword [ebp - 0x120]
add ecx, 1
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x77c]
add edx, dword [ebp - 0x120]
movsx eax, byte [edx]
test eax, eax
je 0x40ab8b
mov ecx, dword [ebp - 0x120]
movsx edx, byte [ebp + ecx - 0x890]
test edx, edx
je 0x40ab8b
push edi
sub edi, 0x158f7
or edi, 0x8bdb
jmp 0x40ab19
pop edi
push edi
push edi
add esp, 4
add edi, 0x69d
add edi, 0x3543
or edi, 0xf636
and edi, 0x13f88
pop edi
mov eax, dword [ebp - 0x77c]
add eax, dword [ebp - 0x120]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x120]
movsx eax, byte [ebp + edx - 0x890]
cmp ecx, eax
je 0x40ab7d
mov ecx, dword [ebp - 0x77c]
add ecx, dword [ebp - 0x120]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x120]
movsx ecx, byte [ebp + eax - 0x890]
cmp edx, ecx
jne 0x40ab84
jmp 0x40aaca
jmp 0x40ab8b
push eax
call 0x40ab98
add byte [0x3f4e3d3a], dh
aaa
add esp, 4
pop eax
push ebx
call 0x40abad
add byte [edi + 0x32], al
cmp esi, dword [edx]
dec esp
cmp al, 0x3b
dec esi
cmp dword [0x8104c483], edi
jmp 0x40abb0
sub ebx, 0x29fd
xor ebx, 0x2a5
pop ebx
mov edx, dword [ebp - 0x77c]
add edx, dword [ebp - 0x120]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x120]
movsx edx, byte [ebp + ecx - 0x890]
cmp eax, edx
jne 0x40abea
mov dword [ebp - 0xcd4], 0
jmp 0x40ac59
push edi
push esi
add esp, 4
xor edi, 0x160f4
pop edi
push edi
push edx
add esp, 4
or edi, 0xfb46
sub edi, 0x1739
and edi, 0x1782c
sub edi, 0x198a
pop edi
push esi
or esi, 0x6429
pop esi
mov eax, dword [ebp - 0x77c]
add eax, dword [ebp - 0x120]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x120]
movsx eax, byte [ebp + edx - 0x890]
or eax, 0x20
cmp ecx, eax
jge 0x40ac4f
mov dword [ebp - 0xcd4], 0xffffffff
jmp 0x40ac59
mov dword [ebp - 0xcd4], 1
cmp dword [ebp - 0xcd4], 0
jne 0x40ac70
mov ecx, dword [ebp - 0x19c4]
mov dword [ebp - 0x44c], ecx
jmp 0x40ac81
jmp 0x40aa5a
mov edx, dword [ebp - 0x780]
mov dword [ebp - 0x44c], edx
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x7ac], eax
push esi
push eax
add esp, 4
and esi, 0x117fe
sub esi, 0xe957
jmp 0x40aca7
pop esi
push ecx
push eax
add esp, 4
add ecx, 0x156a8
add ecx, 0x17285
jmp 0x40acbe
pop ecx
mov ecx, dword [ebp - 0x408]
add ecx, 0xe
mov dword [ebp - 0x1a14], ecx
push ebx
push edx
add esp, 4
sub ebx, 0xef9f
jmp 0x40acde
add ebx, 0x1c27
xor ebx, 0x7874
pop ebx
push edx
jmp 0x40acf3
xor edx, 0xfff5
and edx, 0x14617
pop edx
cmp dword [ebp - 0x408], 0
je 0x40ad12
cmp dword [ebp - 0xae8], 0
jne 0x40ad58
push edi
push esi
add esp, 4
or edi, 0x3830
sub edi, 0xb537
call 0x40ad32
add byte [ecx + 0x32], al
inc ebp
cmp esi, dword [edx]
cmp al, 0x4f
cmp bh, byte [eax]
add esp, 4
or edi, 0xec40
pop edi
push ecx
and ecx, 0x11188
pop ecx
mov edx, dword [ebp - 0x7ac]
mov dword [ebp - 0x19c8], edx
push 0
call dword [ebp - 0x19c8]
mov dword [ebp - 0x2050], 0xa
push ecx
call 0x40ad73
add byte [ecx], bh
inc edx
cmp ecx, dword [esp + ecx*2 + 0x43]
dec edx
aaa
dec ebp
xor eax, dword [ebx + 0x575904c4]
jmp 0x40ad7e
call 0x40ad8a
add byte [esi + 0x4c], al
cmp byte [eax + ecx*2], dh
cmp eax, dword [ebx - 0x387efb3c]
shr byte [eax], 1
add dword [eax], eax
pop edi
mov eax, dword [ebp - 0x408]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3c2], cl
mov edx, dword [ebp - 0xae8]
sub edx, dword [ebp - 0x408]
mov dword [ebp - 0x16c0], edx
mov dword [ebp - 0xd04], 0
push esi
push eax
add esp, 4
or esi, 0x10435
jmp 0x40add0
pop esi
push ebx
or ebx, 0x5b9c
and ebx, 0x166e4
pop ebx
push eax
push ebx
add esp, 4
and eax, 0xbe9
add eax, 0xefe1
pop eax
mov byte [ebp - 0x9f4], 0x56
mov byte [ebp - 0x9f3], 0x69
mov byte [ebp - 0x9f2], 0x72
mov byte [ebp - 0x9f1], 0x74
mov byte [ebp - 0x9f0], 0x75
mov byte [ebp - 0x9ef], 0x61
mov byte [ebp - 0x9ee], 0x6c
mov byte [ebp - 0x9ed], 0x50
mov byte [ebp - 0x9ec], 0x72
mov byte [ebp - 0x9eb], 0x6f
mov byte [ebp - 0x9ea], 0x74
mov byte [ebp - 0x9e9], 0x65
mov byte [ebp - 0x9e8], 0x63
mov byte [ebp - 0x9e7], 0x74
mov byte [ebp - 0x9e6], 0
push eax
add eax, 0x9ad8
and eax, 0xf4c6
sub eax, 0x122a6
or eax, 0x17e54
pop eax
push esi
push edi
add esp, 4
add esi, 0x2f1c
sub esi, 0x1fd5
sub esi, 0xd9d6
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19cc], eax
mov ecx, dword [ebp - 0x19cc]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19d0], edx
mov eax, dword [ebp - 0x19d0]
mov dword [ebp - 0x1634], eax
push ebx
jmp 0x40aeba
pop ebx
push ecx
push eax
add esp, 4
or ecx, 0x10bd9
call 0x40aed2
add byte [edi + 0x41], cl
dec esp
cmp eax, 0xc483393e
add al, 0x81
loope 0x40aeed
sub byte [ecx], al
add byte [ecx + 0x51], bl
jmp 0x40aee4
pop ecx
cmp dword [ebp - 0x1634], 0
jne 0x40aefd
invalid
mov dword [ebp - 0x2fc], 0
jmp 0x40b1a4
mov ecx, dword [ebp - 0x1634]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xce0], eax
push edi
xor edi, 0x57d9
pop edi
push eax
sub eax, 0x1646e
call 0x40af2b
add byte [edx], bh
dec esi
dec esi
cmp byte [ecx + 0x35], cl
add esp, 4
xor eax, 0x13a82
pop eax
push eax
push ebx
add esp, 4
add eax, 0x10066
pop eax
cmp dword [ebp - 0xce0], 0
jne 0x40af59
mov dword [ebp - 0x2fc], 0
jmp 0x40b1a4
mov ecx, dword [ebp - 0xce0]
mov dword [ebp - 0x448], ecx
push edx
jmp 0x40af6f
sub edx, 0x12e23
pop edx
push edx
push eax
add esp, 4
add edx, 0x7d34
pop edx
push edx
xor edx, 0x10e85
xor edx, 0x162a3
jmp 0x40af96
pop edx
lea edx, [ebp - 0x1770]
mov dword [ebp - 0xcdc], edx
mov eax, dword [ebp - 0x448]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcd8], ecx
xor edx, edx
mov word [ebp - 0x1c8], dx
xor eax, eax
mov word [ebp - 0x34], ax
push ebx
call 0x40afcf
add byte [ecx + 0x3d], cl
inc ebp
dec esp
xor eax, dword [edx + 0x46]
add esp, 4
and ebx, 0x5acb
pop ebx
push edx
push edi
add esp, 4
or edx, 0x51a8
xor edx, 0x21b5
pop edx
push edi
xor edi, 0x9aa
pop edi
mov ecx, dword [ebp - 0xcd8]
mov dx, word [ecx]
mov word [ebp - 0x1066], dx
mov eax, dword [ebp - 0xcd8]
add eax, 2
mov dword [ebp - 0xcd8], eax
mov cx, word [ebp - 0x1066]
mov word [ebp - 0x1c8], cx
mov edx, dword [ebp - 0xcdc]
mov ax, word [edx]
mov word [ebp - 0x1068], ax
mov ecx, dword [ebp - 0xcdc]
add ecx, 2
mov dword [ebp - 0xcdc], ecx
mov dx, word [ebp - 0x1068]
mov word [ebp - 0x34], dx
push ecx
or ecx, 0x12e54
and ecx, 0x79c1
call 0x40b063
add byte [ebx + 0x38], al
inc esi
push eax
dec ebx
add esp, 4
pop ecx
push ebx
and ebx, 0x1801a
sub ebx, 0x1721e
jmp 0x40b07b
pop ebx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x40b099
movzx ecx, word [ebp - 0x1c8]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x163c], ecx
jmp 0x40b0f3
movzx eax, word [ebp - 0x1c8]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x40afc1
movzx edx, word [ebp - 0x1c8]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x40afc1
movzx ecx, word [ebp - 0x1c8]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x40b0dd
mov dword [ebp - 0x1638], 0xffffffff
jmp 0x40b0e7
mov dword [ebp - 0x1638], 1
mov eax, dword [ebp - 0x1638]
mov dword [ebp - 0x163c], eax
cmp dword [ebp - 0x163c], 0
jne 0x40b13c
push ebx
and ebx, 0x6407
pop ebx
push esi
push edi
add esp, 4
jmp 0x40b110
jmp 0x40b118
pop esi
push esi
jmp 0x40b11f
pop esi
push edi
push eax
add esp, 4
jmp 0x40b12d
pop edi
mov ecx, dword [ebp - 0x448]
mov dword [ebp - 0x2fc], ecx
jmp 0x40b1a4
push esi
jmp 0x40b145
call 0x40b155
add byte [ebx + 0x35], cl
cmp byte [esi + 0x3a], al
cmp al, 0x35
dec esi
inc edx
dec edi
add esp, 4
xor esi, 0x9648
call 0x40b16a
add byte [eax + 0x32], al
xor edi, dword [ecx]
aas
cmp eax, 0x5e04c483
mov edx, dword [ebp - 0x448]
mov eax, dword [edx]
mov dword [ebp - 0x448], eax
mov ecx, dword [ebp - 0x448]
cmp ecx, dword [ebp - 0xce0]
je 0x40b19a
mov edx, dword [ebp - 0x448]
cmp dword [edx + 0x30], 0
jne 0x40af65
mov dword [ebp - 0x2fc], 0
push esi
push esi
add esp, 4
call 0x40b1b6
add byte [ebx + 0x32], cl
dec ebx
xor al, 0x4b
cmp cl, byte [eax - 0x7d]
les eax, [esi + ebx*2]
push eax
push eax
add esp, 4
jmp 0x40b1c7
pop eax
push esi
or esi, 0x4b98
and esi, 0x14510
pop esi
cmp dword [ebp - 0x2fc], 0
jne 0x40badb
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 edx
and edx, 0xc150
add edx, 0x9e4
add edx, 0x5b50
pop edx
push ebx
push edi
add esp, 4
call 0x40b2a1
add byte [ebx + 0x50], cl
xor bh, byte [esi]
push eax
aaa
add esp, 4
jmp 0x40b2ad
pop ebx
mov byte [ebp - 0x8cc], 0x4c
mov byte [ebp - 0x8cb], 0x6f
mov byte [ebp - 0x8ca], 0x61
mov byte [ebp - 0x8c9], 0x64
mov byte [ebp - 0x8c8], 0x4c
mov byte [ebp - 0x8c7], 0x69
mov byte [ebp - 0x8c6], 0x62
mov byte [ebp - 0x8c5], 0x72
mov byte [ebp - 0x8c4], 0x61
mov byte [ebp - 0x8c3], 0x72
mov byte [ebp - 0x8c2], 0x79
mov byte [ebp - 0x8c1], 0x57
mov byte [ebp - 0x8c0], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19d4], ecx
mov edx, dword [ebp - 0x19d4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19d8], eax
mov ecx, dword [ebp - 0x19d8]
mov dword [ebp - 0x1640], ecx
push edi
call 0x40b340
add byte [ebx + 0x50], cl
push eax
dec ebp
dec ebp
inc ebx
dec ebp
add esp, 4
sub edi, 0x126e4
sub edi, 0x8cd1
call 0x40b35f
add byte [ebp + 0x45], cl
dec ecx
cmp byte [ebx + 0x4f], al
cmp dword [ebx + 0x38], ecx
push eax
add esp, 4
pop edi
cmp dword [ebp - 0x1640], 0
jne 0x40b37b
mov dword [ebp - 0x784], 0
jmp 0x40b622
mov edx, dword [ebp - 0x1640]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcec], ecx
push eax
push ecx
add esp, 4
add eax, 0x2913
add eax, 0xbe4f
or eax, 0x1140e
and eax, 0x3439
pop eax
push ebx
sub ebx, 0x15f93
pop ebx
push ebx
push eax
add esp, 4
sub ebx, 0xc5c0
pop ebx
cmp dword [ebp - 0xcec], 0
jne 0x40b3d7
mov dword [ebp - 0x784], 0
jmp 0x40b622
mov edx, dword [ebp - 0xcec]
mov dword [ebp - 0x444], edx
push ebx
sub ebx, 0xc07d
add ebx, 0x280f
xor ebx, 0xdcc6
pop ebx
push eax
push esi
add esp, 4
and eax, 0x13721
sub eax, 0x1aba
and eax, 0xbae4
and eax, 0xddb2
pop eax
lea eax, [ebp - 0x17c8]
mov dword [ebp - 0xce8], eax
mov ecx, dword [ebp - 0x444]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xce4], edx
xor eax, eax
mov word [ebp - 0x1cc], ax
xor ecx, ecx
mov word [ebp - 0x38], cx
push ebx
and ebx, 0xcd0c
pop ebx
push edx
sub edx, 0x5a4c
pop edx
push ecx
call 0x40b45f
add byte [edx + 0x46], cl
inc esp
cmp ecx, dword ds:[ebp + ecx*2 + 0x48]
aas
add esp, 4
and ecx, 0x113a3
pop ecx
push esi
sub esi, 0xf68a
pop esi
mov edx, dword [ebp - 0xce4]
mov ax, word [edx]
mov word [ebp - 0x106a], ax
mov ecx, dword [ebp - 0xce4]
add ecx, 2
mov dword [ebp - 0xce4], ecx
mov dx, word [ebp - 0x106a]
mov word [ebp - 0x1cc], dx
mov eax, dword [ebp - 0xce8]
mov cx, word [eax]
mov word [ebp - 0x106c], cx
mov edx, dword [ebp - 0xce8]
add edx, 2
mov dword [ebp - 0xce8], edx
mov ax, word [ebp - 0x106c]
mov word [ebp - 0x38], ax
push ebx
push edi
add esp, 4
and ebx, 0x48c4
call 0x40b4e2
add byte [eax + 0x4b], dl
inc esi
dec ebp
inc eax
push eax
inc ebx
dec esi
inc ebp
add esp, 4
add ebx, 0x179d5
pop ebx
push ecx
xor ecx, 0x5e8f
or ecx, 0x4fa7
pop ecx
movzx ecx, word [ebp - 0x38]
test ecx, ecx
jne 0x40b517
movzx edx, word [ebp - 0x1cc]
movzx eax, word [ebp - 0x38]
sub edx, eax
mov dword [ebp - 0x1648], edx
jmp 0x40b571
movzx ecx, word [ebp - 0x1cc]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
je 0x40b43f
movzx eax, word [ebp - 0x1cc]
xor eax, 0x20
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x40b43f
movzx edx, word [ebp - 0x1cc]
movzx eax, word [ebp - 0x38]
cmp edx, eax
jge 0x40b55b
mov dword [ebp - 0x1644], 0xffffffff
jmp 0x40b565
mov dword [ebp - 0x1644], 1
mov ecx, dword [ebp - 0x1644]
mov dword [ebp - 0x1648], ecx
cmp dword [ebp - 0x1648], 0
jne 0x40b5ba
push esi
push ecx
add esp, 4
xor esi, 0x1a97
pop esi
push ebx
and ebx, 0x3273
or ebx, 0x174dc
or ebx, 0xa207
pop ebx
push ecx
push ecx
add esp, 4
or ecx, 0xd2fd
xor ecx, 0xe76d
pop ecx
mov edx, dword [ebp - 0x444]
mov dword [ebp - 0x784], edx
jmp 0x40b622
push esi
push edx
add esp, 4
and esi, 0x126e6
jmp 0x40b5cb
or esi, 0x16a31
add esi, 0x864a
pop esi
push eax
add eax, 0x12ab1
jmp 0x40b5e5
add eax, 0xc69e
pop eax
mov eax, dword [ebp - 0x444]
mov ecx, dword [eax]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x444]
cmp edx, dword [ebp - 0xcec]
je 0x40b618
mov eax, dword [ebp - 0x444]
cmp dword [eax + 0x30], 0
jne 0x40b3e3
mov dword [ebp - 0x784], 0
push esi
sub esi, 0x11ffe
call 0x40b638
add byte [edi + 0x47], al
dec ecx
dec edi
cmp byte [esi + 0x44], al
aas
xor eax, 0xe804c483
or al, byte [eax]
add byte [eax], al
add byte [ecx + 0x3c], al
dec edi
xor bh, byte [edx]
xor eax, 0x83414d39
les eax, [ebx + ebp*8]
add al, 0x34
push eax
inc ebx
xor al, 0x5e
cmp dword [ebp - 0x784], 0
jne 0x40b69e
push eax
push esi
add esp, 4
and eax, 0xac52
pop eax
push edx
sub edx, 0x4b34
and edx, 0x10e53
or edx, 0x8e63
or edx, 0x13101
pop edx
push ecx
push eax
add esp, 4
or ecx, 0x126c6
pop ecx
mov dword [ebp - 0xa80], 0
jmp 0x40c1c6
push ebx
push eax
add esp, 4
and ebx, 0x16864
pop ebx
push eax
add eax, 0x16890
sub eax, 0xe778
pop eax
push edx
call 0x40b6c6
add byte [edx + 0x34], al
inc edi
cmp dword ds:[edi + 0x41], ecx
add esp, 4
xor edx, 0x133d3
pop edx
mov ecx, dword [ebp - 0x784]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x39c], edx
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x164c], eax
cmp dword [ebp - 0x164c], 0
jne 0x40b70f
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x40c], ecx
jmp 0x40ba00
mov edx, dword [ebp - 0x164c]
mov eax, dword [ebp - 0x39c]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x16a0], eax
jne 0x40b737
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x40c], ecx
jmp 0x40ba00
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x16a0]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x16a4], edx
cmp dword [ebp - 0x16a4], 0
jne 0x40b769
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x40c], eax
jmp 0x40ba00
mov ecx, dword [ebp - 0x39c]
add ecx, dword [ebp - 0x16a4]
mov dword [ebp - 0x788], ecx
jne 0x40b78e
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x40c], edx
jmp 0x40ba00
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x39c]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19dc], ecx
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x39c]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1d70], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x39c]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19e4], edx
mov dword [ebp - 0x78c], 0
jmp 0x40b7e8
mov eax, dword [ebp - 0x78c]
add eax, 1
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x78c]
cmp edx, dword [ecx + 0x18]
jae 0x40b9f4
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x19dc]
mov edx, dword [ebp - 0x39c]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x1d70]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19e4]
mov ecx, dword [ebp - 0x39c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19e8], ecx
mov dword [ebp - 0x15c], 0
jmp 0x40b858
mov edx, dword [ebp - 0x15c]
add edx, 1
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x15c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40b90a
mov edx, dword [ebp - 0x15c]
movsx eax, byte [ebp + edx - 0x8cc]
test eax, eax
je 0x40b90a
push edi
push ebx
add esp, 4
sub edi, 0x179d0
and edi, 0xa56c
or edi, 0x16bf7
xor edi, 0x1f7c
pop edi
push edx
jmp 0x40b8aa
or edx, 0x5b05
add edx, 0xa40c
pop edx
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x15c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x15c]
movsx ecx, byte [ebp + eax - 0x8cc]
cmp edx, ecx
je 0x40b8fc
mov edx, dword [ebp - 0x790]
add edx, dword [ebp - 0x15c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x15c]
movsx edx, byte [ebp + ecx - 0x8cc]
cmp eax, edx
jne 0x40b903
jmp 0x40b849
jmp 0x40b90a
push esi
or esi, 0x16ea9
or esi, 0x1718b
sub esi, 0xc22a
add esi, 0xe0e1
pop esi
push eax
push ecx
add esp, 4
and eax, 0x7d8f
pop eax
push esi
push ebx
add esp, 4
xor esi, 0x1288b
pop esi
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x15c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x15c]
movsx eax, byte [ebp + edx - 0x8cc]
cmp ecx, eax
jne 0x40b969
mov dword [ebp - 0xcf0], 0
jmp 0x40b9d8
push ebx
add ebx, 0x8c35
call 0x40b97f
add byte [esi], bh
aas
dec esp
xor al, 0x45
inc edx
inc ebp
add esp, 4
or ebx, 0x1806d
call 0x40b997
add byte [edi + 0x41], al
inc ebx
cmp al, 0x3b
cmp edi, dword [ebx]
inc ebx
inc edi
add esp, 4
pop ebx
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x15c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x15c]
movsx ecx, byte [ebp + eax - 0x8cc]
or ecx, 0x20
cmp edx, ecx
jge 0x40b9ce
mov dword [ebp - 0xcf0], 0xffffffff
jmp 0x40b9d8
mov dword [ebp - 0xcf0], 1
cmp dword [ebp - 0xcf0], 0
jne 0x40b9ef
mov edx, dword [ebp - 0x19e8]
mov dword [ebp - 0x40c], edx
jmp 0x40ba00
jmp 0x40b7d9
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x40c], eax
cmp dword [ebp - 0x40c], 0
je 0x40badb
push esi
xor esi, 0xd9d8
call 0x40ba20
add byte [edi + 0x36], cl
dec edx
dec eax
dec edi
xor al, byte [ebx - 0x197efb3c]
retf 0xc9
push esi
push edi
add esp, 4
sub esi, 0x6961
add esi, 0x1688e
xor esi, 0xa14c
pop esi
push esi
push ebx
add esp, 4
jmp 0x40bb00
pop esi
push ecx
push edx
add esp, 4
sub ecx, 0xca0
pop ecx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19f4], ecx
mov edx, dword [ebp - 0x19f4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19f8], eax
mov ecx, dword [ebp - 0x19f8]
mov dword [ebp - 0x16a8], ecx
push ebx
and ebx, 0x5b39
and ebx, 0xeeae
or ebx, 0xf98f
pop ebx
push eax
push edi
add esp, 4
or eax, 0xfc94
sub eax, 0x38f0
and eax, 0x9c9c
sub eax, 0x99b9
pop eax
cmp dword [ebp - 0x16a8], 0
jne 0x40bb7f
mov dword [ebp - 0x2fc], 0
jmp 0x40be26
mov edx, dword [ebp - 0x16a8]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcfc], ecx
push eax
push esi
add esp, 4
xor eax, 0x197b
or eax, 0x4dd1
pop eax
push eax
push esi
add esp, 4
jmp 0x40bbad
sub eax, 0x10968
jmp 0x40bbbc
sub eax, 0x1fae
pop eax
cmp dword [ebp - 0xcfc], 0
jne 0x40bbdb
mov dword [ebp - 0x2fc], 0
jmp 0x40be26
mov edx, dword [ebp - 0xcfc]
mov dword [ebp - 0x440], edx
push edi
or edi, 0x2308
pop edi
push edi
push edx
add esp, 4
sub edi, 0xacc0
or edi, 0xe82c
sub edi, 0x5b3f
or edi, 0x3367
pop edi
push ecx
push edi
add esp, 4
and ecx, 0x11c89
pop ecx
lea eax, [ebp - 0x1770]
mov dword [ebp - 0xcf8], eax
mov ecx, dword [ebp - 0x440]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcf4], edx
xor eax, eax
mov word [ebp - 0x1d0], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push ebx
push edi
add esp, 4
sub ebx, 0x620d
add ebx, 0x631d
add ebx, 0x16b22
pop ebx
push ebx
add ebx, 0x14155
pop ebx
push edi
push edi
add esp, 4
or edi, 0x22d
xor edi, 0x14d83
pop edi
mov edx, dword [ebp - 0xcf4]
mov ax, word [edx]
mov word [ebp - 0x106e], ax
mov ecx, dword [ebp - 0xcf4]
add ecx, 2
mov dword [ebp - 0xcf4], ecx
mov dx, word [ebp - 0x106e]
mov word [ebp - 0x1d0], dx
mov eax, dword [ebp - 0xcf8]
mov cx, word [eax]
mov word [ebp - 0x1070], cx
mov edx, dword [ebp - 0xcf8]
add edx, 2
mov dword [ebp - 0xcf8], edx
mov ax, word [ebp - 0x1070]
mov word [ebp - 0x3c], ax
push edi
or edi, 0x109b0
pop edi
push ebx
push esi
add esp, 4
jmp 0x40bce0
pop ebx
push edi
jmp 0x40bce8
jmp 0x40bcf1
jmp 0x40bcf7
or edi, 0x9612
pop edi
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x40bd1b
movzx edx, word [ebp - 0x1d0]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x16b0], edx
jmp 0x40bd75
movzx ecx, word [ebp - 0x1d0]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x40bc43
movzx eax, word [ebp - 0x1d0]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x40bc43
movzx edx, word [ebp - 0x1d0]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x40bd5f
mov dword [ebp - 0x16ac], 0xffffffff
jmp 0x40bd69
mov dword [ebp - 0x16ac], 1
mov ecx, dword [ebp - 0x16ac]
mov dword [ebp - 0x16b0], ecx
cmp dword [ebp - 0x16b0], 0
jne 0x40bdbe
push eax
jmp 0x40bd88
pop eax
push ecx
call 0x40bd9a
add byte [ecx], bh
inc esp
inc edi
xor al, 0x4c
push eax
dec esp
dec esp
add esp, 4
and ecx, 0x10807
sub ecx, 0x49f0
add ecx, 0x7402
pop ecx
mov edx, dword [ebp - 0x440]
mov dword [ebp - 0x2fc], edx
jmp 0x40be26
push edi
push ebx
add esp, 4
add edi, 0x9471
pop edi
push esi
push esi
add esp, 4
and esi, 0x1459d
pop esi
push ecx
sub ecx, 0x15f66
add ecx, 0x15e7f
add ecx, 0x6a35
or ecx, 0xd7d6
pop ecx
mov eax, dword [ebp - 0x440]
mov ecx, dword [eax]
mov dword [ebp - 0x440], ecx
mov edx, dword [ebp - 0x440]
cmp edx, dword [ebp - 0xcfc]
je 0x40be1c
mov eax, dword [ebp - 0x440]
cmp dword [eax + 0x30], 0
jne 0x40bbe7
mov dword [ebp - 0x2fc], 0
push edi
push ebx
add esp, 4
sub edi, 0xe558
and edi, 0xa09c
pop edi
push eax
call 0x40be46
add byte [edx + 0x37], cl
dec ecx
inc esp
dec ebx
dec ecx
inc esp
add esp, 4
jmp 0x40be4f
jmp 0x40be57
pop eax
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a0], edx
push eax
push ecx
add esp, 4
sub eax, 0xf144
add eax, 0x6cc7
sub eax, 0x10198
and eax, 0x12bf0
pop eax
push ebx
xor ebx, 0x1157c
and ebx, 0x338f
sub ebx, 0x23b2
pop ebx
mov dword [ebp - 0x7a4], 0
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x16b4], eax
cmp dword [ebp - 0x16b4], 0
jne 0x40bec9
mov ecx, dword [ebp - 0x7a4]
mov dword [ebp - 0x43c], ecx
jmp 0x40c1ba
mov edx, dword [ebp - 0x16b4]
mov eax, dword [ebp - 0x3a0]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x16b8], eax
jne 0x40bef1
mov ecx, dword [ebp - 0x7a4]
mov dword [ebp - 0x43c], ecx
jmp 0x40c1ba
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x16b8]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x16bc], edx
cmp dword [ebp - 0x16bc], 0
jne 0x40bf23
mov eax, dword [ebp - 0x7a4]
mov dword [ebp - 0x43c], eax
jmp 0x40c1ba
mov ecx, dword [ebp - 0x3a0]
add ecx, dword [ebp - 0x16bc]
mov dword [ebp - 0x798], ecx
jne 0x40bf48
mov edx, dword [ebp - 0x7a4]
mov dword [ebp - 0x43c], edx
jmp 0x40c1ba
mov eax, dword [ebp - 0x798]
mov ecx, dword [ebp - 0x3a0]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19fc], ecx
mov edx, dword [ebp - 0x798]
mov eax, dword [ebp - 0x3a0]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1a00], eax
mov ecx, dword [ebp - 0x798]
mov edx, dword [ebp - 0x3a0]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1a04], edx
mov dword [ebp - 0x79c], 0
jmp 0x40bfa2
mov eax, dword [ebp - 0x79c]
add eax, 1
mov dword [ebp - 0x79c], eax
mov ecx, dword [ebp - 0x798]
mov edx, dword [ebp - 0x79c]
cmp edx, dword [ecx + 0x18]
jae 0x40c1ae
mov eax, dword [ebp - 0x79c]
mov ecx, dword [ebp - 0x19fc]
mov edx, dword [ebp - 0x3a0]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x7a0], edx
mov eax, dword [ebp - 0x79c]
mov ecx, dword [ebp - 0x1a00]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1a04]
mov ecx, dword [ebp - 0x3a0]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a08], ecx
mov dword [ebp - 0x158], 0
jmp 0x40c012
mov edx, dword [ebp - 0x158]
add edx, 1
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x7a0]
add eax, dword [ebp - 0x158]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40c0c4
mov edx, dword [ebp - 0x158]
movsx eax, byte [ebp + edx - 0x9f4]
test eax, eax
je 0x40c0c4
push edx
push esi
add esp, 4
add edx, 0x2880
call 0x40c056
add byte [eax*2 + 0x373b3546], dh
add esp, 4
call 0x40c067
add byte [ebx], bh
inc eax
dec ebp
dec edx
inc esp
inc ebp
dec ecx
add esp, 4
xor edx, 0x7302
pop edx
mov ecx, dword [ebp - 0x7a0]
add ecx, dword [ebp - 0x158]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x158]
movsx ecx, byte [ebp + eax - 0x9f4]
cmp edx, ecx
je 0x40c0b6
mov edx, dword [ebp - 0x7a0]
add edx, dword [ebp - 0x158]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x158]
movsx edx, byte [ebp + ecx - 0x9f4]
cmp eax, edx
jne 0x40c0bd
jmp 0x40c003
jmp 0x40c0c4
push esi
call 0x40c0d1
add byte [ebp + esi + 0x4d], al
xor eax, 0xc4834e36
add al, 0x5e
push eax
and eax, 0x163cb
sub eax, 0x148ee
call 0x40c0f2
add byte [ebp + 0x48], al
inc ebp
dec esp
dec esp
inc esi
dec esp
dec eax
aas
add esp, 4
pop eax
mov eax, dword [ebp - 0x7a0]
add eax, dword [ebp - 0x158]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x158]
movsx eax, byte [ebp + edx - 0x9f4]
cmp ecx, eax
jne 0x40c123
mov dword [ebp - 0xd00], 0
jmp 0x40c192
push edx
push edx
add esp, 4
sub edx, 0x17549
pop edx
push eax
push esi
add esp, 4
sub eax, 0xe749
sub eax, 0x901
sub eax, 0x1191d
xor eax, 0xa893
pop eax
push esi
and esi, 0x2b02
pop esi
mov ecx, dword [ebp - 0x7a0]
add ecx, dword [ebp - 0x158]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x158]
movsx ecx, byte [ebp + eax - 0x9f4]
or ecx, 0x20
cmp edx, ecx
jge 0x40c188
mov dword [ebp - 0xd00], 0xffffffff
jmp 0x40c192
mov dword [ebp - 0xd00], 1
cmp dword [ebp - 0xd00], 0
jne 0x40c1a9
mov edx, dword [ebp - 0x1a08]
mov dword [ebp - 0x43c], edx
jmp 0x40c1ba
jmp 0x40bf93
mov eax, dword [ebp - 0x7a4]
mov dword [ebp - 0x43c], eax
mov ecx, dword [ebp - 0x43c]
mov dword [ebp - 0xa80], ecx
push esi
add esi, 0x3b34
add esi, 0xd6e1
jmp 0x40c1d9
xor esi, 0x889b
pop esi
push ebx
call 0x40c1ee
add byte [edx], bh
dec ebx
inc esi
dec ecx
push eax
push eax
dec ebp
add esp, 4
or ebx, 0x17ee
pop ebx
mov edx, dword [ebp - 0xa80]
mov dword [ebp - 0x1a0c], edx
lea eax, [ebp - 0xd04]
push eax
push 0x40
mov ecx, dword [ebp - 0x16c0]
push ecx
mov edx, dword [ebp - 0x408]
push edx
call dword [ebp - 0x1a0c]
test eax, eax
jne 0x40c26b
push edi
xor edi, 0x1791
or edi, 0x79be
pop edi
push edx
push ebx
add esp, 4
jmp 0x40c23e
call 0x40c24d
add byte [0x464c4846], dh
inc eax
dec ecx
cmp al, 0x38
add esp, 4
xor edx, 0x119bc
pop edx
mov eax, dword [ebp - 0x7ac]
mov dword [ebp - 0x1a10], eax
push 0
call dword [ebp - 0x1a10]
mov ecx, dword [ebp - 0x1a14]
mov dword [ebp - 0x7a8], ecx
jmp 0x40c288
mov edx, dword [ebp - 0x7a8]
add edx, 1
mov dword [ebp - 0x7a8], edx
mov eax, dword [ebp - 0x7a8]
cmp eax, dword [ebp - 0xae8]
jae 0x40c2e4
push edi
push ecx
add esp, 4
or edi, 0x981d
or edi, 0x43
or edi, 0x23f0
pop edi
push edx
sub edx, 0x9525
xor edx, 0x9aad
or edx, 0x345c
jmp 0x40c2c7
pop edx
movzx ecx, byte [ebp - 0x3c2]
mov edx, dword [ebp - 0x7a8]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x7a8]
mov byte [ecx], al
jmp 0x40c279
mov edx, dword [ebp - 0xa80]
mov dword [ebp - 0x1a18], edx
lea eax, [ebp - 0xd04]
push eax
mov ecx, dword [ebp - 0xd04]
push ecx
mov edx, dword [ebp - 0x16c0]
push edx
mov eax, dword [ebp - 0x408]
push eax
call dword [ebp - 0x1a18]
test eax, eax
jne 0x40c35c
push edx
push edx
add esp, 4
add edx, 0x10ab
and edx, 0x9359
pop edx
push edi
xor edi, 0x753c
sub edi, 0x13ad6
xor edi, 0x4051
pop edi
push edx
push edi
add esp, 4
xor edx, 0x135a2
pop edx
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x1a1c], ecx
push 0
call dword [ebp - 0x1a1c]
push ebx
jmp 0x40c364
call 0x40c371
add byte [esi + edi + 0x49], al
cmp byte [ebx], dh
dec eax
dec esp
add esp, 4
call 0x40c383
add byte [ecx], bh
inc eax
dec esi
xor cl, byte [ebp + 0x4c]
inc ebp
inc esp
cmp byte [ebx + 0x5eb04c4], al
cmp dword [ecx + ecx*2], esi
cmp al, 0x5b
push ecx
mov ecx, 0x10101010
pop ecx
push ecx
mov ecx, 0xffff06ff
pop ecx
pop esp
pop ecx
mov edx, ecx
or al, byte [edi + 0x625cff4]
push es
int1
or cl, byte [ebp + edi + 0x3f]
push ebp
pop esp
pop esp
mov edx, ecx
or al, byte [edi + 0x63d1cfc]
push es
pop ecx
pop ecx
mov edx, ecx
or al, byte [edi + 0x709f0c9]
push es
popal
pop ecx
xchg ecx, edi
test al, 6
push es
popal
push edi
xchg edi, ebp
and cl, dh
push es
push es
pop edi
pop esp
xchg esp, ebp
sal dword [edx], cl
push es
push es
pop ecx
xchg ecx, ebp
xchg ecx, eax
add byte [esi], al
push es
xchg ecx, edx
ret 0x6c4