Function at 0x1007c0c0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101733ce
mov eax, dword fs:[0]
push eax
sub esp, 0x314
mov eax, dword [0x101bd92c]
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 edi, ecx
mov dword [ebp - 0x30c], edi
mov edx, dword [edi + 0x60]
lea ebx, [edi + 0x5c]
mov dword [ebp - 0x314], ebx
push dword [ebp - 0x314]
push ecx
mov ecx, dword [ebx]
call fcn.1007dcb0
mov eax, dword [ebx]
mov dword [ebx + 4], eax
mov esi, dword [edi + 0x40]
mov ecx, dword [edi + 0x48]
xor eax, eax
mov word [ebp - 0x70], ax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
sub ecx, esi
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [edi + 0x3c]
xor edi, edi
add esp, 8
mov dword [ebp - 0x310], eax
add eax, esi
mov dword [ebp - 0x4c], 0x333231c0
mov dword [ebp - 0x48], 0x37363534
mov dword [ebp - 0x44], 0xbd303938
mov word [ebp - 0x40], 0x8bb
mov dword [ebp - 0xc0], 0x310060
mov dword [ebp - 0xbc], 0x330032
mov dword [ebp - 0xb8], 0x350034
mov dword [ebp - 0xb4], 0x370036
mov dword [ebp - 0xb0], 0x390038
mov dword [ebp - 0xac], 0x2d0030
mov dword [ebp - 0xa8], 0x3d
mov dword [ebp - 0x20], 0x45575109
mov dword [ebp - 0x1c], 0x55595452
mov dword [ebp - 0x18], 0xdb504f49
mov word [ebp - 0x14], 0xdcdd
mov dword [ebp - 0xa4], 0x510000
mov dword [ebp - 0xa0], 0x450057
mov dword [ebp - 0x9c], 0x540052
mov dword [ebp - 0x98], 0x550059
mov dword [ebp - 0x94], 0x4f0049
mov dword [ebp - 0x90], 0x5b0050
mov dword [ebp - 0x8c], 0x5c005d
mov dword [ebp - 0x3c], 0x44534114
mov dword [ebp - 0x38], 0x4a484746
mov dword [ebp - 0x34], 0xdeba4c4b
mov byte [ebp - 0x30], 0xd
mov dword [ebp - 0x88], 0x410000
mov dword [ebp - 0x84], 0x440053
mov dword [ebp - 0x80], 0x470046
mov dword [ebp - 0x7c], 0x4a0048
mov dword [ebp - 0x78], 0x4c004b
mov dword [ebp - 0x74], 0x27003b
mov dword [ebp - 0x2c], 0x43585a10
mov dword [ebp - 0x28], 0x4d4e4256
mov dword [ebp - 0x24], 0x10bfbebc
mov dword [ebp - 0x6c], 0x5a0000
mov dword [ebp - 0x68], 0x430058
mov dword [ebp - 0x64], 0x420056
mov dword [ebp - 0x60], 0x4d004e
mov dword [ebp - 0x5c], 0x2e002c
mov dword [ebp - 0x58], 0x2f
mov dword [ebp - 0x318], 0x1b202e2d
mov dword [ebp - 0x2f4], edi
mov dword [ebp - 0x304], esi
mov dword [ebp - 0x2fc], eax
nop
lea ecx, [ebp - 0x280]
call fcn.1007b6a0
mov dword [ebp - 4], 0
cmp edi, 0xd
je 0x1007c2d8
mov eax, 0x18
mov dword [ebp - 0x234], 0
jmp 0x1007c2ed
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x234], 2
mov eax, dword [eax + 0x44]
sub eax, edx
mov dword [ebp - 0x308], edx
movq xmm0, qword [ebp - 0x308]
add edx, eax
movzx eax, byte [ebp + edi - 0x4c]
mov word [ebp - 0x212], ax
movzx eax, word [ebp + edi*2 - 0xc0]
mov word [ebp - 0x22e], ax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x300], edx
movq qword [ebp - 0x270], xmm0
movq xmm0, qword [ebp - 0x300]
lea ecx, [ebp - 0x280]
movq qword [ebp - 0x268], xmm0
cmp ecx, eax
jae 0x1007c37c
mov edx, dword [ebx]
cmp edx, ecx
ja 0x1007c37c
sub ecx, edx
mov eax, 0x92492493
imul ecx
mov eax, dword [ebx + 4]
add edx, ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp eax, dword [ebx + 8]
jne 0x1007c36e
push ecx
mov ecx, ebx
call fcn.1007daf0
mov eax, dword [ebx + 4]
imul esi, esi, 0x70
add esi, dword [ebx]
test eax, eax
je 0x1007c3a5
jmp 0x1007c396
cmp eax, dword [ebx + 8]
jne 0x1007c389
push ecx
mov ecx, ebx
call fcn.1007daf0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1007c3a5
lea esi, [ebp - 0x280]
mov ecx, 0x1c
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x2f4]
add dword [ebx + 4], 0x70
mov dword [ebp - 4], 1
cmp dword [ebp - 0x244], 0
je 0x1007c3c9
mov ecx, dword [ebp - 0x240]
test ecx, ecx
je 0x1007c3c9
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x258], 0
je 0x1007c3e9
mov ecx, dword [ebp - 0x254]
test ecx, ecx
je 0x1007c3e9
mov eax, dword [ecx]
push 1
call dword [eax]
mov edx, dword [ebp - 0x300]
inc edi
mov dword [ebp - 0x2f4], edi
cmp edi, 0xe
jl 0x1007c2b0
mov eax, dword [ebp - 0x30c]
xor edx, edx
mov esi, dword [eax + 0x3c]
mov eax, dword [ebp - 0x2fc]
mov dword [ebp - 0x304], eax
add eax, dword [ebp - 0x310]
mov dword [ebp - 0x2f4], edx
mov dword [ebp - 0x2fc], eax
jmp 0x1007c430
lea ecx, [ebp - 0x210]
call fcn.1007b6a0
mov dword [ebp - 4], 2
test edx, edx
je 0x1007c457
mov edi, 0x18
mov dword [ebp - 0x1c4], 0
jmp 0x1007c487
mov edi, 0x26
mov dword [ebp - 0x1c4], 2
xor ecx, ecx
jmp 0x1007c470
movzx eax, word [ecx + 0x10199a14]
mov word [ebp + ecx - 0x1b6], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x1007c470
movzx eax, byte [ebp + edx - 0x20]
mov word [ebp - 0x1a2], ax
movzx eax, word [ebp + edx*2 - 0xa4]
mov dword [ebp - 0x308], esi
movq xmm0, qword [ebp - 0x308]
add esi, edi
mov dword [ebp - 0x300], esi
mov esi, dword [ebx + 4]
mov word [ebp - 0x1be], ax
movq qword [ebp - 0x200], xmm0
movq xmm0, qword [ebp - 0x300]
lea eax, [ebp - 0x210]
movq qword [ebp - 0x1f8], xmm0
cmp eax, esi
jae 0x1007c5a4
mov eax, dword [ebx]
lea ecx, [ebp - 0x210]
cmp eax, ecx
ja 0x1007c5a4
sub ecx, eax
mov eax, 0x92492493
imul ecx
mov eax, dword [ebx + 8]
add edx, ecx
sar edx, 6
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp esi, eax
jne 0x1007c58b
mov ecx, eax
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jae 0x1007c58b
sub esi, dword [ebx]
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x2492492
sub eax, ecx
cmp eax, 1
jb 0x1007c69b
lea esi, [ecx + 1]
mov ecx, dword [ebx + 8]
sub ecx, dword [ebx]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
shr edx, 1
mov eax, 0x2492492
sub eax, edx
cmp eax, ecx
jae 0x1007c57c
xor ecx, ecx
jmp 0x1007c57e
add ecx, edx
cmp ecx, esi
cmovb ecx, esi
push ecx
mov ecx, ebx
call fcn.1007dbb0
mov eax, dword [ebx + 4]
imul edi, edi, 0x70
add edi, dword [ebx]
test eax, eax
je 0x1007c63a
mov esi, edi
mov edi, eax
jmp 0x1007c633
mov edi, dword [ebx + 8]
cmp esi, edi
jne 0x1007c626
mov ecx, edi
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jae 0x1007c626
sub esi, dword [ebx]
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x2492492
sub eax, ecx
cmp eax, 1
jb 0x1007c69b
sub edi, dword [ebx]
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 6
lea esi, [ecx + 1]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
shr edx, 1
mov eax, 0x2492492
sub eax, edx
cmp eax, ecx
jae 0x1007c617
xor ecx, ecx
jmp 0x1007c619
add ecx, edx
cmp ecx, esi
cmovb ecx, esi
push ecx
mov ecx, ebx
call fcn.1007dbb0
mov edi, dword [ebx + 4]
test edi, edi
je 0x1007c63a
lea esi, [ebp - 0x210]
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
add dword [ebx + 4], 0x70
mov dword [ebp - 4], 3
cmp dword [ebp - 0x1d4], 0
je 0x1007c65e
mov ecx, dword [ebp - 0x1d0]
test ecx, ecx
je 0x1007c65e
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1e8], 0
je 0x1007c67e
mov ecx, dword [ebp - 0x1e4]
test ecx, ecx
je 0x1007c67e
mov eax, dword [ecx]
push 1
call dword [eax]
mov edx, dword [ebp - 0x2f4]
inc edx
mov dword [ebp - 0x2f4], edx
cmp edx, 0xe
jge 0x1007c6a5
mov esi, dword [ebp - 0x300]
jmp 0x1007c430
push str.vector_T__too_long
call fcn.1008fb2e
mov eax, dword [ebp - 0x30c]
xor edx, edx
mov edi, dword [eax + 0x3c]
mov eax, dword [ebp - 0x2fc]
mov dword [ebp - 0x1c], eax
add eax, dword [ebp - 0x310]
mov dword [ebp - 0x2f4], edx
mov dword [ebp - 0x14], eax
jmp 0x1007c6d0
lea ecx, [ebp - 0x1a0]
call fcn.1007b6a0
mov dword [ebp - 4], 4
test edx, edx
jne 0x1007c719
lea esi, [edx + 0x2b]
mov dword [ebp - 0x154], 2
xor ecx, ecx
jmp 0x1007c700
movzx eax, word [ecx + str.Caps]
mov word [ebp + ecx - 0x146], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x1007c700
jmp 0x1007c758
cmp edx, 0xc
jne 0x1007c749
lea esi, [edx + 0x1f]
mov dword [ebp - 0x154], 2
xor ecx, ecx
lea ecx, [ecx]
movzx eax, word [ecx + str.Enter]
mov word [ebp + ecx - 0x146], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x1007c730
jmp 0x1007c758
mov esi, 0x18
mov dword [ebp - 0x154], 0
movzx eax, byte [ebp + edx - 0x3c]
mov word [ebp - 0x132], ax
movzx eax, word [ebp + edx*2 - 0x88]
mov dword [ebp - 0x20], edi
movq xmm0, qword [ebp - 0x20]
add edi, esi
mov esi, dword [ebx + 4]
mov word [ebp - 0x14e], ax
mov dword [ebp - 0x18], edi
movq qword [ebp - 0x190], xmm0
movq xmm0, qword [ebp - 0x18]
lea eax, [ebp - 0x1a0]
movq qword [ebp - 0x188], xmm0
cmp eax, esi
jae 0x1007c869
mov eax, dword [ebx]
lea ecx, [ebp - 0x1a0]
cmp eax, ecx
ja 0x1007c869
sub ecx, eax
mov eax, 0x92492493
imul ecx
mov eax, dword [ebx + 8]
add edx, ecx
sar edx, 6
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp esi, eax
jne 0x1007c850
mov ecx, eax
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jae 0x1007c850
sub esi, dword [ebx]
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x2492492
sub eax, ecx
cmp eax, 1
jb 0x1007c69b
lea esi, [ecx + 1]
mov ecx, dword [ebx + 8]
sub ecx, dword [ebx]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
shr edx, 1
mov eax, 0x2492492
sub eax, edx
cmp eax, ecx
jae 0x1007c841
xor ecx, ecx
jmp 0x1007c843
add ecx, edx
cmp ecx, esi
cmovb ecx, esi
push ecx
mov ecx, ebx
call fcn.1007dbb0
mov eax, dword [ebx + 4]
imul edi, edi, 0x70
add edi, dword [ebx]
test eax, eax
je 0x1007c8ff
mov esi, edi
mov edi, eax
jmp 0x1007c8f8
mov edi, dword [ebx + 8]
cmp esi, edi
jne 0x1007c8eb
mov ecx, edi
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jae 0x1007c8eb
sub esi, dword [ebx]
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x2492492
sub eax, ecx
cmp eax, 1
jb 0x1007c69b
sub edi, dword [ebx]
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 6
lea esi, [ecx + 1]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
shr edx, 1
mov eax, 0x2492492
sub eax, edx
cmp eax, ecx
jae 0x1007c8dc
xor ecx, ecx
jmp 0x1007c8de
add ecx, edx
cmp ecx, esi
cmovb ecx, esi
push ecx
mov ecx, ebx
call fcn.1007dbb0
mov edi, dword [ebx + 4]
test edi, edi
je 0x1007c8ff
lea esi, [ebp - 0x1a0]
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
add dword [ebx + 4], 0x70
mov dword [ebp - 4], 5
cmp dword [ebp - 0x164], 0
je 0x1007c923
mov ecx, dword [ebp - 0x160]
test ecx, ecx
je 0x1007c923
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x178], 0
je 0x1007c943
mov ecx, dword [ebp - 0x174]
test ecx, ecx
je 0x1007c943
mov eax, dword [ecx]
push 1
call dword [eax]
mov edx, dword [ebp - 0x2f4]
inc edx
mov dword [ebp - 0x2f4], edx
cmp edx, 0xd
jge 0x1007c95d
mov edi, dword [ebp - 0x18]
jmp 0x1007c6d0
mov eax, dword [ebp - 0x30c]
xor edx, edx
mov esi, dword [eax + 0x3c]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x304], eax
add eax, dword [ebp - 0x310]
mov dword [ebp - 0x2f8], edx
mov dword [ebp - 0x2fc], eax
lea ecx, [ebp - 0x2f0]
call fcn.1007b6a0
mov dword [ebp - 4], 6
test edx, edx
je 0x1007c9aa
mov eax, 0x18
mov dword [ebp - 0x2a4], 0
jmp 0x1007c9b9
mov eax, 0x3d
mov dword [ebp - 0x2a4], 2
mov dword [ebp - 0x308], esi
movq xmm0, qword [ebp - 0x308]
add esi, eax
mov dword [ebp - 0x2f4], eax
movzx eax, byte [ebp + edx - 0x2c]
mov word [ebp - 0x282], ax
movzx eax, word [ebp + edx*2 - 0x6c]
mov dword [ebp - 0x300], esi
mov esi, dword [ebx + 4]
mov word [ebp - 0x29e], ax
movq qword [ebp - 0x2e0], xmm0
movq xmm0, qword [ebp - 0x300]
lea eax, [ebp - 0x2f0]
movq qword [ebp - 0x2d8], xmm0
cmp eax, esi
jae 0x1007cad9
mov eax, dword [ebx]
lea ecx, [ebp - 0x2f0]
cmp eax, ecx
ja 0x1007cad9
sub ecx, eax
mov eax, 0x92492493
imul ecx
mov eax, dword [ebx + 8]
add edx, ecx
sar edx, 6
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp esi, eax
jne 0x1007cac0
mov ecx, eax
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jae 0x1007cac0
sub esi, dword [ebx]
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x2492492
sub eax, ecx
cmp eax, 1
jb 0x1007c69b
lea esi, [ecx + 1]
mov ecx, dword [ebx + 8]
sub ecx, dword [ebx]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
shr edx, 1
mov eax, 0x2492492
sub eax, edx
cmp eax, ecx
jae 0x1007cab1
xor ecx, ecx
jmp 0x1007cab3
add ecx, edx
cmp ecx, esi
cmovb ecx, esi
push ecx
mov ecx, ebx
call fcn.1007dbb0
mov eax, dword [ebx + 4]
imul edi, edi, 0x70
add edi, dword [ebx]
test eax, eax
je 0x1007cb6f
mov esi, edi
mov edi, eax
jmp 0x1007cb68
mov edi, dword [ebx + 8]
cmp esi, edi
jne 0x1007cb5b
mov ecx, edi
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jae 0x1007cb5b
sub esi, dword [ebx]
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x2492492
sub eax, ecx
cmp eax, 1
jb 0x1007c69b
sub edi, dword [ebx]
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 6
lea esi, [ecx + 1]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
shr edx, 1
mov eax, 0x2492492
sub eax, edx
cmp eax, ecx
jae 0x1007cb4c
xor ecx, ecx
jmp 0x1007cb4e
add ecx, edx
cmp ecx, esi
cmovb ecx, esi
push ecx
mov ecx, ebx
call fcn.1007dbb0
mov edi, dword [ebx + 4]
test edi, edi
je 0x1007cb6f
lea esi, [ebp - 0x2f0]
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
add dword [ebx + 4], 0x70
mov dword [ebp - 4], 7
cmp dword [ebp - 0x2b4], 0
je 0x1007cb93
mov ecx, dword [ebp - 0x2b0]
test ecx, ecx
je 0x1007cb93
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x2c8], 0
je 0x1007cbb3
mov ecx, dword [ebp - 0x2c4]
test ecx, ecx
je 0x1007cbb3
mov eax, dword [ecx]
push 1
call dword [eax]
mov edx, dword [ebp - 0x2f8]
inc edx
mov dword [ebp - 0x2f8], edx
cmp edx, 0xb
jge 0x1007cbd0
mov esi, dword [ebp - 0x300]
jmp 0x1007c983
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x310]
mov edi, dword [ebp - 0x30c]
mov ebx, dword [ebp - 0x314]
mov esi, dword [edi + 0x3c]
xor edx, edx
mov dword [ebp - 0x304], eax
add eax, dword [ebp - 0x310]
mov dword [ebp - 0x2f8], edx
mov dword [ebp - 0x2fc], eax
lea ecx, [ebp - 0x130]
call fcn.1007b6a0
mov dword [ebp - 4], 8
test edx, edx
jne 0x1007cc4a
mov esi, dword [edi + 0x3c]
mov dword [ebp - 0x2f4], 0x27
mov dword [ebp - 0xe4], 2
xor ecx, ecx
movzx eax, word [ecx + 0x1019d610]
mov word [ebp + ecx - 0xd6], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x1007cc31
jmp 0x1007ccc7
cmp edx, 1
jne 0x1007cc68
mov dword [ebp - 0x2f4], 0x27
lea esi, [edx + 0x45]
mov dword [ebp - 0xe4], 2
jmp 0x1007ccc7
cmp edx, 2
jne 0x1007cc82
mov dword [ebp - 0x2f4], 0xac
lea esi, [edx + 0x6b]
mov dword [ebp - 0xe4], edx
jmp 0x1007ccc7
cmp edx, 3
jne 0x1007ccc7
mov dword [ebp - 0x2f4], 0x28
mov esi, 0x138
mov dword [ebp - 0xe4], 2
xor ecx, ecx
jmp 0x1007ccb0
movzx eax, word [ecx + 0x10199a48]
mov word [ebp + ecx - 0xd6], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x1007ccb0
movzx eax, byte [ebp + edx - 0x318]
mov dword [ebp - 0x308], esi
add esi, dword [ebp - 0x2f4]
movq xmm0, qword [ebp - 0x308]
mov word [ebp - 0xc2], ax
movzx eax, word [ebp + edx*2 - 0x54]
mov dword [ebp - 0x300], esi
mov esi, dword [ebx + 4]
mov word [ebp - 0xde], ax
movq qword [ebp - 0x120], xmm0
movq xmm0, qword [ebp - 0x300]
lea eax, [ebp - 0x130]
movq qword [ebp - 0x118], xmm0
cmp eax, esi
jae 0x1007cde8
mov eax, dword [ebx]
lea ecx, [ebp - 0x130]
cmp eax, ecx
ja 0x1007cde8
sub ecx, eax
mov eax, 0x92492493
imul ecx
mov eax, dword [ebx + 8]
add edx, ecx
sar edx, 6
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp esi, eax
jne 0x1007cdcf
mov ecx, eax
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jae 0x1007cdcf
sub esi, dword [ebx]
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x2492492
sub eax, ecx
cmp eax, 1
jb 0x1007c69b
lea esi, [ecx + 1]
mov ecx, dword [ebx + 8]
sub ecx, dword [ebx]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
shr edx, 1
mov eax, 0x2492492
sub eax, edx
cmp eax, ecx
jae 0x1007cdc0
xor ecx, ecx
jmp 0x1007cdc2
add ecx, edx
cmp ecx, esi
cmovb ecx, esi
push ecx
mov ecx, ebx
call fcn.1007dbb0
mov eax, dword [ebx + 4]
imul edi, edi, 0x70
add edi, dword [ebx]
test eax, eax
je 0x1007ce7e
mov esi, edi
mov edi, eax
jmp 0x1007ce77
mov edi, dword [ebx + 8]
cmp esi, edi
jne 0x1007ce6a
mov ecx, edi
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jae 0x1007ce6a
sub esi, dword [ebx]
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x2492492
sub eax, ecx
cmp eax, 1
jb 0x1007c69b
sub edi, dword [ebx]
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 6
lea esi, [ecx + 1]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
shr edx, 1
mov eax, 0x2492492
sub eax, edx
cmp eax, ecx
jae 0x1007ce5b
xor ecx, ecx
jmp 0x1007ce5d
add ecx, edx
cmp ecx, esi
cmovb ecx, esi
push ecx
mov ecx, ebx
call fcn.1007dbb0
mov edi, dword [ebx + 4]
test edi, edi
je 0x1007ce7e
lea esi, [ebp - 0x130]
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
add dword [ebx + 4], 0x70
mov dword [ebp - 4], 9
cmp dword [ebp - 0xf4], 0
je 0x1007cea2
mov ecx, dword [ebp - 0xf0]
test ecx, ecx
je 0x1007cea2
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x108], 0
je 0x1007cec2
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x1007cec2
mov eax, dword [ecx]
push 1
call dword [eax]
mov edx, dword [ebp - 0x2f8]
inc edx
mov dword [ebp - 0x2f8], edx
cmp edx, 4
jge 0x1007cee5
mov esi, dword [ebp - 0x300]
mov edi, dword [ebp - 0x30c]
jmp 0x1007cc02
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.1009174c
mov esp, ebp
pop ebp
ret