Function at 0x10191180
Capabilities:
Terminate process

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x10
dec eax
push ebx
push ebp
push esi
push edi
cmp eax, 3
ja case.default.0x10191195
jmp dword [eax*4 + 0x10191584]
mov esi, dword [esp + 0x28]
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x24], ebx
test esi, esi
je 0x101911f9
push ebx
push 0x11
push str.line_break_chars
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x34]
push eax
push esi
call fcn.10190ec0
push 0xc
push str.line_length
lea eax, [esp + 0x30]
push eax
push esi
call fcn.10191150
mov ebp, dword [esp + 0x38]
add esp, 0x28
cmp ebp, 4
jae 0x1019123a
mov eax, dword [esp + 0x24]
test eax, eax
je 0x101911f7
push eax
call sym.php5.dll__efree
add esp, 4
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x2c]
push 0x28
test edi, edi
je 0x1019125b
call dword [sym.imp.MSVCR110.dll_malloc]
mov esi, eax
add esp, 4
test esi, esi
jne 0x10191265
push str.Out_of_memory_n
call dword [sym.imp.MSVCR110.dll___iob_func]
add eax, 0x40
push eax
call dword [sym.imp.MSVCR110.dll_fprintf]
add esp, 8
push 1
call dword [sym.imp.MSVCR110.dll_exit]
mov ebx, dword [esp + 0x24]
test ebx, ebx
jne 0x101911f9
push 0x10548574
call sym.php5.dll__estrdup
add esp, 4
mov ebx, eax
mov dword [esp + 0x24], 2
jmp 0x10191201
call sym.php5.dll__emalloc
add esp, 4
mov esi, eax
test ebx, ebx
je 0x10191296
push edi
push 1
push dword [esp + 0x2c]
push ebx
push ebp
push esi
call fcn.101901d0
add esp, 0x18
push ebx
test eax, eax
jne 0x101914f4
call sym.php5.dll__efree
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov dword [esi + 0x24], edi
pop edi
mov dword [esi], 0x1018fea0
mov dword [esi + 4], 0x101901a0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
cmp dword [esp + 0x2c], 0
push 0x18
je 0x101912f0
call dword [sym.imp.MSVCR110.dll_malloc]
mov esi, eax
add esp, 4
test esi, esi
jne 0x101912fa
jmp 0x1019121a
call sym.php5.dll__emalloc
add esp, 4
mov esi, eax
pop edi
mov dword [esi], 0x101903d0
mov dword [esi + 4], 0x101905c0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov esi, dword [esp + 0x28]
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x10], 0
mov dword [esp + 0x24], ebx
test esi, esi
je 0x101913f3
push ebp
push 0x11
push str.line_break_chars
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x34]
push eax
push esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
call fcn.10190ec0
push 0xc
push str.line_length
lea eax, [esp + 0x30]
push eax
push esi
call fcn.10191150
push 7
push str.binary
lea eax, [esp + 0x48]
push eax
push esi
call fcn.101910c0
push 0x13
push str.force_encode_first
lea eax, [esp + 0x54]
push eax
push esi
call fcn.101910c0
add esp, 0x48
cmp dword [esp + 0x10], 4
jae 0x101913be
mov eax, dword [esp + 0x24]
test eax, eax
je 0x101913ba
push eax
call sym.php5.dll__efree
add esp, 4
xor ebx, ebx
jmp 0x101913dd
mov ebx, dword [esp + 0x24]
test ebx, ebx
jne 0x101913dd
push 0x10548574
call sym.php5.dll__estrdup
add esp, 4
mov ebx, eax
mov dword [esp + 0x1c], 2
mov ebp, dword [esp + 0x14]
neg ebp
sbb ebp, ebp
xor ecx, ecx
and ebp, 2
cmp dword [esp + 0x18], ecx
setne cl
or ebp, ecx
mov edi, dword [esp + 0x2c]
push 0x2c
test edi, edi
je 0x10191411
call dword [sym.imp.MSVCR110.dll_malloc]
mov esi, eax
add esp, 4
test esi, esi
jne 0x1019141b
jmp 0x1019121a
call sym.php5.dll__emalloc
add esp, 4
mov esi, eax
test ebx, ebx
je 0x1019143a
push edi
push ebp
push 1
push dword [esp + 0x28]
push ebx
push dword [esp + 0x24]
push esi
call fcn.10190a50
add esp, 0x1c
jmp 0x1019127b
mov dword [esi + 0x20], edi
pop edi
mov dword [esi + 8], ebp
mov dword [esi], 0x10190630
mov dword [esi + 4], 0x10190600
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov eax, dword [esp + 0x28]
xor ebx, ebx
mov dword [esp + 0x24], ebx
test eax, eax
je 0x101914ae
push ebx
push 0x11
push str.line_break_chars
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x34]
push ecx
push eax
call fcn.10190ec0
mov ebx, dword [esp + 0x3c]
add esp, 0x18
mov edi, dword [esp + 0x2c]
push 0x28
test edi, edi
je 0x101914cc
call dword [sym.imp.MSVCR110.dll_malloc]
mov esi, eax
add esp, 4
test esi, esi
jne 0x101914d6
jmp 0x1019121a
call sym.php5.dll__emalloc
add esp, 4
mov esi, eax
test ebx, ebx
je 0x1019152a
push edi
push 1
push dword [esp + 0x24]
push ebx
push esi
call fcn.10190e20
add esp, 0x14
push ebx
test eax, eax
je 0x10191284
call sym.php5.dll__efree
add esp, 4
test esi, esi
je 0x10191520
push esi
test edi, edi
je 0x10191518
call dword [sym.imp.MSVCR110.dll_free]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
call sym.php5.dll__efree
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret
mov dword [esi + 0x1c], edi
pop edi
mov dword [esi], 0x10190b20
mov dword [esi + 4], 0x10190af0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x14], 0
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
xor esi, esi
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret