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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c6044
mov eax, dword fs:[0]
push eax
sub esp, 0x19c
mov eax, dword [0x102a100c]
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 0x1007b368
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 0x1007b3a8
mov eax, dword [0x102a1b70]
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 0x1007b3c6
mov eax, dword [0x102a1b70]
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 0x1007b46a
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 0x1007b418
mov dword [eax + 0x30], 0x1024241c
mov edx, 0x1024241c
cmp word [edx], 0
je 0x1007b44f
nop
movzx eax, word [edx + 2]
test ax, ax
je 0x1007b43d
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 0x1007b420
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 0x1007b400
mov edi, dword [ebx + 4]
test edi, edi
jg 0x1007b4a2
cmp esi, 0xfa0
jle 0x1007b480
mov edi, 0x1000
jmp 0x1007b4a2
cmp esi, 0x7d0
jle 0x1007b48f
mov edi, 0x800
jmp 0x1007b4a2
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 [0x102a1b70]
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 [0x102a1b70]
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 0x1007b588
test ecx, ecx
je 0x1007b585
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.10086410
add esp, 0xc
jmp 0x1007b5a3
push edx
jmp 0x1007b58d
test ecx, ecx
je 0x1007b5a3
push ecx
mov eax, dword [0x102a1b70]
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 0x1007b64f
mov edx, 8
mov ecx, edi
cmp edi, edx
cmovl ecx, edx
mov edx, edi
test ecx, ecx
jle 0x1007b64f
mov eax, dword [0x102a1b70]
shl ecx, 4
push ecx
inc dword [eax + 0x310]
mov eax, dword [eax + 0xbc]
call eax
mov ecx, dword [0x102a1b70]
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.10021e30
add esp, 0xc
cmp dword [ebx + 0x30], 0
jle 0x1007b69b
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 0x1007b671
mov esi, dword [ebp - 0x120]
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x184]
push edi
call fcn.10085e50
add esp, 4
test edi, edi
jle 0x1007b70c
mov edx, dword [ebp - 0x124]
xor edi, edi
mov eax, dword [ebp - 0x140]
add edx, 0xa
cmp dword [edx + 2], 0
je 0x1007b6fb
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 0x1007b6c5
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x124]
test ecx, ecx
je 0x1007b734
mov eax, dword [0x102a1b70]
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 [0x102a1b70]
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 0x1007b8f6
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 0x1007b7aa
cmp byte [edx + 1], 0
jne 0x1007b8af
cmp byte [edx + 2], 0
jne 0x1007b8af
cmp byte [edx + 3], 0
jmp 0x1007b815
cmp al, 0x74
jne 0x1007b7c0
cmp byte [edx + 1], 0x79
jne 0x1007b7c0
cmp byte [edx + 2], 0x70
jne 0x1007b7c0
cmp byte [edx + 3], 0x31
je 0x1007b81b
cmp al, 0x4f
jne 0x1007b7dd
cmp byte [edx + 1], 0x54
jne 0x1007b8af
cmp byte [edx + 2], 0x54
jne 0x1007b8af
cmp byte [edx + 3], al
jmp 0x1007b815
test al, al
jne 0x1007b7f9
cmp byte [edx + 1], 1
jne 0x1007b8af
cmp byte [edx + 2], al
jne 0x1007b8af
cmp byte [edx + 3], al
jmp 0x1007b815
cmp al, 0x74
jne 0x1007b8af
cmp byte [edx + 1], 0x72
jne 0x1007b824
cmp byte [edx + 2], 0x75
jne 0x1007b8af
cmp byte [edx + 3], 0x65
jne 0x1007b8af
neg esi
sbb esi, esi
jmp 0x1007b8b2
cmp byte [edx + 1], 0x74
jne 0x1007b8af
cmp byte [edx + 2], 0x63
jne 0x1007b8af
cmp byte [edx + 3], 0x66
jne 0x1007b8af
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 0x1007b867
cmp eax, 0x20000
jne 0x1007b8af
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 0x1007b8af
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 0x1007b8b2
or esi, 0xffffffff
push esi
mov esi, dword [ebp - 0x148]
mov ecx, esi
call fcn.10084d60
add esp, 4
test eax, eax
je 0x1007bb1d
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 0x1007b780
mov esi, dword [ebp - 0x120]
mov eax, dword [0x102a1b70]
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 [0x102a1b70]
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 [0x102a1b70]
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.10021e30
add esp, 0xc
push dword [ebp - 0x120]
push 0
push dword [ebp - 0x154]
call fcn.10021e30
add esp, 0xc
push esi
push 0
push dword [ebp - 0x134]
call fcn.10021e30
add esp, 0xc
mov dword [ebp - 0x12c], 0
cmp dword [ebx + 0x3c], 0
jle 0x1007bc5c
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 0x1007ba4f
mov ebx, esi
nop word [eax + eax]
movzx ecx, word [edx + 2]
test cx, cx
je 0x1007ba3d
add edx, 4
movzx eax, ax
sub ecx, eax
inc ebx
add ebx, ecx
inc esi
movzx eax, word [edx]
test ax, ax
jne 0x1007ba20
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 0x1007bb45
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 0x1007baa0
mov edi, dword [ebp - 0x120]
mov eax, dword [edi + 0x80]
mov esi, dword [edi + 0x84]
mov dword [ebp - 0x14c], eax
jmp 0x1007bb4b
mov ecx, dword [ebp - 0x140]
mov eax, dword [0x102a1b70]
test ecx, ecx
je 0x1007bb32
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
xor al, al
jmp 0x1007c623
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.1007e800
mov edx, dword [edi + 0x78]
add esp, 0xc
mov ecx, dword [ebp - 0x184]
mov esi, eax
push esi
call fcn.10085e50
mov ebx, dword [ebp - 0x13c]
add esp, 4
test esi, esi
jle 0x1007bc0a
xor edx, edx
mov eax, dword [edi + 0x78]
cmp dword [edx + eax + 0xc], 0
je 0x1007bc02
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 0x1007bbe2
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 0x1007bc54
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x15c], eax
jmp 0x1007b9f0
mov edi, dword [ebp - 0x170]
jmp 0x1007bc61
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 [0x102a1b70]
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.10021e30
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 0x1007be9a
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.1007e1d0
movss xmm1, dword [esi + 0x3c]
add esp, 0xc
ucomiss xmm1, dword [0x102943f0]
movss dword [ebp - 0x138], xmm1
lahf
test ah, 0x44
jnp 0x1007be51
xor esi, esi
nop word [eax + eax]
movd xmm0, esi
mov eax, esi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10295a10]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.100c1990
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 0x1007bd70
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 0x1007be4b
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x120]
nop
cmp dword [ebx + 0xc], 0
je 0x1007be36
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 0x1007be30
xor ecx, ecx
test esi, esi
je 0x1007be23
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 0x1007be10
mov ecx, dword [ebp - 0x178]
dec edi
add edx, ecx
test edi, edi
jg 0x1007be05
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 0x1007bde0
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 0x1007be9a
mov edx, dword [ebp - 0x16c]
mov edi, dword [ebp - 0x170]
jmp 0x1007bd01
cmp dword [ebp - 0x164], 0
mov eax, dword [0x102a1b70]
je 0x1007beae
dec dword [eax + 0x310]
push dword [ebp - 0x164]
mov eax, dword [eax + 0xc0]
call eax
mov eax, dword [0x102a1b70]
add esp, 4
cmp dword [ebp - 0x184], 0
je 0x1007bed3
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 [0x102a1b70]
test ecx, ecx
je 0x1007bef9
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 0x1007c37e
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 0x1007bff0
mov ecx, ebx
call fcn.1007a6f0
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 0x1007bff5
movss xmm1, dword [ebx + 0x48]
addss xmm1, dword [0x102943b4]
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 0x1007c347
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 0x1007c325
xor edi, edi
mov edx, dword [esi + 0x10]
movzx eax, word [edx + edi]
test ax, ax
jne 0x1007c08b
cmp word [edx + edi + 4], ax
jne 0x1007c08b
cmp word [edx + edi + 2], ax
jne 0x1007c08b
cmp word [edx + edi + 6], ax
je 0x1007c306
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 0x1007c0ef
movzx eax, ax
mov dword [ebp - 0x150], eax
cmp eax, dword [ebx + 0x28]
jge 0x1007c0e4
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 0x1007c0e4
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + ecx*8]
mov ecx, dword [ebp - 0x128]
jmp 0x1007c0e7
mov eax, dword [ebx + 0x34]
test eax, eax
jne 0x1007c306
mov eax, dword [ebp - 0x13c]
lea ecx, [ebx + 0x10]
movss xmm2, dword [0x102943f0]
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 0x1007c2b9
addss xmm0, dword [0x102943b4]
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 [0x10294438]
cvttss2si ecx, xmm0
movd xmm0, dword [eax + 0x14]
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
addss xmm1, dword [0x10294438]
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 0x1007c066
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 0x1007c048
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 0x1007bf30
mov ecx, dword [ebp - 0x148]
mov eax, dword [0x102a1b70]
test ecx, ecx
je 0x1007c393
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov ecx, dword [ebp - 0x134]
add esp, 4
mov eax, dword [0x102a1b70]
test ecx, ecx
je 0x1007c3b4
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov ecx, dword [ebp - 0x140]
add esp, 4
mov eax, dword [0x102a1b70]
test ecx, ecx
je 0x1007c3d5
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
mov ecx, ebx
call fcn.1007a970
xor eax, eax
mov dword [ebp - 0x130], eax
cmp dword [ebx + 0x30], eax
jle 0x1007c600
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 0x1007c5e7
mov edi, dword [edx]
mov dword [ebp - 0x1a4], edi
cmp edi, 0x10000
ja 0x1007c5e7
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 0x1007c594
addss xmm0, dword [0x102943b4]
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 [0x10294438]
mulss xmm2, xmm0
addss xmm2, dword [0x10294438]
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 0x1007c401
xor esi, esi
cmp dword [ebx + 0x24], esi
jle 0x1007c621
nop word [eax + eax]
mov ecx, dword [ebx + 0x2c]
mov ecx, dword [ecx + esi*4]
call fcn.1007a480
inc esi
cmp esi, dword [ebx + 0x24]
jl 0x1007c610
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.1001e823
mov esp, ebp
pop ebp
ret