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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov edi, dword [ecx + 0x28]
mov ebx, dword [ebp + 0xc]
mov esi, edx
mov dword [esp + 0xc], ecx
lea eax, [edi + 1]
mov dword [ecx + 0x28], eax
call fcn.00485cb0
test ebx, ebx
mov dword [esp + 0x24], eax
mov eax, edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x14], esi
je 0x48e430
test byte [esi + 5], 8
je 0x48e447
mov eax, dword [esi + 0x14]
mov edx, 0
mov esi, dword [eax + 0x1c]
mov ecx, dword [esi]
test ecx, ecx
jle 0x48e439
xor edx, edx
jmp 0x48e3bf
mov ah, al
add ah, 0x6a
cmp ah, 3
jae 0x48e400
inc edx
cmp edx, ecx
je 0x48e434
mov eax, edx
shl eax, 4
mov ebx, dword [esi + eax + 4]
nop dword [eax + eax]
movzx eax, byte [ebx]
mov ah, al
and ah, 0xfe
cmp ah, 0xaa
jne 0x48e3f0
mov ebx, dword [ebx + 0xc]
jmp 0x48e3d0
cmp al, 0xad
jne 0x48e3b0
mov al, byte [ebx + 2]
jmp 0x48e3b0
cmp al, 0x73
je 0x48e3ba
cmp al, 0xa4
jne 0x48e436
test byte [ebx + 6], 0x10
jne 0x48e436
mov edi, dword [ebx + 0x2c]
test edi, edi
je 0x48e436
movsx eax, word [ebx + 0x20]
test eax, eax
js 0x48e3ba
mov edi, dword [edi + 4]
test edi, edi
je 0x48e3ba
lea eax, [eax + eax*4]
cmp byte [edi + eax*4 + 0xc], 0
jne 0x48e3ba
jmp 0x48e436
xor edi, edi
jmp 0x48e449
mov edx, ecx
mov ebx, dword [ebp + 0xc]
mov esi, dword [esp + 0x14]
cmp edx, ecx
mov eax, 0
cmove ebx, eax
mov edi, ebx
mov eax, dword [esp + 0xc]
mov ebx, dword [ebp + 0x10]
cmp dword [eax + 0x24], 0
jne 0x48e49f
mov eax, 0x820
and eax, dword [esi + 4]
cmp eax, 0x800
jne 0x48e49f
mov eax, dword [esi + 0x14]
cmp dword [eax + 0x34], 0
jne 0x48e49f
test byte [eax + 4], 9
jne 0x48e49f
cmp dword [eax + 0x3c], 0
jne 0x48e49f
cmp dword [eax + 0x24], 0
jne 0x48e49f
mov ecx, dword [eax + 0x20]
cmp dword [ecx], 1
jne 0x48e49f
cmp dword [ecx + 0x1c], 0
jne 0x48e49f
mov ecx, dword [ecx + 0x18]
cmp dword [ecx + 0x38], 0
mov dword [esp + 0x30], ecx
je 0x48f099
mov ecx, dword [ebp + 8]
test cl, 1
je 0x48e52d
mov eax, dword [esp + 0x14]
test byte [eax + 5], 8
jne 0x48e52d
mov ebx, dword [esp + 0x14]
pcmpeqd xmm0, xmm0
lea ecx, [esp + 0x50]
mov esi, dword [ebx + 0xc]
mov edx, ebx
mov dword [ebx + 0xc], 0
movdqa xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x60], 0xffffffff
mov word [esp + 0x64], 1
mov dword [esp + 0x54], 0x48d010
mov dword [esp + 0x58], 0x48d190
mov dword [esp + 0x68], 0
call fcn.0048d1b0
cmp word [esp + 0x64], 0
mov dword [ebx + 0xc], esi
mov esi, 5
je 0x48e8a5
mov eax, dword [ebx + 0x14]
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
cmp dword [eax], 3
jl 0x48ee30
test cl, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x84]
mov dword [esp + 0x30], eax
jne 0x48e55b
mov esi, dword [esp + 0x14]
test edi, edi
je 0x48e575
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x2c]
inc eax
mov dword [edx + 0x2c], eax
mov dword [esp + 0x2c], eax
mov dword [edi], eax
jmp 0x48e581
mov esi, dword [esp + 0x14]
mov dword [ecx + 0x84], 0
mov dword [esp + 0x2c], 0
mov edx, ecx
jmp 0x48e581
mov edx, dword [esp + 0xc]
mov dword [esp + 0x2c], 0
mov eax, dword [esi + 4]
mov ecx, dword [edx + 8]
mov dword [esp + 0x34], 0
test al, 0x20
mov dword [esp + 0x10], ecx
jne 0x48e5a1
cmp dword [edx + 0x34], 0
je 0x48e7d8
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0xad
jne 0x48e5ad
mov al, byte [edx + 2]
cmp al, 0x88
je 0x48e5bf
mov ebx, 1
cmp al, 0xae
jne 0x48e5c9
lea eax, [edx + 0x14]
jmp 0x48e5c5
mov eax, dword [edx + 0x14]
add eax, 0x1c
mov eax, dword [eax]
mov ebx, dword [eax]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], edx
mov dword [esi + 0x1c], eax
mov esi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], esi
jle 0x48e60f
mov edx, eax
lea eax, [esi + 1]
mov dword [esp + 0x40], esi
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x68]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4], 0x64
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48e624
mov edx, 0x64
push 0
push ebx
push eax
call fcn.0046c600
add esp, 0xc
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xc]
lea esi, [ebx + 1]
lea edx, [esi + esi*4 + 0x14]
mov edi, dword [eax]
mov ecx, edi
push 0
call fcn.00435490
add esp, 4
test eax, eax
mov dword [esp + 0x28], eax
je 0x48e682
lea ecx, [eax + esi*4 + 0x14]
lea edx, [esi + esi*4]
mov dword [eax + 0x10], ecx
mov word [eax + 6], bx
mov word [eax + 8], si
add edx, 0xfffffffc
mov cl, byte [edi + 0x4e]
mov byte [eax + 4], cl
mov dword [eax + 0xc], edi
mov dword [eax], 1
lea ecx, [eax + 0x18]
push edx
push 0
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x34]
jmp 0x48e6cd
cmp byte [edi + 0x51], 0
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x34]
jne 0x48e6cd
cmp byte [edi + 0x52], 0
jne 0x48e6cd
mov byte [edi + 0x51], 1
cmp dword [edi + 0xb8], 0
jle 0x48e6ad
mov dword [edi + 0x110], 1
inc dword [edi + 0x118]
mov word [edi + 0x11c], 0
mov eax, dword [edi + 0xf0]
test eax, eax
je 0x48e6cd
mov dword [eax + 0xc], 7
test byte [edx + 5], 8
jne 0x48e709
mov edi, dword [edx + 0x14]
mov ebx, dword [ebp + 0x10]
test edi, edi
je 0x48ecc6
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x1f], 0xff
call fcn.0048ce50
cmp al, 0x40
mov byte [esp + 0x1f], al
jg 0x48e83d
mov eax, dword [esp + 0x28]
mov byte [esp + 0x1f], 0x41
jmp 0x48e84a
mov edi, dword [edx + 0x14]
test esi, esi
mov eax, str.CORRELATED
mov ecx, 0x50ce6c
cmove ecx, eax
mov esi, dword [edi + 0x1c]
push dword [edi + 0x10]
push ecx
push str._sLIST_SUBQUERY__d
push 1
push dword [esp + 0x1c]
call fcn.0048df30
add esp, 0x14
cmp dword [esi], ebx
mov dword [esp + 0x3c], esi
jne 0x48e9c3
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
pcmpeqd xmm0, xmm0
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x60], 0xffffffff
movdqa xmmword [esp + 0x50], xmm0
mov byte [esp + 0x50], 0xb
mov ecx, esi
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
call fcn.0048e1e0
mov dword [esp + 0x60], eax
lea eax, [esp + 0x50]
mov edx, edi
mov dword [edi + 8], 0
mov ecx, esi
push eax
call fcn.00475c40
add esp, 4
mov edx, dword [esp + 0x60]
mov edi, eax
test edx, edx
je 0x48e7b4
mov ecx, dword [esi]
call fcn.004352c0
test edi, edi
je 0x48e90a
mov edx, dword [esp + 0x28]
test edx, edx
je 0x48e7d0
dec dword [edx]
jne 0x48e7d0
mov ecx, dword [edx + 0xc]
call fcn.004352c0
mov ebx, dword [ebp + 0x10]
jmp 0x48ee04
test eax, 0x2000000
jne 0x48e8c1
mov edx, dword [esp + 0xc]
or eax, 0x2000000
mov dword [esi + 4], eax
mov eax, esi
mov esi, dword [edx + 0x2c]
inc esi
mov dword [edx + 0x2c], esi
mov dword [eax + 0x30], esi
mov edi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edi
jle 0x48eef8
lea eax, [edi + 1]
mov ebx, ecx
mov dword [ecx + 0x6c], eax
mov edx, dword [ecx + 0x68]
lea ecx, [edi + edi*4]
mov dword [edx + ecx*4], 0x45
mov dword [edx + ecx*4 + 4], 0
mov dword [edx + ecx*4 + 8], esi
mov dword [edx + ecx*4 + 0xc], 0
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x48ef0d
cmp al, 0x45
mov eax, dword [esp + 0x28]
jne 0x48e84a
mov byte [esp + 0x1f], 0x43
test eax, eax
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
je 0x48e867
mov edx, dword [eax + 0xc]
mov ecx, esi
call fcn.0046dea0
mov ecx, dword [esp + 0x28]
mov dword [ecx + 0x14], eax
mov al, byte [esi + 0x13]
test al, al
je 0x48e8ad
mov ecx, eax
mov edx, dword [esp + 0x10]
dec cl
mov byte [esi + 0x13], cl
movzx ecx, cl
mov ecx, dword [esi + ecx*4 + 0x94]
mov dword [esp + 0x18], ecx
je 0x48e9d3
add al, 0xfe
mov byte [esi + 0x13], al
movzx eax, al
mov eax, dword [esi + eax*4 + 0x94]
mov dword [esp + 0x20], eax
jmp 0x48e9de
mov ebx, dword [ebp + 0x10]
jmp 0x48ee30
mov eax, dword [esi + 0x2c]
mov edx, dword [esp + 0x10]
inc eax
mov dword [esi + 0x2c], eax
mov dword [esp + 0x18], eax
jmp 0x48e9d6
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x48ef63
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [eax + eax*4]
mov byte [edx + ecx*4], 0x11
mov dword [edx + ecx*4 + 0xd], 0
mov dword [edx + ecx*4 + 5], 0
mov dword [edx + ecx*4 + 1], 0
mov dword [edx + ecx*4 + 9], 0
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x48ef76
mov edi, dword [esp + 0x18]
test ebx, ebx
jle 0x48e9c3
lea eax, [edi + 0x14]
xor esi, esi
mov dword [esp + 0x20], eax
jmp 0x48e94b
mov ecx, dword [esp + 0xc]
call fcn.0046dea0
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov dword [ecx + esi + 0x14], eax
add esi, 4
dec ebx
je 0x48e9c3
movzx eax, byte [edi]
cmp al, 0xad
mov ecx, eax
jne 0x48e958
movzx ecx, byte [edi + 2]
mov edx, dword [esp + 0x20]
cmp cl, 0xae
je 0x48e96e
cmp cl, 0x88
mov edx, edi
jne 0x48e993
mov edx, dword [edi + 0x14]
add edx, 0x1c
mov ecx, dword [edx]
mov edx, edi
cmp dword [ecx], 2
jl 0x48e993
cmp al, 0x88
je 0x48e981
cmp byte [edi + 2], 0x88
jne 0x48e989
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 0x1c]
jmp 0x48e98f
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov edx, dword [eax + esi*4 + 4]
test byte [edx + 5], 1
jne 0x48e930
mov eax, dword [esp + 0x3c]
mov edi, dword [eax + esi*4 + 4]
test edi, edi
je 0x48e9ab
test byte [edi + 5], 1
jne 0x48e9b8
mov ecx, dword [esp + 0xc]
call fcn.0046dea0
test eax, eax
jne 0x48e939
mov ecx, dword [esp + 0xc]
mov edx, edi
jmp 0x48e934
mov ebx, dword [ebp + 0x10]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x34]
jmp 0x48ecca
mov eax, dword [esi + 0x2c]
inc eax
mov dword [esp + 0x20], eax
mov dword [esi + 0x2c], eax
mov eax, dword [edi]
mov esi, dword [esp + 0x34]
test eax, eax
jle 0x48ec71
add edi, 4
inc eax
jmp 0x48ea15
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x3c]
dec eax
add edi, 0x10
cmp eax, 1
jle 0x48ec71
mov ebx, dword [edi]
test esi, esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x44], eax
je 0x48eab4
pcmpeqd xmm0, xmm0
test ebx, ebx
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x60], 0xffffffff
movdqa xmmword [esp + 0x50], xmm0
mov word [esp + 0x64], 1
mov dword [esp + 0x54], 0x48d010
mov dword [esp + 0x58], 0x48d190
mov dword [esp + 0x68], 0
je 0x48eab6
lea ecx, [esp + 0x50]
mov edx, ebx
call fcn.0048d1b0
cmp word [esp + 0x64], 0
jne 0x48eab6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
cmp byte [ecx + 0x51], 0
jne 0x48eaac
mov eax, dword [esp + 0x10]
lea esi, [esi + esi*4]
mov edi, dword [eax + 0x68]
movsx edx, byte [edi + esi*4 + 1]
push dword [edi + esi*4 + 0x10]
call fcn.00448c40
add esp, 4
mov dword [edi + esi*4 + 0x10], 0
mov word [edi + esi*4], 0xad
mov eax, dword [esp + 0x14]
and byte [eax + 7], 0xfd
xor esi, esi
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, ebx
push edi
call fcn.00486890
add esp, 4
cmp eax, edi
je 0x48eb40
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x48eb40
movzx edx, byte [ebx + 6]
mov ebx, dword [ecx + 0x6c]
and dl, 0x20
cmp dl, 1
mov edx, 0x4d
adc edx, 0
cmp dword [ecx + 0x70], ebx
jle 0x48eb2b
lea edi, [ebx + 1]
mov dword [ecx + 0x6c], edi
lea edi, [ebx + ebx*4]
mov ecx, dword [ecx + 0x68]
mov byte [ecx + edi*4], dl
mov edx, dword [esp + 0x18]
mov word [ecx + edi*4 + 2], 0
mov dword [ecx + edi*4 + 4], eax
mov dword [ecx + edi*4 + 8], edx
mov dword [ecx + edi*4 + 0xc], 0
mov dword [ecx + edi*4 + 0x10], 0
mov byte [ecx + edi*4 + 1], 0
jmp 0x48eb40
push 0
push dword [esp + 0x1c]
push eax
call fcn.0046c600
add esp, 0xc
nop word [eax + eax]
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x48eb90
lea edx, [eax + 1]
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x6c], edx
lea edx, [eax + eax*4]
mov ebx, dword [edi + 0x68]
mov dword [ebx + edx*4], 0x5b
mov dword [ebx + edx*4 + 4], ecx
mov ecx, dword [esp + 0x20]
mov dword [ebx + edx*4 + 8], 1
mov dword [ebx + edx*4 + 0xc], ecx
mov dword [ebx + edx*4 + 0x10], 0
jmp 0x48eba9
mov ecx, edi
mov edx, 0x5b
push dword [esp + 0x20]
push 1
push dword [esp + 0x20]
call fcn.0046c600
add esp, 0xc
mov ecx, dword [edi]
mov ebx, dword [ebp + 0x10]
cmp byte [ecx + 0x51], 0
jne 0x48ebe0
test eax, eax
jns 0x48ebbc
mov eax, dword [edi + 0x6c]
dec eax
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
shl edx, 2
add edx, dword [eax + 0x68]
push 1
lea eax, [esp + 0x23]
push eax
call fcn.0046c7f0
mov edi, dword [esp + 0x18]
add esp, 8
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x48ec30
lea edx, [eax + 1]
mov dword [esp + 0x34], esi
mov esi, ebx
mov ecx, dword [esp + 0x38]
mov dword [edi + 0x6c], edx
lea edx, [eax + eax*4]
mov ebx, dword [edi + 0x68]
mov dword [ebx + edx*4], 0x82
mov dword [ebx + edx*4 + 4], ecx
mov ecx, dword [esp + 0x20]
mov dword [ebx + edx*4 + 8], ecx
mov ecx, dword [esp + 0x18]
mov dword [ebx + edx*4 + 0xc], ecx
mov dword [ebx + edx*4 + 0x10], 0
mov ebx, esi
mov esi, dword [esp + 0x34]
jmp 0x48ec4b
mov ecx, edi
mov edx, 0x82
push dword [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x40]
call fcn.0046c600
add esp, 0xc
mov ecx, dword [edi]
mov edx, edi
cmp byte [ecx + 0x51], 0
jne 0x48ea00
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
mov dword [ecx + eax*4 + 0x10], 1
jmp 0x48ea00
cmp dword [esp + 0x18], 0
je 0x48ec9f
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x48ec9f
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x18]
mov ecx, eax
inc cl
mov byte [edx + 0x13], cl
mov dword [edx + eax*4 + 0x94], edi
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
test edi, edi
je 0x48ecca
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x48ecca
mov edx, dword [esp + 0xc]
mov ecx, eax
inc cl
mov byte [edx + 0x13], cl
mov dword [edx + eax*4 + 0x94], edi
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x28], 0
je 0x48ed39
mov eax, dword [edx]
cmp byte [eax + 0x51], 0
je 0x48ecf8
cmp dword [eax + 0x1f8], 0
jne 0x48ed39
mov eax, dword [esp + 0x28]
dec dword [eax]
jne 0x48ed39
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + 0xc]
call fcn.004352c0
jmp 0x48ed39
mov ecx, dword [esp + 0x40]
mov edi, esi
test ecx, ecx
jns 0x48ed06
mov ecx, dword [edx + 0x6c]
dec ecx
mov eax, dword [edx + 0x68]
lea esi, [ecx + ecx*4]
cmp byte [eax + esi*4 + 1], 0
je 0x48ed28
mov ecx, edx
lea edx, [eax + esi*4]
push 0xfffffffffffffff7
push dword [esp + 0x2c]
call fcn.0046c7f0
add esp, 8
jmp 0x48ed37
mov ecx, dword [esp + 0x28]
lea edx, [eax + esi*4 + 1]
mov dword [eax + esi*4 + 0x10], ecx
mov byte [edx], 0xf7
mov esi, edi
test esi, esi
je 0x48ee04
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edi, esi
mov esi, 0x51ea94
mov edx, dword [eax]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x6c]
cmp byte [edx + 0x51], 0
jne 0x48ed70
lea edx, [eax - 1]
test edi, edi
cmovns edx, edi
lea esi, [edx + edx*4]
shl esi, 2
add esi, dword [ecx + 0x68]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
mov edi, dword [ecx + 0x6c]
mov eax, dword [eax + 0x30]
cmp dword [ecx + 0x70], edi
jle 0x48edb5
lea edx, [edi + 1]
mov esi, ecx
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [edi + edi*4]
mov dword [edx + ecx*4], 0x41
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], 0
mov dword [edx + ecx*4 + 0xc], 0
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x48edc9
mov esi, ecx
mov edx, 0x41
push 0
push 0
push eax
call fcn.0046c600
add esp, 0xc
mov eax, dword [esi + 0x6c]
mov edx, dword [esi]
mov ecx, 0x51ea94
dec eax
cmp byte [edx + 0x51], 0
jne 0x48edf2
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x2c]
test ecx, ecx
lea ecx, [ecx - 1]
cmovle ecx, eax
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [esi + 0x68]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0xc]
mov byte [ecx + 0x13], 0
mov dword [ecx + 0x1c], 0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x48ee1d
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
push eax
call fcn.0048f800
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov esi, 2
mov dword [eax + 0x84], ecx
mov eax, dword [ebp + 0x14]
test ebx, ebx
je 0x48eee8
lea ecx, [esi - 3]
cmp ecx, 2
jb 0x48eee8
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xc]
mov bl, byte [edx]
cmp bl, 0xad
jne 0x48ee58
mov bl, byte [edx + 2]
cmp bl, 0x88
je 0x48ee6f
cmp bl, 0xae
mov ebx, dword [ebp + 0x10]
mov ecx, 1
jne 0x48ee80
add edx, 0x14
jmp 0x48ee78
mov edx, dword [edx + 0x14]
mov ebx, dword [ebp + 0x10]
add edx, 0x1c
mov ecx, dword [edx]
mov ecx, dword [ecx]
test ecx, ecx
jle 0x48eee8
xor edx, edx
cmp ecx, 8
jb 0x48eee0
movdqa xmm0, xmmword [0x50bd40]
movdqa xmm1, xmmword [0x50bd50]
movdqa xmm2, xmmword [str._b_b_b_b]
mov edx, ecx
lea edi, [ebx + 0x10]
and edx, 0xfffffff8
mov ebx, edx
nop dword [eax]
movdqa xmm3, xmm0
movdqu xmmword [edi - 0x10], xmm0
paddd xmm0, xmm2
paddd xmm3, xmm1
movdqu xmmword [edi], xmm3
add edi, 0x20
add ebx, 0xfffffff8
jne 0x48eeb0
mov ebx, dword [ebp + 0x10]
cmp ecx, edx
je 0x48eee8
nop word cs:[eax + eax]
nop
mov dword [ebx + edx*4], edx
inc edx
cmp ecx, edx
jne 0x48eee0
mov ecx, dword [esp + 0x38]
mov dword [eax], ecx
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, ecx
mov edx, 0x45
push 0
push esi
push 0
call fcn.0046c600
add esp, 0xc
inc eax
mov esi, dword [esp + 0x14]
mov ecx, ebx
mov dword [esi + 0x2c], eax
mov edx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], edx
jle 0x48efe0
lea eax, [edx + 1]
mov dword [esp + 0x34], edx
lea edx, [edx + edx*4]
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x68]
mov byte [eax + edx*4], 0x11
mov dword [eax + edx*4 + 0xd], 0
mov dword [eax + edx*4 + 5], 0
mov dword [eax + edx*4 + 1], 0
mov dword [eax + edx*4 + 9], 0
mov dword [eax + edx*4 + 0x10], 0
jmp 0x48e5a1
mov edx, 0x11
push 0
push 0
push 0
call fcn.0046c600
add esp, 0xc
test byte [esi + 5], 8
mov dword [esp + 0x20], eax
je 0x48ef99
mov eax, dword [esi + 0x14]
push dword [eax + 0x10]
push str.REUSE_LIST_SUBQUERY__d
push 0
push dword [esp + 0x18]
call fcn.0048df30
add esp, 0x10
mov eax, dword [esi + 0x2c]
mov edi, dword [esp + 0x10]
mov esi, dword [esi + 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x48f000
lea edx, [eax + 1]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
mov dword [edx + ecx*4], 0xc
mov dword [edx + ecx*4 + 4], esi
mov dword [edx + ecx*4 + 8], eax
mov dword [edx + ecx*4 + 0xc], 0
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x48f016
mov edx, 0x11
push 0
push 0
push 0
call fcn.0046c600
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x34], eax
jmp 0x48e5a1
mov ecx, edi
mov edx, 0xc
push 0
push dword [esp + 0x1c]
push esi
call fcn.0046c600
add esp, 0xc
mov eax, dword [esp + 0x14]
mov esi, dword [edi + 0x6c]
mov eax, dword [eax + 0x1c]
cmp dword [edi + 0x70], esi
jle 0x48f056
lea edx, [esi + 1]
lea ecx, [esi + esi*4]
mov esi, dword [esp + 0x38]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
mov dword [edx + ecx*4], 0x62
mov dword [edx + ecx*4 + 4], esi
mov dword [edx + ecx*4 + 8], eax
mov dword [edx + ecx*4 + 0xc], 0
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x48f06c
mov ecx, edi
mov edx, 0x62
push 0
push eax
push dword [esp + 0x40]
call fcn.0046c600
add esp, 0xc
mov edx, dword [edi]
mov eax, dword [edi + 0x6c]
mov ecx, 0x51ea94
cmp byte [edx + 0x51], 0
jne 0x48f091
mov edx, dword [esp + 0x20]
lea ecx, [eax - 1]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 8], eax
jmp 0x48ee04
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x28], ecx
mov ecx, dword [ecx]
test ecx, ecx
mov dword [esp + 0x10], ecx
jle 0x48f0ce
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
add ecx, 4
mov esi, dword [ecx]
cmp byte [esi], 0xa4
jne 0x48e49f
add ecx, 0x10
dec edx
jne 0x48f0b5
test eax, eax
je 0x48e49f
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x48f0f4
mov esi, dword [esp + 0xc]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x10]
mov ecx, 0xffffffff
add edx, 0xc
inc ecx
cmp dword [edx], eax
lea edx, [edx + 0x10]
jne 0x48f0ea
jmp 0x48f0fd
mov esi, dword [esp + 0xc]
mov ecx, 0xfff0bdc0
movsx eax, cx
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x74]
test eax, eax
cmove eax, esi
mov esi, 1
mov edx, dword [eax + 0x54]
shl esi, cl
bt edx, ecx
jb 0x48f132
shl ecx, 0x10
or esi, edx
cmp ecx, 0x10000
mov dword [eax + 0x54], esi
jne 0x48f132
mov ecx, eax
call fcn.00439a80
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x48]
push dword [eax]
push 0
push dword [eax + 0x1c]
call fcn.004863b0
add esp, 0xc
cmp dword [esp + 0x10], 1
jne 0x48f166
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
cmp word [eax + 0x20], 0
js 0x48f4f7
cmp dword [esp + 0x10], 0
mov esi, dword [esp + 0x14]
jle 0x48f28b
mov ecx, dword [esi + 0xc]
mov esi, 4
mov al, byte [ecx]
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x44], al
lea eax, [ecx + 0x14]
mov ecx, 1
mov dword [esp + 0x34], eax
mov eax, 1
mov dword [esp + 0x18], eax
movzx eax, byte [esp + 0x44]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x20], ecx
cmp al, 0xad
jne 0x48f1b1
movzx eax, byte [edx + 2]
mov ecx, dword [esp + 0x34]
cmp al, 0xae
je 0x48f1c5
cmp al, 0x88
mov ecx, edx
jne 0x48f1ec
mov ecx, dword [edx + 0x14]
add ecx, 0x1c
mov eax, dword [ecx]
mov ecx, edx
cmp dword [eax], 2
jl 0x48f1ec
cmp byte [esp + 0x44], 0x88
je 0x48f1db
cmp byte [edx + 2], 0x88
jne 0x48f1e3
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0x1c]
jmp 0x48f1e9
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov ecx, dword [eax + esi]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + esi]
movzx eax, word [eax + 0x20]
test ax, ax
js 0x48f211
mov edx, dword [esp + 0x30]
lea eax, [eax + eax*4]
mov edx, dword [edx + 4]
movzx eax, byte [edx + eax*4 + 0xd]
mov byte [esp + 0x3c], al
jmp 0x48f216
mov byte [esp + 0x3c], 0x44
call fcn.0048ce50
movzx edx, byte [esp + 0x3c]
cmp dl, 0x41
jl 0x48f242
cmp al, 0x41
jl 0x48f242
cmp al, 0x42
mov ecx, 0x43
setg al
add al, al
or al, 0x41
cmp dl, 0x42
movzx eax, al
cmovg eax, ecx
jmp 0x48f24f
cmp al, 0x41
movzx ecx, dl
movzx eax, al
cmovl eax, ecx
or al, 0x40
movsx eax, al
xor ecx, ecx
add eax, 0xffffffbf
cmp dl, 0x42
setg cl
cmp eax, 2
mov eax, dword [esp + 0x20]
cmovae eax, ecx
mov ecx, eax
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x10]
jge 0x48f27f
add esi, 0x10
inc eax
test ecx, ecx
jne 0x48f198
mov esi, dword [esp + 0x14]
test ecx, ecx
je 0x48e49f
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 8]
test edx, edx
je 0x48e49f
mov ecx, dword [esp + 0x10]
mov eax, 0xffffffff
shl eax, cl
test cl, 0x20
mov dword [esp + 0x74], eax
mov ecx, eax
mov eax, 0
cmovne ecx, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x78], ecx
mov ecx, 0xffffffff
not dword [esp + 0x78]
cmove eax, ecx
not eax
mov dword [esp + 0x74], eax
jmp 0x48f2fd
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
xor ecx, dword [esp + 0x74]
xor eax, dword [esp + 0x78]
or eax, ecx
je 0x48f5c2
mov edx, dword [edx + 0x14]
test edx, edx
je 0x48e49f
movzx eax, word [edx + 0x34]
cmp dword [esp + 0x10], eax
jg 0x48f2f2
cmp ax, 0x3e
ja 0x48f2f2
cmp dword [edx + 0x24], 0
jne 0x48f2f2
mov ecx, dword [ebp + 8]
test cl, 4
je 0x48f331
movzx ecx, word [edx + 0x32]
cmp dword [esp + 0x10], ecx
jl 0x48f2f2
cmp dword [esp + 0x10], eax
jge 0x48f331
cmp byte [edx + 0x36], 0
je 0x48f2f2
cmp dword [esp + 0x10], 0
mov dword [esp + 0x30], edx
jle 0x48f4e2
mov dword [esp + 0x40], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x2c], 0
jmp 0x48f371
inc ecx
or dword [esp + 0x40], edx
or dword [esp + 0x4c], eax
cmp ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], ecx
je 0x48f2d6
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0xad
mov ecx, eax
jne 0x48f37f
mov cl, byte [edx + 2]
cmp cl, 0x88
je 0x48f38e
cmp cl, 0xae
jne 0x48f3bb
lea ecx, [edx + 0x14]
jmp 0x48f394
mov ecx, dword [edx + 0x14]
add ecx, 0x1c
mov ecx, dword [ecx]
cmp dword [ecx], 2
jl 0x48f3bb
cmp al, 0x88
je 0x48f3a5
cmp byte [edx + 2], 0x88
jne 0x48f3ad
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0x1c]
jmp 0x48f3b0
mov eax, dword [edx + 0x14]
mov ecx, dword [esp + 0x2c]
shl ecx, 4
mov edx, dword [eax + ecx + 4]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
shl eax, 4
test byte [edx + 5], 1
mov esi, dword [ecx + eax + 4]
jne 0x48f3f3
test esi, esi
je 0x48f3da
test byte [esi + 5], 1
jne 0x48f3eb
mov ecx, dword [esp + 0xc]
call fcn.0046dea0
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x48f400
mov ecx, dword [esp + 0xc]
mov edx, esi
jmp 0x48f3f7
mov ecx, dword [esp + 0xc]
call fcn.0046dea0
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 4]
mov dword [esp + 0x44], eax
movzx eax, word [esi + 0x20]
mov word [esp + 0x34], ax
xor eax, eax
jmp 0x48f427
mov eax, dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0x10]
je 0x48f2d2
mov ecx, dword [esp + 0x44]
movzx edx, word [esp + 0x34]
mov dword [esp + 0x20], eax
cmp word [ecx + eax*2], dx
jne 0x48f418
cmp dword [esp + 0x3c], 0
je 0x48f481
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
xor esi, esi
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + ecx*4]
jmp 0x48f46d
movzx edx, byte [edx + 0x50ce7b]
cmp dl, byte [ecx + 0x50ce7b]
jne 0x48f418
inc esi
mov ecx, dword [esp + 0x18]
movzx edx, byte [ecx + esi]
movzx ecx, byte [eax + esi]
cmp dl, cl
jne 0x48f45d
test dl, dl
jne 0x48f46c
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x10]
je 0x48f2d2
xor eax, eax
mov edx, 1
shld eax, edx, cl
mov edx, 1
shl edx, cl
test cl, 0x20
mov ecx, 0
cmovne eax, edx
cmovne edx, ecx
mov ecx, eax
mov esi, edx
and ecx, dword [esp + 0x4c]
and esi, dword [esp + 0x40]
or esi, ecx
jne 0x48f2d2
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
test ebx, ebx
je 0x48f35a
mov esi, dword [esp + 0x20]
mov dword [ebx + ecx*4], esi
mov esi, dword [esp + 0x14]
jmp 0x48f35a
mov dword [esp + 0x40], 0
mov dword [esp + 0x4c], 0
jmp 0x48f2d6
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 0x6c]
cmp dword [eax + 0x70], edi
jle 0x48f541
mov ecx, dword [esp + 0x24]
lea eax, [edi + 1]
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x68]
lea ecx, [edi + edi*4]
mov byte [eax + ecx*4], 0x11
mov dword [eax + ecx*4 + 0xd], 0
mov dword [eax + ecx*4 + 5], 0
mov dword [eax + ecx*4 + 1], 0
mov dword [eax + ecx*4 + 9], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48f55a
mov ecx, dword [esp + 0x24]
mov edx, 0x11
push 0
push 0
push 0
call fcn.0046c600
add esp, 0xc
mov edi, eax
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x38]
mov ecx, esi
push 0x60
mov ebx, dword [esp + 0x34]
push ebx
push dword [esp + 0x50]
call fcn.00486200
add esp, 0xc
push dword [ebx]
push str.USING_ROWID_SEARCH_ON_TABLE__s_FOR_IN_OPERATOR
push 0
push esi
call fcn.0048df30
add esp, 0x10
mov eax, dword [esp + 0x24]
mov ecx, 0x51ea94
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
cmp byte [edx + 0x51], 0
jne 0x48f5b2
lea ecx, [eax - 1]
test edi, edi
mov edx, dword [esp + 0x24]
cmovns ecx, edi
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edx + 0x68]
mov ebx, dword [ebp + 0x10]
mov dword [ecx + 8], eax
mov esi, 1
jmp 0x48ee30
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ebx
jle 0x48f60c
mov ecx, dword [esp + 0x24]
lea eax, [ebx + 1]
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x68]
lea ecx, [ebx + ebx*4]
mov byte [eax + ecx*4], 0x11
mov dword [eax + ecx*4 + 0xd], 0
mov dword [eax + ecx*4 + 5], 0
mov dword [eax + ecx*4 + 1], 0
mov dword [eax + ecx*4 + 9], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x48f625
mov ecx, dword [esp + 0x24]
mov edx, 0x11
push 0
push 0
push 0
call fcn.0046c600
add esp, 0xc
mov ebx, eax
mov esi, dword [esp + 0x30]
push dword [esi]
push str.USING_INDEX__s_FOR_IN_OPERATOR
push 0
push dword [esp + 0x18]
call fcn.0048df30
add esp, 0x10
mov edx, dword [esp + 0x24]
mov eax, dword [esi + 0x2c]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jle 0x48f682
mov esi, dword [esp + 0x24]
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
mov esi, dword [esp + 0x38]
mov dword [edx + ecx*4], 0x60
mov dword [edx + ecx*4 + 4], esi
mov esi, dword [esp + 0x48]
mov dword [edx + ecx*4 + 8], eax
mov dword [edx + ecx*4 + 0xc], esi
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x48f69c
mov ecx, dword [esp + 0x24]
mov edx, 0x60
push dword [esp + 0x48]
push eax
push dword [esp + 0x40]
call fcn.0046c600
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
mov esi, dword [ecx + 8]
call fcn.00486590
test eax, eax
je 0x48f6e3
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
je 0x48f6d1
cmp dword [ecx + 0x1f8], 0
jne 0x48f6e3
dec dword [eax]
jne 0x48f6e3
mov ecx, dword [eax + 0xc]
mov edx, eax
call fcn.004352c0
jmp 0x48f6e3
mov edx, dword [esi + 0x6c]
mov ecx, dword [esi + 0x68]
lea edx, [edx + edx*4]
mov byte [ecx + edx*4 - 0x13], 0xf7
mov dword [ecx + edx*4 - 4], eax
mov eax, dword [esp + 0x30]
test edi, edi
mov eax, dword [eax + 0x1c]
movzx esi, byte [eax]
je 0x48f716
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x2c]
inc eax
cmp dword [esp + 0x10], 1
mov dword [ecx + 0x2c], eax
mov dword [edi], eax
jne 0x48f716
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
push eax
call fcn.0048f800
add esp, 4
mov eax, dword [esp + 0x24]
mov ecx, 0x51ea94
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
cmp byte [edx + 0x51], 0
jne 0x48f73f
lea ecx, [eax - 1]
test ebx, ebx
mov edx, dword [esp + 0x24]
cmovns ecx, ebx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edx + 0x68]
mov ebx, dword [ebp + 0x10]
add esi, 3
mov dword [ecx + 8], eax
jmp 0x48ee30