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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x100
mov dword [esp + 0xc], edx
mov eax, dword [0x101d2014]
xor eax, ebp
mov dword [esp + 0xf8], eax
mov dword [esp + 4], ecx
mov edx, dword [ecx + 8]
mov eax, dword [ecx]
test edx, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], edx
jne 0x1005b41b
cmp dword [ecx + 0x74], 0
jne 0x1005b40e
mov eax, dword [esp + 0x44]
test byte [eax + 0x4c], 8
jne 0x1005b40e
mov eax, dword [esp + 4]
mov byte [eax + 0x17], 1
mov ecx, dword [esp + 4]
call fcn.1000f530
mov dword [esp + 0x20], eax
xor ebx, ebx
inc ebx
cmp dword [esp + 0xc], 0
je 0x1005bb30
mov eax, dword [esp + 0x44]
cmp byte [eax + 0x51], 0
jne 0x1005bb30
mov eax, dword [esp + 4]
cmp dword [eax + 0x24], 0
jne 0x1005bb30
mov eax, dword [eax]
cmp byte [eax + 0xa5], 0
jne 0x1005b46b
mov ecx, dword [esp + 4]
cmp byte [ecx + 0xcc], 0
jne 0x1005b46b
mov ecx, dword [eax + 0x148]
test ecx, ecx
jne 0x1005ee44
mov eax, dword [ebp + 8]
cmp byte [eax], 6
jbe 0x1005bcaa
mov esi, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov ecx, esi
push 0
call fcn.1007ebd0
add esp, 4
xor ebx, ebx
inc ebx
cmp dword [esi + 0x24], 0
jne 0x1005bb16
mov eax, dword [esp + 0x44]
cmp byte [eax + 0x51], 0
mov eax, dword [esp + 0xc]
jne 0x1005bb16
test byte [eax + 6], 0x80
jne 0x1005eb69
mov eax, dword [ebp + 8]
cmp byte [eax], 9
jne 0x1005b715
mov eax, dword [esp + 4]
cmp byte [eax + 0xcb], 0
jne 0x1005b715
mov eax, dword [esp + 4]
cmp byte [eax + 0x10], 0
jne 0x1005b715
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
mov eax, ecx
mov ecx, dword [ecx + 0x34]
test ecx, ecx
jne 0x1005b4f0
mov esi, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 4]
mov byte [eax + 0x10], 1
mov eax, dword [edx + 0x20]
mov edx, dword [esi]
mov dword [esp + 0x2c], eax
call fcn.1004ea10
cmp dword [esi], 0
mov dword [esp + 0x14], esi
jle 0x1005b697
mov eax, dword [esp + 0x14]
mov dword [esp + 8], 0
mov dword [esp + 0x1c], 0
lea ecx, [eax + 4]
mov eax, dword [ecx]
mov dword [esp + 0x24], ecx
mov ecx, dword [ecx + 4]
test ecx, ecx
mov dword [esp + 0x10], ecx
je 0x1005b631
mov ecx, dword [esp + 0x24]
test byte [ecx + 0xc], 3
jne 0x1005b631
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp byte [eax + 0x51], 0
jne 0x1005b60e
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x74]
mov eax, dword [esp + 8]
mov edi, dword [esi + eax + 0x20]
test edi, edi
je 0x1005eaf0
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x28], eax
push dword [esp + 0x10]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ebx, eax
and ebx, 0x7fffffff
cmp ebx, dword [esp + 0x28]
jg 0x1005eafd
mov edi, dword [esp + 8]
lea edx, [ebx + 1]
cmp ebx, 0x20
mov eax, 0x20
mov dword [esp + 0x28], edx
cmovb edx, eax
cmp dword [esi + edi + 0x18], edx
jge 0x1005e1db
lea ecx, [esi + edi]
push 0
call fcn.1002fa30
add esp, 4
test eax, eax
jne 0x1005b60e
mov edi, dword [esp + 8]
mov eax, dword [esi + edi + 0x10]
push dword [esp + 0x28]
push dword [esp + 0x14]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + edi + 0xc], ebx
mov word [esi + edi + 8], 0x202
mov byte [esi + edi + 0xa], 1
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
add dword [esp + 8], 0x28
inc edx
add ecx, 0x14
cmp edx, dword [eax]
mov dword [esp + 0x1c], edx
jl 0x1005b545
jmp 0x1005b697
test byte [esp + 0x2c], 0x44
je 0x1005bcec
cmp byte [eax], 0xa4
jne 0x1005bcec
movzx ecx, word [eax + 0x20]
mov eax, dword [eax + 0x2c]
test cx, cx
js 0x1005bcd5
mov edx, dword [eax + 4]
movzx ecx, cx
lea ecx, [ecx + ecx*4]
mov edx, dword [edx + ecx*4]
test byte [esp + 0x2c], 4
jne 0x1005ecb2
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp byte [eax + 0x51], 0
jne 0x1005b60e
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x74]
add ecx, dword [esp + 8]
xor eax, eax
dec eax
push eax
push 1
push eax
call fcn.1000ad80
add esp, 0xc
jmp 0x1005b60e
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x34]
mov edi, dword [eax + 8]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x9c], 0
mov eax, dword [eax]
test eax, eax
jle 0x1005b715
mov ecx, dword [esp + 0x14]
xor esi, esi
lea ebx, [ecx + 4]
mov ecx, dword [edi]
cmp byte [ecx + 0x51], 0
jne 0x1005b70d
mov edx, dword [ebx]
lea ecx, [esp + 0x90]
call fcn.10081420
movzx ecx, word [edi + 0x90]
mov edx, eax
add ecx, esi
lea ecx, [ecx + ecx*4]
shl ecx, 3
add ecx, dword [edi + 0x74]
xor eax, eax
dec eax
push eax
push 1
push eax
call fcn.1000ad80
add esp, 0xc
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
inc esi
add ebx, 0x14
cmp esi, eax
jl 0x1005b6ce
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + 0x44]
test esi, esi
jne 0x1005ec0a
xor eax, eax
mov esi, dword [ecx + 4]
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb4], eax
mov eax, dword [ecx + 0x30]
mov dword [esp + 0x90], eax
mov edi, dword [ecx + 0x34]
test edi, edi
jne 0x1005b7bd
shr esi, 3
xor ebx, ebx
mov dword [esp + 0x24], esi
mov eax, dword [edx]
cmp ebx, eax
jge 0x1005b8b4
lea ecx, [ebx + ebx*8]
mov edi, dword [edx + ecx*8 + 0x18]
mov esi, dword [edx + ecx*8 + 0x1c]
test byte [edx + ecx*8 + 0x2c], 8
jne 0x1005bfe4
test esi, esi
jne 0x1005be51
mov eax, ebx
mov ecx, dword [esp + 0xc]
inc eax
mov ebx, eax
mov edi, dword [ecx + 0x34]
test edi, edi
je 0x1005b785
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 8]
mov ecx, eax
mov eax, dword [eax + 0x18]
mov dword [esp + 0xd8], eax
movsd xmm0, qword [ecx + 0x10]
movsd qword [esp + 0xd0], xmm0
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [esp + 0xc8], xmm1
movsd qword [esp + 0xc0], xmm0
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x1005ef2a
cmp dword [edi + 0x3c], 0
jne 0x1005ef2a
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
test eax, eax
je 0x1005f3f5
mov cl, byte [esp + 0xc0]
mov dword [esp + 8], eax
cmp cl, 0xc
mov byte [esp + 0x14], cl
je 0x1005decd
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
bt eax, 0xa
jb 0x1005f411
bt eax, 0xd
jb 0x1005d407
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x30], 0
jne 0x1005df02
cmp dword [edi + 0x34], 0
jne 0x1005b88f
xor esi, esi
inc esi
push str.COMPOUND_QUERY
push esi
mov ebx, dword [esp + 0xc]
push ebx
call fcn.100777a0
add esp, 0xc
push str.LEFT_MOST_SUBQUERY
push esi
push ebx
call fcn.100777a0
add esp, 0xc
mov eax, dword [esp + 0xc]
mov al, byte [eax]
cmp al, 0x84
jne 0x1005c041
cmp byte [esp + 0x14], 1
jne 0x1005c7d2
mov ebx, dword [esp + 0xc4]
jmp 0x1005c828
cmp eax, 2
mov dword [esp + 8], edx
jge 0x1005bd5d
test eax, eax
jle 0x1005b8e8
lea edi, [edx + 0x40]
xor esi, esi
mov eax, dword [edi]
or eax, dword [edi + 4]
je 0x1005dab5
mov ebx, dword [edi - 0x24]
test ebx, ebx
jne 0x1005d861
inc esi
add edi, 0x48
cmp esi, dword [edx]
jl 0x1005b8ca
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x24]
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x1c]
mov dword [esp + 0x18], ecx
mov ecx, dword [edx + 0x28]
mov edx, dword [edx + 0x2c]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ecx
mov ch, al
and eax, 9
mov dword [esp + 0x28], edx
and ch, 1
cmp eax, 1
mov byte [esp + 0xc0], ch
je 0x1005c621
mov esi, dword [esp + 0x90]
test esi, esi
jne 0x1005bb48
xor edi, edi
dec edi
mov eax, dword [ebp + 8]
mov dword [esp + 0xa4], edi
cmp byte [eax], 0xc
je 0x1005ece4
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0xc]
mov ebx, dword [ecx + 0x38]
lea eax, [ebx - 1]
mov dword [ecx + 0x38], eax
test byte [esi + 5], 0x40
jne 0x1005b965
mov word [esi + 2], 0x140
mov ecx, dword [esp + 4]
mov edx, esi
push eax
call fcn.10083f80
add esp, 4
cmp dword [esi + 8], 0
jne 0x1005b989
mov eax, dword [esp + 0xa4]
test eax, eax
jns 0x1005bc81
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 8]
test byte [eax + 4], 1
jne 0x1005c66a
xor eax, eax
mov byte [esp + 0xc1], al
test byte [esp + 0x24], 1
mov eax, dword [esp + 0x14]
jne 0x1005cc84
test eax, eax
jne 0x1005cc84
xor eax, eax
cmp byte [esp + 0xc0], 0
mov edi, dword [esp + 0xc]
mov esi, 0x4000
setne al
mov ecx, dword [edi + 0x44]
and esi, dword [edi + 4]
shl eax, 8
or esi, eax
test ecx, ecx
mov dword [esp + 0x24], ecx
jne 0x1005ed16
movsx eax, word [edi + 2]
mov ecx, dword [esp + 4]
movzx esi, si
push eax
push esi
push dword [edi + 0x1c]
push dword [esp + 0x9c]
push dword [esp + 0x28]
call fcn.10084750
add esp, 0x14
test eax, eax
je 0x1005eb37
mov esi, eax
movzx eax, word [eax + 0x34]
cmp ax, word [edi + 2]
jge 0x1005ba23
mov word [edi + 2], ax
cmp byte [esp + 0xc0], 0
jne 0x1005c786
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x1005bc46
mov eax, dword [esp + 0xa4]
test eax, eax
js 0x1005ba88
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx]
cmp byte [ecx + 0x51], 0
jne 0x1005ba88
mov edx, dword [esp + 0x20]
mov dword [esp + 0x1c], ebx
lea edi, [eax + eax*4]
mov ebx, dword [edx + 0x68]
movsx edx, byte [ebx + edi*4 + 1]
push dword [ebx + edi*4 + 0x10]
call fcn.1002cc10
add esp, 4
mov dword [ebx + edi*4 + 0x10], 0
mov word [ebx + edi*4], 0xae
mov ebx, dword [esp + 0x1c]
cmp dword [esp + 0x24], 0
jne 0x1005ed2a
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
lea eax, [esp + 0xc0]
lea edi, [esp + 0x90]
push dword [esi + 0x20]
push dword [esi + 0x1c]
push dword [ebp + 8]
push eax
push edi
push 0xffffffffffffffff
call fcn.1008a990
add esp, 0x18
mov ecx, esi
call fcn.1008ba90
xor esi, esi
cmp byte [esp + 0xc1], 3
je 0x1005da98
cmp dword [esp + 0x90], 0
jne 0x1005ce8c
mov edx, dword [esp + 0x20]
neg ebx
mov ecx, dword [edx + 0xc]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1005ed08
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 4]
xor ebx, ebx
cmp dword [eax + 0x24], 0
setg bl
test esi, esi
jne 0x1005dc58
mov edx, dword [esp + 4]
xor ecx, ecx
mov eax, dword [edx + 0xd8]
test eax, eax
jne 0x1005eb3e
mov dword [edx + 0xd8], ecx
mov ecx, dword [esp + 0xf8]
xor ecx, ebp
call fcn.10192ef0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 4]
mov eax, dword [edi]
mov edi, dword [esi]
mov ecx, dword [ecx]
inc eax
mov edx, edi
push eax
call fcn.10070fd0
add esp, 4
test edi, edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x1c], eax
jle 0x1005bba4
test eax, eax
je 0x1005bba4
mov edi, dword [esp + 4]
add esi, 4
xor ebx, ebx
mov edx, dword [esi]
mov ecx, edi
call fcn.1004fb90
test eax, eax
jne 0x1005bb89
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x1c]
mov dword [ecx + ebx*4 + 0x14], eax
mov al, byte [esi + 8]
mov ecx, dword [ecx + 0x10]
add esi, 0x14
mov byte [ecx + ebx], al
inc ebx
cmp dword [esp + 0x2c], ebx
jne 0x1005bb77
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x20]
mov eax, dword [edx + 0x28]
lea ecx, [eax + 1]
mov dword [edx + 0x28], ecx
mov dword [esp + 0x98], eax
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x90]
mov edi, dword [ebx + 0x6c]
mov edx, dword [edx]
mov ecx, dword [ecx]
cmp dword [ebx + 0x70], edi
lea esi, [ecx + edx + 1]
jle 0x1005be37
lea ecx, [edi + 1]
lea edx, [edi + edi*4]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [ebx + 0x68]
mov dword [ecx + edx*4], 0x64
mov dword [ecx + edx*4 + 4], eax
xor eax, eax
mov dword [ecx + edx*4 + 8], esi
mov dword [ecx + edx*4 + 0xc], eax
mov dword [ecx + edx*4 + 0x10], eax
mov ecx, dword [ebx]
mov edx, dword [esp + 0x1c]
cmp byte [ecx + 0x51], 0
jne 0x1005ee8f
test edi, edi
mov ecx, edi
js 0x1005be2a
mov eax, dword [esp + 0x20]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + 0x68]
cmp byte [eax + ecx*4 + 1], 0
jne 0x1005bd44
test edx, edx
je 0x1005b935
lea eax, [eax + ecx*4 + 1]
mov dword [eax + 0xf], edx
mov byte [eax], 0xf7
jmp 0x1005b935
movsx ecx, byte [esi + 0x2d]
mov dword [esp + 0x94], ecx
test byte [esi + 0x30], 4
jne 0x1005eea4
mov edx, esi
add edx, 0x1c
mov edx, dword [edx]
mov dword [esp + 0xac], edx
cmp dword [eax], ecx
jne 0x1005ba88
mov dword [esp + 0x90], 0
jmp 0x1005ba40
mov edx, dword [esp + 0x20]
mov ecx, dword [edx]
cmp byte [ecx + 0x51], 0
jne 0x1005eeed
lea eax, [eax + eax*4]
shl eax, 2
add eax, dword [edx + 0x68]
mov byte [eax], 0x6f
or byte [esp + 0xb0], 1
jmp 0x1005b989
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x30]
test edx, edx
jne 0x1005ef1c
mov dword [esi + 0x30], 0
mov eax, 0xffbffffe
and eax, dword [esi + 4]
or eax, 0x400000
mov dword [esi + 4], eax
jmp 0x1005b477
movzx ecx, word [eax + 0x28]
test cx, cx
jns 0x1005b655
mov edx, 0x101b2afb
jmp 0x1005b661
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x40]
test eax, eax
je 0x1005f27e
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
movzx ecx, word [esi + 0x114]
mov edi, eax
inc edi
cmp edi, ecx
ja 0x1005c5b9
cmp edi, 0x80
ja 0x1005c7ab
mov ebx, dword [esi + 0x138]
test ebx, ebx
je 0x1005c79d
mov eax, dword [ebx]
mov dword [esi + 0x138], eax
inc dword [esi + 0x120]
jmp 0x1005c5e0
mov esi, edx
lea edx, [eax + ecx*4]
mov ecx, dword [esp + 0x20]
push 0xfffffffffffffff7
push esi
call fcn.1004e710
add esp, 8
jmp 0x1005b935
mov eax, dword [esp + 0x44]
cmp word [eax + 0x4c], 0
js 0x1005b8c5
mov eax, dword [esp + 4]
xor esi, esi
lea edi, [esp + 0x70]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe0], esi
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe8], esi
mov ebx, edx
lea ecx, [esp + 0xdc]
mov edx, dword [eax + 0x24]
call fcn.1008df20
cmp dword [esp + 0xe0], esi
je 0x1005be13
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0xdc]
mov dword [esp + 0x84], esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0x1008e050
mov dword [esp + 0x78], sym.nss3.dll_PR_DuplicateEnvironment
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x88], edx
mov edx, dword [ecx + 0x24]
test edx, edx
je 0x1005bdfa
mov ecx, edi
call fcn.10076970
mov edx, dword [esp + 0xe8]
test edx, edx
je 0x1005be13
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax]
call fcn.10019c40
cmp dword [esp + 0xe4], 0
mov edx, ebx
jne 0x1005bd7d
mov eax, dword [edx]
jmp 0x1005b8c1
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x6c]
dec ecx
jmp 0x1005bc1a
mov ecx, ebx
mov edx, 0x64
push 0
push esi
push eax
call fcn.1004e590
add esp, 0xc
mov edi, eax
jmp 0x1005bc00
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 0x1c]
movsx eax, word [edi + 0x2a]
mov ecx, dword [ecx]
cmp ecx, eax
jne 0x1005eb22
test byte [esi + 4], 8
jne 0x1005b7ad
test ebx, ebx
jne 0x1005be7e
cmp dword [esi + 0x30], 0
jne 0x1005f851
mov eax, dword [esp + 4]
mov eax, dword [eax]
test byte [eax + 0x4c], 1
mov dword [esp + 0x28], eax
jne 0x1005f33b
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x44], 0
jne 0x1005f33b
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x20]
mov eax, dword [esp + 0x18]
mov esi, dword [edi + eax*8 + 0x1c]
cmp dword [esi + 0x44], 0
jne 0x1005f33b
mov eax, dword [esp + 4]
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x20]
mov eax, dword [eax + 0xf4]
test edx, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov eax, dword [edi + eax*8 + 0x34]
mov dword [esp + 0x48], eax
jne 0x1005f49b
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx]
test eax, eax
mov dword [esp + 0x34], eax
je 0x1005f33b
mov eax, dword [esi + 4]
test al, 1
mov dword [esp + 0x14], eax
jne 0x1005f33b
test edx, edx
jne 0x1005f4cd
mov dword [esp + 8], esi
mov esi, dword [esp + 0xc]
mov eax, edi
mov edi, ecx
mov ecx, dword [esi + 0x30]
mov esi, dword [esp + 8]
mov dword [esp + 0x1c], ecx
test ecx, ecx
mov ecx, edi
mov edi, eax
jne 0x1005f4e6
test byte [esp + 0x24], 1
jne 0x1005f4f5
test edx, edx
jne 0x1005f504
bt dword [esp + 0x14], 0xd
jb 0x1005f33b
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
test byte [edi + eax*8 + 0x2c], 0x20
jne 0x1005f562
cmp dword [esi + 0x34], 0
je 0x1005c129
test byte [esp + 0x2c], 1
jne 0x1005f33b
mov eax, dword [esp + 0x24]
and eax, 1
jne 0x1005f33b
cmp dword [esi + 0x30], 0
jne 0x1005f33b
cmp dword [edi], 1
jne 0x1005f33b
mov eax, esi
test eax, eax
je 0x1005c11e
test byte [eax + 4], 9
jne 0x1005f33b
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x1005bfcb
cmp byte [eax], 0x85
jne 0x1005f33b
mov edx, dword [eax + 0x20]
cmp dword [edx], 0
jle 0x1005f33b
cmp dword [eax + 0x44], 0
mov eax, ecx
je 0x1005bfa9
jmp 0x1005f33b
mov dword [esp + 8], edx
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 8]
mov edx, dword [eax + ecx*8 + 0x34]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x24]
call fcn.100774d0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 8]
test eax, eax
je 0x1005b7a5
mov eax, dword [esp + 0x44]
test byte [eax + 0x4d], 0x20
jne 0x1005b7a5
lea eax, [edx + ecx*8 + 0x2c]
and byte [eax], 0xd7
mov ecx, dword [esp + 0xc]
mov edx, dword [eax + 8]
mov ecx, dword [ecx + 0x24]
call fcn.10083c40
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 8]
jmp 0x1005b7a5
cmp al, 0x85
jne 0x1005f59d
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, edi
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x3c]
mov dword [edi + 0x3c], eax
lea eax, [esp + 0xc0]
push eax
call fcn.1005b3c0
add esp, 4
test eax, eax
mov dword [esi + 0x3c], 0
jne 0x1005f469
mov dword [esi + 0x34], 0
mov dword [esp + 0x14], 0
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
test eax, eax
mov ecx, dword [edi + 0xc]
mov dword [esi + 0xc], ecx
jne 0x1005f622
push str.UNION_ALL
push 1
mov ebx, dword [esp + 0xc]
push ebx
call fcn.100777a0
add esp, 0xc
mov ecx, ebx
mov edx, esi
lea eax, [esp + 0xc0]
push eax
call fcn.1005b3c0
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x34]
mov dword [esi + 0x34], edi
movzx ecx, word [esi + 2]
mov dword [esp + 0x18], eax
movzx eax, word [edi + 2]
mov esi, eax
movsx eax, cx
movsx edx, si
cmp ax, dx
jl 0x1005ca8d
lea esi, [edx + 0x31]
cmp esi, eax
jl 0x1005ca9a
lea esi, [edx + 0x1f]
cmp esi, eax
jl 0x1005e845
mov ecx, eax
sub ecx, edx
movzx ecx, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add eax, ecx
mov ecx, eax
jmp 0x1005ca9a
cmp dword [esp + 0x1c], 0
jne 0x1005f6f6
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], edi
mov esi, dword [edi + eax*8 + 0x10]
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x28]
mov dword [edi + 0xf4], esi
cmp byte [eax + 0xa5], 0
jne 0x1005c163
cmp byte [edi + 0xcc], 0
jne 0x1005c163
mov ecx, dword [eax + 0x148]
test ecx, ecx
jne 0x1005f89c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov dword [edi + 0xf4], eax
mov edi, dword [ecx + 0x34]
test edi, edi
je 0x1005c20a
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x34]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], edx
mov eax, dword [esi + 0x30]
mov edx, esi
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x3c], eax
push eax
call fcn.10079220
add esp, 4
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
test eax, eax
mov dword [esi + 0x3c], ecx
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x20], edx
mov byte [esi], 0x85
je 0x1005f724
mov ecx, dword [esp + 8]
test ecx, ecx
mov dword [eax + 0x34], ecx
jne 0x1005f731
mov ecx, dword [esp + 0xc]
mov edx, eax
mov dword [eax + 0x38], ecx
mov eax, dword [esp + 0x28]
mov dword [ecx + 0x34], edx
cmp byte [eax + 0x51], 0
jne 0x1005f328
mov edi, dword [edi + 0x34]
test edi, edi
jne 0x1005c183
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
lea esi, [edi + ecx*8 + 0x1c]
mov edx, dword [esi - 0x10]
mov eax, dword [esi]
test edx, edx
mov dword [esp + 0x50], eax
jne 0x1005f739
mov edx, dword [esi - 0xc]
mov dword [esp + 8], esi
test edx, edx
jne 0x1005f74b
mov esi, edi
lea edi, [edi + ecx*8 + 0xc]
mov edx, dword [edi + 8]
test edx, edx
jne 0x1005f75d
mov edx, dword [esp + 8]
xor eax, eax
mov dword [edi], eax
mov dword [edx - 0xc], eax
mov dword [edi + 8], eax
mov dword [edx], eax
mov edi, esi
mov eax, dword [esi + ecx*8 + 0x18]
test eax, eax
je 0x1005c296
mov edx, dword [eax + 0x20]
lea ecx, [edi + ecx*8 + 0x18]
cmp edx, 1
jne 0x1005f76f
mov esi, dword [esp + 4]
mov edx, dword [esi + 0x74]
test edx, edx
cmove edx, esi
mov esi, dword [edx + 0x104]
mov dword [eax + 0x4c], esi
mov dword [edx + 0x104], eax
mov dword [ecx], 0
mov ecx, dword [esp + 0x18]
lea eax, [edi + ecx*8 + 0x2c]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x50]
xor esi, esi
mov dword [esp + 0x4c], eax
lea eax, [ebx + 1]
dec esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x2c], esi
mov eax, dword [ecx + 0x20]
mov esi, dword [edx + 0x20]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov edi, dword [eax]
test esi, esi
mov dword [esp + 0x40], eax
mov dword [esp + 8], esi
mov dword [esp + 0x1c], edi
jne 0x1005c34b
mov eax, dword [esp + 4]
mov ecx, dword [eax]
cmp word [ecx + 0x114], 0x4f
jbe 0x1005c556
mov esi, dword [ecx + 0x138]
test esi, esi
je 0x1005c587
mov eax, dword [esi]
mov dword [ecx + 0x138], eax
inc dword [ecx + 0x120]
test esi, esi
je 0x1005f2c3
xor eax, eax
lea edi, [esi + 8]
mov ecx, 0x12
inc eax
mov dword [esi + 4], eax
mov dword [esi], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, 0
mov dword [esi + 0x34], 0xffffffff
mov dword [esp + 0x30], 0
mov dword [esp + 8], esi
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], eax
mov dword [edx + 0x20], esi
jmp 0x1005c355
mov eax, dword [esp + 0x4c]
mov al, byte [eax]
mov dword [esp + 0x30], eax
cmp edi, 2
jge 0x1005f299
mov eax, dword [esp + 0x18]
cmp edi, 1
je 0x1005c37a
mov esi, dword [esp + 8]
mov edi, edx
mov dword [esp + 0x34], 0
jmp 0x1005c439
mov esi, dword [esp + 8]
xor ecx, ecx
mov dword [esp + 8], esi
lea eax, [ecx + ebx]
mov dword [esp + 0x34], ecx
lea eax, [eax + eax*8]
lea edi, [esi + eax*8 + 8]
mov eax, dword [edi + 0x34]
test eax, eax
jne 0x1005c3d3
lea eax, [ecx + ecx*8]
mov ecx, dword [esp + 0x40]
lea edx, [ecx + eax*8 + 8]
mov ecx, 0x12
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov edi, edx
mov ecx, 0x12
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x2c], eax
mov eax, 0
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 8]
inc ecx
cmp ecx, dword [esp + 0x1c]
jne 0x1005c384
jmp 0x1005c427
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [esp + 0x2c], edi
mov edi, eax
test ecx, ecx
jle 0x1005c402
xor esi, esi
mov eax, dword [edx + esi*8]
test eax, eax
je 0x1005c3fd
mov ecx, dword [esp + 0x28]
mov edx, eax
call fcn.10019c40
mov edx, dword [edi]
mov ecx, dword [edi + 4]
mov eax, edi
inc esi
cmp esi, ecx
jl 0x1005c3e4
mov esi, dword [esp + 0x28]
test edx, edx
je 0x1005c411
mov ecx, esi
call fcn.10019c40
mov ecx, esi
mov edx, edi
call fcn.10019c40
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x2c]
jmp 0x1005c399
mov al, 1
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov dword [esp + 8], esi
mov byte [esi + eax*8 + 0x2c], dl
mov eax, dword [ecx + 0x30]
test eax, eax
jne 0x1005f36b
mov esi, dword [ecx + 0x24]
cmp byte [esp + 0x3c], 0
mov dword [ecx + 0x24], 0
jne 0x1005f3a2
mov eax, dword [esp + 0x28]
test esi, esi
mov edx, edi
jne 0x1005f3b6
cmp byte [eax + 0x51], 0
mov edi, dword [esp + 0x10]
jne 0x1005c4bd
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x70]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x80], eax
push 0
call fcn.1008d2d0
mov edx, dword [esp + 0x18]
add esp, 4
mov eax, dword [edi + 4]
mov ecx, 0x100
and eax, ecx
or dword [edx + 4], eax
mov eax, dword [edi + 0x3c]
test eax, eax
jne 0x1005f3e2
cmp byte [esp + 0x34], 0
mov ecx, dword [esp + 8]
je 0x1005c53f
mov eax, dword [esp + 0x18]
lea edi, [ecx + eax*8 + 0x40]
cmp dword [edi - 0x28], 0
je 0x1005c536
mov edx, dword [esp + 0x14]
xor ecx, ecx
xorps xmm0, xmm0
lea eax, [edi - 0x38]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x74], 0x1008d7b0
mov dword [esp + 0x78], sym.nss3.dll_PR_DuplicateEnvironment
mov dword [esp + 0x88], eax
mov dword [edi + 4], ecx
mov dword [edi], ecx
lea ecx, [esp + 0x70]
call fcn.10076a70
mov edx, dword [esp + 0x14]
add edi, 0x48
dec dword [esp + 0x1c]
jne 0x1005c4e8
mov ecx, dword [esp + 0x10]
mov edx, dword [edx + 0x34]
mov ecx, dword [ecx + 0x34]
test edx, edx
jne 0x1005c2b4
jmp 0x1005f2c3
cmp dword [ecx + 0x110], 0
je 0x1005eacd
cmp byte [ecx + 0x51], 0
jne 0x1005f2c3
mov edx, 0x50
push 0
call fcn.1001a100
mov edx, dword [esp + 0x18]
add esp, 4
mov esi, eax
jmp 0x1005c304
mov esi, dword [ecx + 0x134]
test esi, esi
jne 0x1005e1af
mov esi, dword [ecx + 0x130]
test esi, esi
jne 0x1005e228
mov esi, dword [ecx + 0x12c]
test esi, esi
jne 0x1005eac0
inc dword [ecx + 0x128]
jmp 0x1005c56d
cmp dword [esi + 0x110], 0
je 0x1005e9f2
cmp byte [esi + 0x51], 0
jne 0x1005ef86
mov ecx, esi
mov edx, edi
push 0
call fcn.1001a100
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x1005ef86
push edi
push dword [esp + 0x14]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp byte [eax + 0x51], 0
jne 0x1005b60e
mov eax, dword [esp + 0x18]
mov edx, ebx
mov ecx, dword [eax + 0x74]
add ecx, dword [esp + 8]
push 0x1000b5f0
push 1
push 0xffffffffffffffff
jmp 0x1005b68a
mov esi, dword [esp + 0x90]
or edi, esi
jne 0x1005ea62
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
cmp dword [eax + 0x44], 0
jne 0x1005b923
mov esi, dword [esp + 0xc]
mov edx, edi
and byte [esi + 4], 0xfe
mov ecx, dword [esp + 0x44]
push 0
call fcn.100795e0
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esi + 0x28], eax
or byte [esi + 4], 8
jmp 0x1005b923
mov edx, dword [esp + 4]
mov dword [esp + 0x1c], ebx
mov eax, dword [edx + 0x28]
lea ecx, [eax + 1]
mov dword [edx + 0x28], ecx
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [edx]
mov esi, dword [eax + 0x1c]
mov edi, dword [esi]
mov edx, edi
push 1
call fcn.10070fd0
add esp, 4
test edi, edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x2c], eax
jle 0x1005c6df
test eax, eax
je 0x1005c6df
mov edi, dword [esp + 4]
add esi, 4
xor ebx, ebx
mov edx, dword [esi]
mov ecx, edi
call fcn.1004fb90
test eax, eax
jne 0x1005c6c4
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x2c]
mov dword [ecx + ebx*4 + 0x14], eax
mov al, byte [esi + 8]
mov ecx, dword [ecx + 0x10]
add esi, 0x14
mov byte [ecx + ebx], al
inc ebx
cmp dword [esp + 0x34], ebx
jne 0x1005c6b2
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0xc4]
mov edi, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], edi
jle 0x1005e1ee
lea ecx, [edi + 1]
lea edx, [edi + edi*4]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [ebx + 0x68]
mov dword [ecx + edx*4], 0x64
mov dword [ecx + edx*4 + 4], eax
xor eax, eax
mov dword [ecx + edx*4 + 8], eax
mov dword [ecx + edx*4 + 0xc], eax
mov dword [ecx + edx*4 + 0x10], eax
mov ecx, dword [ebx]
cmp byte [ecx + 0x51], 0
jne 0x1005f793
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
test edi, edi
mov ecx, edi
js 0x1005dd4c
mov eax, dword [esp + 0x20]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + 0x68]
cmp byte [eax + ecx*4 + 1], 0
jne 0x1005dcc9
test edx, edx
je 0x1005c75c
lea eax, [eax + ecx*4 + 1]
mov dword [eax + 0xf], edx
mov byte [eax], 0xf7
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc8], edi
mov al, 3
mov ecx, dword [edx + 0x6c]
test ecx, ecx
jle 0x1005c77d
mov edx, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
mov word [edx + ecx*4 - 0x12], 8
mov edx, dword [esp + 8]
jmp 0x1005b99d
mov al, byte [esi + 0x2f]
test al, al
je 0x1005ba31
mov byte [esp + 0xc1], al
jmp 0x1005ba31
mov ebx, dword [esi + 0x134]
test ebx, ebx
jne 0x1005dce2
mov ebx, dword [esi + 0x130]
test ebx, ebx
jne 0x1005da8b
mov ebx, dword [esi + 0x12c]
test ebx, ebx
jne 0x1005e86a
inc dword [esi + 0x128]
jmp 0x1005c5d0
mov ecx, dword [esp + 4]
mov ebx, dword [ecx + 0x28]
lea eax, [ebx + 1]
mov dword [ecx + 0x28], eax
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x1005e23b
lea edx, [eax + 1]
xor esi, esi
mov dword [ecx + 0x6c], edx
lea edx, [eax + eax*4]
mov ecx, dword [ecx + 0x68]
mov dword [ecx + edx*4], 0x64
mov dword [ecx + edx*4 + 4], ebx
mov dword [ecx + edx*4 + 8], esi
mov dword [ecx + edx*4 + 0xc], esi
mov dword [ecx + edx*4 + 0x10], esi
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x14], eax
mov eax, ecx
mov ecx, dword [ecx + 0x38]
test ecx, ecx
jne 0x1005c81b
or byte [eax + 4], 0x20
mov ecx, dword [esp + 4]
lea esi, [esp + 0x70]
xor eax, eax
mov dword [esp + 0x10], ebx
mov edx, edi
mov byte [esi], 1
mov dword [esi + 4], ebx
mov dword [esi + 0xc], eax
mov dword [esi + 8], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], eax
push esi
call fcn.1005b3c0
add esp, 4
test eax, eax
jne 0x1005f469
mov esi, dword [esp + 0xc]
mov al, byte [esi]
cmp al, 0x86
sete cl
xor edx, edx
add al, 0x7b
mov dword [esi + 0x34], edx
inc cl
cmp al, 2
mov ebx, dword [esi + 0x3c]
mov dword [esi + 0x3c], edx
mov byte [esp + 0x70], cl
mov ecx, str.UNION
mov dword [esp + 0x1c], ebx
ja 0x1005c890
movsx eax, al
mov ecx, dword [eax*4 + 0x1019a544]
push ecx
push str._s_USING_TEMP_B_TREE
push 1
mov ebx, dword [esp + 0x10]
push ebx
call fcn.100777a0
add esp, 0x10
mov esi, dword [esp + 0xc]
lea eax, [esp + 0x70]
mov ecx, ebx
mov edx, esi
push eax
call fcn.1005b3c0
add esp, 4
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x34], edi
mov dword [esi + 0x30], 0
mov ebx, eax
cmp byte [esi], 0x84
mov dword [esp + 0x18], ecx
jne 0x1005c91d
movzx edi, word [edi + 2]
movzx ecx, word [esi + 2]
movsx eax, cx
movsx edx, di
cmp ax, dx
jl 0x1005c908
lea esi, [edx + 0x31]
cmp esi, eax
jl 0x1005c915
lea esi, [edx + 0x1f]
cmp esi, eax
jl 0x1005e235
mov ecx, eax
sub ecx, edx
movzx ecx, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add eax, ecx
mov ecx, eax
jmp 0x1005c915
lea ecx, [eax + 0x31]
cmp ecx, edx
jge 0x1005e1bc
mov ecx, edi
mov esi, dword [esp + 0xc]
mov word [esi + 2], cx
mov edx, dword [esi + 0x3c]
test edx, edx
jne 0x1005f537
xor eax, eax
cmp byte [esp + 0x14], 1
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x3c], ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
je 0x1005cab8
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x51], 0
jne 0x1005cab8
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov eax, dword [ecx + 0x38]
lea esi, [eax - 1]
mov dword [esp + 0x1c], eax
lea eax, [eax - 2]
mov dword [esp + 0x28], eax
mov dword [ecx + 0x38], eax
mov dword [esp + 0x14], esi
push esi
call fcn.10083f80
add esp, 4
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x1005e252
lea ecx, [eax + 1]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
lea eax, [eax + eax*4]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
mov dword [ecx + eax*4], 0x25
mov dword [ecx + eax*4 + 4], edi
mov dword [ecx + eax*4 + 8], edx
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [esi + 0x6c]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x20], eax
push dword [esp + 0x14]
push dword [esp + 0x2c]
lea eax, [esp + 0xc8]
push eax
xor eax, eax
push eax
push eax
push edi
call fcn.1008a990
add esp, 0x18
mov ecx, dword [esi + 0xc]
mov edi, dword [esp + 0x1c]
xor eax, eax
inc eax
mov edx, dword [ecx + 0x38]
sub eax, edi
add edx, dword [ecx + 0x3c]
js 0x1005dcb9
mov edx, dword [esi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x1005e271
lea ecx, [eax + 1]
mov edx, dword [esp + 0x10]
lea eax, [eax + eax*4]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
mov dword [ecx + eax*4], 5
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [ecx + eax*4 + 8], edx
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov ecx, dword [esi + 0xc]
neg edi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1005f873
mov eax, dword [esi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x1005e28f
lea ecx, [eax + 1]
mov edx, dword [esp + 0x10]
lea eax, [eax + eax*4]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
mov dword [ecx + eax*4], 0x74
mov dword [ecx + eax*4 + 4], edx
xor edx, edx
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
jmp 0x1005cab8
lea ecx, [eax + 0x31]
cmp ecx, edx
jge 0x1005e209
mov ecx, esi
mov eax, dword [esp + 0xc]
mov word [eax + 2], cx
mov eax, dword [edi + 0x3c]
test eax, eax
jne 0x1005f667
cmp dword [esp + 0x14], 0
jne 0x1005f6c1
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x38], 0
jne 0x1005d858
mov edx, dword [esp + 4]
xor ecx, ecx
mov eax, dword [edx + 0xd8]
test eax, eax
jne 0x1005f470
mov dword [edx + 0xd8], ecx
cmp dword [edx + 0x24], 0
jne 0x1005caf0
mov eax, dword [esp + 0xc]
test byte [eax + 4], 0x20
jne 0x1005cb26
mov eax, dword [esp + 0xcc]
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x18]
mov dword [ecx + 0xc], eax
test edx, edx
mov eax, dword [esp + 0xd0]
mov dword [ecx + 0x10], eax
jne 0x1005f456
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x38], 0
je 0x1005bb16
jmp 0x1005bb30
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + 0x1c]
mov edi, dword [eax]
mov edx, edi
push 1
call fcn.10070fd0
add esp, 4
test eax, eax
je 0x1005f809
mov edx, dword [esp + 8]
test edi, edi
mov dword [esp + 0x14], edi
mov edi, eax
mov ecx, eax
jle 0x1005cb8c
xor esi, esi
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
push esi
call fcn.1008d8a0
add esp, 4
test eax, eax
mov dword [edi + esi*4 + 0x14], eax
jne 0x1005cb7d
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 8]
mov dword [edi + esi*4 + 0x14], eax
inc esi
cmp dword [esp + 0x14], esi
jne 0x1005cb59
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, dword [esi + 0x14]
test eax, eax
jns 0x1005cb9f
mov esi, dword [esi + 0x34]
test esi, esi
jne 0x1005cb8c
jmp 0x1005cc6d
mov ecx, dword [edx]
mov dword [esp + 0x10], edi
cmp byte [ecx + 0x51], 0
jne 0x1005f813
lea ecx, [eax + eax*4]
shl ecx, 2
add ecx, dword [edx + 0x68]
mov edi, edx
mov edx, dword [esp + 0x14]
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov dword [esp + 0x1c], edx
inc edx
mov dword [ecx], edx
mov edx, dword [edi]
cmp byte [edx + 0x51], 0
jne 0x1005f81d
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
jne 0x1005dd59
mov edx, edi
mov edi, dword [esp + 0x10]
lea eax, [ecx + eax*4 + 1]
mov dword [eax + 0xf], edi
mov byte [eax], 0xf7
mov dword [esi + 0x14], 0xffffffff
mov eax, dword [esi + 0x18]
test eax, eax
js 0x1005cb93
mov ecx, dword [edx]
cmp byte [ecx + 0x51], 0
jne 0x10060799
lea ecx, [eax + eax*4]
shl ecx, 2
add ecx, dword [edx + 0x68]
mov edi, edx
mov edx, dword [esp + 0x14]
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov dword [esp + 0x1c], edx
inc edx
mov dword [ecx], edx
mov edx, dword [edi]
cmp byte [edx + 0x51], 0
jne 0x100607a3
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
jne 0x1005e84b
mov edx, edi
mov edi, dword [esp + 0x10]
lea eax, [ecx + eax*4 + 1]
mov dword [eax + 0xf], edi
mov byte [eax], 0xf7
mov dword [esi + 0x18], 0xffffffff
jmp 0x1005cb93
dec dword [edi]
jne 0x1005caf0
mov ecx, dword [edi + 0xc]
mov edx, edi
call fcn.10019c40
jmp 0x1005caf0
test eax, eax
jne 0x1005fa7d
mov eax, dword [esp + 0xc]
mov dword [esp + 0x48], 0
mov word [eax + 2], 0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x44]
mov esi, dword [eax + 0x38]
test ecx, ecx
lea edi, [esi - 1]
mov dword [eax + 0x38], edi
je 0x1005fa5e
cmp word [ecx + 0x114], 0x37
jbe 0x1005dcef
mov eax, dword [ecx + 0x138]
test eax, eax
je 0x1005dd1a
mov edx, dword [eax]
mov dword [ecx + 0x138], edx
inc dword [ecx + 0x120]
test eax, eax
je 0x1005f889
mov edx, dword [esp + 4]
mov dword [esp + 0x34], esi
xor esi, esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x1c], ebx
mov dword [eax + 4], esi
mov dword [eax], esi
mov dword [eax + 0xc], esi
mov dword [eax + 8], esi
mov dword [eax + 0x14], esi
mov dword [eax + 0x10], esi
mov dword [eax + 0x1c], esi
mov dword [eax + 0x18], esi
mov dword [eax + 0x24], esi
mov dword [eax + 0x20], esi
mov dword [eax + 0x2c], esi
mov dword [eax + 0x28], esi
mov dword [eax + 0x34], esi
mov dword [eax + 0x30], esi
mov ecx, dword [edx + 0x80]
mov dword [eax + 0x34], ecx
mov ecx, dword [esp + 0xc]
mov dword [edx + 0x80], eax
mov ecx, dword [ecx + 0x10]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
mov ecx, dword [edx + 0x2c]
inc ecx
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x1005fb34
mov dword [eax + 0xc], esi
mov dword [esp + 0x24], eax
mov dword [eax + 0x18], ecx
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1005cdf6
cmp dword [eax], 0
jle 0x1005cdf6
lea esi, [eax + 4]
xor ebx, ebx
xor edi, edi
mov edx, dword [esi]
lea eax, [esp + 0x70]
mov dword [esp + 0xe0], 0x1009ad20
mov dword [esp + 0xe4], 0x1008cec0
mov dword [esp + 0xe8], 0x1008ced0
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf4], eax
mov dword [esp + 0xdc], ebx
test edx, edx
je 0x1005cdea
lea ecx, [esp + 0xdc]
call fcn.10076970
mov eax, dword [esp + 0x10]
inc edi
add esi, 0x14
cmp edi, dword [eax]
jl 0x1005cd9e
mov esi, dword [esp + 0x90]
test esi, esi
jne 0x1005fb3b
cmp dword [esp + 0x28], 0
jne 0x1005fba4
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x20]
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x28], 0
jne 0x1005f522
cmp dword [eax + 0x2c], 0
jne 0x1005f522
cmp dword [edx + 0x2c], 1
jne 0x1005f522
mov eax, dword [edx + 0x28]
mov eax, dword [eax]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x1005d1f5
cmp dword [edi], 1
jne 0x1005d1f5
test byte [eax + 7], 1
jne 0x1005d1f5
mov eax, dword [eax + 8]
xor ecx, ecx
movzx edx, byte [eax + ecx]
movzx ebx, byte [ecx + 0x101b0625]
cmp dl, bl
je 0x1005fc40
mov dl, byte [edx + 0x10194380]
cmp dl, byte [ebx + 0x10194380]
jne 0x1005d1a7
inc ecx
jmp 0x1005ce64
cmp dword [esp + 0x94], 0
mov eax, str.RIGHT_PART_OF_ORDER_BY
mov ecx, 0x101b444d
mov dword [esp + 0x2c], esi
cmovg ecx, eax
push ecx
push str.USE_TEMP_B_TREE_FOR__s
push 0
mov esi, dword [esp + 0x10]
push esi
call fcn.100777a0
add esp, 0x10
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x38]
mov edi, dword [esi + 8]
mov dword [esp + 0x1c], ebx
mov eax, dword [eax]
mov dword [esp + 0x48], ecx
mov dword [esp + 8], edi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x34], eax
lea eax, [ecx - 1]
mov ecx, dword [ebp + 8]
mov dword [esi + 0x38], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0x90]
mov dl, byte [ecx]
mov ecx, dword [ecx + 4]
test eax, eax
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0xc]
mov byte [esp + 0x3c], dl
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x14], ecx
jne 0x10060072
mov eax, dword [esp + 0x98]
cmp dl, 0xd
mov dword [esp + 0x40], eax
ja 0x1005f7ad
movzx eax, dl
mov ecx, 0x2600
bt ecx, eax
jae 0x1005f7ad
mov eax, dword [ebp + 8]
mov dword [esp + 0x38], 0
mov eax, dword [eax + 0xc]
mov dword [esp + 0x10], eax
mov edx, dword [esi]
sub edx, dword [esp + 0x94]
test byte [esp + 0xb0], 1
mov dword [esp + 0x50], edx
je 0x1005e2ab
mov ecx, dword [esp + 4]
mov esi, dword [ecx + 0x2c]
mov eax, dword [ecx + 0x28]
inc esi
mov dword [esp + 0x18], eax
inc eax
mov dword [ecx + 0x2c], esi
mov dword [ecx + 0x28], eax
mov dword [esp + 0x24], esi
xor esi, esi
cmp dword [esp + 0xa0], 0
jne 0x1006015a
mov ecx, dword [edi + 0x6c]
mov eax, dword [esp + 0x28]
cmp dword [edi + 0x70], ecx
lea eax, [eax + edx + 1]
jle 0x1005e877
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x24]
lea ecx, [ecx + ecx*4]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
mov edi, dword [esp + 0x18]
mov dword [edx + ecx*4], 0x72
mov dword [edx + ecx*4 + 4], edi
mov dword [edx + ecx*4 + 8], ebx
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
mov edi, dword [esp + 0x40]
test esi, esi
mov eax, esi
jne 0x1006017d
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edx
jle 0x1005e894
lea eax, [edx + 1]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x30], edx
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x68]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4], 0x23
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], esi
xor esi, esi
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], esi
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
jg 0x100601b2
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x1005e8b1
lea edx, [eax + 1]
mov esi, dword [esp + 0x24]
lea eax, [eax + eax*4]
mov dword [ecx + 0x6c], edx
mov edx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x68]
mov dword [ecx + eax*4], 0x7e
mov dword [ecx + eax*4 + 4], edi
mov dword [ecx + eax*4 + 8], esi
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], 0
xor ecx, ecx
add ecx, dword [esp + 0x50]
cmp dword [esp + 0x28], 0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
jle 0x1005d147
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x28]
lea edi, [eax - 1]
lea eax, [ebx + 0x14]
cmp word [eax], 1
adc edi, 0
add eax, 0x14
dec ecx
jne 0x1005d09b
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 8]
lea esi, [eax + 1]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*4]
movzx ecx, word [eax]
mov dword [esp + 0x14], eax
xor eax, eax
test ecx, ecx
lea ebx, [ecx - 1]
mov ecx, dword [edx + 0x6c]
sete al
cmove ebx, edi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], ebx
cmp dword [edx + 0x70], ecx
lea ebx, [eax + esi - 2]
jle 0x1005d12d
mov eax, edx
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [eax + 0x6c], edx
mov edx, dword [eax + 0x68]
mov eax, dword [esp + 0x18]
mov dword [edx + ecx*4], 0x59
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [esp + 0xc]
mov dword [edx + ecx*4 + 8], eax
mov dword [edx + ecx*4 + 0xc], ebx
mov dword [edx + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
sub edi, dword [esp + 0x24]
mov edx, dword [esp + 8]
dec esi
add eax, 0xffffffec
cmp esi, 1
jg 0x1005d0b9
jmp 0x1005d147
mov ecx, edx
mov edx, 0x59
push ebx
push dword [esp + 0x10]
push dword [esp + 0x20]
call fcn.1004e590
add esp, 0xc
jmp 0x1005d116
mov al, byte [esp + 0x3c]
mov ebx, dword [esp + 0x48]
add al, 0xf7
cmp al, 6
ja case.0x1005d15c.243
movzx eax, al
jmp dword [eax*4 + 0x1019b5dc]
mov edx, dword [esp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x6c]
mov eax, dword [eax + 0xc]
cmp dword [edx + 0x70], ecx
jle 0x1005ea14
mov esi, dword [esp + 8]
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x6c], edx
mov edx, dword [esp + 8]
mov edx, dword [edx + 0x68]
mov dword [edx + ecx*4], 0x50
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [esp + 0x28]
mov dword [edx + ecx*4 + 8], eax
xor eax, eax
jmp 0x1005db96
xor ecx, ecx
movzx edx, byte [eax + ecx]
movzx ebx, byte [ecx + 0x101ac5f7]
cmp dl, bl
je 0x1005d1c9
mov dl, byte [edx + 0x10194380]
cmp dl, byte [ebx + 0x10194380]
jne 0x1005d1f5
inc ecx
jmp 0x1005d1a9
test dl, dl
jne 0x1005d1c6
mov byte [esp + 0x2c], 1
mov bl, 2
mov ecx, dword [esp + 0x44]
mov edx, edi
push 0
call fcn.100795e0
add esp, 4
test eax, eax
je 0x100607f5
mov cl, byte [esp + 0x2c]
mov byte [eax + 0xc], cl
jmp 0x1005d1f9
xor eax, eax
xor ebx, ebx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
movzx eax, bl
mov dword [esp + 0x30], eax
mov eax, dword [edx + 0x2c]
test eax, eax
jle 0x1005d2da
mov ecx, dword [esp + 0x88]
xor esi, esi
mov eax, dword [edx + 0x28]
mov edx, esi
or ecx, 0x20000
shl edx, 4
mov eax, dword [eax + edx]
mov dword [esp + 0x88], ecx
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x1005d2ab
cmp dword [ecx], 0
jle 0x1005d2ab
lea ebx, [ecx + 4]
xor edi, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], ecx
mov edx, dword [ebx]
xor ecx, ecx
lea eax, [esp + 0x70]
mov dword [esp + 0xe0], 0x1009ad20
mov dword [esp + 0xe4], 0x1008cec0
mov dword [esp + 0xe8], 0x1008ced0
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf4], eax
mov dword [esp + 0xdc], ecx
test edx, edx
je 0x1005d29b
lea ecx, [esp + 0xdc]
call fcn.10076970
mov ecx, dword [esp + 0x38]
inc edi
add ebx, 0x14
mov eax, dword [esp + 0x3c]
cmp edi, dword [ecx]
jl 0x1005d24d
test byte [eax + 7], 1
jne 0x1005fc62
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x24]
mov eax, 0xfffdffff
inc esi
and ecx, eax
mov dword [esp + 0x88], ecx
mov eax, dword [edx + 0x2c]
cmp esi, eax
jl 0x1005d21c
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x2c]
mov dword [edx + 0x14], ecx
mov edx, dword [esp + 0x44]
cmp byte [edx + 0x51], 0
jne 0x1005f891
mov ebx, dword [esp + 0x14]
test ebx, ebx
jne 0x1005fcc0
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x24], 0
je 0x1005dd78
mov edi, dword [esp + 0x24]
mov dword [esp + 0x14], 0
cmp dword [edi + 0x24], 0
jne 0x1005ffe1
mov ebx, dword [esp + 4]
mov edx, edi
mov ecx, ebx
call fcn.1008cb90
movzx esi, word [esp + 0x30]
mov edx, dword [esp + 8]
xor eax, eax
mov ecx, ebx
push eax
push esi
push eax
push dword [esp + 0x38]
push dword [esp + 0x28]
call fcn.10084750
add esp, 0x14
test eax, eax
je 0x1005f891
mov ecx, ebx
mov ebx, dword [esp + 0x14]
mov esi, eax
mov edx, ebx
push edi
call fcn.1008c5e0
add esp, 4
test ebx, ebx
jne 0x10060040
test byte [esi + 0x30], 4
jne 0x1005dc68
mov eax, esi
add eax, 0x1c
mov eax, dword [eax]
mov edi, dword [esp + 0x34]
cmp eax, dword [esi + 0x1c]
jne 0x1005dc7b
mov ecx, esi
call fcn.1008ba90
mov ebx, dword [esp + 4]
mov edx, dword [esp + 0x24]
mov ecx, ebx
call fcn.1008cac0
xor eax, eax
mov dword [esp + 0x90], eax
push 0x10
mov esi, dword [esp + 0x44]
push esi
push dword [esp + 0x30]
push ebx
call fcn.100755f0
add esp, 0x10
mov edx, dword [esp + 0xc]
mov ecx, ebx
push esi
push esi
push dword [ebp + 8]
xor eax, eax
push eax
push eax
push 0xffffffffffffffff
call fcn.1008a990
add esp, 0x18
mov edx, dword [esp + 0x20]
neg edi
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x2c]
mov ecx, dword [edx + 0xc]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1005fa6f
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
jmp 0x1005bac7
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x1005b856
test byte [eax + 5], 0x20
jne 0x1005d40b
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x44], 0
jne 0x100603c0
mov eax, dword [ecx + 0x1c]
mov ebx, dword [ecx + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 4]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
cmp byte [eax + 0xa5], 0
mov dword [esp + 0x1c], ecx
jne 0x1005d467
mov ecx, dword [esp + 4]
cmp byte [ecx + 0xcc], 0
jne 0x1005d467
mov ecx, dword [eax + 0x148]
test ecx, ecx
jne 0x10060887
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0xc]
mov eax, dword [ecx + 0x38]
mov edx, esi
mov dword [esp + 0x2c], eax
lea eax, [eax - 1]
mov dword [ecx + 0x38], eax
mov word [esi + 2], 0x140
mov dword [esp + 0x20], eax
push eax
call fcn.10083f80
add esp, 4
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x10], 0
mov dword [esp + 0x44], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0xc], eax
mov dword [esi + 8], eax
mov eax, dword [ebx]
mov ecx, dword [esi + 0x30]
test eax, eax
mov dword [esp + 0x18], ecx
jle 0x100603d6
mov esi, dword [esp + 0x1c]
add ebx, 0x34
test byte [ebx - 4], 0x20
jne 0x1005d4df
add ebx, 0x48
dec eax
jne 0x1005d4d1
jmp 0x1005d4e5
mov eax, dword [ebx]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 4]
mov eax, dword [esp + 0xc]
mov edi, dword [edx + 0x28]
lea ebx, [edi + 1]
mov dword [edx + 0x28], ebx
cmp byte [eax], 0x84
je 0x1005deb9
cmp dword [esp + 0x18], 1
mov al, 7
adc al, 0
xor ebx, ebx
mov byte [esp + 0x70], al
xor eax, eax
mov dword [esp + 0x74], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], eax
mov edi, dword [edx + 0x2c]
inc edi
mov dword [edx + 0x2c], edi
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x1005e8fa
lea ecx, [eax + 1]
mov edx, dword [esp + 0x10]
lea eax, [eax + eax*4]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
mov dword [ecx + eax*4], 0x72
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [esp + 0x28]
mov dword [ecx + eax*4 + 8], edi
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], 0
cmp dword [esp + 0x18], 0
mov dword [esp + 0x48], edi
jne 0x100603df
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x1005e917
lea ecx, [eax + 1]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
mov dword [ecx + eax*4], 0x64
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], edi
xor edi, edi
mov dword [ecx + eax*4 + 0xc], edi
mov dword [ecx + eax*4 + 0x10], edi
test ebx, ebx
je 0x1005d5db
xor eax, eax
mov ecx, esi
mov edx, 0x64
push eax
push eax
push ebx
call fcn.1004e520
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x14], eax
or byte [ecx + 4], 0x20
mov eax, dword [esp + 0xc]
mov dword [eax + 0x30], 0
mov ebx, eax
test eax, eax
je 0x1006042d
test byte [ebx + 4], 8
jne 0x10060437
mov byte [ebx], 0x85
mov eax, dword [ebx + 0x34]
test byte [eax + 5], 0x20
jne 0x1005d5e6
mov dword [eax + 0x38], 0
push str.SETUP
push 1
mov esi, dword [esp + 0xc]
push esi
mov edi, eax
call fcn.100777a0
add esp, 0xc
lea eax, [esp + 0x70]
mov ecx, esi
mov edx, edi
push eax
call fcn.1005b3c0
add esp, 4
mov ecx, dword [esp + 0xc]
test eax, eax
mov dword [esp + 0x30], edi
mov dword [edi + 0x38], ecx
jne 0x1005d831
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x48]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jle 0x1005e935
lea eax, [ecx + 1]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x25
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 8], edx
xor edx, edx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x1005e957
lea ecx, [eax + 1]
mov edx, dword [esp + 0x10]
lea eax, [eax + eax*4]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
mov dword [ecx + eax*4], 0x81
mov dword [ecx + eax*4 + 4], edx
xor edx, edx
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
cmp dword [esp + 0x18], 0
jne 0x1006044d
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x1005e9ab
lea ecx, [eax + 1]
mov edx, dword [esp + 0x14]
lea eax, [eax + eax*4]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
mov dword [ecx + eax*4], 0x7f
mov dword [ecx + eax*4 + 4], edx
xor edx, edx
mov dword [ecx + eax*4 + 8], edi
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x28], ebx
cmp dword [esi + 0x70], eax
jle 0x1005e973
lea ecx, [eax + 1]
mov edx, dword [esp + 0x14]
lea eax, [eax + eax*4]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
mov dword [ecx + eax*4], 0x7b
mov dword [ecx + eax*4 + 4], edx
xor edx, edx
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov esi, dword [esp + 4]
mov eax, dword [esp + 0x40]
mov ebx, dword [esi + 0x38]
test eax, eax
lea edi, [ebx - 1]
mov dword [esi + 0x38], edi
jg 0x1006046b
mov ecx, esi
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
xor eax, eax
push esi
push edi
lea edi, [esp + 0xc8]
push edi
push eax
push eax
push dword [esp + 0x24]
call fcn.1008a990
add esp, 0x18
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x10060485
mov esi, dword [esp + 0x1c]
neg ebx
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1006049f
mov eax, dword [esi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + ebx*4], eax
mov ebx, dword [esp + 0x28]
mov edi, esi
mov dword [ebx + 0x34], 0
push str.RECURSIVE_STEP
push 1
mov esi, dword [esp + 0xc]
push esi
call fcn.100777a0
add esp, 0xc
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x70]
mov ecx, esi
push eax
call fcn.1005b3c0
add esp, 4
mov eax, dword [esp + 0x30]
mov esi, edi
mov dword [ebx + 0x34], eax
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1005e98f
lea ecx, [eax + 1]
mov edi, dword [esp + 0x3c]
lea eax, [eax + eax*4]
xor edx, edx
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
mov dword [ecx + eax*4], 0xb
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], edi
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov ecx, dword [esi + 0xc]
mov edi, dword [esp + 0x2c]
mov eax, dword [ecx + 0x38]
neg edi
add eax, dword [ecx + 0x3c]
js 0x100604af
mov eax, dword [esi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x30]
test edx, edx
jne 0x100604bf
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x30], eax
mov dword [esi + 0x3c], ecx
mov dword [esp + 0x18], 0
xor ebx, ebx
mov edx, dword [esp + 4]
jmp 0x1005cae0
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0xdc]
mov dword [esp + 0xdc], 0
call fcn.1008e210
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 4]
add dword [ecx + 0xd4], eax
mov eax, dword [esp + 0x44]
test byte [eax + 0x4d], 0x10
jne 0x1005d8bd
mov eax, dword [edi - 0x14]
mov ecx, dword [esp + 4]
mov edx, ebx
shr eax, 5
and eax, 1
push eax
push dword [edi - 0xc]
mov eax, dword [esp + 0x14]
push dword [eax + 0x24]
call fcn.10083cc0
mov ecx, dword [esp + 0x10]
add esp, 0xc
mov eax, dword [ecx + 0xf4]
test esi, esi
mov dword [esp + 0x14], eax
mov eax, dword [edi - 0x30]
mov dword [ecx + 0xf4], eax
mov eax, dword [esp + 8]
jne 0x1005e0ad
cmp dword [eax], 1
je 0x1005d8eb
test byte [eax + 0x74], 0xa
je 0x1005e0ad
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 4]
mov eax, dword [edx + 0x6c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], eax
inc eax
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [ecx + 0x2c], eax
mov ecx, dword [esp + 8]
mov dword [ecx + 0x24], eax
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jle 0x1005ea23
lea edx, [ecx + 1]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x6c], edx
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x68]
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0xd
mov dword [edx + ecx*4 + 4], eax
xor eax, eax
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esp + 0x18]
mov dword [edx + ecx*4 + 0xc], eax
xor eax, eax
mov dword [edx + ecx*4 + 0x10], eax
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov dword [edx + 0x20], eax
mov eax, dword [edx + 0x24]
lea edx, [esp + 0x78]
mov byte [esp + 0x70], 0xd
mov dword [esp + 0x74], eax
mov dword [edx + 4], ecx
mov dword [edx], ecx
mov dword [edx + 0xc], ecx
mov dword [edx + 8], ecx
push dword [ebx + 0x10]
push str.CO_ROUTINE__u
push 1
push dword [esp + 0x10]
call fcn.100777a0
add esp, 0x10
mov ecx, dword [esp + 4]
lea eax, [esp + 0x70]
mov edx, ebx
push eax
call fcn.1005b3c0
add esp, 4
mov edx, dword [esp + 8]
movzx eax, word [ebx + 2]
mov ecx, dword [edx + 0x18]
mov word [ecx + 0x2e], ax
or byte [edx + 0x30], 0x10
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x20]
mov dword [edx + 0x28], eax
mov ecx, dword [ebx + 0x6c]
mov eax, dword [edx + 0x24]
cmp dword [ebx + 0x70], ecx
jle 0x1005ea40
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [ebx + 0x6c], edx
mov edx, dword [ebx + 0x68]
mov dword [edx + ecx*4], 0x42
mov dword [edx + ecx*4 + 4], eax
xor eax, eax
mov dword [edx + ecx*4 + 8], eax
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], eax
mov eax, dword [ebx + 0xc]
mov byte [eax + 0x13], 0
mov eax, dword [ebx + 0xc]
mov dword [eax + 0x1c], 0
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x6c]
cmp byte [ecx + 0x51], 0
jne 0x100607fc
mov edx, dword [esp + 0x10]
lea ecx, [eax - 1]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [ebx + 0x68]
mov dword [ecx + 8], eax
mov ebx, dword [esp + 4]
mov eax, dword [esp + 0x44]
mov byte [ebx + 0x13], 0
mov dword [ebx + 0x1c], 0
cmp byte [eax + 0x51], 0
jne 0x1005eb37
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0xdc]
mov dword [esp + 0xdc], 0
call fcn.1008e210
mov eax, dword [esp + 0xdc]
sub dword [ebx + 0xd4], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 8]
mov dword [ebx + 0xf4], eax
jmp 0x1005b8e0
mov eax, dword [ebx]
mov dword [esi + 0x130], eax
jmp 0x1005bd39
push str.DISTINCT
push str.USE_TEMP_B_TREE_FOR__s
push 0
push dword [esp + 0x10]
call fcn.100777a0
add esp, 0x10
jmp 0x1005bad5
mov ebx, dword [edi - 0x30]
test ebx, ebx
je 0x1005b8d5
mov eax, dword [esp + 4]
mov eax, dword [eax]
cmp byte [eax + 0xa5], 0
jne 0x1005b8d5
mov ecx, dword [esp + 4]
cmp byte [ecx + 0xcc], 0
jne 0x1005b8d5
mov ecx, dword [eax + 0x148]
test ecx, ecx
je 0x1005b8d5
mov edx, dword [edi - 0x34]
mov eax, dword [eax + 0x14c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 4]
mov dword [esp + 0x14], eax
mov edx, dword [edx + 0xf4]
mov dword [esp + 0x10], edx
call dword [section..00cfg]
push dword [esp + 0x10]
push dword [esp + 0x1c]
push 0x101c3b42
push ebx
push 0x14
push dword [esp + 0x28]
call ecx
add esp, 0x18
cmp eax, 1
jne 0x10061241
push str.not_authorized
mov ebx, dword [esp + 8]
push ebx
call fcn.1000f470
add esp, 8
mov edx, dword [esp + 8]
mov dword [ebx + 0xc], 0x17
jmp 0x1005b8d5
mov edx, dword [esp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x6c]
mov eax, dword [eax + 4]
cmp dword [edx + 0x70], ecx
jle 0x1005e9d9
mov esi, dword [esp + 8]
lea edx, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x6c], edx
mov edx, dword [esp + 8]
mov edx, dword [edx + 0x68]
mov dword [edx + ecx*4], 0xe
mov dword [edx + ecx*4 + 4], eax
xor eax, eax
mov dword [edx + ecx*4 + 8], eax
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], eax
mov esi, ebx
cmp dword [esp + 0x38], 0
mov ebx, dword [esp + 0x1c]
jne 0x100600cf
mov edx, dword [esp + 8]
mov edi, esi
mov esi, dword [esp + 0x2c]
neg edi
mov ecx, dword [edx + 0xc]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1005dea7
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
inc dword [esp + 0x30]
mov edi, dword [esp + 0x34]
test byte [esp + 0xb0], 1
je 0x1005e2e4
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x6c]
cmp dword [edx + 0x70], eax
jle 0x1005e8cc
mov ecx, dword [esp + 0x44]
mov edx, esi
call fcn.1004c320
jmp 0x1005bb16
movzx eax, byte [esi + 0x2c]
imul eax, eax, 0x58
lea eax, [eax + esi + 0x2a8]
jmp 0x1005d381
mov ecx, dword [esp + 0x20]
mov edi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edi
jle 0x1005e9fd
lea edx, [edi + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [edi + edi*4]
xor edi, edi
mov dword [edx + ecx*4], 0xb
mov dword [edx + ecx*4 + 4], edi
mov dword [edx + ecx*4 + 8], eax
mov dword [edx + ecx*4 + 0xc], edi
mov dword [edx + ecx*4 + 0x10], edi
mov edi, dword [esp + 0x34]
jmp 0x1005d390
mov edx, esi
push eax
call fcn.10078ce0
add esp, 4
jmp 0x1005ca03
mov esi, edx
lea edx, [eax + ecx*4]
mov ecx, dword [esp + 0x20]
push 0xfffffffffffffff7
push esi
call fcn.1004e710
add esp, 8
jmp 0x1005c75c
mov eax, dword [ebx]
mov dword [esi + 0x134], eax
jmp 0x1005bd39
cmp dword [ecx + 0x110], 0
je 0x1005eae5
cmp byte [ecx + 0x51], 0
jne 0x1005f889
mov edx, 0x38
push 0
call fcn.1001a100
add esp, 4
jmp 0x1005cce1
mov eax, dword [ecx + 0x134]
test eax, eax
jne 0x1005e8ed
mov eax, dword [ecx + 0x130]
test eax, eax
jne 0x1005e9cc
mov eax, dword [ecx + 0x12c]
test eax, eax
jne 0x1005ead8
inc dword [ecx + 0x128]
jmp 0x1005dd06
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x6c]
dec ecx
jmp 0x1005c739
lea edx, [ecx + eax*4]
mov ecx, dword [esp + 8]
push 0xfffffffffffffff7
mov edi, dword [esp + 0x14]
push edi
call fcn.1004e710
mov edx, dword [esp + 0x10]
add esp, 8
jmp 0x1005cbfb
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x1c]
cmp dword [ecx], 1
jne 0x1005d30c
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x20]
cmp dword [edx], 1
jne 0x1005d30c
cmp dword [edx + 0x1c], 0
jne 0x1005d30c
mov edi, dword [edx + 0x18]
cmp dword [edi + 0x38], 0
jne 0x1005d30c
mov ecx, dword [ecx + 4]
cmp byte [ecx], 0xa5
jne 0x1005d30c
test eax, eax
je 0x100609de
mov edx, dword [esp + 0x24]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
test byte [edx + 5], 1
je 0x1005d30c
test edi, edi
je 0x1005d30c
mov edx, 0x1000002
and edx, dword [ecx + 4]
jne 0x1005d30c
mov eax, dword [edi + 0x48]
mov dword [esp + 0x14], 0xffff8000
test eax, eax
je 0x1005de1d
xor ecx, ecx
dec ecx
mov dword [esp + 0x14], ecx
mov ecx, 0xc
mov edx, dword [esp + 4]
inc dword [esp + 0x14]
mov edx, dword [edx]
mov edx, dword [edx + 0x10]
cmp dword [edx + ecx], eax
lea ecx, [ecx + 0x10]
jne 0x1005de08
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0x28]
mov eax, dword [edx + 0x74]
mov dword [esp + 0x18], ecx
inc ecx
test eax, eax
mov dword [edx + 0x28], ecx
cmove eax, edx
xor esi, esi
mov ecx, dword [edi + 0x1c]
mov edx, dword [eax + 0x54]
inc esi
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x14]
shl esi, cl
bt edx, ecx
jb 0x1005de5f
or edx, esi
cmp dword [esp + 0x14], 1
mov dword [eax + 0x54], edx
jne 0x1005de5f
mov ecx, eax
call fcn.1001d1e0
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x14]
push dword [edi]
push 0
push dword [edi + 0x1c]
call fcn.10070dc0
add esp, 0xc
cmp byte [edi + 0x24], 0
mov dword [esp + 8], 0
jns 0x10061589
mov eax, dword [edi + 8]
test eax, eax
je 0x10061589
mov ecx, dword [eax + 0x38]
and ecx, 3
cmp ecx, 2
je 0x10061585
mov eax, dword [eax + 0x14]
jmp 0x1005de8b
mov edx, dword [esp + 8]
push edi
call fcn.10078ce0
add esp, 4
jmp 0x1005dbd3
cmp dword [esp + 0x18], 1
mov al, 6
lea ecx, [edi + 2]
mov dword [edx + 0x28], ecx
sbb al, 0
jmp 0x1005d50a
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, 0x64
mov eax, dword [eax + 0x1c]
push 0
push dword [eax]
push dword [esp + 0xcc]
call fcn.1004e520
add esp, 0xc
mov byte [esp + 0xc0], 0xe
mov byte [esp + 0x14], 0xe
jmp 0x1005b83b
mov eax, dword [esp + 4]
mov edi, dword [esp + 0xc]
mov edx, dword [eax + 8]
mov ecx, dword [eax]
mov dword [esp + 0x40], edx
mov edx, dword [eax + 0x38]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x34], edx
lea edx, [edx - 2]
mov dword [eax + 0x38], edx
mov dword [esp + 0x30], edx
mov esi, dword [edi + 0x34]
mov dl, byte [edi]
mov dword [esp + 0x18], esi
mov esi, dword [edi + 0x30]
cmp dl, 0x85
mov byte [esp + 8], dl
mov ebx, dword [esi]
jne 0x10060a50
lea edx, [ebx*4 + 4]
push 0
call fcn.10019ed0
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
mov eax, 0
mov dword [esp + 0x1c], 0
je 0x1005df9b
mov eax, dword [esp + 0x2c]
test ebx, ebx
mov dword [eax], ebx
jle 0x1005df8e
mov ecx, dword [esp + 0x2c]
lea eax, [esi + 0x14]
mov edx, ebx
add ecx, 4
movzx edi, word [eax]
add eax, 0x14
dec edi
mov dword [ecx], edi
add ecx, 4
dec edx
jne 0x1005df7f
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
call fcn.1008d8f0
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 4]
mov dword [esp + 0x4c], eax
mov edx, esi
mov dword [ebx + 0x30], esi
mov ecx, dword [edi]
push 0
call fcn.100795e0
add esp, 4
mov esi, dword [esp + 0x18]
cmp byte [esp + 8], 0x85
mov dword [esp + 0x48], 0
mov dword [esi + 0x30], eax
jne 0x10060a63
mov eax, dword [esp + 0x34]
mov ecx, edi
mov edx, ebx
dec eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [ebx + 0x34], eax
mov dword [esi + 0x38], eax
push str.ORDER
push dword [ebx + 0x30]
call fcn.100818a0
add esp, 8
xor eax, eax
mov dword [esp + 0x3c], 0
cmp dword [esi + 0x34], eax
jne 0x1005e01e
mov ecx, edi
mov edx, esi
push str.ORDER
push dword [esi + 0x30]
call fcn.100818a0
add esp, 8
mov esi, dword [esp + 0xc]
mov ecx, edi
mov edx, esi
push dword [esp + 0x10]
call fcn.10083f80
add esp, 4
cmp byte [esp + 8], 0x85
jne 0x1005e304
cmp dword [esi + 8], 0
mov dword [esp + 0x44], 0
je 0x1005e30c
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x2c]
lea edx, [ecx + 1]
add ecx, 2
mov dword [eax + 0x2c], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x44], ecx
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1006154e
inc eax
mov edi, dword [esp + 0x40]
xor esi, esi
mov edx, 0x4d
mov ecx, edi
push esi
mov ebx, dword [esp + 0x40]
push ebx
push eax
call fcn.1004e520
add esp, 0xc
mov ecx, edi
mov edx, 0x4d
push esi
push dword [esp + 0x48]
push ebx
call fcn.1004e520
add esp, 0xc
mov esi, dword [esp + 0xc]
jmp 0x1005e30c
mov ecx, dword [esp + 4]
lea eax, [edi - 0x38]
mov edx, 0x45
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [ecx + 0x2c], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], eax
mov dword [edi - 0x1c], eax
xor eax, eax
push eax
push dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x18], 0
push eax
call fcn.1004e520
add esp, 0xc
mov dword [esp + 0x18], eax
inc eax
mov dword [edi - 0x20], eax
test byte [edi - 0x10], 8
je 0x10060ae7
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x1c]
call fcn.10083e20
test eax, eax
jne 0x10060b06
mov eax, dword [edi - 0xc]
mov byte [esp + 0x70], 0xc
lea ecx, [esp + 0x78]
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 8], eax
push dword [ebx + 0x10]
push str.MATERIALIZE__u
push 1
push dword [esp + 0x10]
call fcn.100777a0
add esp, 0x10
mov ecx, dword [esp + 4]
lea eax, [esp + 0x70]
mov edx, ebx
push eax
call fcn.1005b3c0
add esp, 4
movzx eax, word [ebx + 2]
mov ecx, dword [edi - 0x28]
cmp dword [esp + 0x10], 0
mov word [ecx + 0x2e], ax
jne 0x10060b37
mov ebx, dword [esp + 0x20]
mov edx, 0x41
xor eax, eax
mov ecx, ebx
push eax
push eax
push dword [edi - 0x1c]
call fcn.1004e520
add esp, 0xc
mov edx, dword [esp + 0x18]
test edx, edx
js 0x10060b6c
mov ecx, dword [ebx]
cmp byte [ecx + 0x51], 0
jne 0x10060b75
lea ecx, [edx + edx*4]
shl ecx, 2
add ecx, dword [ebx + 0x68]
mov dword [ecx + 4], eax
jmp 0x1005da33
mov eax, dword [esi]
mov dword [ecx + 0x134], eax
jmp 0x1005c2fe
lea ecx, [eax + 0x1f]
cmp ecx, edx
jl 0x1005e8e7
mov ecx, edx
sub ecx, eax
movzx eax, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add edx, eax
mov ecx, edx
jmp 0x1005c915
mov eax, dword [esi + edi + 0x14]
mov dword [esi + edi + 0x10], eax
and word [esi + edi + 8], 0x2d
jmp 0x1005b5ed
xor esi, esi
mov ecx, ebx
mov edx, 0x64
push esi
push esi
push eax
call fcn.1004e590
add esp, 0xc
mov edi, eax
jmp 0x1005c71b
lea ecx, [eax + 0x1f]
cmp ecx, edx
jl 0x1005e9c6
mov ecx, edx
sub ecx, eax
movzx eax, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add edx, eax
mov ecx, edx
jmp 0x1005ca9a
mov eax, dword [esi]
mov dword [ecx + 0x130], eax
jmp 0x1005c2fe
inc ecx
jmp 0x1005c915
xor eax, eax
mov edx, 0x64
push eax
push eax
push ebx
call fcn.1004e590
add esp, 0xc
jmp 0x1005c814
mov ecx, esi
mov edx, 0x25
push 0
push dword [esp + 0x18]
mov edi, dword [esp + 0x18]
push edi
call fcn.1004e590
add esp, 0xc
jmp 0x1005c9b6
mov ecx, esi
mov edx, 5
push 0
push dword [esp + 0x24]
push dword [esp + 0x18]
call fcn.1004e590
add esp, 0xc
jmp 0x1005ca3c
xor eax, eax
mov ecx, esi
mov edx, 0x74
push eax
push eax
push dword [esp + 0x18]
call fcn.1004e590
add esp, 0xc
jmp 0x1005cab8
mov ecx, edi
mov edx, 0x24
push 0
push dword [esp + 0x38]
mov edi, dword [esp + 0x48]
push edi
call fcn.1004e520
add esp, 0xc
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc]
xor ecx, ecx
inc ecx
mov eax, dword [eax + 0xc]
test eax, eax
jg 0x10061272
mov dword [esp + 0x18], edi
jmp 0x1005d076
mov ecx, dword [esp + 8]
mov edx, 5
push 0
push dword [esp + 0x34]
push dword [esp + 0x48]
call fcn.1004e520
add esp, 0xc
jmp 0x1005dc26
mov dword [esp + 0x44], 0
mov edx, dword [esi + 0x3c]
test edx, edx
jne 0x10060b7f
mov eax, dword [esp + 4]
xor ebx, ebx
mov dword [esi + 0x3c], ebx
mov edi, dword [eax + 0x2c]
lea edx, [edi + 4]
lea ecx, [edi + 1]
mov dword [eax + 0x2c], edx
mov al, 0xd
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
mov byte [esp + 0x70], al
mov byte [esp + 0xdc], al
lea eax, [edi + 2]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0x14], eax
mov eax, str.UNION
mov cl, byte [esi]
add cl, 0x7b
cmp cl, 2
ja 0x1005e39e
movsx eax, cl
mov eax, dword [eax*4 + 0x1019a544]
add edi, 3
xor ecx, ecx
mov dword [esp + 0x28], edi
inc ecx
push eax
push str.MERGE___s_
push ecx
mov edi, dword [esp + 0x10]
push edi
call fcn.100777a0
add esp, 0x10
mov ebx, dword [esp + 0x40]
mov edx, 0xd
mov eax, dword [ebx + 0x6c]
mov ecx, ebx
inc eax
push eax
xor eax, eax
push eax
push dword [esp + 0x2c]
call fcn.1004e520
add esp, 0xc
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x18]
mov dword [esi + 8], eax
push str.LEFT
xor eax, eax
inc eax
push eax
push edi
call fcn.100777a0
add esp, 0xc
lea eax, [esp + 0x70]
mov ecx, edi
mov edx, esi
push eax
call fcn.1005b3c0
add esp, 4
xor eax, eax
mov ecx, ebx
mov edx, 0x42
push eax
push eax
xor esi, esi
push dword [esp + 0x2c]
call fcn.1004e520
add esp, 0xc
mov eax, dword [ebx + 0xc]
mov byte [eax + 0x13], 0
mov eax, dword [ebx + 0xc]
mov dword [eax + 0x1c], esi
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x6c]
cmp byte [ecx + 0x51], 0
jne 0x10060b8d
mov edx, dword [esp + 0x38]
lea ecx, [eax - 1]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [ebx + 0x68]
mov dword [ecx + 8], eax
xor edi, edi
mov ecx, ebx
mov edx, 0xd
mov eax, dword [ebx + 0x6c]
inc eax
push eax
push edi
push dword [esp + 0x1c]
call fcn.1004e520
add esp, 0xc
mov esi, dword [esp + 0xc]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edx
push str.RIGHT
push 1
mov edi, dword [esp + 0xc]
push edi
call fcn.100777a0
add esp, 0xc
lea eax, [esp + 0xdc]
mov ecx, edi
mov edx, esi
push eax
call fcn.1005b3c0
add esp, 4
mov eax, dword [esp + 0x3c]
mov ecx, ebx
mov edx, 0x42
mov dword [esi + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0xc], eax
xor eax, eax
push eax
push eax
push dword [esp + 0x1c]
call fcn.1004e520
add esp, 0xc
mov eax, dword [ebx + 0xc]
xor ecx, ecx
mov dword [esp + 0x44], 0
mov edx, esi
mov byte [eax + 0x13], 0
mov eax, dword [ebx + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [eax + 0x1c], ecx
mov ecx, edi
push ebx
push dword [esp + 0x20]
push dword [esp + 0x50]
push dword [esp + 0x34]
mov edi, dword [ebp + 8]
push edi
lea eax, [esp + 0x84]
push eax
call fcn.1008da10
add esp, 0x18
mov cl, byte [esp + 8]
mov dword [esp + 0x38], eax
and cl, 0xfe
cmp cl, 0x84
mov byte [esp + 0x3c], cl
jne 0x1005e55e
mov ecx, dword [esp + 4]
mov edx, esi
push ebx
push dword [esp + 0x20]
push dword [esp + 0x50]
push dword [esp + 0x2c]
push edi
lea eax, [esp + 0xf0]
push eax
call fcn.1008da10
add esp, 0x18
mov dword [esp + 0x44], eax
cmp dword [esp + 0x1c], 0
jne 0x10060b97
mov edi, dword [esp + 0x10]
cmp byte [esp + 0x3c], 0x86
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x48], edi
je 0x1005e5e8
xor eax, eax
mov ecx, ebx
mov edx, 0xc
push eax
push dword [esp + 0x48]
push dword [esp + 0x28]
call fcn.1004e520
add esp, 0xc
mov esi, eax
xor eax, eax
mov ecx, ebx
mov edx, 0xe
push eax
push edi
push dword [esp + 0x1c]
call fcn.1004e520
add esp, 0xc
mov dword [esp + 0x1c], eax
xor eax, eax
mov ecx, ebx
mov edx, 0xb
push eax
mov dword [esp + 0x4c], esi
push esi
push eax
call fcn.1004e520
add esp, 0xc
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
movsx edx, word [eax + 2]
movsx ecx, word [esi + 2]
call fcn.1008d850
mov word [esi + 2], ax
cmp byte [esp + 8], 0x87
mov eax, dword [esp + 0x38]
je 0x100609fb
xor esi, esi
mov ecx, ebx
mov edx, 0xc
push esi
push eax
push dword [esp + 0x30]
call fcn.1004e520
add esp, 0xc
mov edi, eax
mov ecx, ebx
mov edx, 0xe
push esi
push dword [esp + 0x14]
push dword [esp + 0x2c]
call fcn.1004e520
add esp, 0xc
mov ecx, ebx
mov edx, 0xb
push esi
mov dword [esp + 0x14], edi
push edi
push esi
call fcn.1004e520
add esp, 0xc
xor esi, esi
mov ecx, ebx
mov edx, 0xc
push esi
push dword [esp + 0x3c]
push dword [esp + 0x30]
call fcn.1004e520
add esp, 0xc
mov edi, eax
mov ecx, ebx
mov edx, 0xe
push esi
push dword [esp + 0x4c]
push dword [esp + 0x2c]
call fcn.1004e520
add esp, 0xc
mov ecx, ebx
mov edx, 0xb
push esi
push dword [esp + 0x34]
push esi
call fcn.1004e520
add esp, 0xc
mov al, byte [esp + 8]
mov dword [esp + 0x28], edi
cmp al, 0x85
jne 0x10060bb4
mov dword [esp + 8], edi
cmp byte [esp + 0x3c], 0x84
mov edi, dword [ebx + 0x6c]
jne 0x1005e6be
mov ecx, ebx
mov edx, 0xc
push 0
push dword [esp + 0x48]
push dword [esp + 0x28]
call fcn.1004e520
add esp, 0xc
xor esi, esi
mov ecx, ebx
mov edx, 0xe
push esi
push dword [esp + 0x14]
push dword [esp + 0x1c]
call fcn.1004e520
add esp, 0xc
mov ecx, ebx
mov edx, 0xb
push esi
push dword [esp + 0x34]
push esi
call fcn.1004e520
add esp, 0xc
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x6c]
cmp byte [ecx + 0x51], 0
jne 0x10060bd2
mov edx, dword [esp + 0x58]
lea ecx, [eax - 1]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [ebx + 0x68]
mov dword [ecx + 8], eax
mov ecx, ebx
mov edx, 0xe
push esi
push dword [esp + 0x20]
push dword [esp + 0x2c]
call fcn.1004e520
add esp, 0xc
mov ecx, ebx
mov edx, 0xe
push esi
push dword [esp + 0x14]
push dword [esp + 0x1c]
call fcn.1004e520
add esp, 0xc
mov ecx, dword [ebx + 0xc]
mov esi, dword [esp + 0x34]
xor edx, edx
inc edx
mov eax, dword [ecx + 0x38]
sub edx, esi
add eax, dword [ecx + 0x3c]
js 0x10060a2e
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edx*4], eax
xor eax, eax
mov ecx, ebx
mov edx, 0x55
push eax
push eax
push eax
call fcn.1004e520
add esp, 0xc
mov ecx, ebx
mov edx, eax
push 0xfffffffffffffff1
push dword [esp + 0x30]
call fcn.1000f710
add esp, 8
mov ecx, ebx
mov edx, 0x56
push dword [esp + 0x50]
push dword [esp + 0xec]
push dword [esp + 0x84]
call fcn.1004e520
add esp, 0xc
mov ecx, ebx
mov edx, eax
push 0xfffffffffffffff7
push dword [esp + 0x50]
call fcn.1000f710
add esp, 8
mov eax, dword [ebx + 0x6c]
test eax, eax
jle 0x1005e7d2
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 1
mov ecx, ebx
mov edx, 0x10
push edi
push dword [esp + 0xc]
push dword [esp + 0x30]
call fcn.1004e520
add esp, 0xc
mov ecx, dword [ebx + 0xc]
neg esi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x10060a40
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x34]
test edx, edx
jne 0x10060bdc
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 4]
xor ecx, ecx
mov dword [esi + 0x34], eax
mov dword [eax + 0x38], esi
mov eax, dword [edx + 0xd8]
test eax, eax
jne 0x10060bef
mov dword [edx + 0xd8], ecx
xor ebx, ebx
cmp dword [edx + 0x24], 0
setne bl
jmp 0x1005cb13
inc ecx
jmp 0x1005ca9a
lea edx, [ecx + eax*4]
mov ecx, dword [esp + 8]
push 0xfffffffffffffff7
mov edi, dword [esp + 0x14]
push edi
call fcn.1004e710
mov edx, dword [esp + 0x10]
add esp, 8
jmp 0x1005cc61
mov eax, dword [ebx]
mov dword [esi + 0x12c], eax
jmp 0x1005bd39
mov ecx, edi
mov edx, 0x72
push eax
push dword [esp + 0x28]
push dword [esp + 0x20]
call fcn.1004e590
add esp, 0xc
jmp 0x1005cfdb
mov edx, 0x23
push 0
push dword [esp + 0x38]
push edi
call fcn.1004e590
add esp, 0xc
mov dword [esp + 0x30], eax
jmp 0x1005d026
mov edx, 0x7e
push dword [esp + 0x18]
push dword [esp + 0x28]
push edi
call fcn.1004e590
add esp, 0xc
jmp 0x1005d074
inc edi
jmp 0x1005c913
mov edx, dword [eax]
mov dword [ecx + 0x134], edx
jmp 0x1005ccdb
mov ecx, esi
mov edx, 0x72
push dword [esp + 0x28]
push edi
push dword [esp + 0x18]
call fcn.1004e590
add esp, 0xc
jmp 0x1005d570
mov ecx, esi
mov edx, 0x64
push 0
push dword [esp + 0x2c]
push dword [esp + 0x1c]
call fcn.1004e590
add esp, 0xc
jmp 0x1005d5b8
mov ecx, esi
mov edx, 0x25
push 0
push dword [esp + 0x24]
push dword [esp + 0x1c]
call fcn.1004e590
add esp, 0xc
mov dword [esp + 0x3c], eax
jmp 0x1005d68c
xor eax, eax
mov ecx, esi
mov edx, 0x81
push eax
push eax
push dword [esp + 0x18]
call fcn.1004e590
add esp, 0xc
jmp 0x1005d6c1
xor eax, eax
mov ecx, esi
mov edx, 0x7b
push eax
push eax
push dword [esp + 0x1c]
call fcn.1004e590
add esp, 0xc
jmp 0x1005d73a
xor eax, eax
mov ecx, esi
mov edx, 0xb
push eax
push dword [esp + 0x40]
push eax
call fcn.1004e590
add esp, 0xc
jmp 0x1005d813
mov ecx, esi
mov edx, 0x7f
push 0
push edi
push dword [esp + 0x1c]
call fcn.1004e590
add esp, 0xc
jmp 0x1005d701
inc esi
jmp 0x1005ca98
mov edx, dword [eax]
mov dword [ecx + 0x130], edx
jmp 0x1005ccdb
mov ecx, edx
xor esi, esi
mov edx, 0xe
push esi
push esi
push eax
call fcn.1004e590
add esp, 0xc
jmp case.0x1005d15c.246
inc dword [esi + 0x124]
jmp 0x1005c5d0
xor edi, edi
mov edx, 0xb
push edi
push eax
push edi
call fcn.1004e590
add esp, 0xc
jmp 0x1005dcb0
mov ecx, edx
mov edx, 0x50
push 0
push dword [esp + 0x2c]
jmp 0x1005e9e4
mov ecx, dword [esp + 0x20]
mov edx, 0xd
push dword [esp + 0x18]
push 0
push eax
call fcn.1004e590
add esp, 0xc
jmp 0x1005d958
mov dword [esp + 0x18], eax
xor eax, eax
mov ecx, ebx
mov edx, 0x42
push eax
xor eax, eax
push eax
push dword [esp + 0x20]
call fcn.1004e590
add esp, 0xc
jmp 0x1005d9fb
mov edi, dword [esp + 0x10]
test edi, edi
je 0x1005b923
test esi, esi
je 0x1005b923
mov eax, dword [esi]
cmp eax, dword [edi]
jne 0x1005eab7
test eax, eax
jle 0x1005c630
xor edi, edi
mov ebx, 0xc
mov al, byte [esi + ebx]
mov ecx, dword [esp + 0x10]
cmp al, byte [ecx + ebx]
jne 0x1005eab7
mov edx, dword [esi + ebx - 8]
xor ecx, ecx
push 0xffffffffffffffff
mov eax, dword [esp + 0x14]
push dword [eax + ebx - 8]
call fcn.10076d90
add esp, 8
test eax, eax
je 0x10061574
mov edi, dword [esp + 0x10]
jmp 0x1005b923
mov eax, dword [esi]
mov dword [ecx + 0x12c], eax
jmp 0x1005c2fe
inc dword [ecx + 0x124]
jmp 0x1005c56d
mov edx, dword [eax]
mov dword [ecx + 0x12c], edx
jmp 0x1005ccdb
inc dword [ecx + 0x124]
jmp 0x1005dd06
mov dword [esp + 0x28], 0x3b9aca00
jmp 0x1005b596
test edi, edi
je 0x1005b60e
mov eax, dword [edi + 0xec]
test eax, eax
je 0x1005b60e
mov dword [eax + 0xc], 0x12
inc dword [eax + 0x24]
jmp 0x1005b60e
push ecx
push dword [edi]
push eax
push str.expected__d_columns_for__s_but_got__d
push dword [esp + 0x14]
call fcn.1000f470
add esp, 0x14
xor ebx, ebx
jmp 0x1005bb16
mov ecx, dword [edx + 8]
jns 0x1005eb47
mov eax, dword [ecx + 0x6c]
dec eax
mov esi, dword [ecx]
mov edx, 0x101d4a28
cmp byte [esi + 0x51], 0
jne 0x1005eb5d
lea edx, [eax + eax*4]
shl edx, 2
add edx, dword [ecx + 0x68]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 4]
jmp 0x1005bb2a
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp + 8], eax
mov eax, dword [eax]
cmp eax, 2
mov dword [esp + 0x24], eax
jl 0x1005b4b4
mov eax, dword [esp + 8]
xor esi, esi
inc esi
mov eax, dword [eax + 0x18]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x14]
lea eax, [esi + esi*8]
cmp edx, dword [ecx + eax*8 + 0x18]
je 0x1005ebae
inc esi
cmp esi, dword [esp + 0x24]
jne 0x1005eb91
jmp 0x1005b4b4
mov ecx, dword [esp + 8]
mov edi, dword [ecx + 0x14]
mov ebx, dword [ecx + eax*8 + 0x14]
test edi, edi
je 0x1005ebe6
test ebx, ebx
je 0x1005eba2
xor edx, edx
movzx ecx, byte [edi + edx]
movzx eax, byte [ebx + edx]
cmp cl, al
jne 0x1005ebd5
test cl, cl
jne 0x1005ebe3
jmp 0x1005ebf0
mov cl, byte [ecx + 0x10194380]
cmp cl, byte [eax + 0x10194380]
jne 0x1005eba2
inc edx
jmp 0x1005ebc3
test ebx, ebx
jne 0x1005eba2
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
push edi
push str.target_object_alias_may_not_appear_in_FROM_clause:__s
push dword [esp + 0xc]
call fcn.1000f470
add esp, 0xc
xor ebx, ebx
inc ebx
jmp 0x1005bb16
cmp dword [ecx + 0x34], 0
jne 0x1005b724
mov ebx, dword [ecx + 4]
bt ebx, 0x14
jb 0x1005b724
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
test eax, eax
mov dword [esp + 0x24], eax
je 0x1005ef8d
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x20]
mov edi, dword [eax + 0x28]
test ecx, ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x18], edx
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x1c], edi
mov dword [esp + 0xdc], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], eax
je 0x1005efb7
mov ecx, dword [esp + 8]
mov edx, 0x50
push 0
call fcn.10019ed0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
jne 0x1005efcf
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xec]
test eax, eax
je 0x1005eca8
mov dword [eax + 0xc], 7
inc dword [eax + 0x24]
mov ebx, 7
jmp 0x1005bb16
push edx
push dword [eax]
push 0x101ae5f2
push dword [esp + 0x4c]
call fcn.1000f4f0
add esp, 0x10
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
cmp byte [ecx + 0x51], 0
jne 0x1005b60e
mov ecx, dword [esp + 0x18]
mov edx, eax
mov ecx, dword [ecx + 0x74]
jmp 0x1005c60f
mov ecx, dword [esp + 0x20]
mov edx, 0x64
push 0
mov eax, dword [esp + 0x14]
push dword [eax]
mov eax, dword [ebp + 8]
push dword [eax + 4]
call fcn.1004e520
add esp, 0xc
jmp 0x1005b948
push ebx
call fcn.10078ce0
add esp, 4
jmp 0x1005bb01
mov ecx, dword [esp + 4]
mov edx, edi
call fcn.10084480
mov edx, dword [esp + 8]
jmp 0x1005b9e8
mov ecx, dword [esp + 4]
mov dword [esp + 0x1c], ebx
mov edi, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x2c]
lea edx, [edi - 2]
lea eax, [edi - 1]
inc ebx
mov dword [esp + 0x18], edx
lea edx, [edi - 3]
mov dword [ecx + 0x38], edx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xc]
mov dword [ecx + 0x2c], ebx
push eax
mov dword [esp + 0x18], ebx
push ebx
push esi
call fcn.10089bb0
add esp, 0xc
mov esi, dword [esp + 0x20]
xor eax, eax
mov edx, 0xb
mov ecx, esi
push eax
push dword [esp + 0x28]
push eax
call fcn.1004e520
add esp, 0xc
mov ecx, dword [esi + 0xc]
mov dword [esp + 8], edi
neg edi
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x1005eeb7
mov edx, dword [esp + 0x20]
mov ecx, dword [ecx + 0x40]
mov edx, dword [edx + 0x6c]
mov dword [ecx + edi*4], edx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x90]
lea esi, [esp + 0xc0]
mov dword [eax + 0x1c], 0
push dword [esp + 0x24]
push dword [esp + 0x1c]
push dword [ebp + 8]
push esi
push eax
push 0xffffffffffffffff
call fcn.1008a990
add esp, 0x18
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xc]
xor eax, eax
inc eax
sub eax, dword [esp + 8]
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x1005eec9
mov edx, dword [esp + 0x20]
mov ecx, dword [ecx + 0x40]
mov edx, dword [edx + 0x6c]
mov dword [ecx + eax*4], edx
mov esi, dword [esp + 0x20]
xor eax, eax
mov edx, 0x41
mov ecx, esi
push eax
push eax
push dword [esp + 0x1c]
call fcn.1004e520
add esp, 0xc
mov ecx, dword [esi + 0xc]
mov eax, 2
sub eax, dword [esp + 8]
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x1005eedb
mov edx, dword [esp + 0x20]
mov ecx, dword [ecx + 0x40]
mov edx, dword [edx + 0x6c]
mov dword [ecx + eax*4], edx
mov ebx, dword [esp + 0x1c]
jmp 0x1005bac5
mov edx, dword [esp + 4]
mov edi, dword [eax + 0x14c]
mov esi, dword [edx + 0xf4]
call dword [section..00cfg]
xor eax, eax
push esi
push eax
push eax
push eax
push 0x15
push edi
call ecx
add esp, 0x18
cmp eax, 1
jne 0x1005eef7
push str.not_authorized
mov esi, dword [esp + 8]
push esi
call fcn.1000f470
add esp, 8
mov dword [esi + 0xc], 0x17
jmp 0x1005bb30
mov eax, edx
mov edx, 0xfffffff7
push eax
call fcn.1002cc10
add esp, 4
jmp 0x1005b935
movzx edx, byte [esi + 0x2c]
imul edx, edx, 0x58
lea edx, [edx + esi + 0x2a8]
jmp 0x1005bc60
mov edx, dword [esp + 0x20]
push edi
call fcn.10078ce0
add esp, 4
jmp 0x1005eda0
mov edx, dword [esp + 0x20]
push eax
call fcn.10078ce0
add esp, 4
jmp 0x1005edfb
mov edx, dword [esp + 0x20]
push eax
call fcn.10078ce0
add esp, 4
jmp 0x1005ee3b
mov eax, 0x101d4a28
jmp 0x1005bc9a
test eax, 0xfffffffd
je 0x1005ef79
push str.authorizer_malfunction
mov esi, dword [esp + 8]
push esi
call fcn.1000f470
add esp, 8
mov dword [esi + 0xc], 1
jmp 0x1005bb30
mov ecx, dword [esp + 0x44]
call fcn.1004c320
jmp 0x1005bcb9
mov ecx, dword [esp + 0xc]
mov dl, byte [ecx]
mov ecx, str.UNION
add dl, 0x7b
cmp dl, 2
ja 0x1005ef47
movsx ecx, dl
mov ecx, dword [ecx*4 + 0x1019a544]
test eax, eax
mov eax, str.LIMIT
mov edx, 0x101b444d
cmove edx, eax
push ecx
push edx
push str._s_clause_should_come_after__s_not_before
push dword [esp + 0x10]
call fcn.1000f470
add esp, 0x10
xor ebx, ebx
inc ebx
mov dword [esp + 0x18], 0
jmp 0x1005caf0
test eax, eax
je 0x1005b46b
jmp 0x1005bb30
xor ebx, ebx
jmp 0x1005c5f6
mov eax, dword [esp + 4]
cmp dword [eax + 0x74], 0
je 0x1005f545
mov ecx, dword [esp + 4]
call fcn.1000f530
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov ebx, dword [ecx + 4]
mov esi, dword [ecx + 0x44]
jmp 0x1005ec34
mov ecx, 0x50
xor edx, edx
call fcn.10002c70
test eax, eax
mov dword [esp + 0x14], eax
je 0x1005eca8
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x20]
xor eax, eax
push 0x50
push eax
push dword [esp + 0x1c]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [esp + 0x90]
xor eax, eax
mov edx, dword [esp + 0xc]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 4]
mov dword [ecx], eax
mov dword [ecx + 4], 0x1008cee0
mov dword [ecx + 8], sym.nss3.dll_PR_DuplicateEnvironment
call fcn.10076a70
mov ecx, dword [esp + 0xc]
xor eax, eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], 0
mov dword [edi + 4], eax
mov dword [edi], eax
mov dword [edi + 0xc], eax
mov dword [edi + 8], eax
mov eax, 0xffeffff7
mov edi, dword [esp + 4]
and eax, dword [ecx + 4]
or eax, 0x100000
mov dword [ecx + 4], eax
xor eax, eax
mov ecx, edi
xor edx, edx
inc eax
push eax
push dword [esi + 8]
call fcn.1008ccf0
add esp, 8
mov edx, eax
xor eax, eax
mov ecx, edi
inc eax
push eax
push dword [esi + 0xc]
call fcn.1008ccf0
add esp, 8
test eax, eax
mov dword [esp + 0x40], eax
je 0x1005f0ca
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x1005f0ca
mov ecx, dword [esp + 0x40]
mov eax, dword [eax]
mov edi, dword [ecx]
cmp eax, edi
jg 0x1005f0ca
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x30]
call fcn.10077320
test eax, eax
jne 0x1005f0c4
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x30]
test edx, edx
je 0x1005f0b9
mov ecx, dword [esp + 8]
call fcn.1004c320
mov eax, dword [esp + 0xc]
mov dword [eax + 0x30], 0
mov eax, dword [esp + 0x40]
mov dword [eax], edi
mov edi, dword [esp + 4]
mov edx, esi
mov eax, dword [edi + 0x28]
lea ecx, [eax + 1]
mov dword [edi + 0x28], ecx
mov dword [esi + 0x30], eax
add dword [edi + 0x28], 3
lea eax, [esp + 0xdc]
mov ecx, edi
push eax
push dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push dword [eax + 0x1c]
push dword [esp + 0x24]
call fcn.1008ce00
add esp, 0x10
mov ecx, edi
mov edx, esi
lea edi, [esp + 0xdc]
push edi
push dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push dword [eax + 0x30]
push dword [esp + 0x24]
call fcn.1008ce00
add esp, 0x10
mov edx, dword [edi]
test edx, edx
je 0x1005f130
mov eax, dword [edx]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 4]
mov dword [esi + 0x4c], eax
xor eax, eax
mov ecx, edi
push eax
push dword [esi + 8]
call fcn.1008ccf0
add esp, 8
mov edx, eax
xor eax, eax
mov ecx, edi
push eax
push dword [esi + 0xc]
call fcn.1008ccf0
add esp, 8
mov dword [esp + 0x2c], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0x34], esi
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 0x14]
test byte [ecx + 6], 0x10
jne 0x1005f1b5
xor ecx, ecx
cmp dword [esp + 0x2c], 0
je 0x1005f18e
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x34]
mov dword [edx + 0x50], ecx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x2c]
push 0
push eax
call fcn.1008ccf0
add esp, 8
mov dword [esp + 0x2c], eax
mov dword [esp + 0xdc], eax
jmp 0x1005f1f8
mov ecx, dword [esp + 4]
lea edi, [esp + 0xdc]
mov edx, esi
push edi
push dword [esp + 0x18]
push eax
push dword [esp + 0x24]
call fcn.1008ce00
add esp, 0x10
mov eax, dword [esp + 0xdc]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x1005f277
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x50], eax
mov byte [ecx + 0x60], 1
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x1005f22f
mov ecx, dword [esp + 8]
xor eax, eax
push eax
push eax
call fcn.10078d60
add esp, 8
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x2c]
push eax
call fcn.10061d80
add esp, 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x34]
mov edx, 0x48
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [ecx + 0x2c], eax
mov dword [edi + 0x34], eax
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [ecx + 0x2c], eax
mov ecx, dword [esp + 0x24]
mov dword [edi + 0x38], eax
xor eax, eax
push eax
push dword [edi + 0x34]
push eax
call fcn.1004e520
add esp, 0xc
mov edi, dword [edi + 0x24]
test edi, edi
mov dword [esp + 0x34], edi
je 0x1005f8dd
jmp 0x1005f16c
xor eax, eax
jmp 0x1005f1ed
mov eax, dword [esp + 0x1c]
inc eax
push eax
push str.column_d
push esi
call fcn.1000f4f0
add esp, 0xc
mov ebx, eax
jmp 0x1005c5f6
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
lea eax, [edi - 1]
push dword [esp + 0x58]
push eax
call fcn.1008d180
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x1005f2c3
mov esi, eax
mov dword [ecx + 0x20], eax
jmp 0x1005c37e
xor eax, eax
mov esi, dword [esp + 0x50]
lea ecx, [esp + 0xdc]
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 4]
mov edx, esi
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], 0x1008cee0
mov dword [esp + 0xe4], sym.nss3.dll_PR_DuplicateEnvironment
call fcn.10076a70
test esi, esi
je 0x1005f328
mov ecx, dword [esp + 0x28]
mov edx, esi
push 1
call fcn.1004bfe0
add esp, 4
mov eax, dword [esp + 4]
mov ebx, 0xffffffff
cmp dword [eax + 0x24], 0
jne 0x1005eb37
mov eax, dword [esp + 0x44]
cmp byte [eax + 0x51], 0
jne 0x1005eb37
mov eax, dword [esp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x20]
cmp byte [ecx], 9
jb 0x1005b7ad
mov eax, dword [eax + 0x30]
mov dword [esp + 0x90], eax
jmp 0x1005b7ad
test byte [edi + 6], 0x40
jne 0x1005c450
mov ecx, dword [eax]
test ecx, ecx
jle 0x1005f389
lea edx, [eax + 0x14]
mov word [edx], 0
add edx, 0x14
dec ecx
jne 0x1005f37e
mov ecx, dword [esp + 0x14]
mov edi, ecx
mov dword [ecx + 0x30], eax
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x30], 0
jmp 0x1005c450
mov edx, dword [esp + 0x2c]
mov ecx, esi
call fcn.10081590
mov edi, dword [esp + 0x14]
jmp 0x1005c465
mov eax, dword [edx + 0x24]
test eax, eax
je 0x1005f3d2
mov ecx, dword [esp + 4]
mov edx, 0x2c
push eax
push esi
call fcn.100582e0
add esp, 8
mov esi, eax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
mov dword [edx + 0x24], esi
jmp 0x1005c473
mov ecx, dword [esp + 0x10]
mov dword [edx + 0x3c], eax
mov dword [ecx + 0x3c], 0
jmp 0x1005c4d5
mov eax, dword [esp + 4]
cmp dword [eax + 0x74], 0
je 0x1005f778
mov ecx, dword [esp + 4]
call fcn.1000f530
jmp 0x1005b823
mov esi, dword [esp + 0xc]
xor ecx, ecx
mov edx, dword [esi + 0x3c]
test edx, edx
mov dword [esp + 0x1c], edx
sete dl
cmp dword [esi + 0x44], 0
jne 0x1005b84c
mov esi, dword [esp + 0xc]
mov cl, dl
xor edx, edx
inc edx
mov dword [esp + 0x10], edx
mov edx, dword [esi + 0x34]
test edx, edx
je 0x1005f9e8
add dword [esp + 0x10], ecx
cmp dword [edx + 0x44], 0
mov esi, edx
je 0x1005f43a
jmp 0x1005b84c
mov ecx, dword [esp + 0x24]
push 1
call fcn.1004bfe0
add esp, 4
jmp 0x1005cb13
mov ebx, eax
jmp 0x1005ef6c
mov ecx, dword [edx + 8]
jns 0x1005f479
mov eax, dword [ecx + 0x6c]
dec eax
mov esi, dword [ecx]
mov edx, 0x101d4a28
cmp byte [esi + 0x51], 0
jne 0x1005f48f
lea edx, [eax + eax*4]
shl edx, 2
add edx, dword [ecx + 0x68]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 4]
jmp 0x1005cada
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x3c], 0
jne 0x1005f33b
cmp dword [edx + 0x10], 0
jne 0x1005f33b
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
bt eax, 8
mov dword [esp + 0x2c], eax
jae 0x1005beec
jmp 0x1005f33b
test byte [esp + 0x24], 1
jne 0x1005f33b
cmp dword [edi], 1
jle 0x1005bf11
jmp 0x1005f33b
cmp dword [esi + 0x30], 0
jne 0x1005f33b
jmp 0x1005bf34
cmp dword [esi + 0x30], 0
jne 0x1005f33b
jmp 0x1005bf3f
test byte [esp + 0x2c], 1
jne 0x1005f33b
mov edx, dword [esp + 0xc]
cmp dword [edx + 0x24], 0
je 0x1005bf47
jmp 0x1005f33b
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
jmp 0x1005d208
mov ecx, dword [esp + 0x24]
call fcn.1004bd70
jmp 0x1005c928
mov eax, dword [esp + 4]
mov eax, dword [eax]
test byte [eax + 0x4c], 8
jne 0x1005ef9b
mov eax, dword [esp + 4]
mov byte [eax + 0x17], 1
jmp 0x1005ef9b
test byte [esp + 0x24], 1
jne 0x1005f33b
cmp dword [esp + 0x34], 1
jg 0x1005f33b
mov edx, dword [esp + 0x2c]
mov eax, dword [ecx + 0x18]
and edx, 1
or edx, dword [eax + 0x38]
jne 0x1005f33b
mov al, 1
mov dword [esp + 0x3c], eax
xor eax, eax
inc eax
mov dword [esp + 0x38], eax
jmp 0x1005bf72
cmp al, 0x86
je 0x1005b89d
mov ecx, dword [esp + 4]
mov edx, 0x64
mov esi, dword [ecx + 0x28]
lea eax, [esi + 2]
mov dword [ecx + 0x28], eax
mov ecx, dword [esp + 8]
xor eax, eax
push eax
push eax
mov dword [esp + 0x1c], esi
push esi
call fcn.1004e520
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x14], eax
mov eax, ecx
mov ecx, dword [ecx + 0x38]
test ecx, ecx
jne 0x1005f5d3
or byte [eax + 4], 0x20
lea esi, [esp + 0x70]
mov dword [esp + 0x18], 0
mov edx, edi
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 4]
mov byte [esi], 1
mov dword [esi + 4], eax
xor eax, eax
mov dword [esi + 0xc], eax
mov dword [esi + 8], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], eax
push esi
call fcn.1005b3c0
add esp, 4
test eax, eax
je 0x1006053d
mov ebx, eax
jmp 0x1005caf0
mov ecx, dword [esp + 8]
xor ebx, ebx
mov edx, 0x14
push ebx
push ebx
push eax
call fcn.1004e520
add esp, 0xc
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1006005b
mov ecx, dword [esp + 8]
mov edx, 0x99
push eax
inc eax
push eax
mov esi, dword [esp + 0x14]
push dword [esi + 8]
call fcn.1004e520
add esp, 0xc
jmp 0x1005c0a7
mov ecx, dword [eax + 0xc]
lea edx, [esp + 0x70]
call fcn.10081820
test eax, eax
je 0x1005caad
mov eax, dword [esp + 0x70]
test eax, eax
mov dword [esp + 0x10], eax
jle 0x1005caad
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x10], 8
movzx eax, word [eax + 2]
mov word [esp + 0x20], ax
jae 0x100604cf
cmp dword [esp + 0x10], 2
jae 0x100608d2
cmp word [esp + 0x20], 0
jle 0x1005caad
xor ecx, ecx
jmp 0x10061344
mov eax, dword [esp + 8]
mov ecx, 0x101d4a28
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
cmp byte [edx + 0x51], 0
jne 0x1005f6ee
mov edx, dword [esp + 0x14]
lea ecx, [eax - 1]
mov esi, dword [esp + 8]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [esi + 0x68]
mov dword [ecx + 8], eax
jmp 0x1005cab8
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
jle 0x1005c129
add dword [esp + 0x1c], 0x14
mov ecx, dword [esp + 0x1c]
cmp word [ecx], 0
je 0x1005f33b
add dword [esp + 0x1c], 0x14
dec eax
jne 0x1005f709
jmp 0x1005c129
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
jmp 0x1005c1ee
mov dword [ecx + 0x38], eax
jmp 0x1005c1e5
mov ecx, dword [esp + 0x28]
call fcn.10019c40
mov ecx, dword [esp + 0x18]
jmp 0x1005c227
mov ecx, dword [esp + 0x28]
call fcn.10019c40
mov ecx, dword [esp + 0x18]
jmp 0x1005c236
mov ecx, dword [esp + 0x28]
call fcn.10019c40
mov ecx, dword [esp + 0x18]
jmp 0x1005c247
dec edx
mov dword [eax + 0x20], edx
jmp 0x1005c28c
mov eax, dword [esp + 0x24]
test byte [eax + 0x4c], 8
jne 0x1005f403
mov eax, dword [esp + 4]
mov byte [eax + 0x17], 1
jmp 0x1005f403
mov edx, 0xfffffff7
push dword [esp + 0x2c]
call fcn.1002cc10
add esp, 4
mov ebx, dword [esp + 0x1c]
jmp 0x1005c75c
mov eax, dword [esp + 4]
mov al, byte [eax + 0x13]
test al, al
je 0x100601cf
mov edi, dword [esp + 4]
mov ecx, eax
mov ah, byte [esp + 0x3c]
dec cl
movzx edx, cl
mov byte [edi + 0x13], cl
and ah, 0xfd
mov edx, dword [edi + edx*4 + 0x98]
cmp ah, 0xc
mov dword [esp + 0x38], edx
jne 0x1006050e
test cl, cl
je 0x10060ce3
mov ecx, dword [esp + 4]
add al, 0xfe
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0x98]
mov dword [esp + 0x10], eax
jmp 0x100601fc
mov ebx, 7
jmp 0x1005caf0
mov ecx, 0x101d4a28
jmp 0x1005cbb8
cmp dword [edx + 0x1f0], 0
mov edx, edi
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
jne 0x1005cbfb
test eax, eax
mov dword [edi], eax
jne 0x1005cbfb
mov ecx, dword [edi + 0xc]
mov edx, edi
call fcn.10019c40
mov edx, dword [esp + 8]
jmp 0x1005cbfb
mov eax, dword [esp + 0xc]
test byte [eax + 6], 4
je 0x1005be7e
xor eax, eax
cmp dword [edx], 1
mov ecx, edx
jne 0x100607e4
mov edx, ecx
jmp 0x1005b7af
mov edx, dword [esp + 8]
push edi
call fcn.10078ce0
mov esi, dword [esp + 0xc]
add esp, 4
jmp 0x1005ca56
mov dword [esp + 0x2c], 0
mov esi, dword [esp + 0x2c]
xor ebx, ebx
jmp 0x1005bb0e
mov edi, dword [eax + 0x14c]
call dword [section..00cfg]
push esi
xor eax, eax
push eax
push eax
push eax
push 0x15
push edi
call ecx
add esp, 0x18
cmp eax, 1
jne 0x1006020d
push str.not_authorized
mov edi, dword [esp + 8]
push edi
call fcn.1000f470
add esp, 8
mov dword [edi + 0xc], 0x17
jmp 0x1005c163
cmp dword [esp + 0x2c], 0
jne 0x1005f923
mov ecx, dword [esp + 8]
lea eax, [esp + 0x70]
mov edx, 0x98
mov dword [eax], 0x101bd0ef
mov dword [eax + 4], 1
push 0
push eax
call fcn.10062130
add esp, 8
mov ecx, dword [esp + 4]
xor edx, edx
push eax
call fcn.10061d80
add esp, 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0xdc], eax
mov edi, dword [esp + 4]
mov edx, dword [esp + 0x2c]
xor esi, esi
mov ecx, edi
push esi
push esi
push dword [esp + 0x48]
push dword [esp + 0x34]
push dword [esp + 0x2c]
push dword [esp + 0x24]
push dword [esp + 0x30]
call fcn.100619e0
add esp, 0x1c
mov ecx, dword [edi]
mov dword [esp + 0x24], eax
mov edx, 0x50
push esi
call fcn.10019ed0
add esp, 4
test eax, eax
jne 0x10061430
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x24], 0
mov dword [eax], 0
je 0x100607d7
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x24]
push 1
call fcn.1004bfe0
add esp, 4
mov dword [esp + 0x18], 0
xor esi, esi
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x14]
mov bl, byte [ecx + 0x51]
call fcn.10019c40
mov eax, ebx
test bl, bl
mov ebx, 7
mov ecx, dword [esp + 0xc]
cmove ebx, esi
cmp byte [esp + 0x18], 0
jne 0x1005f9c9
test al, al
je 0x1005b724
mov eax, dword [esp + 4]
cmp dword [eax + 0x24], 0
je 0x10060821
mov ecx, dword [esp + 0xc]
test ebx, ebx
je 0x1005b724
jmp 0x1005bb16
mov edx, dword [esp + 0x10]
mov eax, 0x101c3b42
mov ecx, 0x101b5951
cmp edx, 1
cmove ecx, eax
push ecx
push edx
push str.SCAN__d_CONSTANT_ROW_s
push 0
push dword [esp + 0x14]
call fcn.100777a0
add esp, 0x14
xor edi, edi
inc edi
mov ecx, dword [esp + 4]
xor ebx, ebx
mov edx, esi
push edi
push edi
lea eax, [esp + 0xc8]
push eax
push ebx
push ebx
push 0xffffffffffffffff
call fcn.1008a990
add esp, 0x18
cmp dword [esp + 0x1c], 0
jne 0x1005ef6c
mov eax, dword [esp + 0x10]
mov ebx, 0
mov dword [esp + 0x18], 0
mov word [esi + 2], ax
mov esi, dword [esi + 0x38]
test esi, esi
jne 0x1005fa14
jmp 0x1005caf0
mov ecx, 0x38
xor edx, edx
call fcn.10002c70
jmp 0x1005cce1
push edi
call fcn.10078ce0
add esp, 4
jmp 0x1005bac7
mov eax, dword [esp + 0xc]
mov esi, ebx
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
jle 0x1005fa9e
inc ecx
add eax, 0x16
dec ecx
mov word [eax], 0
add eax, 0x14
cmp ecx, 1
jg 0x1005fa90
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
test eax, eax
jle 0x1005fabe
mov ecx, dword [esp + 0x14]
inc eax
add ecx, 0x16
dec eax
mov word [ecx], 0
add ecx, 0x14
cmp eax, 1
jg 0x1005fab0
mov eax, dword [esp + 0xc]
cmp word [eax + 2], 0x43
jl 0x1005fad3
mov eax, dword [esp + 0xc]
mov word [eax + 2], 0x42
mov edx, dword [esp + 0x90]
mov dword [esp + 0x48], 0
test edx, edx
je 0x1005fb2d
mov eax, dword [esp + 0x14]
mov ebx, esi
mov eax, dword [eax]
cmp eax, dword [edx]
jne 0x1005cc9e
test eax, eax
jle 0x1005fb19
mov edi, dword [esp + 0x14]
mov ecx, 0xc
mov dl, byte [edx + ecx]
and dl, 1
mov byte [edi + ecx], dl
add ecx, 0x14
dec eax
mov edx, dword [esp + 0x90]
jne 0x1005fb03
mov ecx, dword [esp + 0x14]
call fcn.10077320
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x48], ecx
mov ebx, esi
jmp 0x1005cc9e
mov esi, dword [ecx]
jmp 0x1005cd80
cmp dword [esi], 0
jle 0x1005ce05
lea ebx, [esi + 4]
xor edi, edi
mov edx, dword [ebx]
xor ecx, ecx
lea eax, [esp + 0x70]
mov dword [esp + 0xe0], 0x1009ad20
mov dword [esp + 0xe4], 0x1008cec0
mov dword [esp + 0xe8], 0x1008ced0
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf4], eax
mov dword [esp + 0xdc], ecx
test edx, edx
je 0x1005fb97
lea ecx, [esp + 0xdc]
call fcn.10076970
inc edi
add ebx, 0x14
cmp edi, dword [esi]
jl 0x1005fb49
jmp 0x1005ce05
cmp dword [esp + 0x14], 0
je 0x1005fc08
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0xc]
xor eax, eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], 0x1009ab70
mov dword [esp + 0xf4], ecx
mov edx, dword [ecx + 0x2c]
test edx, edx
je 0x1005fbfd
lea ecx, [esp + 0xdc]
call fcn.10076970
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x18], eax
lea ecx, [esp + 0xdc]
xor eax, eax
lea edx, [esp + 0x70]
mov dword [ecx + 4], 0x1009ad20
mov dword [ecx + 8], 0x1008cec0
mov dword [ecx + 0xc], 0x1008ced0
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x18], edx
mov edx, dword [esp + 0x28]
mov dword [ecx], eax
call fcn.10076970
jmp 0x1005ce10
test dl, dl
jne 0x1005ce89
mov ecx, dword [edi + 4]
call fcn.10078b00
test eax, eax
mov bl, 1
setne al
add al, al
mov byte [esp + 0x2c], al
jmp 0x1005d1d4
mov eax, dword [eax + 0x2c]
mov ecx, 0
mov edx, dword [eax + 0x28]
lea eax, [esp + 0x70]
mov dword [esp + 0xe0], 0x1009ad20
mov dword [esp + 0xe4], 0x1008cec0
mov dword [esp + 0xe8], 0x1008ced0
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf4], eax
mov dword [esp + 0xdc], ecx
test edx, edx
je 0x1005d2b5
lea ecx, [esp + 0xdc]
call fcn.10076970
jmp 0x1005d2b5
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x24]
mov edx, ebx
mov eax, dword [esi + 0x28]
lea ecx, [eax + 1]
mov dword [esi + 0x28], ecx
mov dword [edi + 4], eax
xor eax, eax
mov ecx, esi
push dword [edi + 0x20]
push eax
call fcn.10083f00
add esp, 8
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
xor eax, eax
mov edx, 0x6f
push eax
push dword [edi + 0xc]
push dword [edi + 4]
call fcn.1004e520
add esp, 0xc
mov edi, dword [esp + 0x20]
mov edx, eax
mov dword [esp + 0x68], eax
mov ecx, edi
push 0xfffffffffffffff7
push dword [esp + 0x50]
call fcn.1000f710
add esp, 8
mov ecx, dword [esi + 0x2c]
mov eax, dword [esi + 0x38]
lea edx, [ecx + 4]
mov dword [esp + 0x60], eax
lea eax, [eax - 2]
mov dword [esp + 0x3c], ecx
mov dword [esi + 0x2c], edx
mov dword [esi + 0x38], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x50], edx
mov edx, 0x45
mov eax, dword [ebx]
mov dword [esp + 0x6c], eax
lea eax, [eax + ecx + 4]
mov dword [esi + 0x2c], eax
add eax, dword [ebx]
mov dword [esi + 0x2c], eax
lea eax, [ecx + 2]
add ecx, 5
mov dword [esp + 0x58], eax
xor eax, eax
mov dword [esp + 0x54], ecx
mov ecx, edi
push eax
xor eax, eax
push dword [esp + 0x5c]
push eax
call fcn.1004e520
add esp, 0xc
mov eax, dword [ebx]
mov ecx, edi
mov edx, 0x48
add eax, dword [esp + 0x50]
push eax
push dword [esp + 0x58]
xor eax, eax
push eax
call fcn.1004e520
add esp, 0xc
xor eax, eax
mov ecx, edi
mov edx, 0xc
push eax
push dword [esp + 0x68]
push dword [esp + 0x58]
call fcn.1004e520
add esp, 0xc
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 8]
mov ecx, esi
xor esi, esi
shl eax, 9
or eax, 0x40
push esi
push eax
xor edi, edi
push esi
push ebx
push dword [esp + 0x28]
call fcn.10084750
add esp, 0x14
test eax, eax
mov dword [esp + 0x5c], eax
je 0x1005f891
mov eax, dword [esp + 0x5c]
mov cl, 1
mov dword [esp + 0x30], 0
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x14]
movsx eax, byte [eax + 0x2d]
cmp dword [ecx], eax
je 0x10060de5
cmp byte [esp + 0xc0], 0
je 0x100612cf
mov eax, dword [esp + 0xc]
mov ecx, str.DISTINCT
test byte [eax + 4], 1
mov eax, str.GROUP_BY
cmove eax, ecx
push eax
push str.USE_TEMP_B_TREE_FOR__s
push 0
push dword [esp + 0x10]
call fcn.100777a0
add esp, 0x10
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
mov dword [esp + 8], ecx
mov dword [esp + 0x18], ecx
test eax, eax
jle 0x1005fe7c
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 8]
mov ecx, dword [ecx + 0x1c]
mov edx, esi
mov dword [esp + 0x18], esi
add ecx, 0x12
movsx esi, word [ecx]
xor ebx, ebx
cmp edx, esi
setle bl
add ecx, 0x14
add dword [esp + 0x18], ebx
add edx, ebx
dec eax
jne 0x1005fe66
cmp dword [esp + 0x18], 1
jne 0x10060d18
mov eax, dword [esp + 4]
mov al, byte [eax + 0x13]
test al, al
je 0x10061538
mov ecx, dword [esp + 4]
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0x98]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x14]
xor edi, edi
push edi
push edi
push dword [esp + 0x40]
call fcn.10073a80
add esp, 0xc
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
test eax, eax
jle 0x1005ff25
mov ebx, 0x12
mov ecx, dword [esp + 0x24]
mov esi, dword [ecx + 0x1c]
movsx ecx, word [esi + ebx]
cmp dword [esp + 8], ecx
jg 0x1005ff1d
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 8]
mov edx, dword [esi + ebx - 0x12]
add eax, ecx
movsx ecx, word [esi + ebx - 2]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x20]
push eax
push dword [esp + 0x34]
push dword [esi + ebx - 0xa]
call fcn.10075b90
add esp, 0xc
mov eax, dword [esp + 0x24]
inc dword [esp + 8]
mov eax, dword [eax + 0x20]
inc edi
add ebx, 0x14
cmp edi, eax
jl 0x1005fed5
mov eax, dword [esp + 4]
mov al, byte [eax + 0x13]
test al, al
je 0x100612d9
mov ecx, dword [esp + 4]
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov edi, dword [ecx + eax*4 + 0x98]
mov esi, dword [esp + 0x20]
mov edx, 0x5b
mov ecx, esi
push edi
push dword [esp + 0x1c]
push dword [esp + 0x40]
call fcn.1004e520
add esp, 0xc
mov ecx, esi
mov edx, 0x84
push 0
push edi
mov eax, dword [esp + 0x2c]
push dword [eax + 4]
call fcn.1004e520
add esp, 0xc
test edi, edi
je 0x1005ff9f
mov eax, dword [esp + 4]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x1005ff9f
mov edx, dword [esp + 4]
mov ecx, eax
inc cl
mov byte [edx + 0x13], cl
mov dword [edx + eax*4 + 0x98], edi
cmp dword [esp + 0x18], 1
jne 0x10060d43
cmp dword [esp + 0x38], 0
je 0x10060d62
mov eax, dword [esp + 4]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x10060d62
mov edx, dword [esp + 4]
mov esi, dword [esp + 0x38]
mov ecx, eax
inc cl
mov byte [edx + 0x13], cl
mov dword [edx + eax*4 + 0x98], esi
jmp 0x10060d62
test eax, eax
jle 0x10060806
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x24]
mov edx, dword [ecx + 0x28]
xor ecx, ecx
add edx, 4
mov esi, dword [edx - 4]
test byte [esi + 7], 1
jne 0x1006000e
mov esi, dword [edx]
test byte [esi + 4], 0x20
jne 0x10060808
inc ecx
add edx, 0x10
cmp eax, ecx
jne 0x1005fff9
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x20]
mov edx, 0x45
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
xor eax, eax
push eax
mov dword [esp + 0x18], esi
push esi
push eax
call fcn.1004e520
add esp, 0xc
jmp 0x1005d322
mov ecx, dword [esp + 0x20]
mov edx, 0x45
push 0
push ebx
push 1
call fcn.1004e520
add esp, 0xc
jmp 0x1005d372
mov esi, dword [esp + 0xc]
jmp 0x1005c0a7
xor ebx, ebx
mov ecx, edi
mov edx, 0xc
push ebx
push eax
push dword [esp + 0xa4]
call fcn.1004e520
add esp, 0xc
mov ecx, edi
mov edx, 0xb
push ebx
push dword [esp + 0x38]
push ebx
call fcn.1004e520
add esp, 0xc
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0xa0]
mov edx, dword [ecx + 0x38]
not eax
add edx, dword [ecx + 0x3c]
js 0x1006084c
mov edi, dword [esp + 8]
mov ecx, dword [ecx + 0x40]
mov edx, dword [edi + 0x6c]
mov dword [ecx + eax*4], edx
mov dl, byte [esp + 0x3c]
jmp 0x1005cf1c
cmp byte [esp + 0x3c], 0xb
jne 0x100600e1
cmp dword [esp + 0x28], 1
jne 0x10060c8e
cmp dword [esp + 0x10], 0
je 0x1006010b
mov eax, dword [esp + 4]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x1006010b
mov edx, dword [esp + 4]
mov ecx, eax
inc cl
mov byte [edx + 0x13], cl
mov ecx, dword [esp + 0x10]
mov dword [edx + eax*4 + 0x98], ecx
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x38]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x1005dbaf
mov edx, dword [esp + 4]
mov ecx, eax
inc cl
mov byte [edx + 0x13], cl
mov dword [edx + eax*4 + 0x98], edi
jmp 0x1005dbaf
mov ecx, edi
mov edi, edx
xor eax, eax
mov edx, 0x11
push eax
push eax
push eax
call fcn.1004e520
mov edx, edi
mov edi, dword [esp + 0x14]
add esp, 0xc
mov esi, eax
jmp 0x1005cf98
mov eax, dword [esp + 8]
mov ecx, 0x101d4a28
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
cmp byte [edx + 0x51], 0
jne 0x100601a6
lea ecx, [eax - 1]
test esi, esi
mov edx, dword [esp + 8]
cmovns ecx, esi
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edx + 0x68]
mov edi, dword [esp + 0x40]
mov dword [ecx + 8], eax
jmp 0x1005cfe9
mov ecx, dword [esp + 8]
mov edx, 0x30
push 1
push dword [esp + 0x5c]
push eax
call fcn.1004e520
add esp, 0xc
jmp 0x1005d035
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x2c]
inc edx
mov ecx, edx
mov dword [eax + 0x2c], edx
mov dl, byte [esp + 0x3c]
and dl, 0xfd
cmp dl, 0xc
jne 0x10060860
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 4]
inc ecx
mov dword [esp + 0x10], ecx
mov dword [eax + 0x2c], ecx
mov dword [esp + 0x28], 0
mov edi, dword [esp + 8]
jmp 0x1005cf53
mov edi, dword [esp + 4]
test eax, 0xfffffffd
je 0x1005c163
push str.authorizer_malfunction
push edi
call fcn.1000f470
add esp, 8
mov dword [edi + 0xc], 1
jmp 0x1005c163
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 8]
mov edx, 0x5b
mov eax, dword [eax + 0x14]
mov dword [esp + 0xc], eax
push dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov edi, ebx
mov ebx, eax
push eax
mov esi, dword [esp + 0x18]
push esi
call fcn.1004e520
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, eax
push ebx
mov ebx, edi
push dword [esp + 0x10]
call fcn.1000f710
add esp, 8
mov ecx, dword [esp + 8]
mov edx, 0x83
push esi
push dword [esp + 0x3c]
push dword [esp + 0x54]
call fcn.1004e520
add esp, 0xc
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
cmp byte [ecx + 0x51], 0
jne case.0x1005d15c.246
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov ecx, dword [ecx + 0x68]
mov byte [ecx + eax*4 + 1], 0xfd
mov dword [ecx + eax*4 + 0x10], esi
jmp case.0x1005d15c.246
mov ecx, dword [esp + 8]
mov edx, 0x59
push dword [esp + 0x10]
push dword [esp + 0x54]
push dword [esp + 0x20]
call fcn.1004e520
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, 0x79
push 0
mov esi, dword [esp + 0x3c]
push esi
mov edi, ebx
mov ebx, dword [esp + 0x54]
push ebx
call fcn.1004e520
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, 0x7a
push esi
push dword [esp + 0x14]
push ebx
mov ebx, edi
call fcn.1004e520
add esp, 0xc
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x6c]
test eax, eax
jle case.0x1005d15c.246
mov ecx, dword [esp + 8]
lea eax, [eax + eax*4]
mov ecx, dword [ecx + 0x68]
mov word [ecx + eax*4 - 0x12], 8
jmp case.0x1005d15c.246
mov eax, dword [ebp + 8]
mov esi, dword [eax + 8]
mov eax, dword [esp + 4]
mov al, byte [eax + 0x13]
test al, al
je 0x10060c1a
mov ecx, dword [esp + 4]
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov edi, dword [ecx + eax*4 + 0x98]
mov ebx, dword [esp + 0x28]
mov eax, esi
mov ecx, dword [esp + 8]
mov edx, 0x5b
shr eax, 0x1f
sub ebx, eax
add eax, dword [esp + 0x10]
push edi
push ebx
push eax
call fcn.1004e520
add esp, 0xc
test esi, esi
js 0x10060c2a
mov ebx, dword [esp + 8]
mov edx, 0x83
mov ecx, ebx
push dword [esp + 0x10]
push edi
push dword [esp + 0x54]
call fcn.1004e520
add esp, 0xc
mov ecx, dword [ebx]
mov ebx, dword [esp + 0x48]
cmp byte [ecx + 0x51], 0
jne case.0x1005d15c.246
mov ecx, dword [esp + 8]
jmp 0x100602aa
push str.cannot_use_window_functions_in_recursive_queries
push dword [esp + 8]
call fcn.1000f470
add esp, 8
jmp 0x1005d84e
mov esi, dword [esp + 0x1c]
jmp 0x1005d4e5
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
call fcn.1008d8f0
mov edi, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov ecx, esi
mov edx, 0x64
mov eax, dword [edi]
add eax, 2
push 0
push eax
push dword [esp + 0x1c]
call fcn.1004e520
add esp, 0xc
mov ecx, esi
mov edx, eax
push 0xfffffffffffffff7
push dword [esp + 0x2c]
call fcn.1000f710
add esp, 8
mov dword [esp + 0x88], edi
jmp 0x1005d5b8
mov eax, dword [0x34]
jmp 0x1005d606
push str.recursive_aggregate_queries_not_supported
push dword [esp + 8]
call fcn.1000f470
add esp, 8
jmp 0x1005d831
mov eax, dword [esp + 0x18]
mov ecx, esi
mov edx, 0x59
mov eax, dword [eax]
inc eax
push edi
push eax
push dword [esp + 0x1c]
call fcn.1004e520
jmp 0x1005e9be
mov ecx, dword [esp + 0x1c]
mov edx, 0x30
push 1
push edi
push eax
call fcn.1004e520
add esp, 0xc
jmp 0x1005d753
mov ecx, dword [esp + 0x1c]
mov edx, 0x3b
push 0
push esi
push eax
call fcn.1004e520
add esp, 0xc
jmp 0x1005d783
mov edx, esi
push ebx
call fcn.10078ce0
add esp, 4
jmp 0x1005d7a1
mov edx, esi
push edi
call fcn.10078ce0
add esp, 4
jmp 0x1005d831
mov eax, dword [esp + 4]
mov ecx, dword [eax]
call fcn.1004c320
jmp 0x1005d840
cmp dword [esp + 0x10], 0x100
jb 0x10060900
mov esi, dword [esp + 0x10]
xor ecx, ecx
mov ax, 0x50
mov dword [esp + 0x1c], eax
mov edi, esi
mov esi, ecx
mov eax, ecx
shr ecx, 4
shld esi, edi, 0x1c
cmp edi, 0x1000
sbb eax, 0
jb 0x1006090e
add dword [esp + 0x1c], 0x28
jmp 0x100604eb
cmp dword [esp + 0x28], 1
jne 0x100609ab
test cl, cl
je 0x10061363
mov ecx, dword [esp + 4]
add al, 0xfe
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0x98]
mov dword [esp + 0x10], eax
jmp 0x1006087b
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
xor ebx, ebx
mov edx, 0x64
lea esi, [eax + 1]
push ebx
push ebx
push esi
call fcn.1004e520
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1c], esi
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x34], ebx
mov eax, dword [ecx + 0x3c]
mov dword [ecx + 0x3c], ebx
mov dword [esp + 0x74], esi
mov cl, byte [ecx]
mov dword [esp + 0x10], eax
mov eax, str.UNION
add cl, 0x7b
cmp cl, 2
ja 0x1006058f
movsx eax, cl
mov eax, dword [eax*4 + 0x1019a544]
push eax
push str._s_USING_TEMP_B_TREE
push 1
mov ebx, dword [esp + 0x10]
push ebx
call fcn.100777a0
add esp, 0x10
mov esi, dword [esp + 0xc]
lea eax, [esp + 0x70]
mov ecx, ebx
mov edx, esi
push eax
call fcn.1005b3c0
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x34]
mov dword [esi + 0x34], edi
mov dword [esp + 0x18], eax
movzx eax, word [edi + 2]
cmp word [esi + 2], ax
jle 0x100605d7
mov ecx, dword [esp + 0xc]
mov word [ecx + 2], ax
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x3c]
test edx, edx
je 0x100605eb
mov ecx, dword [esp + 0x24]
call fcn.1004bd70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test ebx, ebx
mov dword [eax + 0x3c], ecx
jne 0x1005cab8
mov esi, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov ecx, dword [esi + 0x38]
lea eax, [ecx - 2]
lea edi, [ecx - 1]
mov dword [esp + 0x10], ecx
mov ecx, esi
mov dword [esp + 0x20], eax
mov dword [esi + 0x38], eax
push edi
call fcn.10083f80
add esp, 4
mov ecx, dword [esp + 8]
mov edx, 0x25
push 0
mov dword [esp + 0x2c], edi
push edi
push dword [esp + 0x1c]
call fcn.1004e520
add esp, 0xc
mov al, byte [esi + 0x13]
test al, al
je 0x100614f4
mov ecx, dword [esp + 4]
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov esi, dword [ecx + eax*4 + 0x98]
mov edi, dword [esp + 8]
mov edx, 0x7f
mov ecx, edi
push 0
push esi
push dword [esp + 0x1c]
call fcn.1004e520
add esp, 0xc
mov dword [esp + 0x44], eax
mov ecx, edi
mov edx, 0x1d
push esi
push dword [esp + 0x24]
push dword [esp + 0x24]
call fcn.1004e520
add esp, 0xc
mov ecx, dword [edi]
cmp byte [ecx + 0x51], 0
jne 0x100606b4
mov ecx, dword [esp + 8]
lea eax, [eax + eax*4]
mov ecx, dword [ecx + 0x68]
mov byte [ecx + eax*4 + 1], 0xfd
mov dword [ecx + eax*4 + 0x10], 0
test esi, esi
je 0x100606d7
mov eax, dword [esp + 4]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x100606d7
mov edx, dword [esp + 4]
mov ecx, eax
inc cl
mov byte [edx + 0x13], cl
mov dword [edx + eax*4 + 0x98], esi
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
lea eax, [esp + 0xc0]
xor esi, esi
push dword [esp + 0x28]
push dword [esp + 0x24]
push eax
push esi
push esi
push dword [esp + 0x28]
call fcn.1008a990
add esp, 0x18
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0xc]
xor eax, eax
inc eax
sub eax, dword [esp + 0x10]
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x10061504
mov edx, dword [esp + 8]
mov ecx, dword [ecx + 0x40]
mov edx, dword [edx + 0x6c]
mov dword [ecx + eax*4], edx
mov esi, dword [esp + 8]
mov edx, 5
mov ecx, esi
push 0
push dword [esp + 0x48]
push dword [esp + 0x1c]
call fcn.1004e520
add esp, 0xc
mov ecx, dword [esi + 0xc]
neg dword [esp + 0x10]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x10061516
mov eax, dword [esp + 8]
mov ecx, dword [ecx + 0x40]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + 0x6c]
mov dword [ecx + edx*4], eax
mov edi, dword [esp + 8]
xor esi, esi
mov edx, 0x74
mov ecx, edi
push esi
push esi
push dword [esp + 0x24]
call fcn.1004e520
add esp, 0xc
mov ecx, edi
mov edx, 0x74
push esi
push esi
push dword [esp + 0x1c]
call fcn.1004e520
jmp 0x1005e2a3
mov ecx, 0x101d4a28
jmp 0x1005cc1e
cmp dword [edx + 0x1f0], 0
mov edx, edi
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
jne 0x1005cc61
test eax, eax
mov dword [edi], eax
jne 0x1005cc61
mov ecx, dword [edi + 0xc]
mov edx, edi
call fcn.10019c40
mov edx, dword [esp + 8]
jmp 0x1005cc61
mov dword [esp + 0x18], 0
jmp 0x1005f99a
test byte [ecx + 0x74], 0xa
mov edx, ecx
jne 0x1005b7af
jmp 0x1005be7e
xor eax, eax
jmp 0x1005d1f9
mov ecx, 0x101d4a28
jmp 0x1005da30
xor ecx, ecx
mov edi, dword [esp + 0x24]
cmp ecx, eax
mov dword [esp + 0x14], 0
jne 0x1005d322
jmp 0x10060016
mov eax, dword [esp + 4]
mov eax, dword [eax]
test eax, eax
je 0x1005f9d7
mov eax, dword [eax + 0xec]
test eax, eax
je 0x1005f9d7
mov dword [eax + 0xc], 7
inc dword [eax + 0x24]
jmp 0x1005f9d7
mov edi, dword [esp + 8]
mov edx, edi
push eax
call fcn.10078ce0
add esp, 4
jmp 0x100600c6
cmp dword [esp + 0x28], 1
mov dword [esp + 0x38], ecx
jne 0x100609af
mov eax, dword [esp + 4]
inc ecx
mov dword [esp + 0x10], ecx
mov dword [eax + 0x2c], ecx
xor eax, eax
inc eax
mov dword [esp + 0x28], eax
jmp 0x10060204
mov edx, dword [esp + 4]
mov esi, dword [eax + 0x14c]
mov edi, dword [edx + 0xf4]
call dword [section..00cfg]
xor eax, eax
push edi
push eax
push eax
push eax
push 0x21
push esi
call ecx
add esp, 0x18
cmp eax, 1
jne 0x10060cef
push str.not_authorized
mov esi, dword [esp + 8]
push esi
call fcn.1000f470
add esp, 8
mov dword [esi + 0xc], 0x17
jmp 0x1005d84e
mov ax, 0x1e
xor edi, edi
mov edx, 3
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
cmp edx, eax
mov ecx, 0
lea esi, [eax + eax]
sbb ecx, edi
jb 0x1006093b
add dword [esp + 0x1c], 0xfffffff6
shld edi, eax, 1
mov eax, esi
jmp 0x100608e5
mov esi, dword [esp + 0x10]
xor ecx, ecx
mov ax, 0x28
mov dword [esp + 0x1c], eax
cmp esi, 0x10
mov eax, ecx
sbb eax, 0
jb 0x1006093b
mov edi, ecx
mov edx, 0x1f
mov eax, esi
mov esi, ecx
add dword [esp + 0x1c], 0xa
shr edi, 1
shld esi, eax, 0x1f
cmp edx, eax
mov eax, 0
sbb eax, ecx
mov ecx, edi
jb 0x1006091f
mov eax, dword [esp + 0x1c]
and esi, 7
add ax, word [esi + esi + 0x101950e8]
add eax, 0xfffffff6
cmp word [esp + 0x20], ax
jle 0x1005caad
cmp dword [esp + 0x10], 8
jae 0x10060c4d
xor edx, edx
cmp dword [esp + 0x10], 2
mov ecx, 0
jb 0x10061344
mov ax, 0x1e
mov esi, 3
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x10]
mov edi, 0
cmp esi, ecx
lea eax, [ecx + ecx]
sbb edi, edx
jb 0x100612e9
mov ecx, dword [esp + 0x10]
add dword [esp + 0x1c], 0xfffffff6
mov dword [esp + 0x10], eax
shld edx, ecx, 1
jmp 0x10060982
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1c]
sub eax, dword [esp + 0x28]
jge 0x10060cb6
mov edx, dword [esp + 4]
mov dword [esp + 0x38], ecx
mov eax, dword [edx + 0x2c]
lea ecx, [eax + 1]
add eax, dword [esp + 0x28]
mov dword [esp + 0x10], ecx
mov dword [edx + 0x2c], eax
jmp 0x10060204
mov edi, dword [esp + 0x24]
xor ecx, ecx
mov dword [esp + 0x14], 0
cmp dword [edi + 0x24], 0
je 0x1005d322
jmp 0x1006080c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x48]
movzx eax, word [eax + 2]
mov dword [esp + 0x10], edx
cmp word [ecx + 2], ax
jle 0x1005e63e
mov ecx, dword [esp + 0xc]
mov word [ecx + 2], ax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
jmp 0x1005e63e
mov eax, edx
mov edx, ebx
push eax
call fcn.10078ce0
add esp, 4
jmp 0x1005e765
mov edx, ebx
push esi
call fcn.10078ce0
add esp, 4
jmp 0x1005e804
cmp byte [ecx + 0x51], 0
je 0x1006136f
mov ecx, dword [esp + 0x54]
jmp 0x1005df43
mov eax, dword [ebx + 0x1c]
mov esi, dword [edi + 0x2c]
mov ecx, dword [esp + 0x40]
mov edx, 0x45
mov ebx, dword [eax]
lea eax, [esi + ebx + 1]
inc esi
mov dword [edi + 0x2c], eax
xor eax, eax
push eax
mov dword [esp + 0x4c], esi
push esi
mov dword [esp + 0x24], 0
push eax
call fcn.1004e520
add esp, 0xc
mov ecx, dword [esp + 0x54]
mov edx, ebx
push 1
call fcn.10070fd0
add esp, 4
test eax, eax
je 0x10060ad6
mov esi, eax
test ebx, ebx
jle 0x10060ad2
xor edi, edi
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
push edi
call fcn.1008d8a0
add esp, 4
mov dword [esi + edi*4 + 0x14], eax
mov eax, dword [esi + 0x10]
mov byte [eax + edi], 0
inc edi
cmp ebx, edi
jne 0x10060ab1
mov dword [esp + 0x1c], esi
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x18]
jmp 0x1005dfd6
mov ecx, dword [esp + 0x20]
xor eax, eax
mov edx, 0x11
push eax
push eax
push eax
call fcn.1004e520
add esp, 0xc
mov dword [esp + 0x10], eax
jmp 0x1005e0fb
mov ecx, dword [esp + 0x20]
mov edx, 0x62
push 0
push dword [eax + 0x2c]
push dword [edi - 0xc]
mov dword [esp + 0x28], eax
call fcn.1004e520
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x14]
movzx eax, word [eax + 2]
mov word [ebx + 2], ax
jmp 0x1005e15a
mov eax, dword [esp + 0x20]
mov ecx, 0x101d4a28
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
cmp byte [edx + 0x51], 0
jne 0x10060b64
mov edx, dword [esp + 0x10]
lea ecx, [eax - 1]
mov ebx, dword [esp + 0x20]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [ebx + 0x68]
mov dword [ecx + 8], eax
jmp 0x1005e16c
mov edx, dword [ebx + 0x6c]
dec edx
jmp 0x1005e192
mov ecx, 0x101d4a28
jmp 0x1005e1a7
mov ecx, dword [esp + 0x54]
call fcn.1004bd70
jmp 0x1005e317
mov ecx, 0x101d4a28
jmp 0x1005e457
mov eax, dword [esp + 0x1c]
dec dword [eax]
jne 0x1005e569
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0xc]
call fcn.10019c40
jmp 0x1005e569
cmp al, 0x87
jne 0x10061293
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x40]
mov dword [esp + 8], eax
inc eax
mov dword [esp + 0x28], eax
jmp 0x1005e69b
mov ecx, 0x101d4a28
jmp 0x1005e711
mov ecx, dword [esp + 0x54]
push 1
call fcn.1004bfe0
add esp, 4
jmp 0x1005e813
mov ecx, dword [edx + 8]
jns 0x10060bf8
mov eax, dword [ecx + 0x6c]
dec eax
mov esi, dword [ecx]
mov edx, 0x101d4a28
cmp byte [esi + 0x51], 0
jne 0x10060c0e
lea edx, [eax + eax*4]
shl edx, 2
add edx, dword [ecx + 0x68]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 4]
jmp 0x1005e831
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x2c]
inc edi
mov dword [eax + 0x2c], edi
jmp 0x10060360
mov ecx, dword [esp + 8]
mov edx, 0x7a
push dword [esp + 0x10]
push edi
push dword [esp + 0x54]
call fcn.1004e520
add esp, 0xc
mov ebx, dword [esp + 0x48]
jmp case.0x1005d15c.246
cmp dword [esp + 0x10], 0x100
jb 0x100612ef
xor ecx, ecx
mov ax, 0x50
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x10]
mov edx, ecx
mov eax, ecx
shr ecx, 4
shld edx, esi, 0x1c
cmp esi, 0x1000
sbb eax, 0
mov dword [esp + 0x10], edx
jb 0x100612f9
add dword [esp + 0x1c], 0x28
jmp 0x10060c65
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x28]
cmp dword [eax + 0x1c], ecx
jge 0x1006010b
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], edx
jmp 0x1006010b
mov ebx, dword [esp + 4]
mov dword [esp + 0x38], ecx
mov edx, dword [ebx + 0x20]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
lea edx, [edi + edx]
mov dword [esp + 0x10], ecx
mov dword [ebx + 0x20], edx
mov dword [ebx + 0x1c], eax
jmp 0x10060204
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x2c]
jmp 0x100601f0
test eax, 0xfffffffd
je 0x1006152b
push str.authorizer_malfunction
mov esi, dword [esp + 8]
push esi
call fcn.1000f470
add esp, 8
mov dword [esi + 0xc], 1
jmp 0x1005d84e
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1c]
sub eax, dword [esp + 0x18]
jge 0x10061412
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x2c]
lea edx, [eax + 1]
add eax, dword [esp + 0x18]
mov dword [esp + 0x38], edx
mov dword [ecx + 0x2c], eax
jmp 0x1005fead
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x18]
cmp dword [eax + 0x1c], ecx
jge 0x10060d62
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], edx
mov ecx, dword [esp + 0x5c]
call fcn.1008ba90
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0x28]
lea eax, [edx + 1]
mov dword [esp + 0x30], edx
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x24]
mov dword [eax + 8], edx
mov al, byte [ecx + 0x13]
test al, al
je 0x10061351
mov ecx, dword [esp + 4]
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov edi, dword [ecx + eax*4 + 0x98]
mov esi, dword [esp + 0x20]
mov edx, 0x72
mov ecx, esi
push dword [esp + 0x18]
push edi
push dword [esp + 0x38]
call fcn.1004e520
add esp, 0xc
mov ecx, esi
mov edx, 0x23
push 0
push dword [esp + 0x44]
mov esi, dword [esp + 0x2c]
push dword [esi + 4]
call fcn.1004e520
add esp, 0xc
mov byte [esi + 1], 1
mov dword [esp + 8], 0
cmp dword [esp + 0x48], 0
je 0x10060e62
mov eax, dword [esp + 0x44]
test byte [eax + 0x4c], 4
jne 0x10060e62
cmp byte [esp + 8], 0
je 0x10060e1b
mov eax, dword [esp + 0x5c]
test byte [eax + 0x30], 8
jne 0x10060e1b
mov eax, dword [esp + 0x20]
lea ecx, [eax + 0x6c]
mov eax, dword [eax + 0x6c]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x38], eax
jmp 0x10060e98
mov eax, dword [esp + 0x20]
mov dword [esp + 0x90], 0
mov ecx, dword [eax]
cmp byte [ecx + 0x51], 0
jne 0x10060e62
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0xa4]
mov esi, dword [edx + 0x68]
lea ebx, [eax + eax*4]
movsx edx, byte [esi + ebx*4 + 1]
push dword [esi + ebx*4 + 0x10]
call fcn.1002cc10
add esp, 4
mov dword [esi + ebx*4 + 0x10], 0
mov word [esi + ebx*4], 0xae
mov eax, dword [esp + 0x20]
cmp byte [esp + 8], 0
lea ecx, [eax + 0x6c]
mov eax, dword [eax + 0x6c]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x38], eax
jne 0x10060e98
mov ecx, dword [esp + 0x20]
mov edx, 0x7e
push dword [esp + 0x30]
push edi
mov eax, dword [esp + 0x2c]
push dword [eax + 4]
call fcn.1004e520
add esp, 0xc
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x6c]
lea edi, [ecx + eax + 5]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
test eax, eax
jle 0x10060f01
mov eax, dword [esp + 0x14]
xor ebx, ebx
lea esi, [eax + 4]
cmp byte [esp + 8], 0
je 0x10060ed9
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 4]
mov byte [eax], 1
lea eax, [edi + ebx]
mov edx, dword [esi]
push eax
call fcn.10070ba0
add esp, 4
jmp 0x10060ef3
mov ecx, dword [esp + 0x20]
lea eax, [edi + ebx]
mov edx, 0x59
push eax
push ebx
push dword [esp + 0x38]
call fcn.1004e520
add esp, 0xc
mov eax, dword [esp + 0x14]
inc ebx
add esi, 0x14
mov eax, dword [eax]
cmp ebx, eax
jl 0x10060eb7
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x4c], 0
lea ecx, [ecx + 3]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x60]
lea ecx, [ecx - 1]
mov dword [esp + 0x30], ecx
je 0x10060f2a
mov eax, dword [esp + 0x4c]
inc dword [eax]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov esi, dword [esp + 0x20]
inc dword [esp + 0x3c]
mov edx, 0x56
mov ecx, esi
push eax
push edi
push dword [esp + 0x5c]
call fcn.1004e520
add esp, 0xc
mov ecx, esi
mov edx, eax
push 0xfffffffffffffff7
push dword [esp + 0x50]
call fcn.1000f710
add esp, 8
mov eax, dword [esi + 0x6c]
mov ecx, esi
mov edx, 0x10
mov dword [esp + 0x4c], eax
inc eax
push eax
xor ebx, ebx
push ebx
push eax
call fcn.1004e520
add esp, 0xc
mov eax, dword [esp + 4]
mov edx, 0x4c
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x14]
push dword [eax]
push dword [esp + 0x58]
push edi
call fcn.1004e520
add esp, 0xc
mov ecx, esi
xor edi, edi
mov edx, 0xc
push edi
push dword [esp + 0x34]
push dword [esp + 0x20]
call fcn.1004e520
add esp, 0xc
mov ecx, esi
mov edx, 0x30
push edi
xor edi, edi
push dword [esp + 0x44]
push dword [esp + 0x60]
call fcn.1004e520
add esp, 0xc
mov ecx, esi
mov edx, 0xc
push edi
push dword [esp + 0x68]
push dword [esp + 0x58]
call fcn.1004e520
add esp, 0xc
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x101d4a28
cmp byte [edx + 0x51], 0
jne 0x10061009
mov edx, dword [esp + 0x4c]
lea ecx, [eax - 1]
mov esi, dword [esp + 0x20]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [esi + 0x68]
mov esi, dword [esp + 0x3c]
mov dword [ecx + 8], eax
mov ecx, dword [esp + 4]
mov edx, esi
push dword [esp + 0x24]
call fcn.1008c5e0
add esp, 4
mov ecx, dword [esp + 0x20]
mov edx, 0x45
push 0
push esi
push 1
call fcn.1004e520
add esp, 0xc
cmp byte [esp + 8], 0
je 0x10061083
mov ecx, dword [esp + 0x5c]
call fcn.1008ba90
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
cmp byte [ecx + 0x51], 0
jne 0x100610a1
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 0x68]
mov eax, dword [esp + 0x68]
lea edi, [eax + eax*4]
movsx edx, byte [esi + edi*4 + 1]
push dword [esi + edi*4 + 0x10]
call fcn.1002cc10
add esp, 4
mov dword [esi + edi*4 + 0x10], 0
mov word [esi + edi*4], 0xae
jmp 0x100610a1
mov ecx, dword [esp + 0x20]
mov edx, 3
push 0
push dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
push dword [eax + 4]
call fcn.1004e520
add esp, 0xc
mov edi, dword [esp + 0x20]
xor esi, esi
mov edx, 0xc
mov ecx, edi
push esi
push dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
push ebx
call fcn.1004e520
add esp, 0xc
mov ecx, edi
mov edx, 0xb
push esi
push dword [esp + 0x44]
push esi
call fcn.1004e520
add esp, 0xc
mov eax, dword [edi + 0x6c]
mov ecx, edi
mov edx, 0x45
mov dword [esp + 8], eax
push esi
push dword [esp + 0x5c]
push 1
call fcn.1004e520
add esp, 0xc
mov ecx, edi
mov edx, 0x41
push esi
push esi
push ebx
call fcn.1004e520
add esp, 0xc
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x60]
mov edx, dword [ecx + 0x38]
neg eax
add edx, dword [ecx + 0x3c]
js 0x10061220
mov edx, dword [esp + 0x48]
mov ecx, dword [ecx + 0x40]
mov edx, dword [edx]
mov dword [ecx + eax*4], edx
mov esi, dword [esp + 0x20]
xor edi, edi
mov edx, 0x30
mov ebx, dword [esi + 0x6c]
mov ecx, esi
lea eax, [ebx + 2]
push edi
push eax
push dword [esp + 0x44]
call fcn.1004e520
add esp, 0xc
mov ecx, esi
xor eax, eax
mov edx, 0x41
push eax
push eax
push dword [esp + 0x20]
call fcn.1004e520
add esp, 0xc
mov edi, dword [esp + 4]
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.1008cac0
inc ebx
push 0x10
push ebx
push dword [esp + 0x30]
push edi
call fcn.100755f0
add esp, 0x10
mov edx, dword [esp + 0xc]
lea eax, [esp + 0xc0]
mov ecx, edi
push dword [esp + 8]
push ebx
push dword [ebp + 8]
push eax
lea eax, [esp + 0xa0]
push eax
push 0xffffffffffffffff
call fcn.1008a990
add esp, 0x18
mov ecx, esi
xor eax, eax
mov edx, 0x41
push eax
push eax
push dword [esp + 0x20]
call fcn.1004e520
add esp, 0xc
mov ecx, dword [esi + 0xc]
xor eax, eax
inc eax
sub eax, dword [esp + 0x60]
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x10061232
mov edx, dword [esp + 0x48]
mov ecx, dword [ecx + 0x40]
mov edx, dword [edx]
mov dword [ecx + eax*4], edx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x24]
call fcn.1008cb90
mov edi, dword [esp + 0x20]
xor esi, esi
mov edx, 0x45
mov ecx, edi
push esi
push dword [esp + 0x40]
push esi
call fcn.1004e520
add esp, 0xc
mov ecx, edi
mov edx, 0x41
push esi
push esi
push dword [esp + 0x58]
call fcn.1004e520
add esp, 0xc
mov edi, dword [esp + 0x34]
jmp 0x1005d3dc
mov edx, dword [esp + 0x20]
push eax
call fcn.10078ce0
add esp, 4
jmp 0x10061125
mov edx, dword [esp + 0x20]
push eax
call fcn.10078ce0
add esp, 4
jmp 0x100611da
mov edx, dword [esp + 8]
test eax, 0xfffffffd
je 0x1005b8d5
push str.authorizer_malfunction
mov ebx, dword [esp + 8]
push ebx
call fcn.1000f470
mov edx, dword [esp + 0x10]
add esp, 8
mov dword [ebx + 0xc], 1
jmp 0x1005b8d5
mov ebx, ecx
mov ecx, dword [esp + 8]
mov edx, 0x30
push 1
push dword [esp + 0x5c]
push eax
call fcn.1004e520
mov ecx, ebx
add esp, 0xc
jmp 0x1005e2db
mov ebx, dword [esp + 0x40]
xor esi, esi
mov edx, 0xe
mov ecx, ebx
push esi
push dword [esp + 0x4c]
push dword [esp + 0x2c]
call fcn.1004e520
add esp, 0xc
mov dword [esp + 8], eax
mov ecx, ebx
mov edx, 0xb
push esi
push dword [esp + 0x34]
push esi
call fcn.1004e520
add esp, 0xc
jmp 0x1005e69b
mov eax, str.GROUP_BY
jmp 0x1005fe25
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x2c]
inc edi
mov dword [eax + 0x2c], edi
jmp 0x1005ff47
mov dword [esp + 0x10], eax
jmp 0x1006132e
xor ecx, ecx
mov ax, 0x28
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x10], 0x10
mov eax, ecx
sbb eax, 0
jb 0x1006132e
mov esi, 0x1f
mov edi, ecx
mov eax, dword [esp + 0x10]
mov edx, ecx
add dword [esp + 0x1c], 0xa
shr edi, 1
shld edx, eax, 0x1f
cmp esi, eax
mov eax, 0
sbb eax, ecx
mov ecx, edi
mov dword [esp + 0x10], edx
jb 0x1006130c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
and eax, 7
add cx, word [eax + eax + 0x101950e8]
add ecx, 0xfffffff6
mov eax, dword [esp + 0xc]
mov word [eax + 2], cx
jmp 0x1005caad
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x2c]
inc ecx
mov edi, ecx
mov dword [eax + 0x2c], ecx
jmp 0x10060da1
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x2c]
jmp 0x1006086f
xor edi, edi
inc edi
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1c]
cmp edi, dword [eax]
jg 0x10060a5a
test ebx, ebx
jle 0x1006139b
lea ecx, [esi + 0x14]
xor eax, eax
movzx edx, word [ecx]
cmp edi, edx
je 0x1006139d
inc eax
add ecx, 0x14
cmp ebx, eax
jne 0x1006138a
jmp 0x100613a1
xor eax, eax
cmp eax, ebx
jne 0x100613fa
mov ecx, dword [esp + 0x54]
xor eax, eax
mov edx, 0x98
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
push eax
lea eax, [esp + 0x74]
push eax
call fcn.10062130
add esp, 8
test eax, eax
je 0x1006156a
or byte [eax + 5], 4
mov dword [eax + 8], edi
mov edx, esi
mov ecx, dword [esp + 4]
push eax
call fcn.10061d80
add esp, 4
mov ecx, dword [esp + 0xc]
mov esi, eax
test esi, esi
mov dword [ecx + 0x30], esi
je 0x1006140e
lea ecx, [ebx + 1]
lea eax, [ebx + ebx*4]
mov ebx, ecx
mov word [esi + eax*4 + 0x14], di
mov ecx, dword [esp + 0x54]
inc edi
cmp byte [ecx + 0x51], 0
je 0x10061372
jmp 0x1005df43
xor esi, esi
jmp 0x100613fa
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x18]
mov edi, dword [edx + 0x20]
add ecx, edi
mov esi, edi
mov dword [esp + 0x38], edi
mov dword [edx + 0x20], ecx
mov dword [edx + 0x1c], eax
jmp 0x1005fead
mov edx, eax
xor eax, eax
mov ecx, 0x12
mov edi, edx
inc eax
mov dword [edx + 4], eax
mov dword [edx], eax
add edi, 8
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [edx + 0x34], 0xffffffff
mov dword [edx + 0x10], esi
mov dword [edx + 0xc], esi
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 4]
mov dword [eax], edx
mov dword [edx + 0x1c], edi
mov ecx, esi
mov edx, dword [eax]
call fcn.100803c0
or byte [edi + 4], 0x40
mov ecx, esi
mov edx, edi
push 0x40
call fcn.1007b170
add esp, 4
and ebx, 8
or dword [edi + 4], ebx
test eax, eax
je 0x1006155a
mov edx, dword [esp + 0x14]
mov ecx, 0x14
mov esi, eax
mov ebx, eax
xorps xmm0, xmm0
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x90]
or byte [edx + 0x24], 2
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [eax + 0x18], edx
mov edx, dword [esp + 0x24]
xor eax, eax
movaps xmmword [ecx], xmm0
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x18], eax
mov dword [ecx + 4], 0x1008cea0
mov dword [ecx + 8], 0x1008cec0
mov dword [ecx + 0xc], 0x1008ced0
call fcn.10076a70
mov dword [esp + 0x14], ebx
jmp 0x1005f998
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
jmp 0x1006065f
mov edx, dword [esp + 8]
push eax
call fcn.10078ce0
add esp, 4
jmp 0x10060726
mov edx, dword [esp + 8]
push dword [esp + 0x10]
call fcn.10078ce0
add esp, 4
jmp 0x10060767
test eax, eax
je 0x1005d467
jmp 0x1005d84e
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x2c]
inc edx
mov ecx, edx
mov dword [esp + 0x38], edx
mov dword [eax + 0x2c], edx
jmp 0x1005fead
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
jmp 0x1005e073
mov al, 1
mov esi, 7
mov dword [esp + 0x18], eax
jmp 0x1005f99a
mov ebx, 7
jmp 0x1005cb13
inc edi
add ebx, 0x14
cmp edi, dword [esi]
jl 0x1005ea8b
jmp 0x1005c630
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
test byte [eax + 0x30], 1
jne 0x100615cd
mov eax, dword [edi + 8]
test eax, eax
je 0x100615cd
test byte [eax + 0x38], 4
jne 0x100615c8
movzx ecx, word [eax + 0x30]
cmp cx, word [edi + 0x30]
jge 0x100615c8
cmp dword [eax + 0x24], 0
jne 0x100615c8
cmp dword [esp + 8], 0
je 0x100615c4
mov edx, dword [esp + 8]
cmp cx, word [edx + 0x30]
jge 0x100615c8
mov dword [esp + 8], eax
mov eax, dword [eax + 0x14]
jmp 0x10061599
xor esi, esi
cmp dword [esp + 8], 0
je 0x100615ec
mov edx, dword [esp + 8]
mov ecx, dword [esp + 4]
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x30], eax
call fcn.10070f10
mov esi, eax
mov ebx, dword [esp + 0x20]
mov edx, 0x60
mov ecx, ebx
push dword [esp + 0x14]
push dword [esp + 0x34]
push dword [esp + 0x20]
call fcn.1004e520
add esp, 0xc
mov ecx, dword [ebx]
cmp byte [ecx + 0x51], 0
jne 0x1006162a
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
mov ecx, dword [ecx + 0x68]
mov byte [ecx + eax*4 + 1], 0xfd
mov dword [ecx + eax*4 + 0x10], 1
test esi, esi
je 0x10061640
mov ecx, dword [esp + 0x20]
xor edx, edx
dec edx
push 0xfffffffffffffff7
push esi
call fcn.1000f710
add esp, 8
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
xor esi, esi
mov edx, 0x5c
mov eax, dword [eax + 0x28]
mov ecx, ebx
push esi
push dword [eax + 8]
mov esi, dword [esp + 0x20]
push esi
call fcn.1004e520
add esp, 0xc
xor eax, eax
mov ecx, ebx
mov edx, 0x74
push eax
push eax
push esi
call fcn.1004e520
add esp, 0xc
mov ebx, dword [esp + 4]
mov edx, edi
mov ecx, ebx
push dword [esp + 8]
call fcn.1008cc90
add esp, 4
mov edi, dword [esp + 0x34]
jmp 0x1005d3a6