Function at 0x1007b7b0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c6714
mov eax, dword fs:[0]
push eax
sub esp, 0x19c
mov eax, dword [0x102a000c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x13c], ebx
cmp dword [ebx + 0x48], 0
jge 0x1007b848
lea eax, [ebp - 0x17c]
mov dword [ebp - 0x174], 0xffffffff
push eax
lea ecx, [ebx + 0x30]
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x17c], 0x80000000
mov dword [ebp - 0x178], 0x1b00b5
call fcn.10007780
mov eax, dword [ebx + 0x30]
dec eax
mov dword [ebx + 0x48], eax
mov ecx, dword [ebx + 0xc]
mov dword [ebx], 0
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
test ecx, ecx
je 0x1007b888
mov eax, dword [0x102a0b70]
push ecx
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x1007b8a6
mov eax, dword [0x102a0b70]
push ecx
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
xor ecx, ecx
mov dword [ebx + 0xc], 0
xor esi, esi
mov dword [ebx + 0x10], 0
xor edi, edi
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x144], edi
mov dword [ebp - 0x134], ecx
cmp dword [ebx + 0x3c], ecx
jle 0x1007b94a
xor edx, edx
mov dword [ebp - 0x148], edx
nop dword [eax]
mov eax, dword [ebx + 0x44]
add eax, edx
mov edx, dword [eax + 0x30]
test edx, edx
jne 0x1007b8f8
mov dword [eax + 0x30], 0x1024241c
mov edx, 0x1024241c
cmp word [edx], 0
je 0x1007b92f
nop
movzx eax, word [edx + 2]
test ax, ax
je 0x1007b91d
mov ecx, eax
inc esi
movzx eax, word [edx]
inc edi
add edx, 4
sub ecx, eax
add esi, ecx
cmp word [edx], 0
jne 0x1007b900
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x144], edi
mov dword [ebp - 0x120], esi
mov edx, dword [ebp - 0x148]
inc ecx
add edx, 0x64
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x148], edx
cmp ecx, dword [ebx + 0x3c]
jl 0x1007b8e0
mov edi, dword [ebx + 4]
test edi, edi
jg 0x1007b982
cmp esi, 0xfa0
jle 0x1007b960
mov edi, 0x1000
jmp 0x1007b982
cmp esi, 0x7d0
jle 0x1007b96f
mov edi, 0x800
jmp 0x1007b982
cmp esi, 0x3e8
mov edi, 0x200
mov eax, 0x400
cmovg edi, eax
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x128], eax
mov eax, dword [0x102a0b70]
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x18], 0
push 0x30
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
movlpd qword [ebp - 0x188], xmm0
movlpd qword [ebp - 0x180], xmm0
movlpd qword [ebp - 0x178], xmm0
movlpd qword [ebp - 0x168], xmm0
call eax
mov edx, dword [0x102a0b70]
add esp, 4
mov dword [ebp - 0x134], eax
mov eax, edi
sub eax, dword [ebp - 0x128]
mov dword [ebp - 0x130], eax
inc dword [edx + 0x310]
lea ecx, [eax*8]
push ecx
mov ecx, dword [edx + 0xbc]
call ecx
mov edx, dword [ebp - 0x134]
add esp, 4
mov ecx, eax
test edx, edx
je 0x1007ba68
test ecx, ecx
je 0x1007ba65
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x184], edx
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x174], eax
mov eax, 0x8000
sub eax, dword [ebp - 0x128]
push edx
push ecx
mov dword [ebp - 0x164], ecx
mov ecx, dword [ebp - 0x134]
push eax
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x17c], 0x8000
mov dword [ebp - 0x178], edi
call fcn.100868f0
add esp, 0xc
jmp 0x1007ba83
push edx
jmp 0x1007ba6d
test ecx, ecx
je 0x1007ba83
push ecx
mov eax, dword [0x102a0b70]
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov eax, 1
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x128], eax
xorps xmm0, xmm0
xor eax, eax
movq qword [ebp - 0x11c], xmm0
mov dword [ebp - 0x15c], 1
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 4], eax
mov edi, dword [ebx + 0x30]
mov edx, edi
mov dword [ebp - 0x140], edi
test edi, edi
jle 0x1007bb2f
mov edx, 8
mov ecx, edi
cmp edi, edx
cmovl ecx, edx
mov edx, edi
test ecx, ecx
jle 0x1007bb2f
mov eax, dword [0x102a0b70]
shl ecx, 4
push ecx
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
call eax
mov ecx, dword [0x102a0b70]
add esp, 4
mov dword [ebp - 0x124], eax
mov ecx, dword [ecx + 0xc0]
push 0
call ecx
mov edx, dword [ebx + 0x30]
add esp, 4
mov eax, dword [ebp - 0x124]
shl edx, 4
push edx
push 0
push eax
call fcn.10022330
add esp, 0xc
cmp dword [ebx + 0x30], 0
jle 0x1007bb7b
mov edx, dword [ebp - 0x124]
xor ecx, ecx
add edx, 6
xor esi, esi
mov eax, dword [ebx + 0x38]
lea ecx, [ecx + 0x1c]
inc esi
lea edx, [edx + 0x10]
movzx eax, word [ecx + eax - 0x18]
mov word [edx - 0x12], ax
mov eax, dword [ebx + 0x38]
movzx eax, word [ecx + eax - 0x16]
mov word [edx - 0x10], ax
cmp esi, dword [ebx + 0x30]
jl 0x1007bb51
mov esi, dword [ebp - 0x120]
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x184]
push edi
call fcn.10086330
add esp, 4
test edi, edi
jle 0x1007bbec
mov edx, dword [ebp - 0x124]
xor edi, edi
mov eax, dword [ebp - 0x140]
add edx, 0xa
cmp dword [edx + 2], 0
je 0x1007bbdb
mov ecx, dword [ebx + 0x38]
movzx eax, word [edx - 2]
mov word [edi + ecx + 8], ax
mov ecx, dword [ebx + 0x38]
movzx eax, word [edx]
mov word [edi + ecx + 0xa], ax
movzx eax, word [edx]
movzx ecx, word [edx - 4]
add ecx, eax
mov eax, dword [ebp - 0x140]
cmp dword [ebx + 0x18], ecx
cmovge ecx, dword [ebx + 0x18]
mov dword [ebx + 0x18], ecx
add edi, 0x1c
add edx, 0x10
sub eax, 1
mov dword [ebp - 0x140], eax
jne 0x1007bba5
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x124]
test ecx, ecx
je 0x1007bc14
mov eax, dword [0x102a0b70]
push ecx
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov dword [ebp - 4], 0xffffffff
imul ecx, dword [ebx + 0x3c], 0x88
mov eax, dword [0x102a0b70]
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
push ecx
call eax
xor edi, edi
mov dword [ebp - 0x140], eax
add esp, 4
cmp dword [ebx + 0x3c], edi
jle 0x1007bdd6
xor ecx, ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x134], ecx
nop dword [eax + eax]
mov eax, dword [ebx + 0x44]
mov edx, dword [eax + ecx]
mov esi, dword [eax + ecx + 0xc]
mov al, byte [edx]
cmp al, 0x31
jne 0x1007bc8a
cmp byte [edx + 1], 0
jne 0x1007bd8f
cmp byte [edx + 2], 0
jne 0x1007bd8f
cmp byte [edx + 3], 0
jmp 0x1007bcf5
cmp al, 0x74
jne 0x1007bca0
cmp byte [edx + 1], 0x79
jne 0x1007bca0
cmp byte [edx + 2], 0x70
jne 0x1007bca0
cmp byte [edx + 3], 0x31
je 0x1007bcfb
cmp al, 0x4f
jne 0x1007bcbd
cmp byte [edx + 1], 0x54
jne 0x1007bd8f
cmp byte [edx + 2], 0x54
jne 0x1007bd8f
cmp byte [edx + 3], al
jmp 0x1007bcf5
test al, al
jne 0x1007bcd9
cmp byte [edx + 1], 1
jne 0x1007bd8f
cmp byte [edx + 2], al
jne 0x1007bd8f
cmp byte [edx + 3], al
jmp 0x1007bcf5
cmp al, 0x74
jne 0x1007bd8f
cmp byte [edx + 1], 0x72
jne 0x1007bd04
cmp byte [edx + 2], 0x75
jne 0x1007bd8f
cmp byte [edx + 3], 0x65
jne 0x1007bd8f
neg esi
sbb esi, esi
jmp 0x1007bd92
cmp byte [edx + 1], 0x74
jne 0x1007bd8f
cmp byte [edx + 2], 0x63
jne 0x1007bd8f
cmp byte [edx + 3], 0x66
jne 0x1007bd8f
movzx eax, byte [edx + 4]
movzx ecx, byte [edx + 5]
shl eax, 8
add ecx, eax
movzx eax, byte [edx + 6]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx + 7]
shl ecx, 8
add eax, ecx
cmp eax, 0x10000
je 0x1007bd47
cmp eax, 0x20000
jne 0x1007bd8f
movzx ecx, byte [edx + 8]
movzx eax, byte [edx + 9]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx + 0xa]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx + 0xb]
shl ecx, 8
add ecx, eax
cmp esi, ecx
jge 0x1007bd8f
movzx eax, byte [edx + esi*4 + 0xd]
lea ecx, [edx + esi*4]
movzx esi, byte [ecx + 0xc]
shl esi, 8
add esi, eax
movzx eax, byte [ecx + 0xe]
shl esi, 8
add esi, eax
movzx eax, byte [ecx + 0xf]
shl esi, 8
add esi, eax
jmp 0x1007bd92
or esi, 0xffffffff
push esi
mov esi, dword [ebp - 0x148]
mov ecx, esi
call fcn.10085240
add esp, 4
test eax, eax
je 0x1007bffd
mov ecx, dword [ebp - 0x134]
inc edi
add ecx, 0x64
add esi, 0x88
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x148], esi
cmp edi, dword [ebx + 0x3c]
jl 0x1007bc60
mov esi, dword [ebp - 0x120]
mov eax, dword [0x102a0b70]
lea edi, [esi*8]
sub edi, esi
mov dword [ebp - 0x124], 0
shl edi, 2
push edi
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x160], 0
call eax
mov ecx, dword [0x102a0b70]
add esp, 4
shl esi, 4
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x120], esi
inc dword [ecx + 0x310]
mov ecx, dword [ecx + 0xbc]
push esi
call ecx
mov edx, dword [ebp - 0x144]
add esp, 4
mov ecx, dword [0x102a0b70]
mov dword [ebp - 0x154], eax
lea esi, [edx + edx*2]
inc dword [ecx + 0x310]
mov ecx, dword [ecx + 0xbc]
shl esi, 3
push esi
call ecx
add esp, 4
mov dword [ebp - 0x134], eax
push edi
push 0
push dword [ebp - 0x148]
call fcn.10022330
add esp, 0xc
push dword [ebp - 0x120]
push 0
push dword [ebp - 0x154]
call fcn.10022330
add esp, 0xc
push esi
push 0
push dword [ebp - 0x134]
call fcn.10022330
add esp, 0xc
mov dword [ebp - 0x12c], 0
cmp dword [ebx + 0x3c], 0
jle 0x1007c13c
mov edi, dword [ebp - 0x140]
xor edx, edx
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x120], edi
nop
mov ecx, dword [ebx + 0x44]
xor esi, esi
add ecx, edx
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x158], esi
mov edx, dword [ecx + 0x30]
movzx eax, word [edx]
test ax, ax
je 0x1007bf2f
mov ebx, esi
nop word [eax + eax]
movzx ecx, word [edx + 2]
test cx, cx
je 0x1007bf1d
add edx, 4
movzx eax, ax
sub ecx, eax
inc ebx
add ebx, ecx
inc esi
movzx eax, word [edx]
test ax, ax
jne 0x1007bf00
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x158], esi
mov edx, dword [ebp - 0x160]
mov edi, dword [ebp - 0x134]
lea eax, [edx + edx*2]
add edx, esi
lea eax, [edi + eax*8]
mov dword [ebp - 0x160], edx
mov edi, dword [ebp - 0x120]
mov dword [ebp - 0x14c], eax
mov dword [edi + 0x80], eax
mov dword [edi + 0x84], esi
xor edi, edi
test esi, esi
jle 0x1007c025
mov ebx, dword [ebp - 0x158]
mov dword [ebp - 0x14c], edi
nop word [eax + eax]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x120]
mov esi, dword [eax + 0x80]
add esi, dword [ebp - 0x14c]
mov eax, dword [ecx + 0x10]
add dword [ebp - 0x14c], 0x18
mov dword [esi], eax
movzx eax, word [edx + edi*4]
mov dword [esi + 4], eax
movzx eax, word [edx + edi*4]
movzx ecx, word [edx + edi*4 + 2]
inc edi
mov edx, dword [ebp - 0x124]
sub ecx, eax
inc ecx
add dword [ebp - 0x124], ecx
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp - 0x144]
lea eax, [edx*8]
sub eax, edx
mov edx, dword [ebp - 0x148]
lea eax, [edx + eax*4]
mov dword [esi + 0x10], eax
cmp edi, ebx
jl 0x1007bf80
mov edi, dword [ebp - 0x120]
mov eax, dword [edi + 0x80]
mov esi, dword [edi + 0x84]
mov dword [ebp - 0x14c], eax
jmp 0x1007c02b
mov ecx, dword [ebp - 0x140]
mov eax, dword [0x102a0b70]
test ecx, ecx
je 0x1007c012
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
xor al, al
jmp 0x1007cb03
mov edi, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x138]
mov eax, ecx
mov edx, dword [ebp - 0x154]
mov ebx, dword [ebp - 0x15c]
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x150]
add ecx, eax
mov dword [edi + 0x7c], eax
mov eax, dword [ebp - 0x144]
mov dword [edi + 0x78], edx
mov dword [ebp - 0x138], ecx
push edx
mov ecx, dword [eax + 0x18]
mov edx, edi
mov eax, dword [eax + 0x14]
cmp eax, 8
push esi
push dword [ebp - 0x14c]
cmovbe ebx, eax
cmp ecx, 8
mov eax, ebx
mov dword [ebp - 0x15c], ebx
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x128]
cmovbe eax, ecx
lea ecx, [ebp - 0x188]
mov dword [ebp - 0x16c], eax
call fcn.1007ece0
mov edx, dword [edi + 0x78]
add esp, 0xc
mov ecx, dword [ebp - 0x184]
mov esi, eax
push esi
call fcn.10086330
mov ebx, dword [ebp - 0x13c]
add esp, 4
test esi, esi
jle 0x1007c0ea
xor edx, edx
mov eax, dword [edi + 0x78]
cmp dword [edx + eax + 0xc], 0
je 0x1007c0e2
movzx ecx, word [edx + eax + 0xa]
movzx eax, word [edx + eax + 6]
add ecx, eax
cmp dword [ebx + 0x18], ecx
cmovge ecx, dword [ebx + 0x18]
mov dword [ebx + 0x18], ecx
add edx, 0x10
sub esi, 1
jne 0x1007c0c2
mov eax, dword [ebp - 0x12c]
add edi, 0x88
mov edx, dword [ebp - 0x130]
inc eax
add edx, 0x64
mov dword [ebp - 0x12c], eax
cmp eax, dword [ebx + 0x3c]
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x128], eax
jge 0x1007c134
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x15c], eax
jmp 0x1007bed0
mov edi, dword [ebp - 0x170]
jmp 0x1007c141
mov edi, 1
mov ecx, dword [ebx + 0x18]
dec ecx
mov eax, ecx
sar eax, 1
or ecx, eax
mov eax, ecx
sar eax, 2
or ecx, eax
mov eax, ecx
sar eax, 4
or ecx, eax
mov eax, ecx
sar eax, 8
or ecx, eax
mov eax, ecx
sar eax, 0x10
or eax, ecx
mov ecx, dword [ebx + 0x14]
inc eax
mov dword [ebx + 0x18], eax
imul ecx, eax
mov eax, dword [0x102a0b70]
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
push ecx
call eax
mov ecx, dword [ebx + 0x14]
add esp, 4
imul ecx, dword [ebx + 0x18]
mov dword [ebx + 0xc], eax
push ecx
push 0
push eax
call fcn.10022330
mov eax, dword [ebx + 0xc]
add esp, 0xc
cmp dword [ebx + 0x3c], 0
mov dword [ebp - 0x168], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x130], 0
jle 0x1007c37a
mov eax, dword [ebp - 0x140]
xor ecx, ecx
mov edx, dword [ebp - 0x128]
add eax, 0x7c
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x124], eax
mov esi, dword [ebx + 0x44]
mov eax, dword [ebp - 0x124]
add esi, ecx
cmp dword [esi + 0x14], 8
lea ecx, [eax - 0x7c]
push dword [eax - 4]
cmovbe edi, dword [esi + 0x14]
cmp dword [esi + 0x18], 8
push dword [eax + 8]
cmovbe edx, dword [esi + 0x18]
push dword [eax + 4]
mov dword [ebp - 0x16c], edx
mov edx, ecx
mov dword [ebp - 0x120], ecx
lea ecx, [ebp - 0x188]
mov dword [ebp - 0x170], edi
call fcn.1007e6b0
movss xmm1, dword [esi + 0x3c]
add esp, 0xc
ucomiss xmm1, dword [0x10293df0]
movss dword [ebp - 0x138], xmm1
lahf
test ah, 0x44
jnp 0x1007c331
xor esi, esi
nop word [eax + eax]
movd xmm0, esi
mov eax, esi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10295410]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.100c2020
movss xmm1, dword [ebp - 0x138]
mov edx, 0xff
cmp eax, edx
movzx ecx, al
cmovbe edx, ecx
mov byte [ebp + esi - 0x110], dl
inc esi
cmp esi, 0x100
jb 0x1007c250
mov eax, dword [ebp - 0x120]
mov ebx, dword [eax + 0x78]
mov eax, dword [ebp - 0x124]
mov eax, dword [eax]
shl eax, 4
add eax, ebx
cmp ebx, eax
je 0x1007c32b
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x120]
nop
cmp dword [ebx + 0xc], 0
je 0x1007c316
movzx eax, word [ebx + 0xa]
movzx edx, word [ebx + 8]
movzx edi, word [ebx + 6]
movzx esi, word [ebx + 4]
imul eax, ecx
add eax, dword [ebp - 0x168]
add edx, eax
test edi, edi
je 0x1007c310
xor ecx, ecx
test esi, esi
je 0x1007c303
nop dword [eax + eax]
movzx eax, byte [ecx + edx]
mov al, byte [ebp + eax - 0x110]
mov byte [ecx + edx], al
inc ecx
cmp ecx, esi
jl 0x1007c2f0
mov ecx, dword [ebp - 0x178]
dec edi
add edx, ecx
test edi, edi
jg 0x1007c2e5
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x124]
add ebx, 0x10
mov eax, dword [eax]
shl eax, 4
add eax, dword [edx + 0x78]
cmp ebx, eax
jne 0x1007c2c0
mov ebx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x12c]
add dword [ebp - 0x124], 0x88
add ecx, 0x64
mov dword [ebp - 0x12c], ecx
mov dword [eax + 0x78], 0
mov eax, dword [ebp - 0x130]
inc eax
mov dword [ebp - 0x130], eax
cmp eax, dword [ebx + 0x3c]
jge 0x1007c37a
mov edx, dword [ebp - 0x16c]
mov edi, dword [ebp - 0x170]
jmp 0x1007c1e1
cmp dword [ebp - 0x164], 0
mov eax, dword [0x102a0b70]
je 0x1007c38e
dec dword [eax + 0x310]
push dword [ebp - 0x164]
mov eax, dword [eax + 0xc0]
call eax
mov eax, dword [0x102a0b70]
add esp, 4
cmp dword [ebp - 0x184], 0
je 0x1007c3b3
dec dword [eax + 0x310]
push dword [ebp - 0x184]
mov eax, dword [eax + 0xc0]
call eax
mov ecx, dword [ebp - 0x154]
add esp, 4
mov eax, dword [0x102a0b70]
test ecx, ecx
je 0x1007c3d9
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
mov dword [ebp - 0x160], 0
cmp dword [ebx + 0x3c], 0
jle 0x1007c85e
mov ecx, dword [ebp - 0x140]
xor edx, edx
add ecx, 4
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x154], ecx
mov edi, dword [ecx + 0x18]
mov esi, dword [ecx]
mov eax, dword [ebx + 0x44]
mov ebx, dword [eax + edx + 0x60]
add eax, edx
mov dword [ebp - 0x130], eax
mov eax, 0x100
movzx ecx, byte [edi + esi + 6]
movzx edx, byte [edi + esi + 7]
cwde
movsx ecx, cx
imul ecx, eax
mov eax, 0x100
cwde
add dx, cx
movzx ecx, byte [edi + esi + 4]
movsx ecx, cx
imul ecx, eax
movzx eax, byte [edi + esi + 5]
mov esi, dword [ebp - 0x130]
movsx edx, dx
mov dword [ebp - 0x138], edx
add cx, ax
movss xmm1, dword [esi + 0x10]
movsx edi, cx
mov eax, edi
sub eax, edx
cmp byte [esi + 0x34], 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [ebp - 0x12c], xmm1
jne 0x1007c4d0
mov ecx, ebx
call fcn.1007abd0
movd xmm0, dword [ebp - 0x138]
mov eax, dword [esi + 0x10]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
mov dword [ebx], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebx + 0x40], esi
mov dword [ebx + 0x44], eax
cvtdq2ps xmm0, xmm0
mulss xmm1, dword [ebp - 0x12c]
mulss xmm0, dword [ebp - 0x12c]
movss dword [ebx + 0x48], xmm1
movss dword [ebx + 0x4c], xmm0
jmp 0x1007c4d5
movss xmm1, dword [ebx + 0x48]
addss xmm1, dword [0x10293db4]
inc word [ebx + 0x3e]
xor edx, edx
movss xmm0, dword [esi + 0x28]
mov ecx, dword [ebp - 0x154]
movss dword [ebp - 0x15c], xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x138], edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [esi + 0x2c]
movss dword [ebp - 0x124], xmm0
cmp dword [ecx + 0x80], edx
jle 0x1007c827
xor eax, eax
mov dword [ebp - 0x158], eax
mov esi, dword [ecx + 0x7c]
xor ecx, ecx
add esi, eax
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x12c], esi
cmp dword [esi + 0xc], ecx
jle 0x1007c805
xor edi, edi
mov edx, dword [esi + 0x10]
movzx eax, word [edx + edi]
test ax, ax
jne 0x1007c56b
cmp word [edx + edi + 4], ax
jne 0x1007c56b
cmp word [edx + edi + 2], ax
jne 0x1007c56b
cmp word [edx + edi + 6], ax
je 0x1007c7e6
mov eax, dword [esi + 4]
add eax, ecx
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 0x14c], eax
cmp byte [ecx + 0x34], 0
mov ecx, dword [ebp - 0x128]
je 0x1007c5cf
movzx eax, ax
mov dword [ebp - 0x150], eax
cmp eax, dword [ebx + 0x28]
jge 0x1007c5c4
mov esi, dword [ebp - 0x150]
mov eax, dword [ebx + 0x30]
movzx eax, word [eax + esi*2]
mov esi, 0xffff
cmp ax, si
mov esi, dword [ebp - 0x12c]
je 0x1007c5c4
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + ecx*8]
mov ecx, dword [ebp - 0x128]
jmp 0x1007c5c7
mov eax, dword [ebx + 0x34]
test eax, eax
jne 0x1007c7e6
mov eax, dword [ebp - 0x13c]
lea ecx, [ebx + 0x10]
movss xmm2, dword [0x10293df0]
movaps xmm1, xmm2
movd xmm0, dword [eax + 0x14]
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movd xmm0, dword [eax + 0x18]
movzx eax, word [edx + edi]
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movss xmm0, dword [edx + edi + 8]
movss dword [ebp - 0x150], xmm0
movss xmm0, dword [edx + edi + 0xc]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [edx + edi + 0x14]
movss dword [ebp - 0x18c], xmm0
movss xmm0, dword [edx + edi + 0x18]
movss dword [ebp - 0x190], xmm0
movd xmm0, eax
movzx eax, word [edx + edi + 2]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x194], xmm0
movd xmm0, eax
movzx eax, word [edx + edi + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [ebp - 0x198], xmm0
movd xmm0, eax
movzx eax, word [edx + edi + 6]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x19c], xmm0
movd xmm0, eax
mov eax, dword [ebx + 0x10]
cvtdq2ps xmm0, xmm0
inc eax
push eax
mulss xmm0, xmm2
movss dword [ebp - 0x1a0], xmm0
movss xmm0, dword [edx + edi + 0x10]
movss dword [ebp - 0x1a4], xmm0
call fcn.100055b0
mov eax, dword [ebx + 0x10]
xorps xmm1, xmm1
movss xmm0, dword [ebp - 0x150]
mov edx, dword [ebx + 0x18]
addss xmm0, xmm1
movss xmm3, dword [ebp - 0x194]
lea ecx, [eax + eax*4]
movss xmm4, dword [ebp - 0x198]
mov eax, dword [ebp - 0x14c]
movss xmm2, dword [ebp - 0x1a0]
addss xmm0, dword [ebp - 0x15c]
mov word [edx + ecx*8 - 0x28], ax
movss dword [edx + ecx*8 - 0x10], xmm3
movss dword [edx + ecx*8 - 0xc], xmm4
movss dword [edx + ecx*8 - 4], xmm2
movss dword [edx + ecx*8 - 0x20], xmm0
movss xmm0, dword [ebp - 0x120]
addss xmm0, xmm1
addss xmm0, dword [ebp - 0x124]
movss dword [edx + ecx*8 - 0x1c], xmm0
movss xmm0, dword [ebp - 0x18c]
addss xmm0, xmm1
addss xmm0, dword [ebp - 0x15c]
movss dword [edx + ecx*8 - 0x18], xmm0
movss xmm0, dword [ebp - 0x190]
addss xmm0, xmm1
movss xmm1, dword [ebp - 0x19c]
movss dword [edx + ecx*8 - 8], xmm1
addss xmm0, dword [ebp - 0x124]
movss dword [edx + ecx*8 - 0x14], xmm0
mov eax, dword [ebx + 0x40]
movss xmm0, dword [ebp - 0x1a4]
addss xmm0, dword [eax + 0x20]
movss dword [edx + ecx*8 - 0x24], xmm0
mov eax, dword [ebx + 0x40]
cmp byte [eax + 0x1c], 0
je 0x1007c799
addss xmm0, dword [0x10293db4]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + ecx*8 - 0x24], xmm0
mov eax, dword [ebx + 0x44]
subss xmm2, xmm4
subss xmm1, xmm3
mov esi, dword [ebp - 0x12c]
movd xmm0, dword [eax + 0x18]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, dword [0x10293e38]
cvttss2si ecx, xmm0
movd xmm0, dword [eax + 0x14]
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
addss xmm1, dword [0x10293e38]
cvttss2si eax, xmm1
imul ecx, eax
add dword [ebx + 0x50], ecx
mov ecx, dword [ebp - 0x128]
inc ecx
add edi, 0x1c
mov dword [ebp - 0x128], ecx
cmp ecx, dword [esi + 0xc]
jl 0x1007c546
mov eax, dword [ebp - 0x158]
mov edx, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x154]
inc edx
add eax, 0x18
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x158], eax
cmp edx, dword [ecx + 0x80]
jl 0x1007c528
mov eax, dword [ebp - 0x160]
add ecx, 0x88
mov ebx, dword [ebp - 0x13c]
inc eax
mov edx, dword [ebp - 0x144]
add edx, 0x64
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x154], ecx
cmp eax, dword [ebx + 0x3c]
jl 0x1007c410
mov ecx, dword [ebp - 0x148]
mov eax, dword [0x102a0b70]
test ecx, ecx
je 0x1007c873
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov ecx, dword [ebp - 0x134]
add esp, 4
mov eax, dword [0x102a0b70]
test ecx, ecx
je 0x1007c894
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov ecx, dword [ebp - 0x140]
add esp, 4
mov eax, dword [0x102a0b70]
test ecx, ecx
je 0x1007c8b5
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
mov ecx, ebx
call fcn.1007ae50
xor eax, eax
mov dword [ebp - 0x130], eax
cmp dword [ebx + 0x30], eax
jle 0x1007cae0
xor ecx, ecx
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebx + 0x38]
add edx, ecx
mov esi, dword [edx + 0x18]
mov dword [ebp - 0x138], esi
test esi, esi
je 0x1007cac7
mov edi, dword [edx]
mov dword [ebp - 0x1a4], edi
cmp edi, 0x10000
ja 0x1007cac7
movzx eax, word [edx + 8]
movd xmm1, dword [ebx + 0x14]
cvtdq2ps xmm1, xmm1
movzx ecx, word [edx + 0xa]
movzx edi, word [edx + 6]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movd xmm2, ecx
divss xmm0, xmm1
cvtdq2ps xmm2, xmm2
movss dword [ebp - 0x198], xmm0
movd xmm0, dword [ebx + 0x18]
cvtdq2ps xmm0, xmm0
movzx ebx, word [edx + 4]
add eax, ebx
divss xmm2, xmm0
movss dword [ebp - 0x194], xmm2
movd xmm2, eax
lea eax, [edi + ecx]
cvtdq2ps xmm2, xmm2
lea ecx, [esi + 0x10]
divss xmm2, xmm1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [esi + 0x10]
inc eax
push eax
movss dword [ebp - 0x190], xmm2
divss xmm1, xmm0
movss xmm0, dword [edx + 0x10]
movss dword [ebp - 0x1a0], xmm0
movss xmm0, dword [edx + 0x14]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x18c], xmm1
movss dword [ebp - 0x158], xmm0
call fcn.100055b0
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x18]
movss xmm1, dword [ebp - 0x1a0]
movss xmm2, dword [ebp - 0x19c]
movss xmm4, dword [ebp - 0x198]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1a4]
movss xmm3, dword [ebp - 0x18c]
movd xmm0, ebx
mov ebx, esi
cvtdq2ps xmm0, xmm0
mov word [edx + ecx*8 - 0x28], ax
movss dword [edx + ecx*8 - 0x20], xmm1
addss xmm0, xmm1
movss dword [edx + ecx*8 - 0x1c], xmm2
movss xmm1, dword [ebp - 0x194]
movss dword [edx + ecx*8 - 0x10], xmm4
movss dword [edx + ecx*8 - 0xc], xmm1
movss dword [edx + ecx*8 - 4], xmm3
movss dword [edx + ecx*8 - 0x18], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
addss xmm0, xmm2
movss xmm2, dword [ebp - 0x190]
movss dword [edx + ecx*8 - 8], xmm2
movss dword [edx + ecx*8 - 0x14], xmm0
mov eax, dword [ebx + 0x40]
movss xmm0, dword [ebp - 0x158]
addss xmm0, dword [eax + 0x20]
movss dword [edx + ecx*8 - 0x24], xmm0
mov eax, dword [ebx + 0x40]
cmp byte [eax + 0x1c], 0
je 0x1007ca74
addss xmm0, dword [0x10293db4]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + ecx*8 - 0x24], xmm0
mov eax, dword [ebx + 0x44]
subss xmm3, xmm1
subss xmm2, xmm4
movd xmm0, dword [eax + 0x18]
cvtdq2ps xmm0, xmm0
mulss xmm3, xmm0
movd xmm0, dword [eax + 0x14]
cvtdq2ps xmm0, xmm0
addss xmm3, dword [0x10293e38]
mulss xmm2, xmm0
addss xmm2, dword [0x10293e38]
cvttss2si ecx, xmm3
cvttss2si eax, xmm2
imul ecx, eax
mov eax, dword [ebp - 0x130]
add dword [ebx + 0x50], ecx
mov ebx, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x12c]
inc eax
add ecx, 0x1c
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], ecx
cmp eax, dword [ebx + 0x30]
jl 0x1007c8e1
xor esi, esi
cmp dword [ebx + 0x24], esi
jle 0x1007cb01
nop word [eax + eax]
mov ecx, dword [ebx + 0x2c]
mov ecx, dword [ecx + esi*4]
call fcn.1007a960
inc esi
cmp esi, dword [ebx + 0x24]
jl 0x1007caf0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001ed23
mov esp, ebp
pop ebp
ret