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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x110
mov edi, edx
mov esi, ecx
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [esp + 0x108], eax
mov ecx, dword [ecx]
mov eax, dword [esi + 8]
test eax, eax
mov dword [esp + 0x34], ecx
jne 0x1002ee79
cmp dword [esi + 0x74], 0
jne 0x1002ee6e
test byte [ecx + 0x4c], 8
jne 0x1002ee6e
mov byte [esi + 0x17], 1
mov ecx, esi
call fcn.10035540
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x14], eax
xor ebx, ebx
inc ebx
test edi, edi
je 0x1002f3bf
cmp byte [ecx + 0x53], 0
jne 0x1002f3bf
cmp dword [esi + 0x24], 0
jne 0x1002f3bf
mov eax, dword [esi]
mov ecx, dword [eax + 0x150]
test ecx, ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], edi
jne 0x10032314
mov eax, dword [ebp + 8]
cmp byte [eax], 6
jbe 0x1002f535
mov ecx, esi
mov edx, edi
push 0
call fcn.10035a40
add esp, 4
cmp dword [esi + 0x24], 0
jne 0x100322fd
mov eax, dword [esp + 0x34]
cmp byte [eax + 0x53], 0
jne 0x100322fd
test byte [edi + 6], 0x80
jne 0x10032384
mov eax, dword [ebp + 8]
cmp byte [eax], 9
jne 0x1002ef03
mov ecx, dword [esp + 4]
mov edx, edi
call fcn.100361f0
mov esi, dword [edi + 0x44]
test esi, esi
jne 0x10032422
mov ecx, dword [edi + 4]
mov edx, dword [edi + 0x20]
pxor xmm0, xmm0
movdqu xmmword [esp + 0xb4], xmm0
movdqu xmmword [esp + 0xa4], xmm0
mov dword [esp + 0xc4], 0
mov eax, dword [edi + 0x30]
mov dword [esp + 0xa0], eax
mov edi, dword [edi + 0x34]
test edi, edi
jne 0x1002ef8b
shr ecx, 3
mov dword [esp + 0x24], ecx
xor ebx, ebx
mov eax, dword [edx]
cmp ebx, eax
mov dword [esp + 8], edx
jge 0x1002f054
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 0x1002f898
test esi, esi
jne 0x1002f6ec
mov eax, ebx
mov edi, dword [esp + 0xc]
inc eax
mov edi, dword [edi + 0x34]
mov ebx, eax
test edi, edi
je 0x1002ef4f
mov edx, dword [esp + 4]
mov ecx, dword [edx]
mov dword [esp + 0x34], ecx
mov ecx, dword [ebp + 8]
movdqu xmm0, xmmword [ecx]
movdqu xmm1, xmmword [ecx + 0xc]
movdqu xmmword [esp + 0xdc], xmm1
movdqa xmmword [esp + 0xd0], xmm0
mov eax, dword [edx + 8]
test eax, eax
je 0x10032c43
mov dword [esp + 8], eax
mov bl, byte [esp + 0xd0]
cmp bl, 0xc
je 0x10031759
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
bt eax, 0xa
jb 0x10032c5b
bt eax, 0xd
mov esi, dword [esp + 4]
jb 0x10030bc3
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x30], 0
jne 0x1003178b
cmp dword [edi + 0x34], 0
jne 0x1002f02d
xor esi, esi
inc esi
push str.COMPOUND_QUERY
push esi
push dword [esp + 0xc]
call fcn.10036110
add esp, 0xc
push str.LEFT_MOST_SUBQUERY
push esi
mov esi, dword [esp + 0xc]
push esi
call fcn.10036110
add esp, 0xc
mov eax, dword [esp + 0xc]
mov al, byte [eax]
cmp al, 0x85
jne 0x1002f8fb
mov byte [esp + 0x10], bl
cmp bl, 1
jne 0x1002ff2a
mov ebx, dword [esp + 0xd4]
jmp 0x1002ff7c
mov edi, dword [esp + 0xc]
mov edx, dword [edi + 0x24]
test edx, edx
je 0x1002f13f
cmp byte [edx], 0x2c
jne 0x1002f13f
mov ecx, dword [esp + 0x34]
cmp word [ecx + 0x4c], 0
js 0x1002f13f
lea esi, [esp + 0xf4]
mov eax, dword [esp + 4]
mov dword [esi - 8], eax
mov eax, dword [eax]
add eax, 0x53
mov dword [esi - 4], eax
pxor xmm0, xmm0
xor ebx, ebx
lea edi, [esp + 0x80]
movdqu xmmword [esi], xmm0
lea ecx, [esp + 0xec]
call fcn.10035430
cmp dword [esp + 0xf4], 0
je 0x1002f127
mov dword [esp + 0x94], ebx
mov eax, dword [esp + 4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 0x1007acf0
mov dword [esp + 0x88], sym.nss3.dll_SECMOD_CanDeleteInternalModule
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
lea eax, [esp + 0xec]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x24]
test edx, edx
je 0x1002f10e
mov ecx, edi
call fcn.10148200
mov edx, dword [esp + 0x100]
test edx, edx
je 0x1002f127
mov eax, dword [esp + 0xec]
mov ecx, dword [eax]
call fcn.10139000
cmp dword [esp + 0xf8], 0
jne 0x1003266b
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov edi, dword [esp + 0xc]
test eax, eax
mov edx, dword [esp + 8]
jle 0x1002f16f
lea ebx, [edx + 0x4c]
xor esi, esi
mov eax, dword [ebx - 0xc]
or eax, dword [ebx - 8]
je 0x100313b7
mov edi, dword [ebx - 0x30]
test edi, edi
jne 0x10030975
inc esi
add ebx, 0x48
cmp esi, dword [edx]
mov edi, dword [esp + 0xc]
jl 0x1002f14c
mov eax, dword [edi + 4]
mov edx, dword [edi + 0x1c]
mov ecx, dword [edi + 0x24]
mov dword [esp + 0x20], ecx
mov ecx, dword [edi + 0x28]
mov dword [esp + 0x10], ecx
mov ecx, eax
and cl, 1
mov esi, dword [edi + 0x2c]
mov dword [esp + 0x30], esi
mov byte [esp + 0xd0], cl
and eax, 9
cmp eax, 1
mov dword [esp + 0x28], edx
je 0x1002f591
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0xa0]
test esi, esi
jne 0x1002f3d7
xor edi, edi
dec edi
mov esi, dword [esp + 4]
mov dword [esp + 0xb4], edi
mov eax, dword [ebp + 8]
cmp byte [eax], 0xc
je 0x100324f8
mov eax, dword [esi + 0x38]
mov dword [esp + 0x18], eax
dec eax
mov dword [esi + 0x38], eax
mov edi, dword [esp + 0xc]
test byte [edi + 5], 0x40
jne 0x1002f1ee
mov word [edi + 2], 0x140
mov ecx, esi
mov edx, edi
push eax
call fcn.10036b10
add esp, 4
cmp dword [edi + 8], 0
mov edx, dword [esp + 8]
jne 0x1002f214
mov eax, dword [esp + 0xb4]
test eax, eax
jns 0x1002f510
test byte [edi + 4], 1
jne 0x1002f5de
xor eax, eax
mov byte [esp + 0xd1], al
test byte [esp + 0x24], 1
mov eax, dword [esp + 0x10]
jne 0x100303db
test eax, eax
jne 0x100303db
xor eax, eax
cmp byte [esp + 0xd0], 0
setne al
mov esi, 0x4000
and esi, dword [edi + 4]
shl eax, 8
or esi, eax
mov ebx, dword [edi + 0x44]
test ebx, ebx
jne 0x10032547
movsx eax, word [edi + 2]
movzx esi, si
mov ecx, dword [esp + 4]
push eax
push esi
push dword [edi + 0x1c]
push dword [esp + 0xac]
push dword [esp + 0x30]
call fcn.1003ef90
add esp, 0x14
test eax, eax
je 0x100322fd
mov esi, eax
mov dword [esp + 8], ebx
movzx eax, word [eax + 0x34]
cmp ax, word [edi + 2]
jge 0x1002f2a2
mov word [edi + 2], ax
cmp byte [esp + 0xd0], 0
mov ebx, dword [esp + 0x14]
jne 0x1002f57a
mov eax, dword [esp + 0xa0]
test eax, eax
jne 0x1002f4d5
mov eax, dword [esp + 0xb4]
test eax, eax
js 0x1002f303
mov ecx, dword [ebx]
cmp byte [ecx + 0x53], 0
jne 0x1002f303
mov edx, dword [esp + 0x14]
mov ebx, dword [edx + 0x68]
lea edi, [eax + eax*4]
movsx edx, byte [ebx + edi*4 + 1]
push dword [ebx + edi*4 + 0x10]
call fcn.10006530
add esp, 4
mov dword [ebx + edi*4 + 0x10], 0
mov word [ebx + edi*4], 0xb1
mov ebx, dword [esp + 0x14]
cmp dword [esp + 8], 0
jne 0x1003255b
lea eax, [esp + 0xd0]
lea edi, [esp + 0xa0]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
push dword [esi + 0x20]
push dword [esi + 0x1c]
push dword [ebp + 8]
push eax
push edi
push 0xffffffffffffffff
call fcn.1003a7c0
add esp, 0x18
mov ecx, esi
call fcn.100370c0
mov dword [esp + 0x24], 0
mov edi, dword [esp + 0x18]
cmp byte [esp + 0xd1], 3
je 0x1003251a
cmp dword [esp + 0xa0], 0
mov esi, dword [esp + 4]
jne 0x10030679
mov ecx, dword [ebx + 0xc]
neg edi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x10032537
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
mov eax, dword [esi + 0x24]
xor ebx, ebx
test eax, eax
setg bl
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
movzx edi, byte [ecx + 0x53]
add edi, eax
mov dword [esi + 0x24], edi
test edx, edx
jne 0x10031519
mov eax, dword [esi + 0xd4]
xor ecx, ecx
test eax, eax
jne 0x100324cd
mov dword [esi + 0xd4], ecx
mov ecx, dword [esp + 0x108]
xor ecx, ebp
call fcn.1014dc80
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [edx]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
mov edi, dword [esi]
inc eax
mov edx, edi
push eax
call fcn.10044910
add esp, 4
mov dword [esp + 0x1c], edi
test edi, edi
mov dword [esp + 0x18], eax
jle 0x1002f433
test eax, eax
je 0x1002f433
add esi, 8
xor ebx, ebx
mov edi, dword [esp + 4]
mov edx, dword [esi]
mov ecx, edi
call fcn.100357f0
test eax, eax
jne 0x1002f418
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x18]
mov dword [ecx + ebx*4 + 0x14], eax
mov al, byte [esi + 8]
mov ecx, dword [ecx + 0x10]
mov byte [ecx + ebx], al
inc ebx
add esi, 0x14
cmp dword [esp + 0x1c], ebx
jne 0x1002f406
mov edx, dword [esp + 4]
mov eax, dword [edx + 0x28]
lea ecx, [eax + 1]
mov dword [edx + 0x28], ecx
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0xa0]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x28]
mov edx, dword [edx]
lea esi, [ecx + edx]
inc esi
mov ebx, dword [esp + 0x14]
mov edi, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], edi
jle 0x1002f87e
lea ecx, [edi + 1]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [ebx + 0x68]
lea edx, [edi + edi*4]
mov dword [ecx + edx*4], 0x70
mov dword [ecx + edx*4 + 4], eax
mov dword [ecx + edx*4 + 8], esi
xor eax, eax
mov dword [ecx + edx*4 + 0xc], eax
mov dword [ecx + edx*4 + 0x10], eax
mov ecx, dword [ebx]
cmp byte [ecx + 0x53], 0
mov esi, dword [esp + 4]
mov edx, dword [esp + 0x18]
jne 0x100326b0
mov ecx, edi
test edi, edi
js 0x1002f571
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
cmp byte [eax + ecx*4 + 1], 0
jne 0x1002f559
test edx, edx
je 0x1002f1c0
lea eax, [eax + ecx*4]
inc eax
mov dword [eax + 0xf], edx
mov byte [eax], 0xf7
jmp 0x1002f1c0
movsx ecx, byte [esi + 0x2d]
mov dword [esp + 0xa4], ecx
test byte [esi + 0x30], 4
jne 0x100326c5
mov edx, esi
add edx, 0x1c
mov edx, dword [edx]
mov dword [esp + 0xbc], edx
cmp dword [eax], ecx
jne 0x1002f303
mov dword [esp + 0xa0], 0
jmp 0x1002f2c3
mov ecx, dword [ebx]
cmp byte [ecx + 0x53], 0
jne 0x100326d9
lea eax, [eax + eax*4]
shl eax, 2
add eax, dword [ebx + 0x68]
mov byte [eax], 0x72
or byte [esp + 0xc0], 1
jmp 0x1002f214
mov esi, dword [edi + 0x30]
test esi, esi
jne 0x100326e3
mov eax, 0xffbffffe
and eax, dword [edi + 4]
or eax, 0x400000
mov dword [edi + 4], eax
mov esi, dword [esp + 4]
jmp 0x1002eec0
lea edx, [eax + ecx*4]
mov ecx, ebx
push 0xfffffffffffffff7
push dword [esp + 0x1c]
call fcn.1003d950
add esp, 8
jmp 0x1002f1c0
mov ecx, dword [ebx + 0x6c]
dec ecx
jmp 0x1002f4ad
mov al, byte [esi + 0x2f]
test al, al
je 0x1002f2b4
mov byte [esp + 0xd1], al
jmp 0x1002f2b4
mov esi, dword [esp + 0xa0]
mov eax, edx
or eax, esi
jne 0x1003204b
mov esi, dword [esp + 0xc]
cmp dword [esi + 0x44], 0
mov ebx, dword [esp + 0x14]
jne 0x1002f1aa
and byte [esi + 4], 0xfe
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
push 0
call fcn.100018f0
mov edx, dword [esp + 0x2c]
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esi + 0x28], eax
or byte [esi + 4], 8
jmp 0x1002f1aa
mov eax, dword [esi + 0x28]
lea ecx, [eax + 1]
mov dword [esi + 0x28], ecx
mov dword [esp + 0xd4], eax
mov eax, esi
mov esi, dword [edi + 0x1c]
mov ecx, dword [eax]
mov edi, dword [esi]
mov edx, edi
push 1
call fcn.10044910
add esp, 4
mov dword [esp + 0x2c], edi
test edi, edi
mov dword [esp + 0x1c], eax
jle 0x1002f649
test eax, eax
je 0x1002f649
add esi, 8
xor ebx, ebx
mov edi, dword [esp + 4]
mov edx, dword [esi]
mov ecx, edi
call fcn.100357f0
test eax, eax
jne 0x1002f62e
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]
mov byte [ecx + ebx], al
inc ebx
add esi, 0x14
cmp dword [esp + 0x2c], ebx
jne 0x1002f61c
mov eax, dword [esp + 0xd4]
mov ebx, dword [esp + 0x14]
mov edi, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], edi
jle 0x10031955
lea ecx, [edi + 1]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [ebx + 0x68]
lea edx, [edi + edi*4]
mov dword [ecx + edx*4], 0x70
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 + 0x53], 0
mov esi, dword [esp + 4]
jne 0x10032d01
mov ecx, edi
test edi, edi
mov edx, dword [esp + 0x1c]
js 0x10031461
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
cmp byte [eax + ecx*4 + 1], 0
jne 0x1003100e
test edx, edx
je 0x1002f6c2
lea eax, [eax + ecx*4]
inc eax
mov dword [eax + 0xf], edx
mov byte [eax], 0xf7
mov dword [esp + 0xd8], edi
mov ecx, dword [ebx + 0x6c]
mov al, 3
test ecx, ecx
jle 0x1002f6df
mov edx, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov word [edx + ecx*4 - 0x12], 8
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 8]
jmp 0x1002f220
mov dword [esp + 0x10], ecx
movsx eax, word [edi + 0x2a]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
cmp ecx, eax
jne 0x100322e8
test byte [esi + 4], 8
mov edi, dword [esp + 0xc]
jne 0x1002ff23
test ebx, ebx
jne 0x1002f71d
cmp dword [esi + 0x30], 0
jne 0x10033228
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov dword [esp + 0x28], eax
test byte [eax + 0x4c], 1
jne 0x1002ff00
cmp dword [edi + 0x44], 0
jne 0x1002ff00
mov ecx, dword [edi + 0x20]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
mov eax, dword [ecx + eax*8 + 0x1c]
mov dword [esp + 8], eax
cmp dword [eax + 0x44], 0
jne 0x1002ff00
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xf0]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + eax*8 + 0x34]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0x3c]
test eax, eax
jne 0x10032d5e
mov ecx, dword [edi + 4]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x30]
mov esi, dword [ecx]
test esi, esi
je 0x1002ff00
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 4]
test dl, 1
jne 0x1002ff00
test eax, eax
jne 0x10032d88
mov ecx, dword [edi + 0x30]
test ecx, ecx
jne 0x10032da5
test byte [esp + 0x24], 1
jne 0x10032dc0
test eax, eax
jne 0x10032ddb
bt edx, 0xd
jb 0x1002ff00
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov al, byte [edx + eax*8 + 0x2c]
mov dword [esp + 0x4c], 0
mov byte [esp + 0x3c], al
test al, 0x20
jne 0x10032e03
mov eax, dword [esp + 8]
cmp dword [eax + 0x34], 0
je 0x10032e3a
test byte [esp + 0x24], 1
jne 0x1002ff00
mov eax, dword [esp + 8]
cmp dword [eax + 0x30], 0
jne 0x1002ff00
test byte [esp + 0x20], 1
jne 0x1002ff00
mov al, byte [esp + 0x3c]
and al, 0x20
jne 0x1002ff00
mov eax, dword [esp + 8]
test eax, eax
je 0x1002f9df
test byte [eax + 4], 9
jne 0x1002ff00
mov edx, dword [eax + 0x34]
test edx, edx
je 0x1002f865
cmp byte [eax], 0x86
jne 0x1002ff00
mov esi, dword [eax + 0x20]
cmp dword [esi], 0
jle 0x1002ff00
cmp dword [eax + 0x44], 0
mov eax, edx
je 0x1002f843
jmp 0x1002ff00
mov ecx, ebx
mov edx, 0x70
push 0
push esi
push eax
call fcn.10007820
add esp, 0xc
mov edi, eax
jmp 0x1002f48f
mov eax, dword [esp + 8]
mov edx, dword [eax + ecx*8 + 0x34]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x24]
call fcn.10037010
mov ecx, dword [esp + 0x10]
pxor xmm0, xmm0
mov edx, dword [esp + 8]
test eax, eax
je 0x1002ef73
mov eax, dword [esp + 0x34]
test byte [eax + 0x4d], 0x20
jne 0x1002ef73
lea eax, [edx + ecx*8]
add eax, 0x2c
and byte [eax], 0xd7
mov edx, dword [eax + 8]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x24]
call fcn.10165330
mov ecx, dword [esp + 0x10]
pxor xmm0, xmm0
mov edx, dword [esp + 8]
jmp 0x1002ef73
cmp al, 0x86
jne 0x10032e4f
xor eax, eax
mov dword [esp + 0x80], eax
mov esi, dword [esp + 0xc]
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 + 0xd0]
mov ecx, dword [esp + 4]
mov edx, edi
push eax
call fcn.1002ee30
add esp, 4
mov ebx, eax
xor eax, eax
mov dword [edi + 0x3c], eax
test ebx, ebx
jne 0x10032ec5
mov dword [esi + 0x34], 0
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
mov ecx, dword [edi + 0xc]
mov dword [esi + 0xc], ecx
mov dword [esp + 0x24], 0
test eax, eax
jne 0x10032ed2
push str.UNION_ALL
push 1
mov ebx, dword [esp + 0xc]
push ebx
call fcn.10036110
add esp, 0xc
mov ecx, ebx
mov edx, esi
lea eax, [esp + 0xd0]
push eax
call fcn.1002ee30
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0x14], eax
mov dword [esi + 0x34], edi
movzx edi, word [edi + 2]
movzx ecx, word [esi + 2]
movsx eax, cx
movsx edx, di
cmp ax, dx
jl 0x100301e4
lea esi, [edx + 0x31]
cmp esi, eax
jl 0x100301f1
lea esi, [edx + 0x1f]
cmp esi, eax
jl 0x10032026
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 0x100301f1
test ecx, ecx
jne 0x10032f17
bt dword [esp + 0x20], 0xd
jb 0x1002ff00
mov dword [esp + 0x20], 0
mov edx, dword [esp + 0x18]
cmp dword [edx], 2
mov eax, dword [esp + 0x28]
jge 0x10032f39
mov esi, dword [esp + 0x10]
mov ecx, dword [edx + esi*8 + 0x10]
mov edi, dword [esp + 4]
mov dword [esp + 0x30], ecx
mov dword [edi + 0xf0], ecx
mov ecx, dword [eax + 0x150]
test ecx, ecx
jne 0x10032f9c
lea ecx, [edx + esi*8]
add ecx, 0x1c
mov eax, dword [esp + 0x1c]
mov dword [edi + 0xf0], eax
mov eax, dword [ecx]
mov dword [esp + 0x50], eax
mov eax, edx
mov dword [esp + 0x30], ecx
mov edx, dword [ecx - 0x10]
test edx, edx
jne 0x10033016
lea ecx, [eax + esi*8]
add ecx, 0x10
mov dword [esp + 0x1c], ecx
mov edx, dword [ecx]
test edx, edx
mov edi, dword [esp + 0xc]
mov ecx, 0
jne 0x10033030
mov edx, dword [eax + esi*8 + 0x14]
test edx, edx
jne 0x10033048
mov edx, eax
lea eax, [eax + esi*8]
add eax, 0xc
mov dword [eax], ecx
mov esi, dword [esp + 0x1c]
mov dword [esi], ecx
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x30]
mov dword [eax], ecx
mov eax, dword [esp + 8]
mov esi, dword [eax + 0x34]
test esi, esi
je 0x1002fb6c
mov eax, dword [esp + 0x10]
lea eax, [edx + eax*8]
add eax, 0x18
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x34]
mov dword [esp + 8], eax
mov dword [esp + 0x1c], esi
mov eax, dword [edi + 0x30]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x3c]
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0x48]
mov eax, dword [esi]
mov dword [esp + 0x44], eax
mov dword [esi], ecx
mov dword [edi + 0x30], ecx
mov dword [edi + 0x34], ecx
mov dword [edi + 0x3c], ecx
xor eax, eax
mov ecx, dword [esp + 0x28]
mov edx, edi
push eax
call fcn.1006ed30
add esp, 4
mov ecx, edi
mov edi, eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 0x3c], eax
mov eax, dword [esp + 0x2c]
mov dword [ecx + 0x30], eax
mov byte [ecx], 0x86
mov eax, dword [esp + 0x44]
mov dword [esi], eax
test edi, edi
je 0x10033060
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x64]
inc eax
mov dword [ecx + 0x64], eax
mov dword [edi + 0x10], eax
cmp dword [esp + 0x20], 0
pxor xmm0, xmm0
mov edx, dword [esp + 0x18]
jne 0x1003307b
mov eax, dword [esp + 8]
mov dword [edi + 0x34], eax
test eax, eax
mov ecx, 0
mov esi, dword [esp + 0x1c]
jne 0x100330db
mov eax, dword [esp + 0xc]
mov dword [edi + 0x38], eax
mov dword [esp + 8], edi
mov dword [eax + 0x34], edi
mov esi, dword [esi + 0x34]
test esi, esi
mov edi, eax
jne 0x1002fabd
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x100330e3
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x53], 0
mov eax, 0xffffffff
mov ecx, dword [esp + 0x10]
jne 0x100330fb
mov esi, dword [edx + ecx*8 + 0x18]
test esi, esi
je 0x1002fc16
mov eax, dword [esi + 0x20]
cmp eax, 1
jne 0x1003310e
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x74]
test edi, edi
cmove edi, eax
mov ecx, dword [edi]
test ecx, ecx
je 0x10033117
cmp word [ecx + 0x11c], 0xb
jbe 0x1003062e
mov eax, dword [ecx + 0x140]
test eax, eax
je 0x10030fd9
mov edx, dword [eax]
mov dword [ecx + 0x140], edx
inc dword [ecx + 0x128]
mov edx, dword [esp + 0x18]
mov ecx, dword [edi + 0x108]
mov dword [eax], ecx
mov dword [edi + 0x108], eax
mov dword [eax + 4], esi
mov dword [eax + 8], fcn.1000be40
mov ecx, dword [esp + 0x10]
lea eax, [edx + ecx*8]
add eax, 0x18
mov dword [eax], 0
mov edi, dword [esp + 0xc]
xor eax, eax
dec eax
lea edx, [edx + ecx*8]
add edx, 0x2c
mov dword [esp + 0x48], edx
lea edx, [ebx + 1]
mov dword [esp + 0x54], edx
mov edx, edi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], esi
mov eax, dword [esi + 0x20]
mov dword [esp + 0x40], eax
mov esi, dword [eax]
mov eax, dword [edx + 0x20]
cmp edx, edi
mov dword [esp + 0x18], eax
jne 0x1002fc59
mov eax, dword [esp + 0x48]
mov al, byte [eax]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x18]
jmp 0x1002fc61
mov dword [esp + 0x44], 0
cmp esi, 2
mov dword [esp + 8], edx
mov dword [esp + 0x2c], esi
jge 0x10032a67
cmp esi, 1
jne 0x1002fd48
xor ecx, ecx
lea eax, [ecx + ebx]
lea edi, [eax + eax*8]
mov eax, dword [esp + 0x18]
mov esi, dword [eax + edi*8 + 0x3c]
test esi, esi
mov dword [esp + 0x1c], ecx
jne 0x1002fcde
lea edi, [eax + edi*8]
add edi, 8
lea eax, [ecx + ecx*8]
mov ecx, dword [esp + 0x40]
lea eax, [ecx + eax*8 + 8]
mov ecx, 0x12
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x30], ecx
movdqu xmmword [eax], xmm0
movdqu xmmword [eax + 0x10], xmm0
movdqu xmmword [eax + 0x30], xmm0
xor ecx, ecx
mov dword [eax + 0x44], ecx
mov dword [eax + 0x40], ecx
mov ecx, dword [esp + 0x1c]
movdqu xmmword [eax + 0x20], xmm0
inc ecx
mov esi, dword [esp + 0x2c]
cmp ecx, esi
jne 0x1002fc7d
jmp 0x1002fd34
mov dword [esp + 0x30], edi
mov eax, dword [esi + 4]
test eax, eax
jle 0x1002fd05
xor edi, edi
mov ecx, dword [esi]
mov edx, dword [ecx + edi*8]
test edx, edx
je 0x1002fd00
mov ecx, dword [esp + 0x28]
call fcn.10139000
mov eax, dword [esi + 4]
inc edi
cmp edi, eax
jl 0x1002fceb
mov edx, dword [esi]
test edx, edx
mov edi, dword [esp + 0x28]
je 0x1002fd16
mov ecx, edi
call fcn.10139000
mov ecx, edi
mov edx, esi
call fcn.10139000
pxor xmm0, xmm0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
jmp 0x1002fc93
mov al, 1
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
jmp 0x1002fd54
mov dword [esp + 0x1c], 0
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x44]
mov byte [eax + ecx*8 + 0x2c], dl
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x10032a9d
mov eax, edi
mov edi, dword [edi + 0x24]
mov dword [eax + 0x24], 0
test byte [esp + 0x3c], 0x20
mov edx, dword [esp + 8]
jne 0x10032bf0
test edi, edi
jne 0x10032c04
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x53], 0
mov edi, dword [esp + 0x20]
jne 0x1002fdeb
mov eax, dword [esp + 4]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x8c], eax
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x90], eax
lea ecx, [esp + 0x80]
mov edx, dword [esp + 8]
push 0
call fcn.1003a2f0
mov edx, dword [esp + 0xc]
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
mov ecx, 0
jne 0x10032c30
cmp byte [esp + 0x1c], 0
pxor xmm0, xmm0
je 0x1002fe83
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
lea edi, [edi + eax*8]
add edi, 0x40
cmp dword [edi - 0x28], 0
je 0x1002fe7d
lea eax, [edi - 0x38]
movdqa xmmword [esp + 0x80], xmm0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x84], 0x1007f8a0
mov dword [esp + 0x88], sym.nss3.dll_SECMOD_CanDeleteInternalModule
mov dword [esp + 0x98], eax
mov dword [edi + 4], ecx
mov dword [edi], ecx
lea ecx, [esp + 0x80]
mov edx, dword [esp + 8]
call fcn.10035b30
mov edx, dword [esp + 8]
xor ecx, ecx
pxor xmm0, xmm0
add edi, 0x48
dec esi
jne 0x1002fe21
mov edx, dword [edx + 0x34]
mov esi, dword [esp + 0x20]
mov esi, dword [esi + 0x34]
test edx, edx
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
jne 0x1002fc31
movdqu xmmword [esp + 0xf8], xmm0
mov esi, dword [esp + 4]
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], 0x1007ac50
mov dword [esp + 0xf4], sym.nss3.dll_SECMOD_CanDeleteInternalModule
lea ecx, [esp + 0xec]
mov ebx, dword [esp + 0x50]
mov edx, ebx
call fcn.10035b30
test ebx, ebx
je 0x1002feed
mov ecx, dword [esp + 0x28]
mov edx, ebx
push 1
call fcn.10008360
add esp, 4
cmp dword [esi + 0x24], 0
mov ebx, 0xffffffff
pxor xmm0, xmm0
jne 0x100322fd
mov eax, dword [esp + 0x34]
cmp byte [eax + 0x53], 0
jne 0x100322fd
mov edx, dword [edi + 0x20]
mov eax, dword [ebp + 8]
cmp byte [eax], 9
jb 0x1002ff23
mov eax, dword [edi + 0x30]
mov dword [esp + 0xa0], eax
mov eax, ebx
jmp 0x1002ef81
mov ebx, dword [esi + 0x28]
lea eax, [ebx + 1]
mov dword [esi + 0x28], eax
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x10031fb6
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4], 0x70
mov dword [ecx + edx*4 + 4], ebx
xor esi, esi
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 0x1002ff6f
or byte [eax + 4], 0x20
lea eax, [esp + 0x80]
mov byte [eax], 1
mov dword [esp + 0x24], ebx
mov dword [eax + 4], ebx
pxor xmm0, xmm0
movdqu xmmword [eax + 8], xmm0
mov ecx, dword [esp + 4]
mov edx, edi
push eax
call fcn.1002ee30
add esp, 4
test eax, eax
jne 0x10032ec3
mov esi, dword [esp + 0xc]
mov al, byte [esi]
cmp al, 0x87
sete cl
inc cl
xor edx, edx
mov dword [esi + 0x34], edx
mov ebx, dword [esi + 0x3c]
mov dword [esp + 0x18], ebx
mov dword [esi + 0x3c], edx
mov byte [esp + 0x80], cl
add al, 0x7a
mov ecx, str.UNION
cmp al, 2
ja 0x1002ffe5
movsx eax, al
mov ecx, dword [eax*4 + 0x101a2b04]
push ecx
push str._s_USING_TEMP_B_TREE
push 1
mov ebx, dword [esp + 0x10]
push ebx
call fcn.10036110
add esp, 0x10
mov ecx, ebx
mov esi, dword [esp + 0xc]
mov edx, esi
lea eax, [esp + 0x80]
push eax
call fcn.1002ee30
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0x14], eax
mov dword [esi + 0x34], edi
mov dword [esi + 0x30], 0
cmp byte [esi], 0x85
jne 0x10030054
movzx edi, word [edi + 2]
movzx ecx, word [esi + 2]
movsx eax, cx
movsx edx, di
cmp ax, dx
jl 0x100301d2
mov edi, esi
lea esi, [edx + 0x31]
cmp esi, eax
jge 0x10030956
mov esi, edi
mov word [esi + 2], cx
mov edx, dword [esi + 0x3c]
test edx, edx
jne 0x10032df5
xor eax, eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
mov dword [edx + 0x3c], ecx
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
cmp byte [esp + 0x10], 1
mov esi, dword [esp + 4]
je 0x10030213
mov eax, dword [esp + 0x34]
cmp byte [eax + 0x53], 0
jne 0x10030213
mov ecx, esi
mov eax, dword [esi + 0x38]
lea esi, [eax - 1]
mov dword [esp + 0x10], eax
add eax, 0xfffffffe
mov dword [esp + 0x28], eax
mov dword [ecx + 0x38], eax
mov edx, dword [esp + 0xc]
mov dword [esp + 0x18], esi
push esi
call fcn.10036b10
add esp, 4
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x10031fcd
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x25
mov edi, dword [esp + 0x24]
mov dword [ecx + eax*4 + 4], edi
mov edx, dword [esp + 0x18]
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 dword [esp + 0x20], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
push dword [esp + 0x18]
push dword [esp + 0x2c]
lea eax, [esp + 0xd8]
push eax
xor eax, eax
push eax
push eax
push edi
call fcn.1003a7c0
add esp, 0x18
mov ecx, dword [esi + 0xc]
xor eax, eax
inc eax
sub eax, dword [esp + 0x10]
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x10031523
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 0x10031fec
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 5
mov edx, dword [esp + 0x24]
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]
mov edi, dword [esp + 0x10]
neg edi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1003324e
mov edx, esi
mov eax, dword [esi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
mov eax, dword [edx + 0x6c]
cmp dword [edx + 0x70], eax
mov esi, dword [esp + 4]
jle 0x1003200a
lea ecx, [eax + 1]
mov dword [edx + 0x6c], ecx
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x76
mov edx, dword [esp + 0x24]
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 0x10030213
lea ecx, [eax + 0x31]
cmp ecx, edx
jge 0x100319da
mov ecx, edi
jmp 0x10030050
lea ecx, [eax + 0x31]
cmp ecx, edx
jge 0x10031a06
mov ecx, edi
mov esi, dword [esp + 4]
mov eax, dword [esp + 0xc]
mov word [eax + 2], cx
mov eax, dword [eax + 0x3c]
test eax, eax
jne 0x10033128
cmp dword [esp + 0x24], 0
jne 0x1003318c
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x38], 0
jne 0x10030233
mov eax, dword [esi + 0xd4]
xor ecx, ecx
test eax, eax
jne 0x10032cd6
mov dword [esi + 0xd4], ecx
cmp dword [esi + 0x24], 0
jne 0x10030243
mov eax, dword [esp + 0xc]
test byte [eax + 4], 0x20
jne 0x1003027d
mov eax, dword [esp + 0xdc]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0xe0]
mov dword [ecx + 0x10], eax
mov edx, dword [esp + 0x14]
test edx, edx
jne 0x10032ca0
mov esi, dword [esp + 4]
mov edi, dword [esp + 0xc]
cmp dword [edi + 0x38], 0
je 0x1002f3a9
jmp 0x1002f3bf
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x1c]
mov edi, dword [eax]
mov ecx, dword [esp + 0x34]
mov edx, edi
push 1
call fcn.10044910
add esp, 4
test eax, eax
je 0x100331e0
mov ecx, eax
test edi, edi
mov edx, dword [esp + 8]
mov dword [esp + 0x24], edi
mov edi, eax
jle 0x100302e3
xor esi, esi
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
push esi
call fcn.100361a0
add esp, 4
mov dword [edi + esi*4 + 0x14], eax
test eax, eax
jne 0x100302d4
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 8]
mov dword [edi + esi*4 + 0x14], eax
inc esi
cmp dword [esp + 0x24], esi
jne 0x100302b0
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, dword [esi + 0x14]
test eax, eax
jns 0x100302f6
mov esi, dword [esi + 0x34]
test esi, esi
jne 0x100302e3
jmp 0x100303c4
mov dword [esp + 0x10], edi
mov ecx, dword [edx]
cmp byte [ecx + 0x53], 0
jne 0x100331ea
lea ecx, [eax + eax*4]
shl ecx, 2
add ecx, dword [edx + 0x68]
mov edi, edx
mov edx, dword [esp + 0x24]
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov dword [esp + 0x18], edx
inc edx
mov dword [ecx], edx
mov edx, dword [edi]
cmp byte [edx + 0x53], 0
jne 0x100331f4
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
jne 0x10031936
mov edx, edi
lea eax, [ecx + eax*4]
inc eax
mov edi, dword [esp + 0x10]
mov dword [eax + 0xf], edi
mov byte [eax], 0xf7
mov dword [esi + 0x14], 0xffffffff
mov eax, dword [esi + 0x18]
test eax, eax
js 0x100302ea
mov ecx, dword [edx]
cmp byte [ecx + 0x53], 0
jne 0x10033fa8
lea ecx, [eax + eax*4]
shl ecx, 2
add ecx, dword [edx + 0x68]
mov edi, edx
mov edx, dword [esp + 0x24]
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov dword [esp + 0x18], edx
inc edx
mov dword [ecx], edx
mov edx, dword [edi]
cmp byte [edx + 0x53], 0
jne 0x10033fb2
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
jne 0x1003202c
mov edx, edi
lea eax, [ecx + eax*4]
inc eax
mov edi, dword [esp + 0x10]
mov dword [eax + 0xf], edi
mov byte [eax], 0xf7
mov dword [esi + 0x18], 0xffffffff
jmp 0x100302ea
dec dword [edi]
jne 0x10030243
mov ecx, dword [edi + 0xc]
mov edx, edi
call fcn.10139000
jmp 0x10030243
test eax, eax
jne 0x100333ed
mov word [edi + 2], 0
mov dword [esp + 0x3c], 0
mov eax, dword [esi + 0x38]
mov dword [esp + 0x44], eax
dec eax
mov dword [esp + 0x40], eax
mov dword [esi + 0x38], eax
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x100334ee
cmp word [ecx + 0x11c], 0x33
jbe 0x10031533
mov ebx, dword [ecx + 0x140]
test ebx, ebx
je 0x10031970
mov eax, dword [ebx]
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x140], eax
mov eax, dword [esp + 0x34]
inc dword [eax + 0x128]
pxor xmm0, xmm0
movdqu xmmword [ebx + 0x20], xmm0
movdqu xmmword [ebx + 0x10], xmm0
movdqu xmmword [ebx], xmm0
mov dword [ebx + 0x30], 0
mov ecx, dword [esi]
test ecx, ecx
je 0x100334ff
cmp word [ecx + 0x11c], 0xb
jbe 0x10031567
mov eax, dword [ecx + 0x140]
test eax, eax
je 0x100319a5
mov edx, dword [eax]
mov dword [ecx + 0x140], edx
inc dword [ecx + 0x128]
mov edx, dword [esp + 0x28]
mov ecx, dword [esi + 0x108]
mov dword [eax], ecx
mov dword [esi + 0x108], eax
mov dword [eax + 4], ebx
mov dword [eax + 8], fcn.10021550
mov eax, dword [esp + 0x34]
cmp byte [eax + 0x53], 0
jne 0x100333cd
mov eax, dword [edi + 0x10]
mov dword [ebx + 0x30], eax
pxor xmm0, xmm0
movdqu xmmword [esp + 0x8c], xmm0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x80], esi
mov eax, dword [esp + 8]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
mov eax, dword [esi + 0x2c]
inc eax
mov dword [ebx + 0x10], eax
xor eax, eax
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x10033510
mov dword [ebx + 0xc], eax
mov dword [esp + 0x1c], ebx
mov dword [ebx + 0x18], ecx
test edx, edx
je 0x10030576
cmp dword [edx], 0
jle 0x10030576
lea esi, [edx + 8]
xor ebx, ebx
xor edi, edi
mov edx, dword [esi]
mov dword [esp + 0xf0], 0x1007af00
mov dword [esp + 0xf4], 0x10198340
mov dword [esp + 0xf8], 0x10198350
mov dword [esp + 0xfc], ebx
lea eax, [esp + 0x80]
mov dword [esp + 0x104], eax
mov dword [esp + 0xec], ebx
test edx, edx
je 0x1003056a
lea ecx, [esp + 0xec]
call fcn.10148200
inc edi
add esi, 0x14
mov eax, dword [esp + 0x28]
cmp edi, dword [eax]
jl 0x1003051b
mov esi, dword [esp + 0xa0]
test esi, esi
jne 0x10033517
cmp dword [esp + 0x30], 0
mov ecx, dword [esp + 0xc]
jne 0x10033583
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x20]
mov dword [ebx + 0x24], eax
cmp dword [ecx + 0x28], 0
jne 0x10032d17
cmp dword [ecx + 0x2c], 0
jne 0x10032d17
cmp dword [ebx + 0x2c], 1
jne 0x10032d17
mov eax, dword [ebx + 0x28]
mov eax, dword [eax]
mov edi, dword [eax + 0x14]
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], 0
test edi, edi
je 0x1003107b
cmp dword [edi], 1
jne 0x10032d17
test byte [eax + 7], 1
jne 0x10032d17
mov ecx, dword [esp + 0x34]
test byte [ecx + 0x4e], 1
jne 0x10031a25
mov eax, dword [eax + 8]
xor ecx, ecx
movzx edx, byte [eax + ecx]
movzx ebx, byte [ecx + 0x101b8fe3]
cmp dl, bl
je 0x10033619
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [ebx + 0x1019c728]
jne 0x10031026
inc ecx
jmp 0x10030606
cmp dword [ecx + 0x118], 0
je 0x100322a9
cmp byte [ecx + 0x53], 0
jne 0x10030662
mov edx, 0xc
push 0
call fcn.10143c10
add esp, 4
test eax, eax
pxor xmm0, xmm0
mov edx, dword [esp + 0x18]
jne 0x1002fbe7
mov ecx, dword [edi]
push esi
push ecx
call fcn.1000be40
add esp, 8
pxor xmm0, xmm0
mov edx, dword [esp + 0x18]
jmp 0x1002fbff
cmp dword [esp + 0xa4], 0
mov eax, str.RIGHT_PART_OF_ORDER_BY
mov ecx, 0x101bce51
cmovg ecx, eax
push ecx
push str.USE_TEMP_B_TREE_FOR__s
push 0
push esi
call fcn.10036110
add esp, 0x10
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x38]
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x44], eax
dec eax
mov dword [esp + 0x50], eax
mov dword [esi + 0x38], eax
mov eax, dword [ebp + 8]
mov ecx, eax
mov bl, byte [eax]
mov edi, dword [esp + 0xa0]
mov eax, dword [esp + 0xb0]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x10], ecx
test eax, eax
mov dword [esp + 8], edx
mov byte [esp + 0x38], bl
jne 0x100337fc
cmp bl, 0xd
je 0x1003070e
mov eax, ebx
add al, 0xf7
cmp al, 1
ja 0x10034509
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x30], eax
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x40], eax
mov ecx, dword [edi]
sub ecx, dword [esp + 0xa4]
test byte [esp + 0xc0], 1
mov dword [esp + 0x20], ecx
je 0x10033861
mov eax, dword [esi + 0x28]
mov edi, dword [esi + 0x2c]
inc edi
mov dword [esi + 0x2c], edi
mov dword [esp + 0x28], eax
inc eax
mov dword [esi + 0x28], eax
xor ebx, ebx
cmp dword [esp + 0xb0], 0
jne 0x100338b9
mov eax, dword [esp + 0x1c]
add eax, ecx
inc eax
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jle 0x100320cb
mov esi, edx
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x75
mov esi, dword [esp + 0x28]
mov dword [edx + ecx*4 + 4], esi
mov dword [edx + ecx*4 + 8], edi
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
mov esi, dword [esp + 0x2c]
mov eax, ebx
test ebx, ebx
jne 0x100338dc
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edx
jle 0x100320e5
lea eax, [edx + 1]
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x68]
mov dword [esp + 0x3c], edx
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4], 0x23
mov ebx, dword [esp + 0x40]
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], esi
xor edx, edx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
jg 0x10033911
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x6c]
cmp dword [edx + 0x70], eax
jle 0x10032103
lea ecx, [eax + 1]
mov dword [edx + 0x6c], ecx
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x81
mov dword [ecx + eax*4 + 4], ebx
mov dword [ecx + eax*4 + 8], edi
mov esi, dword [esp + 0x28]
mov dword [ecx + eax*4 + 0xc], esi
mov dword [ecx + eax*4 + 0x10], 0
xor edi, edi
add edi, dword [esp + 0x20]
mov dword [esp + 0x50], edi
cmp dword [esp + 0x1c], 0
mov ebx, dword [esp + 0x10]
jle 0x10030912
mov eax, dword [esp + 0x50]
lea edi, [eax - 1]
lea eax, [ebx + 0x18]
mov ecx, dword [esp + 0x1c]
cmp word [eax], 1
adc edi, 0
add eax, 0x14
dec ecx
jne 0x10030864
mov eax, dword [esp + 0x1c]
lea esi, [eax + 1]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*4]
add ebx, 4
movzx ecx, word [ebx]
lea eax, [ecx - 1]
test ecx, ecx
sete byte [esp + 0xc]
cmove eax, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
add eax, esi
add eax, 0xfffffffe
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jle 0x100308f8
mov dword [esp + 0x20], eax
mov eax, edx
lea edx, [ecx + 1]
mov dword [eax + 0x6c], edx
mov edx, dword [eax + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x5b
mov eax, dword [esp + 0x28]
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [esp + 0x10]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esp + 0x20]
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
xor eax, eax
mov cl, byte [esp + 0xc]
mov al, cl
sub edi, eax
dec esi
add ebx, 0xffffffec
cmp esi, 1
mov edx, dword [esp + 8]
jg 0x10030881
jmp 0x10030912
mov ecx, edx
mov edx, 0x5b
push eax
push dword [esp + 0x14]
push dword [esp + 0x30]
call fcn.10007820
add esp, 0xc
jmp 0x100308df
mov al, byte [esp + 0x38]
add al, 0xf7
cmp al, 6
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
ja case.0x1003092b.243
movzx eax, al
jmp dword [eax*4 + 0x101a3d3c]
mov ecx, edx
mov edx, 0x51
push 0
push dword [esp + 0x20]
mov eax, dword [ebp + 8]
push dword [eax + 0xc]
call fcn.10036aa0
mov edx, dword [esp + 0x14]
add esp, 0xc
jmp case.0x1003092b.246
lea esi, [edx + 0x1f]
cmp esi, eax
jl 0x10031fb0
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 0x1003004e
lea edx, [esp + 0xec]
mov dword [edx], 0
mov ecx, dword [esp + 0xc]
call fcn.1000bd10
lea eax, [esp + 0xec]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
add dword [ecx + 0xd0], eax
mov eax, dword [esp + 0x34]
test byte [eax + 0x4d], 0x10
jne 0x100309d8
cmp byte [ebx - 0x1c], 0
jns 0x100309b6
mov eax, dword [ebx]
cmp byte [eax + 0x12], 0
je 0x100309d8
mov eax, dword [ebx - 0x20]
shr eax, 5
and eax, 1
mov ecx, dword [esp + 4]
mov edx, edi
push eax
push dword [ebx - 0x18]
mov eax, dword [esp + 0x14]
push dword [eax + 0x24]
call fcn.1005eb20
add esp, 0xc
lea edx, [ebx - 0x44]
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0xf0]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0x3c]
mov dword [ecx + 0xf0], eax
test esi, esi
mov ecx, dword [esp + 8]
mov dword [esp + 0x18], edx
jne 0x100315b2
cmp dword [ecx], 1
je 0x10030a11
test byte [ecx + 0x74], 0xa
je 0x100315b2
cmp byte [ecx + 0x30], 0
jns 0x10030a24
mov eax, dword [ecx + 0x4c]
cmp byte [eax + 0x12], 0
je 0x100315b2
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x6c]
mov dword [esp + 0x28], edx
inc edx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 4]
mov eax, dword [edx + 0x2c]
inc eax
mov dword [edx + 0x2c], eax
mov dword [esp + 0x30], eax
mov edx, dword [esp + 8]
mov dword [edx + 0x24], eax
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x10032246
lea edx, [eax + 1]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4], 0xd
mov eax, dword [esp + 0x30]
mov dword [edx + ecx*4 + 4], eax
xor eax, eax
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esp + 0x20]
mov dword [edx + ecx*4 + 0xc], eax
xor eax, eax
mov dword [edx + ecx*4 + 0x10], eax
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x20], eax
mov eax, dword [ecx + 0x24]
mov byte [esp + 0x80], 0xd
mov dword [esp + 0x84], eax
pxor xmm0, xmm0
lea eax, [esp + 0x88]
movdqu xmmword [eax], xmm0
push dword [esp + 0x18]
push str.CO_ROUTINE___S
push 1
push dword [esp + 0x10]
call fcn.10036110
add esp, 0x10
mov ecx, dword [esp + 4]
mov edx, edi
lea eax, [esp + 0x80]
push eax
call fcn.1002ee30
add esp, 4
movzx eax, word [edi + 2]
mov edx, dword [esp + 8]
mov ecx, dword [edx + 0x18]
mov word [ecx + 0x2e], ax
or byte [edx + 0x30], 0x10
mov eax, dword [esp + 0x8c]
mov dword [edx + 0x28], eax
mov eax, dword [edx + 0x24]
mov edi, dword [esp + 0x14]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jle 0x10032266
lea edx, [ecx + 1]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
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 [edi + 0xc]
mov byte [eax + 0x13], 0
mov eax, dword [edi + 0xc]
mov dword [eax + 0x1c], 0
mov ecx, dword [edi]
mov eax, dword [edi + 0x6c]
cmp byte [ecx + 0x53], 0
jne 0x10034001
lea ecx, [eax - 1]
mov edx, dword [esp + 0x28]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 8], eax
mov eax, dword [esp + 4]
mov byte [eax + 0x13], 0
mov dword [eax + 0x1c], 0
mov eax, dword [esp + 0x34]
cmp byte [eax + 0x53], 0
jne 0x100322fd
lea edi, [esp + 0xec]
mov dword [edi], 0
mov ecx, dword [esp + 0xc]
mov edx, edi
call fcn.1000bd10
mov eax, dword [edi]
mov ecx, dword [esp + 4]
sub dword [ecx + 0xd0], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 0xf0], eax
mov edx, dword [esp + 8]
jmp 0x1002f163
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x1002eff1
test byte [eax + 5], 0x20
jne 0x10030bc7
mov edi, dword [esp + 0xc]
cmp dword [edi + 0x44], 0
jne 0x100339f3
mov eax, dword [edi + 0x1c]
mov ebx, dword [edi + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov eax, esi
mov esi, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x150]
test ecx, ecx
jne 0x10033a06
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x30], eax
dec eax
mov dword [ecx + 0x38], eax
mov word [edi + 2], 0x140
mov edx, edi
mov dword [esp + 0x18], eax
push eax
call fcn.10036b10
add esp, 4
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0xc], eax
mov dword [esp + 0x14], 0
mov dword [edi + 8], eax
mov eax, dword [ebx]
test eax, eax
mov dword [esp + 0x28], ecx
jle 0x10030c70
add ebx, 0x34
test byte [ebx - 4], 0x20
jne 0x10030c6a
add ebx, 0x48
dec eax
jne 0x10030c5c
jmp 0x10030c70
mov eax, dword [ebx]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x30]
mov edx, dword [esp + 4]
mov ebx, dword [edx + 0x28]
lea ecx, [ebx + 1]
mov dword [edx + 0x28], ecx
cmp byte [eax], 0x85
je 0x1003171e
cmp edi, 1
mov al, 7
adc al, 0
mov dword [esp + 0x40], 0
mov byte [esp + 0x80], al
mov dword [esp + 0x24], ebx
mov dword [esp + 0x84], ebx
pxor xmm0, xmm0
movdqu xmmword [esp + 0x88], xmm0
mov ebx, dword [edx + 0x2c]
inc ebx
mov dword [edx + 0x2c], ebx
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x10032161
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x75
mov edx, dword [esp + 0x14]
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], ebx
mov edx, dword [esp + 0x20]
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], 0
test edi, edi
mov dword [esp + 0x10], edi
jne 0x10033a86
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x1003217e
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x70
mov edx, dword [esp + 0x24]
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 dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x40]
test ebx, ebx
mov edi, dword [esp + 0xc]
jne 0x10031734
mov eax, dword [edi + 4]
mov dword [esp + 0x3c], esi
mov dword [edi + 0x30], 0
test al, 8
jne 0x10033ad0
mov byte [edi], 0x86
mov dword [esp + 0x20], edi
mov edi, dword [edi + 0x34]
mov eax, dword [edi + 4]
bt eax, 0xd
jb 0x10030d64
mov dword [edi + 0x38], 0
push str.SETUP
push 1
mov esi, dword [esp + 0xc]
push esi
call fcn.10036110
add esp, 0xc
lea eax, [esp + 0x80]
mov ecx, esi
mov edx, edi
push eax
call fcn.1002ee30
add esp, 4
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x40], edi
mov dword [edi + 0x38], ebx
test eax, eax
jne 0x10030fad
mov esi, dword [esp + 0x3c]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jle 0x1003219c
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
mov dword [esp + 0x38], ecx
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x25
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x18]
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 edi, dword [esp + 0x10]
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x100321be
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x84
mov edx, dword [esp + 0x14]
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 ebx, dword [esp + 0x24]
test edi, edi
jne 0x10033aea
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x1003220f
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x82
mov dword [ecx + eax*4 + 4], ebx
mov edx, dword [esp + 0x44]
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]
cmp dword [esi + 0x70], eax
jle 0x100321da
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x7e
mov dword [ecx + eax*4 + 4], ebx
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 ebx, dword [esp + 4]
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x24], eax
lea edi, [eax - 1]
mov dword [ebx + 0x38], edi
mov eax, dword [esp + 0x2c]
test eax, eax
jg 0x10033b04
xor eax, eax
mov ecx, ebx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x18]
push ebx
push edi
lea edi, [esp + 0xd8]
push edi
push eax
push eax
push dword [esp + 0x28]
call fcn.1003a7c0
add esp, 0x18
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x10033b1c
mov ecx, dword [esi + 0xc]
mov edi, dword [esp + 0x24]
neg edi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x10033b34
mov eax, dword [esi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
mov eax, dword [esp + 0x20]
mov dword [eax + 0x34], 0
push str.RECURSIVE_STEP
push 1
mov edi, dword [esp + 0xc]
push edi
call fcn.10036110
add esp, 0xc
mov ecx, edi
mov ebx, dword [esp + 0xc]
mov edx, ebx
lea eax, [esp + 0x80]
push eax
call fcn.1002ee30
add esp, 4
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x34], eax
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x100321f3
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0xb
xor edx, edx
mov dword [ecx + eax*4 + 4], edx
mov edi, dword [esp + 0x38]
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 + 0x30]
neg edi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x10033b44
mov eax, dword [esi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
mov edx, dword [ebx + 0x30]
test edx, edx
jne 0x10033b54
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x30], eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 0x3c], eax
mov dword [esp + 0x14], 0
xor ebx, ebx
mov esi, dword [esp + 4]
jmp 0x10030233
mov eax, dword [ecx + 0x13c]
test eax, eax
jne 0x100319f9
mov eax, dword [ecx + 0x138]
test eax, eax
jne 0x10031fa3
mov eax, dword [ecx + 0x134]
test eax, eax
jne 0x1003229c
inc dword [ecx + 0x130]
jmp 0x10030641
lea edx, [eax + ecx*4]
mov ecx, ebx
push 0xfffffffffffffff7
push dword [esp + 0x20]
call fcn.1003d950
add esp, 8
jmp 0x1002f6c2
xor ecx, ecx
movzx edx, byte [eax + ecx]
movzx ebx, byte [ecx + 0x101b4eaa]
cmp dl, bl
je 0x1003104c
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [ebx + 0x1019c728]
jne 0x10031a25
inc ecx
jmp 0x10031028
test dl, dl
jne 0x10031049
mov bl, 1
mov al, 2
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x34]
mov edx, edi
push 0
call fcn.100018f0
add esp, 4
test eax, eax
je 0x1003400b
mov dword [esp + 0x24], eax
mov byte [eax + 0x10], bl
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x2c]
test eax, eax
jle 0x10031152
mov ecx, dword [esp + 0x98]
xor edi, edi
mov eax, dword [ebx + 0x28]
lea edx, [edi + edi*4]
mov eax, dword [eax + edx*4]
or ecx, 0x20000
mov dword [esp + 0x98], ecx
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x1003111f
cmp dword [ecx], 0
jle 0x1003111f
lea ebx, [ecx + 8]
xor esi, esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], ecx
mov edx, dword [ebx]
mov dword [esp + 0xf0], 0x1007af00
mov dword [esp + 0xf4], 0x10198340
mov dword [esp + 0xf8], 0x10198350
xor ecx, ecx
mov dword [esp + 0xfc], ecx
lea eax, [esp + 0x80]
mov dword [esp + 0x104], eax
mov dword [esp + 0xec], ecx
test edx, edx
je 0x1003110f
lea ecx, [esp + 0xec]
call fcn.10148200
inc esi
add ebx, 0x14
mov ecx, dword [esp + 0x4c]
cmp esi, dword [ecx]
mov eax, dword [esp + 0x38]
jl 0x100310be
test byte [eax + 7], 1
jne 0x10033637
mov ecx, dword [esp + 0x98]
mov eax, 0xfffdffff
and ecx, eax
mov dword [esp + 0x98], ecx
inc edi
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x2c]
cmp edi, eax
mov esi, dword [esp + 4]
jl 0x1003108f
mov ecx, dword [esi + 0x2c]
mov dword [ebx + 0x14], ecx
mov ecx, dword [esp + 0x34]
cmp byte [ecx + 0x53], 0
jne 0x100333d5
cmp dword [esp + 0x10], 0
mov ecx, dword [esp + 0xc]
jne 0x10033695
cmp dword [ecx + 0x24], 0
jne 0x100311c0
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x1c]
cmp dword [ecx], 1
jne 0x100311c0
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x20]
cmp dword [edx], 1
jne 0x100311c0
cmp dword [edx + 0x1c], 0
jne 0x100311c0
mov edi, dword [edx + 0x18]
cmp dword [edi + 0x38], 0
jne 0x100311c0
mov ecx, dword [ecx + 8]
cmp byte [ecx], 0xa7
jne 0x100311c0
cmp dword [ebx + 0x2c], 0
je 0x100311c0
mov edx, dword [ebx + 0x28]
mov edx, dword [edx + 4]
test byte [edx + 5], 1
jne 0x10034018
cmp dword [ebx + 0x24], 0
jne 0x10033721
cmp eax, 1
jne 0x100311dc
mov eax, dword [ebx + 0x28]
cmp dword [eax + 0xc], 0
jns 0x10033791
mov dword [esp + 0x10], 0
mov dword [esp + 0x3c], 0
xor edi, edi
mov ebx, dword [esp + 4]
mov ecx, ebx
mov esi, dword [esp + 0x1c]
mov edx, esi
call fcn.1004f460
movzx eax, byte [esp + 0x2c]
or edi, eax
movzx eax, di
mov ecx, ebx
mov edx, dword [esp + 8]
push 0
push eax
push dword [esp + 0x44]
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.1003ef90
add esp, 0x14
test eax, eax
je 0x100333d5
mov dword [esp + 8], eax
movzx edi, byte [eax + 0x2f]
mov ecx, ebx
mov ebx, dword [esp + 0x10]
mov edx, ebx
push edi
push esi
call fcn.10060520
add esp, 8
test edi, edi
jne 0x100337b1
test ebx, ebx
mov ecx, dword [esp + 8]
jne 0x100337cd
cmp byte [esp + 0x2c], 0
je 0x100314a6
test byte [ecx + 0x30], 4
je 0x100314a6
cmp byte [ecx + 0x2d], 0
je 0x100314a6
movzx edi, byte [ecx + 0x2c]
imul eax, edi, 0x58
inc edi
add eax, ecx
add eax, 0x300
mov ecx, dword [esp + 0x14]
dec edi
jle 0x1003146a
mov edx, dword [eax - 0x20]
add eax, 0xffffffa8
test byte [edx + 0x24], 4
je 0x1003128e
xor edi, edi
mov edx, 0xb
push edi
push dword [eax]
push edi
call fcn.10036aa0
jmp 0x10032294
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jle 0x10032230
lea edx, [ecx + 1]
mov esi, dword [esp + 8]
mov dword [esi + 0x6c], edx
mov edx, dword [esp + 8]
mov edx, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
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 edx, dword [esp + 8]
cmp dword [esp + 0x4c], 0
jne 0x1003392e
mov ecx, dword [edx + 0xc]
neg dword [esp + 0x44]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
mov esi, dword [esp + 4]
js 0x10031709
mov eax, dword [edx + 0x6c]
mov dword [esp + 0xc], eax
mov ecx, dword [ecx + 0x40]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0xc]
mov dword [ecx + eax*4], edx
inc dword [esp + 0x3c]
test byte [esp + 0xc0], 1
je 0x100339a6
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x10032121
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 3
mov edx, dword [esp + 0x40]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [esp + 0x3c]
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 [esp + 0xac]
test eax, eax
jne 0x100339c3
mov edx, dword [esp + 8]
mov ecx, dword [edx + 0xc]
not dword [esp + 0x2c]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x100339e2
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov edx, dword [esp + 0x2c]
mov dword [ecx + edx*4], eax
jmp 0x1002f36c
mov edi, dword [ebx - 0x3c]
test edi, edi
je 0x1002f158
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov ecx, dword [eax + 0x150]
test ecx, ecx
je 0x1002f158
cmp byte [eax + 0xa9], 0
jne 0x1002f158
mov edx, dword [esp + 4]
cmp byte [edx + 0xc8], 0
mov edx, dword [esp + 8]
jne 0x1002f158
mov edx, dword [ebx - 0x40]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 4]
mov edx, dword [edx + 0xf0]
mov dword [esp + 0x20], edx
mov eax, dword [eax + 0x154]
mov dword [esp + 0x10], eax
call dword [section..00cfg]
push dword [esp + 0x20]
push dword [esp + 0x1c]
push 0x101cc833
push edi
push 0x14
push dword [esp + 0x24]
call ecx
add esp, 0x18
cmp eax, 1
jne 0x10035215
push str.not_authorized
mov edi, dword [esp + 8]
push edi
call fcn.100394d0
add esp, 8
mov dword [edi + 0xc], 0x17
mov edx, dword [esp + 8]
jmp 0x1002f158
mov ecx, dword [ebx + 0x6c]
dec ecx
jmp 0x1002f6a3
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x20]
mov edi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edi
jle 0x10032285
lea edx, [edi + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [edi + edi*4]
mov dword [edx + ecx*4], 0xb
xor edi, edi
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 ecx, dword [esp + 8]
call fcn.100370c0
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, dword [esp + 0x1c]
call fcn.1004eac0
xor esi, esi
mov dword [esp + 0xa0], esi
push 0x10
mov edi, dword [esp + 0x44]
push edi
push dword [esp + 0x38]
push ebx
call fcn.10044d40
add esp, 0x10
mov ecx, ebx
mov edx, dword [esp + 0xc]
push edi
push edi
push dword [ebp + 8]
push esi
push esi
push 0xffffffffffffffff
call fcn.1003a7c0
add esp, 0x18
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov esi, dword [esp + 0x44]
neg esi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
mov edi, dword [esp + 0x18]
js 0x100337ec
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
jmp 0x1002f34c
call fcn.100084e0
jmp 0x1002f3a9
mov edx, esi
push eax
call fcn.10037c90
add esp, 4
jmp 0x1003013e
cmp dword [ecx + 0x118], 0
je 0x100322d2
cmp byte [ecx + 0x53], 0
jne 0x100333cd
mov edx, 0x34
push 0
call fcn.10143c10
add esp, 4
mov ebx, eax
test eax, eax
jne 0x1003043e
xor ebx, ebx
jmp 0x100315a9
cmp dword [ecx + 0x118], 0
je 0x100322dd
cmp byte [ecx + 0x53], 0
jne 0x10031597
mov edx, 0xc
push 0
call fcn.10143c10
add esp, 4
test eax, eax
mov edx, dword [esp + 0x28]
jne 0x1003048f
mov ecx, dword [esi]
push ebx
push ecx
call fcn.10021550
add esp, 8
mov esi, dword [esp + 4]
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x28]
jmp 0x100304a7
cmp byte [ebx - 0x1c], 0
jns 0x100315c9
mov eax, dword [ebx]
mov dword [esp + 0x20], eax
mov eax, dword [eax + 4]
test eax, eax
jg 0x10034561
call fcn.1014e690
test eax, eax
jne 0x100345b0
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [esp + 0x20], eax
mov dword [ecx + 0x2c], eax
mov dword [ebx - 0x28], eax
mov ecx, dword [esp + 0x14]
mov edx, 0x45
xor eax, eax
push eax
push dword [esp + 0x24]
mov dword [esp + 0x30], 0
xor eax, eax
push eax
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x20], eax
inc eax
mov dword [ebx - 0x2c], eax
test byte [ebx - 0x1c], 8
je 0x10034607
mov eax, dword [ebx - 0x18]
mov byte [esp + 0x80], 0xc
mov dword [esp + 0x84], eax
pxor xmm0, xmm0
lea eax, [esp + 0x88]
movdqu xmmword [eax], xmm0
push dword [esp + 0x18]
push str.MATERIALIZE___S
push 1
push dword [esp + 0x10]
call fcn.10036110
add esp, 0x10
mov ecx, dword [esp + 4]
mov edx, edi
lea eax, [esp + 0x80]
push eax
call fcn.1002ee30
add esp, 4
movzx eax, word [edi + 2]
mov ecx, dword [ebx - 0x34]
mov word [ecx + 0x2e], ax
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x10034626
xor eax, eax
mov ecx, dword [esp + 0x14]
mov edx, 0x41
push eax
push eax
push dword [ebx - 0x28]
call fcn.10036aa0
add esp, 0xc
mov edx, dword [esp + 0x20]
test edx, edx
js 0x1003465b
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
cmp byte [ecx + 0x53], 0
jne 0x10034668
lea ecx, [edx + edx*4]
shl ecx, 2
mov edx, dword [esp + 0x14]
add ecx, dword [edx + 0x68]
mov dword [ecx + 4], eax
mov eax, dword [esp + 4]
mov byte [eax + 0x13], 0
mov dword [eax + 0x1c], 0
mov eax, 0x88
and eax, dword [ebx - 0x1c]
cmp eax, 0x80
jne 0x10030b7e
mov eax, dword [ebx - 0x2c]
mov ecx, dword [ebx]
mov dword [ecx + 4], eax
mov eax, dword [ebx - 0x28]
mov dword [ecx + 8], eax
mov eax, dword [ebx - 0x18]
mov dword [ecx + 0xc], eax
movzx eax, word [edi + 2]
mov word [ecx + 0x10], ax
jmp 0x10030b7e
mov edx, dword [esp + 8]
push dword [esp + 0x44]
call fcn.10037c90
add esp, 4
jmp 0x10031330
mov dword [esp + 0x40], ecx
cmp edi, 1
mov al, 6
sbb al, 0
lea ecx, [ebx + 2]
mov dword [edx + 0x28], ecx
jmp 0x10030c9c
xor eax, eax
mov ecx, esi
mov edx, 0x70
push eax
push eax
push ebx
call fcn.10036aa0
add esp, 0xc
mov dword [edi + 0x14], eax
mov eax, dword [edi + 4]
or eax, 0x20
mov dword [edi + 4], eax
jmp 0x10030d59
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esp + 8]
mov edx, 0x70
push 0
push dword [eax]
push dword [esp + 0xdc]
call fcn.10036aa0
add esp, 0xc
mov byte [esp + 0xd0], 0xe
mov bl, 0xe
jmp 0x1002efd2
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x38]
mov dword [esp + 0x18], eax
add eax, 0xfffffffe
mov dword [esp + 0x50], eax
mov dword [esi + 0x38], eax
mov eax, dword [esp + 0xc]
mov bl, byte [eax]
mov edx, dword [eax + 0x34]
mov dword [esp + 0x14], edx
mov eax, dword [eax + 0x30]
mov dword [esp + 0x24], eax
mov esi, dword [eax]
mov byte [esp + 0x34], bl
cmp bl, 0x86
mov dword [esp + 0x38], ecx
jne 0x10034672
lea edx, [esi*4 + 4]
push 0
call fcn.1014e1f0
add esp, 4
mov dword [esp + 0x3c], 0
mov ecx, 0
mov dword [esp + 0x2c], eax
test eax, eax
mov edi, dword [esp + 0xc]
je 0x10031826
mov ebx, dword [esp + 0x2c]
mov dword [ebx], esi
test esi, esi
jle 0x10031819
mov eax, dword [esp + 0x24]
add eax, 0x18
xor ecx, ecx
movzx edx, word [eax]
dec edx
mov dword [ebx + ecx*4 + 4], edx
add eax, 0x14
inc ecx
cmp esi, ecx
jne 0x10031809
mov ecx, dword [esp + 4]
mov edx, edi
call fcn.1005fef0
mov ecx, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], esi
mov edx, dword [esp + 0x24]
mov dword [edi + 0x30], edx
mov esi, dword [esp + 4]
mov ecx, dword [esi]
push 0
call fcn.100018f0
add esp, 4
mov ebx, dword [esp + 0x14]
mov dword [ebx + 0x30], eax
mov dword [esp + 0x44], 0
cmp byte [esp + 0x34], 0x86
jne 0x10034685
mov eax, dword [esp + 0x18]
dec eax
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [edi + 0x34], eax
mov dword [ebx + 0x38], eax
mov ecx, esi
mov edx, edi
push str.ORDER
push dword [edi + 0x30]
call fcn.10005960
add esp, 8
mov dword [esp + 0x40], 0
xor eax, eax
cmp dword [ebx + 0x34], eax
jne 0x100318a7
mov ecx, esi
mov edx, ebx
push str.ORDER
push dword [ebx + 0x30]
call fcn.10005960
add esp, 8
mov ecx, esi
mov edi, dword [esp + 0xc]
mov edx, edi
push dword [esp + 0x28]
call fcn.10036b10
add esp, 4
cmp byte [esp + 0x34], 0x86
jne 0x10031a3a
cmp dword [edi + 8], 0
mov dword [esp + 0x30], 0
je 0x10031a42
mov esi, dword [esp + 4]
mov eax, dword [esi + 0x2c]
lea ecx, [eax + 1]
mov dword [esp + 0x40], ecx
add eax, 2
mov dword [esp + 0x30], eax
mov dword [esi + 0x2c], eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x10035195
inc eax
xor esi, esi
mov edi, dword [esp + 8]
mov ecx, edi
mov edx, 0x4d
push esi
mov ebx, dword [esp + 0x44]
push ebx
push eax
call fcn.10036aa0
add esp, 0xc
mov ecx, edi
mov edx, 0x4d
push esi
push dword [esp + 0x34]
push ebx
call fcn.10036aa0
add esp, 0xc
mov edi, dword [esp + 0xc]
jmp 0x10031a42
lea edx, [ecx + eax*4]
mov ecx, dword [esp + 8]
push 0xfffffffffffffff7
mov edi, dword [esp + 0x14]
push edi
call fcn.1003d950
mov edx, dword [esp + 0x10]
add esp, 8
jmp 0x10030352
xor esi, esi
mov ecx, ebx
mov edx, 0x70
push esi
push esi
push eax
call fcn.10007820
add esp, 0xc
mov edi, eax
jmp 0x1002f685
mov ebx, dword [ecx + 0x13c]
test ebx, ebx
jne 0x100320ad
mov ebx, dword [ecx + 0x138]
test ebx, ebx
jne 0x1003213d
mov ebx, dword [ecx + 0x134]
test ebx, ebx
jne 0x100322b4
inc dword [ecx + 0x130]
jmp 0x1003154a
mov eax, dword [ecx + 0x13c]
test eax, eax
jne 0x100320be
mov eax, dword [ecx + 0x138]
test eax, eax
jne 0x1003214e
mov eax, dword [ecx + 0x134]
test eax, eax
jne 0x100322c5
inc dword [ecx + 0x130]
jmp 0x1003157a
lea ecx, [eax + 0x1f]
cmp ecx, edx
jl 0x1003215b
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 0x10030050
mov edx, dword [eax]
mov dword [ecx + 0x13c], edx
jmp 0x1002fbdd
lea ecx, [eax + 0x1f]
cmp ecx, edx
jl 0x1003222a
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 0x100301f1
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], 0
jmp 0x10031077
mov dword [esp + 0x30], 0
mov edx, dword [edi + 0x3c]
test edx, edx
jne 0x10034709
mov dword [edi + 0x3c], 0
mov esi, dword [esp + 4]
mov ebx, dword [esi + 0x2c]
lea edx, [ebx + 1]
lea ecx, [ebx + 2]
lea eax, [ebx + 4]
mov dword [esp + 0x20], eax
mov dword [esi + 0x2c], eax
mov al, 0xd
mov byte [esp + 0x80], al
mov dword [esp + 0x10], edx
mov dword [esp + 0x84], edx
pxor xmm0, xmm0
movdqu xmmword [esp + 0x88], xmm0
mov byte [esp + 0xec], al
mov dword [esp + 0x24], ecx
mov dword [esp + 0xf0], ecx
movdqu xmmword [esp + 0xf4], xmm0
mov cl, byte [edi]
add cl, 0x7a
mov eax, str.UNION
cmp cl, 2
ja 0x10031ac0
movsx eax, cl
mov eax, dword [eax*4 + 0x101a2b04]
add ebx, 3
mov dword [esp + 0x1c], ebx
xor ecx, ecx
inc ecx
push eax
push str.MERGE___s_
push ecx
mov edi, dword [esp + 0x10]
push edi
call fcn.10036110
add esp, 0x10
mov ebx, dword [esp + 8]
mov eax, dword [ebx + 0x6c]
inc eax
xor esi, esi
mov ecx, ebx
mov edx, 0xd
push eax
push esi
push dword [esp + 0x18]
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
mov dword [esi + 8], eax
push str.LEFT
xor eax, eax
inc eax
push eax
push edi
call fcn.10036110
add esp, 0xc
lea eax, [esp + 0x80]
mov ecx, edi
mov edx, esi
push eax
call fcn.1002ee30
add esp, 4
mov ecx, ebx
mov edx, 0x42
xor eax, eax
push eax
push eax
xor esi, esi
push dword [esp + 0x18]
call fcn.10036aa0
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 + 0x53], 0
jne 0x10034717
lea ecx, [eax - 1]
mov edx, dword [esp + 0x54]
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 eax, dword [ebx + 0x6c]
inc eax
mov ecx, ebx
mov edx, 0xd
push eax
xor esi, esi
push esi
push dword [esp + 0x2c]
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x54], eax
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 8]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 8], eax
mov dword [edi + 0xc], esi
push str.RIGHT
push 1
mov esi, dword [esp + 0xc]
push esi
call fcn.10036110
add esp, 0xc
lea eax, [esp + 0xec]
mov ecx, esi
mov edx, edi
push eax
call fcn.1002ee30
add esp, 4
mov eax, dword [esp + 0x40]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x58]
mov dword [edi + 0xc], eax
mov ecx, ebx
mov edx, 0x42
xor eax, eax
push eax
push eax
push dword [esp + 0x2c]
call fcn.10036aa0
add esp, 0xc
mov eax, dword [ebx + 0xc]
mov byte [eax + 0x13], 0
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x30], 0
xor ecx, ecx
mov dword [eax + 0x1c], ecx
mov ecx, esi
mov edx, edi
mov edi, dword [esp + 0x28]
push edi
mov esi, dword [esp + 0x40]
push esi
push dword [esp + 0x4c]
push dword [esp + 0x28]
mov ebx, dword [ebp + 8]
push ebx
lea eax, [esp + 0x94]
push eax
call fcn.100641b0
add esp, 0x18
mov dword [esp + 0x40], eax
mov al, byte [esp + 0x34]
add al, 0x7b
mov byte [esp + 0x58], al
cmp al, 1
ja 0x10031c81
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
push edi
push esi
push dword [esp + 0x4c]
push dword [esp + 0x2c]
push ebx
lea eax, [esp + 0x100]
push eax
call fcn.100641b0
add esp, 0x18
mov dword [esp + 0x30], eax
test esi, esi
mov ebx, dword [esp + 8]
mov al, byte [esp + 0x34]
jne 0x10034721
add al, 0x79
mov edi, dword [esp + 0x28]
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], edi
cmp al, 2
jb 0x10031d0f
xor esi, esi
mov ecx, ebx
mov edx, 0xc
push esi
push dword [esp + 0x34]
push dword [esp + 0x28]
call fcn.10036aa0
add esp, 0xc
mov ebx, eax
mov ecx, dword [esp + 8]
mov edx, 0xe
push esi
push edi
push dword [esp + 0x2c]
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 8]
mov edx, 0xb
push esi
mov dword [esp + 0x40], ebx
push ebx
push esi
call fcn.10036aa0
add esp, 0xc
mov eax, dword [esp + 0x14]
movsx edx, word [eax + 2]
mov esi, dword [esp + 0xc]
movsx ecx, word [esi + 2]
call fcn.1004f2f0
mov ebx, dword [esp + 8]
mov word [esi + 2], ax
cmp byte [esp + 0x34], 0x88
mov esi, dword [esp + 0x40]
je 0x10034740
xor eax, eax
mov ecx, ebx
mov edx, 0xc
push eax
push esi
push dword [esp + 0x24]
call fcn.10036aa0
add esp, 0xc
mov esi, eax
mov ecx, ebx
mov edx, 0xe
xor eax, eax
push eax
push edi
push dword [esp + 0x18]
call fcn.10036aa0
add esp, 0xc
mov ecx, ebx
mov edx, 0xb
xor eax, eax
push eax
mov dword [esp + 0x2c], esi
push esi
push eax
call fcn.10036aa0
add esp, 0xc
xor esi, esi
mov ecx, ebx
mov edx, 0xc
push esi
push dword [esp + 0x44]
push dword [esp + 0x24]
call fcn.10036aa0
add esp, 0xc
mov edi, eax
mov ecx, ebx
mov edx, 0xe
push esi
push dword [esp + 0x40]
push dword [esp + 0x18]
call fcn.10036aa0
add esp, 0xc
mov ecx, ebx
mov edx, 0xb
push esi
mov ebx, dword [esp + 0x54]
push ebx
push esi
call fcn.10036aa0
add esp, 0xc
mov al, byte [esp + 0x34]
cmp al, 0x86
jne 0x10034773
mov dword [esp + 0x1c], edi
mov dword [esp + 0x34], edi
mov ecx, dword [esp + 8]
mov edi, dword [ecx + 0x6c]
cmp byte [esp + 0x58], 1
ja 0x10031ded
mov edx, 0xc
push 0
push dword [esp + 0x34]
push dword [esp + 0x28]
call fcn.10036aa0
mov ecx, dword [esp + 0x14]
add esp, 0xc
xor esi, esi
mov edx, 0xe
push esi
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, 0xb
push esi
push ebx
push esi
call fcn.10036aa0
mov ecx, dword [esp + 0x14]
add esp, 0xc
mov edx, dword [ecx]
mov eax, dword [ecx + 0x6c]
cmp byte [edx + 0x53], 0
jne 0x10034789
lea edx, [eax - 1]
mov ebx, dword [esp + 0x54]
test ebx, ebx
cmovns edx, ebx
lea edx, [edx + edx*4]
shl edx, 2
add edx, dword [ecx + 0x68]
mov ebx, dword [esp + 0x2c]
mov dword [edx + 8], eax
mov edx, 0xe
push esi
push dword [esp + 0x48]
push dword [esp + 0x18]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, 0xe
push esi
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.10036aa0
mov edx, dword [esp + 0x14]
add esp, 0xc
mov ecx, dword [edx + 0xc]
xor esi, esi
inc esi
sub esi, dword [esp + 0x18]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x10034793
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
mov esi, dword [esp + 4]
xor eax, eax
mov ecx, edx
mov edx, 0x56
push eax
push eax
push eax
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, eax
push 0xfffffffffffffff1
push ebx
call fcn.1004f010
add esp, 8
mov ecx, dword [esp + 8]
mov edx, 0x57
push dword [esp + 0x4c]
push dword [esp + 0xfc]
push dword [esp + 0x94]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, eax
push 0xfffffffffffffff7
push dword [esp + 0x4c]
call fcn.1004f010
mov ecx, dword [esp + 0x10]
add esp, 8
mov eax, dword [ecx + 0x6c]
test eax, eax
jle 0x10031f13
mov edx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov word [edx + eax*4 - 0x12], 1
mov edx, 0x10
push edi
push dword [esp + 0x20]
push dword [esp + 0x3c]
call fcn.10036aa0
mov edx, dword [esp + 0x14]
add esp, 0xc
mov ecx, dword [edx + 0xc]
mov edi, dword [esp + 0x18]
neg edi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x100347a9
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
mov edi, dword [esp + 0xc]
mov edx, dword [edi + 0x34]
test edx, edx
mov ecx, dword [esp + 0x38]
jne 0x100347b7
mov eax, dword [esp + 0x14]
mov dword [edi + 0x34], eax
mov dword [eax + 0x38], edi
mov edx, dword [eax + 0x30]
test edx, edx
je 0x10031f74
call fcn.100084e0
mov eax, dword [esp + 0x14]
mov dword [eax + 0x30], 0
mov eax, dword [esi + 0xd4]
xor ecx, ecx
test eax, eax
jne 0x100347ce
mov dword [esi + 0xd4], ecx
xor ebx, ebx
cmp dword [esi + 0x24], 0
setne bl
jmp 0x1003026e
mov edx, dword [eax]
mov dword [ecx + 0x138], edx
jmp 0x1002fbdd
inc ecx
jmp 0x1003004e
xor eax, eax
mov edx, 0x70
push eax
push eax
push ebx
call fcn.10007820
add esp, 0xc
jmp 0x1002ff68
mov ecx, esi
mov edx, 0x25
push 0
push dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
push edi
call fcn.10007820
add esp, 0xc
jmp 0x100300f3
mov ecx, esi
mov edx, 5
push 0
push dword [esp + 0x24]
push dword [esp + 0x2c]
call fcn.10007820
add esp, 0xc
jmp 0x10030177
xor eax, eax
mov ecx, edx
mov edx, 0x76
push eax
push eax
push dword [esp + 0x2c]
call fcn.10007820
add esp, 0xc
jmp 0x10030213
inc ecx
jmp 0x100301f1
lea edx, [ecx + eax*4]
mov ecx, dword [esp + 8]
push 0xfffffffffffffff7
mov edi, dword [esp + 0x14]
push edi
call fcn.1003d950
mov edx, dword [esp + 0x10]
add esp, 8
jmp 0x100303b8
test edx, edx
je 0x1002f1a6
test esi, esi
mov ebx, dword [esp + 0x14]
je 0x1002f1aa
mov eax, dword [esi]
cmp eax, dword [edx]
jne 0x100320a0
test eax, eax
mov edx, dword [esp + 0x28]
jle 0x1002f5a2
xor edi, edi
mov ebx, 0x10
mov al, byte [esi + ebx]
cmp al, byte [edx + ebx]
jne 0x100320a0
mov edx, dword [esi + ebx - 8]
xor ecx, ecx
push 0xffffffffffffffff
mov eax, dword [esp + 0x2c]
push dword [eax + ebx - 8]
call fcn.10005480
add esp, 8
test eax, eax
je 0x10035405
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
jmp 0x1002f1aa
mov eax, dword [ebx]
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x13c], eax
jmp 0x10030434
mov edx, dword [eax]
mov dword [ecx + 0x13c], edx
jmp 0x10030485
mov ecx, edx
mov edx, 0x75
push eax
push edi
push dword [esp + 0x30]
call fcn.10007820
add esp, 0xc
jmp 0x100307a8
mov edx, 0x23
push 0
push esi
mov ebx, dword [esp + 0x48]
push ebx
call fcn.10007820
add esp, 0xc
mov dword [esp + 0x3c], eax
jmp 0x100307f3
mov ecx, edx
mov edx, 0x81
push dword [esp + 0x28]
push edi
push ebx
call fcn.10007820
mov edx, dword [esp + 0x14]
add esp, 0xc
jmp 0x1003083d
mov edx, 3
push 0
push dword [esp + 0x40]
push dword [esp + 0x48]
call fcn.10007820
add esp, 0xc
jmp 0x1003137f
mov eax, dword [ebx]
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x138], eax
jmp 0x10030434
mov edx, dword [eax]
mov dword [ecx + 0x138], edx
jmp 0x10030485
inc edi
jmp 0x100301dd
mov ecx, esi
mov edx, 0x75
push dword [esp + 0x20]
push ebx
push dword [esp + 0x1c]
call fcn.10007820
add esp, 0xc
jmp 0x10030cfd
mov ecx, esi
mov edx, 0x70
push 0
push dword [esp + 0x24]
push dword [esp + 0x2c]
call fcn.10007820
add esp, 0xc
jmp 0x10030d42
mov ecx, esi
mov edx, 0x25
push 0
push dword [esp + 0x1c]
push dword [esp + 0x2c]
call fcn.10007820
add esp, 0xc
mov dword [esp + 0x38], eax
jmp 0x10030e02
xor eax, eax
mov ecx, esi
mov edx, 0x84
push eax
push eax
push dword [esp + 0x1c]
call fcn.10007820
add esp, 0xc
jmp 0x10030e3b
xor eax, eax
mov ecx, esi
mov edx, 0x7e
push eax
push eax
push ebx
call fcn.10007820
add esp, 0xc
jmp 0x10030ead
xor eax, eax
mov ecx, esi
mov edx, 0xb
push eax
push dword [esp + 0x3c]
push eax
call fcn.10007820
add esp, 0xc
jmp 0x10030f8f
mov ecx, esi
mov edx, 0x82
push 0
push dword [esp + 0x48]
push ebx
call fcn.10007820
add esp, 0xc
jmp 0x10030e7c
inc edi
jmp 0x100301ef
xor esi, esi
mov ecx, edx
mov edx, 0xe
push esi
push esi
push eax
call fcn.10007820
jmp 0x1003094a
mov ecx, dword [esp + 0x14]
mov edx, 0xd
push dword [esp + 0x20]
push 0
push dword [esp + 0x38]
call fcn.10007820
add esp, 0xc
jmp 0x10030a89
xor edi, edi
mov ecx, dword [esp + 0x14]
mov edx, 0x42
push edi
push edi
mov edi, dword [esp + 0x1c]
push eax
call fcn.10007820
add esp, 0xc
jmp 0x10030b37
xor edi, edi
mov edx, 0xb
push edi
push eax
push edi
call fcn.10007820
add esp, 0xc
jmp 0x100314a2
mov edx, dword [eax]
mov dword [ecx + 0x134], edx
jmp 0x1002fbdd
inc dword [ecx + 0x12c]
jmp 0x10030641
mov eax, dword [ebx]
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x134], eax
jmp 0x10030434
mov edx, dword [eax]
mov dword [ecx + 0x134], edx
jmp 0x10030485
inc dword [ecx + 0x12c]
jmp 0x1003154a
inc dword [ecx + 0x12c]
jmp 0x1003157a
push ecx
push dword [edi]
push eax
push str.expected__d_columns_for__s_but_got__d
push dword [esp + 0x14]
call fcn.100394d0
add esp, 0x14
mov eax, dword [esp + 0x34]
movzx eax, byte [eax + 0x53]
mov esi, dword [esp + 4]
add dword [esi + 0x24], eax
xor ebx, ebx
inc ebx
jmp 0x1002f3a9
cmp byte [eax + 0xa9], 0
jne 0x1002eeb4
cmp byte [esi + 0xc8], 0
jne 0x1002eeb4
mov esi, dword [esi + 0xf0]
mov edi, dword [eax + 0x154]
call dword [section..00cfg]
sub esp, 0x18
mov dword [esp + 0x14], esi
movdqa xmm0, xmmword [0x1019c2e0]
movdqu xmmword [esp + 4], xmm0
mov dword [esp], edi
call ecx
add esp, 0x18
cmp eax, 1
jne 0x10032734
push str.not_authorized
mov esi, dword [esp + 8]
push esi
call fcn.100394d0
add esp, 8
mov dword [esi + 0xc], 0x17
jmp 0x1002f3bf
mov eax, dword [edi + 0x20]
mov dword [esp + 8], eax
mov eax, dword [eax]
mov dword [esp + 0x24], eax
cmp eax, 2
jl 0x1002eef0
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x10], eax
xor esi, esi
inc esi
lea eax, [esi + esi*8]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
cmp edx, dword [ecx + eax*8 + 0x18]
je 0x100323c9
inc esi
cmp esi, dword [esp + 0x24]
mov edi, dword [esp + 0xc]
jne 0x100323a8
jmp 0x1002eef0
mov ecx, dword [esp + 8]
mov ebx, dword [ecx + eax*8 + 0x14]
mov edi, dword [ecx + 0x14]
test edi, edi
je 0x10032401
test ebx, ebx
je 0x100323b9
xor edx, edx
movzx ecx, byte [edi + edx]
movzx eax, byte [ebx + edx]
cmp cl, al
jne 0x100323f0
test cl, cl
jne 0x100323fe
jmp 0x1003240b
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [eax + 0x1019c728]
jne 0x100323b9
inc edx
jmp 0x100323de
test ebx, ebx
jne 0x100323b9
mov eax, dword [esp + 0x10]
mov edi, dword [eax]
push edi
push str.target_object_alias_may_not_appear_in_FROM_clause:__s
push dword [esp + 0xc]
call fcn.100394d0
add esp, 0xc
jmp 0x100322fd
cmp dword [edi + 0x34], 0
jne 0x1002ef0e
mov eax, dword [edi + 4]
mov dword [esp + 0x24], eax
bt eax, 0x14
jb 0x1002ef0e
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x10], eax
test eax, eax
je 0x1003275d
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x20]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0x24]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 0x28]
mov dword [esp + 0x30], edx
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0xec], 0
mov dword [esp + 8], ecx
test ecx, ecx
je 0x1003278b
mov ecx, dword [esp + 8]
mov edx, 0x4c
push 0
call fcn.1014e1f0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100327a3
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xf0]
test eax, eax
je 0x100322fd
mov dword [eax + 0xc], 7
inc dword [eax + 0x24]
jmp 0x100322fd
mov ecx, dword [esi + 8]
jns 0x100324d6
mov eax, dword [ecx + 0x6c]
dec eax
mov esi, dword [ecx]
mov edx, 0x101ddee0
cmp byte [esi + 0x53], 0
jne 0x100324ec
lea edx, [eax + eax*4]
shl edx, 2
add edx, dword [ecx + 0x68]
mov ecx, dword [edx + 8]
mov esi, dword [esp + 4]
jmp 0x1002f3b9
mov ecx, ebx
mov edx, 0x70
push 0
mov eax, dword [esp + 0x2c]
push dword [eax]
mov eax, dword [ebp + 8]
push dword [eax + 4]
call fcn.10036aa0
add esp, 0xc
jmp 0x1002f1d3
push str.DISTINCT
push str.USE_TEMP_B_TREE_FOR__s
push 0
push dword [esp + 0x10]
call fcn.10036110
add esp, 0x10
jmp 0x1002f35a
mov edx, ebx
push edi
call fcn.10037c90
add esp, 4
jmp 0x1002f386
mov ecx, dword [esp + 4]
mov edx, edi
call fcn.10165450
mov edx, dword [esp + 8]
jmp 0x1002f263
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x2c]
mov edi, dword [ecx + 0x38]
lea edx, [edi - 1]
mov dword [esp + 8], edx
lea edx, [edi - 2]
mov dword [esp + 0x24], edx
lea ebx, [edi - 3]
mov dword [ecx + 0x38], ebx
inc eax
mov dword [ecx + 0x2c], eax
mov edx, dword [esp + 0xc]
push dword [esp + 8]
mov dword [esp + 0xc], eax
push eax
push esi
call fcn.10165720
add esp, 0xc
xor eax, eax
mov esi, dword [esp + 0x14]
mov ecx, esi
mov edx, 0xb
push eax
mov dword [esp + 0x14], ebx
push ebx
push eax
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esi + 0xc]
mov ebx, edi
neg edi
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x1003267b
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], edx
lea eax, [esp + 0xa0]
mov dword [eax + 0x1c], 0
lea edi, [esp + 0xd0]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
push dword [esp + 0x10]
push dword [esp + 0x28]
push dword [ebp + 8]
push edi
push eax
push 0xffffffffffffffff
call fcn.1003a7c0
add esp, 0x18
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
xor eax, eax
inc eax
sub eax, ebx
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x1003268d
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
xor eax, eax
mov esi, dword [esp + 0x14]
mov ecx, esi
mov edx, 0x41
push eax
mov dword [esp + 0x28], 0
push eax
push dword [esp + 0x10]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esi + 0xc]
mov eax, 2
sub eax, ebx
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x1003269c
mov ebx, dword [esp + 0x14]
mov edx, dword [ebx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
jmp 0x1002f348
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x24]
pxor xmm0, xmm0
jmp 0x1002f09e
mov edx, dword [esp + 0x14]
push edi
call fcn.10037c90
add esp, 4
jmp 0x100325cf
mov edx, dword [esp + 0x14]
push eax
call fcn.10037c90
add esp, 4
jmp 0x10032624
mov ebx, dword [esp + 0x14]
mov edx, ebx
push eax
call fcn.10037c90
add esp, 4
jmp 0x1002f348
mov eax, edx
mov edx, 0xfffffff7
push eax
call fcn.10006530
add esp, 4
jmp 0x1002f1c0
movzx edx, byte [esi + 0x2c]
imul edx, edx, 0x58
add edx, esi
add edx, 0x2a8
jmp 0x1002f4ef
mov eax, 0x101ddee0
jmp 0x1002f525
mov eax, dword [esp + 4]
mov ecx, dword [eax]
test ecx, ecx
je 0x10032cb3
mov edx, 0xc
push 0
call fcn.1014e1f0
add esp, 4
test eax, eax
je 0x10032cc4
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0x108]
mov dword [eax], ecx
mov dword [edx + 0x108], eax
mov dword [eax + 4], esi
mov dword [eax + 8], 0x10160fc0
mov edi, dword [esp + 0xc]
mov dword [edi + 0x30], 0
jmp 0x1002f540
test eax, 0xfffffffd
je 0x10032d2c
push str.authorizer_malfunction
mov esi, dword [esp + 8]
push esi
call fcn.100394d0
add esp, 8
mov dword [esi + 0xc], 1
jmp 0x1002f3bf
mov eax, dword [esp + 4]
cmp dword [eax + 0x74], 0
je 0x10032d41
mov ecx, dword [esp + 4]
call fcn.10035540
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
mov esi, dword [eax + 0x44]
jmp 0x10032450
mov ecx, 0x4c
xor edx, edx
call fcn.10144e50
mov dword [esp + 0x18], eax
test eax, eax
je 0x100322fd
mov edi, dword [esp + 0xc]
lea eax, [edi + 0x20]
mov dword [esp + 0x2c], eax
pxor xmm0, xmm0
mov eax, dword [esp + 0x18]
movdqu xmmword [eax + 0x3c], xmm0
movdqu xmmword [eax + 0x30], xmm0
movdqu xmmword [eax + 0x20], xmm0
movdqu xmmword [eax + 0x10], xmm0
movdqu xmmword [eax], xmm0
lea ecx, [esp + 0xa0]
movdqu xmmword [ecx + 0xc], xmm0
mov eax, dword [esp + 4]
mov dword [ecx], eax
mov dword [ecx + 4], 0x1007ac50
mov dword [ecx + 8], sym.nss3.dll_SECMOD_CanDeleteInternalModule
mov edx, edi
call fcn.10035b30
mov eax, dword [edi + 4]
test al, 8
jne 0x1003284d
mov dword [esp + 0xa4], 0x1016b420
mov dword [esp + 0xa8], 0
mov ecx, dword [esp + 0xc]
mov ebx, dword [ecx + 0x30]
test ebx, ebx
je 0x1003284d
mov edi, dword [ebx]
test edi, edi
jle 0x1003284d
add ebx, 8
inc edi
mov edx, dword [ebx]
test edx, edx
je 0x1003283d
lea ecx, [esp + 0xa0]
call fcn.10148200
test eax, eax
jne 0x10032846
add ebx, 0x14
dec edi
cmp edi, 1
jg 0x10032827
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
and eax, 0xffeffff7
or eax, 0x100000
mov ecx, dword [esp + 0x2c]
pxor xmm0, xmm0
movdqu xmmword [ecx], xmm0
mov ecx, dword [esp + 0xc]
mov dword [ecx + 4], eax
xor edi, edi
inc edi
mov dword [esp + 0x44], 0
mov ebx, dword [esp + 4]
mov ecx, ebx
xor edx, edx
push edi
push dword [esi + 8]
call fcn.101650e0
add esp, 8
mov ecx, ebx
mov edx, eax
push edi
push dword [esi + 0xc]
call fcn.101650e0
add esp, 8
mov dword [esp + 0x40], eax
test eax, eax
je 0x100328f3
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x100328f3
mov eax, dword [eax]
mov ecx, dword [esp + 0x40]
mov ebx, dword [ecx]
cmp eax, ebx
jg 0x100328f3
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x30]
call fcn.10165210
test eax, eax
jne 0x100328ed
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x30]
test edx, edx
je 0x100328e2
mov ecx, dword [esp + 8]
call fcn.100084e0
mov eax, dword [esp + 0xc]
mov dword [eax + 0x30], 0
mov eax, dword [esp + 0x40]
mov dword [eax], ebx
mov ebx, dword [esp + 4]
mov eax, dword [ebx + 0x28]
lea ecx, [eax + 1]
mov dword [ebx + 0x28], ecx
mov dword [esi + 0x30], eax
add dword [ebx + 0x28], 3
lea eax, [esp + 0xec]
mov ecx, ebx
mov edx, esi
push eax
push dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
push dword [edi + 0x1c]
push dword [esp + 0x2c]
call fcn.10165290
add esp, 0x10
mov ecx, ebx
mov edx, esi
lea ebx, [esp + 0xec]
push ebx
push dword [esp + 0x1c]
push dword [edi + 0x30]
push dword [esp + 0x2c]
call fcn.10165290
add esp, 0x10
mov edx, dword [ebx]
test edx, edx
je 0x10032955
mov eax, dword [edx]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
mov dword [esi + 0x4c], eax
xor ebx, ebx
mov edi, dword [esp + 4]
mov ecx, edi
push ebx
push dword [esi + 8]
call fcn.101650e0
add esp, 8
mov ecx, edi
mov edx, eax
push ebx
push dword [esi + 0xc]
call fcn.101650e0
add esp, 8
mov edi, eax
mov dword [esp + 0xec], eax
mov ebx, esi
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ebx + 0x48]
mov eax, dword [eax + 0x14]
test byte [ecx + 6], 0x10
jne 0x100329c1
xor ecx, ecx
test edi, edi
je 0x100329a2
mov ecx, dword [edi]
mov dword [ebx + 0x50], ecx
mov ecx, dword [esp + 4]
mov edx, edi
push 0
push eax
call fcn.101650e0
add esp, 8
mov edi, eax
mov dword [esp + 0xec], eax
jmp 0x100329f4
mov ecx, dword [esp + 4]
mov edx, esi
lea edi, [esp + 0xec]
push edi
push dword [esp + 0x1c]
push eax
push dword [esp + 0x2c]
call fcn.10165290
add esp, 0x10
mov edi, dword [esp + 0xec]
test edi, edi
je 0x10032a63
mov eax, dword [edi]
mov dword [ebx + 0x50], eax
mov byte [ebx + 0x60], 1
mov edx, dword [ebx + 0x28]
test edx, edx
je 0x10032a23
mov ecx, dword [esp + 8]
xor eax, eax
push eax
push eax
call fcn.10001c40
add esp, 8
mov ecx, dword [esp + 4]
mov edx, edi
push eax
call fcn.1014e350
add esp, 4
mov edi, eax
mov dword [esp + 0xec], eax
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [ecx + 0x2c], eax
mov dword [ebx + 0x34], eax
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [ecx + 0x2c], eax
mov dword [ebx + 0x38], eax
mov ecx, dword [esp + 0x10]
mov edx, 0x48
xor eax, eax
push eax
push dword [ebx + 0x34]
push eax
call fcn.10036aa0
add esp, 0xc
mov ebx, dword [ebx + 0x24]
test ebx, ebx
jne 0x1003298b
jmp 0x10033264
xor eax, eax
jmp 0x100329ed
mov edx, eax
lea eax, [esi - 1]
mov ecx, dword [esp + 4]
push dword [esp + 0x54]
push eax
call fcn.10018f40
mov edx, dword [esp + 0x10]
pxor xmm0, xmm0
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x1002fe9d
mov eax, dword [esp + 0x18]
mov dword [edx + 0x20], eax
jmp 0x1002fc7b
mov ecx, dword [esp + 8]
test byte [ecx + 6], 0x40
jne 0x1002fd6b
mov edx, dword [eax]
test edx, edx
jle 0x10032bd5
lea edi, [edx + 7]
and edi, 0xfffffff8
dec edx
movd xmm0, edx
pshufd xmm0, xmm0, 0
lea edx, [eax + 0xa4]
movdqa xmm1, xmmword [0x1019c220]
movdqa xmm2, xmmword [0x1019c230]
movdqa xmm3, xmmword [0x1019c240]
movdqa xmm4, xmm0
pxor xmm4, xmm3
movdqa xmm5, xmm2
pxor xmm5, xmm3
pcmpgtd xmm5, xmm4
movd ecx, xmm5
not ecx
test cl, 1
je 0x10032b0b
mov word [edx - 0x8c], 0
pcmpeqd xmm6, xmm6
pxor xmm6, xmm5
movdqa xmm7, xmm6
psrlq xmm7, 0x10
movd ecx, xmm7
shr ecx, 0x10
test cl, 1
je 0x10032b2e
mov word [edx - 0x78], 0
pextrw ecx, xmm6, 4
test cl, 1
je 0x10032b3e
mov word [edx - 0x64], 0
pcmpeqd xmm6, xmm6
pxor xmm5, xmm6
pextrw ecx, xmm5, 6
test cl, 1
je 0x10032b56
mov word [edx - 0x50], 0
pxor xmm3, xmm1
pcmpgtd xmm3, xmm4
pshufd xmm4, xmm3, 0x44
pxor xmm4, xmm6
pextrw ecx, xmm4, 4
test cl, 1
je 0x10032b77
mov word [edx - 0x3c], 0
pcmpeqd xmm4, xmm4
pxor xmm4, xmm3
pextrw ecx, xmm4, 2
test cl, 1
je 0x10032b8f
mov word [edx - 0x28], 0
pextrw ecx, xmm4, 4
test cl, 1
je 0x10032b9f
mov word [edx - 0x14], 0
pcmpeqd xmm4, xmm4
pxor xmm3, xmm4
pextrw ecx, xmm3, 7
test cl, 1
je 0x10032bb6
mov word [edx], 0
movdqa xmm3, xmmword [str._b_b_b_b]
paddd xmm2, xmm3
paddd xmm1, xmm3
add edx, 0xa0
add edi, 0xfffffff8
jne 0x10032adb
mov ecx, dword [esp + 8]
mov dword [ecx + 0x30], eax
mov edi, dword [esp + 0x20]
mov dword [edi + 0x30], 0
mov esi, dword [esp + 0x2c]
jmp 0x1002fd6b
mov ecx, edi
mov edx, dword [esp + 0x30]
call fcn.10039550
mov edx, dword [esp + 8]
jmp 0x1002fd86
mov eax, dword [edx + 0x24]
test eax, eax
je 0x10032c20
mov ecx, dword [esp + 4]
mov edx, 0x2c
push eax
push edi
call fcn.10007a60
add esp, 8
mov edi, eax
mov edx, dword [esp + 8]
mov dword [edx + 0x24], edi
mov esi, dword [esp + 0x2c]
jmp 0x1002fd8e
mov dword [edx + 0x3c], eax
mov eax, dword [esp + 0x20]
mov dword [eax + 0x3c], 0
jmp 0x1002fe08
cmp dword [edx + 0x74], 0
je 0x100331c5
mov ecx, dword [esp + 4]
call fcn.10035540
jmp 0x1002efbe
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x3c]
xor ecx, ecx
mov dword [esp + 0x10], edx
test edx, edx
sete dl
cmp dword [esi + 0x44], 0
jne 0x1002efe3
mov cl, dl
xor edx, edx
inc edx
mov dword [esp + 0x24], edx
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x34]
test edx, edx
je 0x10033357
add dword [esp + 0x24], ecx
cmp dword [edx + 0x44], 0
mov esi, edx
je 0x10032c84
jmp 0x1002efe3
mov ecx, dword [esp + 0x34]
push 1
call fcn.10008360
add esp, 4
jmp 0x10030266
mov ecx, 0xc
xor edx, edx
call fcn.10144e50
jmp 0x10032700
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov edx, esi
call fcn.100084e0
jmp 0x10032724
mov ecx, dword [esi + 8]
jns 0x10032cdf
mov eax, dword [ecx + 0x6c]
dec eax
mov esi, dword [ecx]
mov edx, 0x101ddee0
cmp byte [esi + 0x53], 0
jne 0x10032cf5
lea edx, [eax + eax*4]
shl edx, 2
add edx, dword [ecx + 0x68]
mov ecx, dword [edx + 8]
mov esi, dword [esp + 4]
jmp 0x1003022d
mov edx, 0xfffffff7
push dword [esp + 0x1c]
call fcn.10006530
add esp, 4
jmp 0x1002f6c2
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], 0
jmp 0x1003107b
test eax, eax
mov esi, dword [esp + 4]
mov edi, dword [esp + 0xc]
je 0x1002eeb4
jmp 0x1002f3bf
mov eax, dword [esp + 4]
mov eax, dword [eax]
test byte [eax + 0x4c], 8
jne 0x1003276b
mov eax, dword [esp + 4]
mov byte [eax + 0x17], 1
jmp 0x1003276b
cmp dword [edi + 0x3c], 0
jne 0x1002ff00
cmp dword [eax + 0x10], 0
jne 0x1002ff00
mov ecx, dword [edi + 4]
mov dword [esp + 0x20], ecx
bt ecx, 8
jae 0x1002f793
jmp 0x1002ff00
test byte [esp + 0x24], 1
jne 0x1002ff00
mov ecx, dword [esp + 0x18]
cmp dword [ecx], 1
jle 0x1002f7b9
jmp 0x1002ff00
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x30], 0
mov ecx, dword [esp + 0x2c]
jne 0x1002ff00
jmp 0x1002f7c4
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x30], 0
mov ecx, dword [esp + 0x2c]
jne 0x1002ff00
jmp 0x1002f7cf
test byte [esp + 0x20], 1
jne 0x1002ff00
cmp dword [edi + 0x24], 0
je 0x1002f7d7
jmp 0x1002ff00
mov ecx, dword [esp + 0x34]
call fcn.10139110
jmp 0x1003005f
test byte [esp + 0x24], 1
jne 0x1002ff00
cmp esi, 1
jg 0x1002ff00
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x18]
mov edx, dword [esp + 0x20]
and edx, 1
or edx, dword [eax + 0x38]
jne 0x1002ff00
xor eax, eax
inc eax
mov dword [esp + 0x4c], eax
jmp 0x1002f801
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
jmp 0x1002fa0c
cmp al, 0x87
mov esi, dword [esp + 4]
je 0x1002f03b
mov ebx, dword [esi + 0x28]
lea eax, [ebx + 2]
mov dword [esi + 0x28], eax
xor eax, eax
mov ecx, dword [esp + 8]
mov edx, 0x70
push eax
push eax
mov dword [esp + 0x2c], ebx
push ebx
call fcn.10036aa0
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 0x10032e85
or byte [eax + 4], 0x20
lea esi, [esp + 0x80]
mov byte [esi], 1
mov eax, dword [esp + 0x24]
mov dword [esi + 4], eax
pxor xmm0, xmm0
movdqu xmmword [esi + 8], xmm0
mov ecx, dword [esp + 4]
mov edx, edi
push esi
call fcn.1002ee30
add esp, 4
test eax, eax
je 0x10033d35
mov ebx, eax
mov dword [esp + 0x14], 0
jmp 0x10030243
xor ebx, ebx
mov ecx, dword [esp + 8]
mov edx, 0x14
push ebx
push ebx
push eax
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100333e4
mov ecx, dword [esp + 8]
mov edx, 0x9c
push eax
inc eax
push eax
mov esi, dword [esp + 0x14]
push dword [esi + 8]
call fcn.10036aa0
add esp, 0xc
jmp 0x1002f96a
mov eax, dword [ecx]
test eax, eax
jle 0x1002f9e7
add ecx, 0x18
cmp word [ecx], 0
je 0x1002ff00
add ecx, 0x14
dec eax
jne 0x10032f24
jmp 0x1002f9e7
mov eax, dword [esp + 4]
cmp dword [eax + 0x64], 0x1f4
mov edi, dword [esp + 0xc]
jg 0x1002ff00
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x28]
shl esi, 2
cmp dword [esp + 0x28], 0
je 0x10033f9a
mov ecx, dword [esp + 0x28]
mov edx, esi
push 0
call fcn.1014e1f0
add esp, 4
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], 0
je 0x10032f8d
push esi
push 0
push dword [esp + 0x28]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp + 4]
mov eax, dword [eax]
pxor xmm0, xmm0
jmp 0x10032e46
cmp byte [eax + 0xa9], 0
jne 0x1002fa30
cmp byte [edi + 0xc8], 0
jne 0x1002fa30
mov esi, dword [eax + 0x154]
call dword [section..00cfg]
sub esp, 0x18
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
movdqa xmm0, xmmword [0x1019c2e0]
movdqu xmmword [esp + 4], xmm0
mov dword [esp], esi
call ecx
add esp, 0x18
cmp eax, 1
jne 0x100348a1
push str.not_authorized
mov edi, dword [esp + 8]
push edi
call fcn.100394d0
add esp, 8
mov dword [edi + 0xc], 0x17
pxor xmm0, xmm0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
jmp 0x1002fa30
mov ecx, dword [esp + 0x28]
mov esi, eax
call fcn.10139000
mov eax, esi
mov esi, dword [esp + 0x10]
pxor xmm0, xmm0
jmp 0x1002fa57
mov ecx, dword [esp + 0x28]
call fcn.10139000
mov eax, dword [esp + 0x18]
xor ecx, ecx
pxor xmm0, xmm0
jmp 0x1002fa74
mov ecx, dword [esp + 0x28]
call fcn.10139000
mov eax, dword [esp + 0x18]
xor ecx, ecx
pxor xmm0, xmm0
jmp 0x1002fa80
mov edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
pxor xmm0, xmm0
xor ecx, ecx
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
jmp 0x1002fb5c
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x53], 0
jne 0x1002fb39
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0x20]
mov edx, esi
push ebx
push dword [edi + 0x20]
call fcn.101653c0
add esp, 8
pxor xmm0, xmm0
lea ecx, [esp + 0x80]
movdqa xmmword [ecx], xmm0
xor eax, eax
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 4], 0x10198360
mov dword [ecx + 8], sym.nss3.dll_SECMOD_CanDeleteInternalModule
mov edx, edi
call fcn.10035b30
mov edx, dword [esp + 0x18]
pxor xmm0, xmm0
jmp 0x1002fb39
mov dword [eax + 0x38], edi
jmp 0x1002fb51
mov edx, eax
mov ecx, dword [esp + 0x28]
call fcn.10139000
mov edx, dword [esp + 0x18]
pxor xmm0, xmm0
jmp 0x1002fb78
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x30]
mov dword [ecx], eax
mov esi, dword [esp + 4]
jmp 0x1002feed
dec eax
mov dword [esi + 0x20], eax
jmp 0x1002fbff
mov ecx, 0xc
xor edx, edx
call fcn.10144e50
jmp 0x10030650
mov ecx, dword [eax + 0xc]
lea edx, [esp + 0x80]
call fcn.10047550
test eax, eax
je 0x10030208
mov eax, dword [esp + 0x80]
mov dword [esp + 0x10], eax
test eax, eax
jle 0x10030208
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 2]
mov word [esp + 0x20], ax
cmp dword [esp + 0x10], 8
jae 0x10033b64
cmp dword [esp + 0x10], 2
jae 0x10034097
cmp word [esp + 0x20], 0
mov esi, dword [esp + 4]
jle 0x10030208
xor eax, eax
jmp 0x10034eeb
mov eax, dword [esp + 8]
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
mov ecx, 0x101ddee0
cmp byte [edx + 0x53], 0
jne 0x100331b9
lea ecx, [eax - 1]
mov edx, dword [esp + 0x24]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 8]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov esi, dword [esp + 4]
jmp 0x10030213
mov eax, dword [esp + 0x34]
test byte [eax + 0x4c], 8
jne 0x10032c4d
mov eax, dword [esp + 4]
mov byte [eax + 0x17], 1
jmp 0x10032c4d
mov ebx, 7
jmp 0x10030243
mov ecx, 0x101ddee0
jmp 0x1003030f
mov eax, dword [esp + 0x18]
cmp dword [edx + 0x1f8], 0
mov edx, edi
mov edi, dword [esp + 0x10]
jne 0x10030352
mov dword [edi], eax
test eax, eax
jne 0x10030352
mov ecx, dword [edi + 0xc]
mov edx, edi
call fcn.10139000
mov edx, dword [esp + 8]
jmp 0x10030352
test byte [edi + 6], 4
je 0x1002f71d
xor eax, eax
cmp dword [edx], 1
jne 0x10033fe6
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 8]
pxor xmm0, xmm0
jmp 0x1002ef81
mov edx, dword [esp + 8]
push edi
call fcn.10037c90
mov edx, dword [esp + 0xc]
add esp, 4
jmp 0x10030197
test edi, edi
jne 0x100332a6
lea eax, [esp + 0x80]
mov dword [eax], 0x101c5be0
mov dword [eax + 4], 1
mov ecx, dword [esp + 8]
mov edx, 0x9a
push 0
push eax
call fcn.10007880
add esp, 8
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
mov edx, eax
call fcn.10007740
mov edi, eax
mov dword [esp + 0xec], eax
xor ebx, ebx
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, edi
push ebx
push ebx
push dword [esp + 0x48]
push dword [esp + 0x28]
push dword [esp + 0x40]
push dword [esp + 0x3c]
push dword [esp + 0x38]
call fcn.10008e80
add esp, 0x1c
mov dword [esp + 0x10], eax
mov ecx, dword [esi]
mov edx, 0x50
push ebx
call fcn.1014e1f0
add esp, 4
test eax, eax
jne 0x10035022
mov eax, dword [esp + 0x2c]
mov dword [eax], 0
mov bl, 1
cmp dword [esp + 0x10], 0
je 0x1003330f
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
push 1
call fcn.10008360
add esp, 4
mov ecx, dword [esp + 8]
mov al, byte [ecx + 0x53]
mov byte [esp + 0x24], al
mov edx, dword [esp + 0x18]
call fcn.10139000
test bl, bl
mov edi, dword [esp + 0xc]
je 0x10033336
cmp byte [esp + 0x24], 0
je 0x1002ef0e
mov eax, dword [esp + 4]
cmp dword [eax + 0x24], 0
jne 0x100322fd
mov eax, dword [esp + 4]
mov eax, dword [eax]
test eax, eax
jne 0x100324b0
jmp 0x100322fd
mov edx, dword [esp + 0x24]
cmp edx, 1
mov eax, 0x101cc833
mov ecx, 0x101be390
cmove ecx, eax
push ecx
push edx
push str.SCAN__d_CONSTANT_ROW_s
push 0
push dword [esp + 0x14]
call fcn.10036110
add esp, 0x14
xor edi, edi
inc edi
xor ebx, ebx
mov ecx, dword [esp + 4]
mov edx, esi
push edi
push edi
lea eax, [esp + 0xd8]
push eax
push ebx
push ebx
push 0xffffffffffffffff
call fcn.1003a7c0
add esp, 0x18
cmp dword [esp + 0x10], 0
jne 0x10032ec5
mov eax, dword [esp + 0x24]
mov word [esi + 2], ax
mov esi, dword [esi + 0x38]
mov dword [esp + 0x14], 0
mov ebx, 0
test esi, esi
jne 0x10033383
jmp 0x10030243
mov dword [esp + 0x24], 0
mov esi, dword [esp + 4]
mov eax, dword [esi + 0x24]
xor ebx, ebx
inc ebx
jmp 0x1002f390
mov esi, dword [esp + 0xc]
jmp 0x1002f96a
mov eax, dword [edi + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
jle 0x10033408
inc ecx
add eax, 0x1a
mov word [eax], 0
dec ecx
add eax, 0x14
cmp ecx, 1
jg 0x100333fa
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
jle 0x10033428
inc eax
mov ecx, dword [esp + 0x10]
add ecx, 0x1a
mov word [ecx], 0
dec eax
add ecx, 0x14
cmp eax, 1
jg 0x1003341a
mov eax, dword [esp + 0xc]
cmp word [eax + 2], 0x43
jl 0x1003343d
mov eax, dword [esp + 0xc]
mov word [eax + 2], 0x42
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x3c], 0
test edx, edx
je 0x100334e1
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
cmp eax, dword [edx]
mov esi, dword [esp + 4]
mov edi, dword [esp + 0xc]
jne 0x100303f1
test eax, eax
jle 0x100334cd
mov cl, byte [edx + 0x10]
and cl, 1
mov esi, dword [esp + 0x10]
mov byte [esi + 0x10], cl
cmp eax, 1
je 0x100334cd
mov cl, byte [edx + 0x24]
and cl, 1
mov esi, dword [esp + 0x10]
mov byte [esi + 0x24], cl
cmp eax, 2
je 0x100334cd
mov cl, byte [edx + 0x38]
and cl, 1
mov edx, dword [esp + 0x10]
mov byte [edx + 0x38], cl
cmp eax, 3
je 0x100334c6
add eax, 0xfffffffd
mov ecx, 0x4c
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0xa0]
mov dl, byte [edx + ecx]
and dl, 1
mov byte [esi + ecx], dl
add ecx, 0x14
dec eax
jne 0x100334b0
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x10]
call fcn.10165210
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x3c], ecx
mov esi, dword [esp + 4]
mov edi, dword [esp + 0xc]
jmp 0x100303f1
mov ecx, 0x34
xor edx, edx
call fcn.10144e50
jmp 0x10031559
mov ecx, 0xc
xor edx, edx
call fcn.10144e50
jmp 0x10031589
mov eax, dword [ecx]
jmp 0x10030501
cmp dword [esi], 0
jle 0x10030585
lea ebx, [esi + 8]
xor edi, edi
mov edx, dword [ebx]
mov dword [esp + 0xf0], 0x1007af00
mov dword [esp + 0xf4], 0x10198340
mov dword [esp + 0xf8], 0x10198350
xor ecx, ecx
mov dword [esp + 0xfc], ecx
lea eax, [esp + 0x80]
mov dword [esp + 0x104], eax
mov dword [esp + 0xec], ecx
test edx, edx
je 0x10033576
lea ecx, [esp + 0xec]
call fcn.10148200
inc edi
add ebx, 0x14
cmp edi, dword [esi]
jl 0x10033525
jmp 0x10030585
cmp dword [esp + 0x10], 0
je 0x100335d6
pxor xmm0, xmm0
movdqu xmmword [esp + 0xf4], xmm0
mov eax, dword [esp + 4]
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], 0x1016c9b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x104], eax
mov edx, dword [eax + 0x2c]
test edx, edx
je 0x100335cb
lea ecx, [esp + 0xec]
call fcn.10148200
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x20], eax
lea ecx, [esp + 0xec]
mov dword [ecx + 4], 0x1007af00
mov dword [ecx + 8], 0x10198340
mov dword [ecx + 0xc], 0x10198350
xor eax, eax
mov dword [ecx + 0x10], eax
lea edx, [esp + 0x80]
mov dword [ecx + 0x18], edx
mov dword [ecx], eax
mov edx, dword [esp + 0x30]
call fcn.10148200
mov esi, dword [esp + 4]
mov ecx, dword [esp + 0xc]
jmp 0x10030598
test dl, dl
jne 0x1003062b
mov ecx, dword [edi + 8]
call fcn.101664d0
test eax, eax
setne bl
add bl, bl
mov al, 1
jmp 0x10031054
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + 0x28]
mov dword [esp + 0xf0], 0x1007af00
mov dword [esp + 0xf4], 0x10198340
mov dword [esp + 0xf8], 0x10198350
xor eax, eax
mov dword [esp + 0xfc], eax
lea ecx, [esp + 0x80]
mov dword [esp + 0x104], ecx
mov dword [esp + 0xec], eax
test edx, edx
je 0x10031129
lea ecx, [esp + 0xec]
call fcn.10148200
jmp 0x10031129
mov dword [esp + 0x54], 0
mov dword [esp + 0x2c], 0
cmp eax, 1
jne 0x100341ab
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
js 0x1003419b
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x1003419b
mov edx, dword [eax + 8]
test edx, edx
je 0x10035178
xor eax, eax
mov ecx, dword [esp + 0x34]
push eax
push eax
call fcn.10001c40
add esp, 8
mov edi, eax
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
push 0
call fcn.100018f0
add esp, 4
mov ecx, dword [esp + 4]
mov edx, eax
push edi
call fcn.1014e350
add esp, 4
test eax, eax
mov ecx, 0x500
mov dword [esp + 0x54], eax
cmove ecx, eax
mov dword [esp + 0x2c], ecx
jmp 0x100341ab
mov dword [esp + 0x10], 0
mov ecx, 0
test eax, eax
jle 0x10033ba3
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x28]
add edx, 4
xor ecx, ecx
mov esi, dword [edx - 4]
test byte [esi + 7], 1
jne 0x10033757
mov esi, dword [edx]
test byte [esi + 4], 0x20
jne 0x10033ba3
inc ecx
add edx, 0x14
cmp eax, ecx
jne 0x10033742
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
xor eax, eax
mov ecx, dword [esp + 0x14]
mov edx, 0x45
push eax
mov dword [esp + 0x14], esi
push esi
mov dword [esp + 0x44], 0
push eax
call fcn.10036aa0
add esp, 0xc
jmp 0x100311ec
mov dword [esp + 0x10], 0
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
test eax, eax
mov edi, 0x500
mov dword [esp + 0x3c], eax
cmove edi, eax
jmp 0x100311ee
mov eax, dword [esi + 0x28]
mov ecx, dword [esp + 4]
mov edx, edi
push dword [eax + 0x10]
push dword [eax + 0xc]
call fcn.1003eab0
add esp, 8
jmp 0x10031250
mov ecx, dword [esp + 0x14]
mov edx, 0x45
push 0
push ebx
push 1
call fcn.10036aa0
mov ecx, dword [esp + 0x14]
add esp, 0xc
jmp 0x1003125c
mov edx, ebx
push esi
call fcn.10037c90
add esp, 4
jmp 0x1002f34c
xor ebx, ebx
mov ecx, edx
mov esi, edx
mov edx, 0xc
push ebx
push eax
push dword [esp + 0xb4]
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, 0xb
push ebx
push dword [esp + 0x30]
push ebx
call fcn.10036aa0
add esp, 0xc
mov eax, dword [esp + 0xb0]
mov ecx, dword [esi + 0xc]
not eax
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x10034174
mov esi, dword [esp + 8]
mov edx, dword [esi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
mov edx, esi
mov esi, dword [esp + 4]
mov bl, byte [esp + 0x38]
jmp 0x100306fd
mov ecx, edx
mov edx, 0x24
push 0
push dword [esp + 0x30]
push dword [esp + 0x48]
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
xor edi, edi
inc edi
test eax, eax
jle 0x1003418a
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 0x30
push 1
push dword [esp + 0x54]
push eax
call fcn.10036aa0
mov edx, esi
add esp, 0xc
mov eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
jmp 0x1003083f
xor eax, eax
mov esi, ecx
mov ecx, edx
mov edx, 0x11
push eax
push eax
push eax
call fcn.10036aa0
mov ecx, esi
mov edx, dword [esp + 0x14]
add esp, 0xc
mov ebx, eax
jmp 0x10030768
mov eax, dword [esp + 8]
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
mov ecx, 0x101ddee0
cmp byte [edx + 0x53], 0
jne 0x10033905
lea ecx, [eax - 1]
test ebx, ebx
cmovns ecx, ebx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 8]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov esi, dword [esp + 0x2c]
jmp 0x100307b6
mov ecx, dword [esp + 8]
mov edx, 0x30
push 1
push dword [esp + 0x54]
push eax
call fcn.10036aa0
add esp, 0xc
jmp 0x10030802
cmp byte [esp + 0x38], 0xb
jne 0x10033940
cmp dword [esp + 0x1c], 1
jne 0x1003483e
cmp dword [esp + 0x30], 0
je 0x1003396a
mov eax, dword [esp + 4]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x1003396a
mov ecx, eax
inc cl
mov edx, dword [esp + 4]
mov byte [edx + 0x13], cl
mov ecx, dword [esp + 0x30]
mov dword [edx + eax*4 + 0x94], ecx
mov eax, dword [esp + 4]
movzx eax, byte [eax + 0x13]
cmp eax, 7
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x4c]
ja 0x10031304
mov ecx, eax
inc cl
mov edx, dword [esp + 4]
mov byte [edx + 0x13], cl
mov dword [edx + eax*4 + 0x94], esi
mov edx, dword [esp + 8]
jmp 0x10031304
mov ecx, dword [esp + 8]
mov edx, 5
push 0
push dword [esp + 0x40]
push dword [esp + 0x48]
call fcn.10036aa0
jmp 0x10032135
xor esi, esi
mov ecx, dword [esp + 8]
mov edx, 0x41
push esi
push esi
mov esi, dword [esp + 0xc]
push eax
call fcn.10036aa0
add esp, 0xc
jmp 0x1003138e
push dword [esp + 0x2c]
call fcn.10037c90
add esp, 4
jmp 0x1002f36c
push str.cannot_use_window_functions_in_recursive_queries
push esi
call fcn.100394d0
add esp, 8
jmp 0x10030fc6
cmp byte [eax + 0xa9], 0
jne 0x10030c07
mov edx, dword [esp + 4]
cmp byte [edx + 0xc8], 0
jne 0x10030c07
mov edx, dword [esp + 4]
mov edx, dword [edx + 0xf0]
mov dword [esp + 0x14], edx
mov edi, dword [eax + 0x154]
call dword [section..00cfg]
sub esp, 0x18
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
movdqa xmm0, xmmword [0x1019c2f0]
movdqu xmmword [esp + 4], xmm0
mov dword [esp], edi
call ecx
add esp, 0x18
cmp eax, 1
jne 0x100351c4
push str.not_authorized
mov esi, dword [esp + 8]
push esi
call fcn.100394d0
add esp, 8
mov dword [esi + 0xc], 0x17
jmp 0x10030fc6
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
call fcn.1005fef0
mov dword [esp + 0x20], eax
mov eax, dword [edi]
add eax, 2
mov ecx, esi
mov edx, 0x70
push 0
push eax
push dword [esp + 0x2c]
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, eax
push 0xfffffffffffffff7
push dword [esp + 0x24]
call fcn.1004f010
add esp, 8
mov dword [esp + 0x98], edi
jmp 0x10030d42
push str.recursive_aggregate_queries_not_supported
push dword [esp + 8]
call fcn.100394d0
add esp, 8
mov ebx, dword [esp + 0xc]
jmp 0x10030fad
mov eax, dword [edi]
inc eax
mov ecx, esi
mov edx, 0x5b
push dword [esp + 0x44]
push eax
push ebx
call fcn.10036aa0
jmp 0x10032222
mov ecx, esi
mov edx, 0x30
push 1
push edi
push eax
call fcn.10036aa0
add esp, 0xc
jmp 0x10030eca
mov ecx, esi
mov edx, 0x3b
push 0
push ebx
push eax
call fcn.10036aa0
add esp, 0xc
jmp 0x10030efa
mov edx, esi
push edi
call fcn.10037c90
add esp, 4
jmp 0x10030f18
mov edx, esi
push edi
call fcn.10037c90
add esp, 4
jmp 0x10030fad
mov eax, dword [esp + 4]
mov ecx, dword [eax]
call fcn.100084e0
jmp 0x10030fb8
cmp dword [esp + 0x10], 0x100
jb 0x100340c5
xor ecx, ecx
mov ax, 0x50
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x10]
mov eax, ecx
mov edi, esi
mov esi, ecx
shld esi, edi, 0x1c
shr ecx, 4
cmp edi, 0x1000
sbb eax, 0
jb 0x100340d3
add dword [esp + 0x18], 0x28
jmp 0x10033b80
cmp ecx, eax
jne 0x100311e4
jmp 0x1003375f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
mov dword [esp + 0xc], eax
mov ecx, edx
mov edx, 0x5d
push dword [esp + 0x4c]
mov esi, dword [esp + 0x20]
push esi
push dword [esp + 0x38]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, eax
push esi
push dword [esp + 0x10]
call fcn.1004f010
add esp, 8
mov ecx, dword [esp + 8]
mov edx, 0x86
push dword [esp + 0x30]
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.10036aa0
mov edx, dword [esp + 0x14]
add esp, 0xc
mov ecx, dword [edx]
cmp byte [ecx + 0x53], 0
jne case.0x1003092b.246
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
mov esi, dword [esp + 0x1c]
mov dword [ecx + eax*4 + 0x10], esi
jmp case.0x1003092b.246
mov ecx, edx
mov edx, 0x5b
push dword [esp + 0x30]
push dword [esp + 0x54]
push dword [esp + 0x30]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, 0x7b
push 0
mov esi, dword [esp + 0x50]
push esi
push dword [esp + 0x50]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, 0x7c
push esi
push dword [esp + 0x34]
push dword [esp + 0x50]
call fcn.10036aa0
mov edx, dword [esp + 0x14]
add esp, 0xc
mov eax, dword [edx + 0x6c]
test eax, eax
jle case.0x1003092b.246
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 8
jmp case.0x1003092b.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 0x10034866
dec al
mov ecx, dword [esp + 4]
mov byte [ecx + 0x13], al
movzx eax, al
mov edi, dword [ecx + eax*4 + 0x94]
mov eax, esi
shr eax, 0x1f
mov ebx, dword [esp + 0x1c]
sub ebx, eax
add eax, dword [esp + 0x30]
mov ecx, dword [esp + 8]
mov edx, 0x5d
push edi
push ebx
push eax
call fcn.10036aa0
add esp, 0xc
test esi, esi
js 0x10034876
mov ebx, dword [esp + 8]
mov ecx, ebx
mov edx, 0x86
push dword [esp + 0x30]
push edi
push dword [esp + 0x50]
call fcn.10036aa0
mov edx, ebx
add esp, 0xc
mov ecx, dword [ebx]
cmp byte [ecx + 0x53], 0
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
jne case.0x1003092b.246
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
jmp 0x10033c25
mov eax, dword [esp + 0x24]
lea esi, [eax + 1]
xor ebx, ebx
mov ecx, dword [esp + 8]
mov edx, 0x70
push ebx
push ebx
push esi
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x34], ebx
mov eax, dword [ecx + 0x3c]
mov dword [esp + 0x10], eax
mov dword [ecx + 0x3c], ebx
mov dword [esp + 0x18], esi
mov dword [esp + 0x84], esi
mov cl, byte [ecx]
add cl, 0x7a
mov eax, str.UNION
cmp cl, 2
ja 0x10033d8a
movsx eax, cl
mov eax, dword [eax*4 + 0x101a2b04]
push eax
push str._s_USING_TEMP_B_TREE
push 1
mov ebx, dword [esp + 0x10]
push ebx
call fcn.10036110
add esp, 0x10
mov ecx, ebx
mov esi, dword [esp + 0xc]
mov edx, esi
lea eax, [esp + 0x80]
push eax
call fcn.1002ee30
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0x14], eax
mov dword [esi + 0x34], edi
movzx eax, word [edi + 2]
cmp word [esi + 2], ax
jle 0x10033dd5
mov ecx, dword [esp + 0xc]
mov word [ecx + 2], ax
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x3c]
test edx, edx
je 0x10033de9
mov ecx, dword [esp + 0x34]
call fcn.10139110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x3c], ecx
test ebx, ebx
jne 0x100331bc
mov esi, dword [esp + 4]
mov ecx, dword [esi + 0x38]
lea edi, [ecx - 1]
mov dword [esp + 0x10], ecx
lea eax, [ecx - 2]
mov dword [esp + 0x20], eax
mov dword [esi + 0x38], eax
mov ecx, esi
mov edx, dword [esp + 0xc]
push edi
call fcn.10036b10
add esp, 4
mov ecx, dword [esp + 8]
mov edx, 0x25
push 0
mov dword [esp + 0x2c], edi
push edi
push dword [esp + 0x2c]
call fcn.10036aa0
add esp, 0xc
mov al, byte [esi + 0x13]
test al, al
je 0x10035141
dec al
mov ecx, dword [esp + 4]
mov byte [ecx + 0x13], al
movzx eax, al
mov esi, dword [ecx + eax*4 + 0x94]
mov edi, dword [esp + 8]
mov ecx, edi
mov edx, 0x82
push 0
push esi
push dword [esp + 0x2c]
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x30], eax
mov ecx, edi
mov edx, 0x1d
push esi
push dword [esp + 0x24]
push dword [esp + 0x20]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [edi]
cmp byte [ecx + 0x53], 0
jne 0x10033eb2
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
mov dword [ecx + eax*4 + 0x10], 0
test esi, esi
je 0x10033ed5
mov eax, dword [esp + 4]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x10033ed5
mov ecx, eax
inc cl
mov edx, dword [esp + 4]
mov byte [edx + 0x13], cl
mov dword [edx + eax*4 + 0x94], esi
lea eax, [esp + 0xd0]
xor esi, esi
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
push dword [esp + 0x28]
push dword [esp + 0x24]
push eax
push esi
push esi
push dword [esp + 0x38]
call fcn.1003a7c0
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 0x10035151
mov edx, dword [esp + 8]
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 5
push 0
push dword [esp + 0x34]
push dword [esp + 0x2c]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esi + 0xc]
neg dword [esp + 0x10]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x10035163
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x6c]
mov ecx, dword [ecx + 0x40]
mov edx, dword [esp + 0x10]
mov dword [ecx + edx*4], eax
xor esi, esi
mov edi, dword [esp + 8]
mov ecx, edi
mov edx, 0x76
push esi
push esi
push dword [esp + 0x20]
call fcn.10036aa0
add esp, 0xc
mov ecx, edi
mov edx, 0x76
push esi
push esi
push dword [esp + 0x2c]
call fcn.10036aa0
add esp, 0xc
jmp 0x100331bc
mov ecx, esi
xor edx, edx
call fcn.10144e50
jmp 0x10032f73
mov ecx, 0x101ddee0
jmp 0x10030375
mov eax, dword [esp + 0x18]
cmp dword [edx + 0x1f8], 0
mov edx, edi
mov edi, dword [esp + 0x10]
jne 0x100303b8
mov dword [edi], eax
test eax, eax
jne 0x100303b8
mov ecx, dword [edi + 0xc]
mov edx, edi
call fcn.10139000
mov edx, dword [esp + 8]
jmp 0x100303b8
mov edx, dword [esp + 8]
test byte [edx + 0x74], 0xa
mov edi, dword [esp + 0xc]
pxor xmm0, xmm0
jne 0x1002ef81
jmp 0x1002f71d
mov ecx, 0x101ddee0
jmp 0x10030b6c
mov dword [esp + 0x24], 0
jmp 0x10031077
test dword [ecx + 4], 0x1000002
jne 0x100311c0
mov eax, dword [edi + 0x48]
mov ebx, 0xffff8000
test eax, eax
je 0x1003404a
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x10]
add ecx, 0xc
xor ebx, ebx
dec ebx
inc ebx
lea edx, [ecx + 0x10]
cmp dword [ecx], eax
mov ecx, edx
jne 0x10034040
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0x28]
mov eax, dword [edx + 0x74]
mov dword [esp + 8], ecx
inc ecx
mov dword [edx + 0x28], ecx
mov ecx, dword [edi + 0x1c]
mov dword [esp + 0x20], ecx
test eax, eax
cmove eax, edx
mov edx, dword [eax + 0x54]
xor esi, esi
inc esi
mov ecx, ebx
shl esi, cl
bt edx, ebx
jb 0x10035299
or edx, esi
mov dword [eax + 0x54], edx
mov ecx, ebx
cmp ebx, 1
jne 0x100352a0
mov ecx, eax
call fcn.10045bc0
jmp 0x100352cd
xor edi, edi
mov ax, 0x1e
mov dword [esp + 0x18], eax
mov edx, 3
mov eax, dword [esp + 0x10]
lea esi, [eax + eax]
cmp edx, eax
mov ecx, 0
sbb ecx, edi
jb 0x10034100
shld edi, eax, 1
add dword [esp + 0x18], 0xfffffff6
mov eax, esi
jmp 0x100340aa
xor ecx, ecx
mov ax, 0x28
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x10]
cmp esi, 0x10
mov eax, ecx
sbb eax, 0
jb 0x10034100
mov edi, ecx
mov edx, 0x1f
mov eax, esi
add dword [esp + 0x18], 0xa
mov esi, ecx
shld esi, eax, 0x1f
shr edi, 1
cmp edx, eax
mov eax, 0
sbb eax, ecx
mov ecx, edi
jb 0x100340e4
and esi, 7
mov eax, dword [esp + 0x18]
add ax, word [esi + esi + 0x1019d512]
add eax, 0xfffffff6
cmp word [esp + 0x20], ax
mov esi, dword [esp + 4]
jle 0x10030208
cmp dword [esp + 0x10], 8
jae 0x100347fd
xor edx, edx
mov eax, 0
cmp dword [esp + 0x10], 2
jb 0x10034eeb
mov ax, 0x1e
mov dword [esp + 0x18], eax
mov esi, 3
mov ecx, dword [esp + 0x10]
lea eax, [ecx + ecx]
cmp esi, ecx
mov edi, 0
sbb edi, edx
jb 0x10034e8e
mov ecx, dword [esp + 0x10]
shld edx, ecx, 1
add dword [esp + 0x18], 0xfffffff6
mov dword [esp + 0x10], eax
jmp 0x1003414b
mov esi, dword [esp + 8]
mov edx, esi
push eax
call fcn.10037c90
mov edx, esi
add esp, 4
jmp 0x10033854
mov eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov edx, dword [esp + 8]
jmp 0x1003083f
mov dword [esp + 0x54], 0
mov dword [esp + 0x2c], 0
mov ebx, dword [esp + 4]
mov eax, dword [ebx + 0x28]
lea ecx, [eax + 1]
mov dword [ebx + 0x28], ecx
mov edi, dword [esp + 0x1c]
mov dword [edi + 4], eax
mov ecx, ebx
mov edx, dword [esp + 0x10]
push dword [edi + 0x20]
xor eax, eax
push eax
call fcn.10166540
add esp, 8
mov dword [esp + 0x58], eax
mov esi, dword [esp + 0x14]
mov ecx, esi
mov edx, 0x72
xor eax, eax
push eax
push dword [edi + 0xc]
push dword [edi + 4]
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, eax
mov dword [esp + 0x78], eax
push 0xfffffffffffffff7
push dword [esp + 0x5c]
call fcn.1004f010
add esp, 8
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ebx + 0x38]
lea edx, [ecx + 4]
mov dword [esp + 0x6c], edx
mov dword [ebx + 0x2c], edx
mov dword [esp + 0x64], eax
add eax, 0xfffffffe
mov dword [esp + 0x74], eax
mov dword [ebx + 0x38], eax
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
mov dword [esp + 0x7c], eax
add eax, ecx
add eax, 4
mov dword [ebx + 0x2c], eax
add eax, dword [esi]
mov dword [ebx + 0x2c], eax
lea eax, [ecx + 2]
mov dword [esp + 0x50], ecx
add ecx, 5
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x14]
mov edx, 0x45
xor edi, edi
push edi
xor edi, edi
mov dword [esp + 0x74], eax
push eax
push edi
call fcn.10036aa0
add esp, 0xc
mov eax, dword [esi]
mov edi, dword [esp + 0x6c]
add eax, edi
mov esi, dword [esp + 0x14]
mov ecx, esi
mov edx, 0x48
push eax
push dword [esp + 0x6c]
xor eax, eax
push eax
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, 0xc
xor esi, esi
push esi
push dword [esp + 0x78]
push edi
call fcn.10036aa0
add esp, 0xc
mov eax, dword [esp + 0x3c]
shl eax, 9
mov ecx, dword [esp + 0x2c]
or ecx, eax
or ecx, 0x40
movzx eax, cx
mov ecx, ebx
mov edx, dword [esp + 8]
push esi
push eax
push dword [esp + 0x5c]
push dword [esp + 0x1c]
push dword [esp + 0x30]
call fcn.1003ef90
add esp, 0x14
mov dword [esp + 0x5c], eax
test eax, eax
je 0x100344ec
mov ecx, dword [esp + 0x5c]
movzx eax, byte [ecx + 0x2f]
mov dword [esp + 0x60], eax
movsx ecx, byte [ecx + 0x2d]
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
xor ebx, ebx
mov dword [esp + 0x2c], 0
mov dword [esp + 8], ecx
mov dword [esp + 0x20], eax
cmp eax, ecx
je 0x100349a3
cmp byte [esp + 0xd0], 0
je 0x10034efc
mov eax, dword [esp + 0xc]
test byte [eax + 4], 1
mov ecx, str.DISTINCT
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.10036110
add esp, 0x10
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], ecx
test eax, eax
jle 0x10034387
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x1c]
add ecx, 0x12
mov esi, dword [esp + 0x2c]
mov edx, esi
mov dword [esp + 0x38], esi
movsx esi, word [ecx]
xor ebx, ebx
cmp edx, esi
setle bl
add dword [esp + 0x38], ebx
add edx, ebx
add ecx, 0x14
dec eax
jne 0x10034371
cmp dword [esp + 0x38], 1
jne 0x100348de
mov eax, dword [esp + 4]
mov al, byte [eax + 0x13]
test al, al
je 0x1003517f
dec al
mov ecx, dword [esp + 4]
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0x94]
mov dword [esp + 0x48], eax
xor edi, edi
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x10]
push edi
push edi
push dword [esp + 0x50]
call fcn.1003b750
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x20]
test eax, eax
jle 0x10034430
mov ebx, 0x12
mov ecx, dword [esp + 0x1c]
mov esi, dword [ecx + 0x1c]
movsx ecx, word [esi + ebx]
cmp dword [esp + 0x2c], ecx
jg 0x10034428
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x2c]
add eax, ecx
movsx ecx, word [esi + ebx - 2]
mov dword [esp + 0x4c], ecx
mov edx, dword [esi + ebx - 0x12]
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x50]
push dword [esi + ebx - 0xa]
call fcn.1003db30
add esp, 0xc
inc dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x20]
inc edi
add ebx, 0x14
cmp edi, eax
jl 0x100343e0
mov eax, dword [esp + 4]
mov al, byte [eax + 0x13]
test al, al
je 0x10034f06
dec al
mov ecx, dword [esp + 4]
mov byte [ecx + 0x13], al
movzx eax, al
mov edi, dword [ecx + eax*4 + 0x94]
mov esi, dword [esp + 0x14]
mov ecx, esi
mov edx, 0x5d
push edi
push dword [esp + 0x3c]
push dword [esp + 0x50]
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, 0x87
push 0
push edi
mov eax, dword [esp + 0x24]
push dword [eax + 4]
call fcn.10036aa0
add esp, 0xc
test edi, edi
je 0x100344aa
mov eax, dword [esp + 4]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x100344aa
mov ecx, eax
inc cl
mov edx, dword [esp + 4]
mov byte [edx + 0x13], cl
mov dword [edx + eax*4 + 0x94], edi
cmp dword [esp + 0x38], 1
jne 0x10034909
cmp dword [esp + 0x48], 0
je 0x10034928
mov eax, dword [esp + 4]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x10034928
mov ecx, eax
inc cl
mov edx, dword [esp + 4]
mov byte [edx + 0x13], cl
mov ecx, dword [esp + 0x48]
mov dword [edx + eax*4 + 0x94], ecx
jmp 0x10034928
cmp dword [esp + 0x54], 0
je 0x100333d5
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x54]
call fcn.100084e0
jmp 0x100333d5
mov al, byte [esi + 0x13]
test al, al
je 0x10034f26
mov ecx, eax
dec cl
mov esi, dword [esp + 4]
mov byte [esi + 0x13], cl
movzx edx, cl
mov edx, dword [esi + edx*4 + 0x94]
mov dword [esp + 0x4c], edx
mov dl, byte [esp + 0x38]
and dl, 0xfd
cmp dl, 0xc
jne 0x100350f4
test cl, cl
je 0x10035266
add al, 0xfe
mov esi, dword [esp + 4]
mov byte [esi + 0x13], al
movzx eax, al
mov eax, dword [esi + eax*4 + 0x94]
mov dword [esp + 0x30], eax
jmp 0x10034f51
mov ecx, dword [esp + 0x14]
mov edx, 0xc
push 0
push eax
mov eax, dword [esp + 0x28]
push dword [eax + 8]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [ebx - 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x18], ecx
cmp ecx, eax
je 0x100345a6
mov ecx, dword [esp + 0x14]
mov edx, 0x64
push 0
push eax
push dword [esp + 0x20]
call fcn.10036aa0
add esp, 0xc
mov eax, dword [esp + 0x20]
movzx eax, word [eax + 0x10]
jmp 0x100345fe
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x18]
test eax, eax
je 0x100345d6
mov ecx, dword [esp + 0x14]
mov edx, 0xc
push 0
push eax
mov eax, dword [esp + 0x20]
push dword [eax + 0x1c]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, 0x64
push 0
mov eax, dword [esp + 0x1c]
push dword [eax + 0x2c]
push dword [ebx - 0x18]
call fcn.10036aa0
add esp, 0xc
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x14]
movzx eax, word [eax + 2]
mov word [edi + 2], ax
jmp 0x10030b7e
xor eax, eax
mov ecx, dword [esp + 0x14]
mov edx, 0x11
push eax
push eax
push eax
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x28], eax
jmp 0x1003161d
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
mov ecx, 0x101ddee0
cmp byte [edx + 0x53], 0
jne 0x10034653
lea ecx, [eax - 1]
mov edx, dword [esp + 0x28]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 0x14]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
jmp 0x10031682
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x6c]
dec edx
jmp 0x100316a6
mov ecx, 0x101ddee0
jmp 0x100316c3
cmp byte [ecx + 0x53], 0
je 0x10034f62
mov ecx, dword [esp + 0x38]
jmp 0x100317cc
mov eax, dword [edi + 0x1c]
mov ebx, dword [eax]
mov edi, dword [esi + 0x2c]
lea eax, [edi + ebx]
inc eax
inc edi
mov dword [esi + 0x2c], eax
xor eax, eax
mov ecx, dword [esp + 8]
mov edx, 0x45
push eax
mov dword [esp + 0x48], edi
push edi
mov dword [esp + 0x44], 0
push eax
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esp + 0x38]
mov edx, ebx
push 1
call fcn.10044910
add esp, 4
test eax, eax
je 0x100346f8
mov edi, eax
test ebx, ebx
jle 0x100346f4
xor esi, esi
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
push esi
call fcn.100361a0
add esp, 4
mov dword [edi + esi*4 + 0x14], eax
mov eax, dword [edi + 0x10]
mov byte [eax + esi], 0
inc esi
cmp ebx, esi
jne 0x100346d3
mov dword [esp + 0x3c], edi
mov esi, dword [esp + 4]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
jmp 0x1003185f
mov ecx, dword [esp + 0x38]
call fcn.10139110
jmp 0x10031a4d
mov ecx, 0x101ddee0
jmp 0x10031b7c
dec dword [esi]
jne 0x10031c91
mov ecx, dword [esi + 0xc]
mov edx, esi
call fcn.10139000
mov al, byte [esp + 0x34]
mov ebx, dword [esp + 8]
jmp 0x10031c91
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0xc]
cmp word [ecx + 2], ax
jle 0x10031d66
mov ecx, dword [esp + 0xc]
mov word [ecx + 2], ax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
jmp 0x10031d66
cmp al, 0x88
jne 0x10034e51
mov dword [esp + 0x1c], edi
inc edi
mov ebx, dword [esp + 0x50]
jmp 0x10031dc0
mov edx, 0x101ddee0
jmp 0x10031e41
mov edx, dword [esp + 8]
push esi
call fcn.10037c90
mov edx, dword [esp + 0xc]
add esp, 4
jmp 0x10031e9b
push edi
call fcn.10037c90
add esp, 4
jmp 0x10031f4b
mov ecx, dword [esp + 0x38]
push 1
call fcn.10008360
mov ecx, dword [esp + 0x3c]
add esp, 4
jmp 0x10031f5e
mov ecx, dword [esi + 8]
jns 0x100347d7
mov eax, dword [ecx + 0x6c]
dec eax
mov esi, dword [ecx]
mov edx, 0x101ddee0
cmp byte [esi + 0x53], 0
jne 0x100347ed
lea edx, [eax + eax*4]
shl edx, 2
add edx, dword [ecx + 0x68]
mov ecx, dword [edx + 8]
mov esi, dword [esp + 4]
mov edi, dword [esp + 0xc]
jmp 0x10031f8f
cmp dword [esp + 0x10], 0x100
jb 0x10034e94
xor ecx, ecx
mov ax, 0x50
mov dword [esp + 0x18], eax
mov eax, ecx
mov esi, dword [esp + 0x10]
mov edx, ecx
shld edx, esi, 0x1c
mov dword [esp + 0x10], edx
shr ecx, 4
cmp esi, 0x1000
sbb eax, 0
jb 0x10034e9e
add dword [esp + 0x18], 0x28
jmp 0x10034815
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x1c]
cmp dword [eax + 0x1c], ecx
jge 0x1003396a
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x20], ecx
jmp 0x1003396a
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x2c]
inc edi
mov dword [eax + 0x2c], edi
jmp 0x10033cc8
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 0x7c
push dword [esp + 0x30]
push edi
push dword [esp + 0x50]
call fcn.10036aa0
mov edx, esi
add esp, 0xc
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
jmp case.0x1003092b.246
test eax, 0xfffffffd
mov edi, dword [esp + 4]
pxor xmm0, xmm0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
je 0x1002fa30
push str.authorizer_malfunction
push edi
call fcn.100394d0
mov edx, dword [esp + 0x20]
pxor xmm0, xmm0
add esp, 8
mov dword [edi + 0xc], 1
jmp 0x1002fa30
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1c]
sub eax, dword [esp + 0x38]
jge 0x10035123
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x2c]
lea edx, [eax + 1]
mov dword [esp + 0x48], edx
add eax, dword [esp + 0x38]
mov dword [ecx + 0x2c], eax
jmp 0x100343b8
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x38]
cmp dword [eax + 0x1c], ecx
jge 0x10034928
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x5c]
call fcn.100370c0
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0x28]
lea eax, [edx + 1]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], edx
mov dword [eax + 8], edx
mov al, byte [ecx + 0x13]
test al, al
je 0x10034f16
dec al
mov ecx, dword [esp + 4]
mov byte [ecx + 0x13], al
movzx eax, al
mov ebx, dword [ecx + eax*4 + 0x94]
mov esi, dword [esp + 0x14]
mov ecx, esi
mov edx, 0x75
push dword [esp + 0x38]
push ebx
push dword [esp + 0x34]
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, 0x23
push 0
push dword [esp + 0x44]
mov esi, dword [esp + 0x24]
push dword [esi + 4]
call fcn.10036aa0
add esp, 0xc
mov byte [esi + 1], 1
cmp dword [esp + 0x3c], 0
je 0x10034a26
mov eax, dword [esp + 0x34]
test byte [eax + 0x4c], 4
jne 0x10034a26
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 8]
jne 0x100349df
mov eax, dword [esp + 0x5c]
test byte [eax + 0x30], 8
jne 0x100349df
mov eax, dword [esp + 0x14]
lea ecx, [eax + 0x6c]
mov dword [esp + 0x38], ecx
mov eax, dword [eax + 0x6c]
mov dword [esp + 0x4c], eax
jmp 0x10034a5f
mov dword [esp + 0xa0], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
cmp byte [ecx + 0x53], 0
jne 0x10034a26
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0x14]
mov esi, dword [edx + 0x68]
lea edi, [eax + eax*4]
movsx edx, byte [esi + edi*4 + 1]
push dword [esi + edi*4 + 0x10]
call fcn.10006530
add esp, 4
mov dword [esi + edi*4 + 0x10], 0
mov word [esi + edi*4], 0xb1
mov eax, dword [esp + 0x14]
lea ecx, [eax + 0x6c]
mov dword [esp + 0x38], ecx
mov eax, dword [eax + 0x6c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 8]
je 0x10034a5f
mov ecx, dword [esp + 0x14]
mov edx, 0x81
push dword [esp + 0x2c]
push ebx
mov eax, dword [esp + 0x24]
push dword [eax + 4]
call fcn.10036aa0
add esp, 0xc
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x7c]
lea esi, [ecx + eax]
add esi, 5
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
jle 0x10034acd
mov eax, dword [esp + 0x10]
lea ebx, [eax + 8]
xor edi, edi
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 8]
jne 0x10034aa5
mov eax, dword [esp + 0x1c]
mov byte [eax], 1
lea eax, [esi + edi]
mov edx, dword [ebx]
mov ecx, dword [esp + 4]
push eax
call fcn.101665c0
add esp, 4
jmp 0x10034abf
lea eax, [esi + edi]
mov ecx, dword [esp + 0x14]
mov edx, 0x5b
push eax
push edi
push dword [esp + 0x34]
call fcn.10036aa0
add esp, 0xc
inc edi
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
add ebx, 0x14
cmp edi, eax
jl 0x10034a80
mov ecx, dword [esp + 0x50]
add ecx, 3
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x64]
dec ecx
mov dword [esp + 0x3c], ecx
cmp dword [esp + 0x58], 0
je 0x10034af4
mov eax, dword [esp + 0x58]
inc dword [eax]
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
inc dword [esp + 0x50]
mov edi, dword [esp + 0x14]
mov ecx, edi
mov edx, 0x57
push eax
push esi
push dword [esp + 0x70]
call fcn.10036aa0
add esp, 0xc
mov ecx, edi
mov edx, eax
push 0xfffffffffffffff7
push dword [esp + 0x5c]
call fcn.1004f010
add esp, 8
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x48], eax
inc eax
mov ecx, edi
mov edx, 0x10
push eax
xor ebx, ebx
push ebx
push eax
call fcn.10036aa0
add esp, 0xc
mov eax, dword [esp + 4]
mov ecx, dword [eax + 8]
mov edx, 0x4c
mov eax, dword [esp + 0x10]
push dword [eax]
push dword [esp + 0x6c]
push esi
call fcn.10036aa0
add esp, 0xc
mov ecx, edi
mov edx, 0xc
xor esi, esi
push esi
push dword [esp + 0x40]
push dword [esp + 0x34]
call fcn.10036aa0
add esp, 0xc
mov ecx, edi
mov edx, 0x30
push esi
xor esi, esi
push dword [esp + 0x44]
push dword [esp + 0x78]
call fcn.10036aa0
add esp, 0xc
mov ecx, edi
mov edx, 0xc
push esi
push dword [esp + 0x78]
push dword [esp + 0x74]
call fcn.10036aa0
add esp, 0xc
mov edx, dword [edi]
mov eax, dword [edi + 0x6c]
mov ecx, 0x101ddee0
cmp byte [edx + 0x53], 0
jne 0x10034bd3
lea ecx, [eax - 1]
mov edx, dword [esp + 0x48]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 0x14]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0x50]
mov edx, esi
push dword [esp + 0x60]
push dword [esp + 0x20]
call fcn.10060520
add esp, 8
mov ecx, dword [esp + 0x14]
mov edx, 0x45
push 0
push esi
push 1
call fcn.10036aa0
add esp, 0xc
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 8]
jne 0x10034c54
mov ecx, dword [esp + 0x5c]
call fcn.100370c0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
cmp byte [ecx + 0x53], 0
jne 0x10034c72
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x68]
mov eax, dword [esp + 0x78]
lea edi, [eax + eax*4]
movsx edx, byte [esi + edi*4 + 1]
push dword [esi + edi*4 + 0x10]
call fcn.10006530
add esp, 4
mov dword [esi + edi*4 + 0x10], 0
mov word [esi + edi*4], 0xb1
jmp 0x10034c72
mov ecx, dword [esp + 0x14]
mov edx, 3
push 0
push dword [esp + 0x50]
mov eax, dword [esp + 0x24]
push dword [eax + 4]
call fcn.10036aa0
add esp, 0xc
cmp dword [esp + 0x54], 0
je 0x10034c86
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x54]
call fcn.100084e0
xor edi, edi
mov esi, dword [esp + 0x14]
mov ecx, esi
mov edx, 0xc
push edi
push dword [esp + 0x40]
mov ebx, dword [esp + 0x34]
push ebx
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, 0xb
push edi
push dword [esp + 0x44]
push edi
call fcn.10036aa0
add esp, 0xc
mov eax, dword [esi + 0x6c]
mov dword [esp + 8], eax
mov ecx, esi
mov edx, 0x45
push edi
push dword [esp + 0x74]
push 1
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, 0x41
push edi
push edi
push ebx
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esi + 0xc]
mov eax, dword [esp + 0x64]
neg eax
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x10034e2d
mov edx, dword [esp + 0x38]
mov edx, dword [edx]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
mov edi, dword [esp + 0x14]
mov ebx, dword [edi + 0x6c]
lea eax, [ebx + 2]
xor esi, esi
mov ecx, edi
mov edx, 0x30
push esi
push eax
push dword [esp + 0x58]
call fcn.10036aa0
add esp, 0xc
mov ecx, edi
mov edx, 0x41
xor eax, eax
push eax
push eax
push dword [esp + 0x34]
call fcn.10036aa0
add esp, 0xc
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, dword [esp + 0x1c]
call fcn.1004eac0
inc ebx
push 0x10
push ebx
push dword [esp + 0x38]
push esi
call fcn.10044d40
add esp, 0x10
lea eax, [esp + 0xd0]
mov ecx, esi
mov edx, dword [esp + 0xc]
push dword [esp + 8]
push ebx
push dword [ebp + 8]
push eax
lea eax, [esp + 0xb0]
push eax
push 0xffffffffffffffff
call fcn.1003a7c0
add esp, 0x18
mov ecx, edi
mov edx, 0x41
xor eax, eax
push eax
push eax
push dword [esp + 0x34]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [edi + 0xc]
xor eax, eax
inc eax
sub eax, dword [esp + 0x64]
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x10034e3f
mov edx, dword [esp + 0x38]
mov edx, dword [edx]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x1c]
call fcn.1004f460
xor esi, esi
mov edi, dword [esp + 0x14]
mov ecx, edi
mov edx, 0x45
push esi
push dword [esp + 0x54]
push esi
call fcn.10036aa0
add esp, 0xc
mov ecx, edi
mov edx, 0x41
push esi
push esi
push dword [esp + 0x74]
call fcn.10036aa0
add esp, 0xc
cmp byte [esp + 0x60], 0
je 0x100314ee
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x60]
push dword [eax + 0x10]
push dword [eax + 0xc]
call fcn.1003eab0
add esp, 8
jmp 0x100314ee
mov edx, dword [esp + 0x14]
push eax
call fcn.10037c90
add esp, 4
jmp 0x10034d0a
mov edx, dword [esp + 0x14]
push eax
call fcn.10037c90
add esp, 4
jmp 0x10034dc3
xor esi, esi
mov ebx, dword [esp + 8]
mov ecx, ebx
mov edx, 0xe
push esi
push dword [esp + 0x40]
push dword [esp + 0x18]
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x1c], eax
mov ecx, ebx
mov edx, 0xb
push esi
mov ebx, dword [esp + 0x54]
push ebx
push esi
call fcn.10036aa0
add esp, 0xc
jmp 0x10031dc0
mov dword [esp + 0x10], eax
jmp 0x10034ed3
xor ecx, ecx
mov ax, 0x28
mov dword [esp + 0x18], eax
cmp dword [esp + 0x10], 0x10
mov eax, ecx
sbb eax, 0
jb 0x10034ed3
mov esi, 0x1f
mov edi, ecx
mov eax, dword [esp + 0x10]
add dword [esp + 0x18], 0xa
mov edx, ecx
shld edx, eax, 0x1f
mov dword [esp + 0x10], edx
shr edi, 1
cmp esi, eax
mov eax, 0
sbb eax, ecx
mov ecx, edi
jb 0x10034eb1
mov eax, dword [esp + 0x10]
and eax, 7
mov ecx, dword [esp + 0x18]
add cx, word [eax + eax + 0x1019d512]
add ecx, 0xfffffff6
mov eax, ecx
mov ecx, dword [esp + 0xc]
mov word [ecx + 2], ax
mov esi, dword [esp + 4]
jmp 0x10030208
mov eax, str.GROUP_BY
jmp 0x10034330
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x2c]
inc edi
mov dword [eax + 0x2c], edi
jmp 0x10034452
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x2c]
inc ebx
mov dword [eax + 0x2c], ebx
jmp 0x10034967
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x2c]
inc ecx
mov ebx, ecx
mov dword [eax + 0x2c], ecx
mov al, byte [esp + 0x38]
and al, 0xfd
cmp al, 0xc
jne 0x100351a1
mov dword [esp + 0x4c], ebx
inc ebx
mov esi, dword [esp + 4]
mov dword [esp + 0x30], ebx
mov dword [esi + 0x2c], ebx
mov dword [esp + 0x1c], 0
mov edx, dword [esp + 8]
jmp 0x10030720
xor edi, edi
inc edi
xor ebx, ebx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1c]
cmp edi, dword [eax]
jg 0x1003467c
test esi, esi
jle 0x10034f94
mov eax, dword [esp + 0x24]
lea ecx, [eax + 0x18]
xor eax, eax
movzx edx, word [ecx]
cmp edi, edx
je 0x10034f96
inc eax
add ecx, 0x14
cmp esi, eax
jne 0x10034f83
jmp 0x10034f9a
xor eax, eax
cmp eax, esi
jne 0x10035004
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov ecx, dword [esp + 0x38]
mov edx, 0x9a
push ebx
lea eax, [esp + 0x84]
push eax
call fcn.10007880
add esp, 8
test eax, eax
je 0x10035272
or byte [eax + 5], 4
mov dword [eax + 8], edi
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x24]
push eax
call fcn.1014e350
add esp, 4
mov ecx, eax
mov eax, dword [esp + 0xc]
mov dword [eax + 0x30], ecx
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x10035018
lea eax, [esi + esi*4]
lea ecx, [esi + 1]
mov edx, dword [esp + 0x24]
mov word [edx + eax*4 + 0x18], di
mov esi, ecx
inc edi
mov ecx, dword [esp + 0x38]
cmp byte [ecx + 0x53], 0
je 0x10034f67
jmp 0x100317cc
mov dword [esp + 0x24], 0
jmp 0x10035004
xor ecx, ecx
inc ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
pxor xmm0, xmm0
movdqu xmmword [eax + 0x28], xmm0
movdqu xmmword [eax + 8], xmm0
movdqu xmmword [eax + 0x18], xmm0
movdqu xmmword [eax + 0x38], xmm0
mov dword [eax + 0x4c], ebx
mov dword [eax + 0x48], ebx
mov dword [eax + 0x34], 0xffffffff
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], ebx
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov edi, dword [esp + 0x10]
mov dword [eax + 0x1c], edi
mov edx, dword [ecx]
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.10039470
or byte [edi + 4], 0x40
mov ecx, esi
mov edx, edi
push 0x40
call fcn.10164370
add esp, 4
mov ecx, dword [esp + 0x24]
and ecx, 8
or dword [edi + 4], ecx
test eax, eax
je 0x1003330f
mov esi, eax
mov ecx, 0x13
mov edx, dword [esp + 0x18]
mov edi, edx
mov dword [esp + 0x20], eax
rep movsd dword es:[edi], dword [esi]
or byte [edx + 0x25], 0x40
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [eax + 0x18], edx
lea ecx, [esp + 0xa0]
pxor xmm0, xmm0
movdqa xmmword [ecx], xmm0
movdqu xmmword [ecx + 0xc], xmm0
mov dword [ecx + 4], 0x10198320
mov dword [ecx + 8], 0x10198340
mov dword [ecx + 0xc], 0x10198350
mov edx, dword [esp + 0x10]
call fcn.10035b30
mov bl, 1
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], eax
jmp 0x1003330f
cmp dword [esp + 0x1c], 1
jne 0x100351ed
test cl, cl
je 0x1003528d
add al, 0xfe
mov esi, dword [esp + 4]
mov byte [esi + 0x13], al
movzx eax, al
mov eax, dword [esi + eax*4 + 0x94]
mov dword [esp + 0x30], eax
jmp 0x100351b8
mov edx, dword [esp + 4]
mov edi, dword [edx + 0x20]
mov ecx, dword [esp + 0x38]
mov esi, edi
mov dword [esp + 0x48], edi
add ecx, edi
mov dword [edx + 0x20], ecx
mov dword [edx + 0x1c], eax
jmp 0x100343b8
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
jmp 0x10033e5d
mov edx, dword [esp + 8]
push eax
call fcn.10037c90
add esp, 4
jmp 0x10033f24
mov edx, dword [esp + 8]
push dword [esp + 0x10]
call fcn.10037c90
add esp, 4
jmp 0x10033f65
xor edi, edi
jmp 0x100336e9
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x2c]
inc edx
mov ecx, edx
mov dword [esp + 0x48], edx
mov dword [eax + 0x2c], edx
jmp 0x100343b8
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
jmp 0x100318fc
mov dword [esp + 0x4c], ebx
cmp dword [esp + 0x1c], 1
jne 0x100351f1
inc ebx
mov esi, dword [esp + 4]
mov dword [esp + 0x30], ebx
mov dword [esi + 0x2c], ebx
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
jmp 0x10034f59
test eax, 0xfffffffd
je 0x1003527c
push str.authorizer_malfunction
mov esi, dword [esp + 8]
push esi
call fcn.100394d0
add esp, 8
mov dword [esi + 0xc], 1
jmp 0x10030fc6
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1c]
sub eax, dword [esp + 0x1c]
jge 0x10035246
mov esi, dword [esp + 4]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x4c], ebx
lea ecx, [eax + 1]
add eax, dword [esp + 0x1c]
mov dword [esi + 0x2c], eax
jmp 0x1003525d
test eax, 0xfffffffd
mov edx, dword [esp + 8]
je 0x1002f158
push str.authorizer_malfunction
mov edi, dword [esp + 8]
push edi
call fcn.100394d0
mov edx, dword [esp + 0x10]
add esp, 8
mov dword [edi + 0xc], 1
jmp 0x1002f158
mov esi, dword [esp + 4]
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x1c]
add edx, ecx
mov dword [esi + 0x20], edx
mov dword [esi + 0x1c], eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x30], ecx
jmp 0x10034f59
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x2c]
jmp 0x10034f45
mov ebx, 7
jmp 0x10030266
test eax, eax
mov edi, dword [esp + 0xc]
je 0x10030c07
jmp 0x10030fc6
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x2c]
jmp 0x100351ac
mov eax, ebx
cmp ebx, 1
je 0x100352cd
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov ecx, ebx
shl ecx, 4
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x100352cd
mov ecx, dword [esp + 4]
mov edx, ebx
push dword [edi]
push 0
push dword [edi + 0x1c]
call fcn.1004cdd0
add esp, 0xc
xor esi, esi
cmp byte [edi + 0x24], 0
js 0x100353ea
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
test byte [eax + 0x30], 1
jne 0x10035316
mov eax, dword [edi + 8]
test eax, eax
je 0x10035316
test byte [eax + 0x38], 4
jne 0x10035303
movzx ecx, word [eax + 0x30]
cmp cx, word [edi + 0x30]
jge 0x10035303
cmp dword [eax + 0x24], 0
je 0x10035308
mov eax, dword [eax + 0x14]
jmp 0x100352e9
test esi, esi
je 0x10035312
cmp cx, word [esi + 0x30]
jge 0x10035303
mov esi, eax
jmp 0x10035303
mov dword [esp + 0x10], 0
test esi, esi
je 0x10035338
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 4]
mov edx, esi
call fcn.10044850
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x14]
mov edx, 0x62
push ebx
push dword [esp + 0x24]
push dword [esp + 0x10]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
cmp byte [ecx + 0x53], 0
jne 0x10035375
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
mov dword [ecx + eax*4 + 0x10], 1
cmp dword [esp + 0x10], 0
je 0x10035391
xor edx, edx
dec edx
mov ecx, dword [esp + 0x14]
push 0xfffffffffffffff7
push dword [esp + 0x14]
call fcn.1004f010
add esp, 8
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x14]
mov ecx, ebx
mov edx, 0x5e
xor eax, eax
push eax
mov eax, dword [esp + 0x14]
push dword [eax + 8]
push dword [esp + 0x10]
call fcn.10036aa0
add esp, 0xc
mov ecx, ebx
mov edx, 0x76
xor eax, eax
push eax
push eax
push dword [esp + 0x10]
call fcn.10036aa0
add esp, 0xc
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, edi
push esi
call fcn.10166640
add esp, 4
jmp 0x100314ba
mov eax, dword [edi + 8]
test eax, eax
je 0x100352d9
mov ecx, dword [eax + 0x38]
and ecx, 3
cmp ecx, 2
je 0x1003541a
mov eax, dword [eax + 0x14]
jmp 0x100353ed
inc edi
add ebx, 0x14
cmp edi, dword [esi]
mov edx, dword [esp + 0x28]
jl 0x10032078
jmp 0x1002f5a2
mov esi, eax
jmp 0x100352d9