Function at 0x1000b880
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1000faa8
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x10016018]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
xor edi, edi
cmp dword [0x1001a5cc], edi
jne 0x1000b99c
mov eax, dword [0x10019980]
cmp eax, edi
je 0x1000b99c
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], edi
mov cl, byte [0x10019982]
mov dl, byte [0x10019983]
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], ah
lea eax, [ebp - 0x40]
mov byte [ebp - 0xe], cl
push eax
lea ecx, [ebp - 0x10]
push ecx
mov byte [ebp - 0xd], dl
call fcn.10001cf0
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
sub eax, ebx
sar eax, 2
xor ecx, ecx
add esp, 8
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], eax
cmp eax, edi
jbe 0x1000b987
mov edx, dword [0x10019980]
lea ebx, [ebx]
mov edi, dword [ebx + ecx*4]
mov dword [0x1001a5cc], edi
cmp edi, edx
jbe 0x1000b97d
mov eax, dword [0x1001a88c]
mov ebx, dword [edi]
lea ecx, [ebp - 0x18]
push ecx
push 0x40
push 4
add eax, edx
push ebx
mov dword [ebp - 0x28], eax
call esi
lea edx, [ebp - 0x14]
push edx
push 0x40
push 4
push edi
call esi
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x14]
push ecx
push edx
push 4
push edi
mov dword [edi], eax
call esi
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x18]
push eax
push ecx
push 4
push ebx
call esi
mov edx, dword [0x10019980]
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, eax
jb 0x1000b920
xor edi, edi
mov dword [ebp - 4], 0xffffffff
cmp ebx, edi
je 0x1000b99c
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [0x1001871c], edi
jne 0x1000ba89
mov eax, dword [0x10019038]
test eax, eax
je 0x1000ba89
xor edi, edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], 1
mov dl, byte [0x1001903b]
mov cl, byte [0x1001903a]
mov byte [ebp - 0xd], dl
lea edx, [ebp - 0x40]
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], ah
push edx
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 0xe], cl
call fcn.10001cf0
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
sub eax, ebx
sar eax, 2
xor ecx, ecx
add esp, 8
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], eax
cmp eax, edi
jbe 0x1000ba74
mov edx, dword [0x10019038]
lea esp, [esp]
mov edi, dword [ebx + ecx*4]
mov dword [0x1001871c], edi
cmp edi, edx
jbe 0x1000ba6c
add edx, dword [0x1001a88c]
mov ebx, dword [edi]
mov dword [ebp - 0x28], edx
lea edx, [ebp - 0x20]
push edx
push 0x40
push 4
push ebx
call esi
lea eax, [ebp - 0x1c]
push eax
push 0x40
push 4
push edi
call esi
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
lea edx, [ebp - 0x1c]
push edx
push eax
push 4
push edi
mov dword [edi], ecx
call esi
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x20]
push ecx
push edx
push 4
push ebx
call esi
mov edx, dword [0x10019038]
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, eax
jb 0x1000ba10
mov dword [ebp - 4], 0xffffffff
test ebx, ebx
je 0x1000ba89
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [0x100186f4], 0
jne 0x1000bb79
mov eax, dword [0x1001ad80]
test eax, eax
je 0x1000bb79
xor edi, edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], 2
mov cl, byte [0x1001ad82]
mov dl, byte [0x1001ad83]
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], ah
lea eax, [ebp - 0x40]
mov byte [ebp - 0xe], cl
push eax
lea ecx, [ebp - 0x10]
push ecx
mov byte [ebp - 0xd], dl
call fcn.10001cf0
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
sub eax, ebx
sar eax, 2
xor ecx, ecx
add esp, 8
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x30], eax
cmp eax, edi
jbe 0x1000bb64
mov edx, dword [0x1001ad80]
lea ebx, [ebx]
mov edi, dword [ebx + ecx*4]
mov dword [0x100186f4], edi
cmp edi, edx
jbe 0x1000bb5c
add edx, dword [0x1001a88c]
mov ebx, dword [edi]
lea ecx, [ebp - 0x24]
push ecx
push 0x40
push 4
push ebx
mov dword [ebp - 0x2c], edx
call esi
lea edx, [ebp - 0x10]
push edx
push 0x40
push 4
push edi
call esi
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x10]
push ecx
push edx
push 4
push edi
mov dword [edi], eax
call esi
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x24]
push eax
push ecx
push 4
push ebx
call esi
mov edx, dword [0x1001ad80]
mov eax, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, eax
jb 0x1000bb00
mov dword [ebp - 4], 0xffffffff
test ebx, ebx
je 0x1000bb79
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edi, edi
cmp dword [0x10019180], edi
jne 0x1000bc6e
mov edx, dword [0x1001aeb0]
cmp dword [edx + 0xd0], edi
je 0x1000bc6e
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], 3
mov eax, dword [0x1001a5fc]
mov cl, byte [0x1001a5fe]
mov dl, byte [0x1001a5ff]
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], ah
lea eax, [ebp - 0x40]
mov byte [ebp - 0xe], cl
push eax
lea ecx, [ebp - 0x10]
push ecx
mov byte [ebp - 0xd], dl
call fcn.10001cf0
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
sub eax, ebx
sar eax, 2
xor ecx, ecx
add esp, 8
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], eax
cmp eax, edi
jbe 0x1000bc59
mov edx, dword [0x1001a5fc]
mov edi, dword [ebx + ecx*4]
mov dword [0x10019180], edi
cmp edi, edx
jbe 0x1000bc4f
add edx, dword [0x1001a88c]
mov ebx, dword [edi]
lea ecx, [ebp - 0x24]
push ecx
push 0x40
push 4
push ebx
mov dword [ebp - 0x30], edx
call esi
lea edx, [ebp - 0x28]
push edx
push 0x40
push 4
push edi
call esi
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x28]
push ecx
push edx
push 4
push edi
mov dword [edi], eax
call esi
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x24]
push eax
push ecx
push 4
push ebx
call esi
mov edx, dword [0x1001a5fc]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, eax
jb 0x1000bbf3
xor edi, edi
mov dword [ebp - 4], 0xffffffff
cmp ebx, edi
je 0x1000bc6e
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [0x10017f0c], edi
jne 0x1000bd59
mov eax, dword [0x10019014]
test eax, eax
je 0x1000bd59
xor edi, edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], 4
mov dl, byte [0x10019017]
mov cl, byte [0x10019016]
mov byte [ebp - 0xd], dl
lea edx, [ebp - 0x40]
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], ah
push edx
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 0xe], cl
call fcn.10001cf0
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
sub eax, ebx
sar eax, 2
xor ecx, ecx
add esp, 8
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], eax
cmp eax, edi
jbe 0x1000bd44
mov edx, dword [0x10019014]
mov edi, edi
mov edi, dword [ebx + ecx*4]
mov dword [0x10017f0c], edi
cmp edi, edx
jbe 0x1000bd3c
add edx, dword [0x1001a88c]
mov ebx, dword [edi]
mov dword [ebp - 0x30], edx
lea edx, [ebp - 0x24]
push edx
push 0x40
push 4
push ebx
call esi
lea eax, [ebp - 0x28]
push eax
push 0x40
push 4
push edi
call esi
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x28]
push edx
push eax
push 4
push edi
mov dword [edi], ecx
call esi
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x24]
push ecx
push edx
push 4
push ebx
call esi
mov edx, dword [0x10019014]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, eax
jb 0x1000bce0
mov dword [ebp - 4], 0xffffffff
test ebx, ebx
je 0x1000bd59
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [0x1001a864], 0
jne 0x1000bea0
mov eax, dword [0x10019164]
test eax, eax
je 0x1000bea0
xor edi, edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], 5
mov cl, byte [0x10019166]
mov dl, byte [0x10019167]
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], ah
lea eax, [ebp - 0x40]
mov byte [ebp - 0xe], cl
push eax
lea ecx, [ebp - 0x10]
push ecx
mov byte [ebp - 0xd], dl
call fcn.10001cf0
mov ebx, dword [ebp - 0x3c]
sub ebx, dword [ebp - 0x40]
add esp, 8
sar ebx, 2
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x2c], ebx
cmp ebx, edi
jbe 0x1000be88
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x40]
mov edi, dword [edx + eax*4]
mov eax, dword [0x10019164]
mov dword [0x1001a864], edi
cmp edi, eax
jbe 0x1000be25
add eax, dword [0x1001a88c]
mov ebx, dword [edi]
lea edx, [ebp - 0x24]
push edx
push 0x40
push 4
push ebx
mov dword [ebp - 0x30], eax
call esi
lea eax, [ebp - 0x28]
push eax
push 0x40
push 4
push edi
call esi
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x28]
push edx
push eax
push 4
push edi
mov dword [edi], ecx
call esi
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x24]
push ecx
push edx
push 4
push ebx
call esi
mov edi, dword [0x1001a864]
mov ebx, dword [ebp - 0x2c]
mov eax, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push eax
push ecx
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push 0x10011f18
push edi
push 0x10001060
push 0x10001040
push str.___endVector2_______:___0x
push ecx
call fcn.1000db30
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int_]
push eax
call fcn.1000db30
add esp, 0xc
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, ebx
jb 0x1000bdc4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x1000bea0
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edi, edi
cmp dword [0x10019974], edi
jne 0x1000bf8b
mov eax, dword [0x1001a85c]
cmp eax, edi
je 0x1000bf8b
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], 6
mov dl, byte [0x1001a85f]
mov cl, byte [0x1001a85e]
mov byte [ebp - 0xd], dl
lea edx, [ebp - 0x40]
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], ah
push edx
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 0xe], cl
call fcn.10001cf0
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
sub eax, ebx
sar eax, 2
xor ecx, ecx
add esp, 8
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], eax
cmp eax, edi
jbe 0x1000bf76
mov edx, dword [0x1001a85c]
mov edi, dword [ebx + ecx*4]
mov dword [0x10019974], edi
cmp edi, edx
jbe 0x1000bf6c
add edx, dword [0x1001a88c]
mov ebx, dword [edi]
mov dword [ebp - 0x30], edx
lea edx, [ebp - 0x24]
push edx
push 0x40
push 4
push ebx
call esi
lea eax, [ebp - 0x28]
push eax
push 0x40
push 4
push edi
call esi
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x28]
push edx
push eax
push 4
push edi
mov dword [edi], ecx
call esi
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x24]
push ecx
push edx
push 4
push ebx
call esi
mov edx, dword [0x1001a85c]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, eax
jb 0x1000bf10
xor edi, edi
mov dword [ebp - 4], 0xffffffff
cmp ebx, edi
je 0x1000bf8b
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [0x10019174], edi
jne 0x1000c079
mov eax, dword [0x100186f8]
test eax, eax
je 0x1000c079
xor edi, edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], 7
mov cl, byte [0x100186fa]
mov dl, byte [0x100186fb]
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], ah
lea eax, [ebp - 0x40]
mov byte [ebp - 0xe], cl
push eax
lea ecx, [ebp - 0x10]
push ecx
mov byte [ebp - 0xd], dl
call fcn.10001cf0
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
sub eax, ebx
sar eax, 2
xor ecx, ecx
add esp, 8
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], eax
cmp eax, edi
jbe 0x1000c064
mov edx, dword [0x100186f8]
jmp 0x1000c000
mov edi, dword [ebx + ecx*4]
mov dword [0x10019174], edi
cmp edi, edx
jbe 0x1000c05c
add edx, dword [0x1001a88c]
mov ebx, dword [edi]
lea ecx, [ebp - 0x24]
push ecx
push 0x40
push 4
push ebx
mov dword [ebp - 0x30], edx
call esi
lea edx, [ebp - 0x28]
push edx
push 0x40
push 4
push edi
call esi
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x28]
push ecx
push edx
push 4
push edi
mov dword [edi], eax
call esi
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x24]
push eax
push ecx
push 4
push ebx
call esi
mov edx, dword [0x100186f8]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, eax
jb 0x1000c000
mov dword [ebp - 4], 0xffffffff
test ebx, ebx
je 0x1000c079
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [0x1001a5e0], 0
jne 0x1000c169
mov eax, dword [0x1001a5e8]
test eax, eax
je 0x1000c169
xor edi, edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], 8
mov dl, byte [0x1001a5eb]
mov cl, byte [0x1001a5ea]
mov byte [ebp - 0xd], dl
lea edx, [ebp - 0x40]
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], ah
push edx
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 0xe], cl
call fcn.10001cf0
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
sub eax, ebx
sar eax, 2
xor ecx, ecx
add esp, 8
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], eax
cmp eax, edi
jbe 0x1000c154
mov edx, dword [0x1001a5e8]
lea ebx, [ebx]
mov edi, dword [ebx + ecx*4]
mov dword [0x1001a5e0], edi
cmp edi, edx
jbe 0x1000c14c
add edx, dword [0x1001a88c]
mov ebx, dword [edi]
mov dword [ebp - 0x30], edx
lea edx, [ebp - 0x24]
push edx
push 0x40
push 4
push ebx
call esi
lea eax, [ebp - 0x28]
push eax
push 0x40
push 4
push edi
call esi
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x28]
push edx
push eax
push 4
push edi
mov dword [edi], ecx
call esi
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x24]
push ecx
push edx
push 4
push ebx
call esi
mov edx, dword [0x1001a5e8]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, eax
jb 0x1000c0f0
mov dword [ebp - 4], 0xffffffff
test ebx, ebx
je 0x1000c169
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [0x1001a5c8], 0
jne 0x1000c259
mov eax, dword [0x1001917c]
test eax, eax
je 0x1000c259
xor edi, edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], 9
mov cl, byte [0x1001917e]
mov dl, byte [0x1001917f]
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], ah
lea eax, [ebp - 0x40]
mov byte [ebp - 0xe], cl
push eax
lea ecx, [ebp - 0x10]
push ecx
mov byte [ebp - 0xd], dl
call fcn.10001cf0
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
sub eax, ebx
sar eax, 2
xor ecx, ecx
add esp, 8
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], eax
cmp eax, edi
jbe 0x1000c244
mov edx, dword [0x1001917c]
lea ebx, [ebx]
mov edi, dword [ebx + ecx*4]
mov dword [0x1001a5c8], edi
cmp edi, edx
jbe 0x1000c23c
add edx, dword [0x1001a88c]
mov ebx, dword [edi]
lea ecx, [ebp - 0x24]
push ecx
push 0x40
push 4
push ebx
mov dword [ebp - 0x30], edx
call esi
lea edx, [ebp - 0x28]
push edx
push 0x40
push 4
push edi
call esi
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x28]
push ecx
push edx
push 4
push edi
mov dword [edi], eax
call esi
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x24]
push eax
push ecx
push 4
push ebx
call esi
mov edx, dword [0x1001917c]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, eax
jb 0x1000c1e0
mov dword [ebp - 4], 0xffffffff
test ebx, ebx
je 0x1000c259
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [0x1001a850], 0
jne 0x1000c349
mov eax, dword [0x1001a84c]
test eax, eax
je 0x1000c349
xor edi, edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], 0xa
mov dl, byte [0x1001a84f]
mov cl, byte [0x1001a84e]
mov byte [ebp - 0xd], dl
lea edx, [ebp - 0x40]
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], ah
push edx
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 0xe], cl
call fcn.10001cf0
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
sub eax, ebx
sar eax, 2
xor ecx, ecx
add esp, 8
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], eax
cmp eax, edi
jbe 0x1000c334
mov edx, dword [0x1001a84c]
lea ebx, [ebx]
mov edi, dword [ebx + ecx*4]
mov dword [0x1001a850], edi
cmp edi, edx
jbe 0x1000c32c
add edx, dword [0x1001a88c]
mov ebx, dword [edi]
mov dword [ebp - 0x30], edx
lea edx, [ebp - 0x24]
push edx
push 0x40
push 4
push ebx
call esi
lea eax, [ebp - 0x28]
push eax
push 0x40
push 4
push edi
call esi
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x28]
push edx
push eax
push 4
push edi
mov dword [edi], ecx
call esi
mov edx, dword [ebp - 0x24]
lea ecx, [ebp - 0x24]
push ecx
push edx
push 4
push ebx
call esi
mov edx, dword [0x1001a84c]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, eax
jb 0x1000c2d0
mov dword [ebp - 4], 0xffffffff
test ebx, ebx
je 0x1000c349
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [0x10017ef8], 0
jne 0x1000c439
mov eax, dword [0x100199b0]
test eax, eax
je 0x1000c439
xor edi, edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], 0xb
mov cl, byte [0x100199b2]
mov dl, byte [0x100199b3]
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], ah
lea eax, [ebp - 0x40]
mov byte [ebp - 0xe], cl
push eax
lea ecx, [ebp - 0x10]
push ecx
mov byte [ebp - 0xd], dl
call fcn.10001cf0
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
sub eax, ebx
sar eax, 2
xor ecx, ecx
add esp, 8
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], eax
cmp eax, edi
jbe 0x1000c424
mov edx, dword [0x100199b0]
lea ebx, [ebx]
mov edi, dword [ebx + ecx*4]
mov dword [0x10017ef8], edi
cmp edi, edx
jbe 0x1000c41c
add edx, dword [0x1001a88c]
mov ebx, dword [edi]
lea ecx, [ebp - 0x24]
push ecx
push 0x40
push 4
push ebx
mov dword [ebp - 0x30], edx
call esi
lea edx, [ebp - 0x28]
push edx
push 0x40
push 4
push edi
call esi
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x28]
push ecx
push edx
push 4
push edi
mov dword [edi], eax
call esi
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x24]
push eax
push ecx
push 4
push ebx
call esi
mov edx, dword [0x100199b0]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, eax
jb 0x1000c3c0
mov dword [ebp - 4], 0xffffffff
test ebx, ebx
je 0x1000c439
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edi, edi
cmp dword [0x10019054], edi
jne 0x1000c522
mov eax, dword [0x100199cc]
cmp eax, edi
je 0x1000c522
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], 0xc
mov dl, byte [0x100199ce]
lea ecx, [ebp - 0x40]
mov byte [ebp - 0xe], dl
mov byte [ebp - 0x10], al
mov al, byte [0x100199cf]
push ecx
lea edx, [ebp - 0x10]
push edx
mov byte [ebp - 0xf], ah
mov byte [ebp - 0xd], al
call fcn.10001cf0
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
sub eax, ebx
sar eax, 2
xor ecx, ecx
add esp, 8
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], eax
cmp eax, edi
jbe 0x1000c514
mov edx, dword [0x100199cc]
jmp 0x1000c4b0
mov edi, dword [ebx + ecx*4]
mov dword [0x10019054], edi
cmp edi, edx
jbe 0x1000c50c
add edx, dword [0x1001a88c]
mov ebx, dword [edi]
lea ecx, [ebp - 0x24]
push ecx
push 0x40
push 4
push ebx
mov dword [ebp - 0x30], edx
call esi
lea edx, [ebp - 0x28]
push edx
push 0x40
push 4
push edi
call esi
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x28]
push ecx
push edx
push 4
push edi
mov dword [edi], eax
call esi
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x24]
push eax
push ecx
push 4
push ebx
call esi
mov edx, dword [0x100199cc]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, eax
jb 0x1000c4b0
test ebx, ebx
je 0x1000c522
push ebx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret