Function at 0x403a90
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xffffffb5
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [esi + 0xc]
test dword [edx - 0x7903dd22], edx
and al, 8
add byte [eax], al
test eax, eax
je 0x403ac4
mov eax, dword [0x239263e1]
push edx
cmpsd dword [esi], dword es:[edi]
je 0x763c25
dec eax
mov dword [0x1f020f], eax
jmp 0x403c96
or edi, 0xffffffb4
add al, byte [ecx]
add dword [ebp + 0xa], esi
lds eax, [esi + 0x10]
mov dword [0x41028c], eax
jmp 0x403afb
inc ecx
cmpsd dword [esi], dword es:[edi]
mov dword [0x4102c0], eax
mov eax, dword [0xbe8d02ac]
mov ecx, dword [0xad40d010]
cmp eax, ecx
jge 0x403c25
mov edx, dword [0xea410b6a]
mov esi, ecx
shl edi, 5
add edi, edx
inc eax
inc esp
lodsb al, byte [esi]
add al, byte [ecx]
push esi
fisubr dword [esi]
add byte [eax], al
mov dword [0x41c5a0], eax
mov dword [0xc7410ba4], edx
out dx, eax
xchg byte [ebx], dh
movsb byte es:[edi], byte [esi]
add byte [eax], al
mov edx, dword [0x410ba4]
mov eax, dword [esi + 0x9130]
mov dword [esi + 0x8f9], edx
mov dword [edi], eax
mov ecx, dword [esi + 0x834]
mov dword [edi + 4], ecx
mov ecx, dword [esi + 0xe538]
mov al, byte [0x8a086]
add byte [0x83479], al
add byte [ebx], ch
ja 0x403af4
xchg byte [eax + ecx], bh
adc byte [eax], al
sbb eax, edx
test eax, eax
cmp dword [edx - 0x367afb84], esp
jae 0x403b7e
xor ecx, ecx
xor eax, eax
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], eax
mov ecx, dword [esi - 0x32fff7b0]
mov ebp, dword [ebx]
xor byte [eax], cl
add cl, cl
mov edx, dword [esi + 0x46e0]
sub ecx, eax
mov byte [0x854], ah
cmpsd dword [esi], dword es:[edi]
inc dword [ebp + 0x7c0a7fc0]
add al, 0x85
or bh, byte [esp + eax - 0x7b]
leave
jae 0x403ba3
xor ecx, ecx
xor eax, eax
mov dword [edi + 0x18], ecx
xor al, byte [edi + 0x1c]
bound ecx, qword [esi + 0x5448]
mov eax, dword [esi + 0x840]
stosb byte es:[edi], al
xchg esi, eax
inc esp
or byte [eax], al
add byte [ebx], ch
enter 0xffffffffffff868b, 0x4c
or byte [ebp], ch
sbb eax, edx
test eax, eax
leave
or bh, byte [eax + edx - 0x7b]
leave
jae 0x403bde
xor ecx, ecx
xor ebx, dword [ebx - 0x76f7b077]
inc edi
or al, 0x8b
or eax, 0x40d01f
mov dword [edi + 8], ecx
mov dword [edi + 0xc], eax
mov ecx, dword [0x40d01f]
test ecx, ecx
je 0x403c66
mov edi, edx
add al, byte es:[ecx]
mov eax, edi
outsb dx, byte [esi]
jno 0x403bf2
inc ecx
add byte [ebx - 0x68e9139], cl
test edx, edx
jne 0x403c2e
mov edx, dword [sym.imp.MSVCRT.dll__iob]
push edi
add edx, 0x40
mov dh, 0x40
jl 0x403c4b
add byte [edx - 0x1f], dl
adc eax, 0x4d40c105
mov eax, dword [sym.imp.MSVCRT.dll__iob]
sub dword [edx + 0x40], 0x50
call dword [sym.imp.MSVCRT.dll_fflush]
add esp, 0x10
mov eax, dword [0x6917f8]
mov ecx, dword [esi + 4]
pop eax
push ebp
in al, dx
mov dword [ebp + 0x6f], 0x22110012
push edx
push eax
mov dword [ebp - 8], ecx
call fcn.004061a9
mov ecx, dword [esi + 4]
push ecx
call 0xed4e2810
jge 0x403c51
add eax, 0x923a8344
inc esp
cmp dword [edx], 0xffffff92
dec eax
arpl word [ecx - 0x2d], bx
lds eax, [eax]
push ecx
cmpsb byte [esi], byte es:[edi]
leave
fnstcw word [ecx - 0x6f9c5d92]
int1
test eax, 0x8b648493
push edx
xor byte [ebx + 0x528b0c52], cl
adc al, 0x89
in eax, 0xeb
push cs
shl byte [0xf5be0495], 0x36
or bh, byte [ebp - 0x14]
xchg esp, eax
scasd eax, dword es:[edi]
dec edx
sbb eax, 0xeb28728b
or ah, byte [edx + 0x30afcac1]
mov ds, word [edi + 0x317daff8]
call dword [eax + 0x264ab70f]