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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1025eb10
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x118], eax
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x130]
mov dword fs:[0], eax
mov ebx, ecx
mov esi, dword [ebp + 8]
lea ecx, [esp + 0xac]
xor edi, edi
push ecx
mov ecx, esi
mov dword [esp + 0xb0], edi
mov eax, dword [esi]
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], edi
call dword [eax + 0x58]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x198]
and eax, 0xa000
mov dword [esp + 0xbc], edi
neg eax
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], edi
sbb eax, eax
mov dword [esp + 0xc8], edi
neg eax
mov dword [esp + 0x60], eax
lea eax, [esp + 0xbc]
push eax
push dword [ebx + 0x20]
call dword [0x102abadc]
push ebx
push esi
lea ecx, [esp + 0xf4]
call fcn.100d2420
mov dword [esp + 0x138], edi
cmp dword [esp + 0xf4], edi
lea edi, [esp + 0xfc]
jne 0x10177460
mov edi, dword [esp + 0xf0]
mov ecx, ebx
mov dword [esp + 0x14], edi
call fcn.10278c40
test eax, 0x8000
jne 0x101774a8
call fcn.1008b6fa
push 0
sub esp, 0x10
lea esi, [esp + 0xc0]
mov edi, esp
mov ecx, eax
mov edx, dword [eax]
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [esp + 0xe0]
push ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x3c]
push edi
call dword [edx + 0x3c]
jmp 0x101774b4
push edi
lea ecx, [ebx + 0xb8c]
call fcn.100a7332
mov eax, dword [ebx]
mov ecx, ebx
push edi
call dword [eax + 0x3a8]
mov esi, dword [edi]
call fcn.1008b6ce
mov ecx, edi
push dword [eax + 0x28]
call dword [esi + 0x38]
push 1
mov ecx, edi
call fcn.10273d7a
xor eax, eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
lea eax, [esp + 0x8c]
push eax
push dword [ebx + 0x20]
call dword [0x102abadc]
mov esi, dword [esp + 0x60]
mov ecx, ebx
mov eax, dword [ebx]
test esi, esi
je 0x10177528
call dword [eax + 0x358]
add eax, dword [esp + 0x90]
mov dword [esp + 0x98], eax
jmp 0x1017753c
call dword [eax + 0x35c]
add eax, dword [esp + 0x8c]
mov dword [esp + 0x94], eax
cmp dword [ebx + 0xb24], 0
je 0x1017754d
mov eax, dword [ebx + 0xbdc]
jmp 0x10177552
mov eax, dword [0x102a6b68]
fld1
test eax, eax
jne 0x10177572
fstp st(0)
call fcn.1008b6ce
cmp dword [eax + 0x1e4], 0
je 0x10177570
fld qword [eax + 0x1dc]
jmp 0x10177572
fld1
lea eax, [ebx + 0x5d4]
mov ecx, ebx
push eax
push 0x102a9ab8
lea eax, [ebx + 0x2a4]
push eax
push 0x102a9568
fstp qword [esp + 0x3c]
call fcn.1017fdf8
lea ecx, [ebx + 0x6e4]
mov dword [esp + 0x18], eax
push ecx
push 0x102a9bc8
lea ecx, [ebx + 0x3b4]
mov dword [esp + 0x60], eax
push ecx
push 0x102a9678
mov ecx, ebx
call fcn.1017fdf8
lea ecx, [ebx + 0x7f4]
mov dword [esp + 0x44], eax
push ecx
push 0x102a9cd8
lea ecx, [ebx + 0x4c4]
push ecx
push 0x102a9898
mov ecx, ebx
call fcn.1017fdf8
mov ecx, dword [ebx + 0xb24]
mov dword [esp + 0x70], eax
test ecx, ecx
jne 0x101775f7
mov dword [esp + 0x5c], 0x102a9788
jmp 0x10177601
lea eax, [ebx + 0x904]
mov dword [esp + 0x5c], eax
test ecx, ecx
jne 0x1017760f
mov dword [esp + 0x54], 0x102a99a8
jmp 0x10177619
lea eax, [ebx + 0xa14]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp dword [eax + 0x8c], ecx
setne cl
mov dword [esp + 0x34], ecx
call fcn.1008b6ce
mov ecx, dword [esp + 0x18]
push dword [eax + 0x1c]
call fcn.10097eae
call fcn.1008b6fa
cmp dword [ebx + 0xb58], 0
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x40], eax
je 0x1017766a
mov eax, dword [0x1029b32c]
mov dword [esp + 0x4c], eax
mov eax, dword [0x1029b330]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x4c]
jmp 0x10177676
lea eax, [esp + 0x38]
mov ecx, ebx
push eax
call fcn.100c8735
fld qword [esp + 0x2c]
fld1
mov ecx, dword [eax]
fucom st(1)
mov edx, dword [eax + 4]
fnstsw ax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x28], edx
test ah, 0x44
jnp 0x1017773d
cmp dword [ebx + 0xb58], 0
fstp st(1)
fstp st(0)
je 0x101776f9
cmp ecx, 0xffffffff
jne 0x101776f9
cmp edx, ecx
jne 0x101776f9
lea eax, [esp + 0x78]
mov ecx, ebx
push eax
call fcn.100c8735
fld qword [esp + 0x2c]
fld1
fcomp st(1)
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
fnstsw ax
mov dword [esp + 0x24], ecx
test ah, 5
jp 0x101776fd
cmp dword [ebx + 0xb28], 0
je 0x101776fd
mov eax, dword [0x1029b394]
mov dword [esp + 0x24], eax
mov eax, dword [0x1029b398]
mov dword [esp + 0x28], eax
jmp 0x101776fd
fld qword [esp + 0x2c]
fild dword [esp + 0x28]
fstp qword [esp + 0x64]
fld qword [esp + 0x64]
fmul st(1)
fld qword [0x10041fe8]
fadd st(1), st(0)
fxch st(1)
call fcn.10282c27
fild dword [esp + 0x24]
mov dword [esp + 0x48], eax
fstp qword [esp + 0x24]
fld qword [esp + 0x24]
fmulp st(2)
faddp st(1)
call fcn.10282c27
fld qword [esp + 0x2c]
fld1
mov dword [esp + 0x78], eax
cmp dword [esp + 0x34], 0
je 0x1017779d
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x10177772
mov ecx, dword [esp + 0x18]
fld qword [ecx + 0xb4]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10177774
fld qword [esp + 0x2c]
push ecx
push ecx
fstp qword [esp]
call fcn.10191536
jmp 0x10177774
fstp st(0)
push dword [esp + 0x40]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x84]
push dword [esp + 0x4c]
push dword [esp + 0x80]
push eax
call fcn.1018c507
test eax, eax
jne 0x101777a1
jmp 0x10177c28
fstp st(1)
fstp st(0)
test esi, esi
je 0x101777c7
cmp dword [ebx + 0x80], 0
je 0x101777b9
mov eax, dword [edi]
mov ecx, edi
push 0x11
call dword [eax + 0x2c]
jmp 0x101777d9
mov esi, dword [edi]
call fcn.1008b6ce
add eax, 0x11c
jmp 0x101777d3
mov esi, dword [edi]
call fcn.1008b6ce
add eax, 0x14c
push eax
mov ecx, edi
call dword [esi + 0x30]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x44]
cmp dword [eax + 4], 0
jle 0x101777f0
call fcn.1008b6fa
and dword [eax + 0x5c], 0
mov eax, dword [ebx + 0xbec]
and dword [esp + 0x64], 0
mov dword [esp + 0x74], eax
test eax, eax
je 0x10177af2
lea eax, [esp + 0x74]
push eax
call fcn.1008a2c3
mov eax, dword [eax]
mov dword [esp + 0x20], eax
test eax, eax
je 0x10177af2
lea esi, [eax + 0x54]
lea edi, [esp + 0x8c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd8], edi
test byte [eax + 0x24], 1
je 0x101778fe
mov esi, dword [esp + 0x60]
lea eax, [esp + 0x9c]
push eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], edi
call dword [0x102abb10]
mov eax, dword [ebx]
lea ecx, [esp + 0x9c]
mov edi, dword [esp + 0x20]
push esi
push ecx
push edi
mov ecx, ebx
call dword [eax + 0x414]
cmp dword [edi + 0x10], 0
je 0x101778b1
neg esi
sbb eax, eax
not eax
and eax, dword [esp + 0x38]
mov esi, eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0xd4]
push eax
call dword [0x102ab960]
test eax, eax
je 0x10177adf
cmp dword [edi + 0x40], 0
mov edi, dword [esp + 0x14]
jne 0x10177ae3
mov eax, dword [ebx]
lea ecx, [esp + 0x9c]
push esi
push ecx
push edi
mov ecx, ebx
call dword [eax + 0x3fc]
jmp 0x10177ae3
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0xd4]
push eax
call dword [0x102ab960]
test eax, eax
je 0x10177adf
push dword [esp + 0x64]
mov ecx, ebx
call fcn.10177c62
mov esi, dword [esp + 0x20]
mov dword [esp + 0x24], eax
test dword [esi + 0x24], 0x40000
je 0x10177950
mov dword [esp + 0x38], 1
cmp dword [0x102a6b4c], edi
je 0x10177954
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x14]
lea ecx, [esp + 0x8c]
push ecx
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x60]
test eax, eax
je 0x10177ae3
xor eax, eax
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x34], eax
je 0x10177abc
mov ecx, dword [esp + 0x20]
xor esi, esi
cmp dword [ecx + 4], eax
je 0x1017799e
cmp dword [ecx + 0x38], eax
jl 0x10177a3c
mov esi, dword [0x102a6ba4]
jmp 0x10177a3c
cmp dword [ebx + 0xb58], eax
je 0x101779f1
mov eax, dword [esp + 0x38]
test eax, eax
je 0x101779c1
mov ecx, dword [esp + 0x54]
cmp dword [ecx + 4], esi
jle 0x101779c1
mov dword [esp + 0x1c], 1
jmp 0x101779ca
mov ecx, dword [esp + 0x5c]
cmp dword [ecx + 4], esi
jle 0x101779ce
mov esi, ecx
jmp 0x10177a3c
test eax, eax
je 0x101779e7
mov eax, dword [esp + 0x70]
cmp dword [eax + 4], esi
jle 0x101779e7
mov dword [esp + 0x1c], 1
mov esi, eax
jmp 0x10177a3c
and dword [esp + 0x1c], esi
mov esi, dword [esp + 0x58]
jmp 0x10177a3c
cmp dword [esp + 0x38], eax
je 0x10177a07
mov edx, dword [esp + 0x70]
cmp dword [edx + 4], eax
jle 0x10177a07
xor eax, eax
mov esi, edx
inc eax
jmp 0x10177a0d
mov esi, dword [esp + 0x58]
xor eax, eax
cmp dword [esp + 0x24], 0
mov dword [esp + 0x1c], eax
jne 0x10177a3c
test eax, eax
jne 0x10177a3c
test dword [ecx + 0x24], 0x20000
jne 0x10177a3c
mov eax, dword [esp + 0x44]
cmp dword [eax + 4], 0
jle 0x10177a3c
mov eax, dword [ecx]
call dword [eax + 0x78]
test eax, eax
jne 0x10177a3c
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x18]
cmp esi, eax
je 0x10177ab8
test esi, esi
je 0x10177ab8
lea ecx, [esp + 0x80]
push ecx
mov ecx, eax
call fcn.1018c798
call fcn.1008b6ce
mov ecx, esi
push dword [eax + 0x1c]
call fcn.10097eae
fld qword [esp + 0x2c]
fld1
fucom st(1)
fnstsw ax
test ah, 0x44
jnp 0x10177a92
fld qword [esi + 0xb4]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10177a94
push ecx
push ecx
mov ecx, esi
fstp qword [esp]
call fcn.10191536
jmp 0x10177a96
fstp st(1)
fstp st(0)
push dword [esp + 0x40]
lea eax, [esp + 0x84]
mov ecx, esi
push dword [esp + 0x4c]
push dword [esp + 0x80]
push eax
call fcn.1018c507
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x20]
push dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov ecx, ebx
push dword [esp + 0x28]
mov edx, dword [ebx]
neg eax
sbb eax, eax
and eax, dword [esp + 0x20]
push eax
push esi
push edi
call dword [edx + 0x3c0]
jmp 0x10177ae3
mov edi, dword [esp + 0x14]
inc dword [esp + 0x64]
cmp dword [esp + 0x74], 0
jne 0x10177807
mov eax, dword [ebx + 0xbf4]
cmp dword [ebx + 0xba0], eax
jl 0x10177b07
or dword [ebx + 0xba0], 0xffffffff
cmp dword [0x102a6b4c], 0
jne 0x10177b1d
cmp dword [0x102a6b58], 0
je 0x10177bf9
mov eax, dword [ebx + 0xba0]
test eax, eax
js 0x10177bd3
cmp dword [ebx + 0xb24], 0
jne 0x10177bd3
cmp dword [0x102a6b60], ebx
jne 0x10177bd3
push eax
mov ecx, ebx
call fcn.10177d49
xor ecx, ecx
mov esi, eax
test esi, esi
setne cl
test ecx, ecx
jne 0x10177b5e
call fcn.1021f333
test esi, esi
je 0x10177bd3
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x58]
test eax, eax
je 0x10177bd3
add esi, 0x54
lea edi, [esp + 0xdc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1008b6ce
push dword [eax + 0x28]
push ecx
call fcn.1008b6ce
mov edi, dword [esp + 0x1c]
pop ecx
mov ecx, edi
push dword [eax + 0x28]
lea eax, [esp + 0xe4]
push eax
call fcn.10276364
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [esp + 0xe4]
push eax
call dword [0x102abab8]
call fcn.1008b6ce
push dword [eax + 0x28]
push ecx
call fcn.1008b6ce
pop ecx
mov ecx, edi
push dword [eax + 0x28]
lea eax, [esp + 0xe4]
push eax
call fcn.10276364
cmp dword [0x102a6b4c], 0
je 0x10177bf9
cmp dword [ebx + 0xbac], 0
jl 0x10177bf9
cmp dword [ebx + 0xb24], 0
jne 0x10177bf9
mov eax, dword [ebx]
mov ecx, ebx
push edi
call dword [eax + 0x3c4]
mov eax, dword [edi]
mov ecx, edi
push dword [esp + 0x4c]
call dword [eax + 0x30]
cmp dword [esp + 0x34], 0
je 0x10177c1c
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x80]
push eax
call fcn.1018c798
call fcn.1008b6fa
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x5c], ecx
or dword [esp + 0x138], 0xffffffff
lea ecx, [esp + 0xec]
call fcn.100d269c
mov ecx, dword [esp + 0x130]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.1028105c
mov esp, ebp
pop ebp
ret 4