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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0xb0
mov esi, dword [esp + 0xc4]
mov eax, dword [esi]
test eax, eax
mov dword [esp + 0xc], eax
je 0x4b1a34
nop
mov eax, dword [esp + 0xc]
lea edi, [esp + 0x48]
mov ecx, eax
mov ebp, dword [eax]
mov eax, dword [ecx + 8]
mov dword [esp + 8], ebp
add dword [esp + 8], 4
mov dword [esp + 0xc], eax
add dword [esp + 8], 0x30
mov eax, dword [esp + 8]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
fldz
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 8]
mov eax, dword [esp + 0xc8]
fld dword [edx]
fsub dword [eax]
mov eax, dword [esp + 0xc8]
lea edi, [esp + 0x54]
fstp dword [esp + 0x84]
fld dword [edx + 4]
fsub dword [eax + 4]
mov eax, dword [esp + 0xc8]
lea esi, [esp + 0x84]
fstp dword [esp + 0x88]
fld dword [edx + 8]
fsub dword [eax + 8]
fstp dword [esp + 0x8c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5c]
fld dword [esp + 0x24]
fmul st(0)
fld dword [esp + 0x54]
mov dword [esp + 0x28], eax
fmul st(0)
faddp st(1)
fld dword [esp + 0x28]
fmul st(0)
faddp st(1)
fst st(1)
fsqrt
fstp dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
fld dword [esp + 0x10]
fcomp dword [esp + 0xcc]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4b1a50
push ebp
fstp st(0)
call fcn.00564a60
mov al, byte [ebp + 0x52]
pop ecx
shr al, 1
and al, 1
jne 0x4b1a29
mov bl, byte [ebp + 0x50]
and bl, 7
cmp bl, 3
jne 0x4b1455
cmp byte [ebp + 0x314], 0
jne 0x4b1a29
mov al, byte [ebp + 0x51]
shr al, 2
and al, 1
je 0x4b1a40
cmp bl, 4
jne 0x4b1630
fld dword [esp + 0xd0]
fcomp dword [ebp + 0x170]
fnstsw ax
test ah, 0x45
je 0x4b149e
movsx esi, word [ebp + 0x5c]
movzx eax, word [0x5f5b44]
cmp eax, esi
je 0x4b149e
movzx eax, word [0x5f5b48]
cmp eax, esi
jne 0x4b15d8
mov ax, word [ebp + 0x5c]
cmp ax, word [0x5f5adc]
jne 0x4b14b0
mov al, 1
jmp 0x4b1522
cmp ax, word [0x5f5ae0]
jne 0x4b14c0
mov al, 1
jmp 0x4b1522
cmp ax, word [0x5f5ae4]
jne 0x4b14d0
mov al, 1
jmp 0x4b1522
cmp ax, word [0x5f5ae8]
jne 0x4b14e0
mov al, 1
jmp 0x4b1522
cmp ax, word [0x5f5aec]
jne 0x4b14f0
mov al, 1
jmp 0x4b1522
cmp ax, word [0x5f5af0]
jne 0x4b1500
mov al, 1
jmp 0x4b1522
cmp ax, word [0x5f5af4]
jne 0x4b1510
mov al, 1
jmp 0x4b1522
cmp ax, word [0x5f5af8]
jne 0x4b1520
mov al, 1
jmp 0x4b1522
xor al, al
test al, al
je 0x4b1543
mov eax, dword [esp + 0xc8]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
push ebp
call fcn.00504790
add esp, 0x10
jmp 0x4b15d8
mov al, byte [ebp + 0x51]
mov ecx, ebp
and al, 0xfb
mov byte [ebp + 0x51], al
call fcn.004958f0
movsx eax, word [ebp + 0x5c]
movzx edi, word [0x5f5a00]
cmp edi, eax
jne 0x4b15a7
lea ebx, [ebp + 0x175]
mov cl, byte [ebx]
shr cl, 5
and cl, 1
jne 0x4b15a7
mov eax, dword [esp + 8]
lea edi, [esp + 0x60]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x6c]
fsub dword [0x5f7998]
lea eax, [esp + 0x64]
push eax
fstp dword [esp + 0x70]
push 5
call fcn.004bc4d0
mov al, byte [ebx]
add esp, 0xc
and al, 0xdf
or al, 0x20
mov byte [ebx], al
jmp 0x4b15d8
mov dl, byte [ebp + 0x50]
and dl, 7
cmp dl, 4
jne 0x4b15d8
movzx esi, word [0x5f5b08]
cmp esi, eax
je 0x4b15d8
movzx edi, word [0x5f5b4c]
cmp edi, eax
je 0x4b15d8
mov al, byte [ebp + 0x175]
and al, 0xdf
or al, 0x20
mov byte [ebp + 0x175], al
mov al, byte [ebp + 0x51]
shr al, 2
and al, 1
fldz
je 0x4b1641
fld dword [esp + 0xcc]
fsub dword [esp + 0x10]
fmul dword [0x5f799c]
fdiv dword [esp + 0xcc]
fst st(1)
fcomp dword [0x5f7994]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x4b1616
fld dword [0x5f7994]
fstp st(1)
fld dword [0x5f79a0]
push eax
mov ecx, ebp
fmul st(1)
fstp dword [esp]
fstp st(0)
call fcn.004bb240
jmp 0x4b1a47
mov al, byte [ebp + 0x51]
mov ecx, ebp
and al, 0xfb
mov byte [ebp + 0x51], al
call fcn.004958f0
fldz
mov al, byte [ebp + 0x51]
shr al, 2
and al, 1
jne 0x4b1a54
fld dword [esp + 0xcc]
fsub dword [esp + 0x10]
fmul dword [0x5f799c]
fdiv dword [esp + 0xcc]
fst st(1)
fcomp dword [0x5f7994]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4b1680
fst dword [esp + 0x14]
jmp 0x4b168a
fld dword [0x5f7994]
fstp dword [esp + 0x14]
fld dword [0x5f79a4]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x45
jne 0x4b16a3
fld dword [0x5f79a4]
jmp 0x4b16a7
fld dword [esp + 0x10]
fstp st(1)
fld dword [esp + 0xd0]
fmul dword [ebp + 0xc0]
lea edi, [esp + 0x6c]
fmul dword [0x5f79a8]
fmul dword [esp + 0x14]
fdiv st(1)
fst st(1)
fmul dword [esp + 0x54]
fstp dword [esp + 0x90]
fld st(0)
fmul dword [esp + 0x24]
lea esi, [esp + 0x90]
fstp dword [esp + 0x94]
fld st(0)
fmul dword [esp + 0x28]
fstp dword [esp + 0x98]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x74]
fcomp dword [0x5f79ac]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4b1713
mov dword [esp + 0x74], 0
fstp st(0)
call fcn.004a1150
cmp ebp, eax
fldz
jne 0x4b1742
fld dword [esp + 0x74]
fst st(1)
fcomp dword [0x5f7994]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x4b173e
fld dword [0x5f7994]
fstp st(1)
fst dword [esp + 0x74]
mov eax, dword [esp + 0x74]
mov ecx, ebp
push eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x74]
push eax
mov dword [esp + 0x44], eax
push dword [esp + 0x74]
fstp st(0)
call fcn.004959a0
mov al, byte [ebp + 0x51]
shr al, 4
and al, 1
jne 0x4b188c
mov ecx, ebp
call fcn.00474310
mov eax, dword [esp + 0x50]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc8]
fchs
fld dword [eax + 8]
fsub dword [esp + 0x30]
fstp dword [esp + 0x2c]
fcomp dword [esp + 0x2c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4b17b0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
jmp 0x4b17bd
mov ecx, ebp
call fcn.00474310
fchs
fstp dword [esp + 0x18]
mov ecx, ebp
xor ebx, ebx
call fcn.00474310
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x45
jne 0x4b17d2
inc ebx
test bl, bl
je 0x4b1827
mov ecx, ebp
call fcn.00474310
mov eax, dword [esp + 0xc8]
fchs
fld dword [eax + 8]
fsub dword [esp + 0x30]
fstp dword [esp + 0x34]
fcomp dword [esp + 0x34]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4b1810
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c], eax
jmp 0x4b181d
mov ecx, ebp
call fcn.00474310
fchs
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
jmp 0x4b1832
mov ecx, ebp
call fcn.00474310
fstp dword [esp + 0x20]
lea edi, [esp + 0x78]
mov dword [esp + 0x9c], 0
lea esi, [esp + 0x9c]
mov eax, dword [esp + 0x20]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, ebp
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0x44]
push dword [esp + 0x4c]
push dword [esp + 0x80]
call fcn.00495a10
mov al, byte [ebp + 0x50]
and al, 7
cmp al, 2
jne 0x4b1910
lea ecx, [ebp + 0x50]
mov dl, byte [ecx]
shr dl, 3
movzx eax, dl
cmp eax, 2
jne 0x4b18b4
mov al, byte [ecx]
push ebp
and al, 7
or al, 0x18
mov byte [ecx], al
call fcn.0041f7f0
pop ecx
fld dword [0x5f79b0]
fmul dword [esp + 0x14]
push eax
mov ecx, ebp
fstp dword [esp]
push 0x12
push dword [esp + 0xdc]
call fcn.00551950
cmp byte [esp + 0xd8], 0
je 0x4b1a29
cmp word [ebp + 0x216], 0
je 0x4b1a29
xor dx, dx
mov esi, 0xa
mov ax, word [ebp + 0x216]
div si
mov word [ebp + 0x216], ax
jmp 0x4b1a29
cmp al, 3
jne 0x4b1a10
fld dword [esp + 0x6c]
fchs
fstp dword [esp + 0xa8]
fld dword [esp + 0x3c]
lea eax, [esp + 0xa8]
mov ecx, ebp
fchs
push eax
fstp dword [esp + 0xb0]
call fcn.004cce20
mov ebx, eax
mov al, byte [ebp + 0x154]
and al, 0xfe
mov ecx, ebp
mov byte [ebp + 0x154], al
push dword [0x5f799c]
push dword [0x5f79ac]
push dword [0x5f79ac]
call fcn.004959a0
fld dword [0x5f79b4]
fmul dword [esp + 0x14]
mov al, bl
mov ecx, ebp
push eax
push 0
push eax
fstp dword [esp]
push 0x12
push dword [esp + 0xe4]
call fcn.004ea420
cmp dword [ebp + 0x224], 0x30
je 0x4b19a8
add ebx, 0x19
mov ecx, ebp
push 0
push ebx
push 0x7d0
call fcn.004d09b0
cmp dword [esp + 0xd4], 0
je 0x4b1a29
mov eax, dword [esp + 0xd4]
mov al, byte [eax + 0x50]
and al, 7
cmp al, 3
jne 0x4b1a29
cmp dword [ebp + 0x32c], 6
jne 0x4b19e0
push 0x2710
push dword [esp + 0xd8]
push ebp
push 1
push 0xc
jmp 0x4b19f1
push 0x2710
push dword [esp + 0xd8]
push ebp
push 1
push 0xb
call fcn.00475c50
add esp, 0x14
mov ecx, ebp
push dword [esp + 0xd4]
call fcn.004e3870
jmp 0x4b1a29
cmp al, 4
jne 0x4b1a29
fld dword [0x5f79a0]
fmul dword [esp + 0x14]
push eax
mov ecx, ebp
fstp dword [esp]
call fcn.004bb240
cmp dword [esp + 0xc], 0
jne 0x4b1360
add esp, 0xb0
pop ebp
pop edi
pop esi
pop ebx
ret
fldz
jmp 0x4b1641
fldz
jmp 0x4b1641
fstp st(0)
jmp 0x4b1a29
fstp st(0)
jmp 0x4b1a29