Function at 0x100be330
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e3881
mov eax, dword fs:[0]
push eax
sub esp, 0xa84
mov eax, dword [0x10115034]
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 dword [ebp - 0xa30], ecx
mov dword [ebp - 4], 2
call fcn.100272e0
mov dword [ebp - 0xa74], 0
mov dword [ebp - 0xa70], 0
mov dword [ebp - 0xa6c], 0
mov dword [ebp - 0xa80], 0
mov dword [ebp - 0xa7c], 0
mov dword [ebp - 0xa78], 0
mov byte [ebp - 4], 4
lea eax, [ebp + 8]
mov esi, dword [ebp + 0x1c]
mov ecx, 0x100f8014
mov edi, dword [ebp + 8]
cmp esi, 0x10
cmovae eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100be3e4
test dl, dl
je 0x100be3e0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100be3e4
add eax, 2
add ecx, 2
test dl, dl
jne 0x100be3c4
xor eax, eax
jmp 0x100be3e9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100be56e
sub esp, 0x18
mov ecx, esp
push 0x100f8020
call fcn.10001ef0
lea ecx, [ebp - 0xa2c]
call fcn.100b04a0
add esp, 0x18
mov byte [ebp - 4], 5
mov esi, dword [eax]
lea ecx, [esi + 0x1c]
call fcn.100c6700
test al, al
je 0x100be42b
push 0xffffffffffffffff
push dword [esi + 0x1c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov byte [ebp - 4], 4
or esi, 0xffffffff
mov edi, dword [ebp - 0xa28]
test edi, edi
je 0x100be45f
lea eax, [edi + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x100be45f
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lea eax, [edi + 8]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x100be45f
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
mov dword [ebp - 0xa28], esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov byte [ebp - 4], 6
mov ecx, esp
mov dword [ebp - 0xa68], esp
lea eax, [ebp + 0x20]
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
mov byte [ebp - 4], 7
mov eax, dword [0x10119b78]
test al, 1
jne 0x100be4f9
or eax, 1
mov dword [0x10119b78], eax
mov byte [ebp - 4], 8
xorps xmm0, xmm0
movq qword [0x10119b6c], xmm0
mov dword [0x10119b74], 0
call fcn.100b4e80
push 0x100e6590
call fcn.100dc9fb
add esp, 4
mov byte [ebp - 4], 7
lea eax, [ebp - 0xa80]
mov byte [ebp - 4], 4
push eax
mov ecx, 0x10119b6c
call fcn.100b4fd0
sub esp, 0x18
mov ecx, esp
push 0x100f8040
call fcn.10001ef0
lea ecx, [ebp - 0xa2c]
call fcn.100b04a0
add esp, 0x18
mov edi, dword [eax]
cmp dword [edi + 0x34], 8
lea eax, [edi + 0x20]
jb 0x100be538
mov eax, dword [eax]
push eax
push 0
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
mov dword [edi + 0x1c], eax
test eax, eax
je 0x100be6b4
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
jne 0x100be6b4
push dword [edi + 0x1c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x100be6b4
cmp esi, 0x10
lea eax, [ebp + 8]
mov ecx, 0x100f8060
cmovae eax, edi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100be5a0
test dl, dl
je 0x100be59c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100be5a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100be580
xor eax, eax
jmp 0x100be5a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100be6f1
sub esp, 0x18
mov ecx, esp
push 0x100f806c
call fcn.10001ef0
lea ecx, [ebp - 0xa2c]
call fcn.100b04a0
add esp, 0x18
mov byte [ebp - 4], 9
mov esi, dword [eax]
lea ecx, [esi + 0x1c]
call fcn.100c6700
test al, al
je 0x100be5e7
push 0xffffffffffffffff
push dword [esi + 0x1c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov byte [ebp - 4], 4
or esi, 0xffffffff
mov edi, dword [ebp - 0xa28]
test edi, edi
je 0x100be61b
lea eax, [edi + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x100be61b
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lea eax, [edi + 8]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x100be61b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
mov dword [ebp - 0xa28], esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov byte [ebp - 4], 0xa
mov ecx, esp
mov dword [ebp - 0xa68], esp
lea eax, [ebp + 0x20]
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
lea eax, [ebp - 0xa80]
mov byte [ebp - 4], 0xb
push eax
push ecx
call fcn.10026fe0
add esp, 4
mov byte [ebp - 4], 4
mov ecx, eax
call fcn.100b4c40
sub esp, 0x18
mov ecx, esp
push 0x100f808c
call fcn.10001ef0
lea ecx, [ebp - 0xa2c]
call fcn.100b04a0
add esp, 0x18
mov ecx, dword [eax]
call fcn.100b0460
mov edi, dword [ebp - 0xa28]
test edi, edi
je 0x100be9de
lea eax, [edi + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x100be9de
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lea eax, [edi + 8]
lock xadd dword [eax], esi
dec esi
jne 0x100be9de
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
jmp 0x100be9de
cmp esi, 0x10
lea eax, [ebp + 8]
mov ecx, 0x100f80ac
cmovae eax, edi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100be720
test dl, dl
je 0x100be71c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100be720
add eax, 2
add ecx, 2
test dl, dl
jne 0x100be700
xor eax, eax
jmp 0x100be725
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100be7fa
sub esp, 0x18
mov ecx, esp
push 0x100f80b4
call fcn.10001ef0
lea ecx, [ebp - 0xa2c]
call fcn.100b04a0
add esp, 0x18
mov byte [ebp - 4], 0xc
mov esi, dword [eax]
lea ecx, [esi + 0x1c]
call fcn.100c6700
test al, al
je 0x100be767
push 0xffffffffffffffff
push dword [esi + 0x1c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea ecx, [ebp - 0xa2c]
mov byte [ebp - 4], 4
call fcn.10013140
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
mov dword [ebp - 0xa28], esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov byte [ebp - 4], 0xd
mov ecx, esp
mov dword [ebp - 0xa68], esp
lea eax, [ebp + 0x20]
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
lea eax, [ebp - 0xa80]
mov byte [ebp - 4], 0xe
push eax
push ecx
call fcn.100271e0
add esp, 4
mov byte [ebp - 4], 4
mov ecx, eax
call fcn.100b5e10
sub esp, 0x18
mov ecx, esp
push 0x100f80cc
jmp 0x100be9b9
cmp esi, 0x10
lea eax, [ebp + 8]
mov ecx, 0x100f80e4
cmovae eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100be828
test dl, dl
je 0x100be824
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100be828
add eax, 2
add ecx, 2
test dl, dl
jne 0x100be808
xor eax, eax
jmp 0x100be82d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100be8f0
sub esp, 0x18
mov ecx, esp
push 0x100f80f0
call fcn.10001ef0
lea ecx, [ebp - 0xa2c]
call fcn.100b04a0
add esp, 0x18
mov byte [ebp - 4], 0xf
mov ecx, dword [eax]
call fcn.100b0440
lea ecx, [ebp - 0xa2c]
mov byte [ebp - 4], 4
call fcn.10013140
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
mov dword [ebp - 0xa28], esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov byte [ebp - 4], 0x10
mov ecx, esp
mov dword [ebp - 0xa68], esp
lea eax, [ebp + 0x20]
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
lea eax, [ebp - 0xa80]
mov byte [ebp - 4], 0x11
push eax
push ecx
call fcn.10027160
add esp, 4
mov byte [ebp - 4], 4
mov ecx, eax
call fcn.100b5a80
sub esp, 0x18
mov ecx, esp
push 0x100f8110
jmp 0x100be9b9
cmp esi, 0x10
lea eax, [ebp + 8]
mov ecx, 0x100f8130
cmovae eax, edi
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100be920
test dl, dl
je 0x100be91c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100be920
add eax, 2
add ecx, 2
test dl, dl
jne 0x100be900
xor eax, eax
jmp 0x100be925
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100c061c
sub esp, 0x18
mov ecx, esp
push 0x100f8138
call fcn.10001ef0
lea ecx, [ebp - 0xa2c]
call fcn.100b04a0
add esp, 0x18
mov byte [ebp - 4], 0x12
mov ecx, dword [eax]
call fcn.100b0440
lea ecx, [ebp - 0xa2c]
mov byte [ebp - 4], 4
call fcn.10013140
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
mov dword [ebp - 0xa28], esp
push eax
call fcn.100066b0
sub esp, 0x18
mov byte [ebp - 4], 0x13
lea eax, [ebp + 0x20]
mov dword [ebp - 0xa68], esp
mov ecx, esp
push eax
call fcn.100066b0
lea eax, [ebp - 0xa80]
mov byte [ebp - 4], 0x14
push eax
push ecx
call fcn.100270e0
add esp, 4
mov byte [ebp - 4], 4
mov ecx, eax
call fcn.100b5360
sub esp, 0x18
mov ecx, esp
push 0x100f8154
call fcn.10001ef0
lea ecx, [ebp - 0xa2c]
call fcn.100b04a0
add esp, 0x18
mov ecx, dword [eax]
call fcn.100b0460
lea ecx, [ebp - 0xa2c]
call fcn.10013140
mov esi, dword [ebp - 0xa30]
mov eax, 0x10624dd3
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
imul ecx
mov ecx, dword [ebp - 0xa7c]
sub ecx, dword [ebp - 0xa80]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0xa60], eax
mov eax, 0x10624dd3
imul ecx
xor al, al
sar edx, 5
mov edi, edx
mov byte [ebp - 0xa31], al
xor eax, eax
shr edi, 0x1f
add edi, edx
mov dword [ebp - 0xa24], eax
mov dword [ebp - 0xa3c], edi
mov dword [ebp - 0xa5c], eax
mov dword [ebp - 0xa58], eax
mov dword [ebp - 0xa54], eax
mov eax, dword [ebp - 0xa60]
xor ebx, ebx
mov byte [ebp - 4], 0x15
mov dword [ebp - 0xa20], ebx
test eax, eax
je 0x100c04f8
nop
mov ecx, dword [ebp - 0xa30]
mov eax, 0x10624dd3
mov esi, dword [esi]
mov ecx, dword [ecx + 4]
sub ecx, esi
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ebx
jbe 0x100bf977
imul ebx, ebx, 0x1f4
add ebx, esi
mov dword [ebp - 0xa38], ebx
mov edi, dword [ebx + 0x13c]
test edi, edi
jne 0x100bec53
cmp dword [ebx + 0x18], 0x10
lea ecx, [ebx + 4]
mov esi, dword [ecx + 0x10]
jb 0x100beab0
mov ecx, dword [ecx]
mov eax, 8
cmp esi, eax
cmovb eax, esi
push eax
push 0x100f8170
push ecx
call fcn.10006640
add esp, 0xc
test eax, eax
jne 0x100beae1
cmp esi, 8
jae 0x100bead7
or eax, 0xffffffff
jmp 0x100beadf
xor eax, eax
cmp esi, 8
setne al
test eax, eax
sete al
test al, al
je 0x100beb08
lea ecx, [ebx + 0x12c]
lea eax, [ebp + 0x20]
cmp ecx, eax
je 0x100bec53
push 0xffffffffffffffff
push 0
push eax
call fcn.10006b20
jmp 0x100bec53
test edi, edi
jne 0x100bec53
cmp dword [ebx + 0x18], 0x10
lea ecx, [ebx + 4]
mov esi, dword [ecx + 0x10]
jb 0x100beb1e
mov ecx, dword [ecx]
mov eax, 7
cmp esi, eax
cmovb eax, esi
push eax
push 0x100f817c
push ecx
call fcn.10006640
add esp, 0xc
test eax, eax
jne 0x100beb4f
cmp esi, 7
jae 0x100beb45
or eax, 0xffffffff
jmp 0x100beb4d
xor eax, eax
cmp esi, 7
setne al
test eax, eax
sete al
test al, al
je 0x100bec53
cmp dword [ebx + 0x110], 1
jne 0x100bec53
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
mov esi, dword [ebp - 0xa20]
inc esi
mov byte [ebp - 4], 0x16
cmp esi, dword [ebp - 0xa60]
jae 0x100bec2a
imul edi, esi, 0x1f4
jmp 0x100beba0
mov eax, dword [ebp - 0xa30]
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
sub ecx, ebx
mov eax, 0x10624dd3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x100bf977
lea eax, [ebx + edi]
push eax
lea ecx, [ebp - 0xa18]
call fcn.1001cd20
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x8dc], 0
jne 0x100bec02
lea ecx, [ebp - 0xa18]
mov byte [ebp - 4], 0x16
call fcn.1001c9b0
inc esi
add edi, 0x1f4
cmp esi, dword [ebp - 0xa60]
jb 0x100beba0
jmp 0x100bec24
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x8ec]
push eax
lea ecx, [ebp - 0x28]
call fcn.10006b20
lea ecx, [ebp - 0xa18]
mov byte [ebp - 4], 0x16
call fcn.1001c9b0
mov ebx, dword [ebp - 0xa38]
lea ecx, [ebx + 0x12c]
lea eax, [ebp - 0x28]
cmp ecx, eax
je 0x100bec41
push 0xffffffffffffffff
push 0
push eax
call fcn.10006b20
cmp dword [ebp - 0x14], 0x10
jb 0x100bec53
push dword [ebp - 0x28]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [ebx + 0x16c], 0
jne 0x100bed43
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
mov esi, dword [ebp - 0xa20]
inc esi
mov byte [ebp - 4], 0x18
cmp esi, dword [ebp - 0xa60]
jae 0x100bed1a
imul edi, esi, 0x1f4
nop
mov eax, dword [ebp - 0xa30]
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
sub ecx, ebx
mov eax, 0x10624dd3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x100bf977
lea eax, [ebx + edi]
push eax
lea ecx, [ebp - 0x820]
call fcn.1001cd20
mov byte [ebp - 4], 0x19
cmp dword [ebp - 0x6b4], 0
jne 0x100becf2
lea ecx, [ebp - 0x820]
mov byte [ebp - 4], 0x18
call fcn.1001c9b0
inc esi
add edi, 0x1f4
cmp esi, dword [ebp - 0xa60]
jb 0x100bec90
jmp 0x100bed14
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x6c4]
push eax
lea ecx, [ebp - 0x40]
call fcn.10006b20
lea ecx, [ebp - 0x820]
mov byte [ebp - 4], 0x18
call fcn.1001c9b0
mov ebx, dword [ebp - 0xa38]
lea ecx, [ebx + 0x15c]
lea eax, [ebp - 0x40]
cmp ecx, eax
je 0x100bed31
push 0xffffffffffffffff
push 0
push eax
call fcn.10006b20
cmp dword [ebp - 0x2c], 0x10
jb 0x100bed43
push dword [ebp - 0x40]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [ebp - 0xa4c], 0
mov dword [ebp - 0xa48], 0
mov dword [ebp - 0xa44], 0
mov edi, dword [ebp - 0xa3c]
xor eax, eax
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0xa1c], eax
test edi, edi
je 0x100bf10c
mov ecx, dword [ebp - 0xa80]
mov dword [ebp - 0xa40], ecx
cmp edi, eax
jbe 0x100bf977
push ecx
lea ecx, [ebp - 0x238]
call fcn.1001cd20
mov byte [ebp - 4], 0x1b
lea ecx, [ebx + 0x64]
cmp dword [ebp - 0x1c0], 0x10
lea esi, [ebp - 0x1d4]
mov ebx, dword [ecx + 0x10]
cmovae esi, dword [ebp - 0x1d4]
cmp dword [ecx + 0x14], 0x10
jb 0x100bedc1
mov ecx, dword [ecx]
mov edi, dword [ebp - 0x1c4]
cmp ebx, edi
mov edx, edi
cmovb edx, ebx
test edx, edx
je 0x100bee27
sub edx, 4
jb 0x100bede8
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x100beded
add ecx, 4
add esi, 4
sub edx, 4
jae 0x100bedd7
cmp edx, 0xfffffffc
je 0x100bee21
mov al, byte [ecx]
cmp al, byte [esi]
jne 0x100bee1a
cmp edx, 0xfffffffd
je 0x100bee21
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x100bee1a
cmp edx, 0xfffffffe
je 0x100bee21
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x100bee1a
cmp edx, 0xffffffff
je 0x100bee21
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
je 0x100bee21
sbb eax, eax
or eax, 1
jmp 0x100bee23
xor eax, eax
test eax, eax
jne 0x100bee39
cmp ebx, edi
jae 0x100bee30
or eax, 0xffffffff
jmp 0x100bee37
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sete al
test al, al
je 0x100bf0ca
mov ecx, dword [ebp - 0xa38]
lea esi, [ebp - 0xdc]
add ecx, 0x15c
cmp dword [ebp - 0xc8], 0x10
cmovae esi, dword [ebp - 0xdc]
cmp dword [ecx + 0x14], 0x10
mov ebx, dword [ecx + 0x10]
jb 0x100bee6f
mov ecx, dword [ecx]
mov edi, dword [ebp - 0xcc]
cmp ebx, edi
mov edx, edi
cmovb edx, ebx
test edx, edx
je 0x100beed5
sub edx, 4
jb 0x100bee96
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x100bee9b
add ecx, 4
add esi, 4
sub edx, 4
jae 0x100bee85
cmp edx, 0xfffffffc
je 0x100beecf
mov al, byte [ecx]
cmp al, byte [esi]
jne 0x100beec8
cmp edx, 0xfffffffd
je 0x100beecf
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x100beec8
cmp edx, 0xfffffffe
je 0x100beecf
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x100beec8
cmp edx, 0xffffffff
je 0x100beecf
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
je 0x100beecf
sbb eax, eax
or eax, 1
jmp 0x100beed1
xor eax, eax
test eax, eax
jne 0x100beee7
cmp ebx, edi
jae 0x100beede
or eax, 0xffffffff
jmp 0x100beee5
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sete al
test al, al
je 0x100bf0ca
mov ecx, dword [ebp - 0xa38]
lea esi, [ebp - 0xf4]
add ecx, 0x144
cmp dword [ebp - 0xe0], 0x10
cmovae esi, dword [ebp - 0xf4]
cmp dword [ecx + 0x14], 0x10
mov ebx, dword [ecx + 0x10]
jb 0x100bef1d
mov ecx, dword [ecx]
mov edi, dword [ebp - 0xe4]
cmp ebx, edi
mov edx, edi
cmovb edx, ebx
test edx, edx
je 0x100bef83
sub edx, 4
jb 0x100bef44
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x100bef49
add ecx, 4
add esi, 4
sub edx, 4
jae 0x100bef33
cmp edx, 0xfffffffc
je 0x100bef7d
mov al, byte [ecx]
cmp al, byte [esi]
jne 0x100bef76
cmp edx, 0xfffffffd
je 0x100bef7d
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x100bef76
cmp edx, 0xfffffffe
je 0x100bef7d
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x100bef76
cmp edx, 0xffffffff
je 0x100bef7d
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
je 0x100bef7d
sbb eax, eax
or eax, 1
jmp 0x100bef7f
xor eax, eax
test eax, eax
jne 0x100bef95
cmp ebx, edi
jae 0x100bef8c
or eax, 0xffffffff
jmp 0x100bef93
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sete al
test al, al
je 0x100bf0ca
mov ecx, dword [ebp - 0xa48]
lea eax, [ebp - 0xa84]
mov ebx, dword [ebp - 0xa1c]
mov esi, dword [ebp - 0xa4c]
mov dword [ebp - 0xa84], ebx
cmp eax, ecx
jae 0x100bf049
cmp esi, eax
ja 0x100bf049
mov edx, dword [ebp - 0xa44]
mov edi, eax
sub edi, esi
sar edi, 2
cmp ecx, edx
jne 0x100bf03a
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x100bf03a
sub ecx, esi
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x100bf18b
sub edx, esi
lea ebx, [ecx + 1]
sar edx, 2
mov eax, 0x3fffffff
mov ecx, edx
shr ecx, 1
sub eax, ecx
cmp eax, edx
jae 0x100bf01b
xor edx, edx
jmp 0x100bf01d
add edx, ecx
cmp edx, ebx
lea ecx, [ebp - 0xa4c]
cmovb edx, ebx
push edx
call fcn.1000ab70
mov ecx, dword [ebp - 0xa48]
mov esi, dword [ebp - 0xa4c]
test ecx, ecx
je 0x100bf0b4
mov eax, dword [esi + edi*4]
mov dword [ecx], eax
jmp 0x100bf0ae
mov edx, dword [ebp - 0xa44]
cmp ecx, edx
jne 0x100bf0a8
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x100bf0a8
sub ecx, esi
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x100bf18b
sub edx, esi
lea edi, [ecx + 1]
sar edx, 2
mov eax, 0x3fffffff
mov ecx, edx
shr ecx, 1
sub eax, ecx
cmp eax, edx
jae 0x100bf08f
xor edx, edx
jmp 0x100bf091
add edx, ecx
cmp edx, edi
lea ecx, [ebp - 0xa4c]
cmovb edx, edi
push edx
call fcn.1000ab70
mov ecx, dword [ebp - 0xa48]
test ecx, ecx
je 0x100bf0b4
mov dword [ecx], ebx
mov ecx, dword [ebp - 0xa48]
add ecx, 4
mov byte [ebp - 0xa31], 1
inc dword [ebp - 0xa24]
mov dword [ebp - 0xa48], ecx
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x1a
call fcn.1001c9b0
mov eax, dword [ebp - 0xa1c]
mov ecx, dword [ebp - 0xa40]
inc eax
mov edi, dword [ebp - 0xa3c]
add ecx, 0x1f4
mov ebx, dword [ebp - 0xa38]
mov dword [ebp - 0xa1c], eax
mov dword [ebp - 0xa40], ecx
cmp eax, edi
jb 0x100bed87
lea eax, [ebp - 0xa24]
push eax
lea ecx, [ebp - 0xa5c]
call fcn.1000a7d0
xor eax, eax
mov byte [ebp - 4], 0x15
mov dword [ebp - 0xa24], eax
cmp dword [ebp - 0xa4c], eax
je 0x100bf16b
lea ecx, [ebp - 0xa4c]
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
push dword [ebp - 0xa4c]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [ebp - 0xa4c], 0
mov dword [ebp - 0xa48], 0
mov dword [ebp - 0xa44], 0
mov ebx, dword [ebp - 0xa20]
inc ebx
mov dword [ebp - 0xa20], ebx
cmp ebx, dword [ebp - 0xa60]
jae 0x100bf196
mov esi, dword [ebp - 0xa30]
jmp 0x100bea60
push str.vector_T__too_long
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xlength_error_char_const__]
mov al, byte [ebp - 0xa31]
test al, al
je 0x100c04f2
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
mov esi, dword [ebp - 0xa30]
lea edx, [ebp - 0xa5c]
mov ecx, esi
call fcn.100bc140
mov ecx, dword [esi + 4]
mov eax, 0x10624dd3
sub ecx, dword [esi]
add esp, 0x18
imul ecx
sar edx, 5
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov dword [ebp - 0xa38], ebx
cmp ebx, dword [ebp - 0xa60]
je 0x100bf434
xor edi, edi
mov dword [ebp - 0xa60], ebx
lea ecx, [ebp - 0xa5c]
mov dword [ebp - 0xa24], edi
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov eax, dword [ebp - 0xa5c]
xor esi, esi
mov dword [ebp - 0xa58], eax
mov dword [ebp - 0xa40], esi
test ebx, ebx
je 0x100bf42e
mov dword [ebp - 0xa20], esi
mov ecx, dword [ebp - 0xa30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
mov dword [ebp - 0xa1c], eax
mov eax, 0x10624dd3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x100bf977
mov dword [ebp - 0xa90], 0
mov dword [ebp - 0xa8c], 0
mov dword [ebp - 0xa88], 0
mov eax, dword [ebp - 0xa3c]
xor esi, esi
mov byte [ebp - 4], 0x1e
test eax, eax
je 0x100bf3bc
mov ebx, dword [ebp - 0xa80]
cmp eax, esi
jbe 0x100bf977
push ebx
lea ecx, [ebp - 0x238]
call fcn.1001cd20
mov eax, dword [ebp - 0xa1c]
mov ecx, dword [ebp - 0xa20]
add eax, 0x64
mov byte [ebp - 4], 0x1f
add ecx, eax
cmp dword [ebp - 0x1c0], 0x10
lea eax, [ebp - 0x1d4]
push dword [ebp - 0x1c4]
cmovae eax, dword [ebp - 0x1d4]
push eax
push dword [ecx + 0x10]
push 0
call fcn.1001a480
test eax, eax
jne 0x100bf392
mov eax, dword [ebp - 0xa1c]
mov ecx, dword [ebp - 0xa20]
add eax, 0x15c
push dword [ebp - 0xcc]
add ecx, eax
cmp dword [ebp - 0xc8], 0x10
lea eax, [ebp - 0xdc]
cmovae eax, dword [ebp - 0xdc]
push eax
push dword [ecx + 0x10]
push 0
call fcn.1001a480
test eax, eax
jne 0x100bf392
mov eax, dword [ebp - 0xa1c]
mov ecx, dword [ebp - 0xa20]
add eax, 0x144
push dword [ebp - 0xe4]
add ecx, eax
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
cmovae eax, dword [ebp - 0xf4]
push eax
push dword [ecx + 0x10]
push 0
call fcn.1001a480
test eax, eax
jne 0x100bf392
lea eax, [ebp - 0xa28]
mov dword [ebp - 0xa28], esi
push eax
lea ecx, [ebp - 0xa90]
call fcn.1000a7d0
inc edi
mov dword [ebp - 0xa24], edi
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x1e
call fcn.1001c9b0
mov eax, dword [ebp - 0xa3c]
inc esi
add ebx, 0x1f4
cmp eax, esi
ja 0x100bf2ad
mov ebx, dword [ebp - 0xa38]
lea eax, [ebp - 0xa24]
push eax
lea ecx, [ebp - 0xa5c]
call fcn.1000a7d0
xor edi, edi
mov byte [ebp - 4], 0x15
mov dword [ebp - 0xa24], edi
cmp dword [ebp - 0xa90], edi
je 0x100bf40f
lea ecx, [ebp - 0xa90]
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
push dword [ebp - 0xa90]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [ebp - 0xa90], edi
mov dword [ebp - 0xa8c], edi
mov dword [ebp - 0xa88], edi
mov esi, dword [ebp - 0xa40]
add dword [ebp - 0xa20], 0x1f4
inc esi
mov dword [ebp - 0xa40], esi
cmp esi, ebx
jb 0x100bf241
mov esi, dword [ebp - 0xa30]
mov dword [ebp - 0xa4c], 0
mov dword [ebp - 0xa48], 0
mov dword [ebp - 0xa44], 0
xor ebx, ebx
mov byte [ebp - 4], 0x20
mov dword [ebp - 0xa20], ebx
cmp dword [ebp - 0xa38], ebx
jbe 0x100bf62c
xor edi, edi
mov dword [ebp - 0xa1c], edi
mov ecx, dword [ebp - 0xa30]
mov eax, 0x10624dd3
mov esi, dword [esi]
mov ecx, dword [ecx + 4]
sub ecx, esi
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ebx
jbe 0x100bf977
lea eax, [esi + edi]
push eax
lea ecx, [ebp - 0x430]
call fcn.1001cd20
mov eax, dword [ebp - 0xa20]
mov edi, 1
mov ecx, dword [ebp - 0xa38]
xor esi, esi
mov byte [ebp - 4], 0x21
xor ebx, ebx
mov dword [ebp - 0xa24], edi
cmp eax, esi
je 0x100bf5ca
mov ecx, dword [ebp - 0xa30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x100bf977
mov ecx, dword [ebp - 0xa30]
mov eax, dword [ecx]
lea ecx, [ebp - 0x238]
add eax, ebx
push eax
call fcn.1001cd20
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x1d4]
cmp dword [ebp - 0x1c0], 0x10
lea ecx, [ebp - 0x3cc]
push dword [ebp - 0x1c4]
cmovae eax, dword [ebp - 0x1d4]
push eax
push dword [ebp - 0x3bc]
push 0
call fcn.1001a480
test eax, eax
jne 0x100bf5af
cmp dword [ebp - 0xc8], 0x10
lea eax, [ebp - 0xdc]
push dword [ebp - 0xcc]
cmovae eax, dword [ebp - 0xdc]
lea ecx, [ebp - 0x2d4]
push eax
push dword [ebp - 0x2c4]
push 0
call fcn.1001a480
test eax, eax
jne 0x100bf5af
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push dword [ebp - 0xe4]
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0x2ec]
push eax
push dword [ebp - 0x2dc]
push 0
call fcn.1001a480
test eax, eax
jne 0x100bf5af
inc edi
mov dword [ebp - 0xa24], edi
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x21
call fcn.1001c9b0
mov eax, dword [ebp - 0xa20]
mov ecx, dword [ebp - 0xa38]
inc esi
add ebx, 0x1f4
cmp esi, ecx
jb 0x100bf4c6
lea eax, [ebp - 0xa24]
push eax
lea ecx, [ebp - 0xa4c]
call fcn.1000a7d0
lea ecx, [ebp - 0x430]
mov byte [ebp - 4], 0x20
call fcn.1001c9b0
mov ebx, dword [ebp - 0xa20]
mov edi, dword [ebp - 0xa1c]
inc ebx
add edi, 0x1f4
mov dword [ebp - 0xa20], ebx
mov dword [ebp - 0xa1c], edi
cmp ebx, dword [ebp - 0xa38]
jae 0x100bf62c
mov esi, dword [ebp - 0xa30]
jmp 0x100bf472
mov ebx, dword [ebp - 0xa58]
lea ecx, [ebp - 0x628]
sub ebx, dword [ebp - 0xa5c]
xor edi, edi
sar ebx, 2
mov dword [ebp - 0xa38], ebx
call fcn.100b9300
xor esi, esi
mov byte [ebp - 4], 0x23
mov dword [ebp - 0xa24], 0xffffffff
test ebx, ebx
je 0x100c0271
mov ebx, dword [ebp - 0xa5c]
mov edx, 0xfffffffc
mov dword [ebp - 0xa20], esi
mov dword [ebp - 0xa40], edx
lea ecx, [ecx]
mov ecx, dword [ebp - 0xa58]
sub ecx, ebx
sar ecx, 2
cmp ecx, esi
jbe 0x100bf977
or ebx, 0xffffffff
mov dword [ebp - 0xa1c], ebx
test esi, esi
je 0x100bf6ba
lea eax, [esi - 1]
cmp ecx, eax
jbe 0x100bf977
mov eax, dword [ebp - 0xa5c]
mov ebx, dword [edx + eax]
mov dword [ebp - 0xa1c], ebx
mov eax, dword [ebp - 0xa38]
or edx, 0xffffffff
dec eax
cmp esi, eax
je 0x100bf6df
lea eax, [esi + 1]
cmp ecx, eax
jbe 0x100bf977
mov eax, dword [ebp - 0xa5c]
mov edx, dword [eax + esi*4 + 4]
jmp 0x100bf6e5
mov eax, dword [ebp - 0xa5c]
mov ecx, dword [eax + esi*4]
test ecx, ecx
jle 0x100bf84d
test ebx, ebx
jne 0x100bf6f5
inc edi
test edx, edx
jne 0x100bf702
cmp dword [ebp - 0xa24], esi
je 0x100bf702
inc edi
mov eax, dword [ebp - 0xa48]
mov edx, dword [ebp - 0xa4c]
sub eax, edx
sar eax, 2
cmp eax, esi
jbe 0x100bf977
mov eax, dword [edx + esi*4]
mov dword [ebp - 0xa28], eax
cmp eax, ecx
jle 0x100bf84d
mov eax, dword [ebp - 0xa30]
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
sub ecx, ebx
mov eax, 0x10624dd3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x100bf977
mov eax, dword [ebp - 0xa20]
lea ecx, [ebp - 0x238]
add eax, ebx
push eax
call fcn.1001cd20
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x1d4]
cmp dword [ebp - 0x1c0], 0x10
lea ecx, [ebp - 0x5c4]
push dword [ebp - 0x1c4]
cmovae eax, dword [ebp - 0x1d4]
push eax
push dword [ebp - 0x5b4]
push 0
call fcn.1001a480
test eax, eax
jne 0x100bf800
cmp dword [ebp - 0xc8], 0x10
lea eax, [ebp - 0xdc]
push dword [ebp - 0xcc]
cmovae eax, dword [ebp - 0xdc]
lea ecx, [ebp - 0x4cc]
push eax
push dword [ebp - 0x4bc]
push 0
call fcn.1001a480
test eax, eax
jne 0x100bf800
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push dword [ebp - 0xe4]
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0x4e4]
push eax
push dword [ebp - 0x4d4]
push 0
call fcn.1001a480
test eax, eax
je 0x100bf83e
mov eax, dword [ebp - 0xa28]
lea ecx, [ebp - 0x628]
dec eax
inc edi
add eax, esi
mov dword [ebp - 0xa24], eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x430]
push eax
call fcn.100b96e0
lea ecx, [ebp - 0x430]
call fcn.1001c9b0
cmp dword [ebp - 0xa1c], 0
jne 0x100bf83e
dec edi
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x23
call fcn.1001c9b0
mov edx, dword [ebp - 0xa40]
inc esi
add dword [ebp - 0xa20], 0x1f4
add edx, 4
mov ecx, dword [ebp - 0xa38]
mov ebx, dword [ebp - 0xa5c]
mov dword [ebp - 0xa40], edx
cmp esi, ecx
jb 0x100bf680
cmp edi, 2
jle 0x100bfa69
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
mov ebx, dword [ebp - 0xa30]
lea edx, [ebp - 0xa5c]
mov ecx, ebx
call fcn.100bc140
lea eax, [ebp - 0xa4c]
mov ecx, ebx
push eax
lea edx, [ebp - 0xa5c]
call fcn.100bc570
add esp, 0x1c
lea ecx, [ebp - 0xa5c]
mov edi, eax
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov ecx, dword [ebp - 0xa5c]
mov dword [ebp - 0xa58], ecx
lea ecx, [ebp - 0xa4c]
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov ecx, dword [ebp - 0xa4c]
lea eax, [ebp - 0xa31]
push eax
lea eax, [ebp - 0xa4c]
mov dword [ebp - 0xa48], ecx
push eax
lea eax, [ebp - 0xa5c]
mov byte [ebp - 0xa31], 0
push eax
lea edx, [ebp - 0xa80]
mov ecx, ebx
call fcn.100bc7b0
add esp, 0xc
cmp byte [ebp - 0xa31], 0
jne 0x100bfa54
xor esi, esi
cmp dword [ebp - 0xa3c], esi
jbe 0x100bfa25
cmp dword [ebp - 0xa60], esi
jbe 0x100bfa25
mov ecx, dword [ebp - 0xa7c]
mov eax, 0x10624dd3
mov ebx, dword [ebp - 0xa80]
sub ecx, ebx
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x100bf982
push str.invalid_vector_T__subscript
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xout_of_range_char_const__]
push ebx
lea ecx, [ebp - 0x238]
call fcn.1001cd20
mov eax, dword [ebp - 0xa30]
mov byte [ebp - 4], 0x25
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
sub ecx, ebx
mov eax, 0x10624dd3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x100bf9bd
push str.invalid_vector_T__subscript
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xout_of_range_char_const__]
push ebx
lea ecx, [ebp - 0x430]
call fcn.1001cd20
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x368]
cmp dword [ebp - 0x354], 0x10
lea ecx, [ebp - 0x170]
push dword [ebp - 0x358]
cmovae eax, dword [ebp - 0x368]
push eax
push dword [ebp - 0x160]
push 0
call fcn.1001a480
test eax, eax
lea ecx, [ebp - 0x430]
mov eax, 1
cmovs esi, eax
call fcn.1001c9b0
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x23
call fcn.1001c9b0
mov ebx, dword [ebp - 0xa30]
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
mov edx, esi
mov ecx, ebx
call fcn.100bd1c0
add esp, 0x18
cmp edi, 2
jg 0x100c0271
mov ebx, dword [ebp - 0xa5c]
mov ecx, dword [ebp - 0xa38]
mov esi, dword [ebp - 0xa48]
test edi, edi
je 0x100c0271
or edx, 0xffffffff
xor eax, eax
cmp edi, 1
jne 0x100bfd54
mov ebx, dword [ebp - 0xa58]
dec ecx
mov dword [ebp - 0xa28], ecx
or esi, edx
mov ecx, dword [ebp - 0xa5c]
sub ebx, ecx
sar ebx, 2
mov dword [ebp - 0xa1c], edx
mov dword [ebp - 0xa24], ebx
jmp 0x100bfab0
cmp ebx, eax
jbe 0x100bf977
mov edi, dword [ecx + eax*4]
mov ecx, dword [ebp - 0xa48]
mov edx, dword [ebp - 0xa4c]
sub ecx, edx
sar ecx, 2
cmp ecx, eax
jbe 0x100bf977
mov edx, dword [edx + eax*4]
cmp eax, dword [ebp - 0xa28]
jne 0x100bfb22
lea ebx, [eax - 1]
cmp ecx, ebx
jbe 0x100bf977
mov ecx, dword [ebp - 0xa4c]
mov ecx, dword [ecx + ebx*4]
cmp dword [ebp - 0xa24], ebx
jbe 0x100bf977
cmp edx, edi
jle 0x100bfb0c
cmp edx, 1
jne 0x100bfc1f
test edi, edi
jne 0x100bfc05
mov edx, dword [ebp - 0xa5c]
cmp dword [edx + ebx*4], ecx
jmp 0x100bfc03
test eax, eax
jne 0x100bfb74
cmp ecx, 1
jbe 0x100bf977
mov ecx, dword [ebp - 0xa4c]
mov ecx, dword [ecx + 4]
cmp ebx, 1
jbe 0x100bf977
cmp edx, edi
jle 0x100bfb4e
cmp edx, 1
jne 0x100bfc2e
test edi, edi
jne 0x100bfc0b
mov edx, dword [ebp - 0xa5c]
cmp dword [edx + 4], ecx
jne 0x100bfc0b
xor ecx, ecx
xor esi, esi
mov dword [ebp - 0xa1c], ecx
jmp 0x100bfc76
lea ebx, [eax - 1]
cmp dword [ebp - 0xa24], ebx
jbe 0x100bf977
mov esi, dword [ebp - 0xa5c]
mov esi, dword [esi + ebx*4]
lea ebx, [eax + 1]
mov dword [ebp - 0xa3c], esi
mov esi, 0xffffffff
mov dword [ebp - 0xa68], ebx
cmp dword [ebp - 0xa24], ebx
jbe 0x100bf977
mov ebx, dword [ebp - 0xa5c]
mov ebx, dword [ebx + eax*4 + 4]
mov dword [ebp - 0xa20], ebx
lea ebx, [eax - 1]
cmp ecx, dword [ebp - 0xa68]
jbe 0x100bf977
cmp ecx, ebx
jbe 0x100bf977
cmp edx, edi
jle 0x100bfbdc
cmp edx, 1
jne 0x100bfc3d
test edi, edi
jne 0x100bfc05
mov ecx, dword [ebp - 0xa3c]
mov edx, dword [ebp - 0xa20]
mov edi, dword [ebp - 0xa4c]
test ecx, ecx
jne 0x100bfbfc
cmp edx, dword [edi + eax*4 + 4]
je 0x100bfc67
cmp ecx, dword [edi + ebx*4]
jne 0x100bfc05
test edx, edx
je 0x100bfc1f
mov ebx, dword [ebp - 0xa24]
inc eax
cmp eax, dword [ebp - 0xa38]
jae 0x100bfc73
mov ecx, dword [ebp - 0xa5c]
jmp 0x100bfab0
mov ecx, 1
mov esi, eax
mov dword [ebp - 0xa1c], ecx
jmp 0x100bfc76
mov esi, edx
xor ecx, ecx
sub esi, edi
mov dword [ebp - 0xa1c], ecx
dec esi
jmp 0x100bfc76
cmp dword [ebp - 0xa3c], 0
jne 0x100bfc57
xor ecx, ecx
lea esi, [eax - 1]
sub edx, edi
mov dword [ebp - 0xa1c], ecx
add esi, edx
jmp 0x100bfc76
mov ecx, 1
lea esi, [edi + eax]
mov dword [ebp - 0xa1c], ecx
jmp 0x100bfc76
xor ecx, ecx
mov esi, eax
mov dword [ebp - 0xa1c], ecx
jmp 0x100bfc76
or ecx, 0xffffffff
cmp esi, dword [ebp - 0xa60]
jae 0x100c0271
cmp ecx, 0xffffffff
je 0x100c0271
test ecx, ecx
jne 0x100bfcdc
xor edi, edi
xor ebx, ebx
mov ecx, dword [ebp - 0xa30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, edi
jbe 0x100bf977
mov ecx, dword [ebp - 0xa30]
mov eax, dword [ecx]
lea ecx, [ebp - 0xa74]
add eax, ebx
push eax
call fcn.1001e210
inc edi
add ebx, 0x1f4
cmp edi, esi
jbe 0x100bfc93
jmp 0x100bfd26
imul edi, esi, 0x1f4
mov eax, dword [ebp - 0xa30]
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
sub ecx, ebx
mov eax, 0x10624dd3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x100bf977
lea eax, [edi + ebx]
push eax
lea ecx, [ebp - 0xa74]
call fcn.1001e210
inc esi
add edi, 0x1f4
cmp esi, dword [ebp - 0xa60]
jb 0x100bfce2
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
mov edx, dword [ebp - 0xa1c]
jmp 0x100c04a8
or edi, 0xffffffff
mov dword [ebp - 0xa50], 0xffffffff
or ecx, edi
mov dword [ebp - 0xa1c], edi
mov dword [ebp - 0xa24], ecx
mov ecx, dword [ebp - 0xa38]
dec ecx
mov dword [ebp - 0xa40], edx
mov dword [ebp - 0xa68], ecx
mov ecx, dword [ebp - 0xa58]
sub ecx, ebx
sar ecx, 2
mov dword [ebp - 0xa64], ecx
cmp ecx, eax
jbe 0x100bf977
mov edi, dword [ebx + eax*4]
mov ecx, esi
mov esi, dword [ebp - 0xa4c]
sub ecx, esi
sar ecx, 2
cmp ecx, eax
jbe 0x100bf977
mov edx, dword [esi + eax*4]
cmp eax, dword [ebp - 0xa68]
jne 0x100bfea9
lea esi, [eax - 1]
cmp ecx, esi
jbe 0x100bf977
mov ecx, dword [ebp - 0xa4c]
mov ecx, dword [ecx + esi*4]
cmp dword [ebp - 0xa64], esi
jbe 0x100bf977
cmp edx, edi
jle 0x100bfdeb
cmp edx, 1
jne 0x100bfdfc
test edi, edi
jne 0x100bff87
cmp dword [ebx + esi*4], ecx
jne 0x100bff87
mov dword [ebp - 0xa50], eax
mov dword [ebp - 0xa40], 1
mov edi, dword [ebp - 0xa38]
dec edi
mov dword [ebp - 0xa3c], edi
mov eax, edi
js 0x100c0178
mov edi, dword [ebp - 0xa48]
mov edx, dword [ebp - 0xa4c]
sub edi, edx
sar edi, 2
mov dword [ebp - 0xa20], edi
jmp 0x100bfe40
cmp dword [ebp - 0xa64], eax
jbe 0x100bf977
mov ebx, dword [ebp - 0xa5c]
mov esi, dword [ebx + eax*4]
cmp edi, eax
jbe 0x100bf977
mov ecx, dword [edx + eax*4]
cmp eax, dword [ebp - 0xa68]
jne 0x100c0005
lea edx, [eax - 1]
cmp edi, edx
jbe 0x100bf977
mov edi, dword [ebp - 0xa4c]
mov edi, dword [edi + edx*4]
cmp dword [ebp - 0xa64], edx
jbe 0x100bf977
cmp ecx, esi
jle 0x100bfe99
cmp ecx, 1
jne 0x100c00ef
test esi, esi
jne 0x100c00d7
cmp dword [ebx + edx*4], edi
jmp 0x100c00d5
test eax, eax
jne 0x100bfef5
cmp ecx, 1
jbe 0x100bf977
cmp dword [ebp - 0xa64], 1
mov ecx, dword [esi + 4]
jbe 0x100bf977
cmp edx, edi
jle 0x100bfed3
cmp edx, 1
jne 0x100bffa5
test edi, edi
jne 0x100bff87
cmp dword [ebx + 4], ecx
jne 0x100bff87
mov dword [ebp - 0xa40], edi
mov dword [ebp - 0xa50], edi
jmp 0x100bfe0c
lea esi, [eax - 1]
cmp dword [ebp - 0xa64], esi
jbe 0x100bf977
mov ebx, dword [ebx + esi*4]
mov dword [ebp - 0xa3c], ebx
lea ebx, [eax + 1]
cmp dword [ebp - 0xa64], ebx
jbe 0x100bf977
mov esi, dword [ebp - 0xa5c]
mov esi, dword [esi + ebx*4]
mov dword [ebp - 0xa20], esi
lea esi, [eax - 1]
cmp ecx, ebx
jbe 0x100bf977
cmp ecx, esi
jbe 0x100bf977
cmp edx, edi
jle 0x100bff4b
cmp edx, 1
jne 0x100bffbf
test edi, edi
jne 0x100bff81
mov ecx, dword [ebp - 0xa3c]
mov edx, dword [ebp - 0xa20]
test ecx, ecx
jne 0x100bff6e
mov edi, dword [ebp - 0xa4c]
cmp edx, dword [edi + ebx*4]
je 0x100bfff2
mov ebx, dword [ebp - 0xa4c]
cmp ecx, dword [ebx + esi*4]
jne 0x100bff81
test edx, edx
je 0x100bfdfc
mov ebx, dword [ebp - 0xa5c]
inc eax
cmp eax, dword [ebp - 0xa38]
jae 0x100bfe0c
mov ecx, dword [ebp - 0xa64]
mov esi, dword [ebp - 0xa48]
jmp 0x100bfd93
mov ecx, edx
mov dword [ebp - 0xa40], 0
sub ecx, edi
dec ecx
mov dword [ebp - 0xa50], ecx
jmp 0x100bfe0c
cmp dword [ebp - 0xa3c], 0
jne 0x100bffe4
sub edx, edi
mov dword [ebp - 0xa40], 0
lea ecx, [eax - 1]
add ecx, edx
mov dword [ebp - 0xa50], ecx
jmp 0x100bfe0c
lea ecx, [edi + eax]
mov dword [ebp - 0xa50], ecx
jmp 0x100bfe02
xor edx, edx
mov dword [ebp - 0xa50], eax
mov dword [ebp - 0xa40], edx
jmp 0x100bfe0c
test eax, eax
jne 0x100c0059
cmp edi, 1
jbe 0x100bf977
cmp dword [ebp - 0xa64], 1
mov edx, dword [edx + 4]
jbe 0x100bf977
cmp ecx, esi
jle 0x100c002f
cmp ecx, 1
jne 0x100c010a
test esi, esi
jne 0x100c00dd
cmp dword [ebx + 4], edx
jne 0x100c00dd
mov edi, dword [ebp - 0xa3c]
xor eax, eax
mov dword [ebp - 0xa24], esi
mov dword [ebp - 0xa1c], eax
jmp 0x100c017b
lea edx, [eax - 1]
cmp dword [ebp - 0xa64], edx
jbe 0x100bf977
mov ebx, dword [ebx + edx*4]
lea edi, [eax + 1]
cmp dword [ebp - 0xa64], edi
jbe 0x100bf977
mov edx, dword [ebp - 0xa5c]
mov edx, dword [edx + edi*4]
mov dword [ebp - 0xa28], edx
lea edx, [eax - 1]
cmp dword [ebp - 0xa20], edi
jbe 0x100bf977
cmp dword [ebp - 0xa20], edx
jbe 0x100bf977
cmp ecx, esi
jle 0x100c00b1
cmp ecx, 1
jne 0x100c0127
test esi, esi
jne 0x100c00d7
mov ecx, dword [ebp - 0xa28]
mov esi, dword [ebp - 0xa4c]
test ebx, ebx
jne 0x100c00ce
cmp ecx, dword [esi + edi*4]
je 0x100c015a
cmp ebx, dword [esi + edx*4]
jne 0x100c00d7
test ecx, ecx
je 0x100c00ef
mov edi, dword [ebp - 0xa20]
dec eax
js 0x100c0172
mov edx, dword [ebp - 0xa4c]
jmp 0x100bfe40
mov edi, dword [ebp - 0xa3c]
mov dword [ebp - 0xa24], 1
mov dword [ebp - 0xa1c], eax
jmp 0x100c017b
mov edi, dword [ebp - 0xa3c]
mov eax, ecx
sub eax, esi
mov dword [ebp - 0xa24], 0
dec eax
mov dword [ebp - 0xa1c], eax
jmp 0x100c017b
mov edi, dword [ebp - 0xa3c]
test ebx, ebx
jne 0x100c0146
xor edx, edx
sub ecx, esi
dec eax
mov dword [ebp - 0xa40], edx
add eax, ecx
mov dword [ebp - 0xa50], eax
jmp 0x100c0178
add eax, esi
mov dword [ebp - 0xa24], 1
mov dword [ebp - 0xa1c], eax
jmp 0x100c017b
mov edi, dword [ebp - 0xa3c]
mov dword [ebp - 0xa24], 0
mov dword [ebp - 0xa1c], eax
jmp 0x100c017b
mov edi, dword [ebp - 0xa3c]
or eax, 0xffffffff
cmp dword [ebp - 0xa50], 0xffffffff
jne 0x100c02ab
cmp eax, 0xffffffff
jne 0x100c0271
mov edx, dword [ebp - 0xa4c]
xor ecx, ecx
mov esi, dword [ebp - 0xa48]
xor eax, eax
mov ebx, dword [ebp - 0xa5c]
sub esi, edx
sar esi, 2
sub ebx, edx
mov dword [ebp - 0xa24], ecx
mov ecx, edx
mov dword [ebp - 0xa40], 1
mov dword [ebp - 0xa28], esi
jmp 0x100c01d0
cmp dword [ebp - 0xa64], eax
jbe 0x100bf977
mov edx, dword [ebx + ecx]
cmp esi, eax
jbe 0x100bf977
mov esi, dword [ecx]
cmp esi, edx
jle 0x100c01f2
cmp esi, 1
jne 0x100c020a
test edx, edx
je 0x100c020d
inc eax
add ecx, 4
cmp eax, dword [ebp - 0xa38]
jae 0x100c0213
mov esi, dword [ebp - 0xa28]
jmp 0x100c01d0
dec eax
add eax, edx
mov dword [ebp - 0xa50], eax
test edi, edi
js 0x100c0266
mov eax, dword [ebp - 0xa4c]
lea eax, [eax + edi*4]
cmp dword [ebp - 0xa64], edi
jbe 0x100bf977
mov edx, dword [eax + ebx]
cmp dword [ebp - 0xa28], edi
jbe 0x100bf977
mov ecx, dword [eax]
cmp ecx, edx
jle 0x100c0246
cmp ecx, 1
jne 0x100c0252
test edx, edx
je 0x100c0260
sub eax, 4
dec edi
jns 0x100c0220
jmp 0x100c0266
mov eax, edx
sub eax, ecx
add eax, edi
mov dword [ebp - 0xa1c], eax
jmp 0x100c0266
mov dword [ebp - 0xa1c], edi
mov eax, dword [ebp - 0xa50]
cmp eax, 0xffffffff
jne 0x100c02b1
lea ecx, [ebp - 0x628]
call fcn.1001c9b0
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0xa4c], 0
je 0x100c02a4
lea ecx, [ebp - 0xa4c]
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
push dword [ebp - 0xa4c]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor bl, bl
jmp 0x100c05d2
mov eax, dword [ebp - 0xa50]
mov ebx, dword [ebp - 0xa1c]
cmp ebx, 0xffffffff
je 0x100c0271
mov ecx, dword [ebp - 0xa40]
cmp ecx, 0xffffffff
je 0x100c0271
mov edx, dword [ebp - 0xa24]
cmp edx, 0xffffffff
je 0x100c0271
test ecx, ecx
jne 0x100c0409
cmp edx, 1
jne 0x100c04b6
xor esi, esi
xor edi, edi
jmp 0x100c02f0
mov eax, dword [ebp - 0xa30]
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
sub ecx, ebx
mov eax, 0x10624dd3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x100bf977
lea eax, [edi + ebx]
push eax
lea ecx, [ebp - 0xa74]
call fcn.1001e210
inc esi
add edi, 0x1f4
cmp esi, dword [ebp - 0xa50]
jbe 0x100c02f0
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
xor edx, edx
lea ecx, [ebp - 0xa74]
call fcn.100bd1c0
add esp, 0x18
lea ecx, [ebp - 0xa74]
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov edi, dword [ebp - 0xa70]
mov esi, dword [ebp - 0xa74]
cmp esi, edi
je 0x100c039a
mov ecx, esi
call fcn.1001c9b0
add esi, 0x1f4
cmp esi, edi
jne 0x100c0383
mov esi, dword [ebp - 0xa74]
mov ebx, dword [ebp - 0xa1c]
mov dword [ebp - 0xa70], esi
cmp ebx, dword [ebp - 0xa60]
jae 0x100c0480
imul esi, ebx, 0x1f4
jmp 0x100c03c0
mov eax, dword [ebp - 0xa30]
mov ecx, dword [eax + 4]
mov edi, dword [eax]
sub ecx, edi
mov eax, 0x10624dd3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ebx
jbe 0x100bf977
lea eax, [esi + edi]
push eax
lea ecx, [ebp - 0xa74]
call fcn.1001e210
inc ebx
add esi, 0x1f4
cmp ebx, dword [ebp - 0xa60]
jb 0x100c03c0
jmp 0x100c0480
cmp ecx, 1
jne 0x100c04b6
test edx, edx
jne 0x100c04b6
cmp eax, ebx
jg 0x100c04b6
ja 0x100c0480
imul esi, eax, 0x1f4
lea ebx, [ebx]
mov eax, dword [ebp - 0xa30]
mov ecx, dword [eax + 4]
mov edi, dword [eax]
sub ecx, edi
mov eax, 0x10624dd3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [ebp - 0xa50]
jbe 0x100bf977
lea eax, [esi + edi]
push eax
lea ecx, [ebp - 0xa74]
call fcn.1001e210
mov eax, dword [ebp - 0xa50]
add esi, 0x1f4
inc eax
mov dword [ebp - 0xa50], eax
cmp eax, ebx
jbe 0x100c0430
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
mov edx, 1
lea ecx, [ebp - 0xa74]
call fcn.100bd1c0
add esp, 0x18
lea ecx, [ebp - 0x628]
call fcn.1001c9b0
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0xa4c], 0
je 0x100c05d0
lea ecx, [ebp - 0xa4c]
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
push dword [ebp - 0xa4c]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
jmp 0x100c05d0
mov eax, dword [ebp - 0xa60]
xor esi, esi
test edi, edi
je 0x100c059d
test eax, eax
je 0x100c059d
test edi, edi
jne 0x100c0519
push str.invalid_vector_T__subscript
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xout_of_range_char_const__]
push dword [ebp - 0xa80]
lea ecx, [ebp - 0x628]
call fcn.1001cd20
mov ecx, dword [ebp - 0xa30]
push 0
mov byte [ebp - 4], 0x1c
call fcn.1001e1d0
push eax
lea ecx, [ebp - 0x430]
call fcn.1001cd20
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x368]
cmp dword [ebp - 0x354], 0x10
lea ecx, [ebp - 0x560]
push dword [ebp - 0x358]
cmovae eax, dword [ebp - 0x368]
push eax
push dword [ebp - 0x550]
push 0
call fcn.1001a480
test eax, eax
mov ecx, 1
cmovs esi, ecx
lea ecx, [ebp - 0x430]
call fcn.1001c9b0
lea ecx, [ebp - 0x628]
mov byte [ebp - 4], 0x15
call fcn.1001c9b0
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
mov ecx, dword [ebp - 0xa30]
mov edx, esi
call fcn.100bd1c0
add esp, 0x18
mov bl, 1
mov byte [ebp - 4], 4
cmp dword [ebp - 0xa5c], 0
je 0x100c061e
lea ecx, [ebp - 0xa5c]
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
push dword [ebp - 0xa5c]
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
call esi
add esp, 4
mov dword [ebp - 0xa5c], 0
mov dword [ebp - 0xa58], 0
mov dword [ebp - 0xa54], 0
jmp 0x100c0624
xor bl, bl
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
lea ecx, [ebp - 0xa80]
call fcn.1001e370
lea ecx, [ebp - 0xa74]
call fcn.1001e370
cmp dword [ebp + 0x1c], 0x10
jb 0x100c0648
push dword [ebp + 8]
call esi
add esp, 4
cmp dword [ebp + 0x34], 0x10
mov dword [ebp + 0x1c], 0xf
mov dword [ebp + 0x18], 0
mov byte [ebp + 8], 0
jb 0x100c0668
push dword [ebp + 0x20]
call esi
add esp, 4
cmp dword [ebp + 0x4c], 0x10
mov dword [ebp + 0x34], 0xf
mov dword [ebp + 0x30], 0
mov byte [ebp + 0x20], 0
jb 0x100c0688
push dword [ebp + 0x38]
call esi
add esp, 4
mov al, bl
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.100dc8fb
mov esp, ebp
pop ebp
ret