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

Disassembly:
push ebx
push esi
mov ebx, ecx
push edi
sub esp, 0x130
mov eax, dword [ebx + 4]
test eax, eax
je 0x633393
add eax, 0x4e20
cmp dword [0x974b2c], eax
jbe 0x633e6e
lea eax, [esp + 0x70]
push eax
call fcn.004bc240
lea esi, [esp + 0x74]
pop ecx
lea edi, [esp + 0x64]
movsd dword es:[edi], dword [esi]
fldz
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x64]
fcomp dword [ebx + 8]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x6333e7
fld dword [esp + 0x64]
fcomp dword [ebx + 0x10]
fnstsw ax
test ah, 0x45
je 0x6333e7
fld dword [esp + 0x68]
fst st(1)
fcomp dword [ebx + 0xc]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x6333e7
fcom dword [ebx + 0x14]
fnstsw ax
test ah, 0x45
jne 0x6333f3
add esp, 0x130
fstp st(0)
pop edi
pop esi
pop ebx
ret
movzx eax, byte [ebx]
dec eax
cmp eax, 6
ja case.default.0x633400
jmp dword [eax*4 + 0x6dc3c0]
fstp st(0)
call fcn.004bc120
mov eax, dword [eax + 0x5f4]
mov edx, dword [eax + 0x20]
cmp edx, 1
jl 0x633e6e
call fcn.004bc1e0
test eax, eax
jne 0x633e6e
mov ecx, ebx
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
call fcn.006331e0
mov esi, eax
test esi, esi
je 0x633e6e
mov ecx, ebx
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
call fcn.006331e0
mov edi, eax
test edi, edi
fldz
je 0x633540
mov al, byte [esi + 0x50]
push esi
and al, 7
or al, 0x18
mov byte [esi + 0x50], al
mov byte [esi + 0x160], 4
movsx eax, byte [esi + 0x160]
mov dword [esp + 0x5c], eax
fild dword [esp + 0x5c]
fstp dword [esi + 0x15c]
mov byte [esi + 0x155], 1
mov byte [esi + 0x156], 0x18
fld dword [ebx + 0x2c]
fstp st(1)
fld dword [ebx + 0x28]
fstp dword [esi + 0x16c]
fst dword [esi + 0x170]
mov dword [esi + 0x174], 0
mov eax, dword [0x974b2c]
add eax, 0x61a8
fstp st(0)
mov dword [esi + 0x214], eax
call fcn.00419bb0
mov al, byte [edi + 0x50]
pop ecx
and al, 7
push edi
or al, 0x18
mov byte [edi + 0x50], al
mov byte [edi + 0x160], 4
movsx eax, byte [edi + 0x160]
fldz
mov dword [esp + 0x5c], eax
fild dword [esp + 0x5c]
fstp dword [edi + 0x15c]
mov byte [edi + 0x155], 1
mov byte [edi + 0x156], 0x18
fld dword [ebx + 0x34]
fstp st(1)
fld dword [ebx + 0x30]
fstp dword [edi + 0x16c]
fst dword [edi + 0x170]
mov dword [edi + 0x174], 0
mov eax, dword [0x974b2c]
add eax, 0x61a8
fstp st(0)
mov dword [edi + 0x214], eax
jmp 0x633e60
push esi
fstp st(0)
call fcn.004db310
test esi, esi
pop ecx
je 0x633e6e
mov ecx, esi
mov ebx, dword [ecx]
push 1
call dword [ebx + 8]
jmp 0x633e6e
fstp st(0)
call fcn.004bc120
mov eax, dword [eax + 0x5f4]
mov edx, dword [eax + 0x20]
cmp edx, 2
jl 0x633e6e
call fcn.004bc1e0
test eax, eax
je 0x633e6e
call fcn.004bc210
fld dword [eax + 4]
lea eax, [esp + 0x88]
push eax
fstp dword [esp + 0x10]
call fcn.004bc240
fld dword [esp + 0x90]
fsub dword [ebx + 0x1c]
pop ecx
fmul dword [esp + 0xc]
fstp dword [esp + 0x38]
call fcn.004bc210
fld dword [eax]
lea eax, [esp + 0x7c]
push eax
fstp dword [esp + 0xc]
call fcn.004bc240
fldz
fld dword [esp + 0x80]
fsub dword [ebx + 0x18]
pop ecx
fmul dword [esp + 8]
fst st(1)
fadd dword [esp + 0x38]
fcomp dword [0x6dc3b8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x633ea0
mov ecx, ebx
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
fstp st(0)
call fcn.006331e0
test eax, eax
fldz
fldz
je 0x633ea4
mov cl, byte [eax + 0x50]
push eax
and cl, 7
or cl, 0x18
mov byte [eax + 0x50], cl
mov byte [eax + 0x160], 0x10
mov byte [eax + 0x155], 3
mov byte [eax + 0x156], 0x1a
mov byte [eax + 0x157], 8
mov edx, dword [0x974b2c]
add edx, 0x64
mov dword [eax + 0x158], edx
mov esi, dword [0x974b2c]
add esi, 0x2710
mov dword [eax + 0x214], esi
lea edi, [eax + 0x14]
fld dword [0x6dc3bc]
fmul dword [edi + 8]
fstp st(1)
fld dword [0x6dc3bc]
fmul dword [edi + 4]
fstp st(2)
fld dword [0x6dc3bc]
fmul dword [edi]
fstp dword [eax + 0x70]
fld st(1)
fstp dword [eax + 0x74]
fst dword [eax + 0x78]
fcompp
call fcn.00419bb0
mov eax, dword [0x974b2c]
pop ecx
mov dword [ebx + 4], eax
jmp 0x633e6e
fstp st(0)
call fcn.004bc120
mov eax, dword [eax + 0x5f4]
mov ecx, dword [eax + 0x20]
cmp ecx, 2
jl 0x633e6e
call fcn.004bc1e0
test eax, eax
je 0x633e6e
call fcn.004bc210
fld dword [eax + 4]
lea eax, [esp + 0xa0]
push eax
fstp dword [esp + 0x18]
call fcn.004bc240
fld dword [esp + 0xa8]
fsub dword [ebx + 0x1c]
pop ecx
fmul dword [esp + 0x14]
fstp dword [esp + 0x3c]
call fcn.004bc210
fld dword [eax]
lea eax, [esp + 0x94]
push eax
fstp dword [esp + 0x14]
call fcn.004bc240
fldz
fld dword [esp + 0x98]
fsub dword [ebx + 0x18]
pop ecx
fmul dword [esp + 0x10]
fst st(1)
fadd dword [esp + 0x3c]
fcomp dword [0x6dc3b8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x633ea8
mov ecx, ebx
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
fstp st(0)
call fcn.006331e0
test eax, eax
fldz
fldz
je 0x633eb0
mov cl, byte [eax + 0x50]
push eax
and cl, 7
or cl, 0x18
mov byte [eax + 0x50], cl
mov byte [eax + 0x160], 0x10
mov byte [eax + 0x155], 2
mov byte [eax + 0x156], 3
mov byte [eax + 0x157], 8
mov edx, dword [0x974b2c]
add edx, 0x64
mov dword [eax + 0x158], edx
mov ecx, dword [0x974b2c]
add ecx, 0x2710
mov dword [eax + 0x214], ecx
lea esi, [eax + 0x14]
fld dword [0x6dc3bc]
fmul dword [esi + 8]
fstp st(1)
fld dword [0x6dc3bc]
fmul dword [esi + 4]
fstp st(2)
fld dword [0x6dc3bc]
fmul dword [esi]
fstp dword [eax + 0x70]
fld st(1)
fstp dword [eax + 0x74]
fst dword [eax + 0x78]
fcompp
call fcn.00419bb0
mov eax, dword [0x974b2c]
pop ecx
mov dword [ebx + 4], eax
jmp 0x633e6e
fstp st(0)
call fcn.004bc120
mov eax, dword [eax + 0x5f4]
mov edx, dword [eax + 0x20]
cmp edx, 1
jl 0x633e6e
call fcn.004bc1e0
test eax, eax
jne 0x633e6e
mov ecx, ebx
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
call fcn.006330e0
mov edi, eax
test edi, edi
je 0x633e6e
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
call fcn.004d5540
fstp dword [esp + 0xc]
mov al, byte [edi + 0x14f]
pop ecx
and al, 0x7f
pop ecx
mov byte [edi + 0x14f], al
mov eax, dword [esp + 4]
fld dword [ebx + 0x28]
fstp dword [esp + 0xac]
fld dword [ebx + 0x2c]
mov ecx, edi
push eax
fstp dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push 0x18
mov dword [esp + 0xc4], eax
call fcn.00521840
mov eax, dword [0x974b2c]
add eax, 0x2710
mov dword [edi + 0x35c], eax
mov eax, dword [0x974b2c]
mov dword [ebx + 4], eax
jmp 0x633e6e
fstp st(0)
call fcn.004bc120
mov eax, dword [eax + 0x5f4]
mov ecx, dword [eax + 0x20]
cmp ecx, 1
jl 0x633e6e
call fcn.004bc1e0
test eax, eax
jne 0x633e6e
mov ecx, ebx
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
call fcn.006330e0
mov esi, eax
test esi, esi
je 0x633e6e
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
call fcn.004d5540
fstp dword [esp + 0x5c]
mov al, byte [esi + 0x14f]
pop ecx
and al, 0x7f
pop ecx
mov byte [esi + 0x14f], al
mov eax, dword [esp + 0x54]
fld dword [ebx + 0x28]
fstp dword [esp + 0xb8]
fld dword [ebx + 0x2c]
mov ecx, esi
push eax
fstp dword [esp + 0xc0]
push dword [esp + 0xc0]
push dword [esp + 0xc0]
push 0x18
mov dword [esp + 0xd0], eax
call fcn.00521840
mov eax, dword [0x974b2c]
mov ecx, ebx
add eax, 0x2710
mov dword [esi + 0x35c], eax
push dword [ebx + 0x24]
push dword [ebx + 0x20]
call fcn.006330e0
mov edi, eax
test edi, edi
je 0x6339b0
push dword [ebx + 0x34]
push dword [ebx + 0x30]
call fcn.004d5540
fstp dword [esp + 0x58]
mov al, byte [edi + 0x14f]
pop ecx
and al, 0x7f
pop ecx
mov byte [edi + 0x14f], al
mov eax, dword [esp + 0x50]
fld dword [ebx + 0x30]
fstp dword [esp + 0xc4]
fld dword [ebx + 0x34]
mov ecx, edi
push eax
fstp dword [esp + 0xcc]
push dword [esp + 0xcc]
push dword [esp + 0xcc]
push 0x18
mov dword [esp + 0xdc], eax
call fcn.00521840
mov eax, dword [0x974b2c]
add eax, 0x2710
mov dword [edi + 0x35c], eax
jmp 0x633e66
push esi
call fcn.004db310
test esi, esi
pop ecx
je 0x633e6e
mov ecx, esi
mov ebx, dword [ecx]
push 1
call dword [ebx + 8]
jmp 0x633e6e
fstp st(0)
call fcn.004bc120
mov eax, dword [eax + 0x5f4]
mov ecx, dword [eax + 0x20]
cmp ecx, 2
jl 0x633e6e
call fcn.004bc1e0
test eax, eax
je 0x633e6e
call fcn.004bc210
fld dword [eax + 4]
lea eax, [esp + 0xdc]
push eax
fstp dword [esp + 0x20]
call fcn.004bc240
fld dword [esp + 0xe4]
fsub dword [ebx + 0x1c]
pop ecx
fmul dword [esp + 0x1c]
fstp dword [esp + 0x40]
call fcn.004bc210
fld dword [eax]
lea eax, [esp + 0xd0]
push eax
fstp dword [esp + 0x1c]
call fcn.004bc240
fldz
fld dword [esp + 0xd4]
fsub dword [ebx + 0x18]
pop ecx
fmul dword [esp + 0x18]
fst st(1)
fadd dword [esp + 0x40]
fcomp dword [0x6dc3b8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x633e78
mov ecx, ebx
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
fstp st(0)
call fcn.006331e0
test eax, eax
fldz
fldz
je 0x633e80
mov dl, byte [eax + 0x50]
push eax
and dl, 7
or dl, 0x18
mov byte [eax + 0x50], dl
mov byte [eax + 0x160], 0x10
mov byte [eax + 0x155], 3
mov byte [eax + 0x156], 0x1a
mov byte [eax + 0x157], 8
mov edi, dword [0x974b2c]
add edi, 0x64
mov dword [eax + 0x158], edi
mov ecx, dword [0x974b2c]
add ecx, 0x2710
mov dword [eax + 0x214], ecx
lea esi, [eax + 0x14]
fld dword [0x6dc3bc]
fmul dword [esi + 8]
fstp st(1)
fld dword [0x6dc3bc]
fmul dword [esi + 4]
fstp st(2)
fld dword [0x6dc3bc]
fmul dword [esi]
fstp dword [eax + 0x70]
fld st(1)
fstp dword [eax + 0x74]
fst dword [eax + 0x78]
fcompp
call fcn.00419bb0
mov eax, dword [0x974b2c]
pop ecx
mov dword [ebx + 4], eax
call fcn.004bc210
fld dword [eax + 4]
lea eax, [esp + 0xf4]
push eax
fstp dword [esp + 0x28]
call fcn.004bc240
fld dword [esp + 0xfc]
fsub dword [ebx + 0x24]
pop ecx
fmul dword [esp + 0x24]
fstp dword [esp + 0x44]
call fcn.004bc210
fld dword [eax]
lea eax, [esp + 0xe8]
push eax
fstp dword [esp + 0x24]
call fcn.004bc240
fldz
fld dword [esp + 0xec]
fsub dword [ebx + 0x20]
pop ecx
fmul dword [esp + 0x20]
fst st(1)
fadd dword [esp + 0x44]
fcomp dword [0x6dc3b8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x633eb4
mov ecx, ebx
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
fstp st(0)
call fcn.006331e0
test eax, eax
fldz
fldz
je 0x633eb8
mov dl, byte [eax + 0x50]
push eax
and dl, 7
or dl, 0x18
mov byte [eax + 0x50], dl
mov byte [eax + 0x160], 0x10
mov byte [eax + 0x155], 3
mov byte [eax + 0x156], 0x1a
mov byte [eax + 0x157], 8
mov edi, dword [0x974b2c]
add edi, 0x64
mov dword [eax + 0x158], edi
mov ecx, dword [0x974b2c]
add ecx, 0x2710
mov dword [eax + 0x214], ecx
lea esi, [eax + 0x14]
fld dword [0x6dc3bc]
fmul dword [esi + 8]
fstp st(1)
fld dword [0x6dc3bc]
fmul dword [esi + 4]
fstp st(2)
fld dword [0x6dc3bc]
fmul dword [esi]
fstp dword [eax + 0x70]
fld st(1)
fstp dword [eax + 0x74]
fst dword [eax + 0x78]
fcompp
call fcn.00419bb0
pop ecx
jmp 0x633e66
fstp st(0)
call fcn.004bc120
mov eax, dword [eax + 0x5f4]
mov edx, dword [eax + 0x20]
cmp edx, 2
jl 0x633e6e
call fcn.004bc1e0
test eax, eax
je 0x633e6e
call fcn.004bc210
fld dword [eax + 4]
lea eax, [esp + 0x10c]
push eax
fstp dword [esp + 0x30]
call fcn.004bc240
fld dword [esp + 0x114]
fsub dword [ebx + 0x1c]
pop ecx
fmul dword [esp + 0x2c]
fstp dword [esp + 0x48]
call fcn.004bc210
fld dword [eax]
lea eax, [esp + 0x100]
push eax
fstp dword [esp + 0x2c]
call fcn.004bc240
fldz
fld dword [esp + 0x104]
fsub dword [ebx + 0x18]
pop ecx
fmul dword [esp + 0x28]
fst st(1)
fadd dword [esp + 0x48]
fcomp dword [0x6dc3b8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x633e87
mov ecx, ebx
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
fstp st(0)
call fcn.006331e0
test eax, eax
fldz
fldz
je 0x633e90
mov dl, byte [eax + 0x50]
push eax
and dl, 7
or dl, 0x18
mov byte [eax + 0x50], dl
mov byte [eax + 0x160], 0x10
mov byte [eax + 0x155], 2
mov byte [eax + 0x156], 3
mov byte [eax + 0x157], 8
mov esi, dword [0x974b2c]
add esi, 0x64
mov dword [eax + 0x158], esi
mov edi, dword [0x974b2c]
add edi, 0x2710
mov dword [eax + 0x214], edi
lea ecx, [eax + 0x14]
fld dword [0x6dc3bc]
fmul dword [ecx + 8]
fstp st(1)
fld dword [0x6dc3bc]
fmul dword [ecx + 4]
fstp st(2)
fld dword [0x6dc3bc]
fmul dword [ecx]
fstp dword [eax + 0x70]
fld st(1)
fstp dword [eax + 0x74]
fst dword [eax + 0x78]
fcompp
call fcn.00419bb0
mov eax, dword [0x974b2c]
pop ecx
mov dword [ebx + 4], eax
call fcn.004bc210
fld dword [eax + 4]
lea eax, [esp + 0x124]
push eax
fstp dword [esp + 0x38]
call fcn.004bc240
fld dword [esp + 0x12c]
fsub dword [ebx + 0x24]
pop ecx
fmul dword [esp + 0x34]
fstp dword [esp + 0x4c]
call fcn.004bc210
fld dword [eax]
lea eax, [esp + 0x118]
push eax
fstp dword [esp + 0x34]
call fcn.004bc240
fldz
fld dword [esp + 0x11c]
fsub dword [ebx + 0x20]
pop ecx
fmul dword [esp + 0x30]
fst st(1)
fadd dword [esp + 0x4c]
fcomp dword [0x6dc3b8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x633ec0
mov ecx, ebx
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
fstp st(0)
call fcn.006331e0
test eax, eax
fldz
fldz
je 0x633ec4
mov cl, byte [eax + 0x50]
push eax
and cl, 7
or cl, 0x18
mov byte [eax + 0x50], cl
mov byte [eax + 0x160], 0x10
mov byte [eax + 0x155], 2
mov byte [eax + 0x156], 3
mov byte [eax + 0x157], 8
mov edx, dword [0x974b2c]
add edx, 0x64
mov dword [eax + 0x158], edx
mov ecx, dword [0x974b2c]
add ecx, 0x2710
mov dword [eax + 0x214], ecx
lea esi, [eax + 0x14]
fld dword [0x6dc3bc]
fmul dword [esi + 8]
fstp st(1)
fld dword [0x6dc3bc]
fmul dword [esi + 4]
fstp st(2)
fld dword [0x6dc3bc]
fmul dword [esi]
fstp dword [eax + 0x70]
fld st(1)
fstp dword [eax + 0x74]
fst dword [eax + 0x78]
fcompp
call fcn.00419bb0
pop ecx
mov eax, dword [0x974b2c]
mov dword [ebx + 4], eax
add esp, 0x130
pop edi
pop esi
pop ebx
ret
fstp st(0)
jmp 0x633b09
fcompp
jmp 0x633b09
fstp st(0)
jmp 0x633d58
fcompp
jmp 0x633d58
fstp st(0)
jmp 0x633e6e
fstp st(0)
jmp 0x633e6e
fcompp
jmp 0x633e6e
fstp st(0)
jmp 0x633e6e
fcompp
jmp 0x633e6e
fstp st(0)
jmp 0x633e6e
fcompp
jmp 0x633e6e
fstp st(0)
jmp 0x633e6e
fcompp
jmp 0x633e6e