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

Disassembly:
mov ecx, dword [esp]
lea esp, [esp + 4]
call 0x50682f
mov dword [esp], esi
lea esi, [esp + 6]
push ebx
push ebp
mov ebx, ecx
add ebx, 0xfff1a88d
push word [esp + 0xc]
popf
mov eax, dword [ebx]
mov ebp, dword [esp]
lea esp, [esp + 4]
and al, 4
mov ebx, dword [esp]
lea esp, [esp + 4]
pop esi
lea esp, [esp + 2]
and al, 2
xor eax, ebp
cmp eax, 0x84533915
je 0x50688f
mov dword [ebp - 4], eax
cmp edi, 0x9d3cba5d
cmove eax, edx
push ebx
cmp dword [esp + 0x18], 0x44ba3185
je 0x506854
push esi
cmp dword [esp + 4], 0x514b97f9
jne 0x5068d9
insd dword es:[edi], dx
push esp
jnp 0x5068d6
inc eax
dec edi
insb byte es:[edi], dx
outsb dx, byte [esi]
push esp
dec esp
dec esp
inc ebp
pop eax
inc ebx
push edx
push esi
popal
pop ebp
dec edx
jns 0x5068e6
inc ecx
jns 0x50691d
inc esp
push 0x6f47416b
arpl word [ebp + 0x46], bp
pop esp
push ebp
push eax
push ebx
imul edx, dword [eax + 0x4b], 0x53
pop ecx
push esp
bound esp, qword [ebp + ebp*2 + 0x56]
pop ebp
inc esp
inc bp
insb byte es:[edi], dx
jnp 0x506922
pop edi
bound ecx, qword [edx + 0x50]
pop edx
inc ebx
inc ecx
push ebx
push 0x61
imul ebp, dword [edx + 0x55], 0x47
push ebp
jns 0x506927
push edi
pop si
pop esi
imul edx, dword [edi + 0x57], 0x474ffb81
adc dword [ebp + 0x75ff4d74], 8
push edi
cmp ebx, 0x9583474f
je 0x50692f
push dword [ebp + 8]
cmp dword [esp + 0x60], 0x874a864d
jl 0x50690c
pushal
dec ebp
xchg byte [edx - 0x79], cl
je 0x506959
lea ecx, [ebp - 0x1c]
call fcn.00506920
push esi
jns 0x50693c
inc esp
dec ecx
inc esp
dec edi
inc edi
jns 0x50694f
pop esp
push edx
inc esi
pop eax
dec esp
dec esi
arpl word [edx + eax*2 + 0x5f], bp
pop edi
pop edx
pop ebp
pop eax
pop edi
inc eax
inc esi
pushal
inc eax
and al, 0x81
inc esp
and al, 0
mov ch, 0xf
idiv edi
xchg ebx, eax
add byte [eax], al
add bl, al
push dword [ebp + 0x14]
dec eax
inc esi
pop ecx
pop esi
inc esp
push ax
mov al, 0x78
inc eax
or eax, 0x23304689
ret 0x8d62
inc eax
inc edx
push esp
dec esp
pop edx
push ebx
add esi, dword [ebp + 8]
push 0xfffffffffffffffe
inc ecx
inc ecx
inc byte [ecx + 0x41]
pop esp
mov dword [ebp - 0x34], eax
test ebx, ebx
outsd dx, dword [esi]
outsd dx, dword [esi]
pop edi
js 0x5069b5
imul eax, dword [ebp + 0x41], 0x5e
insd dword es:[edi], dx
jne 0x50685f
je 0x506984
dec ebp
jns 0x5069c3
dec ebx
dec edi
push edx
push esp
int3
or bh, bh
inc ebx
push dx
mov ebx, dword [ebp + 0x1c]
test ebx, ebx
push 0xe0f0222a
push ax
lahf
lock xchg word [esp], ax
call 0x5069a1
mov dword [esp], ebp
call 0x5069ee
outsd dx, dword [esi]
push 0x5a
pop edi
outsd dx, dword [esi]
pop esp
push edx
inc esp
inc ebx
inc edx
inc edi
dec esp
inc bp
arpl word [edi + 0x50], cx
pop eax
inc ebp
push ebp
pop ebx
pop ebx
inc esi
inc ecx
jns 0x506a29
arpl word [ebx + ebp*2 + 0x5f], bp
pop edx
push esi
inc esi
insd dword es:[edi], dx
insw word es:[edi], dx
push 0x48
push eax
push ebp
outsd dx, dword [si]
push ecx
bound eax, qword [esi + 0x4f]
pop ebx
pushal
pop ebp
push esp
push ebx
push ebx
popal
pop ebp
pop edx
push ebp
insb byte es:[edi], dx
pushal
push eax
inc ebx
pushaw
dec edi
dec ebp
dec eax
pop esi
outsb dx, byte [esi]
pop ebp
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, 0xe0f0220c
cmovne eax, dword [esp + 0xa]
lea ebp, [ebp + eax + 0x1f0fde96]
mov dword [esp + 0xa], ebp
mov eax, dword [esp]
lea esp, [esp + 4]
mov ebp, dword [esp]
lea esp, [esp + 4]
lock xchg word [esp], ax
sahf
mov ax, word [esp]
lea esp, [esp + 2]
ret
inc ecx
imul ecx, dword [esi + 0x47], 0x65
dec eax
inc edi
insb byte es:[edi], dx
pop edi
outsd dx, dword [esi]
dec edi
pop edi
arpl word [ebp + 0x63], ax
bound ebp, qword [esi + 0x54]
pop eax
js 0x506a7f
arpl word [edx + 0x78], bp
push 0x5a
pop edx
imul ebx, dword [edx + 0x67], 0x4d626863
cmp dword [esp + 0x70], 0xc2db44ed
je 0x56505a
mov eax, dword [ebp - 0x18]
cmp dword [esp + 0x24], 0x23c20dc5
je 0x506a35
mov ebx, dword [eax + 8]
cmp dword [esp + 0x60], 0xea7a2773
cmove ebp, esi
xor eax, eax
cmp edx, 0xa965e719
je 0x5acd01
bound ecx, qword [edx]
add byte [ebx], dh
invalid
xor edi, edi
cmp dword [ebp + 0x20], eax
push edi
push edi
push dword [ebp + 0x14]
setne al
cmp edx, 0xf8afb4c1
cmove ebx, edi
push dword [ebp + 0x10]
cmp dword [esp + 0x6c], 0x32b8cd99
cmove esi, ebx
lea eax, [eax*8 + 1]
cmp ecx, 0x2dc3b889
je 0x52f61a
push eax
cmp dword [esp], 0x50e301eb
cmove eax, ecx
push ebx
cmp dword [esp + 0x58], 0x6af7da05
cmove esi, ebx
call 0x506b3a
dec eax
jns 0x506b29
pop edx
dec ax
push edi
outsd dx, dword [esi]
popal
push 0x50
pushal
dec esi
dec edx
dec edi
dec esi
jnp 0x506b2e
jns 0x506b59
dec edi
imul edx, dword [esi + 0x60], 0x6c
inc eax
jnp 0x506b35
push esp
inc ecx
pop ebx
push esi
dec ebx
dec ebx
dec esi
pop esi
dec edx
dec ebx
pop esp
pop edx
pop esi
inc esi
push ecx
dec ebx
push ebp
insb byte es:[edi], dx
imul edx, dword [eax + 0x78], 0x52
imul eax, dword [edx + 0x42], 0x4b
inc edi
imul edx, dword [ecx + 0x56], 0x5e
dec eax
push esp
outsd dx, dword [esi]
imul edx, dword [ebp + 0x52], 0x53
pop esi
push ebx
insd dword es:[edi], dx
inc edx
pop edi
arpl word [edx + 0x52], cx
pushal
outsd dx, dword [esi]
dec edi
inc esi
pop ebp
inc ebx
push 0x5b
inc edx
jnp 0x506ba3
push esp
dec ebx
inc esp
pop ebp
inc eax
popal
dec ebp
push edx
dec eax
pop edx
outsb dx, byte [esi]
inc ebx
insb byte es:[edi], dx
dec ebp
push dword [esp]
add dword [esp], 0xfff0940a
add dword [esp + 4], 0xe3
ret
push eax
inc edi
push ebp
push edi
dec eax
arpl word [edi + ebp*2 + 0x65], bp
outsd dx, dword [esi]
pop ebx
inc esi
imul eax, dword [esi + 0x6f], 0x61604f79
pop edx
pop ebx
inc ax
inc ecx
push esi
dec ebp
pop eax
inc ebp
insb byte es:[edi], dx
dec edx
push ebp
outsb dx, byte [esi]
push 0x41
pop esp
imul edx, dword [ebp + 0x4f], 0x594a4b7b
insd dword es:[edi], dx
push 0x684c6e62
imul ebp, dword [ebx + 0x55], 0x55
pop edx
bound edx, qword [esi + 0x48]
pop ecx
outsb dx, byte [esi]
push ebp
inc ecx
dec esp
pop ebp
push 0x57604055
inc eax
pushal
push edi
dec esi
dec ebp
dec esp
push 0x6f554960
push ebp
outsd dx, dword [esi]
pop eax
push edi
imul esp, dword [ebp + 0x51], 0x405a4e41
dec esp
push 0x6f
pop ebp
imul eax, dword [edi + 0x68], 0x45406659
add esp, 0x18
mov dword [ebp - 0xc], eax
test eax, eax
push 0xe9ae10cd
pushf
push eax
call 0x506c4b
push eax
bound edx, qword [edx + 0x78]
mov dword [ebp - 8], ecx
dec esi
push 0x43
inc ecx
dec edi
insd dword es:[edi], dx
pop eax
mov eax, esi
push edi
mov byte [eax + 0x1c], 1
push ebp
je 0x506bf2
jne 0x506bf7
push 0xffffffffffffffe9
pop esp
add dword [ebx + 0x43], ecx
dec eax
push eax
outsd dx, dword [esi]
push ebp
pop esp
push edx
pop esi
inc esi
jnp 0x506b79
jge 0x506bf7
add byte [ecx + 0x6c], al
inc ecx
jns 0x506c05
add byte [edi + 0x69], al
pop ebp
inc edi
jnp 0x506c4b
inc edi
inc esi
pop esi
pop edi
inc edx
inc ecx
push ecx
jns 0x506c77
push esp
mov esi, 0xffff
je 0x506c21
or eax, 8
call fcn.00507308
mov edi, 0x300
add byte [edi + 0x300], bh
push eax
pop esi
inc eax
inc ebx
jmp 0x506b9a
pop eax
push edi
mov edi, 0xe9ae04e3
cmove edi, dword [esp + 0xa]
lea eax, [eax + edi + 0x1651fc1d]
mov dword [esp + 0xa], eax
pop edi
pop eax
popf
ret
dec eax
dec eax
pop ebp
dec ebp
pop ebx
outsd dx, dword [esi]
fld qword [ebp + 8]
pop esi
insb byte es:[edi], dx
pop esi
push 0x65
inc ecx
dec esi
push 0x6f
push esi
pop ecx
inc edi
push edx
inc ebp
pop edx
pop edi
push esi
push esp
pop ebp
inc ecx
mov ecx, dword [ebp - 0x18]
and eax, 0x3f
push esp
mov eax, dword [ebp - 0x18]
pop ebp
or al, byte [eax]
inc esp
inc esp
dec edx
push dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
test edx, edx
push eax
inc ecx
push 0x56
je 0x506ce6
inc edx
push ebp
push eax
ret
invalid
fld qword [eax]
add byte [eax], al
push ebp
dec edx
imul esp, dword [eax + ebx*2 + 0x66], 0x3feee81
add byte [eax], al
dec eax
inc cx
js 0x52f680
push 0x694f