Function at 0x100cc7d0
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f3e82
mov eax, dword fs:[0]
push eax
sub esp, 0xa84
mov eax, dword [0x1012d034]
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.10032030
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, 0x1010d1fc
mov edi, dword [ebp + 8]
cmp esi, 0x10
cmovae eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100cc884
test dl, dl
je 0x100cc880
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100cc884
add eax, 2
add ecx, 2
test dl, dl
jne 0x100cc864
xor eax, eax
jmp 0x100cc889
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100cca0e
sub esp, 0x18
mov ecx, esp
push 0x1010d1dc
call fcn.10001f10
lea ecx, [ebp - 0xa2c]
call fcn.100bcbd0
add esp, 0x18
mov byte [ebp - 4], 5
mov esi, dword [eax]
lea ecx, [esi + 0x1c]
call fcn.100d5ff0
test al, al
je 0x100cc8cb
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 0x100cc8ff
lea eax, [edi + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x100cc8ff
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lea eax, [edi + 8]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x100cc8ff
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.10007d40
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.10007d40
mov byte [ebp - 4], 7
mov eax, dword [0x10132498]
test al, 1
jne 0x100cc999
or eax, 1
mov dword [0x10132498], eax
mov byte [ebp - 4], 8
xorps xmm0, xmm0
movq qword [0x1013248c], xmm0
mov dword [0x10132494], 0
call fcn.100c1e30
push 0x100f6fe0
call fcn.100ebe7b
add esp, 4
mov byte [ebp - 4], 7
lea eax, [ebp - 0xa80]
mov byte [ebp - 4], 4
push eax
mov ecx, 0x1013248c
call fcn.100c1f80
sub esp, 0x18
mov ecx, esp
push 0x1010d214
call fcn.10001f10
lea ecx, [ebp - 0xa2c]
call fcn.100bcbd0
add esp, 0x18
mov edi, dword [eax]
cmp dword [edi + 0x34], 8
lea eax, [edi + 0x20]
jb 0x100cc9d8
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 0x100ccb54
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
jne 0x100ccb54
push dword [edi + 0x1c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x100ccb54
cmp esi, 0x10
lea eax, [ebp + 8]
mov ecx, 0x1010d208
cmovae eax, edi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100cca40
test dl, dl
je 0x100cca3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100cca40
add eax, 2
add ecx, 2
test dl, dl
jne 0x100cca20
xor eax, eax
jmp 0x100cca45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100ccb91
sub esp, 0x18
mov ecx, esp
push 0x1010d254
call fcn.10001f10
lea ecx, [ebp - 0xa2c]
call fcn.100bcbd0
add esp, 0x18
mov byte [ebp - 4], 9
mov esi, dword [eax]
lea ecx, [esi + 0x1c]
call fcn.100d5ff0
test al, al
je 0x100cca87
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 0x100ccabb
lea eax, [edi + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x100ccabb
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lea eax, [edi + 8]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x100ccabb
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.10007d40
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.10007d40
lea eax, [ebp - 0xa80]
mov byte [ebp - 4], 0xb
push eax
push ecx
call fcn.10031c30
add esp, 4
mov byte [ebp - 4], 4
mov ecx, eax
call fcn.100c1bf0
sub esp, 0x18
mov ecx, esp
push 0x1010d234
call fcn.10001f10
lea ecx, [ebp - 0xa2c]
call fcn.100bcbd0
add esp, 0x18
mov ecx, dword [eax]
call fcn.100bcb90
mov edi, dword [ebp - 0xa28]
test edi, edi
je 0x100ccf4e
lea eax, [edi + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x100ccf4e
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lea eax, [edi + 8]
lock xadd dword [eax], esi
dec esi
jne 0x100ccf4e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
jmp 0x100ccf4e
cmp esi, 0x10
lea eax, [ebp + 8]
mov ecx, 0x1010d28c
cmovae eax, edi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100ccbc0
test dl, dl
je 0x100ccbbc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100ccbc0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100ccba0
xor eax, eax
jmp 0x100ccbc5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100ccc9a
sub esp, 0x18
mov ecx, esp
push 0x1010d274
call fcn.10001f10
lea ecx, [ebp - 0xa2c]
call fcn.100bcbd0
add esp, 0x18
mov byte [ebp - 4], 0xc
mov esi, dword [eax]
lea ecx, [esi + 0x1c]
call fcn.100d5ff0
test al, al
je 0x100ccc07
push 0xffffffffffffffff
push dword [esi + 0x1c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea ecx, [ebp - 0xa2c]
mov byte [ebp - 4], 4
call fcn.100133c0
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.10007d40
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.10007d40
lea eax, [ebp - 0xa80]
mov byte [ebp - 4], 0xe
push eax
push ecx
call fcn.10031e30
add esp, 4
mov byte [ebp - 4], 4
mov ecx, eax
call fcn.100c2dc0
sub esp, 0x18
mov ecx, esp
push 0x1010d2a0
jmp 0x100ccf29
cmp esi, 0x10
lea eax, [ebp + 8]
mov ecx, 0x1010d294
cmovae eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100cccc8
test dl, dl
je 0x100cccc4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100cccc8
add eax, 2
add ecx, 2
test dl, dl
jne 0x100ccca8
xor eax, eax
jmp 0x100ccccd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100ccd90
sub esp, 0x18
mov ecx, esp
push 0x1010d2d8
call fcn.10001f10
lea ecx, [ebp - 0xa2c]
call fcn.100bcbd0
add esp, 0x18
mov byte [ebp - 4], 0xf
mov ecx, dword [eax]
call fcn.100bcb70
lea ecx, [ebp - 0xa2c]
mov byte [ebp - 4], 4
call fcn.100133c0
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.10007d40
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.10007d40
lea eax, [ebp - 0xa80]
mov byte [ebp - 4], 0x11
push eax
push ecx
call fcn.10031db0
add esp, 4
mov byte [ebp - 4], 4
mov ecx, eax
call fcn.100c2a30
sub esp, 0x18
mov ecx, esp
push 0x1010d2b8
jmp 0x100ccf29
cmp esi, 0x10
lea eax, [ebp + 8]
mov ecx, 0x1010d314
cmovae eax, edi
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100ccdc0
test dl, dl
je 0x100ccdbc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100ccdc0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100ccda0
xor eax, eax
jmp 0x100ccdc5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100cce5e
sub esp, 0x18
mov ecx, esp
push 0x1010d2f8
call fcn.10001f10
lea ecx, [ebp - 0xa2c]
call fcn.100bcbd0
add esp, 0x18
mov byte [ebp - 4], 0x12
mov ecx, dword [eax]
call fcn.100bcb70
lea ecx, [ebp - 0xa2c]
mov byte [ebp - 4], 4
call fcn.100133c0
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
mov dword [ebp - 0xa28], esp
push eax
call fcn.10007930
sub esp, 0x18
mov byte [ebp - 4], 0x13
lea eax, [ebp + 0x20]
mov dword [ebp - 0xa68], esp
mov ecx, esp
push eax
call fcn.10007930
lea eax, [ebp - 0xa80]
mov byte [ebp - 4], 0x14
push eax
push ecx
call fcn.10031d30
add esp, 4
mov byte [ebp - 4], 4
mov ecx, eax
call fcn.100c2310
sub esp, 0x18
mov ecx, esp
push 0x1010d328
jmp 0x100ccf29
cmp esi, 0x10
lea eax, [ebp + 8]
mov ecx, 0x1010d31c
cmovae eax, edi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100cce90
test dl, dl
je 0x100cce8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100cce90
add eax, 2
add ecx, 2
test dl, dl
jne 0x100cce70
xor eax, eax
jmp 0x100cce95
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100ceb7c
sub esp, 0x18
mov ecx, esp
push 0x1010d364
call fcn.10001f10
lea ecx, [ebp - 0xa2c]
call fcn.100bcbd0
add esp, 0x18
mov byte [ebp - 4], 0x15
mov ecx, dword [eax]
call fcn.100bcb70
lea ecx, [ebp - 0xa2c]
mov byte [ebp - 4], 4
call fcn.100133c0
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
mov dword [ebp - 0xa28], esp
push eax
call fcn.10007930
sub esp, 0x18
mov byte [ebp - 4], 0x16
lea eax, [ebp + 0x20]
mov dword [ebp - 0xa68], esp
mov ecx, esp
push eax
call fcn.10007930
lea eax, [ebp - 0xa80]
mov byte [ebp - 4], 0x17
push eax
push ecx
call fcn.10031eb0
add esp, 4
mov byte [ebp - 4], 4
mov ecx, eax
call fcn.100c3150
sub esp, 0x18
mov ecx, esp
push 0x1010d344
call fcn.10001f10
lea ecx, [ebp - 0xa2c]
call fcn.100bcbd0
add esp, 0x18
mov ecx, dword [eax]
call fcn.100bcb90
lea ecx, [ebp - 0xa2c]
call fcn.100133c0
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], 0x18
mov dword [ebp - 0xa20], ebx
test eax, eax
je 0x100cea58
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 0x100cdee7
imul ebx, ebx, 0x1f4
add ebx, esi
mov dword [ebp - 0xa38], ebx
mov edi, dword [ebx + 0x13c]
test edi, edi
jne 0x100cd1c3
cmp dword [ebx + 0x18], 0x10
lea ecx, [ebx + 4]
mov esi, dword [ecx + 0x10]
jb 0x100cd020
mov ecx, dword [ecx]
mov eax, 8
cmp esi, eax
cmovb eax, esi
push eax
push 0x1010d38c
push ecx
call fcn.100078c0
add esp, 0xc
test eax, eax
jne 0x100cd051
cmp esi, 8
jae 0x100cd047
or eax, 0xffffffff
jmp 0x100cd04f
xor eax, eax
cmp esi, 8
setne al
test eax, eax
sete al
test al, al
je 0x100cd078
lea ecx, [ebx + 0x12c]
lea eax, [ebp + 0x20]
cmp ecx, eax
je 0x100cd1c3
push 0xffffffffffffffff
push 0
push eax
call fcn.10007d40
jmp 0x100cd1c3
test edi, edi
jne 0x100cd1c3
cmp dword [ebx + 0x18], 0x10
lea ecx, [ebx + 4]
mov esi, dword [ecx + 0x10]
jb 0x100cd08e
mov ecx, dword [ecx]
mov eax, 7
cmp esi, eax
cmovb eax, esi
push eax
push 0x1010d384
push ecx
call fcn.100078c0
add esp, 0xc
test eax, eax
jne 0x100cd0bf
cmp esi, 7
jae 0x100cd0b5
or eax, 0xffffffff
jmp 0x100cd0bd
xor eax, eax
cmp esi, 7
setne al
test eax, eax
sete al
test al, al
je 0x100cd1c3
cmp dword [ebx + 0x110], 1
jne 0x100cd1c3
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], 0x19
cmp esi, dword [ebp - 0xa60]
jae 0x100cd19a
imul edi, esi, 0x1f4
jmp 0x100cd110
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 0x100cdee7
lea eax, [ebx + edi]
push eax
lea ecx, [ebp - 0xa18]
call fcn.10024ce0
mov byte [ebp - 4], 0x1a
cmp dword [ebp - 0x8dc], 0
jne 0x100cd172
lea ecx, [ebp - 0xa18]
mov byte [ebp - 4], 0x19
call fcn.10024970
inc esi
add edi, 0x1f4
cmp esi, dword [ebp - 0xa60]
jb 0x100cd110
jmp 0x100cd194
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x8ec]
push eax
lea ecx, [ebp - 0x28]
call fcn.10007d40
lea ecx, [ebp - 0xa18]
mov byte [ebp - 4], 0x19
call fcn.10024970
mov ebx, dword [ebp - 0xa38]
lea ecx, [ebx + 0x12c]
lea eax, [ebp - 0x28]
cmp ecx, eax
je 0x100cd1b1
push 0xffffffffffffffff
push 0
push eax
call fcn.10007d40
cmp dword [ebp - 0x14], 0x10
jb 0x100cd1c3
push dword [ebp - 0x28]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [ebx + 0x16c], 0
jne 0x100cd2b3
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], 0x1b
cmp esi, dword [ebp - 0xa60]
jae 0x100cd28a
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 0x100cdee7
lea eax, [ebx + edi]
push eax
lea ecx, [ebp - 0x820]
call fcn.10024ce0
mov byte [ebp - 4], 0x1c
cmp dword [ebp - 0x6b4], 0
jne 0x100cd262
lea ecx, [ebp - 0x820]
mov byte [ebp - 4], 0x1b
call fcn.10024970
inc esi
add edi, 0x1f4
cmp esi, dword [ebp - 0xa60]
jb 0x100cd200
jmp 0x100cd284
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x6c4]
push eax
lea ecx, [ebp - 0x40]
call fcn.10007d40
lea ecx, [ebp - 0x820]
mov byte [ebp - 4], 0x1b
call fcn.10024970
mov ebx, dword [ebp - 0xa38]
lea ecx, [ebx + 0x15c]
lea eax, [ebp - 0x40]
cmp ecx, eax
je 0x100cd2a1
push 0xffffffffffffffff
push 0
push eax
call fcn.10007d40
cmp dword [ebp - 0x2c], 0x10
jb 0x100cd2b3
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], 0x1d
mov dword [ebp - 0xa1c], eax
test edi, edi
je 0x100cd674
mov ecx, dword [ebp - 0xa80]
mov dword [ebp - 0xa40], ecx
cmp edi, eax
jbe 0x100cdee7
push ecx
lea ecx, [ebp - 0x238]
call fcn.10024ce0
mov byte [ebp - 4], 0x1e
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 0x100cd331
mov ecx, dword [ecx]
mov edi, dword [ebp - 0x1c4]
cmp ebx, edi
mov edx, edi
cmovb edx, ebx
test edx, edx
je 0x100cd397
sub edx, 4
jb 0x100cd358
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x100cd35d
add ecx, 4
add esi, 4
sub edx, 4
jae 0x100cd347
cmp edx, 0xfffffffc
je 0x100cd391
mov al, byte [ecx]
cmp al, byte [esi]
jne 0x100cd38a
cmp edx, 0xfffffffd
je 0x100cd391
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x100cd38a
cmp edx, 0xfffffffe
je 0x100cd391
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x100cd38a
cmp edx, 0xffffffff
je 0x100cd391
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
je 0x100cd391
sbb eax, eax
or eax, 1
jmp 0x100cd393
xor eax, eax
test eax, eax
jne 0x100cd3a9
cmp ebx, edi
jae 0x100cd3a0
or eax, 0xffffffff
jmp 0x100cd3a7
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sete al
test al, al
je 0x100cd632
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 0x100cd3df
mov ecx, dword [ecx]
mov edi, dword [ebp - 0xcc]
cmp ebx, edi
mov edx, edi
cmovb edx, ebx
test edx, edx
je 0x100cd445
sub edx, 4
jb 0x100cd406
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x100cd40b
add ecx, 4
add esi, 4
sub edx, 4
jae 0x100cd3f5
cmp edx, 0xfffffffc
je 0x100cd43f
mov al, byte [ecx]
cmp al, byte [esi]
jne 0x100cd438
cmp edx, 0xfffffffd
je 0x100cd43f
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x100cd438
cmp edx, 0xfffffffe
je 0x100cd43f
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x100cd438
cmp edx, 0xffffffff
je 0x100cd43f
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
je 0x100cd43f
sbb eax, eax
or eax, 1
jmp 0x100cd441
xor eax, eax
test eax, eax
jne 0x100cd457
cmp ebx, edi
jae 0x100cd44e
or eax, 0xffffffff
jmp 0x100cd455
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sete al
test al, al
je 0x100cd632
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 0x100cd48d
mov ecx, dword [ecx]
mov edi, dword [ebp - 0xe4]
cmp ebx, edi
mov edx, edi
cmovb edx, ebx
test edx, edx
je 0x100cd4f3
sub edx, 4
jb 0x100cd4b4
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x100cd4b9
add ecx, 4
add esi, 4
sub edx, 4
jae 0x100cd4a3
cmp edx, 0xfffffffc
je 0x100cd4ed
mov al, byte [ecx]
cmp al, byte [esi]
jne 0x100cd4e6
cmp edx, 0xfffffffd
je 0x100cd4ed
mov al, byte [ecx + 1]
cmp al, byte [esi + 1]
jne 0x100cd4e6
cmp edx, 0xfffffffe
je 0x100cd4ed
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x100cd4e6
cmp edx, 0xffffffff
je 0x100cd4ed
mov al, byte [ecx + 3]
cmp al, byte [esi + 3]
je 0x100cd4ed
sbb eax, eax
or eax, 1
jmp 0x100cd4ef
xor eax, eax
test eax, eax
jne 0x100cd505
cmp ebx, edi
jae 0x100cd4fc
or eax, 0xffffffff
jmp 0x100cd503
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sete al
test al, al
je 0x100cd632
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 0x100cd5b1
cmp esi, eax
ja 0x100cd5b1
mov edx, dword [ebp - 0xa44]
mov edi, eax
sub edi, esi
sar edi, 2
cmp ecx, edx
jne 0x100cd5a6
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x100cd5a6
sub ecx, esi
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x100cd6f3
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 0x100cd587
xor edx, edx
jmp 0x100cd589
add edx, ecx
cmp edx, ebx
lea ecx, [ebp - 0xa4c]
cmovb edx, ebx
push edx
call fcn.1000c4c0
mov ecx, dword [ebp - 0xa48]
mov esi, dword [ebp - 0xa4c]
test ecx, ecx
je 0x100cd61c
mov eax, dword [esi + edi*4]
mov dword [ecx], eax
jmp 0x100cd616
mov edx, dword [ebp - 0xa44]
cmp ecx, edx
jne 0x100cd610
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x100cd610
sub ecx, esi
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x100cd6f3
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 0x100cd5f7
xor edx, edx
jmp 0x100cd5f9
add edx, ecx
cmp edx, edi
lea ecx, [ebp - 0xa4c]
cmovb edx, edi
push edx
call fcn.1000c4c0
mov ecx, dword [ebp - 0xa48]
test ecx, ecx
je 0x100cd61c
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], 0x1d
call fcn.10024970
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 0x100cd2f7
lea eax, [ebp - 0xa24]
push eax
lea ecx, [ebp - 0xa5c]
call fcn.1000c120
xor eax, eax
mov byte [ebp - 4], 0x18
mov dword [ebp - 0xa24], eax
cmp dword [ebp - 0xa4c], eax
je 0x100cd6d3
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 0x100cd6fe
mov esi, dword [ebp - 0xa30]
jmp 0x100ccfd0
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 0x100cea52
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.10007d40
mov esi, dword [ebp - 0xa30]
lea edx, [ebp - 0xa5c]
mov ecx, esi
call fcn.100c9d70
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 0x100cd9a3
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 0x100cd99d
mov dword [ebp - 0xa20], esi
lea esp, [esp]
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 0x100cdee7
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], 0x21
test eax, eax
je 0x100cd92b
mov ebx, dword [ebp - 0xa80]
cmp eax, esi
jbe 0x100cdee7
push ebx
lea ecx, [ebp - 0x238]
call fcn.10024ce0
mov eax, dword [ebp - 0xa1c]
mov ecx, dword [ebp - 0xa20]
add eax, 0x64
mov byte [ebp - 4], 0x22
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.10010ee0
test eax, eax
jne 0x100cd901
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.10010ee0
test eax, eax
jne 0x100cd901
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.10010ee0
test eax, eax
jne 0x100cd901
lea eax, [ebp - 0xa28]
mov dword [ebp - 0xa28], esi
push eax
lea ecx, [ebp - 0xa90]
call fcn.1000c120
inc edi
mov dword [ebp - 0xa24], edi
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x21
call fcn.10024970
mov eax, dword [ebp - 0xa3c]
inc esi
add ebx, 0x1f4
cmp eax, esi
ja 0x100cd81c
mov ebx, dword [ebp - 0xa38]
lea eax, [ebp - 0xa24]
push eax
lea ecx, [ebp - 0xa5c]
call fcn.1000c120
xor edi, edi
mov byte [ebp - 4], 0x18
mov dword [ebp - 0xa24], edi
cmp dword [ebp - 0xa90], edi
je 0x100cd97e
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 0x100cd7b0
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], 0x23
mov dword [ebp - 0xa20], ebx
cmp dword [ebp - 0xa38], ebx
jbe 0x100cdb97
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 0x100cdee7
lea eax, [esi + edi]
push eax
lea ecx, [ebp - 0x430]
call fcn.10024ce0
mov eax, dword [ebp - 0xa20]
mov edi, 1
mov ecx, dword [ebp - 0xa38]
xor esi, esi
mov byte [ebp - 4], 0x24
xor ebx, ebx
mov dword [ebp - 0xa24], edi
cmp eax, esi
je 0x100cdb35
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 0x100cdee7
mov ecx, dword [ebp - 0xa30]
mov eax, dword [ecx]
lea ecx, [ebp - 0x238]
add eax, ebx
push eax
call fcn.10024ce0
mov byte [ebp - 4], 0x25
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.10010ee0
test eax, eax
jne 0x100cdb1a
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.10010ee0
test eax, eax
jne 0x100cdb1a
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.10010ee0
test eax, eax
jne 0x100cdb1a
inc edi
mov dword [ebp - 0xa24], edi
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x24
call fcn.10024970
mov eax, dword [ebp - 0xa20]
mov ecx, dword [ebp - 0xa38]
inc esi
add ebx, 0x1f4
cmp esi, ecx
jb 0x100cda35
lea eax, [ebp - 0xa24]
push eax
lea ecx, [ebp - 0xa4c]
call fcn.1000c120
lea ecx, [ebp - 0x430]
mov byte [ebp - 4], 0x23
call fcn.10024970
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 0x100cdb97
mov esi, dword [ebp - 0xa30]
jmp 0x100cd9e1
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.100c6640
xor esi, esi
mov byte [ebp - 4], 0x26
mov dword [ebp - 0xa24], 0xffffffff
test ebx, ebx
je 0x100ce7d1
mov ebx, dword [ebp - 0xa5c]
mov edx, 0xfffffffc
mov dword [ebp - 0xa20], esi
mov dword [ebp - 0xa40], edx
jmp 0x100cdbf0
mov ecx, dword [ebp - 0xa58]
sub ecx, ebx
sar ecx, 2
cmp ecx, esi
jbe 0x100cdee7
or ebx, 0xffffffff
mov dword [ebp - 0xa1c], ebx
test esi, esi
je 0x100cdc2a
lea eax, [esi - 1]
cmp ecx, eax
jbe 0x100cdee7
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 0x100cdc4f
lea eax, [esi + 1]
cmp ecx, eax
jbe 0x100cdee7
mov eax, dword [ebp - 0xa5c]
mov edx, dword [eax + esi*4 + 4]
jmp 0x100cdc55
mov eax, dword [ebp - 0xa5c]
mov ecx, dword [eax + esi*4]
test ecx, ecx
jle 0x100cddbd
test ebx, ebx
jne 0x100cdc65
inc edi
test edx, edx
jne 0x100cdc72
cmp dword [ebp - 0xa24], esi
je 0x100cdc72
inc edi
mov eax, dword [ebp - 0xa48]
mov edx, dword [ebp - 0xa4c]
sub eax, edx
sar eax, 2
cmp eax, esi
jbe 0x100cdee7
mov eax, dword [edx + esi*4]
mov dword [ebp - 0xa28], eax
cmp eax, ecx
jle 0x100cddbd
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 0x100cdee7
mov eax, dword [ebp - 0xa20]
lea ecx, [ebp - 0x238]
add eax, ebx
push eax
call fcn.10024ce0
mov byte [ebp - 4], 0x27
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.10010ee0
test eax, eax
jne 0x100cdd70
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.10010ee0
test eax, eax
jne 0x100cdd70
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.10010ee0
test eax, eax
je 0x100cddae
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.100c6a20
lea ecx, [ebp - 0x430]
call fcn.10024970
cmp dword [ebp - 0xa1c], 0
jne 0x100cddae
dec edi
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x26
call fcn.10024970
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 0x100cdbf0
cmp edi, 2
jle 0x100cdfd9
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.10007d40
mov ebx, dword [ebp - 0xa30]
lea edx, [ebp - 0xa5c]
mov ecx, ebx
call fcn.100c9d70
lea eax, [ebp - 0xa4c]
mov ecx, ebx
push eax
lea edx, [ebp - 0xa5c]
call fcn.100ca1a0
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.100ca3e0
add esp, 0xc
cmp byte [ebp - 0xa31], 0
jne 0x100cdfc4
xor esi, esi
cmp dword [ebp - 0xa3c], esi
jbe 0x100cdf95
cmp dword [ebp - 0xa60], esi
jbe 0x100cdf95
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 0x100cdef2
push 0x10115b64
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xout_of_range_char_const__]
push ebx
lea ecx, [ebp - 0x238]
call fcn.10024ce0
mov eax, dword [ebp - 0xa30]
mov byte [ebp - 4], 0x28
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 0x100cdf2d
push 0x10115b64
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xout_of_range_char_const__]
push ebx
lea ecx, [ebp - 0x430]
call fcn.10024ce0
mov byte [ebp - 4], 0x29
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.10010ee0
test eax, eax
lea ecx, [ebp - 0x430]
mov eax, 1
cmovs esi, eax
call fcn.10024970
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x26
call fcn.10024970
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.10007d40
mov edx, esi
mov ecx, ebx
call fcn.100cadf0
add esp, 0x18
cmp edi, 2
jg 0x100ce7d1
mov ebx, dword [ebp - 0xa5c]
mov ecx, dword [ebp - 0xa38]
mov esi, dword [ebp - 0xa48]
test edi, edi
je 0x100ce7d1
or edx, 0xffffffff
xor eax, eax
cmp edi, 1
jne 0x100ce2c4
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 0x100ce020
cmp ebx, eax
jbe 0x100cdee7
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 0x100cdee7
mov edx, dword [edx + eax*4]
cmp eax, dword [ebp - 0xa28]
jne 0x100ce092
lea ebx, [eax - 1]
cmp ecx, ebx
jbe 0x100cdee7
mov ecx, dword [ebp - 0xa4c]
mov ecx, dword [ecx + ebx*4]
cmp dword [ebp - 0xa24], ebx
jbe 0x100cdee7
cmp edx, edi
jle 0x100ce07c
cmp edx, 1
jne 0x100ce18f
test edi, edi
jne 0x100ce175
mov edx, dword [ebp - 0xa5c]
cmp dword [edx + ebx*4], ecx
jmp 0x100ce173
test eax, eax
jne 0x100ce0e4
cmp ecx, 1
jbe 0x100cdee7
mov ecx, dword [ebp - 0xa4c]
mov ecx, dword [ecx + 4]
cmp ebx, 1
jbe 0x100cdee7
cmp edx, edi
jle 0x100ce0be
cmp edx, 1
jne 0x100ce19e
test edi, edi
jne 0x100ce17b
mov edx, dword [ebp - 0xa5c]
cmp dword [edx + 4], ecx
jne 0x100ce17b
xor ecx, ecx
xor esi, esi
mov dword [ebp - 0xa1c], ecx
jmp 0x100ce1e6
lea ebx, [eax - 1]
cmp dword [ebp - 0xa24], ebx
jbe 0x100cdee7
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 0x100cdee7
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 0x100cdee7
cmp ecx, ebx
jbe 0x100cdee7
cmp edx, edi
jle 0x100ce14c
cmp edx, 1
jne 0x100ce1ad
test edi, edi
jne 0x100ce175
mov ecx, dword [ebp - 0xa3c]
mov edx, dword [ebp - 0xa20]
mov edi, dword [ebp - 0xa4c]
test ecx, ecx
jne 0x100ce16c
cmp edx, dword [edi + eax*4 + 4]
je 0x100ce1d7
cmp ecx, dword [edi + ebx*4]
jne 0x100ce175
test edx, edx
je 0x100ce18f
mov ebx, dword [ebp - 0xa24]
inc eax
cmp eax, dword [ebp - 0xa38]
jae 0x100ce1e3
mov ecx, dword [ebp - 0xa5c]
jmp 0x100ce020
mov ecx, 1
mov esi, eax
mov dword [ebp - 0xa1c], ecx
jmp 0x100ce1e6
mov esi, edx
xor ecx, ecx
sub esi, edi
mov dword [ebp - 0xa1c], ecx
dec esi
jmp 0x100ce1e6
cmp dword [ebp - 0xa3c], 0
jne 0x100ce1c7
xor ecx, ecx
lea esi, [eax - 1]
sub edx, edi
mov dword [ebp - 0xa1c], ecx
add esi, edx
jmp 0x100ce1e6
mov ecx, 1
lea esi, [edi + eax]
mov dword [ebp - 0xa1c], ecx
jmp 0x100ce1e6
xor ecx, ecx
mov esi, eax
mov dword [ebp - 0xa1c], ecx
jmp 0x100ce1e6
or ecx, 0xffffffff
cmp esi, dword [ebp - 0xa60]
jae 0x100ce7d1
cmp ecx, 0xffffffff
je 0x100ce7d1
test ecx, ecx
jne 0x100ce24c
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 0x100cdee7
mov ecx, dword [ebp - 0xa30]
mov eax, dword [ecx]
lea ecx, [ebp - 0xa74]
add eax, ebx
push eax
call fcn.100261d0
inc edi
add ebx, 0x1f4
cmp edi, esi
jbe 0x100ce203
jmp 0x100ce296
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 0x100cdee7
lea eax, [edi + ebx]
push eax
lea ecx, [ebp - 0xa74]
call fcn.100261d0
inc esi
add edi, 0x1f4
cmp esi, dword [ebp - 0xa60]
jb 0x100ce252
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.10007d40
mov edx, dword [ebp - 0xa1c]
jmp 0x100cea08
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 0x100cdee7
mov edi, dword [ebx + eax*4]
mov ecx, esi
mov esi, dword [ebp - 0xa4c]
sub ecx, esi
sar ecx, 2
cmp ecx, eax
jbe 0x100cdee7
mov edx, dword [esi + eax*4]
cmp eax, dword [ebp - 0xa68]
jne 0x100ce419
lea esi, [eax - 1]
cmp ecx, esi
jbe 0x100cdee7
mov ecx, dword [ebp - 0xa4c]
mov ecx, dword [ecx + esi*4]
cmp dword [ebp - 0xa64], esi
jbe 0x100cdee7
cmp edx, edi
jle 0x100ce35b
cmp edx, 1
jne 0x100ce36c
test edi, edi
jne 0x100ce4f3
cmp dword [ebx + esi*4], ecx
jne 0x100ce4f3
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 0x100ce6e0
mov edi, dword [ebp - 0xa48]
mov edx, dword [ebp - 0xa4c]
sub edi, edx
sar edi, 2
mov dword [ebp - 0xa20], edi
jmp 0x100ce3b0
cmp dword [ebp - 0xa64], eax
jbe 0x100cdee7
mov ebx, dword [ebp - 0xa5c]
mov esi, dword [ebx + eax*4]
cmp edi, eax
jbe 0x100cdee7
mov ecx, dword [edx + eax*4]
cmp eax, dword [ebp - 0xa68]
jne 0x100ce571
lea edx, [eax - 1]
cmp edi, edx
jbe 0x100cdee7
mov edi, dword [ebp - 0xa4c]
mov edi, dword [edi + edx*4]
cmp dword [ebp - 0xa64], edx
jbe 0x100cdee7
cmp ecx, esi
jle 0x100ce409
cmp ecx, 1
jne 0x100ce657
test esi, esi
jne 0x100ce63f
cmp dword [ebx + edx*4], edi
jmp 0x100ce63d
test eax, eax
jne 0x100ce465
cmp ecx, 1
jbe 0x100cdee7
cmp dword [ebp - 0xa64], 1
mov ecx, dword [esi + 4]
jbe 0x100cdee7
cmp edx, edi
jle 0x100ce443
cmp edx, 1
jne 0x100ce511
test edi, edi
jne 0x100ce4f3
cmp dword [ebx + 4], ecx
jne 0x100ce4f3
mov dword [ebp - 0xa40], edi
mov dword [ebp - 0xa50], edi
jmp 0x100ce37c
lea esi, [eax - 1]
cmp dword [ebp - 0xa64], esi
jbe 0x100cdee7
mov ebx, dword [ebx + esi*4]
mov dword [ebp - 0xa3c], ebx
lea ebx, [eax + 1]
cmp dword [ebp - 0xa64], ebx
jbe 0x100cdee7
mov esi, dword [ebp - 0xa5c]
mov esi, dword [esi + ebx*4]
mov dword [ebp - 0xa20], esi
lea esi, [eax - 1]
cmp ecx, ebx
jbe 0x100cdee7
cmp ecx, esi
jbe 0x100cdee7
cmp edx, edi
jle 0x100ce4b7
cmp edx, 1
jne 0x100ce52b
test edi, edi
jne 0x100ce4ed
mov ecx, dword [ebp - 0xa3c]
mov edx, dword [ebp - 0xa20]
test ecx, ecx
jne 0x100ce4da
mov edi, dword [ebp - 0xa4c]
cmp edx, dword [edi + ebx*4]
je 0x100ce55e
mov ebx, dword [ebp - 0xa4c]
cmp ecx, dword [ebx + esi*4]
jne 0x100ce4ed
test edx, edx
je 0x100ce36c
mov ebx, dword [ebp - 0xa5c]
inc eax
cmp eax, dword [ebp - 0xa38]
jae 0x100ce37c
mov ecx, dword [ebp - 0xa64]
mov esi, dword [ebp - 0xa48]
jmp 0x100ce303
mov ecx, edx
mov dword [ebp - 0xa40], 0
sub ecx, edi
dec ecx
mov dword [ebp - 0xa50], ecx
jmp 0x100ce37c
cmp dword [ebp - 0xa3c], 0
jne 0x100ce550
sub edx, edi
mov dword [ebp - 0xa40], 0
lea ecx, [eax - 1]
add ecx, edx
mov dword [ebp - 0xa50], ecx
jmp 0x100ce37c
lea ecx, [edi + eax]
mov dword [ebp - 0xa50], ecx
jmp 0x100ce372
xor edx, edx
mov dword [ebp - 0xa50], eax
mov dword [ebp - 0xa40], edx
jmp 0x100ce37c
test eax, eax
jne 0x100ce5c5
cmp edi, 1
jbe 0x100cdee7
cmp dword [ebp - 0xa64], 1
mov edx, dword [edx + 4]
jbe 0x100cdee7
cmp ecx, esi
jle 0x100ce59b
cmp ecx, 1
jne 0x100ce672
test esi, esi
jne 0x100ce645
cmp dword [ebx + 4], edx
jne 0x100ce645
mov edi, dword [ebp - 0xa3c]
xor eax, eax
mov dword [ebp - 0xa24], esi
mov dword [ebp - 0xa1c], eax
jmp 0x100ce6e3
lea edx, [eax - 1]
cmp dword [ebp - 0xa64], edx
jbe 0x100cdee7
mov ebx, dword [ebx + edx*4]
lea edi, [eax + 1]
cmp dword [ebp - 0xa64], edi
jbe 0x100cdee7
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 0x100cdee7
cmp dword [ebp - 0xa20], edx
jbe 0x100cdee7
cmp ecx, esi
jle 0x100ce619
cmp ecx, 1
jne 0x100ce68f
test esi, esi
jne 0x100ce63f
mov ecx, dword [ebp - 0xa28]
mov esi, dword [ebp - 0xa4c]
test ebx, ebx
jne 0x100ce636
cmp ecx, dword [esi + edi*4]
je 0x100ce6c2
cmp ebx, dword [esi + edx*4]
jne 0x100ce63f
test ecx, ecx
je 0x100ce657
mov edi, dword [ebp - 0xa20]
dec eax
js 0x100ce6da
mov edx, dword [ebp - 0xa4c]
jmp 0x100ce3b0
mov edi, dword [ebp - 0xa3c]
mov dword [ebp - 0xa24], 1
mov dword [ebp - 0xa1c], eax
jmp 0x100ce6e3
mov edi, dword [ebp - 0xa3c]
mov eax, ecx
sub eax, esi
mov dword [ebp - 0xa24], 0
dec eax
mov dword [ebp - 0xa1c], eax
jmp 0x100ce6e3
mov edi, dword [ebp - 0xa3c]
test ebx, ebx
jne 0x100ce6ae
xor edx, edx
sub ecx, esi
dec eax
mov dword [ebp - 0xa40], edx
add eax, ecx
mov dword [ebp - 0xa50], eax
jmp 0x100ce6e0
add eax, esi
mov dword [ebp - 0xa24], 1
mov dword [ebp - 0xa1c], eax
jmp 0x100ce6e3
mov edi, dword [ebp - 0xa3c]
mov dword [ebp - 0xa24], 0
mov dword [ebp - 0xa1c], eax
jmp 0x100ce6e3
mov edi, dword [ebp - 0xa3c]
or eax, 0xffffffff
cmp dword [ebp - 0xa50], 0xffffffff
jne 0x100ce80b
cmp eax, 0xffffffff
jne 0x100ce7d1
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
mov edi, edi
cmp dword [ebp - 0xa64], eax
jbe 0x100cdee7
mov edx, dword [ebx + ecx]
cmp esi, eax
jbe 0x100cdee7
mov esi, dword [ecx]
cmp esi, edx
jle 0x100ce752
cmp esi, 1
jne 0x100ce76a
test edx, edx
je 0x100ce76d
inc eax
add ecx, 4
cmp eax, dword [ebp - 0xa38]
jae 0x100ce773
mov esi, dword [ebp - 0xa28]
jmp 0x100ce730
dec eax
add eax, edx
mov dword [ebp - 0xa50], eax
test edi, edi
js 0x100ce7c6
mov eax, dword [ebp - 0xa4c]
lea eax, [eax + edi*4]
cmp dword [ebp - 0xa64], edi
jbe 0x100cdee7
mov edx, dword [eax + ebx]
cmp dword [ebp - 0xa28], edi
jbe 0x100cdee7
mov ecx, dword [eax]
cmp ecx, edx
jle 0x100ce7a6
cmp ecx, 1
jne 0x100ce7b2
test edx, edx
je 0x100ce7c0
sub eax, 4
dec edi
jns 0x100ce780
jmp 0x100ce7c6
mov eax, edx
sub eax, ecx
add eax, edi
mov dword [ebp - 0xa1c], eax
jmp 0x100ce7c6
mov dword [ebp - 0xa1c], edi
mov eax, dword [ebp - 0xa50]
cmp eax, 0xffffffff
jne 0x100ce811
lea ecx, [ebp - 0x628]
call fcn.10024970
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0xa4c], 0
je 0x100ce804
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 0x100ceb32
mov eax, dword [ebp - 0xa50]
mov ebx, dword [ebp - 0xa1c]
cmp ebx, 0xffffffff
je 0x100ce7d1
mov ecx, dword [ebp - 0xa40]
cmp ecx, 0xffffffff
je 0x100ce7d1
mov edx, dword [ebp - 0xa24]
cmp edx, 0xffffffff
je 0x100ce7d1
test ecx, ecx
jne 0x100ce966
cmp edx, 1
jne 0x100cea16
xor esi, esi
xor edi, edi
jmp 0x100ce850
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 0x100cdee7
lea eax, [ebx + edi]
push eax
lea ecx, [ebp - 0xa74]
call fcn.100261d0
inc esi
add edi, 0x1f4
cmp esi, dword [ebp - 0xa50]
jbe 0x100ce850
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.10007d40
xor edx, edx
lea ecx, [ebp - 0xa74]
call fcn.100cadf0
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 0x100ce8fa
mov ecx, esi
call fcn.10024970
add esi, 0x1f4
cmp esi, edi
jne 0x100ce8e3
mov esi, dword [ebp - 0xa74]
mov ebx, dword [ebp - 0xa1c]
mov dword [ebp - 0xa70], esi
cmp ebx, dword [ebp - 0xa60]
jae 0x100ce9e0
imul esi, ebx, 0x1f4
jmp 0x100ce920
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 0x100cdee7
lea eax, [edi + esi]
push eax
lea ecx, [ebp - 0xa74]
call fcn.100261d0
inc ebx
add esi, 0x1f4
cmp ebx, dword [ebp - 0xa60]
jb 0x100ce920
jmp 0x100ce9e0
cmp ecx, 1
jne 0x100cea16
test edx, edx
jne 0x100cea16
cmp eax, ebx
jg 0x100cea16
ja 0x100ce9e0
imul esi, eax, 0x1f4
jmp 0x100ce990
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 0x100cdee7
lea eax, [edi + esi]
push eax
lea ecx, [ebp - 0xa74]
call fcn.100261d0
mov eax, dword [ebp - 0xa50]
add esi, 0x1f4
inc eax
mov dword [ebp - 0xa50], eax
cmp eax, ebx
jbe 0x100ce990
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.10007d40
mov edx, 1
lea ecx, [ebp - 0xa74]
call fcn.100cadf0
add esp, 0x18
lea ecx, [ebp - 0x628]
call fcn.10024970
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0xa4c], 0
je 0x100ceb30
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 0x100ceb30
mov eax, dword [ebp - 0xa60]
xor esi, esi
test edi, edi
je 0x100ceafd
test eax, eax
je 0x100ceafd
test edi, edi
jne 0x100cea79
push 0x10115b64
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xout_of_range_char_const__]
push dword [ebp - 0xa80]
lea ecx, [ebp - 0x628]
call fcn.10024ce0
mov ecx, dword [ebp - 0xa30]
push 0
mov byte [ebp - 4], 0x1f
call fcn.10026190
push eax
lea ecx, [ebp - 0x430]
call fcn.10024ce0
mov byte [ebp - 4], 0x20
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.10010ee0
test eax, eax
mov ecx, 1
cmovs esi, ecx
lea ecx, [ebp - 0x430]
call fcn.10024970
lea ecx, [ebp - 0x628]
mov byte [ebp - 4], 0x18
call fcn.10024970
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.10007d40
mov ecx, dword [ebp - 0xa30]
mov edx, esi
call fcn.100cadf0
add esp, 0x18
mov bl, 1
mov byte [ebp - 4], 4
cmp dword [ebp - 0xa5c], 0
je 0x100ceb7e
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 0x100ceb84
xor bl, bl
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
lea ecx, [ebp - 0xa80]
call fcn.10026330
lea ecx, [ebp - 0xa74]
call fcn.10026330
cmp dword [ebp + 0x1c], 0x10
jb 0x100ceba8
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 0x100cebc8
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 0x100cebe8
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.100ebd7b
mov esp, ebp
pop ebp
ret