Function at 0x10004680
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x10018334
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x568
push ebx
mov ebx, dword [esp + 0x57c]
push ebp
push esi
mov al, byte [ebx]
mov esi, ecx
test al, al
push edi
mov dword [esp + 0x34], esi
je 0x10004e3a
mov al, byte [esp + 0x10]
push 0
lea ecx, [esp + 0x28]
mov byte [esp + 0x28], al
call fcn.10002ea0
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
lea ecx, [esp + 0x2c]
call fcn.10004ed0
push 1
lea ecx, [esp + 0x14]
push 0xffffffffffffffff
push ecx
lea ecx, [esp + 0x30]
mov dword [esp + 0x58c], 0
mov byte [esp + 0x1c], 0x2d
call fcn.10004e60
cmp eax, 0xffffffff
je 0x10004728
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x24]
sub edx, eax
inc eax
push edx
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.10002830
mov byte [esp + 0x580], 1
jmp 0x1000475e
push 1
lea ecx, [esp + 0x14]
push 0xffffffffffffffff
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x1c], 0x2e
call fcn.10004e60
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x24]
sub edx, eax
inc eax
push edx
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.10002830
mov byte [esp + 0x580], 2
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x2c]
push eax
call fcn.10002bf0
lea ecx, [esp + 0x14]
push 1
mov byte [esp + 0x584], 0
call fcn.10002ea0
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x1000478c
mov eax, 0x10019280
lea ecx, [esp + 0x178]
lea ebp, [esi + 4]
push ecx
push eax
mov ecx, ebp
call fcn.10004230
lea edx, [esp + 0x178]
lea eax, [esp + 0x78]
push edx
push str.R1V1keyword_s_r_n
push eax
call fcn.1000d078
mov edx, dword [esi]
lea ecx, [esp + 0x84]
push ecx
push str._gc_search.php
lea eax, [esp + 0x18c]
push edx
push eax
call fcn.1000d078
mov cl, byte [esp + 0x2c]
add esp, 0x1c
mov byte [esp + 0x14], cl
lea ecx, [esp + 0x14]
push 0
call fcn.10002ea0
mov edi, 0x1014d5f0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x1014d5f0
lea ecx, [esp + 0x1c]
call fcn.10004ed0
lea edx, [esp + 0x14]
lea eax, [esp + 0x178]
push edx
push eax
mov ecx, ebp
mov byte [esp + 0x588], 3
call fcn.10004280
test eax, eax
push 1
lea ecx, [esp + 0x18]
sete bl
mov byte [esp + 0x584], 0
call fcn.10002ea0
test bl, bl
jne 0x10004af8
mov edi, 0x1001e2b4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push 0x1001e2b4
mov ecx, ebp
call fcn.10002df0
test eax, eax
jg 0x10004af8
mov edi, str.down.php
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push str.down.php
mov ecx, ebp
call fcn.10002df0
mov cl, byte [esp + 0x10]
push 0
mov byte [esp + 0x4c], cl
lea ecx, [esp + 0x4c]
mov ebx, eax
call fcn.10002ea0
test ebx, ebx
mov byte [esp + 0x580], 4
jle 0x100049bb
mov edi, str.search.php
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
push str.search.php
mov ecx, ebp
call fcn.10004e60
mov edx, eax
mov edi, 0x1001e298
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
push 0x1001e298
mov ecx, ebp
call fcn.10002df0
mov esi, eax
mov edi, 0x1001e294
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push 0x1001e294
mov ecx, ebp
call fcn.10002df0
sub eax, esi
lea edx, [esp + 0x38]
dec eax
inc esi
push eax
push esi
push edx
mov ecx, ebp
call fcn.10002830
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x580], 5
mov ecx, dword [esi + 0x34]
add ecx, 0x10c
test eax, eax
jne 0x10004939
mov eax, 0x10019280
mov edx, dword [esp + 0x40]
push edx
push 0
push eax
call fcn.10002df0
cmp eax, 0xffffffff
jne 0x10004b13
mov ecx, dword [esi + 0x34]
mov eax, dword [esp + 0x3c]
add ecx, 0xdc
test eax, eax
jne 0x10004965
mov eax, 0x10019280
mov edx, dword [esp + 0x40]
push edx
push 0
push eax
call fcn.10002df0
cmp eax, 0xffffffff
jne 0x10004b13
or ecx, eax
mov edi, str.down.php
xor eax, eax
add ebx, 0xa
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
push str.down.php
mov ecx, ebp
call fcn.10002df0
push 1
lea ecx, [esp + 0x3c]
mov ebx, eax
mov byte [esp + 0x584], 4
call fcn.10002ea0
test ebx, ebx
jg 0x100048aa
mov esi, dword [esp + 0x34]
mov edi, str.down.php
or ecx, 0xffffffff
xor eax, eax
xor ebx, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
push str.down.php
mov ecx, ebp
call fcn.10002df0
mov edi, eax
cmp edi, ebx
jle 0x10004de6
push 1
lea edx, [esp + 0x14]
push edi
push edx
mov ecx, ebp
mov byte [esp + 0x1c], 0x22
call fcn.10002df0
sub eax, edi
add edi, 9
sub eax, 0xa
mov ecx, ebp
push eax
lea eax, [esp + 0x18]
push edi
push eax
call fcn.10002830
mov eax, dword [esp + 0x18]
mov byte [esp + 0x580], 9
cmp eax, ebx
jne 0x10004a23
mov eax, 0x10019280
mov ecx, dword [esi]
push eax
push str._gc_down.php
lea edx, [esp + 0x180]
push ecx
push edx
call fcn.1000d078
mov al, byte [esp + 0x20]
add esp, 0x10
lea ecx, [esp + 0x38]
mov byte [esp + 0x38], al
push ebx
call fcn.10002ea0
mov edi, 0x1014d5f0
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x3c]
push ebx
call fcn.10003000
test al, al
je 0x10004a96
mov edi, dword [esp + 0x3c]
mov ecx, ebx
mov edx, ecx
mov esi, 0x1014d5f0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x3c]
call fcn.10002fe0
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x38]
lea ecx, [esp + 0x178]
push eax
push ecx
mov ecx, ebp
mov byte [esp + 0x588], 0xa
call fcn.10004280
test eax, eax
push 1
lea ecx, [esp + 0x3c]
sete bl
mov byte [esp + 0x584], 9
call fcn.10002ea0
test bl, bl
je 0x10004cc4
lea ecx, [esp + 0x14]
push 1
mov byte [esp + 0x584], 4
call fcn.10002ea0
push 1
lea ecx, [esp + 0x4c]
mov byte [esp + 0x584], 0
call fcn.10002ea0
push 1
lea ecx, [esp + 0x28]
mov dword [esp + 0x584], 0xffffffff
call fcn.10002ea0
jmp 0x10004e3a
push 1
lea eax, [esp + 0x14]
push ebx
push eax
mov ecx, ebp
mov byte [esp + 0x1c], 0x22
call fcn.10002df0
sub eax, ebx
add ebx, 9
sub eax, 0xa
lea ecx, [esp + 0x14]
push eax
push ebx
push ecx
mov ecx, ebp
call fcn.10002830
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0x58c], 6
call fcn.10002bf0
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x584], 5
call fcn.10002ea0
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x10004b73
mov eax, 0x10019280
mov edx, dword [esi]
push eax
push str._gc_down.php
lea eax, [esp + 0x180]
push edx
push eax
call fcn.1000d078
mov cl, byte [esp + 0x20]
add esp, 0x10
mov byte [esp + 0x14], cl
lea ecx, [esp + 0x14]
push 0
call fcn.10002ea0
mov edi, 0x1014d5f0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x1014d5f0
lea ecx, [esp + 0x1c]
call fcn.10004ed0
lea edx, [esp + 0x14]
lea eax, [esp + 0x178]
push edx
push eax
mov ecx, ebp
mov byte [esp + 0x588], 7
call fcn.10004280
test eax, eax
push 1
lea ecx, [esp + 0x18]
sete bl
mov byte [esp + 0x584], 5
call fcn.10002ea0
test bl, bl
je 0x10004bfe
lea ecx, [esp + 0x38]
jmp 0x10004ad6
mov edi, str.stream_r_n_r_n
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push eax
push str.stream_r_n_r_n
mov ecx, ebp
call fcn.10002df0
mov edx, eax
mov edi, 0x1001e274
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, 0xb
push ecx
push edx
push 0x1001e274
mov ecx, ebp
call fcn.10002df0
mov ecx, dword [esi + 0xc]
sub ecx, eax
add eax, 2
sub ecx, 0xc
push ecx
lea ecx, [esp + 0x6c]
push eax
push ecx
mov ecx, ebp
call fcn.10002830
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esi + 0x24]
mov byte [esp + 0x58c], 8
call fcn.10002bf0
push 1
lea ecx, [esp + 0x6c]
mov byte [esp + 0x584], 5
call fcn.10002ea0
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0x584], 4
call fcn.10002ea0
push 1
lea ecx, [esp + 0x4c]
mov byte [esp + 0x584], 0
call fcn.10002ea0
push 1
lea ecx, [esp + 0x28]
mov dword [esp + 0x584], 0xffffffff
call fcn.10002ea0
mov eax, 1
jmp 0x10004e3c
mov edi, str.stream_r_n_r_n
or ecx, 0xffffffff
xor eax, eax
xor ebx, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
push str.stream_r_n_r_n
mov ecx, ebp
call fcn.10002df0
mov edx, eax
mov edi, 0x1001e274
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, 0xb
push ecx
push edx
push 0x1001e274
mov ecx, ebp
call fcn.10002df0
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x58]
sub ecx, eax
add eax, 2
sub ecx, 0xc
push ecx
push eax
push edx
mov ecx, ebp
call fcn.10002830
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x24]
mov byte [esp + 0x58c], 0xb
call fcn.10002bf0
mov eax, dword [esp + 0x5c]
cmp eax, ebx
je 0x10004d56
mov cl, byte [eax - 1]
dec eax
test cl, cl
je 0x10004d4d
cmp cl, 0xff
je 0x10004d4d
dec cl
mov byte [eax], cl
jmp 0x10004d56
push eax
call fcn.1000cba7
add esp, 4
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x10004d7a
mov cl, byte [eax - 1]
dec eax
test cl, cl
je 0x10004d71
cmp cl, 0xff
je 0x10004d71
dec cl
mov byte [eax], cl
jmp 0x10004d7a
push eax
call fcn.1000cba7
add esp, 4
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], ebx
cmp eax, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
je 0x10004daa
mov cl, byte [eax - 1]
dec eax
test cl, cl
je 0x10004da1
cmp cl, 0xff
je 0x10004da1
dec cl
mov byte [eax], cl
jmp 0x10004daa
push eax
call fcn.1000cba7
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x4c], ebx
cmp eax, ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
je 0x10004ddf
mov cl, byte [eax - 1]
dec eax
test cl, cl
je 0x10004dd6
cmp cl, 0xff
je 0x10004dd6
dec cl
mov byte [eax], cl
mov eax, 1
jmp 0x10004e3c
push eax
call fcn.1000cba7
add esp, 4
mov eax, 1
jmp 0x10004e3c
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x10004e0a
mov cl, byte [eax - 1]
dec eax
test cl, cl
je 0x10004e01
cmp cl, 0xff
je 0x10004e01
dec cl
mov byte [eax], cl
jmp 0x10004e0a
push eax
call fcn.1000cba7
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x4c], ebx
cmp eax, ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
je 0x10004e3a
mov cl, byte [eax - 1]
dec eax
test cl, cl
je 0x10004e31
cmp cl, 0xff
je 0x10004e31
dec cl
mov byte [eax], cl
jmp 0x10004e3a
push eax
call fcn.1000cba7
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x578]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x574
ret 4