Function at 0x1003e1e0
Capabilities:
Terminate process

Disassembly:
push ecx
push ecx
push esi
bsf eax, dword [esp + 0x14]
mov ecx, eax
bsr eax, dword [esp + 0x14]
cmp ecx, eax
jne 0x103743b5
mov esi, dword [esp + 0x10]
push edi
push dword [esp + 0x24]
call dword [esi + 4]
mov edi, eax
pop ecx
test edi, edi
je 0x103743e6
push ebx
push 0x25c
mov dword [edi], esi
call dword [sym.imp.MSVCR110.dll_malloc]
mov ebx, eax
pop ecx
mov dword [esp + 0x10], ebx
test ebx, ebx
je 0x10374419
mov eax, dword [esp + 0x1c]
push ebp
xor ebp, ebp
push 0x80
mov dword [ebx + 0x18], eax
lea eax, [ebx + 0x50]
push ebp
push eax
mov dword [ebx + 0x24], edi
mov dword [ebx + 0x1c], ebp
mov dword [ebx + 0x20], ebp
mov dword [ebx + 0x10], ebp
mov dword [ebx + 0x14], ebp
mov dword [ebx + 0x4c], ebp
call sub.MSVCR110.dll_memset
add esp, 0xc
lea ecx, [ebx + 0xc8]
push 0x20
lea edx, [ebx + 0x1d0]
pop esi
mov dword [ecx + 0xc], ecx
mov dword [ecx + 8], ecx
add ecx, 8
mov dword [edx], ebp
lea edx, [edx + 4]
dec esi
jne 0x1003e268
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
lea eax, [ebx + 0x248]
mov dword [ebx + 0x254], eax
mov dword [ebx + 0x250], eax
mov dword [ebx + 0x258], ebp
mov dword [ebx], 1
mov dword [ebx + 0x28], ebp
mov dword [ebx + 0x44], ebp
mov dword [ebx + 0x2c], ebp
mov dword [ebx + 0x30], 0x40000000
mov dword [ebx + 0x34], ebp
mov dword [ebx + 0x38], ebp
mov dword [ebx + 0x48], esi
mov dword [ebx + 0x40], ebp
mov dword [ebx + 0x3c], edx
test edx, edx
je 0x1003e2cc
mov ecx, ebx
call fcn.10026610
mov dword [ebx + 0x40], eax
test esi, esi
jne 0x1037444c
pop ebp
mov eax, ebx
pop ebx
pop edi
pop esi
pop ecx
pop ecx
ret
mov esi, dword [sym.imp.MSVCR110.dll___iob_func]
push str.block_size_must_be_a_power_of_two_n
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR110.dll_fprintf]
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR110.dll_fflush]
add esp, 0xc
push 0xff
call dword [sym.imp.MSVCR110.dll_exit]
push dword [esi]
mov esi, dword [sym.imp.MSVCR110.dll___iob_func]
push str.Cannot_initialize_zend_mm_storage___s__n
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR110.dll_fprintf]
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR110.dll_fflush]
add esp, 0x10
push 0xff
call dword [sym.imp.MSVCR110.dll_exit]
push dword [esi]
mov esi, dword [sym.imp.MSVCR110.dll___iob_func]
push str.Cannot_allocate_heap_for_zend_mm_storage___s__n
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR110.dll_fprintf]
call esi
add eax, 0x40
push eax
call dword [sym.imp.MSVCR110.dll_fflush]
add esp, 0x10
push 0xff
call dword [sym.imp.MSVCR110.dll_exit]
mov edx, 0x25c
mov ecx, ebx
call fcn.10026610
mov ebp, eax
mov esi, ebx
mov ecx, 0x97
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp + 0xc8]
mov eax, ecx
sub eax, ebp
push 0x20
add eax, ebx
lea esi, [ebp + 0x1d0]
pop ebx
lea edi, [ecx + 8]
mov edx, ecx
mov dword [esp + 0x10], edi
jmp 0x1037448a
mov edx, dword [edi]
lea edi, [edx + 8]
cmp dword [edi], eax
jne 0x10374485
mov dword [edx + 8], ecx
mov edi, ecx
lea edx, [ecx + 0xc]
jmp 0x1037449d
mov edi, dword [edx]
lea edx, [edi + 0xc]
cmp dword [edx], eax
jne 0x10374498
mov dword [edi + 0xc], ecx
mov edx, dword [esi]
mov ecx, dword [esp + 0x10]
add eax, 8
test edx, edx
je 0x103744b4
mov dword [edx + 0x10], esi
add esi, 4
dec ebx
jne 0x1037447a
lea eax, [ebp + 0x248]
mov dword [ebp + 0x254], eax
mov dword [ebp + 0x250], eax
and dword [ebp + 0x258], ebx
mov ebx, dword [esp + 0x14]
push ebx
call dword [sym.imp.MSVCR110.dll_free]
pop ecx
mov ebx, ebp
jmp 0x1003e2d4