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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xa0
movzx ebx, word [esp + 0xc0]
mov edi, dword [esp + 0xb8]
mov esi, edx
push 0xa
pop edx
mov eax, ebx
mov ebp, 0x1e8480
shl ebx, 8
mul edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], eax
mov eax, edi
xor edi, edi
mul ebp
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov ebx, edx
mul ebp
add eax, ebx
mov ebx, 0x3b9aca00
mov dword [esp + 8], eax
adc edx, edi
mov eax, ecx
mov dword [esp + 4], edx
mul ebx
mov edi, eax
mov eax, esi
mov ecx, edx
mul ebx
mov ebx, edx
add eax, ecx
mov edx, 0
adc ebx, edx
add edi, dword [esp + 0xb4]
adc eax, edx
mov esi, edi
adc ebx, edx
setb cl
xor ebp, ebp
mov dword [esp + 0x2c], ebx
inc ebp
cmp edi, ebp
adc esi, edx
mov edx, ebp
test eax, eax
movzx ebp, cl
mov ecx, 1
cmovne edx, edi
mov dword [esp + 0x28], ebp
cmove edx, esi
mov esi, ebx
neg esi
mov esi, 0
sbb esi, ebp
mov esi, edi
mov edi, 0
cmovae esi, ecx
mov ecx, ebx
cmovb edi, eax
or ecx, ebp
cmove edi, eax
cmove esi, edx
mov eax, esi
mov ecx, edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], esi
or eax, ebx
or ecx, ebp
or ecx, eax
mov eax, dword [esp]
sete cl
or eax, dword [esp + 4]
or eax, dword [esp + 8]
sete al
bsr edx, esi
mov esi, 0
or al, cl
xor edx, 0x1f
bsr ecx, edi
add edx, 0x20
xor ecx, 0x1f
test edi, edi
mov byte [esp + 0xc], al
mov edi, dword [esp]
cmove ecx, edx
bsr edx, ebx
bsr eax, ebp
xor edx, 0x1f
add ecx, 0x40
xor eax, 0x1f
add edx, 0x20
test ebp, ebp
cmove eax, edx
or ebx, ebp
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 4]
cmove eax, ecx
bsr ecx, edi
xor ecx, 0x1f
add ecx, 0x20
bsr edx, ebx
xor edx, 0x1f
test ebx, ebx
cmovne ecx, edx
bsr edx, ebp
xor edx, 0x1f
add ecx, 0x40
add edx, 0x20
test ebp, ebp
mov ebp, 0
cmove edx, ecx
sub eax, edx
mov edx, ebx
mov ebx, 0
sbb esi, esi
sbb ebx, ebx
sbb ebp, ebp
push 0x7f
pop ecx
cmp ecx, eax
mov ecx, 0
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], eax
sbb ecx, esi
mov ecx, 0
sbb ecx, ebx
mov ecx, 0
sbb ecx, ebp
mov ebp, edi
mov edi, 0
setb cl
or cl, byte [esp + 0xc]
mov ecx, edx
cmovne ecx, edi
cmovne ebp, edi
jne 0x538473
mov eax, dword [esp + 0x14]
mov edx, ebp
mov ebp, ecx
mov ecx, esi
or ecx, dword [esp + 0x10]
xor eax, 0x7f
or eax, ebx
or ecx, eax
mov ecx, ebp
mov ebp, edx
je 0x538473
mov eax, dword [esp]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 4]
and dword [esp + 0x9c], 0
and dword [esp + 0x8c], 0
and dword [esp + 0x88], 0
and dword [esp + 0x84], 0
and dword [esp + 0x80], 0
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x14]
mov eax, ecx
mov edi, ecx
xor al, 0x7f
mov ch, al
shr al, 3
and al, 0xf
and ch, 7
neg al
mov cl, ch
movsx eax, al
mov edx, dword [esp + eax + 0x98]
mov ebp, dword [esp + eax + 0x9c]
shld ebp, edx, cl
shl edx, cl
not cl
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x18], edx
mov ebp, dword [esp + eax + 0x94]
mov edx, dword [esp + eax + 0x90]
mov eax, ebp
shr eax, 1
shr eax, cl
mov cl, ch
shld ebp, edx, cl
shl edx, cl
xor ecx, ecx
add edi, 1
adc esi, ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x1c], edx
adc ebx, ecx
adc dword [esp + 0x10], ecx
jae 0x5382a6
mov dword [esp], 0
mov dword [esp + 4], 0
jmp 0x53845e
or dword [esp + 0x18], eax
mov eax, dword [esp]
mov edx, edi
mov ch, dl
and ch, 7
mov cl, ch
mov dword [esp + 0x60], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 4]
and dword [esp + 0x7c], 0
and dword [esp + 0x78], 0
and dword [esp + 0x74], 0
and dword [esp + 0x70], 0
and dword [esp + 0x6c], 0
mov dword [esp + 0x68], eax
mov eax, edx
mov dword [esp + 0x14], edi
shr al, 3
and al, 0xf
movzx edx, al
mov edi, dword [esp + edx + 0x6c]
mov dword [esp + 8], edi
mov eax, dword [esp + edx + 0x68]
mov ebp, eax
add eax, eax
shrd ebp, edi, cl
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 8]
mov edi, dword [esp + edx + 0x60]
mov edx, dword [esp + edx + 0x64]
mov dword [esp + 4], 0
mov dword [esp], edx
shr edx, cl
not cl
shl eax, cl
mov cl, ch
or eax, edx
mov edx, dword [esp + 0x24]
shr ebp, cl
mov dword [esp + 0x38], eax
mov eax, dword [esp]
mov dword [esp], 0
shrd edi, eax, cl
mov eax, dword [esp + 0x20]
add edx, 0xffffffff
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x10]
adc eax, 0xffffffff
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x28]
adc edx, 0xffffffff
mov dword [esp + 0x4c], edx
adc eax, 0xffffffff
mov dword [esp + 0x48], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], esi
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
mov edx, ebp
mov ebp, dword [esp]
mov dword [esp], 0
shld edx, eax, 1
shld eax, ebx, 1
shld ebx, edi, 1
shld edi, esi, 1
shld esi, ecx, 1
or esi, ebp
mov dword [esp + 8], edx
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0xc]
shld ecx, esi, 1
or ecx, ebp
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x1c]
shld esi, ecx, 1
add ecx, ecx
or ecx, dword [esp + 4]
or esi, ebp
cmp dword [esp + 0x54], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x50]
sbb ecx, ebx
mov ecx, dword [esp + 0x4c]
sbb ecx, eax
mov ecx, dword [esp + 0x48]
sbb ecx, edx
sar ecx, 0x1f
mov esi, ecx
mov edx, ecx
mov ebp, ecx
and esi, 1
and ebp, dword [esp + 0x20]
and edx, dword [esp + 0x2c]
mov dword [esp + 4], esi
mov esi, ecx
and ecx, dword [esp + 0x24]
and esi, dword [esp + 0x28]
sub edi, ecx
sbb ebx, ebp
mov ebp, dword [esp + 8]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x10]
sbb eax, edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x34], eax
sbb ebp, esi
mov esi, dword [esp + 0x5c]
add edx, 0xffffffff
mov dword [esp + 0x14], edx
adc esi, 0xffffffff
adc ebx, 0xffffffff
mov ecx, esi
adc edi, 0xffffffff
or edx, ebx
or ecx, edi
or edx, ecx
jne 0x538370
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0x1c]
shld ecx, ebp, 1
add ebp, ebp
or ecx, dword [esp]
or ebp, dword [esp + 4]
mov eax, dword [esp + 0x44]
mov edi, 0
mov esi, ecx
mov edx, 0
cmp ebp, eax
sbb ecx, edi
mov ecx, dword [esp + 0x40]
cmovb edx, esi
cmovb eax, ebp
cmp ebp, ecx
sbb esi, edi
cmovb eax, ecx
cmovb edx, edi
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret