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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x26c
mov eax, dword [0x101d32d0]
xor eax, esp
mov dword [esp + 0x268], eax
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x54], edx
add edx, 0x68
push ebx
push esi
mov esi, ecx
fld dword [edx]
fstp dword [esp + 8]
fld dword [edx + 0x14]
fstp dword [esp + 0x24]
fld dword [edx + 0x10]
fstp dword [esp + 0xc]
fld dword [edx + 4]
fstp dword [esp + 0x2c]
fld dword [esp + 8]
fmul dword [esp + 0x24]
fld dword [esp + 0x2c]
fmul dword [esp + 0xc]
push edi
mov dword [esp + 0x64], esi
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1005bac7
mov al, 1
jmp 0x1005bac9
xor al, al
test al, al
jne 0x1005bad8
push 0x80070057
call dword [sym.imp.PhotoBase.dll_void___stdcall_Base::Throw_long_int_]
push edx
lea eax, [esp + 0xf4]
lea ecx, [esi + 0xc]
push eax
call fcn.10072100
lea ecx, [esp + 0xb0]
call fcn.10049c00
lea ecx, [esp + 0x70]
call fcn.10049c00
mov ebx, dword [esi + 0x50]
xor ebx, 0xff
and ebx, dword [esi + 0x4c]
cmp ebx, 0xff
jne 0x1005bb20
lea esi, [esp + 0xf0]
mov edi, ecx
jmp 0x1005c007
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x110]
call fcn.10071e70
fld1
fst dword [esp + 0x1c]
fstp dword [esp + 0x14]
test bl, 8
je 0x1005bb78
fld dword [esp + 0x20]
fstp dword [esp + 0x1c]
fld dword [esp + 0x24]
fstp dword [esp + 0x14]
jmp 0x1005bc8b
test bl, 2
je 0x1005bb9c
fld dword [esp + 0x20]
fld dword [esp + 0x24]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1005bb95
fstp st(0)
jmp 0x1005bc7f
fstp st(1)
jmp 0x1005bc7f
test bl, 0x10
je 0x1005bc8b
fld dword [esp + 0x20]
fld dword [esp + 0x24]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1005bbba
fstp st(0)
jmp 0x1005bbbc
fstp st(1)
fstp dword [esp + 0x10]
wait
fnstcw word [esp + 0x1c]
mov si, word [esp + 0x1c]
mov word [esp + 0xc], si
mov eax, dword [esp + 0xc]
and eax, 0xf7ff
or eax, 0x400
mov word [esp + 0x14], ax
fldcw word [esp + 0x14]
fld dword [esp + 0x10]
call sub.api_ms_win_crt_private_l1_1_0.dll__o__CIlog
fstp dword [esp + 0xc]
fld qword [0x10035f50]
call sub.api_ms_win_crt_private_l1_1_0.dll__o__CIlog
fstp dword [esp + 0x28]
fld dword [esp + 0xc]
fdiv dword [esp + 0x28]
mov dword [esp + 0x10], SysReAllocStringLen
fsubr qword [0x10035b00]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
sub esp, 8
neg eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 4]
fld dword [0x10035f48]
fstp dword [esp]
call fcn.10072400
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
add esp, 8
fcom qword [0x10035ec8]
fnstsw ax
test ah, 0x41
jne 0x1005bc6b
fstp st(0)
fld1
fstp dword [esp + 0x10]
mov word [esp + 0x14], si
wait
fnclex
fldcw word [esp + 0x14]
fld dword [esp + 0x10]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld dword [esp + 0x70]
fmul st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x20]
fstp dword [esp + 0x70]
fld dword [esp + 0x14]
fld dword [esp + 0x74]
fmul st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x38]
fst dword [esp + 0x50]
fstp dword [esp + 0x74]
fld dword [esp + 0x80]
fmul st(2)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x10]
fstp dword [esp + 0x80]
fld dword [esp + 0x84]
fmul st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x40]
fst dword [esp + 0x30]
fstp dword [esp + 0x84]
fld dword [esp + 0xa0]
fmulp st(2)
fxch st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x24]
fstp dword [esp + 0xa0]
fmul dword [esp + 0xa4]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x48]
fst dword [esp + 0x28]
fstp dword [esp + 0xa4]
fld dword [esp + 0x20]
fst dword [esp + 0x20]
fld dword [esp + 0x10]
fstp dword [esp + 0x14]
fld dword [esp + 0x24]
fstp dword [esp + 0x1c]
fld dword [esp + 0x50]
fld st(0)
fst qword [esp + 0x68]
fld dword [esp + 0x30]
fld dword [esp + 0x28]
test bl, 0x40
je 0x1005bddc
fld dword [esp + 0x18]
fmul st(3), st(0)
fxch st(5)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x70]
fld st(1)
fmul st(5)
fld dword [esp + 0x10]
fstp dword [esp + 0x18]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x80]
fld st(3)
fmulp st(6)
fld dword [esp + 0x24]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
faddp st(6)
fxch st(5)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0xa0]
fstp dword [esp + 0x1c]
fstp dword [esp + 0x20]
fxch st(3)
fstp dword [esp + 0x14]
jmp 0x1005bde6
fstp st(4)
fxch st(1)
fstp qword [esp + 0x68]
fxch st(2)
fld dword [esp + 0x20]
fst dword [esp + 0x18]
fld dword [esp + 0x14]
fst dword [esp + 0x3c]
fld dword [esp + 0x1c]
fst dword [esp + 0x44]
fstp dword [esp + 0x1c]
fxch st(1)
fstp dword [esp + 0x10]
fxch st(2)
fstp dword [esp + 0x24]
fxch st(1)
fstp dword [esp + 0x20]
fxch st(1)
fstp dword [esp + 0x14]
fstp dword [esp + 0xc]
test bl, 0x20
je 0x1005bf1d
fld dword [esp + 0x34]
fst qword [esp + 0x50]
call sub.api_ms_win_crt_private_l1_1_0.dll__o__CIcos
fstp dword [esp + 0x34]
fld qword [esp + 0x50]
call sub.api_ms_win_crt_private_l1_1_0.dll__o__CIsin
fstp dword [esp + 0x50]
fld dword [esp + 0x18]
fld dword [esp + 0x34]
fld dword [esp + 0x50]
fld st(1)
fmul st(3)
fld qword [esp + 0x68]
fmul st(2)
fsubp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0x70]
fld dword [esp + 0x38]
fmul st(2)
fld st(1)
fmulp st(4)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fst dword [esp + 0x74]
fld dword [esp + 0x3c]
fld st(0)
fmul st(3)
fld dword [esp + 0x30]
fmul st(5)
fsubp st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [esp + 0x80]
fld dword [esp + 0x40]
fmul st(4)
fxch st(2)
fmul st(5)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fst dword [esp + 0x84]
fld dword [esp + 0x44]
fld st(0)
fmul st(5)
fld dword [esp + 0x28]
fmul st(7)
fsubp st(1)
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
fst dword [esp + 0xa0]
fld dword [esp + 0x48]
fmulp st(6)
fxch st(1)
fmulp st(6)
fxch st(4)
faddp st(5)
fxch st(4)
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fst dword [esp + 0xa4]
fld dword [esp + 0x10]
fstp dword [esp + 0x10]
fxch st(2)
fstp dword [esp + 0x24]
fstp dword [esp + 0x20]
fxch st(2)
fstp dword [esp + 0x14]
fstp dword [esp + 0x1c]
fstp dword [esp + 0xc]
test bl, bl
jns 0x1005bfb6
fld dword [esp + 0x4c]
fld dword [esp + 0x2c]
fld dword [esp + 0x10]
fmul st(2)
fld dword [esp + 0x24]
fmul st(2)
faddp st(1)
fadd dword [esp + 0x7c]
fstp dword [esp + 0x7c]
fld dword [esp + 0x20]
fmul st(2)
fld dword [esp + 0x14]
fmul st(2)
faddp st(1)
fadd dword [esp + 0x8c]
fstp dword [esp + 0x8c]
fld dword [esp + 0x1c]
fmulp st(2)
fmul dword [esp + 0xc]
faddp st(1)
fadd dword [esp + 0xac]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fst dword [esp + 0x2c]
fstp dword [esp + 0xac]
fld dword [esp + 0x2c]
fldz
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x1005c112
fld1
fucompp
fnstsw ax
test ah, 0x44
jp 0x1005bfa7
mov al, 1
jmp 0x1005bfa9
xor al, al
test al, al
jne 0x1005bfb6
lea ecx, [esp + 0x70]
call fcn.10044e40
test bl, 1
je 0x1005bfd6
fld dword [esp + 0x58]
lea ecx, [esp + 0x70]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x64]
fstp dword [esp]
call fcn.10071e10
lea eax, [esp + 0x170]
push eax
lea ecx, [esp + 0x74]
call fcn.10071d20
lea ecx, [esp + 0xf0]
push ecx
lea ecx, [esp + 0x1b4]
push ecx
mov ecx, eax
call fcn.10072100
mov esi, eax
lea edi, [esp + 0xb0]
mov ebx, dword [esp + 0x60]
lea eax, [esp + 0x1f0]
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x10
lea esi, [esp + 0x70]
lea edi, [ebx + 0x68]
rep movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x28]
push edi
push eax
lea ecx, [esp + 0xb8]
call fcn.10072100
mov esi, eax
mov ecx, 0x10
mov eax, dword fs:[0x2c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x101d4ab4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101d6ffc]
cmp eax, dword [ecx + 4]
jg 0x1005c12b
mov ecx, 0x10
lea edi, [esp + 0x130]
mov esi, 0x101d7000
rep movsd dword es:[edi], dword [esi]
xor esi, esi
jmp 0x1005c080
xor edx, edx
mov ecx, esi
jmp 0x1005c090
fld dword [esp + ecx + 0xb0]
fsub dword [esp + ecx + 0x130]
fabs
fcomp qword [0x10035b00]
fnstsw ax
test ah, 0x41
je 0x1005c0c2
inc edx
add ecx, 4
cmp edx, 4
jl 0x1005c090
add esi, 0x10
cmp esi, 0x40
jl 0x1005c080
xor al, al
jmp 0x1005c0c4
mov al, 1
mov esi, dword [esp + 0x64]
mov byte [esi + 0x58], al
test al, al
je 0x1005c0fb
lea eax, [esp + 0x230]
push eax
lea ecx, [esp + 0xb4]
call fcn.10071d20
push eax
mov ecx, ebx
call fcn.10054e30
xor eax, eax
cmp dword [esi + 0x5c], 2
sete al
inc eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], eax
mov ecx, dword [esp + 0x274]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101b9e50
mov esp, ebp
pop ebp
ret 0xc
push ecx
lea ecx, [esp + 0x50]
fstp st(0)
call fcn.100720e0
push 0x101d17a8
mov eax, ecx
push eax
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
push 0x101d6ffc
call fcn.101baee0
add esp, 4
cmp dword [0x101d6ffc], 0xffffffff
jne 0x1005c061
fld1
fst dword [0x101d7000]
fldz
fst dword [0x101d7004]
fst dword [0x101d7008]
fst dword [0x101d700c]
fst dword [0x101d7010]
fst dword [0x101d7018]
fst dword [0x101d701c]
fst dword [0x101d7020]
fst dword [0x101d7024]
fst dword [0x101d702c]
fst dword [0x101d7030]
fst dword [0x101d7034]
fstp dword [0x101d7038]
push 0x101d6ffc
fst dword [0x101d7014]
fst dword [0x101d7028]
fstp dword [0x101d703c]
call fcn.101bae8e
add esp, 4
jmp 0x1005c061