Function at 0x1000fbf0
Capabilities:
Hash data using djb2
Terminate process

Disassembly:
sub esp, 0x20
push ebx
mov ebx, dword [esp + 0x28]
cmp ebx, dword [0x106690c0]
jb 0x1000ffee
mov ecx, dword [esp + 0x2c]
push ebp
push esi
push edi
mov eax, ecx
mov edi, ebx
mov esi, 0x1505
cmp ecx, 8
jb switch.0x1000fca4
mov ebp, ecx
shr ebp, 3
mov ebx, eax
movsx eax, byte [edi]
mov ecx, esi
shl ecx, 5
add ecx, esi
add ecx, eax
movsx eax, byte [edi + 1]
mov edx, ecx
shl edx, 5
add edx, ecx
add edx, eax
movsx eax, byte [edi + 2]
mov ecx, edx
shl ecx, 5
add ecx, edx
add ecx, eax
movsx eax, byte [edi + 3]
mov edx, ecx
shl edx, 5
add edx, ecx
add edx, eax
movsx eax, byte [edi + 4]
mov ecx, edx
shl ecx, 5
add ecx, edx
add ecx, eax
movsx eax, byte [edi + 5]
mov edx, ecx
shl edx, 5
add edx, ecx
add edx, eax
movsx eax, byte [edi + 6]
mov ecx, edx
shl ecx, 5
add ecx, edx
add ecx, eax
movsx eax, byte [edi + 7]
mov esi, ecx
shl esi, 5
add esi, ecx
add esi, eax
add edi, 8
sub ebx, 8
dec ebp
jne 0x1000fc24
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
jmp dword [eax*4 + 0x100107e4]
mov eax, esi
shl esi, 5
add esi, eax
movsx eax, byte [edi]
add esi, eax
inc edi
mov eax, esi
shl esi, 5
add esi, eax
movsx eax, byte [edi]
add esi, eax
inc edi
mov eax, esi
shl esi, 5
add esi, eax
movsx eax, byte [edi]
add esi, eax
inc edi
mov eax, esi
shl esi, 5
add esi, eax
movsx eax, byte [edi]
add esi, eax
inc edi
mov eax, esi
shl esi, 5
add esi, eax
movsx eax, byte [edi]
add esi, eax
inc edi
mov eax, esi
shl esi, 5
add esi, eax
movsx eax, byte [edi]
add esi, eax
mov eax, dword [0x106690d4]
and eax, esi
lea edx, [eax*4]
mov eax, dword [0x106690ec]
mov dword [esp + 0x2c], edx
mov ebp, dword [edx + eax]
test ebp, ebp
je 0x1000fe1c
lea ebx, [ebx]
cmp dword [ebp], esi
jne 0x1000fe0c
cmp dword [ebp + 4], ecx
jne 0x1000fe0c
mov edx, dword [ebp + 0x20]
mov edi, ecx
mov eax, ebx
sub edi, 4
jb 0x1000fd51
mov edi, edi
mov ecx, dword [edx]
cmp ecx, dword [eax]
jne 0x1000fd56
add edx, 4
add eax, 4
sub edi, 4
jae 0x1000fd40
cmp edi, 0xfffffffc
je 0x1000fd93
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x1001076f
cmp edi, 0xfffffffd
je 0x1000fd93
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x1001076f
cmp edi, 0xfffffffe
je 0x1000fd93
mov cl, byte [edx + 2]
cmp cl, byte [eax + 2]
jne 0x1001076f
cmp edi, 0xffffffff
je 0x1000fd93
mov cl, byte [edx + 3]
cmp cl, byte [eax + 3]
jne 0x1001076f
xor eax, eax
test eax, eax
jne 0x1000fe0c
cmp dword [esp + 0x3c], eax
je 0x1000fe01
mov esi, dword [0x10660270]
cmp dword [esi], eax
je 0x103a7b2a
test ebx, ebx
je 0x1000fe01
mov eax, dword [sym.php5.dll_zend_block_interruptions]
test eax, eax
jne 0x10010779
mov edx, dword [ebx - 8]
add ebx, 0xfffffff8
and edx, 0xfffffffc
cmp edx, 0x110
jae 0x10010477
cmp dword [esi + 0x4c], 0x20000
jae 0x10010477
mov eax, edx
shr eax, 3
lea ecx, [esi + eax*4]
mov eax, dword [ecx + 0x48]
mov dword [ebx + 8], eax
mov dword [ecx + 0x48], ebx
add dword [esi + 0x4c], edx
mov eax, dword [sym.php5.dll_zend_unblock_interruptions]
test eax, eax
jne 0x1000ffe1
mov eax, dword [ebp + 0x20]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov ebp, dword [ebp + 0x18]
test ebp, ebp
je 0x1000fe1c
mov ecx, dword [esp + 0x38]
jmp 0x1000fd20
mov edi, dword [esp + 0x38]
mov ecx, dword [0x106690c4]
lea edx, [edi + 0x2b]
mov eax, edx
and eax, 0xfffffff8
add eax, ecx
cmp eax, dword [0x106690c0]
jae 0x1001001b
mov ebp, ecx
and edx, 0xfffffff8
push edi
lea eax, [ebp + 0x24]
add ecx, edx
push ebx
mov dword [0x106690c4], ecx
push eax
mov dword [ebp + 0x20], eax
call sub.MSVCR110.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x3c], 0
je 0x1000fed5
mov edx, dword [0x10660270]
mov dword [esp + 0x14], edx
cmp dword [edx], 0
je 0x103a7e75
test ebx, ebx
je 0x1000fed5
mov eax, dword [sym.php5.dll_zend_block_interruptions]
test eax, eax
jne 0x10010791
lea ecx, [ebx - 8]
mov dword [esp + 0x10], ecx
mov ebx, dword [ecx]
and ebx, 0xfffffffc
cmp ebx, 0x110
jae 0x10010025
cmp dword [edx + 0x4c], 0x20000
jae 0x10010025
mov edi, dword [esp + 0x10]
mov eax, ebx
shr eax, 3
lea ecx, [edx + eax*4]
mov eax, dword [ecx + 0x48]
mov dword [edi + 8], eax
mov eax, edi
mov edi, dword [esp + 0x38]
mov dword [ecx + 0x48], eax
add dword [edx + 0x4c], ebx
mov eax, dword [sym.php5.dll_zend_unblock_interruptions]
test eax, eax
jne 0x10010177
lea eax, [ebp + 0xc]
mov dword [ebp], esi
mov esi, dword [esp + 0x2c]
mov dword [ebp + 4], edi
mov dword [ebp + 8], eax
mov dword [eax], ebp
mov eax, dword [0x106690ec]
mov eax, dword [esi + eax]
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x1c], 0
test eax, eax
jne 0x10010013
mov eax, dword [sym.php5.dll_zend_block_interruptions]
test eax, eax
jne 0x100107ce
mov eax, dword [0x106690e8]
mov dword [ebp + 0x14], eax
mov dword [0x106690e8], ebp
mov eax, dword [ebp + 0x14]
mov dword [ebp + 0x10], 0
test eax, eax
je 0x1000ff2d
mov dword [eax + 0x10], ebp
cmp dword [0x106690e4], 0
je 0x1001068d
mov eax, dword [0x106690ec]
mov dword [esi + eax], ebp
mov eax, dword [sym.php5.dll_zend_unblock_interruptions]
test eax, eax
jne 0x100107d5
mov eax, dword [0x106690d8]
mov ecx, dword [0x106690d0]
inc eax
mov dword [0x106690d8], eax
cmp eax, ecx
jbe 0x1000fe01
test ecx, 0x7fffffff
jbe 0x1000fe01
cmp byte [0x106690f4], 0
lea eax, [ecx*8]
je 0x103a7ebf
push eax
push dword [0x106690ec]
call dword [sym.imp.MSVCR110.dll_realloc]
mov esi, eax
add esp, 8
test esi, esi
je 0x103a7e9f
mov eax, dword [sym.php5.dll_zend_block_interruptions]
test eax, eax
jne 0x100107dc
mov eax, dword [0x106690d0]
add eax, eax
mov dword [0x106690d0], eax
dec eax
push 0x106690d0
mov dword [0x106690ec], esi
mov dword [0x106690d4], eax
call sym.php5.dll_zend_hash_rehash
mov eax, dword [sym.php5.dll_zend_unblock_interruptions]
add esp, 4
test eax, eax
je 0x1000fe01
call eax
mov eax, dword [ebp + 0x20]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp ebx, dword [0x106690bc]
jb 0x1000fc04
mov eax, ebx
pop ebx
add esp, 0x20
ret
mov eax, esi
shl esi, 5
add esi, eax
movsx eax, byte [edi]
add esi, eax
inc edi
jmp case.0x1000fca4.6
mov dword [eax + 0x1c], ebp
jmp 0x1000ff01
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x20
ret
sub dword [edx + 0x34], ebx
test byte [ebx + ecx], 1
mov edi, dword [ebx + ecx]
lea eax, [ebx + ecx]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], 1
jne 0x100100f1
mov edi, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edi
cmp edi, eax
jne 0x1001017e
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x20], eax
jne 0x1001079c
cmp dword [eax + 0x18], 0
jne 0x1001046d
xor edi, edi
lea edi, [edi + 5]
lea edi, [eax + edi*4]
mov dword [esp + 0x24], edi
mov edi, dword [edi]
mov dword [esp + 0x18], edi
test edi, edi
jne 0x100102a4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
bsr eax, dword [esp + 0x28]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0x10]
cmp dword [edx], eax
mov edx, dword [esp + 0x14]
jne 0x100107a1
mov eax, dword [eax + 0x10]
mov dword [eax], edi
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
add eax, 0x74
lea eax, [edx + eax*4]
cmp dword [edi + 0x10], eax
mov edi, dword [esp + 0x38]
jne 0x100100eb
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [esp + 0x10]
not eax
and dword [edx + 0x14], eax
mov eax, dword [esp + 0x1c]
add ebx, dword [eax]
mov eax, dword [ecx + 4]
test al, 1
je 0x10010361
cmp dword [ecx + 4], 3
je 0x10010533
mov dword [ecx], ebx
mov dword [ebx + ecx + 4], ebx
mov ebx, dword [ecx]
mov dword [esp + 0x28], ebx
cmp ebx, 0x110
jb 0x10010553
bsr eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
lea eax, [edx + eax*4]
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x14], 0
mov eax, dword [eax + 0x1d0]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x10010216
mov ebx, dword [esp + 0x20]
lea eax, [ebx + 0x74]
lea eax, [edx + eax*4]
mov dword [eax], ecx
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 0xc], ecx
mov dword [ecx + 8], ecx
mov ecx, ebx
shl eax, cl
or dword [edx + 0x14], eax
mov eax, dword [sym.php5.dll_zend_unblock_interruptions]
test eax, eax
je 0x1000fed5
call eax
jmp 0x1000fed5
mov edi, dword [esp + 0x18]
cmp dword [edi + 0xc], eax
jne 0x10010780
mov edx, dword [esp + 0x20]
cmp dword [edx + 8], eax
mov edx, dword [esp + 0x14]
jne 0x10010780
mov ecx, edi
mov edi, dword [esp + 0x20]
mov dword [ecx + 0xc], edi
mov dword [edi + 8], ecx
mov ecx, dword [eax]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x24], ecx
cmp ecx, 0x110
mov ecx, dword [esp + 0x10]
jae 0x1001025d
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x18], edx
mov edx, dword [esp + 0x14]
jne 0x100100ef
mov eax, dword [esp + 0x24]
shr eax, 3
sub eax, 2
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x24]
mov eax, dword [edx + eax*8 + 0xd0]
cmp eax, dword [edx + edi*8 + 0xd4]
mov edi, dword [esp + 0x38]
jne 0x100100eb
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [esp + 0x10]
not eax
and dword [edx + 0x10], eax
jmp 0x100100eb
mov ecx, 0x20
sub ecx, dword [esp + 0x20]
mov edx, ebx
shl edx, cl
mov dword [esp + 0x34], edx
cmp dword [eax], ebx
je 0x10010281
jmp 0x10010230
mov eax, edx
mov edx, dword [esp + 0x24]
shr eax, 0x1f
add edx, 0x14
lea ecx, [edx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x10010273
mov eax, dword [esp + 0x10]
mov dword [ecx], eax
mov dword [eax + 0x10], ecx
mov dword [eax + 0xc], eax
mov dword [eax + 8], eax
jmp 0x1001016a
cmp dword [eax + 0x10], 1
je 0x100106a2
cmp dword [eax + 0x10], 0
je 0x100100ef
jmp 0x100102d6
mov edx, dword [esp + 0x34]
add edx, edx
mov dword [esp + 0x34], edx
cmp dword [eax], ebx
jne 0x10010230
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov dword [eax + 8], ecx
mov dword [edx + 0xc], ecx
mov dword [ecx + 0xc], eax
mov dword [ecx + 8], edx
mov dword [ecx + 0x10], 0
jmp 0x1001016a
mov edi, dword [esp + 0x18]
jmp 0x100102b0
cmp dword [edi + 0x18], 0
jne 0x10010581
xor ecx, ecx
lea ecx, [ecx + 5]
lea ecx, [edi + ecx*4]
mov edi, dword [ecx]
test edi, edi
jne 0x10010546
mov edi, dword [esp + 0x24]
mov dword [edi], 0
mov edi, dword [eax + 0x10]
cmp dword [edi], eax
jne 0x100107a6
mov ecx, dword [eax + 0x10]
mov edi, dword [esp + 0x18]
mov dword [ecx], edi
mov eax, dword [eax + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x1c]
mov ecx, edi
mov edi, dword [eax + 0x14]
add ecx, 0x14
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edi
mov dword [ecx], edi
test edi, edi
jne 0x1001050a
mov edi, dword [esp + 0x18]
add edi, 0x18
mov dword [esp + 0x20], edi
mov edi, dword [eax + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], edi
mov dword [ecx], edi
mov ecx, dword [esp + 0x10]
test edi, edi
mov edi, dword [esp + 0x38]
je 0x100100ef
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x24]
mov eax, dword [eax + 0x10]
cmp dword [eax], edx
mov edx, dword [esp + 0x14]
jne 0x100107b0
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov dword [eax + 0x10], edi
mov edi, dword [esp + 0x38]
jmp 0x100100eb
and eax, 0xfffffffc
sub ecx, eax
mov dword [esp + 0x10], ecx
mov eax, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edi
cmp eax, ecx
jne 0x100103ed
cmp edi, ecx
jne 0x100107b5
cmp dword [ecx + 0x18], 0
jne 0x10010698
xor eax, eax
lea eax, [eax + 5]
lea eax, [ecx + eax*4]
mov dword [esp + 0x28], eax
mov eax, dword [eax]
test eax, eax
jne 0x100105e5
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
bsr eax, dword [esp + 0x28]
mov edi, dword [ecx + 0x10]
mov dword [esp + 0x24], eax
cmp dword [edi], ecx
jne 0x100107ba
add eax, 0x74
mov dword [edi], 0
mov edi, dword [esp + 0x38]
lea eax, [edx + eax*4]
cmp dword [ecx + 0x10], eax
jne 0x100103e6
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [esp + 0x10]
not eax
and dword [edx + 0x14], eax
add ebx, dword [ecx]
jmp 0x100100fc
cmp dword [eax + 0xc], ecx
jne 0x10010780
mov edx, dword [esp + 0x24]
cmp dword [edx + 8], ecx
mov edx, dword [esp + 0x14]
jne 0x10010780
mov edi, dword [esp + 0x24]
mov dword [eax + 0xc], edi
mov dword [edi + 8], eax
mov edi, dword [ecx]
mov dword [esp + 0x20], edi
cmp edi, 0x110
mov edi, dword [esp + 0x38]
jae 0x1001058b
cmp eax, dword [esp + 0x24]
jne 0x100103e6
mov eax, dword [esp + 0x20]
shr eax, 3
sub eax, 2
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x20]
mov eax, dword [edx + eax*8 + 0xd0]
cmp eax, dword [edx + edi*8 + 0xd4]
mov edi, dword [esp + 0x38]
jne 0x100103e6
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [esp + 0x10]
not eax
and dword [edx + 0x10], eax
add ebx, dword [ecx]
jmp 0x100100fc
mov edi, 1
jmp 0x10010080
sub dword [esi + 0x34], edx
mov eax, dword [edx + ebx]
lea edi, [edx + ebx]
mov dword [esp + 0x20], edi
mov dword [esp + 0x34], 1
test al, 1
je 0x103a7b38
mov eax, dword [ebx + 4]
test al, 1
je 0x100106fa
mov edi, dword [esp + 0x34]
cmp dword [ebx + 4], 3
je 0x103a7df8
mov dword [ebx], edx
mov dword [edx + ebx + 4], edx
mov edx, dword [ebx]
mov dword [esp + 0x34], edx
cmp edx, 0x110
jae 0x100105a1
shr edx, 3
sub edx, 2
lea ecx, [esi + 0xc8]
lea ecx, [ecx + edx*8]
mov dword [esp + 0x34], ecx
cmp dword [ecx + 8], ecx
je 0x10010747
mov eax, dword [ecx + 0xc]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], eax
mov dword [eax + 8], ebx
mov dword [ecx + 0xc], ebx
mov eax, dword [sym.php5.dll_zend_unblock_interruptions]
test eax, eax
je 0x1000fe01
call eax
mov eax, dword [ebp + 0x20]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x24]
mov eax, dword [eax + 0x10]
cmp dword [eax], edx
jne 0x100107ab
mov eax, edx
mov edx, dword [esp + 0x28]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
jmp 0x1001030e
mov eax, dword [ebx + ecx]
and eax, 3
cmp al, 3
jne 0x10010106
jmp 0x103a7e8e
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], ecx
jmp 0x100102b0
shr ebx, 3
lea eax, [ebx + 0x17]
lea eax, [edx + eax*8]
mov dword [esp + 0x24], eax
cmp dword [eax + 8], eax
je 0x100106ad
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x24]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov dword [eax + 8], ecx
mov dword [edx + 0xc], ecx
jmp 0x1001016a
mov ecx, 1
jmp 0x100102bc
cmp dword [ecx + 0x10], 1
je 0x103a7e83
cmp dword [ecx + 0x10], 0
je 0x100103e6
jmp 0x10010614
bsr eax, dword [esp + 0x34]
mov dword [esp + 0x24], eax
add eax, 0x74
mov dword [ebx + 0x18], 0
lea ecx, [esi + eax*4]
mov dword [ebx + 0x14], 0
mov eax, dword [ecx]
mov dword [esp + 0x34], eax
test eax, eax
jne 0x103a7e15
mov dword [ecx], ebx
mov dword [ebx + 0x10], ecx
mov ecx, dword [esp + 0x24]
shl edi, cl
mov dword [ebx + 0xc], ebx
mov dword [ebx + 8], ebx
or dword [esi + 0x14], edi
jmp 0x100104f0
mov edi, dword [esp + 0x28]
lea esp, [esp]
cmp dword [eax + 0x18], 0
jne 0x10010757
xor edx, edx
cmp dword [eax + edx*4 + 0x14], 0
lea edx, [eax + edx*4]
jne 0x100106c6
mov dword [esp + 0x1c], eax
mov dword [edi], 0
mov edi, dword [ecx + 0x10]
cmp dword [edi], ecx
jne 0x100107bf
mov dword [edi], eax
mov edi, dword [esp + 0x1c]
mov eax, dword [ecx + 0x10]
mov dword [edi + 0x10], eax
mov eax, edi
lea edi, [eax + 0x14]
mov dword [esp + 0x28], edi
mov edi, dword [ecx + 0x14]
mov dword [esp + 0x24], edi
mov dword [eax + 0x14], edi
test edi, edi
mov edi, dword [esp + 0x38]
jne 0x100106d1
add eax, 0x18
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x18]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov dword [edx], eax
mov edx, dword [esp + 0x14]
test eax, eax
je 0x100103e6
mov eax, dword [eax + 0x10]
mov edi, dword [esp + 0x24]
cmp dword [eax], edi
jne 0x100107c9
mov eax, edi
mov edi, dword [esp + 0x20]
mov dword [eax + 0x10], edi
mov edi, dword [esp + 0x38]
add ebx, dword [ecx]
jmp 0x100100fc
mov dword [0x106690e4], ebp
jmp 0x1000ff3a
mov eax, 1
jmp 0x10010390
dec dword [edx + 0x258]
jmp 0x100100ef
mov eax, dword [esp + 0x34]
lea ecx, [ebx - 2]
shl eax, cl
mov ecx, dword [esp + 0x10]
or dword [edx + 0x10], eax
mov eax, dword [esp + 0x24]
jmp 0x10010569
mov eax, dword [edx + 0x14]
lea edi, [edx + 0x14]
jmp 0x100105f0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x24]
mov eax, dword [eax + 0x10]
cmp dword [eax], edx
jne 0x100107c4
mov edi, dword [esp + 0x28]
mov eax, edx
mov dword [eax + 0x10], edi
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
jmp 0x1001064a
and eax, 0xfffffffc
sub ebx, eax
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
cmp ecx, ebx
jne 0x103a7d2f
cmp eax, ebx
jne 0x10010785
cmp dword [ebx + 0x18], 0
jne 0x1001078a
xor eax, eax
lea edi, [eax + 5]
mov ecx, dword [ebx + edi*4]
lea edi, [ebx + edi*4]
test ecx, ecx
jne 0x103a7d0d
mov eax, dword [ebx]
mov dword [esp + 0x24], eax
bsr eax, dword [esp + 0x24]
mov ecx, eax
mov eax, dword [ebx + 0x10]
cmp dword [eax], ebx
je 0x103a7ce3
call fcn.10318a70
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x34]
or dword [esi + 0x10], edi
jmp 0x100104e1
mov edx, 1
jmp 0x100105fc
mov dword [ecx + 0x10], edi
mov edi, dword [esp + 0x34]
add edx, dword [ebx]
jmp 0x100104a3
sbb eax, eax
or eax, 1
jmp 0x1000fd95
call eax
jmp 0x1000fdbe
call fcn.10318a70
call fcn.10318a70
mov eax, 1
jmp 0x10010719
call eax
mov edx, dword [esp + 0x14]
jmp 0x1000fe85
call fcn.10318a70
call fcn.10318a70
call fcn.10318a70
call fcn.10318a70
call fcn.10318a70
call fcn.10318a70
call fcn.10318a70
call fcn.10318a70
call fcn.10318a70
call fcn.10318a70
call eax
jmp 0x1000ff0e
call eax
jmp 0x1000ff4f
call eax
jmp 0x1000ffaf
mov eax, dword [esi + 8]
push ebx
call eax
add esp, 4
jmp 0x1000fe01
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
cmp eax, edi
jne 0x103a7bf0
cmp ecx, edi
jne 0x10010780
xor eax, eax
cmp dword [edi + 0x18], eax
setne al
add eax, 5
lea eax, [edi + eax*4]
mov dword [esp + 0x24], eax
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x103a7bba
mov eax, dword [edi]
mov dword [esp + 0x24], eax
bsr eax, dword [esp + 0x24]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x20], eax
cmp dword [ecx], edi
je 0x103a7b8d
call fcn.10318a70
add eax, 0x74
mov dword [ecx], 0
mov ecx, dword [esp + 0x34]
lea eax, [esi + eax*4]
cmp dword [edi + 0x10], eax
jne 0x103a7cdc
mov eax, ecx
mov ecx, dword [esp + 0x20]
shl eax, cl
not eax
and dword [esi + 0x14], eax
add edx, dword [edi]
jmp 0x10010494
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
xor eax, eax
cmp dword [ecx + 0x18], eax
setne al
lea eax, [ecx + eax*4]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x103a7bdd
mov dword [esp + 0x1c], ecx
lea edi, [eax + 0x14]
jmp 0x103a7bc2
mov eax, dword [esp + 0x1c]
mov dword [edi], 0
mov edi, dword [esp + 0x20]
jmp 0x103a7c71
cmp dword [eax + 0xc], edi
jne 0x10010780
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 8], edi
jne 0x10010780
mov dword [eax + 0xc], ecx
mov dword [ecx + 8], eax
cmp dword [edi], 0x110
jae 0x103a7c58
cmp eax, ecx
jne 0x103a7cdc
mov eax, dword [edi]
shr eax, 3
sub eax, 2
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + eax*8 + 0xd0]
cmp eax, dword [esi + ecx*8 + 0xd4]
mov ecx, dword [esp + 0x34]
jne 0x103a7cdc
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, cl
not eax
and dword [esi + 0x10], eax
add edx, dword [edi]
jmp 0x10010494
mov ecx, dword [edi + 0x10]
cmp ecx, 1
jne 0x103a7c6d
dec dword [esi + 0x258]
add edx, dword [edi]
jmp 0x10010494
test ecx, ecx
je 0x103a7cdc
mov ecx, dword [edi + 0x10]
cmp dword [ecx], edi
je 0x103a7c7d
call fcn.10318a70
mov dword [ecx], eax
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x24], eax
mov dword [ecx + 0x14], eax
test eax, eax
je 0x103a7cb9
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x24]
cmp dword [eax], ecx
mov ecx, dword [esp + 0x1c]
je 0x103a7cab
call fcn.10318a70
mov eax, dword [esp + 0x24]
lea edi, [ecx + 0x14]
mov dword [eax + 0x10], edi
mov edi, dword [esp + 0x20]
lea eax, [ecx + 0x18]
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x24], eax
mov dword [eax], ecx
test ecx, ecx
je 0x103a7cdc
mov eax, dword [ecx + 0x10]
cmp dword [eax], ecx
je 0x103a7cd5
call fcn.10318a70
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x10], eax
add edx, dword [edi]
jmp 0x10010494
mov edi, dword [esp + 0x34]
mov dword [eax], 0
lea eax, [esi + 0x1d0]
lea eax, [eax + ecx*4]
cmp dword [ebx + 0x10], eax
jne 0x10010768
mov eax, edi
shl eax, cl
not eax
and dword [esi + 0x14], eax
jmp 0x10010768
xor eax, eax
cmp dword [ecx + 0x18], eax
setne al
cmp dword [ecx + eax*4 + 0x14], 0
lea eax, [ecx + eax*4]
je 0x103a7d27
mov ecx, dword [eax + 0x14]
lea edi, [eax + 0x14]
jmp 0x103a7d0d
mov dword [edi], 0
jmp 0x103a7da8
cmp dword [ecx + 0xc], ebx
jne 0x10010780
cmp dword [eax + 8], ebx
jne 0x10010780
mov dword [ecx + 0xc], eax
mov dword [eax + 8], ecx
mov edi, dword [ebx]
cmp edi, 0x110
jae 0x103a7d8d
cmp ecx, eax
jne 0x10010764
shr edi, 3
sub edi, 2
mov dword [esp + 0x24], edi
mov eax, dword [esi + edi*8 + 0xd0]
cmp eax, dword [esi + edi*8 + 0xd4]
mov edi, dword [esp + 0x34]
jne 0x10010768
mov ecx, dword [esp + 0x24]
mov eax, edi
shl eax, cl
not eax
and dword [esi + 0x10], eax
jmp 0x10010768
mov eax, dword [ebx + 0x10]
cmp eax, 1
jne 0x103a7da0
dec dword [esi + 0x258]
jmp 0x10010764
test eax, eax
je 0x10010764
mov eax, dword [ebx + 0x10]
cmp dword [eax], ebx
je 0x103a7db4
call fcn.10318a70
mov dword [eax], ecx
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
mov edi, dword [ebx + 0x14]
mov dword [ecx + 0x14], edi
test edi, edi
je 0x103a7dd8
mov eax, dword [edi + 0x10]
cmp dword [eax], edi
je 0x103a7dd2
call fcn.10318a70
lea eax, [ecx + 0x14]
mov dword [edi + 0x10], eax
lea edi, [ecx + 0x18]
mov ecx, dword [ebx + 0x18]
mov dword [edi], ecx
test ecx, ecx
je 0x10010764
mov eax, dword [ecx + 0x10]
cmp dword [eax], ecx
je 0x10010761
call fcn.10318a70
mov eax, dword [edx + ebx]
and eax, 3
cmp al, 3
jne 0x100104ad
lea edx, [ebx - 8]
mov ecx, esi
call fcn.10043340
jmp 0x100104f0
mov ecx, 0x20
sub ecx, dword [esp + 0x24]
mov esi, edx
shl esi, cl
cmp dword [eax], edx
je 0x103a7e46
mov ecx, dword [esp + 0x34]
mov eax, esi
shr eax, 0x1f
lea ecx, [ecx + eax*4]
mov eax, dword [ecx + 0x14]
add ecx, 0x14
mov dword [esp + 0x34], eax
test eax, eax
je 0x103a7e65
add esi, esi
cmp dword [eax], edx
jne 0x103a7e26
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ebx
mov dword [ecx + 0xc], ebx
mov dword [ebx + 0xc], eax
mov dword [ebx + 8], ecx
mov dword [ebx + 0x10], 0
jmp 0x100104f0
mov dword [ecx], ebx
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0xc], ebx
mov dword [ebx + 8], ebx
jmp 0x100104f0
mov eax, dword [edx + 8]
push ebx
call eax
add esp, 4
jmp 0x1000fed5
dec dword [edx + 0x258]
jmp 0x100103e6
lea edx, [ecx - 8]
mov ecx, dword [esp + 0x14]
call fcn.10043340
jmp 0x1001016a
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 1
push eax
push dword [0x106690ec]
call sym.php5.dll__erealloc
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1000fe01
jmp 0x1000ffa2