Function at 0x402fd0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x3c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x40]
push ebx
push ebp
mov ebp, dword [esp + 0x4c]
push esi
mov esi, ecx
mov ecx, 0xc8
test eax, eax
cmove eax, ecx
mov ecx, dword [esi]
push edi
mov edi, edx
mov edx, dword [sym.imp.php5.dll__erealloc]
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], eax
test ecx, ecx
jne 0x40305c
mov dword [esi + 4], 0
mov ebx, 4
mov dword [esi + 8], 0x4e
test ebp, ebp
je 0x403054
push 0x4f
push 0
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x403082
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]
push 0
push 0x4f
push 0
jmp 0x40307d
mov ebx, dword [esi + 4]
add ebx, 4
cmp ebx, dword [esi + 8]
jb 0x40308a
lea eax, [ebx + 0x80]
mov dword [esi + 8], eax
inc eax
test ebp, ebp
je 0x403079
push eax
push ecx
jmp 0x403027
push 0
push eax
push ecx
call edx
add esp, 0xc
mov edx, dword [sym.imp.php5.dll__erealloc]
mov dword [esi], eax
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov dword [ecx + eax], 0x50545448
mov ecx, dword [esi]
mov dword [esi + 4], ebx
test ecx, ecx
jne 0x4030cd
mov dword [esi + 4], ecx
lea ebx, [ecx + 1]
mov dword [esi + 8], 0x4e
test ebp, ebp
je 0x4030c5
push 0x4f
push ecx
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x4030fe
jmp 0x403034
push 0
push 0x4f
push 0
jmp 0x4030f9
inc ebx
cmp ebx, dword [esi + 8]
jb 0x403100
lea eax, [ebx + 0x80]
mov dword [esi + 8], eax
inc eax
test ebp, ebp
je 0x4030f5
push eax
push ecx
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x4030fe
jmp 0x403034
push 0
push eax
push ecx
call edx
add esp, 0xc
mov dword [esi], eax
mov eax, dword [esi]
mov dword [esi + 4], ebx
mov byte [eax + ebx - 1], 0x2f
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
lea ebp, [esp + 0x43]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov byte [esp + 0x43], 0
mov edi, edi
mov eax, 0x66666667
imul edx
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [esp + 0x10]
mov al, bl
shl al, 2
dec ebp
lea ecx, [eax + ebx]
add cl, cl
sub dl, cl
add dl, 0x30
mov byte [ebp], dl
mov edx, ebx
mov dword [esp + 0x10], edx
test edx, edx
jg 0x403130
mov ecx, dword [esi]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x54]
mov ebx, dword [esp + 0x10]
lea edi, [esp + 0x43]
test ecx, ecx
jne 0x4031b5
sub edi, ebx
mov dword [esi + 4], 0
mov eax, 0x4e
cmp edi, 0x4e
jb 0x403191
lea eax, [edi + 0x80]
mov dword [esi + 8], eax
inc eax
test ebp, ebp
je 0x4031ae
push eax
push 0
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x4031f1
jmp 0x403034
push 0
push eax
push 0
jmp 0x4031e7
mov eax, dword [esi + 4]
sub eax, ebx
add edi, eax
cmp edi, dword [esi + 8]
jb 0x4031f3
lea eax, [edi + 0x80]
mov dword [esi + 8], eax
inc eax
test ebp, ebp
je 0x4031e3
push eax
push ecx
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x4031f1
jmp 0x403034
push 0
push eax
push ecx
mov eax, dword [sym.imp.php5.dll__erealloc]
call eax
add esp, 0xc
mov dword [esi], eax
lea eax, [esp + 0x43]
sub eax, ebx
push eax
mov eax, dword [esi]
add eax, dword [esi + 4]
push ebx
push eax
call sub.MSVCR110.dll_memcpy
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 4], edi
test ecx, ecx
jne 0x403240
mov dword [esi + 4], ecx
lea edi, [ecx + 1]
mov dword [esi + 8], 0x4e
test ebp, ebp
je 0x403238
push 0x4f
push ecx
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x403275
jmp 0x403034
push 0
push 0x4f
push 0
jmp 0x40326c
inc edi
cmp edi, dword [esi + 8]
jb 0x403277
lea eax, [edi + 0x80]
mov dword [esi + 8], eax
inc eax
test ebp, ebp
je 0x403268
push eax
push ecx
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x403275
jmp 0x403034
push 0
push eax
push ecx
call dword [sym.imp.php5.dll__erealloc]
add esp, 0xc
mov dword [esi], eax
mov eax, dword [esi]
mov edx, dword [esp + 0x20]
mov dword [esi + 4], edi
mov byte [eax + edi - 1], 0x2e
mov eax, dword [esp + 0x14]
imul eax, eax, 0x64
sub edx, eax
lea ebp, [esp + 0x43]
mov dword [esp + 0x20], edx
mov byte [esp + 0x43], 0
jmp 0x4032a0
mov eax, 0x66666667
imul edx
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [esp + 0x20]
mov al, bl
shl al, 2
dec ebp
lea ecx, [eax + ebx]
add cl, cl
sub dl, cl
add dl, 0x30
mov byte [ebp], dl
mov edx, ebx
mov dword [esp + 0x20], edx
test edx, edx
jg 0x4032a0
mov ecx, dword [esi]
lea edi, [esp + 0x43]
test ecx, ecx
jne 0x403317
sub edi, ebp
mov dword [esi + 4], ecx
lea eax, [ecx + 0x4e]
cmp edi, 0x4e
jb 0x4032ef
lea eax, [edi + 0x80]
mov ebx, dword [esp + 0x54]
mov dword [esi + 8], eax
inc eax
test ebx, ebx
je 0x403310
push eax
push 0
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x403356
jmp 0x403034
push 0
push eax
push 0
jmp 0x40334d
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0x54]
sub eax, ebp
add edi, eax
cmp edi, dword [esi + 8]
jb 0x403358
lea eax, [edi + 0x80]
mov dword [esi + 8], eax
inc eax
test ebx, ebx
je 0x403349
push eax
push ecx
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x403356
jmp 0x403034
push 0
push eax
push ecx
call dword [sym.imp.php5.dll__erealloc]
add esp, 0xc
mov dword [esi], eax
lea eax, [esp + 0x43]
sub eax, ebp
push eax
mov eax, dword [esi]
add eax, dword [esi + 4]
push ebp
push eax
call sub.MSVCR110.dll_memcpy
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 4], edi
test ecx, ecx
jne 0x4033a5
mov dword [esi + 4], ecx
lea edi, [ecx + 1]
mov dword [esi + 8], 0x4e
test ebx, ebx
je 0x40339d
push 0x4f
push ecx
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x4033da
jmp 0x403034
push 0
push 0x4f
push 0
jmp 0x4033d1
inc edi
cmp edi, dword [esi + 8]
jb 0x4033dc
lea eax, [edi + 0x80]
mov dword [esi + 8], eax
inc eax
test ebx, ebx
je 0x4033cd
push eax
push ecx
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x4033da
jmp 0x403034
push 0
push eax
push ecx
call dword [sym.imp.php5.dll__erealloc]
add esp, 0xc
mov dword [esi], eax
mov eax, dword [esi]
mov edx, dword [esp + 0x1c]
mov dword [esi + 4], edi
mov byte [eax + edi - 1], 0x20
lea ebp, [esp + 0x43]
mov dword [esp + 0x10], edx
mov byte [esp + 0x43], 0
jmp 0x403400
mov eax, 0x66666667
imul edx
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [esp + 0x10]
mov al, bl
shl al, 2
dec ebp
lea ecx, [eax + ebx]
add cl, cl
sub dl, cl
add dl, 0x30
mov byte [ebp], dl
mov edx, ebx
mov dword [esp + 0x10], edx
test edx, edx
jg 0x403400
mov ecx, dword [esi]
lea edi, [esp + 0x43]
test ecx, ecx
jne 0x403477
sub edi, ebp
mov dword [esi + 4], ecx
lea eax, [ecx + 0x4e]
cmp edi, 0x4e
jb 0x40344f
lea eax, [edi + 0x80]
mov ebx, dword [esp + 0x54]
mov dword [esi + 8], eax
inc eax
test ebx, ebx
je 0x403470
push eax
push 0
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x4034b6
jmp 0x403034
push 0
push eax
push 0
jmp 0x4034ad
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0x54]
sub eax, ebp
add edi, eax
cmp edi, dword [esi + 8]
jb 0x4034b8
lea eax, [edi + 0x80]
mov dword [esi + 8], eax
inc eax
test ebx, ebx
je 0x4034a9
push eax
push ecx
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x4034b6
jmp 0x403034
push 0
push eax
push ecx
call dword [sym.imp.php5.dll__erealloc]
add esp, 0xc
mov dword [esi], eax
lea eax, [esp + 0x43]
sub eax, ebp
push eax
mov eax, dword [esi]
add eax, dword [esi + 4]
push ebp
push eax
call sub.MSVCR110.dll_memcpy
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 4], edi
test ecx, ecx
jne 0x403505
mov dword [esi + 4], ecx
lea edi, [ecx + 1]
mov dword [esi + 8], 0x4e
test ebx, ebx
je 0x4034fd
push 0x4f
push ecx
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x40353a
jmp 0x403034
push 0
push 0x4f
push 0
jmp 0x403531
inc edi
cmp edi, dword [esi + 8]
jb 0x40353c
lea eax, [edi + 0x80]
mov dword [esi + 8], eax
inc eax
test ebx, ebx
je 0x40352d
push eax
push ecx
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x40353a
jmp 0x403034
push 0
push eax
push ecx
call dword [sym.imp.php5.dll__erealloc]
add esp, 0xc
mov dword [esi], eax
mov eax, dword [esi]
mov ebp, dword [sym.imp.MSVCR110.dll_bsearch]
push 0x402f60
push 8
mov dword [esi + 4], edi
mov byte [eax + edi - 1], 0x20
cmp dword [esi], 0
mov eax, dword [esp + 0x24]
push 0x2e
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push 0x40f1c0
mov dword [esp + 0x28], 0
push eax
jne 0x4035c7
mov dword [esi + 4], 0
call ebp
add esp, 0x14
test eax, eax
je 0x403589
mov edi, dword [eax + 4]
jmp 0x40358e
mov edi, str.Unknown_Status_Code
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x403591
sub edi, ecx
mov eax, 0x4e
cmp edi, 0x4e
jb 0x4035aa
lea eax, [edi + 0x80]
mov dword [esi + 8], eax
inc eax
test ebx, ebx
je 0x4035f5
push eax
push dword [esi]
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x403603
jmp 0x403034
call ebp
add esp, 0x14
test eax, eax
je 0x4035d5
mov ecx, dword [eax + 4]
jmp 0x4035da
mov ecx, str.Unknown_Status_Code
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4035e0
mov edi, dword [esi + 4]
sub ecx, edx
add edi, ecx
cmp edi, dword [esi + 8]
jb 0x403605
jmp 0x4035a4
push 0
push eax
push dword [esi]
call dword [sym.imp.php5.dll__erealloc]
add esp, 0xc
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
push 0x402f60
push 8
push 0x2e
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push 0x40f1c0
push eax
mov dword [esp + 0x2c], 0
call ebp
add esp, 0x14
test eax, eax
je 0x403636
mov ebx, dword [eax + 4]
jmp 0x40363b
mov ebx, str.Unknown_Status_Code
lea ecx, [ebx + 1]
mov edi, edi
mov al, byte [ebx]
inc ebx
test al, al
jne 0x403640
mov eax, dword [esp + 0x1c]
push 0x402f60
push 8
push 0x2e
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push 0x40f1c0
push eax
sub ebx, ecx
mov dword [esp + 0x2c], 0
call ebp
add esp, 0x14
test eax, eax
je 0x40367a
mov eax, dword [eax + 4]
jmp 0x40367f
mov eax, str.Unknown_Status_Code
push ebx
push eax
mov eax, dword [esi]
add eax, dword [esi + 4]
push eax
call sub.MSVCR110.dll_memcpy
mov ecx, dword [esi]
add esp, 0xc
mov dword [esi + 4], edi
test ecx, ecx
jne 0x4036ca
mov ebx, dword [esp + 0x54]
mov dword [esi + 4], ecx
lea edi, [ecx + 2]
mov dword [esi + 8], 0x4e
test ebx, ebx
je 0x4036c2
push 0x4f
push ecx
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x403705
jmp 0x403034
push 0
push 0x4f
push 0
jmp 0x4036fc
add edi, 2
cmp edi, dword [esi + 8]
jb 0x403707
mov ebx, dword [esp + 0x54]
lea eax, [edi + 0x80]
mov dword [esi + 8], eax
inc eax
test ebx, ebx
je 0x4036f8
push eax
push ecx
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x403705
jmp 0x403034
push 0
push eax
push ecx
call dword [sym.imp.php5.dll__erealloc]
add esp, 0xc
mov dword [esi], eax
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov edx, 0xa0d
mov word [ecx + eax], dx
mov ecx, dword [esp + 0x44]
mov dword [esi + 4], edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0040995e
add esp, 0x3c
ret