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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov eax, dword [0x5a05c4]
mov edi, dword [ebp + 0x10]
movsd xmm0, qword [ebp + 8]
xor eax, ebp
cmp edi, 2
mov dword [esp + 0x88], eax
jae 0x4bdd04
lea esi, [esp + 0x68]
lea eax, [esp + 0x78]
movsd qword [esi], xmm0
mov ecx, esi
push eax
call fcn.004be538
xor eax, eax
test edi, edi
mov dword [esi + 4], eax
mov dword [esi], eax
mov dword [esi + 8], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], eax
je 0x4bdfbc
xorps xmm0, xmm0
cvtsd2ss xmm0, qword [ebp + 8]
lea ecx, [esp + 0x48]
lea eax, [esp + 0x58]
movss dword [ecx], xmm0
push eax
push esi
call fcn.004be6d2
jmp 0x4bdfd4
jne 0x4be532
mov eax, dword [ebp + 0x14]
lea esi, [esp + 0x68]
lea edi, [esp + 0x78]
mov ecx, esi
movsd qword [esi], xmm0
mov dword [esp + 0x14], eax
push edi
call fcn.004be538
mov eax, dword [edi + 8]
mov ecx, 0xffffff84
mov edx, 0xffffffa0
mov ebx, esi
sub ecx, eax
sub edx, eax
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi], eax
mov dword [esi + 8], eax
lea eax, [esp + 0x58]
push eax
push esi
push edx
push ecx
call fcn.004dd90c
add esp, 0x10
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 4]
mov esi, edi
mov esi, dword [esi]
mov eax, ecx
mov dword [esp + 0xc], edx
mul edx
mov dword [esp + 8], eax
mov eax, ecx
mov edi, edx
mov ecx, esi
mul esi
mov dword [esp], eax
lea eax, [esp + 0x68]
mov dword [esp + 4], edx
mov ebx, dword [eax]
mov eax, ebx
mul dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov eax, ebx
mov esi, edx
xor ebx, ebx
mul ecx
lea eax, [esp + 0x78]
mov ecx, 0
add edx, dword [esp + 0xc]
mov eax, dword [eax + 8]
setb bl
add edx, dword [esp]
adc ebx, ecx
lea ecx, [esp + 0x68]
add eax, dword [ecx + 8]
imul ecx, eax, 0x4d1
add esi, dword [esp + 8]
mov dword [esp], ecx
mov ecx, 0
adc edi, ecx
add esi, dword [esp + 4]
adc edi, ecx
xor ecx, ecx
add edx, 0x80000000
adc esi, ebx
adc edi, ecx
mov ecx, 0xffffffc0
mov edx, esi
sub ecx, eax
xor ebx, ebx
xor eax, eax
shrd edx, edi, cl
inc ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 8], edx
mov edx, edi
shld eax, ebx, cl
shl ebx, cl
shr edx, cl
test cl, 0x20
mov ecx, 0
cmovne eax, ebx
cmovne ebx, ecx
cmove edx, dword [esp + 8]
mov dword [esp + 0x20], ebx
add ebx, 0xffffffff
mov dword [esp + 0x28], eax
adc eax, 0xffffffff
and esi, ebx
mov dword [esp + 0x24], ebx
mov ebx, dword [ebp + 0x20]
mov dword [esp + 0x2c], eax
and edi, eax
mov eax, dword [esp]
mov dword [esp + 4], edx
add eax, 0x26d51
sar eax, 0xc
cmp dword [eax*4 + 0x56b254], edx
lea ecx, [eax + 1]
cmova ecx, eax
xor edx, edx
mov dword [esp + 0x48], ecx
mov dword [ebx], edx
mov ebx, dword [ecx*4 + 0x56b250]
xor edx, edx
test ecx, ecx
jle 0x4bded5
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov ecx, dword [ebp + 0x14]
mov edi, dword [esp + 4]
mov dword [esp + 0x10], esi
mov dword [esp], 0
mov eax, edi
xor edx, edx
mov edi, dword [ebp + 0x18]
div ebx
mov esi, dword [esp]
add al, 0x30
mov byte [edi + esi], al
mov eax, dword [ebp + 0x20]
mov edi, dword [eax]
inc edi
cmp ecx, 1
mov esi, edi
mov dword [esp], edi
mov dword [eax], edi
mov edi, edx
je 0x4be434
mov esi, dword [esp + 8]
mov eax, ebx
mov edx, 0xcccccccd
dec ecx
mul edx
mov ebx, edx
shr ebx, 3
dec esi
lea eax, [esi + 1]
mov dword [esp + 8], esi
cmp eax, 1
jg 0x4bde71
mov dword [esp + 4], edi
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
cmp dword [esp + 0x14], 0
mov dword [esp], edx
je 0x4be443
xor eax, eax
cmp esi, 2
mov edx, edi
sbb edx, 0
jb 0x4be4c4
cmp dword [esp + 0x14], 0
mov ebx, dword [ebp + 0x20]
jle 0x4be4c7
xor edx, edx
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
inc edx
mov eax, esi
mov ecx, 0xa
mov dword [esp + 0x18], edx
lea ebx, [edi + edi*4]
mov edi, dword [esp]
mul ecx
mov ecx, dword [esp + 0x1c]
mov esi, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
lea ebx, [edx + ebx*2]
mov edx, 0xa
mov dword [esp + 0xc], ebx
shrd esi, ebx, cl
shr ebx, cl
mul edx
test cl, 0x20
mov ecx, dword [esp + 4]
cmove ebx, esi
mov esi, dword [ebp + 0x18]
dec dword [esp + 8]
add bl, 0x30
mov byte [esi + edi], bl
mov ebx, dword [ebp + 0x20]
lea esi, [ecx + ecx*4]
mov edi, dword [esp + 0xc]
lea ecx, [edx + esi*2]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x14]
mov esi, dword [ebx]
and edi, dword [esp + 0x2c]
inc esi
mov edx, esi
mov dword [esp], esi
mov dword [ebx], esi
mov esi, dword [esp + 0x10]
mov edx, eax
and esi, dword [esp + 0x24]
cmp ecx, 2
lea ecx, [ecx - 1]
mov dword [esp + 0x14], ecx
jl 0x4bdfa2
mov eax, dword [esp + 4]
cmp edx, esi
sbb eax, edi
jb 0x4bdf10
mov eax, dword [esp + 8]
cmp dword [esp + 0x14], 0
mov dword [esp + 0x48], eax
je 0x4be501
xor eax, eax
jmp 0x4be4c7
movsd xmm0, qword [ebp + 8]
lea ecx, [esp + 0x48]
lea eax, [esp + 0x58]
movsd qword [ecx], xmm0
push eax
push esi
call fcn.004be5b0
lea ecx, [esp + 0x48]
xor eax, eax
mov edx, 0xffffffa0
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x80]
mov edi, ecx
mov ecx, 0xffffff84
sub ecx, eax
sub edx, eax
lea eax, [esp + 0x44]
push eax
push edi
push edx
push ecx
call fcn.004dd90c
add esp, 0x10
mov ebx, dword [edi + 4]
mov ecx, dword [esp + 0x7c]
mov edi, dword [edi]
mov eax, ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 8], ebx
mov dword [esp], edi
mul ecx
mov ecx, edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x14], eax
mov eax, ebx
mov dword [esp + 0x18], edx
mul edx
mov dword [esp + 4], eax
mov eax, edi
mov dword [esp + 0xc], edx
mul dword [esp + 0x10]
mov ebx, eax
mov eax, edi
mov esi, edx
mov edi, 0
mul dword [esp + 0x18]
xor eax, eax
add edx, ebx
lea ebx, [esp + 0x48]
setb al
add edx, dword [esp + 4]
adc eax, edi
mov edi, dword [esp + 0x80]
add edi, dword [ebx + 8]
mov dword [esp + 0x10], edi
imul edi, edi, 0x4d1
add esi, dword [esp + 0x14]
mov dword [esp + 4], edi
mov edi, 0
adc ecx, edi
add esi, dword [esp + 0xc]
adc ecx, edi
mov edi, SysReAllocStringLen
xor ebx, ebx
add edx, edi
adc esi, eax
adc ecx, ebx
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
xor edi, edi
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 8]
mov eax, esi
mul ecx
mov dword [esp + 0xc], eax
mov eax, ebx
mov dword [esp + 0x14], edx
mul ecx
mov ecx, dword [esp]
mov dword [esp + 0x24], eax
mov eax, esi
mov dword [esp + 0x18], edx
mul ecx
mov esi, eax
mov eax, ebx
mov dword [esp + 0x1c], edx
mov ebx, dword [esp + 0x58]
mul ecx
mov ecx, dword [esp + 8]
xor eax, eax
add edx, esi
setb al
add edx, dword [esp + 0x24]
adc eax, edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], eax
mov eax, edi
mul ecx
mov dword [esp + 0x28], eax
mov eax, ebx
mov esi, edx
mul ecx
mov dword [esp + 8], eax
mov eax, edi
mov ecx, edx
mul dword [esp]
mov edi, eax
mov eax, ebx
mov dword [esp + 0x20], edx
mul dword [esp]
mov ebx, dword [esp + 0x20]
xor eax, eax
add edx, edi
mov edi, 0
setb al
add edx, dword [esp + 8]
adc eax, edi
add ebx, dword [esp + 0x28]
adc esi, edi
add ebx, ecx
mov ecx, SysReAllocStringLen
adc esi, edi
add edx, ecx
mov edx, dword [esp + 0x1c]
adc ebx, eax
adc esi, edi
xor eax, eax
inc eax
add ebx, eax
mov eax, dword [esp + 0x14]
adc esi, edi
add edx, dword [esp + 0xc]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x30], esi
adc eax, edi
add edx, dword [esp + 0x18]
adc eax, edi
add dword [esp + 0x24], ecx
adc edx, dword [esp + 0x2c]
adc eax, edi
mov ecx, eax
mov eax, ebx
sub eax, edx
mov edx, esi
sbb edx, ecx
xor ecx, ecx
inc ecx
add eax, ecx
mov ecx, 0xffffffc0
adc edx, edi
sub ecx, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], edx
xor edx, edx
xor eax, eax
inc eax
shrd ebx, esi, cl
shld edx, eax, cl
shl eax, cl
mov dword [esp + 0x24], ecx
mov dword [esp], ebx
mov ebx, esi
shr ebx, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, edi
cmove ebx, dword [esp]
mov dword [esp + 0x3c], eax
add eax, 0xffffffff
mov dword [esp + 0x40], edx
adc edx, 0xffffffff
mov dword [esp + 0x2c], eax
and esi, edx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 8], esi
mov esi, dword [esp + 4]
mov dword [esp], ebx
and edx, eax
add esi, 0x26d51
sar esi, 0xc
cmp dword [esi*4 + 0x56b254], ebx
mov ebx, dword [ebp + 0x20]
lea ecx, [esi + 1]
cmova ecx, esi
mov dword [ebx], edi
test ecx, ecx
jle 0x4be28f
mov dword [esp + 0x1c], ecx
mov ecx, dword [ecx*4 + 0x56b250]
xor esi, esi
mov dword [esp + 4], edx
mov eax, dword [esp]
xor edx, edx
mov ebx, ecx
div ecx
mov ecx, dword [ebp + 0x18]
add al, 0x30
mov edi, edx
mov dword [esp], edx
mov byte [ecx + esi], al
mov eax, dword [ebp + 0x20]
mov ecx, dword [esp + 0x24]
mov esi, dword [eax]
xor eax, eax
shl edi, cl
shld eax, edx, cl
mov edx, 0
inc esi
test cl, 0x20
cmovne eax, edi
cmovne edi, edx
mov dword [esp + 0x18], esi
add edi, dword [esp + 4]
adc eax, dword [esp + 8]
cmp edi, dword [esp + 0xc]
mov edx, eax
sbb edx, dword [esp + 0x14]
mov edx, dword [ebp + 0x20]
mov dword [edx], esi
jb 0x4be299
mov ecx, dword [esp + 0x1c]
cmp ecx, 2
jl 0x4be304
dec ecx
mov esi, dword [esp + 0x18]
mov eax, ebx
mov dword [esp + 0x1c], ecx
mov ecx, 0xcccccccd
mul ecx
mov ecx, edx
shr ecx, 3
jmp 0x4be217
mov dword [esp + 0x18], 0
jmp 0x4be30b
xor edx, edx
mov esi, 0
shld edx, ebx, cl
shl ebx, cl
test cl, 0x20
mov ecx, 0
cmovne edx, ebx
cmovne ebx, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], edx
mov edx, dword [ebp + 0x1c]
sub ecx, dword [esp + 0x34]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x30]
sbb ecx, dword [esp + 0x38]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebp + 0x18]
push esi
push 1
push dword [esp + 8]
push ebx
push eax
push edi
push dword [esp + 0x2c]
push dword [esp + 0x28]
push dword [esp + 0x50]
push dword [esp + 0x44]
push dword [esp + 0x40]
call fcn.004be7b6
add esp, 0x2c
mov ecx, dword [esp + 0x1c]
dec ecx
jmp 0x4be420
mov edx, dword [esp + 4]
dec ecx
xor edi, edi
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x18]
xor eax, eax
mov dword [esp + 0x1c], ecx
inc eax
mov dword [esp + 0x10], eax
mov eax, edx
mov ecx, 0xa
mov dword [esp], edi
lea edi, [ebx + ebx*4]
mul ecx
mov ecx, dword [esp + 0x24]
lea ebx, [edx + edi*2]
mov edi, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10]
mov edx, 0xa
mov dword [esp + 8], ebx
shrd edi, ebx, cl
shr ebx, cl
mul edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], edx
mov edx, 0xa
mul edx
test cl, 0x20
mov ecx, dword [esp]
cmove ebx, edi
mov edi, dword [ebp + 0x18]
dec dword [esp + 0x1c]
mov dword [esp + 0xc], eax
add bl, 0x30
mov byte [edi + esi], bl
lea esi, [ecx + ecx*4]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 8]
lea ecx, [ecx + esi*2]
and ebx, dword [esp + 0x28]
mov dword [esp], ecx
mov ecx, dword [esp + 0x14]
lea ecx, [ecx + ecx*4]
lea edi, [edx + ecx*2]
mov edx, dword [esp + 4]
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x14], edi
mov esi, dword [ecx]
and edx, dword [esp + 0x2c]
mov ecx, edi
inc esi
cmp edx, eax
mov eax, ebx
sbb eax, edi
mov edi, dword [esp]
mov eax, dword [ebp + 0x20]
mov dword [eax], esi
jae 0x4be31e
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], edx
sub ebx, dword [esp + 0x34]
sbb eax, dword [esp + 0x38]
imul ecx, eax
mov eax, dword [esp + 0x10]
mul ebx
imul ebx, edi
add ecx, edx
mov edx, dword [ebp + 0x1c]
add ebx, ecx
mov ecx, dword [ebp + 0x18]
push edi
push dword [esp + 0x14]
push dword [esp + 0x48]
push dword [esp + 0x48]
push dword [esp + 0x18]
push dword [esp + 0x18]
push dword [esp + 0x2c]
push dword [esp + 0x28]
push ebx
push eax
push esi
call fcn.004be7b6
add esp, 0x2c
mov ecx, dword [esp + 0x1c]
test al, al
je 0x4be4e7
sub ecx, dword [esp + 0x44]
mov ebx, dword [ebp + 0x20]
jmp 0x4be4d3
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x10]
dec eax
mov dword [esp + 0x48], eax
jmp 0x4be44b
mov dword [esp + 0xc], edi
mov edi, dword [esp + 4]
mov ecx, dword [esp + 0x1c]
mov edx, ebx
mov eax, 0
shl edx, cl
test cl, 0x20
mov dword [esp + 4], edx
cmovne edx, eax
xor eax, eax
shld eax, ebx, cl
test cl, 0x20
mov dword [esp + 8], edx
mov edx, 0
cmovne eax, dword [esp + 4]
mov dword [esp + 4], eax
mov eax, edi
shl eax, cl
test cl, 0x20
mov ebx, eax
cmovne ebx, edx
mov edx, edi
xor edi, edi
shld edi, edx, cl
test cl, 0x20
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
cmovne edi, eax
add ebx, esi
lea eax, [esp + 0x48]
adc edi, dword [esp + 0xc]
push eax
mov eax, 0
push eax
push 1
push dword [esp + 0x10]
push dword [esp + 0x18]
push edi
push ebx
push dword [esp + 0x1c]
call fcn.004be93b
add esp, 0x20
mov ebx, dword [ebp + 0x20]
test al, al
je 0x4be4e7
mov ecx, dword [esp + 0x48]
sub ecx, dword [esp + 0x58]
mov eax, dword [ebp + 0x24]
add ecx, dword [ebx]
mov esi, dword [ebp + 0x18]
mov dword [eax], ecx
mov eax, dword [ebx]
mov bl, 1
mov byte [esi + eax], 0
jmp 0x4be4e9
xor ebx, ebx
mov ecx, dword [esp + 0x88]
xor ecx, ebp
call fcn.00527311
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x10], esi
mov esi, edx
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
lea eax, [esp + 0x48]
push eax
push dword [esp + 8]
push esi
push dword [esp + 0x34]
push dword [esp + 0x30]
push edi
push dword [esp + 0x28]
push dword [esp + 0x1c]
call fcn.004be93b
add esp, 0x20
jmp 0x4be4c7
call fcn.0048724e
int3