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

Disassembly:
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ecx + 0x18]
jae 0x409404
push ebx
push esi
add esp, 4
xor ebx, 0xaf22
sub ebx, 0xf683
and ebx, 0x4a4
pop ebx
push eax
xor eax, 0xc2e8
add eax, 0x157d3
pop eax
push edx
push edx
add esp, 4
add edx, 0xf5dd
pop edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ebp - 0x7c]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0xdc], edx
push edi
sub edi, 0xe793
and edi, 0x11ec2
call 0x4091a5
add byte [eax + edx*2], bh
inc ecx
xor al, 0x48
dec edi
add esp, 4
pop edi
push eax
xor eax, 0xbd5a
add eax, 0x80ab
add eax, 0x12b15
pop eax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x450]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x454]
mov ecx, dword [ebp - 0x7c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x458], ecx
push ecx
sub ecx, 0x1056d
xor ecx, 0x5f6d
pop ecx
push esi
push ecx
add esp, 4
xor esi, 0xb335
or esi, 0x62b7
xor esi, 0x15902
pop esi
push edi
push ecx
add esp, 4
sub edi, 0xccf6
pop edi
mov dword [ebp - 0x40], 0
jmp 0x409223
mov edx, dword [ebp - 0x40]
add edx, 1
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0xdc]
add eax, dword [ebp - 0x40]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4092bf
mov edx, dword [ebp - 0x40]
movsx eax, byte [ebp + edx - 0x174]
test eax, eax
je 0x4092bf
push edi
push eax
add esp, 4
sub edi, 0xcd1a
pop edi
push edx
or edx, 0x18032
pop edx
push edi
push esi
add esp, 4
xor edi, 0x15937
and edi, 0x51a1
or edi, 0x42e1
xor edi, 0x7042
pop edi
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0x40]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x40]
movsx ecx, byte [ebp + eax - 0x174]
cmp edx, ecx
je 0x4092b1
mov edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0x40]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x40]
movsx edx, byte [ebp + ecx - 0x174]
cmp eax, edx
jne 0x4092b8
jmp 0x40921a
jmp 0x4092bf
push edi
add edi, 0x5e4c
xor edi, 0x4ffc
sub edi, 0xe31b
add edi, 0x60cc
pop edi
push edi
push eax
add esp, 4
xor edi, 0x2b69
sub edi, 0x140c8
and edi, 0xbd5c
pop edi
mov eax, dword [ebp - 0xdc]
add eax, dword [ebp - 0x40]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x40]
movsx eax, byte [ebp + edx - 0x174]
cmp ecx, eax
jne 0x40931b
mov dword [ebp - 0x274], 0
jmp 0x4093b6
push esi
add esi, 0x1164e
xor esi, 0x1069
sub esi, 0x6a4a
pop esi
push edi
push edi
add esp, 4
add edi, 0x16748
pop edi
push ebx
push esi
add esp, 4
and ebx, 0x5d97
sub ebx, 0x1fcb
pop ebx
mov ecx, dword [ebp - 0xdc]
inc dword [ebx]
dec ebp
ror byte [edi], 0xbe
adc dword [ebx + 0x458b20ca], eax
ror byte [edi], 0xbe
mov word [0xfffffe8c], es
inc dword [ebx]
dec ebp
ror byte [edi], 0xbe
adc dword [ebx + 0x458b20ca], eax
ror byte [edi], 0xbe
mov word [0xfffffe8c], es
or ecx, 0x20
cmp edx, ecx
jge 0x40937a
mov dword [ebp - 0x274], 0xffffffff
jmp 0x4093b6
push edx
push ebx
add esp, 4
sub edx, 0x806e
call 0x409394
add byte [esi + 0x41], al
inc ebp
inc ebp
cmp esi, dword [esi + ecx*2]
aaa
cmp dword [ebx + 0x525a04c4], eax
jmp 0x40939f
sub edx, 0x1875
or edx, 0xb95
pop edx
mov dword [ebp - 0x274], 1
cmp dword [ebp - 0x274], 0
jne 0x4093ff
push eax
call 0x4093cf
add byte [eax], bh
cmp esi, dword [edi]
push eax
inc ebx
aas
cmp eax, 0xc483443b
add al, 0x81
rol bl, 0x5a
add dword [eax], eax
call 0x4093e7
add byte [edi + 0x44], al
inc ecx
inc esi
dec eax
xor esi, dword [edx]
aaa
add esp, 4
sub eax, 0x36e6
pop eax
mov edx, dword [ebp - 0x458]
mov dword [ebp - 0x90], edx
jmp 0x409410
jmp 0x40911d
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x4094b9
push eax
call 0x40942b
add byte [0x36484f4b], dh
inc ecx
inc edi
add esp, 4
sub eax, 0x15815
add eax, 0xbb1f
sub eax, 0x15fd7
pop eax
push ecx
xor ecx, 0xef2e
xor ecx, 0x13736
pop ecx
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x45c], ecx
mov edx, dword [ebp - 0x45c]
mov dword [ebp - 0x460], edx
lea eax, [ebp - 0x2b0]
push eax
call dword [ebp - 0x460]
test eax, eax
jne 0x4094b9
push ebx
add ebx, 0x5e94
sub ebx, 0x3747
pop ebx
push edx
push ebx
add esp, 4
and edx, 0x17dbe
sub edx, 0x92d2
or edx, 0xc52e
pop edx
push ebx
push esi
add esp, 4
xor ebx, 0x15af1
pop ebx
mov dword [ebp - 0x1b8], 0
jmp 0x409f60
push ebx
push eax
add esp, 4
jmp 0x4094c6
and ebx, 0x3724
and ebx, 0x14e01
pop ebx
push edi
push ebx
add esp, 4
sub edi, 0xe798
sub edi, 0x25cf
add edi, 0x1346b
pop edi
push ecx
sub ecx, 0x24c5
call 0x409501
add byte [ecx + 0x46], al
cmp dword [0x463e3b3f], esi
dec ebx
add esp, 4
sub ecx, 0x180a2
pop ecx
push eax
push ebx
add esp, 4
sub eax, 0x8bcd
add eax, 0x6696
pop eax
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x464], ecx
push ebx
and ebx, 0x10ce8
or ebx, 0x2f5f
add ebx, 0x1333b
pop ebx
push ecx
push edx
add esp, 4
call 0x409552
add byte [0x3650334e], dh
inc ecx
cmp al, byte [edi + 0x50]
add esp, 4
and ecx, 0x15d0e
pop ecx
mov edx, dword [ebp - 0x464]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x468], eax
push edx
push ebx
add esp, 4
and edx, 0x12ec8
and edx, 0x14615
and edx, 0x14758
pop edx
push ebx
add ebx, 0x16e62
or ebx, 0xe900
and ebx, 0x129ea
or ebx, 0x143ea
pop ebx
mov ecx, dword [ebp - 0x468]
mov dword [ebp - 0x350], ecx
cmp dword [ebp - 0x350], 0
jne 0x4095f0
push eax
push edx
add esp, 4
sub eax, 0x1003b
or eax, 0xa9a2
add eax, 0xc2f8
pop eax
push edi
push ebx
add esp, 4
sub edi, 0x7385
pop edi
push edi
sub edi, 0x1305f
xor edi, 0x32d6
pop edi
mov dword [ebp - 0x74], 0
jmp 0x40997c
push esi
sub esi, 0x9538
sub esi, 0xf617
and esi, 0x6f9f
pop esi
push esi
push ecx
add esp, 4
add esi, 0x9ea8
add esi, 0xfa04
add esi, 0x16957
and esi, 0x4453
pop esi
mov edx, dword [ebp - 0x350]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x280], ecx
cmp dword [ebp - 0x280], 0
jne 0x40967b
push eax
add eax, 0x169c4
xor eax, 0x75cb
sub eax, 0xa948
jmp 0x409658
pop eax
push ebx
jmp 0x409661
pop ebx
push esi
xor esi, 0x163db
jmp 0x40966e
pop esi
mov dword [ebp - 0x74], 0
jmp 0x40997c
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0xb4], edx
push edx
and edx, 0xf1d5
pop edx
push edi
xor edi, 0xeb04
add edi, 0xcc54
pop edi
push edi
push eax
add esp, 4
jmp 0x4096aa
pop edi
push edi
and edi, 0xf083
sub edi, 0xc7c9
pop edi
lea eax, [ebp - 0x2b0]
mov dword [ebp - 0x27c], eax
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x278], edx
push edx
sub edx, 0x1529b
and edx, 0xa66b
pop edx
push ecx
or ecx, 0xc254
call 0x4096f6
add byte [eax + 0x36], al
aaa
dec ebp
cmp al, byte [ebx + 0x4b]
add esp, 4
pop ecx
push edi
push ebx
add esp, 4
or edi, 0x141f9
pop edi
xor eax, eax
mov word [ebp - 0x50], ax
xor ecx, ecx
mov word [ebp - 0x28], cx
push edx
push eax
add esp, 4
call 0x409727
add byte [ecx + 0x4a], cl
xor bh, byte [ebx + eax*2]
inc edi
inc esp
cmp bh, byte [ebx]
dec ecx
add esp, 4
pop edx
push edi
or edi, 0xcfbc
or edi, 0xe0db
or edi, 0xdd58
jmp 0x409743
pop edi
mov edx, dword [ebp - 0x278]
mov ax, word [edx]
mov word [ebp - 0x1dc], ax
mov ecx, dword [ebp - 0x278]
add ecx, 2
mov dword [ebp - 0x278], ecx
mov dx, word [ebp - 0x1dc]
mov word [ebp - 0x50], dx
push edi
call 0x40977e
add byte [ebp + 0x41], al
aas
inc ecx
dec eax
cmp al, 0x4a
cmp dword [edi - 0x7d], eax
les eax, [ecx + eax*4]
iretd
push edi
sub edi, 0x17252
or edi, 0x109ad
pop edi
push esi
push eax
add esp, 4
or esi, 0x33c3
add esi, 0x15e61
add esi, 0x46dd
pop esi
push edi
push edx
add esp, 4
sub edi, 0xa5a1
pop edi
mov ecx, dword [ebp - 0x74]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x78], edx
push esi
and esi, 0x13f35
pop esi
push esi
push ecx
add esp, 4
xor esi, 0x1106e
add dword [eax], eax
call 0x4099d7
add byte [eax + 0x35], al
cmp dword [ebx + 0x3d], ecx
xor ecx, dword [ebx + eax*4 - 0x3c]
add al, 0x81
into
je 0x4099c8
add byte [eax], al
jmp 0x4099e8
pop esi
mov dword [ebp - 0x108], 0
push ecx
add ecx, 0x8e25
pop ecx
push ebx
call 0x409a09
add byte [edx + 0x36], al
cmp eax, 0x36433e49
add esp, 4
xor ebx, 0xdebe
add ebx, 0x18686
pop ebx
push edi
push esi
add esp, 4
or edi, 0x6212
pop edi
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x35c], eax
cmp dword [ebp - 0x35c], 0
jne 0x409a7a
push ecx
sub ecx, 0x17bb3
xor ecx, 0x8d3c
xor ecx, 0x17fa6
pop ecx
push eax
push ecx
add esp, 4
or eax, 0x1777a
and eax, 0x16a1b
and eax, 0xede1
add eax, 0xea51
pop eax
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0xb8], ecx
jmp 0x409f54
mov edx, dword [ebp - 0x35c]
mov eax, dword [ebp - 0x78]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x360], eax
jne 0x409a9f
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0xb8], ecx
jmp 0x409f54
push edi
push edx
add esp, 4
add edi, 0x17b62
or edi, 0x3300
call 0x409abf
add byte [edx + 0x4d], al
cmp al, byte [eax + 0x42]
dec ebx
inc eax
cmp al, 0x83
les eax, [ecx + eax*4]
mov ebp, 0x5f000067
push edx
and edx, 0xa019
pop edx
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x360]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x364], edx
cmp dword [ebp - 0x364], 0
jne 0x409b35
push ebx
push edx
add esp, 4
and ebx, 0x41f3
jmp 0x409b02
pop ebx
push ecx
and ecx, 0xb56b
jmp 0x409b0f
jmp 0x409b17
pop ecx
push edi
push ecx
add esp, 4
xor edi, 0xa5c4
pop edi
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0xb8], eax
jmp 0x409f54
push edx
sub edx, 0xbc83
xor edx, 0xce15
add edx, 0xa968
pop edx
push ecx
push esi
add esp, 4
sub ecx, 0x471c
and ecx, 0x5647
sub ecx, 0x448f
or ecx, 0x4bbb
pop ecx
mov ecx, dword [ebp - 0x78]
add ecx, dword [ebp - 0x364]
mov dword [ebp - 0xe4], ecx
jne 0x409bbb
push ebx
add ebx, 0x126c8
add ebx, 0x1ebf
xor ebx, 0xca38
pop ebx
push ebx
push ecx
add esp, 4
sub ebx, 0x2a98
add ebx, 0x6cf3
xor ebx, 0xda27
or ebx, 0xcf31
pop ebx
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0xb8], edx
jmp 0x409f54
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x78]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x46c], ecx
push edi
push ebx
add esp, 4
jmp 0x409bda
pop edi
push ecx
xor ecx, 0x17fe0
add ecx, 0x1b7b
xor ecx, 0x4255
jmp 0x409bf6
pop ecx
push edi
or edi, 0x68b4
pop edi
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x78]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x470], eax
push esi
sub esi, 0xf064
and esi, 0x112de
or esi, 0x1787
or esi, 0x170d5
pop esi
push ebx
jmp 0x409c34
add ebx, 0x14cc
pop ebx
push esi
and esi, 0x6775
pop esi
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x78]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x474], edx
mov dword [ebp - 0xe8], 0
jmp 0x409c70
mov eax, dword [ebp - 0xe8]
add eax, 1
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xe8]
cmp edx, dword [ecx + 0x18]
jae 0x409f48
push eax
push ebx
add esp, 4
sub eax, 0x10024
call 0x409c9f
add byte [esi + 0x44], cl
dec ebx
xor bh, byte [edx]
aaa
cmp eax, dword [ebp + 0x36]
add esp, 4
xor eax, 0x20e8
or eax, 0x8570
pop eax
push eax
or eax, 0x1697a
pop eax
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x78]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x110], edx
push ebx
push edi
add esp, 4
call 0x409ce4
add byte [ebp + 0x35], cl
aaa
dec eax
dec ebp
cmp al, byte [ebx + 0x37]
inc esi
cmp al, byte [ebx - 0xc7efb3c]
aas
mov eax, dword [0xbe80000]
add byte [eax], al
add byte [eax], al
inc esp
xor dl, byte [eax + 0x50]
cmp cl, byte [edi + 0x48]
xor eax, 0xc4834b42
add al, 0x5b
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x470]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x474]
mov ecx, dword [ebp - 0x78]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x478], ecx
push edx
and edx, 0xaef4
or edx, 0xc667
or edx, 0x14718
sub edx, 0x1411c
pop edx
push eax
push ebx
add esp, 4
xor eax, 0x778d
pop eax
push esi
push edi
add esp, 4
xor esi, 0x15fce
pop esi
mov dword [ebp - 0x44], 0
jmp 0x409d67
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x110]
add eax, dword [ebp - 0x44]
movsx ecx, byte [eax]
test ecx, ecx
je 0x409e03
mov edx, dword [ebp - 0x44]
movsx eax, byte [ebp + edx - 0x144]
test eax, eax
je 0x409e03
push ebx
push ecx
add esp, 4
add ebx, 0x9b6e
add ebx, 0x7375
pop ebx
push ebx
push edi
add esp, 4
or ebx, 0x4bf
jmp 0x409daf
sub ebx, 0xe676
and ebx, 0x15354
pop ebx
mov ecx, dword [ebp - 0x110]
add ecx, dword [ebp - 0x44]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x44]
movsx ecx, byte [ebp + eax - 0x144]
cmp edx, ecx
je 0x409df5
mov edx, dword [ebp - 0x110]
add edx, dword [ebp - 0x44]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x44]
movsx edx, byte [ebp + ecx - 0x144]
cmp eax, edx
jne 0x409dfc
jmp 0x409d5e
jmp 0x409e03
push eax
and eax, 0x1410f
pop eax
push edx
push esi
add esp, 4
sub edx, 0x17c12
add edx, 0xd0d2
jmp 0x409e21
call 0x409e31
add byte [ebp + esi + 0x45], al
cmp eax, 0x43474b4d
cmp byte [ecx - 0x7d], cl
les eax, [edx + ebx*2]
mov eax, dword [ebp - 0x110]
add eax, dword [ebp - 0x44]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x44]
movsx eax, byte [ebp + edx - 0x144]
cmp ecx, eax
jne 0x409e5f
mov dword [ebp - 0x284], 0
jmp 0x409efa
push ecx
push ecx
add esp, 4
add ecx, 0x15bde
pop ecx
push esi
push eax
add esp, 4
call 0x409e80
add byte [edx], dh
inc esp
inc edi
cmp al, byte [ebx + 0x37]
push eax
dec esp
dec ebx
add esp, 4
pop esi
push ecx
push edi
add esp, 4
jmp 0x409e90
pop ecx
mov ecx, dword [ebp - 0x110]
add ecx, dword [ebp - 0x44]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x44]
movsx ecx, byte [ebp + eax - 0x144]
or ecx, 0x20
cmp edx, ecx
jge 0x409ebe
mov dword [ebp - 0x284], 0xffffffff
jmp 0x409efa
push ebx
and ebx, 0x11cd0
or ebx, 0x1734
or ebx, 0xf157
sub ebx, 0x12c2a
pop ebx
push edx
push esi
add esp, 4
or edx, 0x22d9
and edx, 0xa3f7
or edx, 0xb6a7
pop edx
mov dword [ebp - 0x284], 1
cmp dword [ebp - 0x284], 0
jne 0x409f43
push esi
or esi, 0x14f50
or esi, 0x14fd1
pop esi
push edi
push edx
add esp, 4
and edi, 0x9549
xor edi, 0x614
call 0x409f31
add byte [esi], dh
inc ebp
inc esp
cmp al, 0x4c
xor al, 0x46
inc esp
inc edx
add esp, 4
pop edi
mov edx, dword [ebp - 0x478]
mov dword [ebp - 0xb8], edx
jmp 0x409f54
jmp 0x409c61
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x1b8], ecx
push 0
call dword [ebp - 0x1b8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret