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

Disassembly:
sahf
pop ax
ret
inc esp
xlatb
ret 4
jne 0x476d72
mov eax, dword [ebp + 8]
pushal
test ebx, ebx
pop esi
mov ebx, dword [ebp + 8]
shl esi, 0x14
je 0x476d90
je 0x476d08
push 0xffffffffffffff83
cmp eax, 0x421f0c
add byte [edi + 6], al
add byte [ecx + ecx + 0xf], dh
xchg byte [eax + eax + 0x458d0000], dh
in al, dx
inc esi
fld qword [eax]
mov ebx, dword [ebp + 8]
dec ebp
inc ecx
sub edi, 1
push ebp
push esi
push eax
mov eax, dword [ebp + 8]
cmp dword [esp + 0x50], 0x10e08eb7
je 0x48b99b
mov edx, dword [ebp + 0xc]
cmp esi, 0xe285de51
jne 0x476db1
bound ecx, qword [esi + 0x63]
pop ebp
inc esp
arpl word [ebp + 0x44], bx
popal
insb byte es:[edi], dx
outsb dx, byte [esi]
arpl word [edi + 0x6b], bp
dec ebp
pop esp
dec eax
inc edi
push edx
pushal
jns 0x476e00
bound edx, qword [bx + 0x79]
imul ebp, dword [edx + 0x62], 0x64
outsb dx, byte [esi]
pop bx
inc eax
dec esp
dec edx
bound esp, qword [esi + 0x56]
push esi
cmp edi, 0xe1a34d79
jne 0x476ddc
sub ecx, 1
push eax
movzx eax, bl
call fcn.0047bc9d
inc cl
je 0x476df9
test eax, eax
mov edi, 0x40ace6
and dword [ecx + 0x350], 0xfffffffd
pop ecx
mov ebp, esp
ret
mov esi, ecx
cmp eax, 0xba547c35
je 0x476e1a
push edi
cmp dword [esp + 0x58], 0xb5f3245d
je 0x476e15
push 8
cmp dword [esp], 0x96518a39
xchg esi, eax
cmove edx, ebp
pop ecx
mov dword [esi], eax
cmp edx, 0x11b50c9f
jne 0x476e31
call dword [0x41a118]
push eax
mov dword [esi + 0x24], ebx
je 0x476e25
and al, 0x74
or eax, 0xf6e4b589
mov dword [ebp - 0x91c], esi
in al, 0xf6
invalid
push ebp
and ecx, 0x3000
push edx
push dword [ebp - 0xc]
add byte [edx - 1], dl
jne 0x476e1e
mov dword [ebp - 0x1c], 0x41f080
lea edi, [esi + 0x2c]
cmp edx, 0xbaf1f75b
je 0x469eae
mov eax, dword [ebp + 0x10]
cmp ecx, 0x92a07dc1
je 0x476e70
mov dword [esi + 4], edx
cmp dword [esp + 0x3c], 0x258bfcd1
jne 0x476e6b
call fcn.004774fd
and ecx, 0x20
lea eax, [ebp - 0x30]
push esi
mov edi, dword [ebp - 0x54]
xor edx, edx
cmp esi, 0xfca9fa25
cmove ebx, esi
cli
test eax, 0xde440ffc
mov dword [esi + 8], eax
cmp ebp, 0x1af1f14f
jne 0x476eaa
mov eax, dword [ebx*4 + 0x422020]
cmp ecx, 0xdfff
jmp 0x80e8c54e
xor eax, eax
cmp dword [esp - 0x80], 0x44688aa3
inc esp
jne 0x476ece
pop esp
pop ebp
inc ecx
pop ebx
pushal
dec eax
push 0x41
inc ecx
outsb dx, byte [esi]
insb byte es:[edi], dx
pushal
dec eax
push 0x7b644460
push ebp
mov dword [esi + 0xc], edx
cmp dword [esp + 0x24], 0xf4d44663
jne 0x476f3d
dec esp
inc eax
insb byte es:[edi], dx
inc esp
jnp 0x476f2c
outsd dx, dword [esi]
dec ebx
dec edx
bound ecx, qword [eax + 0x6a]
bound ebx, qword [edi + 0x55]
bound edx, qword [ebx + 0x5b]
inc eax
js 0x476f51
pop dx
pop edx
pop edi
js 0x476f65
pop ebp
pop edx
inc esp
insb byte es:[edi], dx
push esi
imul ebx, dword [ebx + 0x68], 0x66685857
dec esp
bound eax, qword [edi + 0x52]
pop esp
push ebp
inc esi
push ecx
jnp 0x476f68
jns 0x476f79
pop ebx
arpl word [ecx + 0x57], sp
arpl word [ecx + 0x5c], sp
insb byte es:[edi], dx
imul ebp, dword [edx + 0x51], 0x5f57445f
push ebp
push eax
push edx
pop esi
push 0x625e7954
js 0x476f77
push ebx
insd dword es:[edi], dx
pop ecx
dec esp
pop esi
push 0x78
insd dword es:[edi], dx
push esp
push 0x40
inc eax
dec edx
jnp 0x476f8e
rep stosd dword es:[edi], eax
cmp dword [esp + 0x5c], 0x20b34a13
mov bl, 0x20
je 0x476fc6
pop edi
cmp dword [esp + 0x64], 0x3ae6964d
cmove ebx, edx
mov dword [esi + 0x10], edx
cmp dword [esp - 0x18], 0x79641a6d
jne 0x476f85
cmp cl, byte [edi]
inc esp
fimul dword [ecx + 0x7c811056]
and al, 0xe8
insd dword es:[edi], dx
sbb ah, byte [ecx + edi*2 + 0xf]
test dword [edi], ebx
add byte [eax], al
add byte [edx + 0xc], ch
push 0xc
lea ecx, [eax + 8]
imul eax, dword [eax - 0x7d], 0xffffffd2
add byte [ebx + 0x798b0c75], cl
or byte [edi + 0x4e], bl
dec esi
push 0x5308458b
mov eax, dword [ebp + 8]
push ebx
push es
add byte [ecx + 0x78], bh
inc edi
test cl, 1
mov eax, esi
cmp dword [esp + 0x28], 0xfda22d4f
std
jne 0x476fcf
pop ebx
pop esi
inc ebp
pop esp
push edx
jnp 0x477006
arpl word [edi + 0x5e], dx
inc esp
imul ebp, dword [eax + 0x6b], 0x60
pop ebp
dec eax
jns 0x477020
arpl word [ecx + 0x50], bx
inc esp
outsb dx, byte [esi]
push eax
insb byte es:[edi], dx
insd dword es:[edi], dx
inc edx
inc ecx
inc ebp
dec esi
push edx
push edx
bound eax, qword [ebx + 0x65]
push esp
pop ebp
js 0x477019
jnp 0x47701d
inc esp
dec edi
push ecx
imul ebx, dword gs:[eax + edi*2 + 0x6b], 0x40
js 0x477033
inc eax
outsd dx, dword [si]
dec esi
jns 0x477028
dec esi
mov word [esi + 0x14], dx
cmp dword [esp + 0x50], 0xc214f851
cmove ebp, ebx
mov byte [esi + 0x16], dl
cmp esi, 0xe28659bb
jne 0x476fff
dec edi
bound edx, qword [edi + 0x6a]
inc ecx
pushal
push edx
push ebp
imul edi, dword [bx + si + 0x79], 0x4c4c4540
outsd dx, dword [esi]
push ebx
mov dword [esi + 0x18], edx
cmp dword [esp - 4], 0xa551f5c1
sal ebp, 0x51
movsd dword es:[edi], dword [esi]
cmove edx, eax
mov dword [esi + 0x1c], edx
cmp esi, 0x3773b7b9
je 0x47701c
mov dword [esi + 0x20], edx
cmp edx, 0x8fbfa9d1
je 0x4770a1
push esi
and byte [ecx - 0x40562e06], al
cli
shr dword [ecx + 0x7e748fbf], 1
invalid
mov byte [esi + 0x24], dl
cmp dword [esp + 0x14], 0xbe5fe88b
jl 0x47704d
adc al, 0x8b
call 0x44572e8f
leave
and al, 0x14
mov ebp, eax
pop edi
mov esi, 0x89c9440f
push esi
mov dword [esi + 0x28], edx
cmp dword [esp + 0x1c], 0xdaa4e70f
cmove ebx, eax
pop esi
cmp dword [esp + 0x24], 0xb78a0953
cmove ecx, ebp
sub byte [ecx + 0xf1c247c], al
out 0xa4, eax
fimul dword [edi]
inc esp
fcomp dword [esi - 0x7f]
jl 0x477067
and al, 0x53
or dword [edx - 0x32bbf049], ecx
pop ebp
cmp ebp, 0x72174bbb
jne 0x47708b
jge 0x47705e
shr eax, 0x1f
inc edi
pop edi
jnp 0x4770a2
mov dword [ebp - 4], ecx
push dword [eax - 0x5117be92]
or eax, dword [eax]
add byte [ebx], cl
dec ebp
and byte [ebx - 0x1d06901], cl
ror dword [ebx + 0xf4449ff], 0xbd
rcr byte [ecx + 0x6d], 0x6a
dec esi
inc ecx
call 0x477c1b
or ecx, dword [ebp + 0x20]
mov edi, edi
xchg esi, eax
das
inc cl
mov edi, edi
dec ecx
inc esp
bsr eax, eax
pop ecx
insd dword es:[edi], dx
push 0x4e
je 0x4770c9
jae 0x47708c
jmp 0x59a4d9e4
ret 0xc
or al, 0
cmp dword [esp + 0x28], 0x44945acb
jne 0x4770d4
inc ebx
pop edx
push 1
push 1
movzx eax, byte [ebp + 0x30]
push es
add byte [eax - 0x7b], cl
imul byte [esi + 0x58]
xor ebx, ebx
pop ebp
jl 0x47709b
push dword [ebp + 0x20]
call fcn.0046f1d4
push edx
popal
push esi
pop ebp
inc esp
lea esi, [ebx + 0xc]
call fcn.00482427
pop ebp
pop edi
jl 0x47709a
sub ebx, 4
push ebx
add al, 0x53
push eax
jne 0x4770d6
push esi
inc esi
inc esi
pop esi
dec eax
inc ebx
mov edi, edi
cmp edx, 0xcf868e6f
jne fcn.004770f9
mov al, byte [edi]
cmp ecx, dword [ebp - 0x58]
pop ebx
cmp esi, 8
cmp byte [ebp - 1], 0
mov dword [eax], 0x16
mov dword [esi], eax
pop ebp
inc edx
ret