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

Disassembly:
push eax
push edi
add esp, 4
or eax, 0xf895
sub eax, 0x5804
pop eax
push eax
or eax, 0x11032
or eax, 0x14b92
add byte [eax + 0x52], bl
add byte [eax + 0x52], bl
push esi
add esp, 4
xor edx, 0x8b22
xor edx, 0x6a86
pop edx
lea eax, [ebp - 0x18c4]
mov dword [ebp - 0xd88], eax
mov ecx, dword [ebp - 0x53c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xd84], edx
xor eax, eax
mov word [ebp - 0x1d8], ax
xor ecx, ecx
mov word [ebp - 0x30], cx
push eax
push edi
add esp, 4
sub eax, 0x1448a
jmp 0x4041ec
jmp 0x4041f1
pop eax
push ebx
push edi
add esp, 4
sub ebx, 0x9069
xor ebx, 0x1178
and ebx, 0x37ab
pop ebx
mov edx, dword [ebp - 0xd84]
mov ax, word [edx]
mov word [ebp - 0x115c], ax
mov ecx, dword [ebp - 0xd84]
add ecx, 2
mov dword [ebp - 0xd84], ecx
mov dx, word [ebp - 0x115c]
mov word [ebp - 0x1d8], dx
mov eax, dword [ebp - 0xd88]
mov cx, word [eax]
mov word [ebp - 0x115e], cx
mov edx, dword [ebp - 0xd88]
add edx, 2
mov dword [ebp - 0xd88], edx
mov ax, word [ebp - 0x115e]
mov word [ebp - 0x30], ax
push eax
push ecx
add esp, 4
or eax, 0x647b
or eax, 0x10066
pop eax
push eax
add eax, 0xb29d
sub eax, 0x1b1c
call 0x40428f
add byte [0x4f374145], dh
inc ebp
cmp al, 0x40
aaa
add esp, 4
pop eax
movzx ecx, word [ebp - 0x30]
test ecx, ecx
jne 0x4042b0
movzx edx, word [ebp - 0x1d8]
movzx eax, word [ebp - 0x30]
sub edx, eax
mov dword [ebp - 0x170c], edx
jmp 0x40430a
movzx ecx, word [ebp - 0x1d8]
movzx edx, word [ebp - 0x30]
cmp ecx, edx
je 0x4041d8
movzx eax, word [ebp - 0x1d8]
xor eax, 0x20
movzx ecx, word [ebp - 0x30]
cmp eax, ecx
je 0x4041d8
movzx edx, word [ebp - 0x1d8]
movzx eax, word [ebp - 0x30]
cmp edx, eax
jge 0x4042f4
mov dword [ebp - 0x1708], 0xffffffff
jmp 0x4042fe
mov dword [ebp - 0x1708], 1
mov ecx, dword [ebp - 0x1708]
mov dword [ebp - 0x170c], ecx
cmp dword [ebp - 0x170c], 0
jne 0x404353
push edx
call 0x404323
add byte [ebx], bh
dec ecx
dec ebp
inc ecx
dec esi
inc ecx
cmp eax, 0xc4835038
add al, 0xe8
or al, byte [eax]
add byte [eax], al
add byte [ebx + 0x4d], cl
dec ecx
cmp al, 0x35
inc edx
dec esp
cmp esi, dword [ebx]
add esp, 4
add edx, 0x12304
add edx, 0x122ff
pop edx
mov edx, dword [ebp - 0x53c]
mov dword [ebp - 0x318], edx
jmp 0x4043bb
push esi
call 0x404360
add byte [eax + 0x4b], al
dec ecx
dec ecx
dec edx
add esp, 4
jmp 0x404368
pop esi
push edi
push esi
add esp, 4
call 0x40437b
add byte [ebx + 0x4b], al
aas
dec ecx
cmp edx, dword [eax - 0x7d]
les eax, [ecx + eax*4]
out dx, eax
test al, 0x67
add dword [eax], eax
pop edi
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax]
mov dword [ebp - 0x53c], ecx
mov edx, dword [ebp - 0x53c]
cmp edx, dword [ebp - 0xd8c]
je 0x4043b1
mov eax, dword [ebp - 0x53c]
cmp dword [eax + 0x30], 0
jne 0x40417c
mov dword [ebp - 0x318], 0
push eax
push edi
add esp, 4
xor eax, 0x101e5
call 0x4043d3
add byte [ecx], bh
cmp al, byte [edi + 0x43]
xor al, 0x3a
push eax
add esp, 4
pop eax
push ecx
jmp 0x4043dd
sub ecx, 0x10553
jmp 0x4043ec
pop ecx
mov ecx, dword [ebp - 0x318]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x35c], edx
push ebx
xor ebx, 0x4749
sub ebx, 0x1322a
add ebx, 0x174eb
pop ebx
push ebx
push edi
add esp, 4
or ebx, 0x2b92
sub ebx, 0x615d
or ebx, 0x134c9
and ebx, 0x15fff
pop ebx
mov dword [ebp - 0x7d8], 0
mov eax, dword [ebp - 0x35c]
mov dword [ebp - 0x1710], eax
cmp dword [ebp - 0x1710], 0
jne 0x40445e
mov ecx, dword [ebp - 0x7d8]
mov dword [ebp - 0x540], ecx
jmp 0x40474f
mov edx, dword [ebp - 0x1710]
mov eax, dword [ebp - 0x35c]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1714], eax
jne 0x404486
mov ecx, dword [ebp - 0x7d8]
mov dword [ebp - 0x540], ecx
jmp 0x40474f
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1714]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1718], edx
cmp dword [ebp - 0x1718], 0
jne 0x4044b8
mov eax, dword [ebp - 0x7d8]
mov dword [ebp - 0x540], eax
jmp 0x40474f
mov ecx, dword [ebp - 0x35c]
add ecx, dword [ebp - 0x1718]
mov dword [ebp - 0x7cc], ecx
jne 0x4044dd
mov edx, dword [ebp - 0x7d8]
mov dword [ebp - 0x540], edx
jmp 0x40474f
mov eax, dword [ebp - 0x7cc]
mov ecx, dword [ebp - 0x35c]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x2028], ecx
mov edx, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x35c]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x202c], eax
mov ecx, dword [ebp - 0x7cc]
mov edx, dword [ebp - 0x35c]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x2030], edx
mov dword [ebp - 0x7d0], 0
jmp 0x404537
mov eax, dword [ebp - 0x7d0]
add eax, 1
mov dword [ebp - 0x7d0], eax
mov ecx, dword [ebp - 0x7cc]
mov edx, dword [ebp - 0x7d0]
cmp edx, dword [ecx + 0x18]
jae 0x404743
mov eax, dword [ebp - 0x7d0]
mov ecx, dword [ebp - 0x2028]
mov edx, dword [ebp - 0x35c]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x7d4], edx
mov eax, dword [ebp - 0x7d0]
mov ecx, dword [ebp - 0x202c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x2030]
mov ecx, dword [ebp - 0x35c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x2034], ecx
mov dword [ebp - 0x12c], 0
jmp 0x4045a7
mov edx, dword [ebp - 0x12c]
add edx, 1
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x7d4]
add eax, dword [ebp - 0x12c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x404659
mov edx, dword [ebp - 0x12c]
movsx eax, byte [ebp + edx - 0x8f4]
test eax, eax
je 0x404659
push eax
add eax, 0xc406
call 0x4045e8
add byte [edx], bh
aas
inc ebp
dec ebx
dec ebp
xor al, 0x36
add esp, 4
pop eax
push ebx
sub ebx, 0xda45
sub ebx, 0x6c1d
xor ebx, 0x2046
xor ebx, 0x161eb
pop ebx
mov ecx, dword [ebp - 0x7d4]
add ecx, dword [ebp - 0x12c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x12c]
movsx ecx, byte [ebp + eax - 0x8f4]
cmp edx, ecx
je 0x40464b
mov edx, dword [ebp - 0x7d4]
add edx, dword [ebp - 0x12c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x12c]
movsx edx, byte [ebp + ecx - 0x8f4]
cmp eax, edx
jne 0x404652
jmp 0x404598
jmp 0x404659
push ecx
or ecx, 0x5357
and ecx, 0x155c6
pop ecx
push eax
push edi
add esp, 4
call 0x40467b
add byte [ebx], bh
inc edx
aaa
dec edx
dec esp
inc ecx
xor eax, 0xc483444e
add al, 0x81
call fcn.00417f6e
xor eax, 0x181e4
pop eax
mov eax, dword [ebp - 0x7d4]
add eax, dword [ebp - 0x12c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x12c]
movsx eax, byte [ebp + edx - 0x8f4]
cmp ecx, eax
jne 0x4046b8
mov dword [ebp - 0xd90], 0
jmp 0x404727
push esi
or esi, 0x9c93
jmp 0x4046c6
pop esi
push eax
push edi
add esp, 4
add eax, 0x158b2
sub eax, 0x11664
call 0x4046e6
add byte [ebx + 0x3d], cl
dec eax
xor eax, 0x833f4b41
les eax, [eax + ebx*2]
mov ecx, dword [ebp - 0x7d4]
add ecx, dword [ebp - 0x12c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x12c]
movsx ecx, byte [ebp + eax - 0x8f4]
or ecx, 0x20
cmp edx, ecx
jge 0x40471d
mov dword [ebp - 0xd90], 0xffffffff
jmp 0x404727
mov dword [ebp - 0xd90], 1
cmp dword [ebp - 0xd90], 0
jne 0x40473e
mov edx, dword [ebp - 0x2034]
mov dword [ebp - 0x540], edx
jmp 0x40474f
jmp 0x404528
mov eax, dword [ebp - 0x7d8]
mov dword [ebp - 0x540], eax
mov ecx, dword [ebp - 0x540]
mov dword [ebp - 0xb6c], ecx
push 0
lea edx, [ebp - 0xcb0]
push edx
lea eax, [ebp - 0xcf8]
push eax
push 0
call dword [ebp - 0xb6c]
mov dword [ebp - 0x117c], 1
push edi
xor edi, 0x4d29
pop edi
push esi
sub esi, 0xb3d8
pop esi
push ebx
push eax
add esp, 4
sub ebx, 0x4eca
call 0x4047a5
add byte [esi + edi + 0x4f], cl
xor bh, byte [ebx]
cmp dl, byte [eax - 0x7d]
les eax, [ecx + eax*4]
jmp 0x404791
push eax
invalid
add al, 0x81
jmp 0x40475f