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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov edi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
cmp edx, 8
mov eax, edi
sbb eax, 0
jae 0x63aed2
xor ebx, ebx
or edx, edi
setne bl
jmp 0x63aee1
test edi, edi
jne 0x63aee8
push edx
call fcn.0063a600
add esp, 4
mov ebx, eax
xor edx, edx
jmp 0x63b0b8
bsr ecx, edx
bsr eax, edi
mov ebx, 1
xor ecx, 0x1f
xor eax, 0x1f
add cl, 0x20
test edi, edi
movzx ecx, cl
cmovne ecx, eax
mov al, 0x41
xor esi, esi
sub al, cl
movzx eax, al
imul eax, eax, 0xab
shr eax, 9
mov ecx, eax
shld esi, ebx, cl
shl ebx, cl
mov ecx, eax
add ecx, eax
mov dword [ebp - 0x10], esi
xor esi, esi
mov dword [ebp - 0x14], ebx
mov ebx, 2
shrd edx, edi, cl
shr edi, cl
test cl, 0x20
mov ecx, eax
cmovne edx, edi
cmovne edi, esi
xor esi, esi
shld esi, ebx, cl
shl ebx, cl
test al, 0x20
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
cmovne esi, ebx
cmovne eax, ecx
mov dword [ebp - 0x10], eax
mov eax, 0
cmovne ebx, eax
cmovne ecx, eax
add ebx, edx
mov dword [ebp - 0x14], ecx
adc esi, edi
mov ecx, ebx
mov edi, 0xaaaaaaab
add ecx, esi
adc ecx, 0
mov eax, ecx
mul edi
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
sub ebx, ecx
mov eax, ebx
sbb esi, 0
mul edi
imul esi, esi, 0xaaaaaaab
mov edi, eax
imul eax, ebx, 0xaaaaaaaa
mov ebx, dword [ebp - 0x14]
add eax, edx
mov edx, dword [ebp - 0x10]
add esi, eax
cmp ebx, edi
mov eax, edx
sbb eax, esi
jae 0x63b034
nop dword [eax]
mov ecx, edi
mov eax, edi
mul edi
imul ecx, esi
add edx, ecx
mov ebx, eax
add edx, ecx
or ebx, edx
je 0x63b0c2
push edx
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0060dc48
add esp, 0x10
mov ebx, esi
mov ecx, eax
lea eax, [edi + edi]
mov dword [ebp - 0x10], esi
shld ebx, edi, 1
add ecx, eax
adc ebx, edx
mov esi, ecx
mov edx, 0xaaaaaaab
add esi, ebx
adc esi, 0
mov eax, esi
mul edx
shr edx, 1
lea eax, [edx + edx*2]
mov edx, 0xaaaaaaab
sub esi, eax
sub ecx, esi
mov eax, ecx
sbb ebx, 0
imul esi, ecx, 0xaaaaaaaa
mul edx
imul ecx, ebx, 0xaaaaaaab
mov ebx, edi
add esi, edx
mov edx, dword [ebp - 0x10]
add ecx, esi
cmp edi, eax
mov edi, eax
mov esi, edx
sbb esi, ecx
mov esi, ecx
jb 0x63afb0
jmp 0x63b0b0
mov eax, edi
mov ecx, esi
jmp 0x63b0b0
mov esi, ecx
mov ecx, eax
mov ebx, eax
mul eax
imul ecx, esi
mov edi, eax
add edx, ecx
add edx, ecx
or edi, edx
je 0x63b0c2
push edx
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0060dc48
add esp, 0x10
mov dword [ebp - 0x10], esi
mov ecx, eax
lea eax, [ebx + ebx]
mov esi, dword [ebp - 0x10]
shld esi, ebx, 1
add ecx, eax
adc esi, edx
mov edi, ecx
mov edx, 0xaaaaaaab
add edi, esi
adc edi, 0
mov eax, edi
mul edx
shr edx, 1
lea eax, [edx + edx*2]
mov edx, 0xaaaaaaab
sub edi, eax
sub ecx, edi
mov eax, ecx
sbb esi, 0
imul edi, ecx, 0xaaaaaaaa
mul edx
imul ecx, esi, 0xaaaaaaab
add edi, edx
mov edx, dword [ebp - 0x10]
add ecx, edi
cmp eax, ebx
mov esi, ecx
sbb esi, edx
jb 0x63b040
mov eax, ebx
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x6f31ac
push 0x19
push 0x6f3170
call fcn.004faaf0
nop word cs:[eax + eax]
nop dword [eax]
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xf0
mov edx, dword [ebp + 0x1c]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0x18]
mov esi, dword [ebp + 0x14]
call 0x63b100
pop ecx
mov eax, edx
cmp edx, 3
mov edx, dword [ebp + 0x10]
ja 0x63b14c
add ecx, dword [eax*4 + 0x63b6f4]
mov eax, dword [ebp + 0xc]
jmp ecx
mov dword [esp + 0x44], ebx
mov ebx, eax
cmp eax, 0x7f
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x48], esi
ja 0x63b267
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0x14]
mov ecx, ebx
mov ch, bl
mov dword [esp + 0x84], edx
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
shr cl, 3
and ch, 7
and cl, 0xf
movzx ebx, cl
mov cl, ch
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x40], edx
mov eax, dword [esp + ebx + 0x84]
mov edx, dword [esp + ebx + 0x88]
mov edi, eax
lea esi, [edx + edx]
shr edi, cl
not cl
shl esi, cl
mov cl, ch
or esi, edi
mov edi, dword [esp + ebx + 0x80]
mov ebx, dword [esp + ebx + 0x8c]
shrd edi, eax, cl
shrd edx, ebx, cl
shr ebx, cl
mov ecx, esi
mov eax, edi
or ecx, ebx
mov dword [esp + 8], edx
or eax, edx
mov edx, dword [ebp + 0x10]
or ecx, eax
mov eax, dword [ebp + 0xc]
je 0x63b267
cmp dword [ebp + 0x14], 1
mov ecx, dword [ebp + 0x18]
sbb ecx, 0
jae 0x63b294
push dword [ebp + 0x1c]
push edx
push eax
call fcn.0063a780
add esp, 0xc
jmp 0x63b278
or eax, dword [ebp + 0x14]
or edx, dword [ebp + 0x18]
xor ecx, ecx
or edx, eax
setne cl
xor edx, edx
mov eax, ecx
xor esi, esi
xor ebx, ebx
mov edi, dword [ebp + 8]
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], esi
mov dword [edi + 0xc], ebx
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0xa0]
push dword [ebp + 0x1c]
push ebx
push dword [esp + 0x10]
push esi
push edi
push eax
call 0x63b0e0
add esp, 0x18
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0xac]
mov ebx, dword [esp + 0xa8]
mov edi, dword [esp + 0xa4]
shld esi, ebx, 1
shld ebx, edi, 1
shld edi, ecx, 1
lea edx, [ecx + ecx]
mov dword [esp + 8], ecx
mov eax, edi
mov ecx, edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x3c], edx
or eax, esi
or ecx, ebx
or ecx, eax
je 0x63b3c8
bsr eax, ebx
bsr ecx, esi
xor eax, 0x1f
xor ecx, 0x1f
add eax, 0x20
test esi, esi
cmovne eax, ecx
bsr ecx, edi
xor ecx, 0x1f
mov dword [esp + 4], ecx
bsr ecx, edx
mov edx, ebx
xor ecx, 0x1f
add ecx, 0x20
test edi, edi
cmovne ecx, dword [esp + 4]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x68], 0xffffffff
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x60], 0xffffffff
add ecx, 0x40
or edx, esi
cmovne ecx, eax
mov eax, ecx
shr cl, 3
and cl, 0xf
and al, 7
movzx edx, cl
mov ecx, eax
mov edi, dword [esp + edx + 0x6c]
mov dword [esp + 0xc], edi
mov esi, dword [esp + edx + 0x68]
mov ebx, esi
add esi, esi
shrd ebx, edi, cl
mov edi, dword [esp + edx + 0x64]
mov dword [esp + 4], edi
shr edi, cl
not cl
shl esi, cl
mov ecx, eax
mov edx, dword [esp + edx + 0x60]
mov eax, dword [esp + 4]
or esi, edi
mov edi, dword [esp + 0xc]
shrd edx, eax, cl
shr edi, cl
add edx, 1
adc esi, 0
adc ebx, 0
adc edi, 0
jmp 0x63b3d3
xor esi, esi
mov edx, 1
xor ebx, ebx
xor edi, edi
tzcnt eax, esi
tzcnt ecx, edx
add eax, 0x20
test edx, edx
cmovne eax, ecx
bsf ecx, edi
mov edi, 0x20
cmovne edi, ecx
add edi, 0x20
bsf ecx, ebx
cmove ecx, edi
mov edi, dword [ebp + 0x1c]
add ecx, 0x40
or edx, esi
cmovne ecx, eax
imul ecx, edi
cmp ecx, 0x7f
mov ecx, dword [esp + 8]
lea ebx, [ecx + ecx + 1]
mov dword [esp + 0x38], ebx
jbe 0x63b48d
mov edx, ebx
lea ecx, [esp + 0xd0]
push edi
mov ebx, dword [esp + 0x30]
push ebx
mov edi, dword [esp + 0x2c]
push edi
mov esi, dword [esp + 0x34]
push esi
call fcn.006395f0
add esp, 0x10
cmp dword [esp + 0xd0], 1
mov ecx, dword [ebp + 0xc]
setne al
cmp ecx, dword [esp + 0xd8]
mov ecx, dword [esp + 0x40]
sbb ecx, dword [esp + 0xdc]
mov ecx, dword [esp + 0x48]
sbb ecx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x44]
sbb ecx, dword [esp + 0xe4]
setb cl
or cl, al
mov eax, dword [esp + 0x3c]
cmovne esi, esi
cmovne edi, edi
cmovne ebx, ebx
mov edx, esi
mov esi, edi
cmove eax, dword [esp + 0x38]
jmp 0x63b27c
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x4c], edi
mov dword [esp + 0xc], edx
mov edx, 1
nop
mov eax, ecx
mov dword [esp + 0x20], ecx
mov ecx, edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x1c], edx
mov edi, ebx
mov edx, 1
mov dword [esp + 0x58], esi
and ecx, 1
neg ecx
cmovae edi, edx
mov edx, ecx
mov dword [esp + 4], edi
mov edi, ecx
and edx, esi
and ecx, eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 4]
mov dword [esp + 0x54], edx
and edi, dword [esp + 0xc]
mul esi
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 8], edx
mul esi
mov esi, eax
mov eax, dword [esp + 0x18]
add esi, dword [esp + 8]
mov dword [esp + 8], eax
mov eax, dword [esp + 4]
adc edx, 0
mov dword [esp + 0x10], edx
mul dword [esp + 8]
add eax, esi
adc edx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov eax, ecx
mov esi, edx
setb byte [esp + 0x10]
mul dword [esp + 8]
add eax, esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x50], eax
movzx eax, byte [esp + 0x10]
adc edx, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 4]
imul ecx, eax
imul esi, edx
mul edx
add ecx, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
add ecx, esi
mov esi, dword [esp + 0x54]
imul esi, eax
mul edi
imul edi, dword [esp + 8]
add esi, edx
add edi, esi
add eax, dword [esp + 4]
adc edi, ecx
add eax, dword [esp + 0x50]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
adc edi, dword [esp + 0x10]
shr dword [esp + 0x4c], 1
mul ebx
mov dword [esp + 0x30], edi
mov edi, eax
mov eax, ebx
mov esi, edx
mul ebx
mov ecx, edx
mov edx, esi
mov dword [esp + 8], eax
add ecx, edi
adc esi, 0
add ecx, edi
mov edi, dword [esp + 0x20]
adc esi, edx
setb byte [esp + 4]
mov eax, edi
mul edi
add eax, esi
mov dword [esp + 0x1c], eax
movzx eax, byte [esp + 4]
adc edx, eax
mov eax, ebx
imul ebx, dword [esp + 0x58]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xc]
imul edi, edx
mul edx
lea esi, [edx + edi]
add esi, ebx
add ebx, edx
mov edx, dword [esp + 0x14]
add ebx, edi
add eax, eax
mov edi, dword [esp + 0x4c]
adc ebx, esi
add eax, dword [esp + 0x1c]
mov esi, ebx
mov ebx, dword [esp + 8]
adc esi, dword [esp + 4]
cmp dword [esp + 0x5c], 3
mov dword [esp + 0xc], eax
ja 0x63b4c0
mov eax, dword [esp + 0xc]
imul esi, dword [esp + 0x14]
mov edi, eax
mul dword [esp + 0x14]
imul edi, dword [esp + 0x18]
mov dword [esp + 0xc], eax
mov eax, ebx
add edx, edi
mov edi, ebx
mov ebx, dword [esp + 0x34]
add esi, edx
mul ebx
imul ebx, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
add ebx, edx
imul eax, edi
add ebx, eax
mov eax, dword [esp + 0xc]
add dword [esp + 4], eax
mov eax, dword [esp + 0x14]
adc ebx, esi
mul edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mul edi
mov esi, eax
mov eax, dword [esp + 0x14]
add esi, dword [esp + 0x20]
adc edx, 0
mov dword [esp + 8], edx
mul ecx
add eax, esi
mov edi, edx
adc edi, dword [esp + 8]
mov esi, eax
mov eax, dword [esp + 0x18]
setb byte [esp + 8]
mul ecx
movzx ecx, byte [esp + 8]
add eax, edi
adc edx, ecx
add eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
adc edx, ebx
cmp dword [ebp + 0xc], ecx
mov ebx, dword [esp + 0x2c]
sbb dword [esp + 0x40], esi
mov esi, dword [esp + 0x24]
sbb dword [esp + 0x48], eax
mov eax, dword [esp + 0x38]
sbb dword [esp + 0x44], edx
mov edx, dword [esp + 0x28]
cmovb eax, dword [esp + 0x3c]
cmovb ebx, ebx
cmovb esi, esi
cmovb edx, edx
jmp 0x63b27c