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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x98
push esi
push edi
xor edi, edi
mov dword [esp + 0x20], edx
push 0x40
lea eax, [esp + 0x64]
mov dword [esp + 0x4c], 0
mov esi, ecx
mov dword [esp + 0x20], edi
xorps xmm0, xmm0
mov dword [esp + 0x14], esi
push edi
push eax
movlpd qword [esp + 0x44], xmm0
call fcn.1013ad10
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x6c]
add esp, 0xc
mov ecx, esi
push eax
push edi
push 1
push edi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.100e3440
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x100f3c1b
cmp dword [esp + 0x64], edi
je 0x100f3c1b
cmp dword [ebp + 0xc], 0xffffffff
je 0x100f39e2
mov ecx, dword [esp + 0x10]
lea edx, [edi + 0xf]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.100ee4e0
mov esi, eax
add esp, 8
test esi, esi
jne 0x100f3c1b
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
add ecx, 0x104
mov dword [esp + 0x44], ecx
imul dword [ecx]
mov esi, eax
mov ecx, edx
mov eax, dword [ebp + 8]
mov edx, 0x400
imul edx
shld ecx, esi, 0xa
shl esi, 0xa
add esi, eax
adc ecx, edx
push ecx
push esi
push 1
push dword [esp + 0x24]
call fcn.10057670
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x30]
imul dword [ecx]
mov esi, eax
mov ecx, edx
mov eax, dword [ebp + 8]
mov edx, 0x400
shld ecx, esi, 0xa
imul edx
shl esi, 0xa
add esi, eax
adc ecx, edx
add esi, 0x3ff
adc ecx, edi
push ecx
push esi
mov esi, dword [esp + 0x30]
push 2
push esi
call fcn.10057670
push esi
call fcn.10055f30
add esp, 0x24
cmp eax, 0x64
jne 0x100f3981
test esi, esi
je 0x100f393b
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f3916
push eax
call dword [0x10178a88]
add esp, 4
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x100f3928
xor eax, eax
cmp ax, word [esi + 0x90]
jb 0x100f3940
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002b6b0
mov ecx, 0x10162818
call fcn.1004e6e0
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], edx
test esi, esi
je 0x100f3991
mov ecx, dword [esi]
mov edx, dword [esi + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100f3964
test edx, edx
jne 0x100f3964
xor eax, eax
jmp 0x100f3969
call fcn.10028630
mov dword [esi + 0x24], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f3991
push eax
call dword [0x10178a90]
add esp, 4
jmp 0x100f3991
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], eax
push esi
call fcn.10054fa0
mov esi, eax
add esp, 4
test esi, esi
jne 0x100f3c1b
mov eax, dword [ebp + 0xc]
cmp eax, 0xfffffffe
jne 0x100f3a02
cmp dword [esp + 0x64], 1
jne 0x100f39c8
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
cmp dword [eax + 0x38], edi
jne 0x100f39c8
mov esi, 0x65
jmp 0x100f3c1b
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov eax, 3
jmp 0x100f3b98
mov eax, dword [esp + 0x10]
add eax, 0x104
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x44]
inc eax
mov dword [esp + 0x38], eax
cdq
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], edx
imul dword [ecx]
mov ecx, eax
mov esi, edx
mov eax, dword [ebp + 8]
mov edx, 0x400
imul edx
shld esi, ecx, 0xa
shl ecx, 0xa
add ecx, eax
adc esi, edx
add ecx, dword [esp + 0x30]
mov dword [esp + 0x24], ecx
mov edx, 8
adc esi, dword [esp + 0x34]
xor eax, eax
mov ecx, dword [esp + 0x10]
push eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x50]
push eax
mov dword [esp + 0x30], esi
call fcn.100ee4e0
mov esi, eax
add esp, 8
test esi, esi
jne 0x100f3b68
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x20]
imul dword [ecx]
mov esi, eax
mov ecx, edx
mov eax, dword [ebp + 8]
mov edx, 0x400
shld ecx, esi, 0xa
imul edx
shl esi, 0xa
add esi, eax
adc ecx, edx
add esi, dword [esp + 0x30]
adc ecx, dword [esp + 0x34]
push ecx
push esi
mov esi, dword [esp + 0x54]
push 1
push esi
call fcn.10057670
push esi
call fcn.10055f30
add esp, 0x14
cmp eax, 0x64
jne 0x100f3b2d
test esi, esi
je 0x100f3aed
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f3ac8
push eax
call dword [0x10178a88]
add esp, 4
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x100f3ada
xor eax, eax
cmp ax, word [esi + 0x90]
jb 0x100f3af2
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002b6b0
mov ecx, 0x10162818
call fcn.1004e6e0
mov dword [esp + 0x14], eax
test esi, esi
je 0x100f3b2d
mov ecx, dword [esi]
mov edx, dword [esi + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100f3b12
test edx, edx
jne 0x100f3b12
xor eax, eax
jmp 0x100f3b17
call fcn.10028630
mov dword [esi + 0x24], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f3b2d
push eax
call dword [0x10178a90]
add esp, 4
push esi
call fcn.10054fa0
mov esi, eax
add esp, 4
test esi, esi
jne 0x100f3b68
mov eax, dword [esp + 0x14]
cmp eax, 0x10
jl 0x100f3b64
push dword [esp + 0x38]
mov edx, dword [esp + 0x24]
push dword [ebp + 8]
mov ecx, dword [esp + 0x18]
call fcn.100f37e0
add esp, 8
mov dword [esp + 0x48], edi
mov esi, eax
jmp 0x100f3b68
mov dword [esp + 0x48], eax
cmp dword [ebp + 0xc], 0xffffffff
je 0x100f3b8b
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x28], eax
jl 0x100f3b8b
jg 0x100f3b84
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x24], eax
jbe 0x100f3b8b
mov eax, 3
jmp 0x100f3b90
mov eax, 1
test esi, esi
jne 0x100f3c1b
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x60]
xorps xmm0, xmm0
movaps xmmword [esp + 0x50], xmm0
push dword [esp + 0x54]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x54]
push dword [esp + 0x54]
mov dword [esp + 0x74], eax
call fcn.100f2690
mov esi, eax
add esp, 8
test esi, esi
jne 0x100f3c1b
mov edi, dword [esp + 0x10]
nop
lea edx, [esp + 0x60]
mov ecx, edi
call fcn.100f2730
mov esi, eax
cmp esi, 0x64
jne 0x100f3c93
push dword [esp + 0x9c]
lea edx, [esp + 0x20]
push dword [esp + 0x9c]
push dword [esp + 0x9c]
push dword [esp + 0x9c]
push ecx
mov ecx, edi
call fcn.100f1ad0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x100f3bd0
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x100f3ef1
mov eax, dword [edi + 0x30]
mov dword [esp + 0x14], eax
test eax, eax
je 0x100f3e16
cmp dword [0x10178a38], 0
je 0x100f3e0c
mov ecx, dword [0x1017bbe8]
test ecx, ecx
je 0x100f3c57
push ecx
call dword [0x10178a88]
mov eax, dword [esp + 0x18]
add esp, 4
push eax
call dword [0x10178a64]
sub dword [0x1017ba70], eax
add esp, 4
dec dword [0x1017ba94]
push dword [esp + 0x14]
call dword [0x10178a5c]
mov eax, dword [0x1017bbe8]
add esp, 4
test eax, eax
je 0x100f3e1b
push eax
call dword [0x10178a90]
jmp 0x100f3e13
test esi, esi
jne 0x100f3c17
mov eax, dword [ebp + 0xc]
cmp eax, 0xffffffff
je 0x100f3cc3
push dword [esp + 0x64]
mov edx, dword [esp + 0x24]
mov ecx, edi
push dword [esp + 0x64]
push eax
push dword [ebp + 8]
call fcn.100f1fc0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x100f3c17
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x100f3ef1
cmp dword [edi], 0
mov esi, dword [edi + 0x2c]
mov edx, dword [edi + 0x30]
push esi
je 0x100f3d8d
mov eax, dword [edi + 0x10]
xorps xmm0, xmm0
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x20], ecx
mov ecx, eax
push dword [esp + 0x20]
mov dword [esp + 0x38], eax
add ecx, 1
mov eax, dword [esp + 0x24]
push dword [esp + 0x38]
adc eax, 0
mov dword [edi + 0x10], ecx
mov ecx, dword [esp + 0x1c]
movlpd qword [esp + 0x44], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x20], 0
mov dword [edi + 0x14], eax
call fcn.100f0e20
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x100f3dba
mov edx, dword [edi]
lea eax, [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x40]
push eax
push dword [edi + 0x14]
push dword [edi + 0x10]
push dword [edi + 0xc]
push dword [edi + 8]
push 1
call fcn.100f17b0
mov esi, eax
add esp, 0x20
test esi, esi
jne 0x100f3dba
push dword [esp + 0x14]
push dword [esp + 0x38]
push dword [edi + 0x3c]
push dword [edi + 0x38]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push dword [esp + 0x34]
push dword [esp + 0x4c]
push dword [edi + 0xc]
push dword [edi + 8]
jmp 0x100f3da0
push edx
push dword [edi + 0x3c]
push dword [edi + 0x38]
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x50]
mov edx, dword [esp + 0x74]
push dword [esp + 0x50]
mov ecx, dword [esp + 0x40]
call fcn.100f1230
mov esi, eax
add esp, 0x30
mov eax, dword [esp + 0x10]
inc dword [eax + 0x34]
test esi, esi
jne 0x100f3c1b
cmp dword [ebp + 0xc], 0xffffffff
mov edx, dword [esp + 0x28]
je 0x100f3def
cmp edx, dword [esp + 0x2c]
jg 0x100f3c1b
mov ecx, dword [esp + 0x24]
jl 0x100f3df3
cmp ecx, dword [esp + 0x18]
jae 0x100f3c1b
jmp 0x100f3df3
mov ecx, dword [esp + 0x24]
push dword [edi + 0x3c]
push dword [edi + 0x38]
push edx
push ecx
mov ecx, eax
call fcn.100f2fe0
add esp, 0x10
mov esi, eax
jmp 0x100f3c1b
push eax
call dword [0x10178a5c]
add esp, 4
mov eax, dword [0x1017bbe8]
mov ecx, dword [edi + 0x24]
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x100f3e80
cmp dword [0x10178a38], 0
je 0x100f3e76
test eax, eax
je 0x100f3e41
push eax
call dword [0x10178a88]
mov ecx, dword [esp + 0x18]
add esp, 4
push ecx
call dword [0x10178a64]
sub dword [0x1017ba70], eax
add esp, 4
dec dword [0x1017ba94]
push dword [esp + 0x14]
call dword [0x10178a5c]
mov eax, dword [0x1017bbe8]
add esp, 4
test eax, eax
je 0x100f3e80
push eax
call dword [0x10178a90]
jmp 0x100f3e7d
push ecx
call dword [0x10178a5c]
add esp, 4
mov ecx, dword [edi]
call fcn.100f1980
cmp dword [0x10178a38], 0
je 0x100f3ee7
mov eax, dword [0x1017bbe8]
test eax, eax
je 0x100f3ea3
push eax
call dword [0x10178a88]
add esp, 4
push edi
call dword [0x10178a64]
sub dword [0x1017ba70], eax
add esp, 4
dec dword [0x1017ba94]
push edi
call dword [0x10178a5c]
mov eax, dword [0x1017bbe8]
add esp, 4
test eax, eax
je 0x100f3ef1
push eax
call dword [0x10178a90]
add esp, 4
lea ecx, [esp + 0x60]
call fcn.100f2dd0
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push edi
call dword [0x10178a5c]
add esp, 4
lea ecx, [esp + 0x60]
call fcn.100f2dd0
pop edi
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret