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

Disassembly:
sub esp, 0x7c
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x98]
mov dword [edi], 0
mov eax, dword [0x16c4d54]
mov ecx, dword [eax + 0x98]
test ecx, ecx
je 0x4b6291
mov esi, dword [esp + 0x90]
call fcn.0050b390
mov ecx, dword [eax + 0xc]
test ecx, ecx
mov dword [esp + 0x2c], eax
jge 0x4b6283
mov ecx, dword [0x16c4d54]
mov eax, dword [ecx + 0x114]
test eax, eax
je 0x4b6291
mov edx, dword [esp + 0x9c]
mov dword [edx], eax
mov eax, dword [esp + 0x94]
mov dword [eax], 0x3f800000
mov dword [edi], 0x3f800000
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x4b629b
mov edx, dword [eax + 0x10]
test edx, edx
jne 0x4b629b
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret
xor edx, edx
test ecx, ecx
mov dword [esp + 0x18], edx
jle 0x4b6303
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x9c]
sub ebx, ecx
jmp 0x4b62c0
mov edi, dword [0x16c4d54]
mov esi, dword [eax + 0x14]
mov ebp, dword [edi + 0x11c]
add esi, edx
movsx esi, word [ebp + esi*2]
mov ebp, dword [edi + 0x110]
imul esi, esi, 0x88
add esi, ebp
mov dword [ebx + ecx], esi
mov dword [ecx], 0
mov esi, dword [eax + 0x18]
inc edx
add ecx, 4
cmp edx, esi
jl 0x4b62c0
mov esi, dword [esp + 0x90]
mov dword [esp + 0x18], edx
fld dword [esi]
mov dword [esp + 0x3c], 0xff000000
fsub dword [0x5690fc]
mov dword [esp + 0x40], 0x3fdfffff
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fsub qword [esp + 0x3c]
fistp dword [esp + 0x34]
fld dword [esi]
mov ebp, dword [esp + 0x34]
fsub dword [0x5690fc]
sar ebp, 5
mov dword [esp + 0x30], ebp
mov dword [esp + 0x3c], 0xff000000
fmul dword [0x568ea0]
mov dword [esp + 0x40], 0x3fdfffff
fisub dword [esp + 0x30]
fstp dword [esp + 0x78]
fld dword [0x568e60]
fsub dword [esp + 0x78]
fstp dword [esp + 0x74]
fld dword [esi + 4]
fsub dword [0x5690fc]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fsub qword [esp + 0x3c]
fistp dword [esp + 0x34]
fld dword [esi + 4]
mov edi, dword [esp + 0x34]
fsub dword [0x5690fc]
sar edi, 5
mov dword [esp + 0x20], edi
mov dword [esp + 0x3c], 0xff000000
fmul dword [0x568ea0]
mov dword [esp + 0x40], 0x3fdfffff
fisub dword [esp + 0x20]
fstp dword [esp + 0x80]
fld dword [0x568e60]
fsub dword [esp + 0x80]
fstp dword [esp + 0x7c]
fld dword [esi + 8]
fsub dword [0x5690fc]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fsub qword [esp + 0x3c]
fistp dword [esp + 0x34]
fld dword [esi + 8]
mov ebx, dword [esp + 0x34]
fsub dword [0x5690fc]
mov ecx, dword [0x16c37ec]
mov eax, dword [ecx + 0x20]
sar ebx, 6
cmp eax, 2
fmul dword [0x569174]
mov dword [esp + 0x24], ebx
fisub dword [esp + 0x24]
fstp dword [esp + 0x88]
fld dword [0x568e60]
fsub dword [esp + 0x88]
fstp dword [esp + 0x84]
je 0x4b6436
cmp eax, 3
je 0x4b643b
test eax, eax
jge 0x4b6514
cmp eax, 3
jne 0x4b6499
fld dword [esi]
lea eax, [esp + 0x44]
fsub dword [0x16c5650]
fstp dword [esp + 0x44]
fld dword [esi + 4]
fsub dword [0x16c5654]
fstp dword [esp + 0x48]
fld dword [esi + 8]
fsub dword [0x16c5658]
fstp dword [esp + 0x4c]
call fcn.0042dd30
fld dword [0x16c5664]
fmul dword [esp + 0x4c]
fld dword [0x16c5660]
fmul dword [esp + 0x48]
faddp st(1)
fld dword [0x16c565c]
fmul dword [esp + 0x44]
faddp st(1)
fcomp dword [0x569144]
fnstsw ax
test ah, 5
jnp 0x4b6514
lea edx, [ebp - 0x1000]
shl edx, 5
mov dword [esp + 0x38], edx
fild dword [esp + 0x38]
add edi, 0xfffff000
shl edi, 5
fstp dword [esp + 0x44]
mov dword [esp + 0x38], edi
fild dword [esp + 0x38]
add ebx, 0xfffff800
shl ebx, 6
mov dword [esp + 0x38], ebx
fstp dword [esp + 0x48]
mov eax, 0x5418f0
fild dword [esp + 0x38]
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x44]
fstp dword [esp + 0x4c]
fld dword [esp + 0x44]
fadd dword [0x568ee4]
fstp dword [esp + 0x5c]
fld dword [esp + 0x48]
fadd dword [0x568ee4]
fstp dword [esp + 0x60]
fld dword [esp + 0x4c]
fadd dword [0x568ee8]
fstp dword [esp + 0x64]
call fcn.004e09c0
xor ebx, ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], ebx
jmp 0x4b6530
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x30]
lea esp, [esp]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x9c]
lea eax, [esp + 0x13]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x2c]
mov esi, ebx
push edx
sar esi, 2
push eax
mov eax, dword [esp + 0x30]
mov edi, ebx
and esi, 1
lea edx, [esi + ecx]
sar edi, 1
push edx
mov edx, dword [esp + 0x40]
and ebx, 1
and edi, 1
add ebp, ebx
lea ecx, [edi + eax]
mov eax, dword [edx + 0xc]
push ebp
call fcn.004b5420
mov edx, eax
mov eax, dword [0x16c37ec]
mov eax, dword [eax + 0x20]
add esp, 0x18
test eax, eax
mov dword [esp + 0x3c], edx
jge 0x4b6642
mov ecx, dword [esp + 0x1c]
shl ebp, 5
mov dword [esp + 0x38], ebp
fild dword [esp + 0x38]
mov ebp, dword [esp + 0x20]
and ecx, 2
fsub dword [0x569100]
lea ecx, [ecx + ebp*2]
mov ebp, dword [esp + 0x24]
shl ecx, 4
fstp dword [esp + 0x44]
mov dword [esp + 0x38], ecx
fild dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
and ecx, 4
lea ecx, [ecx + ebp*4]
fsub dword [0x569100]
shl ecx, 4
mov dword [esp + 0x38], ecx
fstp dword [esp + 0x48]
fild dword [esp + 0x38]
fsub dword [0x569100]
fstp dword [esp + 0x4c]
fld dword [esp + 0x44]
fsub dword [0x568e60]
fstp dword [esp + 0x5c]
fld dword [esp + 0x48]
fsub dword [0x568e60]
fstp dword [esp + 0x60]
fld dword [esp + 0x4c]
fsub dword [0x568e60]
fstp dword [esp + 0x64]
fld dword [esp + 0x44]
fadd dword [0x568e60]
fstp dword [esp + 0x50]
fld dword [esp + 0x48]
fadd dword [0x568e60]
fstp dword [esp + 0x54]
fld dword [esp + 0x4c]
fadd dword [0x568e60]
fstp dword [esp + 0x58]
test edx, edx
jge 0x4b6665
test eax, eax
jge 0x4b67a0
mov eax, 0x541830
lea edx, [esp + 0x50]
lea ecx, [esp + 0x5c]
call fcn.004e09c0
jmp 0x4b67a0
test edx, edx
fld dword [esp + edi*4 + 0x7c]
fmul dword [esp + esi*4 + 0x84]
movzx eax, byte [esp + 0x13]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x98]
fmul dword [esp + ebx*4 + 0x74]
fst dword [esp + 0x28]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fild dword [esp + 0x38]
fmul dword [esp + 0x28]
fmul dword [0x16c57e8]
fadd dword [eax]
fstp dword [eax]
jne 0x4b66ce
mov ecx, dword [0x16c37ec]
mov eax, dword [ecx + 0x20]
test eax, eax
jge 0x4b67a0
mov eax, 0x541860
lea edx, [esp + 0x50]
lea ecx, [esp + 0x5c]
call fcn.004e09c0
jmp 0x4b67a0
mov eax, dword [esp + 0x18]
xor ecx, ecx
test eax, eax
mov dword [esp + 0x38], ecx
jle 0x4b67a0
mov ebp, dword [esp + 0x9c]
mov eax, dword [esp + 0x94]
sub eax, ebp
mov dword [esp + 0x34], eax
jmp 0x4b6700
mov edx, dword [esp + 0x3c]
lea ebx, [ebx]
mov esi, 1
shl esi, cl
test edx, esi
je 0x4b6788
fld dword [esp + 0x28]
mov edx, dword [0x16c37ec]
fadd dword [eax + ebp]
fstp dword [eax + ebp]
mov ecx, dword [edx + 0x20]
test ecx, ecx
jge 0x4b6788
mov ecx, dword [ebp]
fld dword [ecx + 0x50]
lea ebx, [esp + 0x44]
fcomp dword [0x568e64]
fnstsw ax
test ah, 0x44
jnp 0x4b6743
lea edi, [ecx + 0x44]
mov esi, 0x541840
jmp 0x4b677f
fld dword [ecx + 0x44]
mov esi, 0x541870
fmul dword [0x568f28]
lea edi, [esp + 0x68]
fadd dword [esp + 0x44]
fstp dword [esp + 0x68]
fld dword [ecx + 0x48]
fmul dword [0x568f28]
fadd dword [esp + 0x48]
fstp dword [esp + 0x6c]
fld dword [ecx + 0x4c]
fmul dword [0x568f28]
fadd dword [esp + 0x4c]
fstp dword [esp + 0x70]
call fcn.004e0940
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
inc ecx
add ebp, 4
cmp ecx, edx
mov dword [esp + 0x38], ecx
jl 0x4b66f6
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, 8
mov dword [esp + 0x1c], eax
jl 0x4b6524
fld dword [esp + 0x14]
fcomp dword [0x569078]
fnstsw ax
test ah, 5
jp 0x4b69bc
fld dword [esp + 0x14]
fcomp dword [0x568e64]
fnstsw ax
test ah, 0x44
jp 0x4b680f
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jge 0x4b69bc
mov ecx, dword [esp + 0x18]
test ecx, ecx
jle 0x4b67fd
mov edi, dword [esp + 0x94]
mov eax, 0x3f800000
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x98]
mov dword [ecx], 0x3f800000
jmp 0x4b69bc
fld dword [0x568e60]
mov ecx, dword [esp + 0x98]
fdiv dword [esp + 0x14]
fstp dword [esp + 0x1c]
fld dword [ecx]
fcomp dword [0x568e64]
fnstsw ax
test ah, 0x44
jnp 0x4b683b
fld dword [esp + 0x1c]
fmul dword [ecx]
fstp dword [ecx]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x94]
xor esi, esi
cmp eax, 4
jl 0x4b6968
mov eax, dword [esp + 0x9c]
lea edi, [eax + 0xc]
sub eax, ebx
mov edx, 3
lea ecx, [ebx + 4]
mov dword [esp + 0x3c], eax
fld dword [ecx - 4]
fcomp dword [0x568e64]
fnstsw ax
test ah, 0x44
jnp 0x4b68a3
mov eax, dword [edi - 0xc]
mov ebp, dword [0x16c4d54]
cmp eax, dword [ebp + 0x114]
jne 0x4b6899
fld dword [0x568e60]
fsub dword [esp + 0x14]
fadd dword [ecx - 4]
jmp 0x4b68a0
fld dword [esp + 0x1c]
fmul dword [ecx - 4]
fstp dword [ecx - 4]
fld dword [ecx]
fcomp dword [0x568e64]
fnstsw ax
test ah, 0x44
jnp 0x4b68dd
mov eax, dword [esp + 0x3c]
mov eax, dword [ecx + eax]
mov ebp, dword [0x16c4d54]
cmp eax, dword [ebp + 0x114]
jne 0x4b68d5
fld dword [0x568e60]
fsub dword [esp + 0x14]
fadd dword [ecx]
jmp 0x4b68db
fld dword [esp + 0x1c]
fmul dword [ecx]
fstp dword [ecx]
fld dword [ecx + 4]
fcomp dword [0x568e64]
fnstsw ax
test ah, 0x44
jnp 0x4b6917
mov eax, dword [edi - 4]
mov ebp, dword [0x16c4d54]
cmp eax, dword [ebp + 0x114]
jne 0x4b690d
fld dword [0x568e60]
fsub dword [esp + 0x14]
fadd dword [ecx + 4]
jmp 0x4b6914
fld dword [esp + 0x1c]
fmul dword [ecx + 4]
fstp dword [ecx + 4]
fld dword [ecx + 8]
fcomp dword [0x568e64]
fnstsw ax
test ah, 0x44
jnp 0x4b6950
mov eax, dword [edi]
mov ebp, dword [0x16c4d54]
cmp eax, dword [ebp + 0x114]
jne 0x4b6946
fld dword [0x568e60]
fsub dword [esp + 0x14]
fadd dword [ecx + 8]
jmp 0x4b694d
fld dword [esp + 0x1c]
fmul dword [ecx + 8]
fstp dword [ecx + 8]
mov eax, dword [esp + 0x18]
add edx, 4
add esi, 4
add ecx, 0x10
add edi, 0x10
cmp edx, eax
jl 0x4b6869
cmp esi, eax
jge 0x4b69bc
mov edi, dword [esp + 0x9c]
mov edx, dword [esp + 0x18]
sub edi, ebx
lea ecx, [ebx + esi*4]
sub edx, esi
mov edi, edi
fld dword [ecx]
fcomp dword [0x568e64]
fnstsw ax
test ah, 0x44
jnp 0x4b69b6
mov esi, dword [0x16c4d54]
mov eax, dword [ecx + edi]
cmp eax, dword [esi + 0x114]
jne 0x4b69ae
fld dword [0x568e60]
fsub dword [esp + 0x14]
fadd dword [ecx]
jmp 0x4b69b4
fld dword [esp + 0x1c]
fmul dword [ecx]
fstp dword [ecx]
add ecx, 4
dec edx
jne 0x4b6980
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x4b69e3
mov ecx, dword [esp + 0x98]
fld dword [ecx]
fcomp dword [0x568ed0]
fnstsw ax
test ah, 5
jp 0x4b69e3
mov dword [ecx], 0x3e800000
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret