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

Disassembly:
pop es
adc byte [eax + edx*2 + 0x61], dl
push ebx
je 0x501ae5ac
jo 0x501ae57d
imul esp, dword [ecx + 0x6c], 0xe4d0676f
sbb dl, byte [eax + 0x58]
rcr dword [edx], 1
push eax
sbb dword [eax], eax
pop es
inc esp
imul esp, dword [ecx + 0x6c], 0x1373676f
add byte [eax], bh
jl 0x501ae579
push eax
insb byte es:[edi], dx
add byte [eax], al
jmp [eax + eax]
je 0x501ae5b3
jl 0x501ae5a1
push eax
jo 0x501ae580
add bh, bh
jo 0x501ae584
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
pop es
add byte [ecx*2 + 0x614d6e69], cl
jb 0x501ae603
imul ebp, dword [esi + 0x54], 0x7c38706f
and al, 0x50
cmp byte [esp + 0x50], bh
je 0x501ae5a7
add bh, bh
je 0x501ae5ab
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4d0e0008], al
add byte [eax - 0x80000000], al
or byte [eax], al
push cs
dec ebp
imul ebp, dword [esi + 0x4d], 0x69677261
outsb dx, byte [esi]
push edx
imul esp, dword [edi + 0x68], 0x247c3874
push eax
js 0x501ae5d0
add bh, bh
js 0x501ae5d4
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
or dword [eax], eax
cmovge ebp, dword [ecx + 0x6e]
dec ebp
popal
jb 0x501ae653
imul ebp, dword [esi + 0x42], 0x6f74746f
insd dword es:[edi], dx
cmp byte [esp + 0x50], bh
jl 0x501ae5fa
add bh, bh
jl 0x501ae5fe
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
or al, byte [eax]
or cl, byte [ebp + 0x61]
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4d0a000a], al
popal
jb 0x501ae67a
imul ebp, dword [esi + 0x4c], 0x38746665
jl 0x501ae640
push eax
add byte [eax], 0
inc dword [eax + 0x1ff0000]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4d09000b], al
popal
jb 0x501ae69f
imul ebp, dword [esi + 0x54], 0x7c38706f
and al, 0x50
push eax
test byte [eax], al
add bh, bh
test byte [eax], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
or al, 0
or ecx, dword [ebp + 0x61]
add byte [eax + 0x4d0b000c], al
popal
jb 0x501ae6c3
imul ebp, dword [esi + 0x52], 0x74686769
cmp byte [esp + 0x50], bh
mov byte [eax], al
add bh, bh
mov byte [eax], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
or eax, 0x614d0c00
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4d0c000d], al
popal
or byte [0x614d0c00], 0x72
imul ebp, dword [bp + 0x42], 0x6f74746f
jb 0x501ae6e9
imul ebp, dword [esi + 0x42], 0x6f74746f
insd dword es:[edi], dx
js 0x501ae66e
sbb dl, byte [eax + 0x68]
add byte [eax], al
jmp [eax]
add byte [eax], al
add byte [esi], cl
add byte [edi], al
dec edi
jo 0x501ae71c
imul ebp, dword [edi + 0x6e], 0x247c3873
push eax
mov word [eax], es
add bh, bh
mov word [eax], es
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
str word [ecx]
push eax
popal
or byte [edi], 0
or dword [eax + 0x61], edx
push edi
imul esp, dword [esp + esi*2 + 0x68], 0x50247c38
nop
add byte [eax], al
call dword [eax + 0x1ff0000]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x500a0010], al
add byte [edx], cl
push eax
popal
dec eax
imul esp, dword gs:[edi + 0x68], 0x1ae3b874
push eax
lock add byte [eax], al
push eax
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
adc dword [eax], eax
add eax, 0x74696e55
jae 0x501ae726
jecxz 0x501ae732
push eax
call 0x3919e71e
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
invalid
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x420b0012], al
outsw dx, word gs:[esi]
outsw dx, word [esi]
jb 0x501ae79b
push eax
popal
imul ebp, dword [esi + 0x74], 0x501ae408
adc byte [ecx], al
add bh, bh
adc byte [ecx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
adc eax, dword [eax]
push cs
dec edi
outsb dx, byte [esi]
inc esp
jb 0x501ae7bc
ja 0x501ae7a3
jne 0x501ae7cb
insb byte es:[edi], dx
push eax
popal
or ah, ah
sbb dl, byte [eax]
add dword [eax], eax
inc dword [eax]
add dword [eax], eax
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0f0014], al
outsb dx, byte [esi]
inc esp
jb 0x501ae7e5
ja 0x501ae7d3
imul ebp, dword [esi + 0x4d], 0x69677261
outsb dx, byte [esi]
or ah, ah
sbb dl, byte [eax + 0x20]
add dword [eax], eax
jmp dword [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0c0015], al
outsb dx, byte [esi]
inc esp
add byte [eax], al
adc byte [0x6e4f0c00], 0x44
jb 0x501ae80f
ja 0x501ae7fd
popal
jb 0x501ae81a
imul ebp, dword [esi + 8], 0x18501ae4
add dword [eax], eax
call [eax]
add dword [eax], eax
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0f0016], al
outsb dx, byte [esi]
inc esp
jb 0x501ae836
ja 0x501ae81e
jb 0x501ae83e
imul edx, dword gs:[ebp + 0x78], 0x74
or ah, ah
sbb dl, byte [eax + 8]
add dword [eax], eax
dec dword [eax]
add dword [eax], eax
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0e0017], al
add bh, bh
or byte [ecx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
pop ss
add byte [esi], cl
dec edi
outsb dx, byte [esi]
inc esp
jb 0x501ae860
ja 0x501ae846
outsb dx, byte [esi]
jbe 0x501ae857
je 0x501ae867
insd dword es:[edi], dx
jo 0x501ae811
in al, 0x1a
push eax
clc
add byte [eax], al
invalid
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax - 0x80000000], al
sbb byte [eax], al
adc byte [edi + 0x6e], cl
add byte [eax + 0x4f100018], al
outsb dx, byte [esi]
inc esp
jb 0x501ae889
ja 0x501ae87c
je 0x501ae86e
jb 0x501ae896
jae 0x501ae8a6
nop
cmp al, ch
sbb dl, byte [eax + 3]
or edx, dword [esi + eax*2 + 0x69]
outsb dx, byte [esi]
dec edi
jo 0x501ae8b6
imul ebp, dword [edi + 0x6e], 1
add byte [eax], al
add byte [eax], al
or al, 0
dec esi
js 0x501ae8d8
dec eax
arpl word [eax + 0x43], bp
push 0x57656c6f
push ebp
jo 0x501ae8d2
outsd dx, dword [esi]
ja 0x501ae8ff
dec ebp
popal
bound ebp, qword [ebp + 0x55]
or dword fs:[esi + 0x72], esp
jo 0x501ae946