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

Disassembly:
sub esp, 0xc0
fld qword [0x1038bf10]
push ebx
push ebp
push esi
mov esi, dword [esp + 0xd0]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [esp + 0x28], ecx
lea ecx, [esi + 0x38]
mov dword [esp + 0x6c], eax
xor eax, eax
push edi
mov edi, dword [esi + 8]
mov edx, dword [edi + 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], eax
fstp qword [esi + 0x50]
mov dword [esp + 0x88], 0xffffffff
mov al, byte [edi + 0x20]
mov dword [esp + 0x6c], ecx
not al
movzx ecx, al
mov eax, dword [edi + 0x44]
and ecx, 8
shl ecx, 4
xor ebx, ebx
or ecx, 3
mov dword [esp + 0x78], edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x8c], ecx
cmp eax, ebx
je 0x10079e42
mov edx, eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x74], 0xffffcfff
mov dword [esp + 0x64], ecx
jmp 0x10079ed7
push 0x30
lea ecx, [esp + 0xa4]
push ebx
push ecx
call fcn.1012a6a0
lea eax, [esp + 0x94]
mov edx, 1
mov dword [esp + 0xb0], eax
mov eax, dword [edi + 0x10]
mov word [esp + 0xd4], dx
mov edx, dword [eax + 0x1c]
add esp, 0xc
lea ecx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], 1
test byte [edi + 0x24], 1
mov dword [esp + 0xa8], ecx
mov byte [esp + 0xca], 5
mov dword [esp + 0xac], eax
jne 0x10079eb8
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0xb4], ecx
lea edx, [esp + 0xa0]
mov dword [esp + 0x58], edx
mov dword [esp + 0x74], 0xfff0ffff
mov dword [esp + 0x64], 3
mov dword [esp + 0x18], ebx
mov eax, dword [esi + 0x20]
cmp eax, ebx
je 0x10079ee2
mov ecx, dword [eax]
jmp 0x10079ee4
xor ecx, ecx
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x60], ecx
cmp eax, ebx
je 0x10079f0b
mov esi, dword [esi + 0x34]
imul eax, eax, 0x58
movzx eax, word [eax + esi - 0x52]
cmp eax, ecx
mov dword [esp + 0x68], eax
setl byte [esp + 0x13]
mov byte [esp + 0x12], bl
jmp 0x10079f1e
cmp ecx, ebx
setg byte [esp + 0x13]
cmp dword [esi + 0x24], ebx
mov dword [esp + 0x68], ebx
setne byte [esp + 0x12]
cmp edx, ebx
je 0x1007a748
fld1
fld qword [0x1038bd70]
jmp 0x10079f32
fxch st(1)
mov ebx, dword [esp + 0x58]
fxch st(1)
mov cl, byte [esp + 0x13]
fst qword [esp + 0x80]
mov edx, dword [ebx + 8]
mov ebp, dword [esp + 0xd4]
xor eax, eax
mov dword [esp + 0x34], eax
mov byte [esp + 0x1d], cl
mov dword [esp + 0x24], edx
mov dl, byte [esp + 0x12]
mov dword [esp + 0x14], eax
mov dword [esp + 0x5c], eax
mov byte [esp + 0x1e], al
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov ax, word [esp + 0x68]
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x20], 1
mov byte [esp + 0x1f], dl
mov word [esp + 0x36], ax
mov word [esp + 0x34], di
cmp cx, word [ebx + 0x28]
jae 0x1007a07e
fstp st(1)
fstp st(0)
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
movzx edx, di
mov eax, dword [eax + edx*4]
mov edx, dword [esp + 0x68]
push edx
mov edx, dword [ebp + 0x10]
push ecx
mov ecx, dword [esp + 0x38]
push edx
push eax
mov eax, dword [esp + 0x3c]
push eax
push ecx
call fcn.100773c0
add esp, 0x1c
test eax, eax
je 0x1007a076
movzx ecx, word [eax + 0x10]
or dword [esp + 0x30], 0x11000
test cl, 1
je 0x1007a04b
mov ecx, dword [eax]
mov dx, word [ecx + 2]
or dword [esp + 0x30], 0x40000
mov esi, 0x800
and dx, si
cmp dx, si
jne 0x1007a033
mov ecx, dword [esp + 0x20]
imul ecx, ecx, 0x19
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], 1
jmp 0x1007a057
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x1007a057
mov ecx, dword [ecx]
test ecx, ecx
je 0x1007a057
imul ecx, dword [esp + 0x20]
mov dword [esp + 0x20], ecx
jmp 0x1007a057
test cl, cl
jns 0x1007a057
or dword [esp + 0x30], 0x80000
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
or dword [esp + 0x50], edx
or dword [esp + 0x54], eax
inc di
mov word [esp + 0x34], di
cmp di, word [ebx + 0x28]
jb 0x10079fbc
fld qword [0x1038bd70]
fld1
movzx eax, word [ebx + 0x28]
cmp di, ax
jne 0x1007a0cb
cmp byte [ebx + 0x2a], 0
je 0x1007a0cb
test dword [esp + 0x30], 0xc0000
jne 0x1007a1e0
mov eax, dword [ebp + 0x2c]
or dword [esp + 0x30], 0x2000000
test eax, eax
je 0x1007a0be
mov ecx, dword [ebp + 0x34]
imul eax, eax, 0x58
test dword [eax + ecx - 0x58], 0x4000000
je 0x1007a1e0
or dword [esp + 0x30], 0x4000000
jmp 0x1007a1e0
test byte [ebx + 0x2c], 4
jne 0x1007a1e0
fstp st(1)
fstp st(0)
cmp di, ax
jne 0x1007a0e3
or esi, 0xffffffff
jmp 0x1007a0ec
mov eax, dword [ebx + 4]
movzx edx, di
mov esi, dword [eax + edx*4]
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push ecx
mov ecx, dword [esp + 0x2c]
push 0x3c
push edx
mov edx, dword [esp + 0x38]
push eax
push esi
push ecx
push edx
call fcn.100773c0
add esp, 0x1c
test eax, eax
je 0x1007a301
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push eax
mov eax, dword [esp + 0x2c]
push 0x18
push ecx
mov ecx, dword [esp + 0x38]
push edx
push esi
push eax
push ecx
call fcn.100773c0
mov edx, dword [esp + 0x34]
mov ecx, dword [ebp + 0x10]
add esp, 0x1c
push edx
mov edx, dword [esp + 0x2c]
push 0x24
mov edi, eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x38]
push ecx
push esi
push edx
push eax
call fcn.100773c0
fld1
add esp, 0x1c
fld st(0)
fst qword [esp + 0x80]
test eax, eax
je 0x1007a17a
fstp st(0)
fld qword [0x1038bd68]
fst qword [esp + 0x80]
test edi, edi
je 0x1007a1ab
fmul qword [0x1038bd68]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x1c]
or dword [esp + 0x30], 0x100000
or dword [esp + 0x50], ecx
fstp qword [esp + 0x80]
or dword [esp + 0x54], edx
mov dword [esp + 0x5c], 1
jmp 0x1007a1ad
fstp st(0)
test eax, eax
je 0x1007a1cb
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
inc dword [esp + 0x5c]
or dword [esp + 0x30], 0x200000
or dword [esp + 0x50], ecx
or dword [esp + 0x54], edx
fld qword [0x1038bd70]
or dword [esp + 0x30], 0x22000
mov di, word [esp + 0x34]
fxch st(1)
cmp byte [esp + 0x13], 0
je 0x1007a25e
mov eax, dword [esp + 0x78]
test byte [eax + 0x20], 8
jne 0x1007a25e
mov edx, dword [esp + 0x28]
fstp st(1)
lea ecx, [esp + 0x7c]
fstp st(0)
push ecx
push edx
push ebx
push ebp
mov dword [esp + 0x8c], 2
call fcn.10079a20
mov word [esp + 0x46], ax
movzx eax, ax
add esp, 0x10
cmp dword [esp + 0x68], eax
jl 0x1007a22c
test dword [esp + 0x30], 0x4000000
je 0x1007a234
or dword [esp + 0x30], 0x800000
cmp dword [esp + 0x60], eax
jne 0x1007a247
or dword [esp + 0x30], 0x22000
mov byte [esp + 0x1d], 0
test byte [esp + 0x7c], 1
fld qword [0x1038bd70]
fld1
je 0x1007a25e
or dword [esp + 0x30], 0x1000000
cmp byte [esp + 0x12], 0
je 0x1007a2ac
mov ecx, dword [ebp + 0x24]
fstp st(1)
mov edx, dword [esp + 0x28]
fstp st(0)
movzx eax, di
push eax
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x78]
push edx
push ebx
push eax
push ecx
call fcn.10078700
add esp, 0x18
test eax, eax
je 0x1007a2a4
test dword [esp + 0x30], 0x40000
jne 0x1007a2a4
or dword [esp + 0x30], 0x40022000
mov byte [esp + 0x1f], 0
fld qword [0x1038bd70]
fld1
cmp dword [esp + 0x18], 0
je 0x1007a313
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x18]
mov edi, dword [eax + 0x38]
mov ebp, dword [eax + 0x3c]
movzx eax, word [edx + 0x28]
test eax, eax
jle 0x1007a2f3
mov ecx, edx
mov esi, dword [ecx + 4]
mov ebx, eax
mov ecx, dword [esi]
cmp ecx, 0x3f
jge 0x1007a2eb
mov eax, 1
xor edx, edx
call fcn.1012a990
not eax
not edx
and edi, eax
and ebp, edx
add esi, 4
sub ebx, 1
jne 0x1007a2d0
or edi, ebp
jne 0x1007a30e
or dword [esp + 0x30], 0x400000
jmp 0x1007a313
fld qword [0x1038bd70]
fld1
jmp 0x1007a1e0
mov byte [esp + 0x1e], 1
movzx esi, word [esp + 0x34]
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + esi*4]
mov eax, ecx
imul eax, dword [esp + 0x20]
mov dword [esp + 0x7c], eax
fild dword [esp + 0x7c]
test eax, eax
jge 0x1007a338
fadd qword [0x1038bde8]
cmp dword [esp + 0x14], 0
je 0x1007a399
mov edx, dword [esp + 0x24]
fld st(0)
mov edx, dword [edx]
fadd st(1)
mov eax, edx
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
test eax, eax
jge 0x1007a35d
fadd qword [0x1038bde8]
fcompp
fnstsw ax
test ah, 5
jp 0x1007a399
shr edx, 1
fstp st(0)
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
test edx, edx
jge 0x1007a37c
fadd qword [0x1038bde8]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
test ecx, ecx
jge 0x1007a38e
fadd qword [0x1038bde8]
fdivr st(1)
call fcn.1012aa70
mov dword [esp + 0x20], eax
fdiv qword [esp + 0x80]
fst qword [esp + 0x38]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1007a3b5
fstp st(0)
fld st(0)
fst qword [esp + 0x38]
mov ecx, dword [esp + 0x30]
mov edx, ecx
and edx, 0xfe7fffff
cmp edx, 0x400000
jne 0x1007a41c
mov eax, dword [esp + 0x2c]
test byte [eax + 0xe], 4
jne 0x1007a41c
cmp dword [0x103b3810], 0
je 0x1007a41c
mov edx, dword [esp + 0x70]
mov eax, dword [edx]
test byte [eax + 0x34], 0x40
jne 0x1007a41c
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
mov edx, dword [esp + 0x58]
movzx edx, word [edx + 0x28]
lea eax, [eax + eax*2]
add eax, edx
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
test eax, eax
jge 0x1007a40d
fadd qword [0x1038bde8]
or ecx, 0x80020000
mov dword [esp + 0x30], ecx
jmp 0x1007a4c7
test ecx, 0x100f3000
jne 0x1007a46b
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
add edx, edx
add edx, edx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
test edx, edx
jge 0x1007a440
fadd qword [0x1038bde8]
and ecx, 0xffbfffff
fst qword [esp + 0x48]
cmp dword [esp + 0x18], 0
mov dword [esp + 0x30], ecx
je 0x1007a4cb
mov ax, word [esp + 0x68]
and ecx, 0xff7fffff
mov dword [esp + 0x30], ecx
mov word [esp + 0x36], ax
jmp 0x1007a4cb
mov ecx, dword [esp + 0x24]
fld st(1)
mov edx, dword [ecx]
fld st(3)
fild dword [ecx]
test edx, edx
jge 0x1007a481
fadd qword [0x1038bde8]
fcom st(5)
fnstsw ax
test ah, 0x41
je 0x1007a494
fstp st(1)
fstp st(0)
jmp 0x1007a4a9
fxch st(1)
fxch st(2)
fxch st(2)
fadd st(4)
fxch st(1)
fmul st(5)
fcom st(2)
fnstsw ax
test ah, 5
jnp 0x1007a490
fstp st(0)
fstp st(1)
cmp dword [esp + 0x18], 0
je 0x1007a4c1
cmp byte [esp + 0x1e], 0
je 0x1007a4c1
fild dword [esp + 0x20]
fadd st(2)
fmulp st(1)
jmp 0x1007a4c5
fimul dword [esp + 0x20]
fadd st(1)
fst qword [esp + 0x48]
cmp byte [esp + 0x1d], 0
je 0x1007a537
mov cx, word [esp + 0x36]
fld st(2)
mov edx, dword [esp + 0x60]
fld st(4)
movzx eax, cx
sub edx, eax
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul st(4)
fidiv dword [esp + 0x60]
fcom st(6)
fnstsw ax
test ah, 0x41
je 0x1007a505
fstp st(1)
fstp st(0)
jmp 0x1007a51a
fxch st(1)
fxch st(2)
fxch st(2)
fadd st(5)
fxch st(1)
fmul st(6)
fcom st(2)
fnstsw ax
test ah, 5
jnp 0x1007a501
fstp st(0)
fstp st(1)
xor eax, eax
test cx, cx
sete al
add eax, 2
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmulp st(1)
fmul st(2)
faddp st(1)
fst qword [esp + 0x48]
cmp byte [esp + 0x1f], 0
je 0x1007a580
fld st(2)
fld st(4)
fxch st(3)
fcom st(5)
fnstsw ax
test ah, 0x41
je 0x1007a555
fstp st(3)
jmp 0x1007a56a
fxch st(3)
fxch st(1)
fxch st(1)
fadd st(4)
fxch st(3)
fmul st(5)
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x1007a551
fstp st(0)
fxch st(2)
fmul st(2)
fld qword [0x1038be80]
fmul st(1), st(0)
fxch st(1)
faddp st(2)
fxch st(1)
fst qword [esp + 0x48]
jmp 0x1007a588
fld qword [0x1038be80]
fxch st(1)
fld qword [0x1038be30]
fcom st(3)
fnstsw ax
test ah, 5
jp 0x1007a6a1
mov ecx, dword [esp + 0xd4]
fld qword [ecx + 0x50]
fcomp st(2)
fnstsw ax
test ah, 1
jne 0x1007a6a1
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x14], edx
mov edx, dword [esi + 4]
mov eax, dword [edx]
xor ebp, ebp
xor ecx, ecx
cmp eax, ebp
jle 0x1007a5e2
mov edi, dword [esp + 0x28]
add edx, 4
cmp dword [edx], edi
je 0x1007a638
inc ecx
add edx, 4
cmp ecx, eax
jl 0x1007a5d6
mov dword [esp + 0x94], ebp
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x10]
mov edi, dword [esp + 0xd4]
mov edx, dword [esp + 0x14]
lea esi, [eax + 0x10]
test ebx, ebx
je 0x1007a688
test byte [esi + 2], 2
jne 0x1007a677
mov eax, dword [edi + 0x18]
and eax, dword [esi + 0x10]
mov ecx, dword [edi + 0x1c]
and ecx, dword [esi + 0x14]
cmp eax, ebp
jne 0x1007a677
cmp ecx, dword [esp + 0x94]
jne 0x1007a677
movzx eax, word [esi]
test al, 0x83
je 0x1007a655
cmp dword [esp + 0x24], 0
je 0x1007a64f
dec dword [esp + 0x24]
jmp 0x1007a677
mov eax, 1
xor edx, edx
call fcn.1012a990
mov ebp, eax
mov dword [esp + 0x94], edx
jmp 0x1007a5e9
fxch st(3)
fdiv st(5)
jmp 0x1007a675
test al, 0x3c
je 0x1007a666
test edx, edx
je 0x1007a660
dec edx
jmp 0x1007a677
fxch st(3)
fdiv st(2)
jmp 0x1007a675
test eax, 0x800
jne 0x1007a677
fxch st(3)
fmul qword [0x1038be78]
fxch st(3)
fcom st(3)
dec ebx
add esi, 0x28
fnstsw ax
test ah, 5
jnp 0x1007a5fd
fstp st(2)
fxch st(2)
fst qword [esp + 0x38]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1007a6a7
fstp st(0)
fst qword [esp + 0x38]
jmp 0x1007a6a9
fstp st(0)
fstp st(1)
jmp 0x1007a6ab
fstp st(1)
fxch st(1)
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x1007a6ba
cmp dword [esp + 0x30], 0
je 0x1007a70c
mov edx, dword [esp + 0x6c]
fcom qword [edx + 0x18]
fnstsw ax
test ah, 5
jnp 0x1007a6e9
fcomp qword [edx + 0x18]
fnstsw ax
test ah, 0x41
je 0x1007a70e
mov ax, word [esp + 0x36]
cmp ax, word [edx + 6]
ja 0x1007a6eb
fcomp qword [edx + 8]
fnstsw ax
test ah, 5
jp 0x1007a710
jmp 0x1007a6ed
fstp st(1)
fstp st(0)
mov edi, edx
mov ecx, 0xa
lea esi, [esp + 0x30]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x74]
and dword [edx], ecx
mov edx, dword [esp + 0xd4]
mov dword [edx + 0x48], ebx
jmp 0x1007a710
fstp st(1)
fstp st(0)
mov eax, dword [esp + 0x78]
cmp dword [eax + 0x44], 0
jne 0x1007a744
mov edx, dword [esp + 0x58]
mov eax, dword [edx + 0x14]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x74], 0xffffcfff
mov dword [esp + 0x64], ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x18], eax
test eax, eax
jne 0x10079f30
fstp st(1)
fstp st(0)
mov edi, dword [esp + 0xd4]
cmp dword [edi + 0x20], 0
jne 0x1007a770
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
test dword [ecx + 0x18], 0x10000
je 0x1007a770
mov esi, dword [esp + 0x6c]
or dword [esi], 0x1000000
jmp 0x1007a774
mov esi, dword [esp + 0x6c]
push edi
call fcn.100789f0
add esp, 4
call fcn.10078cf0
mov edx, dword [esp + 0x64]
or dword [esi], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc0
ret