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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100afa9b
mov eax, dword fs:[0]
push eax
sub esp, 0x378
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x2fc], edi
mov esi, dword [edi + 0x38c]
mov eax, dword [ebp + 0xc]
mov edx, dword [0x100ec59c]
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x314], edx
test esi, esi
je 0x10028019
test dl, 1
je 0x10028039
mov eax, 0xcccccccd
mul edx
shr edx, 4
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 0x314]
shl ecx, 2
mov eax, edx
sub eax, ecx
jne 0x1002abd6
xor cl, cl
mov byte [ebp - 0x2d9], cl
cmp byte [edi + 0x394], cl
je 0x10028232
cmp esi, 3
je 0x1002806e
mov esi, dword [ebp - 0x314]
mov eax, 0xcccccccd
mul edx
mov eax, esi
shr edx, 5
lea ecx, [edx + edx*4]
shl ecx, 3
sub eax, ecx
jne 0x100280dc
mov ecx, edi
call fcn.1002ac00
test al, al
je 0x100280b3
mov eax, dword [edi + 0x38c]
cmp eax, 3
je 0x100280d6
mov cl, 1
mov byte [ebp - 0x2d9], cl
cmp eax, 1
je 0x10028096
cmp eax, 2
jne 0x100280a1
call fcn.10027f10
mov cl, byte [ebp - 0x2d9]
mov esi, dword [0x100ec59c]
mov dword [edi + 0x38c], 3
jmp 0x100280e2
cmp dword [edi + 0x38c], 3
jne 0x100280d6
mov esi, dword [0x100ec59c]
mov cl, 1
mov byte [ebp - 0x2d9], cl
mov dword [edi + 0x38c], 0
jmp 0x100280e2
mov esi, dword [0x100ec59c]
mov cl, byte [ebp - 0x2d9]
cmp dword [edi], 0
je 0x1002850f
test cl, cl
jne 0x1002851c
cmp dword [edi + 0x38c], 3
je 0x10028278
mov eax, 0xcccccccd
mul esi
mov eax, esi
shr edx, 4
lea ecx, [edx + edx*4]
shl ecx, 2
sub eax, ecx
jne 0x10028278
xor esi, esi
lea eax, [ebp - 0x20c]
push 0x1fc
push esi
push eax
mov dword [ebp - 0x210], esi
call sub.MSVCR120.dll_memset
add esp, 0xc
mov dword [ebp - 0x2e4], 0x40
lea eax, [ebp - 0x2e4]
push 8
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.USER32.dll_GetRawInputDeviceList]
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x310], ecx
mov dword [ebp - 0x2f8], eax
test ecx, ecx
jle 0x100284d0
nop
lea ecx, [ebp - 0x308]
mov dword [ebp - 0x358], 0
push ecx
lea ecx, [ebp - 0x358]
mov dword [ebp - 0x33c], 0
push ecx
push 0x2000000b
push dword [ebp + eax*8 - 0x210]
xorps xmm0, xmm0
mov dword [ebp - 0x308], 0x20
movdqu xmmword [ebp - 0x354], xmm0
movq qword [ebp - 0x344], xmm0
call dword [sym.imp.USER32.dll_GetRawInputDeviceInfoW]
cmp dword [ebp - 0x354], 2
jne 0x100281ed
cmp word [ebp - 0x344], 1
jne 0x100281ed
mov ax, word [ebp - 0x342]
cmp ax, 4
je 0x1002820c
cmp ax, 5
mov eax, 5
cmove esi, eax
mov eax, dword [ebp - 0x2f8]
inc eax
mov dword [ebp - 0x2f8], eax
cmp eax, dword [ebp - 0x310]
jl 0x10028170
cmp si, 4
jne 0x1002823d
cmp dword [edi + 0x38c], 1
je 0x10028272
call fcn.10027f10
push 4
mov ecx, edi
call fcn.10027ec0
mov dword [edi + 0x38c], 1
jmp 0x1002851c
mov esi, dword [ebp - 0x314]
jmp 0x100280e2
cmp si, 5
jne 0x10028269
cmp dword [edi + 0x38c], 2
je 0x10028272
call fcn.10027f10
push 5
mov ecx, edi
call fcn.10027ec0
mov dword [edi + 0x38c], 2
jmp 0x1002851c
test si, si
je 0x100284d0
mov esi, dword [0x100ec59c]
cmp byte [edi + 0x428], 0
je 0x1002abc8
xor eax, eax
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 4], eax
lea eax, [edi + 0x3dc]
mov dword [ebp - 0x314], eax
mov eax, dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x2f8], ecx
cmp ecx, eax
je 0x100282ea
mov eax, dword [ecx + 0x10]
lea ecx, [ebp - 0x2f8]
mov byte [eax + edi + 0x364], 1
call fcn.10009e10
mov ecx, dword [ebp - 0x2f8]
cmp ecx, dword [edi + 0x3dc]
jne 0x100282c6
cmp dword [edi + 0x3f4], 0
je 0x100289a1
mov eax, 0xcccccccd
mul esi
shr edx, 4
lea eax, [edx + edx*4]
shl eax, 2
sub esi, eax
jne 0x100289a1
mov ecx, dword [edi + 0x424]
call fcn.1001d870
test al, al
jne 0x10028349
mov ecx, dword [edi + 0x424]
cmp dword [ecx + 0xeec], 0x12
jne 0x100289a1
add ecx, 0xedc
mov edx, str.com.mobile.legends
call fcn.10011a60
test al, al
je 0x100289a1
mov eax, dword [edi + 0x424]
lea ecx, [ebp - 0x330]
push ecx
mov ecx, eax
mov dword [ebp - 0x308], eax
call fcn.10012430
mov eax, dword [ebp - 0x32c]
mov ecx, dword [ebp - 0x330]
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0x33c], eax
movd xmm2, eax
movd xmm3, ecx
cvtdq2pd xmm2, xmm2
mov dword [ebp - 0x348], 0
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x304], 0
cvtdq2pd xmm3, xmm3
divsd xmm3, xmm2
movapd xmm1, xmm3
movsd qword [ebp - 0x370], xmm3
subsd xmm1, qword [0x100ce228]
mulsd xmm1, qword [0x100ce330]
mulsd xmm1, qword [0x100ce140]
addsd xmm1, qword [0x100ce320]
mulsd xmm1, xmm2
divsd xmm1, qword [0x100ce330]
cvttsd2si ecx, xmm1
mov dword [ebp - 0x300], ecx
imul ecx, eax, 0x1dc
mov eax, 0x91a2b3c5
imul ecx
add edx, ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x2e4], eax
mov eax, dword [edi + 0x3f0]
mov edi, eax
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x2f8], edi
mov esi, dword [eax]
mov dword [ebp - 0x30c], esi
cmp esi, eax
je 0x10028742
mov edx, dword [ebp - 0x2fc]
movsd xmm4, qword [0x100ce230]
cvttsd2si ecx, xmm1
mov eax, dword [edx + 0x3f0]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x330]
sub eax, ecx
mov dword [ebp - 0x2f8], eax
mov edi, edi
mov eax, dword [esi + 0x20]
mov ecx, dword [ebp - 0x308]
mov dword [ebp - 0x320], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x31c], eax
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x348]
push eax
call fcn.1001f2f0
mov eax, dword [ebp - 0x2f8]
cmp dword [ebp - 0x320], eax
jle 0x1002870f
mov ecx, dword [ebp - 0x32c]
mov eax, ecx
sub eax, dword [ebp - 0x2e4]
mov edx, dword [ebp - 0x31c]
cmp edx, eax
jle 0x1002870f
comisd xmm3, xmm4
jbe 0x10028694
movsd xmm2, qword [0x100ce258]
jmp 0x1002869c
cmp dword [edi + 0x38c], 1
jne 0x100284ef
mov byte [ebp - 0x2d9], 1
call fcn.10027f10
mov dword [edi + 0x38c], 0
cmp dword [edi + 0x38c], 2
jne 0x10028509
call fcn.10027f10
mov dword [edi + 0x38c], 0
jmp 0x1002851c
mov esi, dword [0x100ec59c]
cmp byte [ebp - 0x2d9], 0
je 0x10028278
push dword [ebp - 0x324]
mov ecx, edi
call fcn.1002b210
mov ecx, dword [edi + 0x38c]
test ecx, ecx
jne 0x1002853b
mov dword [ebp - 0x30c], ecx
jmp 0x1002854a
xor eax, eax
cmp ecx, 1
setne al
inc eax
mov dword [ebp - 0x30c], eax
mov dword [ebp - 0x304], 0
mov dword [ebp - 0x314], 0
test ecx, ecx
je 0x1002866f
push 0x1fc
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x210], 0
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
mov dword [ebp - 0x324], 0x40
lea eax, [ebp - 0x324]
push 8
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.USER32.dll_GetRawInputDeviceList]
xor esi, esi
mov dword [ebp - 0x308], eax
test eax, eax
jle 0x1002866f
jmp 0x100285c0
lea eax, [ebp - 0x2e4]
mov dword [ebp - 0x358], 0
push eax
lea eax, [ebp - 0x358]
mov dword [ebp - 0x33c], 0
push eax
push 0x2000000b
push dword [ebp + esi*8 - 0x210]
xorps xmm0, xmm0
mov dword [ebp - 0x2e4], 0x20
movdqu xmmword [ebp - 0x354], xmm0
movq qword [ebp - 0x344], xmm0
call dword [sym.imp.USER32.dll_GetRawInputDeviceInfoW]
cmp dword [ebp - 0x354], 2
jne 0x10028648
cmp word [ebp - 0x344], 1
jne 0x10028648
mov eax, dword [ebp - 0x30c]
cmp eax, 1
jne 0x10028639
cmp word [ebp - 0x342], 4
jmp 0x10028646
cmp eax, 2
jne 0x10028648
cmp word [ebp - 0x342], 5
je 0x10028657
inc esi
cmp esi, dword [ebp - 0x308]
jl 0x100285c0
jmp 0x1002866f
mov eax, dword [ebp - 0x350]
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x34c]
mov dword [ebp - 0x314], eax
mov ecx, dword [edi + 0x414]
push dword [ebp - 0x314]
push dword [ebp - 0x304]
mov eax, dword [ecx]
push dword [ebp - 0x30c]
call dword [eax + 0x98]
jmp 0x1002abd0
movsd xmm2, qword [0x100ce240]
mov eax, dword [ebp - 0x330]
sub eax, dword [ebp - 0x320]
movd xmm1, eax
mov eax, ecx
sub eax, edx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, dword [ebp - 0x310]
divsd xmm1, xmm0
comisd xmm1, xmm2
cmova eax, esi
comisd xmm3, xmm4
mov dword [ebp - 0x310], eax
jbe 0x100286e3
movsd xmm0, qword [0x100ce1e0]
jmp 0x100286eb
movsd xmm0, qword [0x100ce198]
comisd xmm0, xmm1
jbe 0x10028709
mov eax, dword [ebp - 0x2fc]
cmp edi, dword [eax + 0x3f0]
je 0x10028707
mov eax, dword [esi + 0x20]
cmp eax, dword [edi + 0x20]
jle 0x10028709
mov edi, esi
inc dword [ebp - 0x304]
lea ecx, [ebp - 0x30c]
call fcn.10009e10
mov esi, dword [ebp - 0x30c]
movsd xmm3, qword [ebp - 0x370]
movsd xmm4, qword [0x100ce230]
cmp esi, dword [ebp - 0x318]
jne 0x10028460
mov dword [ebp - 0x2f8], edi
xor ecx, ecx
mov eax, 0x91a2b3c5
cmp dword [ebp - 0x304], 4
setl cl
lea ecx, [ecx*8 + 0x1c]
imul ecx, dword [ebp - 0x32c]
imul ecx
mov eax, dword [ebp - 0x308]
add edx, ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp dword [eax + 0xeec], 0x12
mov dword [ebp - 0x30c], ecx
jne 0x100287bb
lea ecx, [eax + 0xedc]
mov edx, str.com.mobile.legends
call fcn.10011a60
test al, al
je 0x100287bb
mov eax, dword [ebp - 0x30c]
lea ecx, [eax + eax*2]
mov eax, 0x38e38e39
shl ecx, 4
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x30c], eax
mov esi, dword [ebp - 0x2fc]
mov eax, dword [ebp - 0x310]
cmp eax, dword [esi + 0x3f0]
je 0x100287db
mov ecx, dword [eax + 0x24]
sub ecx, dword [ebp - 0x30c]
mov dword [eax + 0x1c], ecx
cmp edi, dword [esi + 0x3f0]
je 0x10028877
mov ecx, dword [esi + 0x424]
call fcn.1001d870
test al, al
jne 0x10028877
mov eax, dword [edi + 0x20]
mov ecx, dword [esi + 0x424]
mov dword [ebp - 0x320], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x31c], eax
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x348]
push eax
call fcn.1001f2f0
mov eax, dword [ebp - 0x330]
sub eax, dword [ebp - 0x320]
movd xmm1, eax
mov eax, dword [ebp - 0x32c]
sub eax, dword [ebp - 0x31c]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
subsd xmm1, qword [0x100ce188]
andpd xmm1, xmmword [0x100ce6d0]
comisd xmm1, xmmword [0x100ce080]
jbe 0x10028877
mov eax, dword [edi + 0x20]
sub eax, dword [ebp - 0x30c]
mov dword [edi + 0x18], eax
cmp dword [ebp - 0x304], 4
mov edi, esi
jne 0x100289a1
mov ecx, dword [edi + 0x424]
call fcn.1001d870
test al, al
jne 0x100289a1
mov eax, dword [edi + 0x3f0]
mov edi, eax
mov dword [ebp - 0x304], eax
mov esi, dword [eax]
mov dword [ebp - 0x308], esi
cmp esi, eax
je 0x1002898b
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 0x424]
mov eax, dword [eax + 0x3f0]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x330]
sub eax, dword [ebp - 0x300]
mov dword [ebp - 0x310], ecx
mov dword [ebp - 0x300], eax
jmp 0x100288f0
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x320], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x31c], eax
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x348]
push eax
call fcn.1001f2f0
mov eax, dword [ebp - 0x300]
cmp dword [ebp - 0x320], eax
jle 0x10028962
mov eax, dword [ebp - 0x32c]
sub eax, dword [ebp - 0x2e4]
cmp dword [ebp - 0x31c], eax
jle 0x10028962
mov eax, dword [ebp - 0x2fc]
cmp edi, dword [eax + 0x3f0]
jne 0x10028951
cmp esi, dword [ebp - 0x2f8]
je 0x10028962
mov edi, esi
jmp 0x10028962
mov eax, dword [esi + 0x20]
cmp eax, dword [edi + 0x20]
jle 0x10028962
cmp esi, dword [ebp - 0x2f8]
cmovne edi, esi
lea ecx, [ebp - 0x308]
call fcn.10009e10
mov esi, dword [ebp - 0x308]
mov ecx, dword [ebp - 0x310]
cmp esi, dword [ebp - 0x318]
jne 0x100288f0
mov eax, dword [ebp - 0x304]
cmp edi, eax
je 0x1002899b
mov eax, dword [edi + 0x20]
sub eax, dword [ebp - 0x30c]
mov dword [edi + 0x18], eax
mov edi, dword [ebp - 0x2fc]
push ecx
mov ecx, edi
call fcn.1002db50
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x2fc]
mov ecx, esi
push edi
call fcn.1002de80
push edi
mov ecx, esi
call fcn.1002e5d0
push ecx
mov ecx, esi
call fcn.1002e4d0
push ecx
mov ecx, esi
call fcn.1002d980
push edi
mov ecx, esi
call fcn.1002dda0
push edi
mov ecx, esi
call fcn.1002e2d0
push ecx
mov ecx, esi
call fcn.1002e3f0
mov ecx, esi
mov eax, dword [ecx + 0x3b4]
mov esi, dword [eax]
cmp esi, eax
je 0x10028c77
lea esp, [esp]
cmp dword [esi + 0x24], 0
je 0x10028c28
mov eax, dword [esi + 0x20]
mov edi, dword [ecx + 0x424]
mov eax, dword [eax]
movdqu xmm0, xmmword [eax + 8]
movdqu xmmword [ebp - 0x348], xmm0
movdqu xmmword [ebp - 0x268], xmm0
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
movd xmm1, dword [edi + 0x10]
mov eax, 1
sub eax, edx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [edi + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movdqu xmm0, xmmword [ebp - 0x348]
cvttsd2si ecx, xmm1
psrldq xmm0, 4
movd eax, xmm0
add eax, ecx
mov dword [ebp - 0x264], eax
mov eax, dword [sym.imp.MSVCR120.dll_rand]
call eax
cdq
mov ecx, 3
idiv ecx
movd xmm1, dword [edi + 0x10]
mov eax, 1
sub eax, edx
mov edx, dword [ebp - 0x2f4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [edi + 0xf24]
cvtdq2pd xmm0, xmm0
mov edi, dword [ebp - 0x2e8]
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add dword [ebp - 0x260], eax
lea eax, [ebp - 0x268]
cmp eax, edi
jae 0x10028b79
cmp edx, eax
ja 0x10028b79
mov ecx, dword [ebp - 0x2e0]
sub eax, edx
sar eax, 4
mov dword [ebp - 0x2e4], eax
cmp edi, ecx
jne 0x10028b68
mov eax, ecx
sub eax, edi
sar eax, 4
cmp eax, 1
jae 0x10028b62
sub edi, edx
mov eax, 0xfffffff
sar edi, 4
sub eax, edi
cmp eax, 1
jb 0x10028dfb
sub ecx, edx
mov eax, 0xfffffff
sar ecx, 4
inc edi
mov edx, ecx
shr edx, 1
sub eax, edx
cmp eax, ecx
jae 0x10028b37
xor ecx, ecx
jmp 0x10028b39
add ecx, edx
cmp ecx, edi
cmovb ecx, edi
push ecx
lea ecx, [ebp - 0x2f4]
call fcn.100119e0
mov eax, dword [ebp - 0x2ec]
mov edi, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2f4]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2e4]
add eax, eax
test edi, edi
je 0x10028bf2
movdqu xmm0, xmmword [edx + eax*8]
jmp 0x10028bee
mov ecx, dword [ebp - 0x2e0]
cmp edi, ecx
jne 0x10028be2
mov eax, ecx
sub eax, edi
sar eax, 4
cmp eax, 1
jae 0x10028be2
sub edi, edx
mov eax, 0xfffffff
sar edi, 4
sub eax, edi
cmp eax, 1
jb 0x10028dfb
sub ecx, edx
mov eax, 0xfffffff
sar ecx, 4
inc edi
mov edx, ecx
shr edx, 1
sub eax, edx
cmp eax, ecx
jae 0x10028bbd
xor ecx, ecx
jmp 0x10028bbf
add ecx, edx
cmp ecx, edi
cmovb ecx, edi
push ecx
lea ecx, [ebp - 0x2f4]
call fcn.100119e0
mov eax, dword [ebp - 0x2ec]
mov edi, dword [ebp - 0x2f0]
mov dword [ebp - 0x2e0], eax
test edi, edi
je 0x10028bf2
movdqu xmm0, xmmword [ebp - 0x268]
movdqu xmmword [edi], xmm0
mov eax, dword [esi + 0x20]
add edi, 0x10
mov dword [ebp - 0x2f0], edi
mov dword [ebp - 0x2e8], edi
mov edx, dword [eax]
push edx
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [edx]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
dec dword [esi + 0x24]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
mov ecx, dword [ebp - 0x2fc]
add esp, 4
cmp byte [esi + 0xd], 0
jne 0x10028c68
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x10028c4d
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x10028c68
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x10028c41
jmp 0x10028c68
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x10028c66
cmp esi, dword [eax + 8]
jne 0x10028c66
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x10028c56
mov esi, eax
cmp esi, dword [ecx + 0x3b4]
jne 0x10028a00
mov edi, dword [ebp + 8]
mov eax, dword [ecx + 0x3bc]
mov esi, dword [eax]
cmp esi, eax
je 0x10029b04
jmp 0x10028c90
cmp dword [esi + 0x3c], 0
je 0x10029061
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
cmp edi, dword [eax + 8]
jae 0x10028cc9
xor ecx, ecx
mov edx, edi
add edx, 0x2710
adc ecx, ecx
test ecx, ecx
ja 0x10029aaf
jb 0x10028cc3
cmp edx, dword [eax + 8]
jae 0x10029aaf
mov ecx, dword [ebp - 0x2fc]
cmp dword [esi + 0x28], 0
movdqu xmm0, xmmword [eax + 0xc]
movdqu xmmword [ebp - 0x228], xmm0
jne 0x10028ec5
mov eax, dword [sym.imp.MSVCR120.dll_rand]
mov edi, dword [ecx + 0x424]
movdqu xmmword [ebp - 0x2a8], xmm0
call eax
cdq
mov ecx, 3
idiv ecx
movd xmm1, dword [edi + 0x10]
mov eax, 1
sub eax, edx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [edi + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movdqu xmm0, xmmword [ebp - 0x228]
cvttsd2si ecx, xmm1
psrldq xmm0, 4
movd eax, xmm0
add eax, ecx
mov dword [ebp - 0x2a4], eax
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
movd xmm1, dword [edi + 0x10]
mov eax, 1
sub eax, edx
mov edx, dword [ebp - 0x2f4]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [edi + 0xf24]
cvtdq2pd xmm0, xmm0
mov edi, dword [ebp - 0x2e8]
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add dword [ebp - 0x2a0], eax
lea eax, [ebp - 0x2a8]
cmp eax, edi
jae 0x10028e4b
cmp edx, eax
ja 0x10028e4b
mov ecx, dword [ebp - 0x2e0]
sub eax, edx
sar eax, 4
mov dword [ebp - 0x2e4], eax
cmp edi, ecx
jne 0x10028e37
mov eax, ecx
sub eax, edi
sar eax, 4
cmp eax, 1
jae 0x10028e31
sub edi, edx
mov eax, 0xfffffff
sar edi, 4
sub eax, edi
cmp eax, 1
jb 0x10028dfb
sub ecx, edx
mov eax, 0xfffffff
sar ecx, 4
inc edi
mov edx, ecx
shr edx, 1
sub eax, edx
cmp eax, ecx
jae 0x10028e06
xor ecx, ecx
jmp 0x10028e08
push str.vector_T__too_long
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xlength_error_char_const__]
add ecx, edx
cmp ecx, edi
cmovb ecx, edi
push ecx
lea ecx, [ebp - 0x2f4]
call fcn.100119e0
mov eax, dword [ebp - 0x2ec]
mov edi, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2f4]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2e4]
add eax, eax
test edi, edi
je 0x10029029
movdqu xmm0, xmmword [edx + eax*8]
jmp 0x10029025
mov ecx, dword [ebp - 0x2e0]
cmp edi, ecx
jne 0x10028eb0
mov eax, ecx
sub eax, edi
sar eax, 4
cmp eax, 1
jae 0x10028eb0
sub edi, edx
mov eax, 0xfffffff
sar edi, 4
sub eax, edi
cmp eax, 1
jb 0x10028dfb
sub ecx, edx
mov eax, 0xfffffff
sar ecx, 4
inc edi
mov edx, ecx
shr edx, 1
sub eax, edx
cmp eax, ecx
jae 0x10028e8b
xor ecx, ecx
jmp 0x10028e8d
add ecx, edx
cmp ecx, edi
cmovb ecx, edi
push ecx
lea ecx, [ebp - 0x2f4]
call fcn.100119e0
mov eax, dword [ebp - 0x2ec]
mov edi, dword [ebp - 0x2f0]
mov dword [ebp - 0x2e0], eax
test edi, edi
je 0x10029029
movdqu xmm0, xmmword [ebp - 0x2a8]
jmp 0x10029025
mov ecx, dword [esi + 0x28]
mov edx, dword [ebp - 0x2fc]
movdqu xmmword [ebp - 0x248], xmm0
lea eax, [ecx + 1]
mov edx, dword [edx + 0x424]
mov dword [ebp - 0x2e4], eax
mov eax, ecx
mov dword [ebp - 0x308], edx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, edi
idiv dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x308]
sub ecx, edx
movd xmm1, dword [eax + 0x10]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movdqu xmm0, xmmword [ebp - 0x228]
cvttsd2si ecx, xmm1
psrldq xmm0, 4
movd eax, xmm0
add eax, ecx
mov dword [ebp - 0x244], eax
call dword [sym.imp.MSVCR120.dll_rand]
cdq
idiv dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x308]
sub edi, edx
mov edx, dword [ebp - 0x2f4]
movd xmm1, dword [eax + 0x10]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov edi, dword [ebp - 0x2e8]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add dword [ebp - 0x240], eax
lea eax, [ebp - 0x248]
cmp eax, edi
jae 0x10028fb0
cmp edx, eax
ja 0x10028fb0
jmp 0x10028dac
mov ecx, dword [ebp - 0x2e0]
cmp edi, ecx
jne 0x10029019
mov eax, ecx
sub eax, edi
sar eax, 4
cmp eax, 1
jae 0x10029019
sub edi, edx
mov eax, 0xfffffff
sar edi, 4
sub eax, edi
cmp eax, 1
jb 0x10028dfb
sub ecx, edx
mov eax, 0xfffffff
sar ecx, 4
inc edi
mov edx, ecx
shr edx, 1
sub eax, edx
cmp eax, ecx
jae 0x10028ff4
xor ecx, ecx
jmp 0x10028ff6
add ecx, edx
cmp ecx, edi
cmovb ecx, edi
push ecx
lea ecx, [ebp - 0x2f4]
call fcn.100119e0
mov eax, dword [ebp - 0x2ec]
mov edi, dword [ebp - 0x2f0]
mov dword [ebp - 0x2e0], eax
test edi, edi
je 0x10029029
movdqu xmm0, xmmword [ebp - 0x248]
movdqu xmmword [edi], xmm0
mov eax, dword [esi + 0x38]
add edi, 0x10
mov dword [ebp - 0x2f0], edi
mov dword [ebp - 0x2e8], edi
mov edx, dword [eax]
push edx
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [edx]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
dec dword [esi + 0x3c]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
mov edi, dword [ebp + 8]
add esp, 4
jmp 0x10029aaf
cmp byte [esi + 0x14], 0
je 0x10029aaf
cmp dword [ecx + 0x408], 0
je 0x100290be
mov eax, dword [ecx + 0x41c]
xor edx, edx
sub eax, dword [ecx + 0x418]
sar eax, 2
test eax, eax
je 0x100290be
mov eax, dword [ecx + 0x41c]
sub eax, dword [ecx + 0x418]
sar eax, 2
mov dword [ebp - 0x300], eax
mov eax, dword [ecx + 0x418]
mov edi, dword [esi + 0x10]
cmp edi, dword [eax]
mov edi, dword [ebp + 8]
je 0x10029aaf
inc edx
add eax, 4
cmp edx, dword [ebp - 0x300]
jb 0x100290a4
movzx eax, word [esi + 0x12]
test eax, eax
jne 0x100290cc
movzx eax, word [esi + 0x10]
jmp 0x100290e4
sub eax, 0xff
lea ecx, [eax*8]
sub ecx, eax
movzx eax, word [esi + 0x10]
lea eax, [eax + ecx*4]
movzx eax, ax
cmp dword [esi + 0x24], 0
mov dword [ebp - 0x2f8], eax
je 0x100295cc
mov eax, dword [esi + 0x18]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100ce6c0]
movsd qword [ebp - 0x320], xmm0
movd xmm0, dword [esi + 0x24]
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x100ce308]
movsd qword [ebp - 0x330], xmm0
call dword [sym.imp.MSVCR120.dll_rand]
mov ecx, dword [esi + 0x24]
cdq
movsd xmm0, qword [ebp - 0x330]
lea ecx, [ecx*2 + 1]
idiv ecx
movd xmm1, edx
cvtdq2pd xmm1, xmm1
subsd xmm0, xmm1
movsd xmm1, qword [ebp - 0x320]
divsd xmm0, qword [0x100ce308]
divsd xmm1, xmm0
movaps xmm0, xmm1
call fcn.100ac8e1
mov ecx, edi
sub ecx, dword [esi + 0x2c]
cmp ecx, eax
jb 0x10029aaf
cmp dword [esi + 0x28], 0
mov eax, dword [ebp - 0x2f8]
movzx eax, ax
mov dword [ebp - 0x368], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x364], eax
mov dword [ebp - 0x2e4], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x35c], 1
mov dword [ebp - 0x360], eax
movdqu xmm0, xmmword [ebp - 0x368]
jne 0x1002930b
mov eax, dword [ebp - 0x2fc]
movdqu xmmword [ebp - 0x2c8], xmm0
mov edi, dword [eax + 0x424]
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
movd xmm1, dword [edi + 0x10]
mov eax, 1
sub eax, edx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [edi + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2c4], eax
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
movd xmm1, dword [edi + 0x10]
mov eax, 1
sub eax, edx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [edi + 0xf24]
cvtdq2pd xmm0, xmm0
mov edi, dword [ebp - 0x2e8]
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add dword [ebp - 0x2c0], eax
lea eax, [ebp - 0x2c8]
cmp eax, edi
jae 0x100292cf
mov ecx, eax
mov eax, dword [ebp - 0x2f4]
cmp eax, ecx
ja 0x100292cf
sub ecx, eax
sar ecx, 4
mov dword [ebp - 0x300], ecx
cmp edi, dword [ebp - 0x2e0]
jne 0x100292bb
push 1
lea ecx, [ebp - 0x2f4]
call fcn.10024d30
mov eax, dword [ebp - 0x2ec]
mov edi, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2f4]
add ecx, ecx
test edi, edi
je 0x10029420
movdqu xmm0, xmmword [eax + ecx*8]
jmp 0x1002941c
cmp edi, dword [ebp - 0x2e0]
jne 0x100292f6
push 1
lea ecx, [ebp - 0x2f4]
call fcn.10024d30
mov eax, dword [ebp - 0x2ec]
mov edi, dword [ebp - 0x2f0]
mov dword [ebp - 0x2e0], eax
test edi, edi
je 0x10029420
movdqu xmm0, xmmword [ebp - 0x2c8]
jmp 0x1002941c
mov edx, dword [ebp - 0x2fc]
mov eax, dword [esi + 0x28]
movdqu xmmword [ebp - 0x258], xmm0
mov ecx, dword [edx + 0x424]
mov dword [ebp - 0x2f8], ecx
lea ecx, [eax + 1]
cdq
sub eax, edx
mov dword [ebp - 0x308], ecx
mov edi, eax
sar edi, 1
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, edi
idiv dword [ebp - 0x308]
mov eax, dword [ebp - 0x2f8]
sub ecx, edx
movd xmm1, dword [eax + 0x10]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x254], eax
call dword [sym.imp.MSVCR120.dll_rand]
cdq
idiv dword [ebp - 0x308]
mov eax, dword [ebp - 0x2f8]
sub edi, edx
movd xmm1, dword [eax + 0x10]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov edi, dword [ebp - 0x2e8]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add dword [ebp - 0x250], eax
lea eax, [ebp - 0x258]
cmp eax, edi
jae 0x100293e9
mov ecx, eax
mov eax, dword [ebp - 0x2f4]
cmp eax, ecx
ja 0x100293e9
jmp 0x1002927d
cmp edi, dword [ebp - 0x2e0]
jne 0x10029410
push 1
lea ecx, [ebp - 0x2f4]
call fcn.10024d30
mov eax, dword [ebp - 0x2ec]
mov edi, dword [ebp - 0x2f0]
mov dword [ebp - 0x2e0], eax
test edi, edi
je 0x10029420
movdqu xmm0, xmmword [ebp - 0x258]
movdqu xmmword [edi], xmm0
mov eax, dword [esi + 0x18]
add edi, 0x10
mov dword [ebp - 0x2f0], edi
mov dword [ebp - 0x2e8], edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100ce6c0]
movsd qword [ebp - 0x320], xmm0
movd xmm0, dword [esi + 0x24]
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x100ce308]
movsd qword [ebp - 0x330], xmm0
call dword [sym.imp.MSVCR120.dll_rand]
mov ecx, dword [esi + 0x24]
cdq
movsd xmm0, qword [ebp - 0x330]
lea ecx, [ecx*2 + 1]
idiv ecx
movd xmm1, edx
cvtdq2pd xmm1, xmm1
subsd xmm0, xmm1
movsd xmm1, qword [ebp - 0x320]
divsd xmm0, qword [0x100ce308]
divsd xmm1, xmm0
movaps xmm0, xmm1
call fcn.100ac8e1
mov ecx, eax
cmp ecx, 0xc6
jb 0x100294bd
mov eax, 0xaaaaaaab
mul ecx
mov ecx, edx
mov edi, dword [ebp + 8]
mov eax, 8
shr ecx, 1
cmp ecx, 8
mov dword [ebp - 0x218], 1
cmovb ecx, eax
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x224], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x220], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x21c], eax
mov eax, 8
mov dword [ebp - 0x318], ecx
mov dword [ebp - 0x2e4], eax
cmp ecx, eax
jb 0x10029571
lea ebx, [ebx]
add eax, edi
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x228], eax
mov eax, dword [esi + 0x38]
push ecx
mov dword [ebp - 0x300], eax
push dword [eax + 4]
push eax
call fcn.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x3c]
sub ecx, eax
cmp ecx, 1
jb 0x10029c76
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x300]
mov dword [esi + 0x3c], ecx
mov dword [eax + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov eax, dword [ebp - 0x2e4]
add eax, 0x10
mov dword [ebp - 0x2e4], eax
cmp eax, dword [ebp - 0x318]
jbe 0x10029510
mov eax, dword [esi + 0x38]
lea ecx, [ebp - 0x228]
add dword [ebp - 0x228], 8
push ecx
mov dword [ebp - 0x218], 0
push dword [eax + 4]
mov dword [ebp - 0x300], eax
push eax
call fcn.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x3c]
sub ecx, eax
cmp ecx, 1
jb 0x10029c76
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x300]
mov dword [esi + 0x3c], ecx
mov dword [eax + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov dword [esi + 0x2c], edi
jmp 0x10029aaf
mov edx, dword [esi + 0x1c]
cmp edi, edx
jb 0x10029aaf
lea eax, [esi + 0x18]
mov dword [ebp - 0x310], eax
mov eax, edi
mov ecx, dword [ebp - 0x310]
sub eax, edx
xor edx, edx
div dword [ecx]
mov edx, dword [esi + 0x20]
mov ecx, dword [ebp - 0x2fc]
inc eax
mov dword [ebp - 0x318], eax
mov dword [ebp - 0x304], edx
cmp edx, eax
jae 0x10029aac
mov eax, dword [ebp - 0x2f8]
movzx edx, ax
mov dword [ebp - 0x30c], edx
jmp 0x10029620
cmp dword [esi + 0x28], 0
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x344], eax
mov dword [ebp - 0x2f8], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x348], edx
mov dword [ebp - 0x33c], 1
mov dword [ebp - 0x340], eax
movdqu xmm0, xmmword [ebp - 0x348]
jne 0x10029794
mov edi, dword [ecx + 0x424]
movdqu xmmword [ebp - 0x278], xmm0
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
movd xmm1, dword [edi + 0x10]
mov eax, 1
sub eax, edx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [edi + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x274], eax
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
movd xmm1, dword [edi + 0x10]
lea ecx, [ebp - 0x278]
mov eax, 1
sub eax, edx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [edi + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x2e8]
cmp ecx, eax
jae 0x10029758
mov edx, ecx
mov ecx, dword [ebp - 0x2f4]
cmp ecx, edx
ja 0x10029758
mov edi, edx
sub edi, ecx
cmp eax, dword [ebp - 0x2e0]
jne 0x10029743
push 1
lea ecx, [ebp - 0x2f4]
call fcn.10024d30
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x2f4]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2f0]
and edi, 0xfffffff0
test eax, eax
je 0x100298a5
movdqu xmm0, xmmword [edi + ecx]
jmp 0x100298a1
cmp eax, dword [ebp - 0x2e0]
jne 0x1002977f
push 1
lea ecx, [ebp - 0x2f4]
call fcn.10024d30
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2f0]
test eax, eax
je 0x100298a5
movdqu xmm0, xmmword [ebp - 0x278]
jmp 0x100298a1
mov eax, dword [esi + 0x28]
mov ecx, dword [ecx + 0x424]
mov dword [ebp - 0x308], ecx
movdqu xmmword [ebp - 0x298], xmm0
lea ecx, [eax + 1]
cdq
sub eax, edx
mov dword [ebp - 0x2e4], ecx
mov edi, eax
sar edi, 1
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, edi
idiv dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x308]
sub ecx, edx
movd xmm1, dword [eax + 0x10]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x294], eax
call dword [sym.imp.MSVCR120.dll_rand]
cdq
lea ecx, [ebp - 0x298]
idiv dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x308]
sub edi, edx
movd xmm1, dword [eax + 0x10]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x2e8]
cmp ecx, eax
jae 0x1002986e
mov edx, ecx
mov ecx, dword [ebp - 0x2f4]
cmp ecx, edx
ja 0x1002986e
mov edi, edx
jmp 0x10029714
cmp eax, dword [ebp - 0x2e0]
jne 0x10029895
push 1
lea ecx, [ebp - 0x2f4]
call fcn.10024d30
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2f0]
test eax, eax
je 0x100298a5
movdqu xmm0, xmmword [ebp - 0x298]
movdqu xmmword [eax], xmm0
add eax, 0x10
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x310]
mov eax, dword [eax]
cmp eax, 0x28
jae 0x10029a03
cmp dword [esi + 0x28], 0
mov dword [ebp - 0x33c], 0
jne 0x100299b5
mov eax, dword [ebp - 0x2fc]
movdqu xmm0, xmmword [ebp - 0x348]
mov edi, dword [eax + 0x424]
movdqu xmmword [ebp - 0x224], xmm0
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
movd xmm1, dword [edi + 0x10]
mov eax, 1
sub eax, edx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [edi + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x220], eax
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
movd xmm1, dword [edi + 0x10]
lea ecx, [ebp - 0x2f4]
mov eax, 1
sub eax, edx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [edi + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add dword [ebp - 0x21c], eax
lea eax, [ebp - 0x224]
push eax
call fcn.10030dc0
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x2f0]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x2e0], ecx
mov dword [ebp - 0x2e8], eax
jmp 0x10029a85
push dword [esi + 0x28]
lea eax, [ebp - 0x348]
push eax
lea eax, [ebp - 0x238]
push eax
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 0x424]
call fcn.1001f570
push eax
lea ecx, [ebp - 0x2f4]
call fcn.10030dc0
mov eax, dword [ebp - 0x2ec]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x2e8], eax
jmp 0x10029a85
mov edi, dword [ebp + 8]
mov ecx, 0x40
shr eax, 1
cmp eax, 0x40
mov dword [ebp - 0x218], 0
cmova eax, ecx
lea ecx, [ebp - 0x228]
add eax, edi
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x224], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x220], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x21c], eax
mov eax, dword [esi + 0x38]
push ecx
mov dword [ebp - 0x300], eax
push dword [eax + 4]
push eax
call fcn.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x3c]
sub ecx, eax
cmp ecx, 1
jb 0x10029c76
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x300]
mov dword [esi + 0x3c], ecx
mov dword [eax + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov edx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x318]
inc edx
mov ecx, dword [ebp - 0x2fc]
cmp edx, eax
mov dword [ebp - 0x304], edx
mov edx, dword [ebp - 0x30c]
jb 0x10029620
mov dword [esi + 0x20], eax
cmp byte [esi + 0xd], 0
jne 0x10029af2
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x10029ad4
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x10029af2
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x10029ac8
jmp 0x10029af2
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x10029af0
lea ecx, [ecx]
cmp esi, dword [eax + 8]
jne 0x10029af0
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x10029ae0
mov esi, eax
mov ecx, dword [ebp - 0x2fc]
cmp esi, dword [ecx + 0x3bc]
jne 0x10028c90
mov eax, dword [ecx + 0x3c4]
mov esi, dword [eax]
mov dword [ebp - 0x308], esi
cmp esi, eax
je 0x10029d0e
lea ebx, [ebx]
cmp dword [esi + 0x28], 0
je 0x10029d56
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
cmp edi, dword [eax + 8]
jae 0x10029b59
xor ecx, ecx
mov edx, edi
add edx, 0x2710
adc ecx, ecx
test ecx, ecx
ja 0x10029ceb
jb 0x10029b53
cmp edx, dword [eax + 8]
jae 0x10029ceb
mov ecx, dword [ebp - 0x2fc]
movdqu xmm0, xmmword [eax + 0xc]
mov edi, dword [ecx + 0x424]
movdqu xmmword [ebp - 0x238], xmm0
movdqu xmmword [ebp - 0x2b8], xmm0
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
movd xmm1, dword [edi + 0x10]
mov eax, 1
sub eax, edx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [edi + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movdqu xmm0, xmmword [ebp - 0x238]
cvttsd2si ecx, xmm1
psrldq xmm0, 4
movd eax, xmm0
add eax, ecx
mov dword [ebp - 0x2b4], eax
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
movd xmm1, dword [edi + 0x10]
mov eax, 1
sub eax, edx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [edi + 0xf24]
cvtdq2pd xmm0, xmm0
mov edi, dword [ebp - 0x2e8]
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add dword [ebp - 0x2b0], eax
lea eax, [ebp - 0x2b8]
cmp eax, edi
jae 0x10029c81
mov ecx, eax
mov eax, dword [ebp - 0x2f4]
cmp eax, ecx
ja 0x10029c81
sub ecx, eax
sar ecx, 4
mov dword [ebp - 0x300], ecx
cmp edi, dword [ebp - 0x2e0]
jne 0x10029c69
push 1
lea ecx, [ebp - 0x2f4]
call fcn.10024d30
mov eax, dword [ebp - 0x2ec]
mov edi, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2f4]
add ecx, ecx
test edi, edi
je 0x10029cb8
movdqu xmm0, xmmword [eax + ecx*8]
jmp 0x10029cb4
push str.list_T__too_long
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xlength_error_char_const__]
cmp edi, dword [ebp - 0x2e0]
jne 0x10029ca8
push 1
lea ecx, [ebp - 0x2f4]
call fcn.10024d30
mov eax, dword [ebp - 0x2ec]
mov edi, dword [ebp - 0x2f0]
mov dword [ebp - 0x2e0], eax
test edi, edi
je 0x10029cb8
movdqu xmm0, xmmword [ebp - 0x2b8]
movdqu xmmword [edi], xmm0
mov eax, dword [esi + 0x24]
add edi, 0x10
mov dword [ebp - 0x2f0], edi
mov dword [ebp - 0x2e8], edi
mov edx, dword [eax]
push edx
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [edx]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
dec dword [esi + 0x28]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x308]
call fcn.10009e10
mov ecx, dword [ebp - 0x2fc]
mov esi, dword [ebp - 0x308]
cmp esi, dword [ecx + 0x3c4]
jne 0x10029b20
mov esi, dword [ecx + 0x3f0]
xor edi, edi
mov eax, dword [esi]
mov dword [ebp - 0x2e4], eax
cmp eax, esi
je 0x10029d48
add edi, dword [eax + 0x58]
lea ecx, [ebp - 0x2e4]
call fcn.10009e10
mov eax, dword [ebp - 0x2e4]
cmp eax, esi
jne 0x10029d22
test edi, edi
jne 0x1002a396
mov ecx, dword [ebp - 0x2fc]
mov esi, dword [ebp + 8]
push esi
call fcn.1002cca0
jmp 0x1002a399
cmp byte [esi + 0x14], 0
je 0x10029ceb
cmp byte [esi + 0x84], 0
je 0x10029ceb
movzx eax, word [esi + 0x12]
test eax, eax
jne 0x10029d79
movzx ecx, word [esi + 0x10]
mov dword [ebp - 0x304], ecx
jmp 0x10029d97
sub eax, 0xff
lea ecx, [eax*8]
sub ecx, eax
movzx eax, word [esi + 0x10]
lea eax, [eax + ecx*4]
movzx eax, ax
mov dword [ebp - 0x304], eax
mov eax, dword [esi + 0x78]
mov byte [ebp - 0x2d9], 0
cmp eax, dword [esi + 0x7c]
je 0x10029dcf
mov edx, dword [eax + 4]
mov ecx, 0x14
mov edi, ecx
add edx, dword [esi + ecx + 4]
cmp edx, dword [esi + edi + 8]
mov ecx, dword [esi + 0x7c]
mov edi, dword [ebp + 8]
jbe 0x10029dc8
cmp edx, edi
jbe 0x10029e8c
add eax, 0x10
cmp eax, ecx
jne 0x10029da6
mov edi, dword [ebp - 0x2e8]
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x2e4], eax
cmp eax, dword [esi + 0x44]
je 0x10029e16
mov edx, dword [eax + 4]
mov eax, 0x14
mov ecx, eax
add edx, dword [esi + eax + 4]
cmp edx, dword [esi + ecx + 8]
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [esi + 0x44]
jbe 0x10029e09
cmp edx, dword [ebp + 8]
jbe 0x1002a02b
add eax, 0x10
mov dword [ebp - 0x2e4], eax
cmp eax, ecx
jne 0x10029de3
cmp byte [ebp - 0x2d9], 0
jne 0x1002a36c
mov eax, dword [esi + 0x88]
cmp eax, dword [esi + 0x8c]
je 0x10029ce8
cmp byte [esi + 0x2c], 0
jne 0x10029e5c
mov eax, dword [ebp - 0x2fc]
cmp dword [eax + 0x408], 0
je 0x10029e5c
push dword [esi + 0x10]
mov ecx, eax
call fcn.1002c950
test al, al
jne 0x10029ce8
mov eax, dword [esi + 0x88]
mov edi, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, dword [esi + 0x18]
cmp eax, edi
ja 0x10029ceb
mov ecx, dword [esi + 0x20]
cmp ecx, 0xffffffff
jne 0x1002a1d1
xor eax, eax
mov dword [ebp - 0x2f8], eax
jmp 0x1002a230
mov ecx, dword [ebp - 0x304]
mov edi, dword [eax + 8]
movzx ecx, cx
mov dword [ebp - 0x348], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x340], ecx
xor ecx, ecx
cmp byte [eax], cl
mov eax, dword [ebp - 0x2fc]
setne cl
mov dword [ebp - 0x344], edi
mov dword [ebp - 0x33c], ecx
movdqu xmm0, xmmword [ebp - 0x348]
mov eax, dword [eax + 0x424]
mov dword [ebp - 0x2e4], eax
movdqu xmmword [ebp - 0x2d8], xmm0
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
mov eax, 1
sub eax, edx
movd xmm0, eax
mov eax, dword [ebp - 0x2e4]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0x10]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, edi
mov dword [ebp - 0x2d4], eax
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
mov eax, 1
mov edi, dword [ebp - 0x2e8]
sub eax, edx
movd xmm0, eax
mov eax, dword [ebp - 0x2e4]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0x10]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add dword [ebp - 0x2d0], eax
lea eax, [ebp - 0x2d8]
cmp eax, edi
jae 0x10029fd9
mov ecx, eax
mov eax, dword [ebp - 0x2f4]
cmp eax, ecx
ja 0x10029fd9
sub ecx, eax
sar ecx, 4
mov dword [ebp - 0x300], ecx
cmp edi, dword [ebp - 0x2e0]
jne 0x10029fcc
push 1
lea ecx, [ebp - 0x2f4]
call fcn.10024d30
mov eax, dword [ebp - 0x2ec]
mov edi, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2f4]
add ecx, ecx
test edi, edi
je 0x1002a010
movdqu xmm0, xmmword [eax + ecx*8]
jmp 0x1002a00c
cmp edi, dword [ebp - 0x2e0]
jne 0x1002a000
push 1
lea ecx, [ebp - 0x2f4]
call fcn.10024d30
mov eax, dword [ebp - 0x2ec]
mov edi, dword [ebp - 0x2f0]
mov dword [ebp - 0x2e0], eax
test edi, edi
je 0x1002a010
movdqu xmm0, xmmword [ebp - 0x2d8]
movdqu xmmword [edi], xmm0
add edi, 0x10
mov byte [ebp - 0x2d9], 1
mov dword [ebp - 0x2f0], edi
mov dword [ebp - 0x2e8], edi
jmp 0x10029dd5
mov ecx, dword [ebp - 0x304]
mov edi, dword [eax + 8]
movzx ecx, cx
mov dword [ebp - 0x368], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x360], ecx
xor ecx, ecx
cmp byte [eax], cl
mov eax, dword [ebp - 0x2fc]
setne cl
mov dword [ebp - 0x364], edi
mov dword [ebp - 0x35c], ecx
movdqu xmm0, xmmword [ebp - 0x368]
mov eax, dword [eax + 0x424]
mov dword [ebp - 0x2e4], eax
movdqu xmmword [ebp - 0x288], xmm0
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
mov eax, 1
sub eax, edx
movd xmm0, eax
mov eax, dword [ebp - 0x2e4]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0x10]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, edi
mov dword [ebp - 0x284], eax
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
mov eax, 1
mov edi, dword [ebp - 0x2e8]
sub eax, edx
movd xmm0, eax
mov eax, dword [ebp - 0x2e4]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0x10]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add dword [ebp - 0x280], eax
lea eax, [ebp - 0x288]
cmp eax, edi
jae 0x1002a18c
mov ecx, eax
mov eax, dword [ebp - 0x2f4]
cmp eax, ecx
ja 0x1002a18c
sub ecx, eax
sar ecx, 4
mov dword [ebp - 0x300], ecx
cmp edi, dword [ebp - 0x2e0]
jne 0x1002a16f
push 1
lea ecx, [ebp - 0x2f4]
call fcn.10024d30
mov eax, dword [ebp - 0x2ec]
mov edi, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2f4]
add ecx, ecx
test edi, edi
je 0x1002a17e
movdqu xmm0, xmmword [eax + ecx*8]
movdqu xmmword [edi], xmm0
add edi, 0x10
mov dword [ebp - 0x2f0], edi
jmp 0x1002a366
cmp edi, dword [ebp - 0x2e0]
jne 0x1002a1b3
push 1
lea ecx, [ebp - 0x2f4]
call fcn.10024d30
mov eax, dword [ebp - 0x2ec]
mov edi, dword [ebp - 0x2f0]
mov dword [ebp - 0x2e0], eax
test edi, edi
je 0x1002a1c3
movdqu xmm0, xmmword [ebp - 0x288]
movdqu xmmword [edi], xmm0
add edi, 0x10
mov dword [ebp - 0x2f0], edi
jmp 0x1002a366
mov eax, dword [esi + 0x8c]
sub eax, dword [esi + 0x88]
sar eax, 4
dec eax
cmp ecx, eax
jne 0x1002a200
mov eax, edi
sub eax, dword [esi + 0x1c]
cmp eax, dword [esi + 0x94]
jb 0x10029ceb
xor eax, eax
mov dword [ebp - 0x2f8], eax
jmp 0x1002a230
mov eax, dword [esi + 0x88]
add ecx, ecx
mov edx, dword [eax + ecx*8 + 0x14]
sub edx, dword [eax + ecx*8 + 4]
mov eax, edi
sub eax, dword [esi + 0x1c]
cmp eax, edx
jb 0x10029ceb
mov eax, dword [esi + 0x20]
inc eax
mov dword [ebp - 0x2f8], eax
cmp eax, 0xffffffff
je 0x10029ceb
shl eax, 4
xor ecx, ecx
add eax, dword [esi + 0x88]
movdqu xmm1, xmmword [eax]
mov eax, dword [ebp - 0x304]
movzx eax, ax
mov dword [ebp - 0x224], eax
movdqa xmm0, xmm1
psrldq xmm0, 8
movd eax, xmm1
movd edi, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 0xc
test al, al
movd dword [ebp - 0x21c], xmm0
mov eax, dword [ebp - 0x2fc]
setne cl
mov dword [ebp - 0x220], edi
mov dword [ebp - 0x218], ecx
movdqu xmm0, xmmword [ebp - 0x224]
mov eax, dword [eax + 0x424]
mov dword [ebp - 0x2e4], eax
movdqu xmmword [ebp - 0x238], xmm0
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
mov eax, 1
sub eax, edx
movd xmm0, eax
mov eax, dword [ebp - 0x2e4]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0x10]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, edi
mov dword [ebp - 0x234], eax
call dword [sym.imp.MSVCR120.dll_rand]
cdq
mov ecx, 3
idiv ecx
mov eax, 1
lea ecx, [ebp - 0x2f4]
sub eax, edx
movd xmm0, eax
mov eax, dword [ebp - 0x2e4]
cvtdq2pd xmm0, xmm0
movd xmm1, dword [eax + 0x10]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add dword [ebp - 0x230], eax
lea eax, [ebp - 0x238]
push eax
call fcn.10030dc0
mov eax, dword [ebp - 0x2f8]
mov edi, dword [ebp - 0x2f0]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2e8], edi
cmp dword [edi - 4], 1
sete al
mov byte [esi + 0x2c], al
test al, al
je 0x1002a38b
movdqu xmm0, xmmword [edi - 0x10]
movdqu xmmword [esi + 0x30], xmm0
mov dword [esi + 0x3c], 0
mov edi, dword [ebp + 8]
mov dword [esi + 0x1c], edi
jmp 0x10029ceb
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x2fc]
mov ecx, dword [edi + 0x3f0]
mov dword [ebp - 0x2f8], ecx
mov eax, dword [ecx]
lea ecx, [ebp - 0x304]
mov dword [ebp - 0x304], eax
lea eax, [ebp - 0x2f8]
push eax
call fcn.10030e30
test al, al
je 0x1002a46d
lea ecx, [ecx]
lea ecx, [ebp - 0x304]
call fcn.10030e20
add eax, 0x44
mov ecx, eax
mov dword [ebp - 0x2e4], eax
call fcn.10030420
test al, al
jne 0x1002a43c
mov ecx, dword [ebp - 0x2e4]
call fcn.100305c0
mov dword [ebp - 0x300], eax
mov eax, dword [eax]
cmp esi, eax
jae 0x1002a41c
xor ecx, ecx
mov edx, esi
add edx, 0x2710
adc ecx, ecx
test ecx, ecx
ja 0x1002a43c
jb 0x1002a41c
cmp edx, eax
jae 0x1002a43c
mov eax, dword [ebp - 0x300]
lea ecx, [ebp - 0x2f4]
add eax, 4
push eax
call fcn.10030dc0
mov ecx, dword [ebp - 0x2e4]
call fcn.10030430
lea ecx, [ebp - 0x304]
call fcn.10009e10
mov eax, dword [edi + 0x3f0]
lea ecx, [ebp - 0x304]
mov dword [ebp - 0x2f8], eax
lea eax, [ebp - 0x2f8]
push eax
call fcn.10030e30
test al, al
jne 0x1002a3d0
lea ecx, [ebp - 0x304]
push ecx
lea ecx, [edi + 0x3e4]
call fcn.10030410
lea eax, [ebp - 0x300]
push eax
lea ecx, [edi + 0x3e4]
call fcn.100300b0
push eax
lea ecx, [ebp - 0x304]
call fcn.10030e30
test al, al
je 0x1002a57d
lea ecx, [ebp - 0x304]
call fcn.10030e20
mov dword [ebp - 0x2e4], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x1002a4c1
dec ecx
mov dword [eax + 0x18], ecx
cmp dword [eax + 0x18], 0
jne 0x1002a541
add eax, 0x24
mov ecx, eax
mov dword [ebp - 0x2f8], eax
call fcn.10030420
test al, al
je 0x1002a502
mov ecx, dword [ebp - 0x2e4]
mov eax, 0x119
push 0
cmp word [ecx], ax
sete al
movzx eax, al
push eax
lea eax, [ecx + 4]
push eax
push ecx
mov ecx, edi
call fcn.1002be60
mov ecx, dword [ebp - 0x2f8]
call fcn.10030420
test al, al
jne 0x1002a541
mov ecx, dword [ebp - 0x2f8]
call fcn.100305c0
mov edx, dword [ebp - 0x2e4]
mov ecx, dword [eax]
add eax, 4
mov dword [edx + 0x18], ecx
lea ecx, [ebp - 0x2f4]
push eax
call fcn.10030dc0
mov ecx, dword [ebp - 0x2f8]
call fcn.10030430
push ecx
lea eax, [ebp - 0x36c]
push eax
lea ecx, [ebp - 0x304]
call fcn.10030e80
lea eax, [ebp - 0x300]
push eax
lea ecx, [edi + 0x3e4]
call fcn.100300b0
push eax
lea ecx, [ebp - 0x304]
call fcn.10030e30
test al, al
jne 0x1002a4a5
mov esi, dword [ebp + 8]
mov ecx, dword [edi + 0x40c]
test ecx, ecx
je 0x1002a5ed
add ecx, 0x58
call fcn.10030420
test al, al
je 0x1002a5a0
push 0
mov ecx, edi
call fcn.1002d660
mov eax, dword [edi + 0x40c]
add eax, 0x58
mov ecx, eax
mov dword [ebp - 0x300], eax
call fcn.10030420
test al, al
jne 0x1002a5ed
mov ecx, dword [ebp - 0x300]
lea eax, [ebp - 0x36c]
push eax
call fcn.10030410
mov ecx, eax
call fcn.10030e50
push eax
lea ecx, [ebp - 0x2f4]
call fcn.10030dc0
mov ecx, dword [edi + 0x40c]
add ecx, 0x58
call fcn.10030430
push dword [ebp - 0x324]
lea eax, [ebp - 0x2f4]
mov ecx, edi
push eax
push esi
call fcn.1002c2c0
lea eax, [edi + 0x3d4]
lea ecx, [ebp - 0x30c]
mov dword [ebp - 0x36c], eax
push ecx
mov ecx, eax
call fcn.10030410
lea eax, [ebp - 0x380]
push eax
lea ecx, [edi + 0x3d4]
call fcn.100300b0
push eax
lea ecx, [ebp - 0x30c]
call fcn.10030e30
test al, al
je 0x1002abb6
lea ecx, [ebp - 0x30c]
call fcn.10030e20
mov ecx, dword [ebp - 0x2fc]
mov edi, eax
mov dword [ebp - 0x308], edi
mov eax, dword [edi]
mov edx, eax
shr edx, 0x10
test edx, edx
je 0x1002a842
cmp byte [edx + ecx + 0x264], 1
movzx eax, ax
jne 0x1002a685
cmp byte [eax + ecx + 0x264], 1
je 0x1002a85e
cmp byte [eax + ecx + 0x264], 0
jne 0x1002a699
cmp byte [edi + 4], 0
je 0x1002a699
mov byte [edi + 4], 0
lea eax, [edi + 0x14]
mov ecx, eax
mov dword [ebp - 0x318], eax
call fcn.10030420
test al, al
je 0x1002aa93
cmp byte [edi + 4], 0
je 0x1002aa93
cmp byte [edi + 0x60], 0
je 0x1002aa93
lea ecx, [ebp - 0x2e8]
xor al, al
push ecx
lea ecx, [edi + 0x74]
mov byte [ebp - 0x2d9], al
call fcn.100300b0
lea eax, [ebp - 0x310]
push eax
lea ecx, [edi + 0x74]
call fcn.100300c0
push eax
lea ecx, [ebp - 0x2e8]
call fcn.10030e30
test al, al
je 0x1002a7ff
nop
lea ecx, [ebp - 0x2e8]
call fcn.10005800
mov dword [ebp - 0x300], eax
mov cl, byte [eax]
mov byte [ebp - 0x331], cl
test cl, cl
je 0x1002a7bb
mov ecx, dword [eax + 4]
add ecx, dword [edi + 8]
cmp ecx, dword [edi + 0xc]
jbe 0x1002a7bb
cmp ecx, esi
ja 0x1002a7bb
mov eax, dword [eax + 8]
lea ecx, [edi + 0x14]
mov dword [ebp - 0x37c], eax
mov al, byte [ebp - 0x331]
mov byte [ebp - 0x378], al
lea eax, [ebp - 0x37c]
push eax
mov dword [ebp - 0x374], esi
call fcn.100307b0
push ecx
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x2e8]
call fcn.10030ea0
lea ecx, [ebp - 0x2e8]
call fcn.10005800
mov edx, dword [ebp - 0x300]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x37c], ecx
mov ecx, dword [eax + 4]
sub ecx, dword [edx + 4]
mov al, byte [eax]
add ecx, esi
mov byte [ebp - 0x378], al
lea eax, [ebp - 0x37c]
mov dword [ebp - 0x374], ecx
lea ecx, [edi + 0x14]
push eax
call fcn.100307b0
mov byte [ebp - 0x2d9], 1
push ecx
lea eax, [ebp - 0x300]
push eax
lea ecx, [ebp - 0x2e8]
call fcn.10030ea0
lea eax, [ebp - 0x310]
push eax
lea ecx, [edi + 0x74]
call fcn.100300c0
push eax
lea ecx, [ebp - 0x2e8]
call fcn.10030e30
test al, al
jne 0x1002a700
mov al, byte [ebp - 0x2d9]
test al, al
jne 0x1002aa85
lea ecx, [edi + 0x80]
call fcn.100300e0
test al, al
jne 0x1002aa93
lea ecx, [edi + 0x80]
call fcn.10005800
mov eax, dword [eax + 4]
add eax, dword [edi + 8]
cmp eax, esi
ja 0x1002aa93
cmp dword [edi + 0x10], 0xffffffff
jne 0x1002a948
xor eax, eax
mov dword [ebp - 0x2e0], eax
jmp 0x1002a9bd
cmp byte [eax + ecx + 0x264], 1
jne 0x1002a68f
cmp byte [eax + ecx + 0x29c], 0
jne 0x1002a68f
cmp byte [edi + 4], 0
jne 0x1002a699
mov byte [edi + 4], 1
lea eax, [esi - 1]
mov byte [edi + 4], 1
mov dword [edi + 8], esi
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], 0xffffffff
cmp byte [edi + 0x60], 0
jne 0x1002a699
lea eax, [edi + 0x74]
lea ecx, [ebp - 0x304]
mov dword [ebp - 0x300], eax
push ecx
mov ecx, eax
call fcn.100300b0
lea eax, [ebp - 0x2e4]
push eax
lea ecx, [edi + 0x74]
call fcn.100300c0
push eax
lea ecx, [ebp - 0x304]
call fcn.10030e30
test al, al
je 0x1002a699
lea eax, [edi + 0x14]
mov edi, dword [ebp - 0x300]
mov dword [ebp - 0x318], eax
lea ecx, [ebp - 0x304]
call fcn.10005800
mov ecx, dword [eax + 8]
mov dword [ebp - 0x220], ecx
mov ecx, dword [eax + 4]
mov al, byte [eax]
add ecx, esi
mov byte [ebp - 0x21c], al
lea eax, [ebp - 0x220]
mov dword [ebp - 0x218], ecx
mov ecx, dword [ebp - 0x318]
push eax
call fcn.100307b0
push ecx
lea eax, [ebp - 0x300]
push eax
lea ecx, [ebp - 0x304]
call fcn.10030ea0
lea eax, [ebp - 0x2e4]
mov ecx, edi
push eax
call fcn.100300c0
push eax
lea ecx, [ebp - 0x304]
call fcn.10030e30
test al, al
jne 0x1002a8d3
mov edi, dword [ebp - 0x308]
jmp 0x1002a699
lea ecx, [edi + 0x80]
call fcn.10030230
mov ecx, dword [edi + 0x10]
dec eax
cmp ecx, eax
jne 0x1002a973
mov eax, esi
sub eax, dword [edi + 0xc]
cmp eax, 0x40
jb 0x1002aa93
xor eax, eax
mov dword [ebp - 0x2e0], eax
jmp 0x1002a9bd
lea eax, [ecx + 1]
push eax
lea ecx, [edi + 0x80]
mov dword [ebp - 0x2e0], eax
call fcn.10030250
push dword [edi + 0x10]
lea ecx, [edi + 0x80]
mov esi, eax
call fcn.10030250
mov ecx, dword [esi + 4]
mov esi, dword [ebp + 8]
sub ecx, dword [eax + 4]
mov eax, esi
sub eax, dword [edi + 0xc]
cmp eax, ecx
jb 0x1002aa93
mov eax, dword [ebp - 0x2e0]
cmp eax, 0xffffffff
je 0x1002aa93
push eax
lea ecx, [edi + 0x80]
call fcn.10030250
mov ecx, dword [ebp - 0x2fc]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
push eax
movq qword [ebp - 0x364], xmm0
mov dword [ebp - 0x300], eax
call fcn.1002c9a0
test al, al
jne 0x1002aa93
mov eax, dword [ebp - 0x300]
lea ecx, [edi + 0x14]
mov dword [ebp - 0x234], eax
mov al, byte [ebp - 0x364]
mov byte [ebp - 0x230], al
lea eax, [ebp - 0x234]
push eax
mov dword [ebp - 0x22c], esi
call fcn.100307b0
mov eax, dword [ebp - 0x2e0]
lea ecx, [edi + 0x80]
inc eax
push eax
mov dword [ebp - 0x2e0], eax
call fcn.10030250
lea ecx, [edi + 0x14]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x234], eax
movq qword [ebp - 0x344], xmm0
mov eax, dword [ebp - 0x340]
sub eax, dword [ebp - 0x360]
add eax, esi
mov dword [ebp - 0x22c], eax
mov al, byte [ebp - 0x344]
mov byte [ebp - 0x230], al
lea eax, [ebp - 0x234]
push eax
call fcn.100307b0
mov eax, dword [ebp - 0x2e0]
mov dword [edi + 0x10], eax
lea ecx, [edi + 0x14]
call fcn.100307a0
mov eax, dword [eax + 8]
mov dword [edi + 0xc], eax
mov edi, dword [ebp - 0x318]
mov ecx, edi
call fcn.10030420
test al, al
jne 0x1002ab77
mov ecx, edi
call fcn.100305c0
mov edx, eax
cmp esi, dword [edx + 8]
jae 0x1002aad4
xor ecx, ecx
mov eax, esi
add eax, 0x2710
adc ecx, ecx
test ecx, ecx
ja 0x1002ab77
jb 0x1002aad4
cmp eax, dword [edx + 8]
jae 0x1002ab77
mov eax, dword [edx]
sub eax, 0x100
mov dword [ebp - 0x2f8], eax
js 0x1002ab65
cmp eax, 0x18
jae 0x1002ab65
cmp byte [edx + 4], 0
lea eax, [ebp - 0x2f8]
mov ecx, dword [ebp - 0x314]
push eax
je 0x1002ab0d
call fcn.10030880
mov byte [eax], 0
jmp 0x1002ab65
lea eax, [ebp - 0x324]
push eax
call fcn.10024a50
mov ecx, dword [ebp - 0x314]
lea eax, [ebp - 0x31c]
push eax
call fcn.100300b0
push eax
lea ecx, [ebp - 0x324]
call fcn.10030e30
test al, al
je 0x1002ab65
lea ecx, [ebp - 0x324]
call fcn.10030e20
cmp byte [eax + 4], 0
je 0x1002ab53
mov ecx, edi
call fcn.100304b0
mov ecx, dword [ebp - 0x314]
lea eax, [ebp - 0x2f8]
push eax
call fcn.10030900
mov ecx, edi
call fcn.10030420
test al, al
jne 0x1002ab77
mov ecx, edi
call fcn.10030430
push ecx
lea eax, [ebp - 0x32c]
push eax
lea ecx, [ebp - 0x30c]
call fcn.10030e80
mov ecx, dword [ebp - 0x36c]
lea eax, [ebp - 0x380]
push eax
call fcn.100300b0
push eax
lea ecx, [ebp - 0x30c]
call fcn.10030e30
test al, al
jne 0x1002a642
mov edi, dword [ebp - 0x2fc]
lea ecx, [ebp - 0x2f4]
mov dword [ebp - 4], 0xffffffff
call fcn.10010cf0
push ecx
mov ecx, edi
call fcn.1002fd80
mov edx, dword [0x100ec59c]
inc edx
mov dword [0x100ec59c], edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100ab974
mov esp, ebp
pop ebp
ret 8