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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c5514
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 0x1007b2d8
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.100077e0
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 0x1007b318
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 0x1007b336
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 0x1007b3da
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 0x1007b388
mov dword [eax + 0x30], 0x102413fc
mov edx, 0x102413fc
cmp word [edx], 0
je 0x1007b3bf
nop
movzx eax, word [edx + 2]
test ax, ax
je 0x1007b3ad
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 0x1007b390
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 0x1007b370
mov edi, dword [ebx + 4]
test edi, edi
jg 0x1007b412
cmp esi, 0xfa0
jle 0x1007b3f0
mov edi, 0x1000
jmp 0x1007b412
cmp esi, 0x7d0
jle 0x1007b3ff
mov edi, 0x800
jmp 0x1007b412
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 0x1007b4f8
test ecx, ecx
je 0x1007b4f5
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.10086380
add esp, 0xc
jmp 0x1007b513
push edx
jmp 0x1007b4fd
test ecx, ecx
je 0x1007b513
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 0x1007b5bf
mov edx, 8
mov ecx, edi
cmp edi, edx
cmovl ecx, edx
mov edx, edi
test ecx, ecx
jle 0x1007b5bf
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.10021e70
add esp, 0xc
cmp dword [ebx + 0x30], 0
jle 0x1007b60b
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 0x1007b5e1
mov esi, dword [ebp - 0x120]
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x184]
push edi
call fcn.10085dc0
add esp, 4
test edi, edi
jle 0x1007b67c
mov edx, dword [ebp - 0x124]
xor edi, edi
mov eax, dword [ebp - 0x140]
add edx, 0xa
cmp dword [edx + 2], 0
je 0x1007b66b
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 0x1007b635
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x124]
test ecx, ecx
je 0x1007b6a4
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 0x1007b866
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 0x1007b71a
cmp byte [edx + 1], 0
jne 0x1007b81f
cmp byte [edx + 2], 0
jne 0x1007b81f
cmp byte [edx + 3], 0
jmp 0x1007b785
cmp al, 0x74
jne 0x1007b730
cmp byte [edx + 1], 0x79
jne 0x1007b730
cmp byte [edx + 2], 0x70
jne 0x1007b730
cmp byte [edx + 3], 0x31
je 0x1007b78b
cmp al, 0x4f
jne 0x1007b74d
cmp byte [edx + 1], 0x54
jne 0x1007b81f
cmp byte [edx + 2], 0x54
jne 0x1007b81f
cmp byte [edx + 3], al
jmp 0x1007b785
test al, al
jne 0x1007b769
cmp byte [edx + 1], 1
jne 0x1007b81f
cmp byte [edx + 2], al
jne 0x1007b81f
cmp byte [edx + 3], al
jmp 0x1007b785
cmp al, 0x74
jne 0x1007b81f
cmp byte [edx + 1], 0x72
jne 0x1007b794
cmp byte [edx + 2], 0x75
jne 0x1007b81f
cmp byte [edx + 3], 0x65
jne 0x1007b81f
neg esi
sbb esi, esi
jmp 0x1007b822
cmp byte [edx + 1], 0x74
jne 0x1007b81f
cmp byte [edx + 2], 0x63
jne 0x1007b81f
cmp byte [edx + 3], 0x66
jne 0x1007b81f
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 0x1007b7d7
cmp eax, 0x20000
jne 0x1007b81f
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 0x1007b81f
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 0x1007b822
or esi, 0xffffffff
push esi
mov esi, dword [ebp - 0x148]
mov ecx, esi
call fcn.10084cd0
add esp, 4
test eax, eax
je 0x1007ba8d
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 0x1007b6f0
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.10021e70
add esp, 0xc
push dword [ebp - 0x120]
push 0
push dword [ebp - 0x154]
call fcn.10021e70
add esp, 0xc
push esi
push 0
push dword [ebp - 0x134]
call fcn.10021e70
add esp, 0xc
mov dword [ebp - 0x12c], 0
cmp dword [ebx + 0x3c], 0
jle 0x1007bbcc
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 0x1007b9bf
mov ebx, esi
nop word [eax + eax]
movzx ecx, word [edx + 2]
test cx, cx
je 0x1007b9ad
add edx, 4
movzx eax, ax
sub ecx, eax
inc ebx
add ebx, ecx
inc esi
movzx eax, word [edx]
test ax, ax
jne 0x1007b990
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 0x1007bab5
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 0x1007ba10
mov edi, dword [ebp - 0x120]
mov eax, dword [edi + 0x80]
mov esi, dword [edi + 0x84]
mov dword [ebp - 0x14c], eax
jmp 0x1007babb
mov ecx, dword [ebp - 0x140]
mov eax, dword [0x102a0b70]
test ecx, ecx
je 0x1007baa2
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
xor al, al
jmp 0x1007c593
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.1007e770
mov edx, dword [edi + 0x78]
add esp, 0xc
mov ecx, dword [ebp - 0x184]
mov esi, eax
push esi
call fcn.10085dc0
mov ebx, dword [ebp - 0x13c]
add esp, 4
test esi, esi
jle 0x1007bb7a
xor edx, edx
mov eax, dword [edi + 0x78]
cmp dword [edx + eax + 0xc], 0
je 0x1007bb72
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 0x1007bb52
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 0x1007bbc4
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x15c], eax
jmp 0x1007b960
mov edi, dword [ebp - 0x170]
jmp 0x1007bbd1
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.10021e70
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 0x1007be0a
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.1007e140
movss xmm1, dword [esi + 0x3c]
add esp, 0xc
ucomiss xmm1, dword [0x102931d8]
movss dword [ebp - 0x138], xmm1
lahf
test ah, 0x44
jnp 0x1007bdc1
xor esi, esi
nop word [eax + eax]
movd xmm0, esi
mov eax, esi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x102947f0]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.100c0e70
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 0x1007bce0
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 0x1007bdbb
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x120]
nop
cmp dword [ebx + 0xc], 0
je 0x1007bda6
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 0x1007bda0
xor ecx, ecx
test esi, esi
je 0x1007bd93
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 0x1007bd80
mov ecx, dword [ebp - 0x178]
dec edi
add edx, ecx
test edi, edi
jg 0x1007bd75
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 0x1007bd50
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 0x1007be0a
mov edx, dword [ebp - 0x16c]
mov edi, dword [ebp - 0x170]
jmp 0x1007bc71
cmp dword [ebp - 0x164], 0
mov eax, dword [0x102a0b70]
je 0x1007be1e
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 0x1007be43
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 0x1007be69
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 0x1007c2ee
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 0x1007bf60
mov ecx, ebx
call fcn.1007a660
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 0x1007bf65
movss xmm1, dword [ebx + 0x48]
addss xmm1, dword [0x1029319c]
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 0x1007c2b7
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 0x1007c295
xor edi, edi
mov edx, dword [esi + 0x10]
movzx eax, word [edx + edi]
test ax, ax
jne 0x1007bffb
cmp word [edx + edi + 4], ax
jne 0x1007bffb
cmp word [edx + edi + 2], ax
jne 0x1007bffb
cmp word [edx + edi + 6], ax
je 0x1007c276
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 0x1007c05f
movzx eax, ax
mov dword [ebp - 0x150], eax
cmp eax, dword [ebx + 0x28]
jge 0x1007c054
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 0x1007c054
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + ecx*8]
mov ecx, dword [ebp - 0x128]
jmp 0x1007c057
mov eax, dword [ebx + 0x34]
test eax, eax
jne 0x1007c276
mov eax, dword [ebp - 0x13c]
lea ecx, [ebx + 0x10]
movss xmm2, dword [0x102931d8]
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.10005610
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 0x1007c229
addss xmm0, dword [0x1029319c]
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 [0x10293218]
cvttss2si ecx, xmm0
movd xmm0, dword [eax + 0x14]
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
addss xmm1, dword [0x10293218]
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 0x1007bfd6
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 0x1007bfb8
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 0x1007bea0
mov ecx, dword [ebp - 0x148]
mov eax, dword [0x102a0b70]
test ecx, ecx
je 0x1007c303
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 0x1007c324
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 0x1007c345
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
mov ecx, ebx
call fcn.1007a8e0
xor eax, eax
mov dword [ebp - 0x130], eax
cmp dword [ebx + 0x30], eax
jle 0x1007c570
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 0x1007c557
mov edi, dword [edx]
mov dword [ebp - 0x1a4], edi
cmp edi, 0x10000
ja 0x1007c557
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.10005610
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 0x1007c504
addss xmm0, dword [0x1029319c]
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 [0x10293218]
mulss xmm2, xmm0
addss xmm2, dword [0x10293218]
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 0x1007c371
xor esi, esi
cmp dword [ebx + 0x24], esi
jle 0x1007c591
nop word [eax + eax]
mov ecx, dword [ebx + 0x2c]
mov ecx, dword [ecx + esi*4]
call fcn.1007a3f0
inc esi
cmp esi, dword [ebx + 0x24]
jl 0x1007c580
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.1001e883
mov esp, ebp
pop ebp
ret