Function at 0x10027cd0
Capabilities:
Authenticate hmac
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x100
mov ebx, ecx
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov esi, dword [ecx]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb0], eax
test eax, eax
mov dword [ebp - 0x98], edx
jne 0x10027d20
cmp dword [ebx + 0x78], 0
jne 0x10027d0d
test byte [esi + 0x50], 8
jne 0x10027d0d
mov byte [ebx + 0x17], 1
mov ecx, ebx
call fcn.1002f500
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0x98]
xor edi, edi
inc edi
test edx, edx
je 0x10028226
cmp dword [ebx + 0x24], 0
jne 0x10028226
mov dword [ebp - 0xac], esi
mov eax, dword [ebx]
mov ecx, dword [eax + 0x164]
test ecx, ecx
mov dword [ebp - 0x94], ebx
jne 0x1002c177
mov eax, dword [ebp + 8]
cmp byte [eax], 6
jbe 0x1002842d
mov ecx, ebx
mov esi, edx
push 0
call fcn.1002f640
add esp, 4
xor eax, eax
inc eax
cmp dword [ebx + 0x24], 0
jne 0x1002820e
mov edi, dword [esi + 4]
bt edi, 0x17
mov ecx, esi
jb 0x1002c1eb
mov eax, dword [ebp + 8]
cmp byte [eax], 9
jne 0x10027da2
mov ecx, ebx
mov edx, dword [ebp - 0x98]
call fcn.1002fbf0
mov ecx, dword [ebp - 0x98]
mov esi, dword [ecx + 0x44]
test esi, esi
jne 0x1002c226
mov edx, dword [ecx + 4]
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x9c], eax
pxor xmm0, xmm0
movdqu xmmword [ebp - 0x5c], xmm0
movdqu xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x4c], 0
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x70], eax
mov edi, dword [ecx + 0x34]
test edi, edi
jne 0x10027e29
shr edx, 3
mov dword [ebp - 0xc0], edx
xor ebx, ebx
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx]
cmp ebx, eax
jge 0x10027eec
lea eax, [ebx + ebx*8]
mov edi, dword [edx + eax*8 + 0x18]
mov esi, dword [edx + eax*8 + 0x1c]
mov dword [ebp - 0xa0], eax
mov al, byte [edx + eax*8 + 0x2c]
and al, 0x18
cmp al, 8
je 0x1002860f
test esi, esi
jne 0x1002868f
mov eax, ebx
inc eax
mov edi, dword [ecx + 0x34]
mov ebx, eax
test edi, edi
je 0x10027de6
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
mov dword [ebp - 0xb0], edx
mov edx, dword [ebp + 8]
movdqu xmm0, xmmword [edx]
movdqu xmm1, xmmword [edx + 0xc]
movdqu xmmword [ebp - 0x3c], xmm1
movdqu xmmword [ebp - 0x48], xmm0
mov esi, dword [eax + 8]
test esi, esi
je 0x1002c9e4
mov al, byte [ebp - 0x48]
mov byte [ebp - 0xac], al
cmp al, 0xc
je 0x1002b5a3
mov dword [ebp - 0xc0], esi
mov eax, dword [ecx + 4]
bt eax, 0xa
jb 0x1002ca0c
bt eax, 0xd
mov edx, dword [ebp - 0x98]
jb 0x10029d6e
cmp dword [edx + 0x30], 0
jne 0x1002b326
cmp dword [edi + 0x34], 0
jne 0x10027ec9
xor esi, esi
inc esi
push str.COMPOUND_QUERY
push esi
mov ebx, dword [ebp - 0x94]
push ebx
call fcn.1002faf0
add esp, 0xc
push str.LEFT_MOST_SUBQUERY
push esi
push ebx
call fcn.1002faf0
mov edx, dword [ebp - 0x98]
add esp, 0xc
movzx eax, byte [edx]
cmp eax, 0x86
jne 0x1002914d
cmp byte [ebp - 0xac], 1
jne 0x1002922f
mov ebx, dword [ebp - 0x44]
jmp 0x1002928b
mov edx, dword [ecx + 0x24]
test edx, edx
je 0x1002823d
cmp byte [edx], 0x2c
jne 0x1002823d
mov edx, dword [ebp - 0xac]
test byte [edx + 0x51], 0x80
mov edx, dword [ebp - 0x9c]
jne 0x10027fe5
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x90], eax
mov eax, dword [eax]
add eax, 0x57
mov dword [ebp - 0x8c], eax
xor esi, esi
xor ebx, ebx
inc ebx
lea edi, [ebp - 0x2c]
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x80], esi
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x10027f5d
cmp dword [eax], 0
jle 0x10027f5d
test byte [eax + 0x2c], 0x40
jne 0x1002c559
mov eax, ebx
mov dword [ebp - 0x7c], eax
mov edx, dword [ecx + 0x24]
lea ecx, [ebp - 0x90]
call fcn.1002eff0
cmp dword [ebp - 0x88], 0
je 0x10027fca
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], 0x100731a0
mov dword [ebp - 0x24], sym.nss3.dll_SECMOD_CanDeleteInternalModule
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
lea eax, [ebp - 0x90]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x98]
mov edx, dword [eax + 0x24]
test edx, edx
je 0x10027fb6
mov ecx, edi
call fcn.1014d480
mov edx, dword [ebp - 0x78]
test edx, edx
je 0x10027fca
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
call fcn.1014d210
cmp dword [ebp - 0x84], 0
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x9c]
jne 0x10027f35
mov eax, dword [edx]
test eax, eax
jle 0x10028023
lea eax, [edx + 0x2c]
xor edi, edi
xor esi, esi
dec esi
mov dword [ebp - 0xa0], eax
lea ebx, [edi + edi*8]
mov eax, dword [edx + ebx*8 + 0x40]
or eax, dword [edx + ebx*8 + 0x44]
je 0x1002bc0a
mov eax, dword [edx + ebx*8 + 0x1c]
test eax, eax
jne 0x1002a1cb
inc edi
dec esi
mov eax, dword [ebp - 0xa0]
add eax, 0x48
cmp edi, dword [edx]
jl 0x10027ff1
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0xb4], edx
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0xa0], edx
mov edx, eax
and dl, 1
mov esi, dword [ecx + 0x2c]
mov dword [ebp - 0xc4], esi
mov byte [ebp - 0x48], dl
and eax, 9
cmp eax, 1
mov dword [ebp - 0xbc], ebx
je 0x1002844d
mov edi, dword [ebp - 0x94]
mov esi, dword [ebp - 0x70]
test esi, esi
jne 0x10028248
xor ebx, ebx
dec ebx
mov dword [ebp - 0x5c], ebx
mov eax, dword [ebp + 8]
cmp byte [eax], 0xc
je 0x1002c31a
mov ebx, dword [ebp - 0x94]
mov edi, dword [ebx + 0x38]
lea eax, [edi - 1]
mov dword [ebx + 0x38], eax
mov edx, dword [ebp - 0x98]
test byte [edx + 5], 0x40
jne 0x100280a2
mov word [edx + 2], 0x140
cmp dword [edx + 0x3c], 0
jne 0x10028411
cmp dword [edx + 8], 0
jne 0x100280bd
mov eax, dword [ebp - 0x5c]
test eax, eax
jns 0x100283ea
test byte [edx + 4], 1
mov dword [ebp - 0xa4], edi
jne 0x100284a0
xor eax, eax
mov edi, dword [ebp - 0xa0]
mov byte [ebp - 0x47], al
test byte [ebp - 0xc0], 1
jne 0x10028ebb
test edi, edi
jne 0x10028ebb
xor eax, eax
cmp byte [ebp - 0x48], 0
setne al
mov esi, 0x4000
and esi, dword [edx + 4]
shl eax, 8
or esi, eax
mov edi, dword [edx + 0x44]
test edi, edi
jne 0x1002c416
movsx eax, word [edx + 2]
movzx esi, si
mov ecx, ebx
mov edx, dword [ebp - 0x9c]
push eax
push esi
push dword [ebp - 0x98]
mov eax, dword [ebp - 0x98]
push dword [eax + 0x1c]
push dword [ebp - 0x70]
push dword [ebp - 0xb4]
call fcn.1003a780
mov edx, dword [ebp - 0x98]
add esp, 0x18
mov esi, eax
xor eax, eax
inc eax
test esi, esi
je 0x1002820e
movzx eax, word [esi + 0x34]
cmp ax, word [edx + 2]
jge 0x10028160
mov word [edx + 2], ax
cmp byte [ebp - 0x48], 0
jne 0x100285bd
mov eax, dword [ebp - 0x70]
test eax, eax
jne 0x10028351
mov eax, dword [ebp - 0x5c]
test eax, eax
jns 0x10028390
test edi, edi
jne 0x1002c42e
lea eax, [ebp - 0x48]
lea edi, [ebp - 0x70]
mov ecx, ebx
push dword [esi + 0x20]
push dword [esi + 0x1c]
push dword [ebp + 8]
push eax
push edi
push 0xffffffffffffffff
call fcn.10032680
add esp, 0x18
mov ecx, esi
call fcn.10031790
mov dword [ebp - 0xc0], 0
mov esi, dword [ebp - 0xac]
mov edx, dword [ebp - 0xb0]
cmp byte [ebp - 0x47], 3
je 0x1002c3e8
mov edi, dword [ebp - 0x70]
test edi, edi
jne 0x10029963
mov ecx, dword [edx + 0xc]
mov edi, dword [ebp - 0xa4]
neg edi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1002c408
mov edx, dword [ebp - 0xc0]
test edx, edx
jne 0x1002a6a4
mov edi, eax
mov eax, dword [ebx + 0xe4]
xor ecx, ecx
test eax, eax
jne 0x1002c2f3
mov dword [ebx + 0xe4], ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10156ff0
mov eax, edi
add esp, 0x100
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [ebp - 0x9c]
jmp 0x10027fe5
mov eax, dword [ebx]
mov ecx, dword [edi]
mov edi, dword [esi]
inc eax
mov edx, edi
push eax
call fcn.10040a00
add esp, 4
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa8], edi
test edi, edi
jle 0x100282af
cmp dword [ebp - 0xa4], 0
je 0x100282af
add esi, 8
xor edi, edi
mov ebx, dword [ebp - 0x94]
mov edx, dword [esi]
mov ecx, ebx
call fcn.1002f260
test eax, eax
jne 0x10028290
mov eax, dword [ebx]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0xa4]
mov dword [ecx + edi*4 + 0x14], eax
mov al, byte [esi + 8]
mov ecx, dword [ecx + 0x10]
mov byte [ecx + edi], al
inc edi
add esi, 0x14
cmp dword [ebp - 0xa8], edi
jne 0x1002827e
mov edx, dword [ebp - 0x94]
mov eax, dword [edx + 0x28]
lea ecx, [eax + 1]
mov dword [edx + 0x28], ecx
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x70]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0xbc]
mov edx, dword [edx]
lea esi, [ecx + edx]
inc esi
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], ebx
jle 0x100285f3
lea edx, [ebx + 1]
mov dword [ecx + 0x6c], edx
mov edi, esi
mov esi, dword [ecx + 0x68]
lea edx, [ebx + ebx*4]
mov dword [esi + edx*4], 0x76
mov dword [esi + edx*4 + 4], eax
mov dword [esi + edx*4 + 8], edi
xor eax, eax
mov dword [esi + edx*4 + 0xc], eax
mov dword [esi + edx*4 + 0x10], eax
mov edi, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0x57], 0
jne 0x1002c5ba
mov ecx, ebx
test ebx, ebx
js 0x100285ea
mov eax, dword [edi + 0x68]
lea edx, [ecx + ecx*4]
cmp byte [eax + edx*4 + 1], 0
jne 0x100285d0
mov ecx, dword [ebp - 0xa4]
test ecx, ecx
je 0x10028072
lea eax, [eax + edx*4]
inc eax
mov dword [eax + 0xf], ecx
mov byte [eax], 0xf8
jmp 0x10028072
movzx ecx, byte [esi + 0x2d]
xor edx, edx
test cl, cl
cmovg edx, ecx
movzx ecx, dl
mov dword [ebp - 0x6c], ecx
test byte [esi + 0x30], 4
jne 0x1002c5d2
mov edx, esi
add edx, 0x1c
mov edx, dword [edx]
mov dword [ebp - 0x54], edx
cmp dword [eax], ecx
mov edx, dword [ebp - 0x98]
jne 0x10028180
mov dword [ebp - 0x70], 0
jmp 0x10028175
mov ecx, dword [ebp - 0xb0]
mov ecx, dword [ecx]
cmp byte [ecx + 0x57], 0
jne 0x10028180
mov edx, dword [ebp - 0xb0]
mov ebx, dword [edx + 0x68]
mov dword [ebp - 0x9c], edi
lea edi, [eax + eax*4]
movsx edx, byte [ebx + edi*4 + 1]
push dword [ebx + edi*4 + 0x10]
call fcn.100056c0
mov edx, dword [ebp - 0x98]
add esp, 4
mov dword [ebx + edi*4 + 0x10], 0
mov word [ebx + edi*4], 0xb8
mov edi, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x94]
jmp 0x10028180
mov esi, dword [ebp - 0xb0]
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
jne 0x1002c5fc
lea eax, [eax + eax*4]
shl eax, 2
add eax, dword [esi + 0x68]
mov byte [eax], 0x77
or byte [ebp - 0x50], 1
jmp 0x100280bd
mov ecx, ebx
mov edx, dword [ebp - 0x98]
push eax
call fcn.10039a10
mov edx, dword [ebp - 0x98]
add esp, 4
jmp 0x100280ac
mov esi, dword [edx + 0x30]
test esi, esi
jne 0x1002c606
mov eax, 0xffbffffe
and eax, dword [edx + 4]
or eax, 0x400000
mov dword [edx + 4], eax
jmp 0x10027d5d
mov esi, dword [ebp - 0x70]
or ebx, esi
jne 0x1002a8b3
cmp dword [ecx + 0x44], 0
mov edi, dword [ebp - 0x94]
mov ebx, dword [ebp - 0xbc]
jne 0x10028064
and byte [ecx + 4], 0xfe
mov ecx, dword [ebp - 0xac]
mov edx, ebx
push 0
call fcn.100015a0
mov ecx, dword [ebp - 0x98]
add esp, 4
mov dword [ebp - 0xa0], eax
mov dword [ecx + 0x28], eax
or byte [ecx + 4], 8
mov byte [ebp - 0x48], 2
jmp 0x10028064
mov eax, dword [ebx + 0x28]
lea ecx, [eax + 1]
mov dword [ebx + 0x28], ecx
mov dword [ebp - 0x44], eax
mov esi, dword [edx + 0x1c]
mov ecx, dword [ebx]
mov edi, dword [esi]
mov edx, edi
push 1
call fcn.10040a00
add esp, 4
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb8], edi
test edi, edi
jle 0x10028514
cmp dword [ebp - 0xa8], 0
je 0x10028514
add esi, 8
xor edi, edi
mov ebx, dword [ebp - 0x94]
mov edx, dword [esi]
mov ecx, ebx
call fcn.1002f260
test eax, eax
jne 0x100284f5
mov eax, dword [ebx]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + edi*4 + 0x14], eax
mov al, byte [esi + 8]
mov ecx, dword [ecx + 0x10]
mov byte [ecx + edi], al
inc edi
add esi, 0x14
cmp dword [ebp - 0xb8], edi
jne 0x100284e3
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], ebx
jle 0x1002a4cf
lea edx, [ebx + 1]
mov dword [ecx + 0x6c], edx
mov esi, dword [ecx + 0x68]
mov edi, ecx
lea edx, [ebx + ebx*4]
mov dword [esi + edx*4], 0x76
mov dword [esi + edx*4 + 4], eax
xor eax, eax
mov dword [esi + edx*4 + 8], eax
mov dword [esi + edx*4 + 0xc], eax
mov dword [esi + edx*4 + 0x10], eax
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
mov esi, dword [ebp - 0xa8]
jne 0x1002c671
mov edx, edi
mov ecx, ebx
test ebx, ebx
mov edi, dword [ebp - 0xa0]
js 0x100295a3
mov eax, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
cmp byte [eax + ecx*4 + 1], 0
jne 0x10029584
test esi, esi
je 0x10028593
lea eax, [eax + ecx*4]
inc eax
mov dword [eax + 0xf], esi
mov byte [eax], 0xf8
mov dword [ebp - 0x40], ebx
mov ecx, dword [edx + 0x6c]
mov al, 3
test ecx, ecx
jle 0x100285ac
mov edx, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
mov word [edx + ecx*4 - 0x12], 8
mov ebx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
jmp 0x100280d5
mov al, byte [esi + 0x2f]
test al, al
je 0x1002816a
mov byte [ebp - 0x47], al
jmp 0x1002816a
mov ecx, edi
lea edx, [eax + edx*4]
push 0xfffffffffffffff8
push dword [ebp - 0xa4]
call fcn.10035ca0
add esp, 8
jmp 0x10028072
mov ecx, dword [edi + 0x6c]
dec ecx
jmp 0x10028323
mov edi, ecx
mov edx, 0x76
push 0
push esi
push eax
call fcn.10016c40
mov ecx, edi
add esp, 0xc
mov ebx, eax
jmp 0x1002830b
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa0]
mov edx, dword [eax + ecx*8 + 0x34]
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x24]
call fcn.100369a0
pxor xmm0, xmm0
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x98]
test eax, eax
je 0x10027e15
mov eax, dword [ebp - 0xac]
test byte [eax + 0x51], 0x20
jne 0x10027e15
mov eax, dword [ebp - 0xa0]
lea ecx, [edx + eax*8]
add ecx, 0x2c
and byte [ecx], 0xd7
movzx eax, byte [edx + 0x2c]
and eax, 0x40
mov edx, dword [ecx + 8]
mov ecx, dword [ebp - 0x98]
mov ecx, dword [ecx + 0x24]
push eax
call fcn.1006ff40
pxor xmm0, xmm0
mov ecx, dword [ebp - 0x98]
add esp, 4
jmp 0x10027e15
movsx eax, word [edi + 0x22]
mov edx, dword [esi + 0x1c]
mov edx, dword [edx]
cmp edx, eax
jne 0x1002c157
mov eax, dword [esi + 4]
test al, 8
jne 0x10027e1d
mov edi, dword [esi + 0x30]
test edi, edi
jne 0x1002cd83
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
test byte [eax + 0x50], 1
jne 0x1002ce91
mov eax, dword [ebp - 0x98]
cmp dword [eax + 0x44], 0
jne 0x1002ce91
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x20]
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x9c], ecx
mov eax, dword [ecx + eax*8 + 0x1c]
mov dword [ebp - 0xb4], eax
cmp dword [eax + 0x44], 0
jne 0x1002ce91
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 0x100]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ecx + eax*8 + 0x34]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0xa4], ecx
mov eax, dword [eax + 0x3c]
test eax, eax
jne 0x1002ce17
mov ecx, dword [ebp - 0x98]
mov edi, dword [ecx + 4]
mov ecx, dword [ebp - 0xa4]
mov esi, dword [ecx]
test esi, esi
je 0x1002ce91
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ecx + 4]
test dl, 1
jne 0x1002ce91
test eax, eax
jne 0x1002ce3e
mov ecx, dword [ebp - 0x98]
mov ecx, dword [ecx + 0x30]
test ecx, ecx
jne 0x1002ce58
test byte [ebp - 0xc0], 1
jne 0x1002ce75
test eax, eax
jne 0x1002cea2
bt edx, 0xd
jb 0x1002ce91
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x9c]
movzx eax, byte [edx + eax*8 + 0x2c]
mov dword [ebp - 0xd8], 0
mov edx, eax
and edx, 0x60
mov dword [ebp - 0xd0], edx
jne 0x1002d034
test ebx, ebx
jg 0x1002d06e
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x9c]
test byte [edx + eax*8 + 0x31], 1
jne 0x1002d083
mov dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x34], 0
je 0x1002d0a2
test byte [ebp - 0xc0], 1
jne 0x1002ce91
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x30], 0
jne 0x1002ce91
mov eax, edi
and eax, 1
or eax, dword [ebp - 0xd0]
jne 0x1002ce91
mov edx, dword [ebp - 0xb4]
test byte [edx + 4], 9
jne 0x1002ce91
mov eax, dword [edx + 0x34]
test eax, eax
je 0x1002885f
cmp byte [edx], 0x87
jne 0x1002ce91
mov esi, dword [edx + 0x20]
cmp dword [esi], 0
jle 0x1002ce91
cmp dword [edx + 0x44], 0
jne 0x1002ce91
test ebx, ebx
jg 0x1002ca51
mov edx, eax
test eax, eax
jne 0x10028845
test ecx, ecx
jne 0x1002d0b3
bt edi, 0xd
jb 0x1002ce91
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 0
jle 0x10028908
xor edi, edi
mov dword [ebp - 0xc4], eax
lea ecx, [edi + edi*4]
mov dword [ebp - 0xbc], ecx
mov ecx, dword [eax + ecx*4 + 8]
call fcn.100439a0
pxor xmm0, xmm0
mov esi, dword [ebp - 0xb4]
mov esi, dword [esi + 0x34]
test esi, esi
je 0x100288fd
mov byte [ebp - 0xa4], al
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 0xbc]
mov ecx, dword [eax + ecx*4 + 8]
call fcn.100439a0
pxor xmm0, xmm0
cmp al, byte [ebp - 0xa4]
mov al, byte [ebp - 0xa4]
je 0x100288c7
jmp 0x1002ce91
inc edi
mov eax, dword [ebp - 0xc4]
cmp edi, dword [eax]
jl 0x100288ab
mov ecx, dword [ebp - 0x9c]
cmp dword [ecx], 2
jge 0x1002d0d5
mov esi, dword [ebp - 0xa0]
mov eax, dword [ecx + esi*8 + 0x10]
mov edi, dword [ebp - 0x94]
mov dword [ebp - 0xa4], eax
mov dword [edi + 0x100], eax
mov edx, dword [edi]
mov eax, ecx
mov ecx, dword [edx + 0x164]
test ecx, ecx
jne 0x1002d16c
lea edx, [eax + esi*8]
add edx, 0x1c
mov ecx, dword [ebp - 0xcc]
mov dword [edi + 0x100], ecx
mov ecx, dword [edx]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xa4], edx
mov edx, dword [edx - 0x10]
test edx, edx
jne 0x1002d1f0
lea ecx, [eax + esi*8]
add ecx, 0x10
mov dword [ebp - 0xbc], ecx
mov edx, dword [ecx]
test edx, edx
mov edi, esi
jne 0x1002d20a
mov edx, dword [eax + edi*8 + 0x14]
test edx, edx
jne 0x1002d224
lea eax, [eax + edi*8]
add eax, 0xc
xor ecx, ecx
mov dword [eax], ecx
mov edx, dword [ebp - 0xbc]
mov dword [edx], ecx
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xa4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xb4]
mov esi, dword [eax + 0x34]
test esi, esi
mov edx, dword [ebp - 0x98]
je 0x10028aaf
lea eax, [ecx + edi*8]
add eax, 0x18
mov dword [ebp - 0xc8], eax
mov eax, dword [edx + 0x34]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb4], esi
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc4], eax
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0xd4], eax
mov esi, dword [ebp - 0xc8]
mov eax, dword [esi]
mov dword [ebp - 0xcc], eax
xor eax, eax
mov dword [esi], eax
mov dword [edx + 0x30], eax
mov dword [edx + 0x34], eax
mov dword [edx + 0x3c], eax
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x98]
push eax
call fcn.100688b0
mov edx, dword [ebp - 0x98]
add esp, 4
mov edi, eax
mov eax, dword [ebp - 0xd4]
mov dword [edx + 0x3c], eax
mov eax, dword [ebp - 0xc4]
mov dword [edx + 0x30], eax
mov byte [edx], 0x87
mov eax, dword [ebp - 0xcc]
mov dword [esi], eax
test edi, edi
je 0x1002d23e
mov ecx, dword [ebp - 0x94]
mov eax, dword [ecx + 0x68]
inc eax
mov dword [ecx + 0x68], eax
mov dword [edi + 0x10], eax
cmp dword [ebp - 0xa8], 0
pxor xmm0, xmm0
jne 0x1002d25b
mov eax, dword [ebp - 0xbc]
mov dword [edi + 0x34], eax
test eax, eax
mov ecx, dword [ebp - 0x9c]
mov esi, dword [ebp - 0xb4]
jne 0x1002d2c2
mov dword [edi + 0x38], edx
mov eax, edi
mov dword [edx + 0x34], edi
mov esi, dword [esi + 0x34]
test esi, esi
mov edi, dword [ebp - 0xa0]
jne 0x100289dd
mov esi, edx
mov edx, dword [ebp - 0xa8]
test edx, edx
jne 0x1002d2ca
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0x57], 0
jne 0x1002d2ea
mov eax, dword [ecx + edi*8 + 0x18]
test eax, eax
mov edx, esi
je 0x10028b63
mov esi, eax
mov eax, dword [eax + 0x18]
cmp eax, 1
jne 0x1002d303
mov eax, dword [ebp - 0x94]
mov edi, dword [eax + 0x78]
test edi, edi
cmove edi, eax
mov ecx, dword [edi]
test ecx, ecx
je 0x1002d30c
cmp word [ecx + 0x12c], 0xb
jbe 0x1002a850
mov eax, dword [ecx + 0x150]
test eax, eax
je 0x1002a744
mov edx, dword [eax]
mov dword [ecx + 0x150], edx
inc dword [ecx + 0x138]
mov edx, dword [ebp - 0x98]
mov ecx, dword [edi + 0x84]
mov dword [eax], ecx
mov dword [edi + 0x84], eax
mov dword [eax + 4], esi
mov dword [eax + 8], 0x100150f0
mov edi, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
lea eax, [ecx + edi*8]
add eax, 0x18
mov dword [eax], 0
lea eax, [ecx + edi*8]
add eax, 0x2c
mov dword [ebp - 0xec], eax
lea eax, [ebx + 1]
mov dword [ebp - 0xe4], eax
shl ebx, 3
lea eax, [ebx + ebx*8]
mov dword [ebp - 0xe0], eax
xor esi, esi
dec esi
mov eax, dword [ebp - 0xe8]
mov ebx, dword [ebp - 0x94]
mov cl, byte [ecx + edi*8 + 0x2c]
mov byte [ebp - 0xbc], cl
mov dword [ebp - 0xa4], eax
mov eax, dword [eax + 0x20]
mov dword [ebp - 0xa8], eax
mov ecx, dword [eax]
mov eax, dword [edx + 0x20]
mov dword [ebp - 0xb4], edx
cmp edx, dword [ebp - 0x98]
mov dword [ebp - 0xc4], ecx
jne 0x10028bdb
mov ecx, dword [ebp - 0xec]
mov cl, byte [ecx]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ebp - 0xc4]
jmp 0x10028be5
mov dword [ebp - 0xcc], 0
and byte [ebp - 0xbc], 0x40
cmp ecx, 2
mov edx, dword [ebp - 0xa4]
jge 0x1002ca60
cmp ecx, 1
je 0x10028c17
mov dword [ebp - 0xd4], esi
mov esi, ebx
mov dword [ebp - 0xa8], 0
jmp 0x10028ccd
add dword [ebp - 0xa8], 8
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0xe0]
lea esi, [eax + ecx]
add esi, 0x38
xor ebx, ebx
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xd4], eax
test byte [esi + ebx - 7], 4
jne 0x1002ca90
lea eax, [esi + ebx]
add eax, 0xffffffd0
mov edx, dword [ebp - 0xa8]
lea esi, [edx + ebx]
mov ecx, 0x12
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xc8]
mov cl, byte [ebp - 0xbc]
or byte [eax + 0x24], cl
mov ecx, dword [edx + ebx + 0x2c]
movdqu xmmword [edx + ebx], xmm0
movdqu xmmword [edx + ebx + 0x10], xmm0
movdqu xmmword [edx + ebx + 0x30], xmm0
xor eax, eax
mov dword [edx + ebx + 0x44], eax
mov dword [edx + ebx + 0x40], eax
movdqu xmmword [edx + ebx + 0x20], xmm0
add ebx, 0x48
mov eax, dword [ebp - 0xd4]
dec eax
jne 0x10028c3e
mov dword [ebp - 0xd4], ecx
mov al, 1
mov dword [ebp - 0xa8], eax
mov esi, dword [ebp - 0x94]
mov edi, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x9c], eax
mov cl, byte [eax + edi*8 + 0x2c]
and cl, 0x40
mov ebx, dword [ebp - 0xcc]
or bl, byte [ebp - 0xbc]
or bl, cl
mov byte [eax + edi*8 + 0x2c], bl
mov eax, dword [edx + 0x30]
test eax, eax
jne 0x1002caa7
mov edi, dword [edx + 0x24]
mov dword [edx + 0x24], 0
cmp dword [ebp - 0xd0], 0
jne 0x1002cc06
test edi, edi
mov ebx, esi
jne 0x1002cc27
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0x57], 0
mov edi, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xd4]
jne 0x10028d87
mov dword [ebp - 0x90], ebx
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], esi
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x84], eax
mov eax, dword [edx + 0x1c]
mov dword [ebp - 0x80], eax
mov ecx, edx
mov eax, ecx
mov ecx, dword [ecx + 0x34]
test ecx, ecx
jne 0x10028d5c
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x7c], eax
lea ecx, [ebp - 0x90]
mov edx, edi
push 0
call fcn.10038d10
add esp, 4
pxor xmm0, xmm0
mov edx, dword [ebp - 0xa4]
mov eax, dword [edx + 4]
mov ecx, 0x100
and eax, ecx
or dword [edi + 4], eax
mov eax, dword [edx + 0x3c]
test eax, eax
jne 0x1002cc69
cmp byte [ebp - 0xa8], 0
mov ecx, dword [ebp - 0x9c]
je 0x10028e15
mov eax, dword [ebp - 0xe0]
lea edi, [ecx + eax]
add edi, 0x40
cmp dword [edi - 0x28], 0
je 0x10028e04
lea eax, [edi - 0x38]
movdqu xmmword [ebp - 0x90], xmm0
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x8c], 0x100759f0
mov dword [ebp - 0x88], sym.nss3.dll_SECMOD_CanDeleteInternalModule
mov dword [ebp - 0x78], eax
mov dword [edi + 4], ecx
mov dword [edi], ecx
lea ecx, [ebp - 0x90]
mov edx, dword [ebp - 0xb4]
call fcn.1002f720
pxor xmm0, xmm0
add edi, 0x48
dec dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x9c]
jne 0x10028dba
mov edx, dword [ebp - 0xb4]
mov edx, dword [edx + 0x34]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x34]
test edx, edx
mov edi, dword [ebp - 0xa0]
jne 0x10028b93
pxor xmm0, xmm0
lea ecx, [ebp - 0x2c]
movdqu xmmword [ecx + 0xc], xmm0
mov dword [ecx], ebx
mov dword [ecx + 4], 0x10075960
mov dword [ecx + 8], sym.nss3.dll_SECMOD_CanDeleteInternalModule
mov esi, dword [ebp - 0xe8]
mov edx, esi
call fcn.1002f720
test esi, esi
je 0x10028e74
mov ecx, dword [ebp - 0xb8]
mov edx, esi
push 1
call fcn.100170d0
add esp, 4
cmp dword [ebx + 0x24], 0
mov eax, dword [ebp - 0xac]
jne 0x1002c2e5
xor ebx, ebx
dec ebx
mov ecx, dword [ebp - 0x98]
pxor xmm0, xmm0
cmp byte [eax + 0x57], 0
jne 0x1002c2e5
mov edx, dword [ecx + 0x20]
mov eax, dword [ebp + 8]
cmp byte [eax], 9
mov dword [ebp - 0x9c], edx
jb 0x10027e1d
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x70], eax
jmp 0x10027e1d
test edi, edi
jne 0x1002a981
mov word [edx + 2], 0
xor ecx, ecx
mov esi, dword [ebp - 0xac]
mov edi, dword [ebx + 0x38]
lea eax, [edi - 1]
mov dword [ebp - 0xcc], eax
mov dword [ebx + 0x38], eax
test esi, esi
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xd0], ecx
je 0x1002cec3
cmp word [esi + 0x12c], 0x2b
jbe 0x1002a6b4
mov eax, dword [esi + 0x150]
test eax, eax
je 0x1002a4ea
mov ecx, dword [eax]
mov dword [esi + 0x150], ecx
inc dword [esi + 0x138]
pxor xmm0, xmm0
movdqu xmmword [eax + 0x1c], xmm0
movdqu xmmword [eax + 0x10], xmm0
mov edi, eax
movdqu xmmword [eax], xmm0
mov ecx, dword [ebx]
test ecx, ecx
je 0x1002ced4
cmp word [ecx + 0x12c], 0xb
jbe 0x1002a6f1
mov eax, dword [ecx + 0x150]
test eax, eax
je 0x1002a51f
mov edx, dword [eax]
mov dword [ecx + 0x150], edx
inc dword [ecx + 0x138]
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebx + 0x84]
mov dword [eax], ecx
mov dword [ebx + 0x84], eax
mov dword [eax + 4], edi
mov dword [eax + 8], fcn.10015380
cmp byte [esi + 0x57], 0
jne 0x1002cd44
mov eax, dword [edx + 0x10]
mov dword [edi + 0x28], eax
xor eax, eax
pxor xmm0, xmm0
movdqu xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0xa8], edi
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x8c], ecx
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x88], ecx
mov esi, dword [ebp - 0xa0]
test esi, esi
jne 0x1002aa0f
mov word [ecx + 2], ax
mov dword [ecx + 0x10], esi
cmp dword [ebp - 0xbc], 0
je 0x10029052
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax]
test eax, eax
jle 0x10029052
mov ecx, dword [ebp - 0xbc]
lea esi, [ecx + 8]
xor ebx, ebx
xor edi, edi
mov edx, dword [esi]
mov dword [ebp - 0x28], 0x10071140
mov dword [ebp - 0x24], 0x10173a80
mov dword [ebp - 0x20], 0x10173a90
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x2c], ebx
test edx, edx
je 0x1002903e
lea ecx, [ebp - 0x2c]
call fcn.1014d480
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax]
inc edi
add esi, 0x14
cmp edi, eax
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xa8]
jl 0x10029004
mov esi, dword [ebp - 0x70]
test esi, esi
je 0x100290b0
mov eax, dword [esi]
test eax, eax
jle 0x100290b0
lea ebx, [esi + 8]
xor edi, edi
mov edx, dword [ebx]
mov dword [ebp - 0x28], 0x10071140
mov dword [ebp - 0x24], 0x10173a80
mov dword [ebp - 0x20], 0x10173a90
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x14], ecx
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
test edx, edx
je 0x1002909c
lea ecx, [ebp - 0x2c]
call fcn.1014d480
mov eax, dword [esi]
inc edi
add ebx, 0x14
cmp edi, eax
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xa8]
jl 0x10029064
cmp dword [ebp - 0xc4], 0
jne 0x1002cee5
mov ebx, dword [ebp - 0x94]
mov esi, dword [ebp - 0xac]
mov edi, dword [ebp - 0xa0]
mov eax, dword [ecx + 0x18]
mov dword [ecx + 0x1c], eax
cmp dword [edx + 0x28], 0
jne 0x1002a92b
cmp dword [edx + 0x2c], 0
jne 0x1002a92b
cmp dword [ecx + 0x24], 1
jne 0x100295ac
mov eax, dword [ecx + 0x20]
mov eax, dword [eax]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x100295ac
cmp dword [edi], 1
jne 0x100295ac
test byte [eax + 7], 1
jne 0x100295ac
test byte [esi + 0x52], 1
jne 0x100297b1
mov eax, dword [eax + 8]
xor ecx, ecx
movzx edx, byte [eax + ecx]
movzx ebx, byte [ecx + 0x101cc64f]
cmp dl, bl
je 0x1002d765
mov dl, byte [edx + 0x101af7e8]
cmp dl, byte [ebx + 0x101af7e8]
jne 0x10029386
inc ecx
jmp 0x10029125
cmp eax, 0x87
jne 0x1002d31d
xor eax, eax
mov dword [ebp - 0x90], eax
mov eax, dword [edx + 8]
mov dword [edi + 8], eax
mov eax, dword [edx + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [edx + 0x3c]
mov dword [edi + 0x3c], eax
lea eax, [ebp - 0x48]
mov ecx, dword [ebp - 0x94]
mov ebx, ecx
mov esi, edx
mov edx, edi
push eax
call fcn.10027cd0
add esp, 4
mov dword [ebp - 0xac], 0
xor ecx, ecx
mov dword [edi + 0x3c], ecx
test eax, eax
jne 0x1002cce1
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
test eax, eax
jne 0x1002d64f
push str.UNION_ALL
push 1
push ebx
call fcn.1002faf0
add esp, 0xc
mov ecx, ebx
mov edx, esi
lea eax, [ebp - 0x48]
push eax
call fcn.10027cd0
add esp, 4
mov dword [ebp - 0x9c], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0xa0], eax
mov dword [esi + 0x34], edi
movzx edx, word [edi + 2]
movzx esi, word [esi + 2]
movsx eax, si
movsx ecx, dx
cmp ax, cx
jl 0x100295c5
lea edx, [ecx + 0x31]
cmp edx, eax
jl 0x100295d2
lea edx, [ecx + 0x1f]
cmp edx, eax
jl 0x1002beef
mov edx, eax
sub edx, ecx
movzx ecx, byte [edx + str._n_n_t_t_b_b_a_a_a]
add eax, ecx
mov esi, eax
jmp 0x100295d2
mov ecx, dword [ebp - 0x94]
mov ebx, dword [ecx + 0x28]
lea eax, [ebx + 1]
mov dword [ecx + 0x28], eax
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x1002be7a
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4], 0x76
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 [ebp - 0x98]
mov dword [ecx + 0x14], eax
mov eax, ecx
mov ecx, dword [ecx + 0x38]
test ecx, ecx
jne 0x1002927e
or byte [eax + 4], 0x20
lea eax, [ebp - 0x90]
mov byte [eax], 1
mov dword [ebp - 0xa4], ebx
mov dword [eax + 4], ebx
pxor xmm0, xmm0
movdqu xmmword [eax + 8], xmm0
mov ecx, dword [ebp - 0x94]
mov edx, edi
push eax
call fcn.10027cd0
add esp, 4
test eax, eax
jne 0x1002cce1
mov ebx, dword [ebp - 0x98]
mov al, byte [ebx]
cmp al, 0x88
sete cl
inc cl
xor edx, edx
mov dword [ebx + 0x34], edx
mov esi, dword [ebx + 0x3c]
mov dword [ebp - 0xb4], esi
mov dword [ebx + 0x3c], edx
mov byte [ebp - 0x90], cl
add al, 0x79
mov ecx, str.UNION
cmp al, 2
ja 0x100292fa
movsx eax, al
mov ecx, dword [eax*4 + 0x101b5edc]
push ecx
push str._s_USING_TEMP_B_TREE
push 1
mov ebx, dword [ebp - 0x94]
push ebx
call fcn.1002faf0
add esp, 0x10
mov ecx, ebx
mov ebx, dword [ebp - 0x98]
mov edx, ebx
lea eax, [ebp - 0x90]
push eax
call fcn.10027cd0
add esp, 4
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0xa0], eax
mov dword [ebx + 0x34], edi
mov dword [ebx + 0x30], 0
cmp byte [ebx], 0x86
jne 0x100293f5
movzx esi, word [edi + 2]
movzx ecx, word [ebx + 2]
movsx eax, cx
movsx edx, si
cmp ax, dx
jl 0x100293de
lea esi, [edx + 0x31]
cmp esi, eax
jl 0x100293eb
lea esi, [edx + 0x1f]
cmp esi, eax
jl 0x1002b620
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 0x100293eb
xor ecx, ecx
movzx edx, byte [eax + ecx]
movzx ebx, byte [ecx + 0x101c83fd]
cmp dl, bl
je 0x100293ac
mov dl, byte [edx + 0x101af7e8]
cmp dl, byte [ebx + 0x101af7e8]
jne 0x100297b1
inc ecx
jmp 0x10029388
test edx, edx
jne 0x100293a9
mov bl, 1
mov al, 2
mov dword [ebp - 0xb8], eax
mov ecx, esi
mov edx, edi
push 0
call fcn.100015a0
add esp, 4
test eax, eax
je 0x1002ddbd
mov dword [ebp - 0xc0], eax
mov byte [eax + 0x10], bl
jmp 0x100297c5
lea ecx, [eax + 0x31]
cmp ecx, edx
jge 0x1002b5d2
mov ecx, esi
mov ebx, dword [ebp - 0x98]
mov word [ebx + 2], cx
mov esi, ebx
mov edx, dword [ebx + 0x3c]
test edx, edx
jne 0x1002cd34
xor eax, eax
mov ecx, dword [ebp - 0xb4]
mov dword [esi + 0x3c], ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
cmp byte [ebp - 0xac], 1
mov ebx, dword [ebp - 0x94]
mov edx, esi
je 0x100295f4
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x57], 0
jne 0x100295f4
mov eax, dword [ebx + 0x38]
mov ecx, ebx
lea ebx, [eax - 1]
mov dword [ebp - 0xac], eax
add eax, 0xfffffffe
mov dword [ebp - 0xbc], eax
mov dword [ecx + 0x38], eax
push ebx
call fcn.10039a10
add esp, 4
mov edi, dword [ebp - 0xc0]
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1002be91
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x24
mov esi, dword [ebp - 0xa4]
mov dword [ecx + eax*4 + 4], esi
mov dword [ecx + eax*4 + 8], ebx
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [edi + 0x6c]
mov dword [ebp - 0xb4], eax
xor eax, eax
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
push ebx
push dword [ebp - 0xbc]
lea ebx, [ebp - 0x48]
push ebx
push eax
push eax
push esi
call fcn.10032680
add esp, 0x18
mov ecx, dword [edi + 0xc]
xor eax, eax
inc eax
mov esi, dword [ebp - 0xac]
sub eax, esi
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x1002a779
mov edx, dword [edi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
mov ebx, dword [ebp - 0x94]
jle 0x1002beaf
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x27
mov edx, dword [ebp - 0xa4]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0xb4]
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 [edi + 0xc]
neg esi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1002d7df
mov eax, dword [edi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1002bed1
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x7a
mov edx, dword [ebp - 0xa4]
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 edx, dword [ebp - 0x98]
jmp 0x100295f4
lea edx, [eax + ecx*4]
mov ecx, dword [ebp - 0xb0]
push 0xfffffffffffffff8
push esi
call fcn.10035ca0
mov edx, dword [ebp - 0xb0]
add esp, 8
jmp 0x10028593
mov ecx, dword [edx + 0x6c]
dec ecx
jmp 0x10028574
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xb8], 0
jmp 0x100297d1
lea esi, [eax + 0x31]
cmp esi, ecx
jge 0x1002be4e
mov esi, edx
mov edx, dword [ebp - 0x98]
mov word [edx + 2], si
mov eax, dword [edx + 0x3c]
test eax, eax
jne 0x1002d6a2
cmp dword [ebp - 0xac], 0
jne 0x1002d708
mov edi, dword [ebp - 0x9c]
cmp dword [edx + 0x38], 0
jne 0x10029616
mov eax, dword [ebx + 0xe4]
xor ecx, ecx
test eax, eax
jne 0x1002cd07
mov dword [ebx + 0xe4], ecx
cmp dword [ebx + 0x24], 0
mov dword [ebp - 0x9c], edi
jne 0x10029628
test byte [edx + 4], 0x20
jne 0x1002965b
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x38]
mov dword [ecx + 0x10], eax
cmp dword [ebp - 0xa0], 0
jne 0x1002cc7e
mov eax, dword [ebp - 0x9c]
mov edi, eax
cmp dword [edx + 0x38], 0
je 0x10028210
jmp 0x10028226
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov ecx, dword [ebp - 0xb0]
mov esi, edx
mov edx, edi
push 1
call fcn.10040a00
add esp, 4
test eax, eax
je 0x1002d783
mov ecx, eax
mov ebx, esi
mov dword [ebp - 0xac], edi
test edi, edi
mov edx, esi
mov esi, dword [ebp - 0xc0]
mov edi, eax
jle 0x100296cb
xor ebx, ebx
mov ecx, dword [ebp - 0x94]
push ebx
call fcn.10030540
add esp, 4
mov dword [edi + ebx*4 + 0x14], eax
test eax, eax
jne 0x100296ba
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 8]
mov dword [edi + ebx*4 + 0x14], eax
inc ebx
cmp dword [ebp - 0xac], ebx
mov edx, dword [ebp - 0x98]
jne 0x10029696
mov ebx, edx
mov eax, dword [ebx + 0x14]
test eax, eax
jns 0x100296de
mov ebx, dword [ebx + 0x34]
test ebx, ebx
jne 0x100296cb
jmp 0x1002979e
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
lea eax, [eax + eax*4]
jne 0x1002d79a
lea ecx, [eax*4]
add ecx, dword [esi + 0x68]
mov edx, dword [ebp - 0xac]
mov dword [ecx + 8], edx
mov ecx, dword [edi]
lea edx, [ecx + 1]
mov dword [edi], edx
mov edx, dword [esi]
cmp byte [edx + 0x57], 0
jne 0x1002d7a4
mov ecx, dword [esi + 0x68]
cmp byte [ecx + eax*4 + 1], 0
jne 0x1002b5f1
lea eax, [ecx + eax*4]
inc eax
mov dword [eax + 0xf], edi
mov byte [eax], 0xf8
mov dword [ebx + 0x14], 0xffffffff
mov eax, dword [ebx + 0x18]
test eax, eax
mov edx, dword [ebp - 0x98]
js 0x100296d2
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
lea eax, [eax + eax*4]
jne 0x1002e02b
lea ecx, [eax*4]
add ecx, dword [esi + 0x68]
mov edx, dword [ebp - 0xac]
mov dword [ecx + 8], edx
mov ecx, dword [edi]
lea edx, [ecx + 1]
mov dword [edi], edx
mov edx, dword [esi]
cmp byte [edx + 0x57], 0
jne 0x1002e035
mov ecx, dword [esi + 0x68]
cmp byte [ecx + eax*4 + 1], 0
jne 0x1002befb
lea eax, [ecx + eax*4]
inc eax
mov dword [eax + 0xf], edi
mov byte [eax], 0xf8
mov dword [ebx + 0x18], 0xffffffff
mov edx, dword [ebp - 0x98]
jmp 0x100296d2
dec dword [edi]
je 0x1002d7ca
mov ebx, dword [ebp - 0x94]
jmp 0x10029628
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xb8], 0
mov ebx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xa8]
mov edi, dword [ebp - 0xa0]
lea edx, [ebp - 0x90]
call fcn.1004a8a0
cmp byte [esi + 0x57], 0
jne 0x1002cd4e
test edi, edi
mov edx, dword [ebp - 0x98]
jne 0x1002aa16
cmp dword [edx + 0x24], 0
je 0x10029c6d
mov ecx, dword [ebp - 0xa8]
cmp dword [ecx + 0x1c], 0
mov eax, dword [ecx + 0x24]
jne 0x1002a944
cmp eax, 1
jne 0x1002982c
mov ecx, dword [ecx + 0x20]
xor eax, eax
inc eax
cmp dword [ecx + 8], 0
jns 0x1002d741
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xd0], 0
xor ebx, ebx
mov edi, dword [ebp - 0x94]
mov ecx, dword [edi + 0x2c]
inc ecx
mov esi, dword [ebp - 0xa8]
mov dword [esi + 0xc], ecx
add eax, dword [esi + 0x18]
add dword [edi + 0x2c], eax
mov ecx, edi
mov edx, esi
call fcn.1004ada0
movzx eax, byte [ebp - 0xb8]
or ebx, eax
movzx eax, bx
mov ecx, edi
mov edx, dword [ebp - 0x9c]
push 0
push eax
push dword [ebp - 0x98]
push dword [ebp - 0xd0]
push dword [ebp - 0xc0]
push dword [ebp - 0xb4]
call fcn.1003a780
add esp, 0x18
test eax, eax
je 0x1002cd4e
mov dword [ebp - 0x9c], eax
movzx ebx, byte [eax + 0x2f]
mov ecx, edi
mov edi, dword [ebp - 0xa0]
mov edx, edi
push ebx
push esi
call fcn.100599f0
add esp, 8
test ebx, ebx
jne 0x1002cfb7
test edi, edi
mov ecx, dword [ebp - 0x9c]
jne 0x1002cfe3
cmp byte [ebp - 0xb8], 0
mov ebx, dword [ebp - 0x94]
jne 0x1002a554
call fcn.10031790
mov ecx, ebx
mov edx, dword [ebp - 0xa8]
call fcn.1003a420
xor esi, esi
mov dword [ebp - 0x70], esi
push 0x10
mov edi, dword [ebp - 0xcc]
push edi
push dword [ebp - 0xc4]
push ebx
call fcn.10040dd0
add esp, 0x10
mov ecx, ebx
mov edx, dword [ebp - 0x98]
push edi
push edi
push dword [ebp + 8]
push esi
push esi
push 0xffffffffffffffff
call fcn.10032680
add esp, 0x18
mov edi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [edx + 0xc]
neg edi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
mov esi, dword [ebp - 0xac]
js 0x1002cf7e
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
jmp 0x100281c2
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebx + 0x38]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xcc], eax
mov edx, ebx
mov dword [ebp - 0xd4], ecx
lea ebx, [ecx - 1]
mov dword [edx + 0x38], ebx
cmp dword [ebp - 0x6c], 0
mov eax, str.RIGHT_PART_OF
mov ecx, 0x101e0242
cmovg ecx, eax
mov eax, dword [ebp + 8]
movzx esi, byte [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0xa0], eax
push ecx
push str.USE_TEMP_B_TREE_FOR__sORDER_BY
push 0
push edx
call fcn.1002faf0
add esp, 0x10
mov eax, dword [ebp - 0x60]
test eax, eax
mov dword [ebp - 0xd0], esi
jne 0x1002d9e2
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xb8], eax
cmp esi, 0xd
je 0x100299fc
cmp esi, 9
jne 0x1002e0cb
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0x9c]
mov esi, dword [edi]
sub esi, dword [ebp - 0x6c]
test byte [ebp - 0x50], 1
mov dword [ebp - 0xb4], esi
je 0x1002da49
mov edx, dword [ebp - 0x94]
mov eax, dword [edx + 0x28]
mov edi, dword [edx + 0x2c]
inc edi
mov dword [edx + 0x2c], edi
mov dword [ebp - 0xbc], eax
inc eax
mov dword [edx + 0x28], eax
xor ebx, ebx
cmp dword [ebp - 0x60], 0
jne 0x1002dada
mov eax, dword [ebp - 0xa8]
add eax, esi
inc eax
mov esi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], esi
jle 0x1002bf10
lea edx, [esi + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [esi + esi*4]
mov dword [edx + ecx*4], 0x79
mov esi, dword [ebp - 0xbc]
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
test ebx, ebx
jne 0x1002daf9
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edx
jle 0x1002bf2a
lea eax, [edx + 1]
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x68]
mov dword [ebp - 0xdc], edx
lea ebx, [edx + edx*4]
mov dword [eax + ebx*4], 0x22
mov edx, dword [ebp - 0xb8]
mov dword [eax + ebx*4 + 4], edx
mov esi, ecx
mov edx, dword [ebp - 0xcc]
mov dword [eax + ebx*4 + 8], edx
xor edx, edx
mov dword [eax + ebx*4 + 0xc], edx
mov dword [eax + ebx*4 + 0x10], edx
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
mov edx, esi
jle 0x1002bf52
lea ecx, [eax + 1]
mov dword [edx + 0x6c], ecx
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x85
mov esi, dword [ebp - 0xb8]
mov dword [ecx + eax*4 + 4], esi
mov dword [ecx + eax*4 + 8], edi
mov esi, dword [ebp - 0xbc]
mov dword [ecx + eax*4 + 0xc], esi
mov dword [ecx + eax*4 + 0x10], 0
xor edi, edi
mov esi, dword [ebp - 0xa0]
add edi, dword [ebp - 0xb4]
mov dword [ebp - 0xd8], edi
cmp dword [ebp - 0xa8], 0
jle 0x10029c26
mov eax, dword [ebp - 0xd8]
lea edi, [eax - 1]
lea eax, [esi + 0x18]
mov ecx, dword [ebp - 0xa8]
cmp word [eax], 1
adc edi, 0
add eax, 0x14
dec ecx
jne 0x10029b5c
mov eax, dword [ebp - 0xa8]
lea ebx, [eax + 1]
lea eax, [eax + eax*4]
lea esi, [esi + eax*4]
add esi, 4
movzx ecx, word [esi]
lea eax, [ecx - 1]
test ecx, ecx
sete byte [ebp - 0xa0]
cmove eax, edi
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc4]
add eax, ebx
add eax, 0xfffffffe
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jle 0x10029c08
mov dword [ebp - 0xb4], 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], 0x5e
mov eax, dword [ebp - 0xbc]
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [ebp - 0x98]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [ebp - 0xb4]
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
xor eax, eax
mov cl, byte [ebp - 0xa0]
mov al, cl
sub edi, eax
dec ebx
add esi, 0xffffffec
cmp ebx, 1
mov edx, dword [ebp - 0x9c]
ja 0x10029b7b
jmp 0x10029c26
mov ecx, edx
mov edx, 0x5e
push eax
push dword [ebp - 0x98]
push dword [ebp - 0xbc]
call fcn.10016c40
add esp, 0xc
jmp 0x10029be7
mov eax, dword [ebp - 0xd0]
add eax, 0xfffffff7
cmp eax, 6
mov esi, dword [ebp - 0xac]
ja case.0x10029c3e.13
jmp dword [eax*4 + 0x101b6ee0]
mov ecx, edx
mov edx, 0x54
push 0
push dword [ebp - 0xa8]
mov eax, dword [ebp + 8]
push dword [eax + 0xc]
call fcn.1002fb80
mov edx, dword [ebp - 0x9c]
add esp, 0xc
jmp case.0x10029c3e.10
mov eax, dword [edx + 0x1c]
cmp dword [eax], 1
jne 0x10029804
mov ecx, dword [edx + 0x20]
cmp dword [ecx], 1
jne 0x10029804
cmp dword [ecx + 0x1c], 0
jne 0x10029804
mov esi, dword [ebp - 0xa8]
cmp dword [esi + 0x24], 1
jne 0x10029804
cmp dword [edx + 0x2c], 0
jne 0x10029804
mov edi, dword [ecx + 0x18]
cmp byte [edi + 0x2b], 0
jne 0x10029804
mov eax, dword [eax + 8]
cmp byte [eax], 0xa8
jne 0x10029804
mov ecx, dword [ebp - 0xa8]
cmp dword [eax + 0x28], ecx
jne 0x10029804
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx + 0x20]
mov ecx, dword [ecx + 4]
test byte [ecx + 5], 1
je 0x10029804
test dword [eax + 4], 0x1000004
jne 0x10029804
mov eax, dword [edi + 0x3c]
mov ebx, 0xffff8000
test eax, eax
je 0x10029d1b
mov ecx, dword [ebp - 0x94]
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 0x10029d11
mov edx, dword [ebp - 0x94]
mov ecx, dword [edx + 0x28]
mov eax, dword [edx + 0x78]
mov dword [ebp - 0x9c], ecx
inc ecx
mov dword [edx + 0x28], ecx
test eax, eax
cmove eax, edx
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0xb4], ecx
mov edx, dword [eax + 0x58]
xor esi, esi
inc esi
mov ecx, ebx
shl esi, cl
bt edx, ebx
jb 0x1002eddf
or edx, esi
mov dword [eax + 0x58], edx
mov ecx, ebx
cmp ebx, 1
jne 0x1002ede6
mov ecx, eax
call fcn.10042310
jmp 0x1002ee17
mov eax, edx
test byte [eax + 5], 0x20
je 0x10029d82
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x10029d70
jmp 0x10027e8c
cmp dword [edx + 0x44], 0
jne 0x1002dc19
mov eax, dword [edx + 0x1c]
mov esi, dword [edx + 0x20]
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
mov ebx, dword [ebp - 0x94]
mov edi, dword [ebx + 8]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x164]
test ecx, ecx
jne 0x1002dc38
mov eax, dword [ebx + 0x38]
mov dword [ebp - 0xc4], eax
dec eax
mov dword [ebx + 0x38], eax
mov word [edx + 2], 0x140
mov ecx, ebx
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0xa4], eax
push eax
call fcn.10039a10
mov ecx, dword [ebp - 0x98]
add esp, 4
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xbc], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xa8], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xb8], eax
xor eax, eax
mov dword [ecx + 0x3c], eax
mov dword [ecx + 0xc], eax
mov dword [ebp - 0x9c], 0
mov dword [ecx + 8], eax
mov eax, dword [esi]
test eax, eax
jle 0x10029e32
add esi, 0x34
test byte [esi - 4], 0x40
jne 0x10029e2a
add esi, 0x48
dec eax
jne 0x10029e1c
jmp 0x10029e32
mov eax, dword [esi]
mov dword [ebp - 0x9c], eax
mov eax, dword [ecx + 0x30]
mov esi, dword [ebx + 0x28]
mov edx, ebx
lea ebx, [esi + 1]
mov dword [edx + 0x28], ebx
cmp byte [ecx], 0x86
mov dword [ebp - 0xa0], eax
je 0x1002b566
xor ebx, ebx
cmp eax, 1
mov eax, 0
adc al, 7
mov byte [ebp - 0x90], al
mov dword [ebp - 0xac], esi
mov dword [ebp - 0x8c], esi
pxor xmm0, xmm0
movdqu xmmword [ebp - 0x88], xmm0
mov esi, dword [edx + 0x2c]
inc esi
mov dword [edx + 0x2c], esi
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1002bfb0
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x79
mov edx, dword [ebp - 0x9c]
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], esi
mov edx, dword [ebp - 0xb4]
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], 0
cmp dword [ebp - 0xa0], 0
jne 0x1002dcbe
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1002bfd1
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x76
mov edx, dword [ebp - 0xac]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [ebp - 0xb4]
mov dword [ecx + eax*4 + 8], edx
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
test ebx, ebx
mov ecx, dword [ebp - 0x98]
jne 0x1002b578
mov eax, dword [ecx + 4]
mov ebx, dword [ebp - 0x94]
mov dword [ecx + 0x30], 0
test al, 8
jne 0x1002dd1a
mov byte [ecx], 0x87
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ecx + 0x34]
mov eax, dword [ecx + 4]
bt eax, 0xd
jb 0x10029f27
mov dword [ebp - 0xd0], esi
mov dword [ecx + 0x38], 0
push str.SETUP
push 1
push ebx
mov esi, ecx
call fcn.1002faf0
add esp, 0xc
lea eax, [ebp - 0x90]
mov ecx, ebx
mov edx, esi
push eax
call fcn.10027cd0
add esp, 4
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0xd4], esi
mov dword [esi + 0x38], edx
test eax, eax
jne 0x1002a199
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
mov esi, dword [ebp - 0xd0]
jle 0x1002bff3
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x68]
mov dword [ebp - 0xb4], ecx
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x24
mov edx, dword [ebp - 0xac]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0xa4]
mov dword [eax + ecx*4 + 8], edx
xor edx, edx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1002c01b
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x88
mov edx, dword [ebp - 0x9c]
mov dword [ecx + eax*4 + 4], edx
xor edx, edx
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
cmp dword [ebp - 0xa0], 0
jne 0x1002dd33
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1002c075
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x86
mov edx, dword [ebp - 0xac]
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], esi
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1002c039
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x82
mov edx, dword [ebp - 0xac]
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 eax, dword [ebx + 0x38]
mov dword [ebp - 0xac], eax
lea esi, [eax - 1]
mov dword [ebx + 0x38], esi
mov eax, dword [ebp - 0xb8]
test eax, eax
mov edx, dword [ebp - 0x98]
jg 0x1002dd55
xor eax, eax
mov ecx, ebx
mov ebx, dword [ebp - 0xa4]
push ebx
push esi
lea esi, [ebp - 0x48]
push esi
push eax
push eax
push dword [ebp - 0x9c]
call fcn.10032680
add esp, 0x18
mov eax, dword [ebp - 0xa8]
test eax, eax
jne 0x1002dd73
mov ecx, dword [edi + 0xc]
mov esi, dword [ebp - 0xac]
neg esi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1002dd8b
mov eax, dword [edi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
mov ebx, dword [ebp - 0x94]
mov esi, dword [ebp - 0xcc]
mov dword [esi + 0x34], 0
push str.RECURSIVE_STEP
push 1
push ebx
call fcn.1002faf0
add esp, 0xc
mov ecx, ebx
mov edx, dword [ebp - 0x98]
lea eax, [ebp - 0x90]
push eax
call fcn.10027cd0
add esp, 4
mov eax, dword [ebp - 0xd4]
mov dword [esi + 0x34], eax
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1002c057
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 9
xor edx, edx
mov dword [ecx + eax*4 + 4], edx
mov esi, dword [ebp - 0xb4]
mov dword [ecx + eax*4 + 8], esi
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov ecx, dword [edi + 0xc]
mov esi, dword [ebp - 0xc4]
neg esi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
mov edx, dword [ebp - 0x98]
js 0x1002dd9b
mov eax, dword [edi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
mov esi, edx
mov edx, dword [edx + 0x30]
test edx, edx
jne 0x1002ddb1
mov eax, dword [ebp - 0xa0]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0xbc]
mov dword [esi + 0x3c], eax
mov edx, esi
mov dword [ebp - 0xa0], 0
xor edi, edi
jmp 0x10029616
mov dword [ebp - 0xb4], eax
lea eax, [edx + ebx*8]
add eax, 8
mov dword [ebp - 0xbc], eax
lea edx, [ebp - 0x2c]
mov dword [edx], 0
call fcn.10019000
mov edx, dword [ebp - 0x9c]
lea eax, [ebp - 0x2c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x94]
add dword [ecx + 0xe0], eax
mov eax, dword [ebp - 0xac]
test byte [eax + 0x51], 0x10
mov dword [ebp - 0xa4], ebx
jne 0x1002a253
test byte [edx + ebx*8 + 0x31], 1
je 0x1002a22a
mov eax, dword [edx + ebx*8 + 0x4c]
cmp byte [eax + 0x12], 0
je 0x1002a253
cmp dword [eax], 1
jg 0x1002a253
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0xb4]
push dword [ebp - 0xbc]
mov eax, dword [ebp - 0x98]
push dword [eax + 0x24]
call fcn.1005e540
mov edx, dword [ebp - 0x9c]
add esp, 8
mov ecx, dword [ebp - 0x94]
mov eax, dword [ecx + 0x100]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa4]
lea ebx, [edx + eax*8]
add ebx, 0x30
mov eax, dword [ebx - 0x20]
mov dword [ecx + 0x100], eax
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 4]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xc4], ebx
mov ebx, dword [ebx]
bt ebx, 8
jae 0x1002a789
mov ecx, dword [edx + ecx*8 + 0x4c]
mov al, byte [ecx + 0x12]
test al, al
je 0x1002a2bd
cmp dword [ecx], 2
jl 0x1002a789
cmp al, 2
je 0x1002a789
mov eax, dword [ecx + 4]
test eax, eax
jg 0x1002e106
mov ecx, edx
mov ebx, edx
mov edx, dword [ebp - 0xbc]
push edi
call fcn.10157b60
add esp, 4
test eax, eax
jne 0x1002e169
mov ecx, dword [ebp - 0x94]
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebp - 0xa4]
mov dword [ebx + ecx*8 + 0x24], eax
mov dword [ebp - 0x9c], ebx
xor ebx, ebx
mov ecx, dword [ebp - 0xb0]
mov edx, 9
push ebx
push ebx
push ebx
call fcn.1002fb80
add esp, 0xc
mov ecx, eax
mov dword [ebp - 0xb8], eax
inc eax
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x9c]
mov dword [edx + ecx*8 + 0x20], eax
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx]
mov ecx, eax
or ecx, 0x10
mov dword [edx], ecx
test al, 8
jne 0x1002a364
xor eax, eax
mov ecx, dword [ebp - 0xb0]
mov edx, 0xf
push eax
push eax
push eax
call fcn.1002fb80
add esp, 0xc
mov ebx, eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ecx + eax*8 + 0x34]
mov byte [ebp - 0x90], 0xc
mov dword [ebp - 0x8c], eax
pxor xmm0, xmm0
lea eax, [ebp - 0x88]
movdqu xmmword [eax], xmm0
push dword [ebp - 0xbc]
push str.MATERIALIZE___S
push 1
push dword [ebp - 0x94]
call fcn.1002faf0
add esp, 0x10
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0xb4]
lea eax, [ebp - 0x90]
push eax
call fcn.10027cd0
mov edx, dword [ebp - 0x9c]
add esp, 4
mov eax, dword [ebp - 0xb4]
movzx eax, word [eax + 2]
mov ecx, dword [ebp - 0xa4]
mov ecx, dword [edx + ecx*8 + 0x18]
mov word [ecx + 0x26], ax
test ebx, ebx
mov ecx, dword [ebp - 0xb0]
je 0x1002a40e
mov eax, dword [ecx]
cmp byte [eax + 0x57], 0
jne 0x1002e1db
lea eax, [ebx + ebx*4]
shl eax, 2
add eax, dword [ecx + 0x68]
mov edx, dword [ecx + 0x6c]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa4]
lea eax, [edx + eax*8]
add eax, 0x24
mov ebx, ecx
mov edx, 0x43
push 0
push dword [ebp - 0xcc]
mov dword [ebp - 0xbc], eax
push dword [eax]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebx]
mov eax, ebx
mov ebx, dword [ebx + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x1002e1e5
mov ecx, dword [ebp - 0xb8]
lea edx, [ecx + ecx*4]
shl edx, 2
add edx, dword [eax + 0x68]
mov ecx, dword [ebp - 0x98]
mov dword [edx + 8], ebx
mov eax, dword [ebp - 0x94]
mov byte [eax + 0x13], 0
mov dword [eax + 0x1c], 0
mov eax, 0x108
mov edx, dword [ebp - 0xc4]
and eax, dword [edx]
cmp eax, 0x100
jne 0x1002be03
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa4]
lea eax, [eax + ecx*8]
add eax, 0x20
mov ebx, dword [eax + 0x2c]
mov edx, dword [eax]
mov dword [ebx + 4], edx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx]
mov dword [ebx + 8], edx
mov ecx, dword [ebp - 0x98]
mov eax, dword [eax + 0x14]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0xb4]
movzx eax, word [eax + 2]
mov word [ebx + 0x10], ax
jmp 0x1002be03
xor esi, esi
mov edi, ecx
mov edx, 0x76
push esi
push esi
push eax
call fcn.10016c40
add esp, 0xc
mov ebx, eax
jmp 0x10028550
mov eax, dword [esi + 0x14c]
test eax, eax
jne 0x1002b606
mov eax, dword [esi + 0x148]
test eax, eax
jne 0x1002bf96
mov eax, dword [esi + 0x144]
test eax, eax
jne 0x1002c12c
inc dword [esi + 0x140]
jmp 0x1002a6cb
mov eax, dword [ecx + 0x14c]
test eax, eax
jne 0x1002b613
mov eax, dword [ecx + 0x148]
test eax, eax
jne 0x1002bfa3
mov eax, dword [ecx + 0x144]
test eax, eax
jne 0x1002c139
inc dword [ecx + 0x140]
jmp 0x1002a704
test byte [ecx + 0x30], 4
je 0x100298ea
cmp byte [ecx + 0x2d], 0
je 0x100298ea
movzx edi, byte [ecx + 0x2c]
lea eax, [edi + edi*2]
shl eax, 5
add eax, ecx
add eax, 0x308
inc edi
mov ecx, dword [ebp - 0xb0]
dec edi
jle 0x1002b2ff
mov edx, dword [eax - 0x20]
add eax, 0xffffffa0
test byte [edx + 0x2c], 4
mov ecx, dword [ebp - 0xb0]
je 0x1002a580
jmp 0x1002b308
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jle 0x1002c0a5
lea edx, [ecx + 1]
mov edi, dword [ebp - 0x9c]
mov dword [edi + 0x6c], edx
mov edx, dword [ebp - 0x9c]
mov edx, dword [edx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0xc
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 [ebp - 0x9c]
cmp dword [ebp - 0xc8], 0
mov ebx, dword [ebp - 0x94]
jne 0x1002db26
mov ecx, dword [edx + 0xc]
mov edi, dword [ebp - 0xd4]
neg edi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1002b626
mov eax, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
mov edi, dword [ebp - 0xdc]
inc edi
test byte [ebp - 0x50], 1
je 0x1002dbab
mov eax, dword [edx + 0x6c]
cmp dword [edx + 0x70], eax
jle 0x1002bf79
lea ecx, [eax + 1]
mov dword [edx + 0x6c], ecx
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x25
mov edx, dword [ebp - 0xb8]
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 8], edi
xor edx, edx
mov dword [ecx + eax*4 + 0xc], edx
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [ebp - 0x64]
test eax, eax
mov edx, dword [ebp - 0xb0]
jne 0x1002dbc5
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0xc]
mov edi, dword [ebp - 0xcc]
not edi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1002dbee
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
jmp 0x100281d7
mov ecx, esi
mov esi, eax
call fcn.10017250
mov eax, esi
jmp 0x1002820e
cmp dword [esi + 0x128], 0
je 0x1002c0fa
cmp byte [esi + 0x57], 0
jne 0x1002cd44
mov ecx, esi
mov edx, 0x2c
push 0
call fcn.10137840
add esp, 4
test eax, eax
jne 0x10028f1e
xor edi, edi
mov edx, dword [ebp - 0x98]
jmp 0x10028f84
cmp dword [ecx + 0x128], 0
je 0x1002c105
cmp byte [ecx + 0x57], 0
jne 0x1002a723
mov edx, 0xc
push 0
call fcn.10137840
add esp, 4
test eax, eax
mov edx, dword [ebp - 0x98]
jne 0x10028f6c
mov ecx, dword [ebx]
push edi
push ecx
call fcn.10015380
add esp, 8
mov ebx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
mov esi, dword [ebp - 0xac]
jmp 0x10028f84
mov eax, dword [ecx + 0x14c]
test eax, eax
jne 0x1002be6d
mov eax, dword [ecx + 0x148]
test eax, eax
jne 0x1002c098
mov eax, dword [ecx + 0x144]
test eax, eax
jne 0x1002c146
inc dword [ecx + 0x140]
jmp 0x1002a863
mov edx, edi
push eax
call fcn.10032440
add esp, 4
jmp 0x100294e8
test byte [edx + 0x2c], 0x40
jne 0x1002e99e
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
test byte [eax + 0x53], 2
jne 0x1002e99e
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx]
lea ecx, [edi + 1]
mov dword [ebp - 0xcc], eax
cmp ecx, eax
jge 0x1002a814
mov eax, dword [ebp - 0xa4]
lea eax, [edx + eax*8]
add eax, 0x1c
mov dword [ebp - 0xd4], ebx
mov ebx, dword [eax]
mov eax, 0x1000000
mov dword [ebp - 0xd0], ebx
and eax, dword [ebx + 4]
mov ebx, dword [ebp - 0xd4]
jne 0x1002a814
mov eax, dword [ebp - 0xa4]
lea eax, [edx + eax*8]
add eax, 0x10
mov dword [ebp - 0xc8], eax
lea eax, [ecx + ecx*8]
mov edx, dword [edx + eax*8 + 0x1c]
test edx, edx
jne 0x1002e7b6
inc ecx
cmp ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0x9c]
jne 0x1002a7f6
test edi, edi
je 0x1002bc55
bt dword [ebp - 0xb8], 0x1c
jb 0x1002e99e
mov ecx, dword [ebp - 0xa0]
mov edx, esi
test byte [ecx], 0x22
jne 0x1002e99e
inc edx
je 0x1002bc6e
cmp dword [ecx - 0x58], 0
lea ecx, [ecx - 0x48]
je 0x1002a832
jmp 0x1002e99e
cmp dword [ecx + 0x128], 0
je 0x1002c110
cmp byte [ecx + 0x57], 0
jne 0x1002a886
mov edx, 0xc
push 0
call fcn.10137840
add esp, 4
test eax, eax
mov edx, dword [ebp - 0x98]
pxor xmm0, xmm0
jne 0x10028b33
mov ecx, dword [edi]
cmp dword [ecx + 0x208], 0
mov edx, dword [ebp - 0x98]
pxor xmm0, xmm0
je 0x1002e08e
mov edx, esi
call fcn.1001dfd0
pxor xmm0, xmm0
mov edx, dword [ebp - 0x98]
jmp 0x10028b4b
mov ebx, dword [ebp - 0xbc]
test ebx, ebx
je 0x1002805e
test esi, esi
mov edi, dword [ebp - 0x94]
je 0x10028064
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x1002c11b
test eax, eax
jle 0x10028458
xor edi, edi
mov ebx, 0x10
mov al, byte [esi + ebx]
mov ecx, dword [ebp - 0xbc]
cmp al, byte [ecx + ebx]
mov eax, ecx
jne 0x1002ec2b
mov edx, dword [esi + ebx - 8]
xor ecx, ecx
push 0xffffffffffffffff
push dword [eax + ebx - 8]
call fcn.10031230
add esp, 8
test eax, eax
jne 0x1002c11b
inc edi
add ebx, 0x14
cmp edi, dword [esi]
mov ecx, dword [ebp - 0x98]
jl 0x1002a8e8
jmp 0x10028458
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xb8], 0
jmp 0x100297d7
mov ecx, 0
test eax, eax
jle 0x1002a974
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ecx + 0x20]
add edx, 4
xor ecx, ecx
mov esi, dword [edx - 4]
test byte [esi + 7], 1
jne 0x1002df7e
mov esi, dword [edx]
test byte [esi + 4], 0x20
je 0x1002df7e
cmp ecx, eax
jne 0x1002982c
jmp 0x1002df8a
mov eax, dword [edx + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
mov esi, dword [ebp - 0xac]
jle 0x1002a9a2
inc ecx
add eax, 0x1a
mov word [eax], 0
dec ecx
add eax, 0x14
cmp ecx, 1
ja 0x1002a994
mov eax, dword [edi]
test eax, eax
jle 0x1002a9ba
inc eax
lea ecx, [edi + 0x1a]
mov word [ecx], 0
dec eax
add ecx, 0x14
cmp eax, 1
ja 0x1002a9ac
cmp word [edx + 2], 0x43
jl 0x1002a9c7
mov word [edx + 2], 0x42
mov edx, dword [ebp - 0x70]
xor ecx, ecx
test edx, edx
je 0x10028ed1
mov eax, dword [edi]
cmp eax, dword [edx]
jne 0x10028ed1
test eax, eax
jle 0x1002a9fc
mov ecx, 0x10
mov edx, dword [ebp - 0x70]
mov dl, byte [edx + ecx]
and dl, 1
mov byte [edi + ecx], dl
add ecx, 0x14
dec eax
jne 0x1002a9e7
mov edx, dword [ebp - 0x70]
mov ecx, edi
call fcn.10157660
xor ecx, ecx
test eax, eax
sete cl
jmp 0x10028ed1
mov eax, dword [esi]
jmp 0x10028fdb
mov esi, dword [ebp - 0xa8]
cmp dword [esi + 0x24], 1
jne 0x1002e1ef
mov eax, dword [esi + 0x20]
mov dword [ebp - 0xe4], 0
cmp dword [eax + 8], 0
mov dword [ebp - 0xe8], 0
jns 0x1002e208
mov eax, dword [ebx + 0x28]
lea ecx, [eax + 1]
mov dword [ebx + 0x28], ecx
mov dword [esi + 4], eax
mov ecx, ebx
mov edx, edi
push dword [esi + 0x18]
xor eax, eax
push eax
call fcn.101576d0
add esp, 8
mov dword [ebp - 0xf4], eax
movzx eax, word [esi + 2]
mov dword [ebp - 0xb8], eax
mov edi, dword [ebp - 0xb0]
mov ecx, edi
mov edx, 0x77
xor eax, eax
push eax
push dword [ebp - 0xb8]
push dword [esi + 4]
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, eax
mov dword [ebp - 0x108], eax
push 0xfffffffffffffff8
push dword [ebp - 0xf4]
call fcn.1003a120
add esp, 8
mov edx, dword [ebx + 0x2c]
mov eax, dword [ebx + 0x38]
lea esi, [edx + 4]
mov dword [ebx + 0x2c], esi
mov dword [ebp - 0xdc], eax
add eax, 0xfffffffe
mov dword [ebp - 0xfc], eax
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov dword [ebp - 0x10c], eax
add eax, edx
add eax, 4
mov dword [ebx + 0x2c], eax
mov ecx, dword [ebp - 0xa0]
add eax, dword [ecx]
mov dword [ebx + 0x2c], eax
lea eax, [edx + 2]
mov dword [ebp - 0xb8], edx
lea ecx, [edx + 5]
mov dword [ebp - 0x104], ecx
mov ecx, edi
mov edx, 0x47
xor ebx, ebx
push ebx
xor ebx, ebx
mov dword [ebp - 0xf0], eax
push eax
push ebx
mov ebx, dword [ebp - 0x94]
call fcn.1002fb80
add esp, 0xc
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
add eax, esi
mov ecx, edi
mov edx, 0x4b
push eax
push dword [ebp - 0x104]
xor eax, eax
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edi, dword [ebp - 0xa0]
mov edx, 0xa
xor eax, eax
push eax
push dword [ebp - 0xfc]
mov dword [ebp - 0xec], esi
push esi
call fcn.1002fb80
add esp, 0xc
xor eax, eax
cmp byte [ebp - 0x48], 2
sete al
shl eax, 6
mov ecx, dword [ebp - 0xd0]
shl ecx, 9
add eax, ecx
add eax, 0x40
mov ecx, dword [ebp - 0xe8]
or eax, ecx
movzx eax, ax
mov ecx, ebx
mov edx, dword [ebp - 0x9c]
xor esi, esi
push esi
push eax
push dword [ebp - 0x98]
push dword [ebp - 0xe4]
push edi
push dword [ebp - 0xb4]
call fcn.1003a780
add esp, 0x18
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x1002e2ba
cmp dword [ebx + 0x48], 0
mov ecx, dword [ebp - 0xac]
jne 0x1002e2dd
mov eax, dword [ebx + 0x2c]
inc eax
mov edx, dword [ebp - 0xa8]
mov dword [edx + 0xc], eax
mov eax, dword [edx + 0x24]
add eax, dword [edx + 0x18]
add dword [ebx + 0x2c], eax
mov edx, dword [ebp - 0xf8]
movzx eax, byte [edx + 0x2f]
mov dword [ebp - 0x100], eax
movzx eax, byte [edx + 0x2d]
xor ebx, ebx
test al, al
cmovle eax, ebx
movzx eax, al
mov edx, dword [edi]
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xb4], edx
cmp edx, eax
je 0x1002ae48
mov eax, str.GROUP_BY
cmp byte [ebp - 0x48], 0
jne 0x1002e33c
push eax
push str.USE_TEMP_B_TREE_FOR__s
push 0
push dword [ebp - 0x94]
call fcn.1002faf0
add esp, 0x10
mov edx, dword [edi]
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xe0], edx
test eax, eax
jle 0x1002ac8b
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx + 0x14]
add ecx, 0xe
mov edx, dword [ebp - 0xe0]
mov esi, edx
movsx edi, word [ecx]
xor ebx, ebx
cmp esi, edi
setle bl
add edx, ebx
add esi, ebx
add ecx, 0x10
dec eax
jne 0x1002ac77
mov dword [ebp - 0xd8], edx
mov edi, dword [ebp - 0x94]
mov ecx, edi
call fcn.10052fb0
xor ebx, ebx
mov ecx, edi
mov edx, dword [ebp - 0xa0]
push ebx
push ebx
mov esi, eax
mov dword [ebp - 0xc8], eax
push eax
call fcn.100335e0
add esp, 0xc
mov ecx, dword [ebp - 0xa8]
mov byte [ecx], 1
mov esi, dword [ecx + 0x18]
test esi, esi
jle 0x1002ad1c
mov edi, 0xe
mov ecx, dword [ecx + 0x14]
movsx edx, word [ecx + edi]
mov eax, dword [ebp - 0xe0]
cmp eax, edx
jg 0x1002e359
mov edx, eax
mov eax, dword [ebp - 0xc8]
add eax, edx
mov esi, edx
mov edx, dword [ecx + edi - 0xa]
mov ecx, dword [ebp - 0x94]
push eax
call fcn.10059020
add esp, 4
inc esi
mov dword [ebp - 0xe0], esi
mov ecx, dword [ebp - 0xa8]
mov esi, dword [ecx + 0x18]
inc ebx
add edi, 0x10
cmp ebx, esi
jl 0x1002acd0
mov byte [ecx], 0
mov ebx, dword [ebp - 0x94]
mov al, byte [ebx + 0x13]
test al, al
mov esi, dword [ebp - 0xb0]
je 0x1002e364
dec al
mov byte [ebx + 0x13], al
movzx eax, al
mov edi, dword [ebx + eax*4 + 0xa0]
mov ecx, esi
mov edx, 0x61
push edi
push dword [ebp - 0xd8]
push dword [ebp - 0xc8]
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, 0x8b
push 0
push edi
mov eax, dword [ebp - 0xa8]
push dword [eax + 4]
call fcn.1002fb80
add esp, 0xc
test edi, edi
je 0x1002ad97
movzx eax, byte [ebx + 0x13]
cmp eax, 7
ja 0x1002ad97
mov ecx, eax
inc cl
mov byte [ebx + 0x13], cl
mov dword [ebx + eax*4 + 0xa0], edi
mov eax, dword [ebp - 0xd8]
cmp eax, 1
je 0x1002e370
cmp dword [ebx + 0x1c], eax
mov edi, dword [ebp - 0xa0]
jge 0x1002adbf
mov dword [ebx + 0x1c], eax
lea eax, [ebx + 0x20]
mov ecx, dword [ebp - 0xc8]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xf8]
call fcn.10031790
mov ecx, dword [ebx + 0x28]
lea eax, [ecx + 1]
mov dword [ebx + 0x28], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xc8], ecx
mov dword [eax + 8], ecx
mov al, byte [ebx + 0x13]
test al, al
je 0x1002e3a4
dec al
mov byte [ebx + 0x13], al
movzx eax, al
mov ebx, dword [ebx + eax*4 + 0xa0]
mov esi, dword [ebp - 0xb0]
mov ecx, esi
mov edx, 0x79
push dword [ebp - 0xd8]
push ebx
push dword [ebp - 0xc8]
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, 0x22
push 0
push dword [ebp - 0xcc]
mov esi, dword [ebp - 0xa8]
push dword [esi + 4]
call fcn.1002fb80
add esp, 0xc
mov byte [esi + 1], 1
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x94]
cmp dword [eax + 0x48], 0
jne 0x1002e3b2
cmp dword [ebp - 0xd0], 0
mov edx, dword [ebp - 0xb0]
je 0x1002aec2
test byte [ecx + 0x50], 4
jne 0x1002aec2
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x9c]
je 0x1002e412
mov dword [ebp - 0x70], 0
mov ecx, dword [edx]
cmp byte [ecx + 0x57], 0
jne 0x1002aec2
mov eax, dword [ebp - 0x5c]
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.100056c0
mov edx, dword [ebp - 0xb0]
add esp, 4
mov dword [esi + edi*4 + 0x10], 0
mov word [esi + edi*4], 0xb8
mov edi, dword [ebp - 0xa0]
lea eax, [edx + 0x6c]
mov dword [ebp - 0xd8], eax
mov eax, dword [edx + 0x6c]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x9c]
je 0x1002af01
mov ecx, edx
mov edx, 0x85
push dword [ebp - 0xc8]
push ebx
mov eax, dword [ebp - 0xa8]
push dword [eax + 4]
call fcn.1002fb80
add esp, 0xc
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x10c]
lea esi, [ecx + eax]
add esi, 5
mov eax, dword [edi]
test eax, eax
mov ecx, dword [ebp - 0xb0]
jle 0x1002af6a
mov eax, dword [ebp - 0xa0]
lea ebx, [eax + 8]
xor edi, edi
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x9c]
je 0x1002e439
lea eax, [esi + edi]
mov edx, 0x5e
push eax
push edi
push dword [ebp - 0xc8]
call fcn.1002fb80
add esp, 0xc
inc edi
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
add ebx, 0x14
cmp edi, eax
mov ecx, dword [ebp - 0xb0]
jl 0x1002af2a
mov edx, dword [ebp - 0xb8]
add edx, 3
mov dword [ebp - 0xd0], edx
mov edx, dword [ebp - 0xdc]
dec edx
mov dword [ebp - 0xc8], edx
mov edi, dword [ebp - 0xf4]
test edi, edi
mov edx, dword [ebp - 0xa0]
je 0x1002af9a
inc dword [edi]
mov eax, dword [edx]
inc dword [ebp - 0xb8]
mov dword [ebp - 0xa0], edx
mov edx, 0x5a
push eax
push esi
mov ebx, dword [ebp - 0x104]
push ebx
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebp - 0xb0]
mov edx, eax
push 0xfffffffffffffff8
push edi
call fcn.1003a120
add esp, 8
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x6c]
mov dword [ebp - 0xf4], ecx
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0xb0]
mov edx, 0xe
push eax
xor edi, edi
push edi
push eax
call fcn.1002fb80
add esp, 0xc
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax + 8]
mov edx, 0x4f
mov eax, dword [ebp - 0xa0]
push dword [eax]
push ebx
push esi
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebp - 0xb0]
mov edx, 0xa
xor eax, eax
push eax
push dword [ebp - 0xc8]
push dword [ebp - 0xd0]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebp - 0xb0]
mov edx, 0x3b
xor eax, eax
push eax
xor esi, esi
push dword [ebp - 0xcc]
push dword [ebp - 0xf0]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebp - 0xb0]
mov edx, 0xa
push esi
push dword [ebp - 0xfc]
push dword [ebp - 0xec]
call fcn.1002fb80
mov esi, dword [ebp - 0xb0]
add esp, 0xc
mov ecx, dword [esi]
mov eax, dword [esi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x1002e45b
mov ecx, dword [ebp - 0xf4]
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [esi + 0x68]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x94]
mov ebx, dword [ebp - 0xb8]
mov edx, ebx
push dword [ebp - 0x100]
mov edi, dword [ebp - 0xa8]
push edi
call fcn.100599f0
add esp, 8
mov ecx, esi
mov edx, 0x47
push 0
push ebx
push 1
call fcn.1002fb80
add esp, 0xc
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x9c]
je 0x1002e465
mov ecx, esi
mov edx, 0x25
push 0
push dword [ebp - 0xe0]
push dword [edi + 4]
call fcn.1002fb80
add esp, 0xc
mov edx, dword [ebp - 0xe4]
test edx, edx
jne 0x1002e4b2
xor esi, esi
mov edi, dword [ebp - 0xb0]
mov ecx, edi
mov edx, 0xa
push esi
push dword [ebp - 0xc8]
mov ebx, dword [ebp - 0xd0]
push ebx
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, 9
push esi
push dword [ebp - 0xcc]
push esi
call fcn.1002fb80
add esp, 0xc
mov eax, dword [edi + 0x6c]
mov dword [ebp - 0x9c], eax
mov ecx, edi
mov edx, 0x47
push esi
push dword [ebp - 0xf0]
push 1
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, 0x43
push esi
push esi
push ebx
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [edi + 0xc]
mov eax, dword [ebp - 0xdc]
neg eax
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x1002e4c2
mov edx, dword [ebp - 0xd8]
mov edx, dword [edx]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
mov ebx, dword [ebp - 0xb0]
mov esi, dword [ebx + 0x6c]
lea eax, [esi + 2]
xor edi, edi
mov ecx, ebx
mov edx, 0x3b
push edi
push eax
push dword [ebp - 0xb8]
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, 0x43
xor eax, eax
push eax
push eax
push dword [ebp - 0xd0]
call fcn.1002fb80
add esp, 0xc
mov edi, dword [ebp - 0x94]
mov ecx, edi
mov edx, dword [ebp - 0xa8]
call fcn.1003a420
inc esi
push 0x10
push esi
push dword [ebp - 0xc4]
push edi
call fcn.10040dd0
add esp, 0x10
lea eax, [ebp - 0x48]
mov ecx, edi
lea edi, [ebp - 0x70]
mov edx, dword [ebp - 0x98]
push dword [ebp - 0x9c]
push esi
push dword [ebp + 8]
push eax
push edi
push 0xffffffffffffffff
call fcn.10032680
add esp, 0x18
mov ecx, ebx
mov edx, 0x43
xor eax, eax
push eax
push eax
push dword [ebp - 0xd0]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebx + 0xc]
xor eax, eax
inc eax
sub eax, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x1002e4d6
mov edx, dword [ebp - 0xd8]
mov edx, dword [edx]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
mov ebx, dword [ebp - 0x94]
mov ecx, ebx
mov edx, dword [ebp - 0xa8]
call fcn.1004ada0
xor esi, esi
mov edi, dword [ebp - 0xb0]
mov ecx, edi
mov edx, 0x47
push esi
push dword [ebp - 0xb8]
push esi
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, 0x43
push esi
push esi
push dword [ebp - 0xec]
call fcn.1002fb80
add esp, 0xc
cmp dword [ebp - 0xe8], 0
mov edi, dword [ebp - 0xd4]
je 0x10029938
cmp byte [ebp - 0x100], 0
je 0x10029938
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x20]
mov ecx, ebx
mov edx, dword [ebp - 0x100]
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.100368d0
add esp, 8
jmp 0x10029938
mov eax, dword [ebp - 0x9c]
add eax, 0x20
xor edi, edi
mov edx, 9
push edi
push dword [eax]
push edi
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebp - 0x9c]
jmp 0x100298ea
mov eax, dword [ebp - 0x94]
mov edi, dword [eax]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xa4], ecx
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0xb8], ecx
add ecx, 0xfffffffe
mov dword [ebp - 0xd4], ecx
mov dword [eax + 0x38], ecx
mov al, byte [edx]
mov ecx, dword [edx + 0x30]
mov dword [ebp - 0xac], ecx
mov ebx, dword [ecx]
mov byte [ebp - 0x9c], al
cmp al, 0x87
mov dword [ebp - 0xa8], edi
jne 0x1002e4ea
mov dword [ebp - 0xcc], ebx
lea edx, [ebx*4 + 4]
mov ecx, edi
push 0
call fcn.10157570
add esp, 4
mov esi, eax
mov dword [ebp - 0xc8], 0
mov ecx, 0
test eax, eax
mov ebx, dword [ebp - 0xb8]
je 0x1002b3db
mov edi, dword [ebp - 0xcc]
mov dword [esi], edi
test edi, edi
jle 0x1002b3c8
mov eax, dword [ebp - 0xac]
add eax, 0x18
xor ecx, ecx
movzx edx, word [eax]
dec edx
mov dword [esi + ecx*4 + 4], edx
add eax, 0x14
inc ecx
cmp edi, ecx
jne 0x1002b3b8
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
call fcn.1005dc50
mov ecx, eax
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe0], esi
lea eax, [ebx - 1]
mov dword [ebp - 0xb0], eax
mov esi, 0
cmp byte [ebp - 0x9c], 0x87
mov ebx, dword [ebp - 0xa8]
jne 0x1002e4ff
mov al, 1
mov dword [ebp - 0xd0], eax
test byte [ebx + 0x52], 0x20
mov edi, dword [ebp - 0x98]
mov dword [ebp - 0xd8], esi
jne 0x1002e5a9
mov byte [ebp - 0xe4], 0x86
mov ecx, dword [edi + 0x34]
test ecx, ecx
je 0x1002b45c
xor eax, eax
inc eax
mov esi, edi
mov edi, ecx
mov cl, byte [ebp - 0x9c]
cmp byte [esi], cl
jne 0x1002b44d
inc eax
mov ecx, dword [edi + 0x34]
test ecx, ecx
jne 0x1002b437
cmp eax, 4
jae 0x1002e96e
mov edi, dword [ebp - 0x98]
mov eax, edi
mov ebx, dword [eax + 0x34]
xor ecx, ecx
mov dword [ebp - 0xec], eax
mov dword [eax + 0x34], ecx
mov dword [ebx + 0x38], ecx
xor eax, eax
mov esi, dword [ebp - 0x94]
mov ecx, dword [esi]
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0xdc], 0
push eax
call fcn.100015a0
add esp, 4
mov dword [ebx + 0x30], eax
mov eax, str.ORDER
mov ecx, esi
mov edx, edi
push eax
push dword [edi + 0x30]
call fcn.100316e0
add esp, 8
mov ecx, esi
mov edx, ebx
mov eax, str.ORDER
push eax
mov dword [ebp - 0xc0], ebx
push dword [ebx + 0x30]
mov ebx, esi
call fcn.100316e0
add esp, 8
mov ecx, esi
mov edx, edi
push dword [ebp - 0xb0]
call fcn.10039a10
add esp, 4
cmp byte [ebp - 0x9c], 0x87
jne 0x1002b640
cmp dword [edi + 8], 0
mov dword [ebp - 0xbc], 0
je 0x1002b64a
mov eax, dword [ebx + 0x2c]
lea ecx, [eax + 1]
mov dword [ebp - 0xdc], ecx
add eax, 2
mov dword [ebp - 0xbc], eax
mov dword [ebx + 0x2c], eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1002ed46
inc eax
xor esi, esi
mov edi, dword [ebp - 0xa4]
mov ecx, edi
mov edx, 0x50
push esi
mov ebx, dword [ebp - 0xdc]
push ebx
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, 0x50
push esi
push dword [ebp - 0xbc]
push ebx
call fcn.1002fb80
add esp, 0xc
mov ebx, dword [ebp - 0x94]
mov edi, dword [ebp - 0x98]
jmp 0x1002b64a
cmp eax, 1
mov al, 6
sbb al, 0
lea ecx, [esi + 2]
mov dword [edx + 0x28], ecx
jmp 0x10029e5b
xor eax, eax
mov ecx, edi
mov edx, 0x76
push eax
push eax
push ebx
call fcn.1002fb80
mov ecx, dword [ebp - 0x98]
add esp, 0xc
mov dword [ecx + 0x14], eax
mov eax, dword [ecx + 4]
or eax, 0x20
mov dword [ecx + 4], eax
jmp 0x10029f1a
mov eax, dword [ecx + 0x1c]
mov ecx, esi
mov edx, 0x76
push 0
push dword [eax]
push dword [ebp - 0x44]
call fcn.1002fb80
mov ecx, dword [ebp - 0x98]
add esp, 0xc
mov byte [ebp - 0x48], 0xe
mov byte [ebp - 0xac], 0xe
jmp 0x10027e69
lea ecx, [eax + 0x1f]
cmp ecx, edx
jl 0x1002bef5
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 0x100293eb
lea edx, [ecx + eax*4]
mov ecx, esi
push 0xfffffffffffffff8
push edi
call fcn.10035ca0
add esp, 8
jmp 0x1002972b
mov ecx, dword [eax]
mov dword [esi + 0x14c], ecx
jmp 0x10028f18
mov edx, dword [eax]
mov dword [ecx + 0x14c], edx
jmp 0x10028f60
inc ecx
jmp 0x100293eb
mov edx, dword [ebp - 0x9c]
push edi
call fcn.10032440
mov edx, dword [ebp - 0x9c]
add esp, 4
jmp 0x1002a61a
mov dword [ebp - 0xbc], 0
mov esi, edi
mov edx, dword [edi + 0x3c]
test edx, edx
jne 0x1002e5b5
mov dword [esi + 0x3c], 0
mov edi, dword [ebx + 0x2c]
lea edx, [edi + 1]
lea ecx, [edi + 2]
lea eax, [edi + 4]
mov dword [ebp - 0xb4], eax
mov dword [ebx + 0x2c], eax
mov al, 0xd
mov byte [ebp - 0x90], al
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x8c], edx
pxor xmm0, xmm0
movdqu xmmword [ebp - 0x88], xmm0
mov byte [ebp - 0x2c], al
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0x28], ecx
movdqu xmmword [ebp - 0x24], xmm0
mov cl, byte [esi]
add cl, 0x79
mov eax, str.UNION
cmp cl, 2
ja 0x1002b6bd
movsx eax, cl
mov eax, dword [eax*4 + 0x101b5edc]
add edi, 3
mov dword [ebp - 0xc4], edi
xor ecx, ecx
inc ecx
push eax
push str.MERGE___s_
push ecx
push ebx
call fcn.1002faf0
add esp, 0x10
mov edi, dword [ebp - 0xa4]
mov eax, dword [edi + 0x6c]
inc eax
xor esi, esi
mov ecx, edi
mov edx, 0xb
push eax
push esi
push dword [ebp - 0xa0]
call fcn.1002fb80
add esp, 0xc
mov esi, ebx
mov dword [ebp - 0xf0], eax
mov ebx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xdc]
mov dword [ebx + 8], eax
push str.LEFT
xor eax, eax
inc eax
push eax
push esi
call fcn.1002faf0
add esp, 0xc
lea eax, [ebp - 0x90]
mov ecx, esi
mov esi, edi
mov edx, ebx
push eax
call fcn.10027cd0
add esp, 4
mov ecx, edi
mov edx, 0x44
xor eax, eax
push eax
push eax
xor edi, edi
push dword [ebp - 0xa0]
call fcn.1002fb80
add esp, 0xc
mov eax, dword [esi + 0xc]
mov byte [eax + 0x13], 0
mov eax, dword [esi + 0xc]
mov dword [eax + 0x1c], edi
mov ecx, dword [esi]
mov eax, dword [esi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x1002e5c5
mov ecx, dword [ebp - 0xf0]
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [esi + 0x68]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x6c]
inc eax
mov ecx, esi
mov edx, 0xb
push eax
xor ebx, ebx
push ebx
push dword [ebp - 0xac]
call fcn.1002fb80
add esp, 0xc
mov dword [ebp - 0xf0], eax
mov edi, esi
mov esi, dword [ebp - 0x98]
mov eax, dword [esi + 8]
mov dword [ebp - 0xdc], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xbc]
mov dword [esi + 8], eax
mov dword [esi + 0xc], ebx
push str.RIGHT
push 1
mov ebx, dword [ebp - 0x94]
push ebx
call fcn.1002faf0
add esp, 0xc
lea eax, [ebp - 0x2c]
mov ecx, ebx
mov edx, esi
push eax
call fcn.10027cd0
add esp, 4
mov eax, dword [ebp - 0xdc]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0xfc]
mov dword [esi + 0xc], eax
mov ecx, edi
mov edx, 0x44
xor eax, eax
push eax
push eax
push dword [ebp - 0xac]
call fcn.1002fb80
add esp, 0xc
mov eax, dword [edi + 0xc]
mov byte [eax + 0x13], 0
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xbc], 0
xor ecx, ecx
mov dword [eax + 0x1c], ecx
mov ecx, ebx
mov edx, esi
push dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xd8]
push ebx
push dword [ebp - 0xc8]
push dword [ebp - 0xc4]
mov edi, dword [ebp + 8]
push edi
lea eax, [ebp - 0x90]
push eax
call fcn.10061160
add esp, 0x18
mov dword [ebp - 0xdc], eax
cmp byte [ebp - 0xd0], 0
je 0x1002b8a3
mov ecx, dword [ebp - 0x94]
mov edx, esi
push dword [ebp - 0xb0]
push ebx
push dword [ebp - 0xc8]
push dword [ebp - 0xb4]
push edi
lea eax, [ebp - 0x2c]
push eax
call fcn.10061160
add esp, 0x18
mov dword [ebp - 0xbc], eax
test ebx, ebx
jne 0x1002e5cf
mov esi, dword [ebp - 0xb0]
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xd8], esi
cmp byte [ebp - 0xe4], 0x88
mov edi, dword [ebp - 0xa4]
je 0x1002b952
xor eax, eax
mov ecx, edi
mov edx, 0xa
push eax
push dword [ebp - 0xbc]
push dword [ebp - 0xb4]
call fcn.1002fb80
add esp, 0xc
mov ebx, eax
mov ecx, edi
mov edx, 0xc
xor eax, eax
push eax
push esi
push dword [ebp - 0xac]
call fcn.1002fb80
add esp, 0xc
mov dword [ebp - 0xc8], eax
mov ecx, edi
mov edx, 9
xor eax, eax
push eax
mov dword [ebp - 0xd8], ebx
push ebx
push eax
call fcn.1002fb80
add esp, 0xc
mov eax, dword [ebp - 0xc0]
movsx edx, word [eax + 2]
mov esi, dword [ebp - 0x98]
movsx ecx, word [esi + 2]
call fcn.10053350
mov word [esi + 2], ax
mov esi, dword [ebp - 0xb0]
mov edi, dword [ebp - 0xa4]
cmp byte [ebp - 0x9c], 0x89
mov eax, dword [ebp - 0xdc]
je 0x1002e5e6
xor ebx, ebx
mov ecx, edi
mov edx, 0xa
push ebx
push eax
push dword [ebp - 0xc4]
call fcn.1002fb80
add esp, 0xc
mov ebx, eax
mov ecx, edi
mov edx, 0xc
xor eax, eax
push eax
push esi
push dword [ebp - 0xa0]
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, 9
xor eax, eax
push eax
mov dword [ebp - 0xb0], ebx
push ebx
push eax
call fcn.1002fb80
add esp, 0xc
xor ebx, ebx
mov ecx, edi
mov edx, 0xa
push ebx
push dword [ebp - 0xdc]
push dword [ebp - 0xc4]
call fcn.1002fb80
add esp, 0xc
mov esi, eax
mov ecx, edi
mov edx, 0xc
push ebx
push dword [ebp - 0xd8]
push dword [ebp - 0xa0]
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, 9
push ebx
push dword [ebp - 0xd4]
push ebx
call fcn.1002fb80
add esp, 0xc
mov al, byte [ebp - 0x9c]
cmp al, 0x87
jne 0x1002e627
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0x9c], esi
mov ebx, dword [edi + 0x6c]
cmp byte [ebp - 0xd0], 0
je 0x1002ba49
mov ecx, edi
mov edx, 0xa
push 0
push dword [ebp - 0xbc]
push dword [ebp - 0xb4]
call fcn.1002fb80
add esp, 0xc
xor esi, esi
mov ecx, edi
mov edx, 0xc
push esi
push dword [ebp - 0xb0]
push dword [ebp - 0xac]
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, 9
push esi
push dword [ebp - 0xd4]
push esi
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [edi]
mov eax, dword [edi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x1002e645
mov ecx, dword [ebp - 0xf0]
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [edi + 0x68]
mov dword [ecx + 8], eax
mov ecx, edi
mov edx, 0xc
push esi
push dword [ebp - 0xc8]
push dword [ebp - 0xa0]
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, 0xc
push esi
push dword [ebp - 0xb0]
push dword [ebp - 0xac]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [edi + 0xc]
mov esi, dword [ebp - 0xb8]
xor edx, edx
inc edx
sub edx, esi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1002e64f
mov eax, dword [edi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edx*4], eax
xor eax, eax
mov ecx, edi
mov edx, 0x59
push eax
push eax
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, eax
push 0xfffffffffffffff2
push dword [ebp - 0xe0]
call fcn.1003a120
add esp, 8
mov ecx, edi
mov edx, 0x5a
push dword [ebp - 0xcc]
push dword [ebp - 0x20]
push dword [ebp - 0x84]
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, eax
push 0xfffffffffffffff8
push dword [ebp - 0xe8]
call fcn.1003a120
add esp, 8
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x1002bb68
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 1
mov ecx, edi
mov edx, 0xe
push ebx
push dword [ebp - 0xc4]
push dword [ebp - 0x9c]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [edi + 0xc]
neg esi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1002e661
mov eax, dword [edi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + esi*4], eax
mov ebx, dword [ebp - 0x94]
mov eax, dword [ebp - 0xec]
mov esi, dword [eax + 0x34]
test esi, esi
jne 0x1002e671
mov ecx, dword [ebp - 0xc0]
mov dword [eax + 0x34], ecx
mov dword [ecx + 0x38], eax
mov edx, dword [ecx + 0x30]
test edx, edx
je 0x1002bbd3
mov ecx, dword [ebp - 0xa8]
call fcn.10017250
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x30], 0
mov eax, dword [ebx + 0xe4]
xor ecx, ecx
test eax, eax
jne 0x1002e6bb
mov dword [ebx + 0xe4], ecx
xor eax, eax
cmp dword [ebx + 0x24], 0
setne al
mov edx, dword [ebp - 0x98]
jmp 0x1002964a
mov eax, dword [edx + ebx*8 + 0x10]
mov dword [ebp - 0xa4], eax
test eax, eax
je 0x10028008
mov ecx, dword [ebp - 0x94]
mov edx, 0x14
mov eax, dword [ebp - 0x9c]
push dword [eax + ebx*8 + 0xc]
push 0x101e0242
push dword [ebp - 0xa4]
call fcn.10157c70
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x98]
add esp, 0xc
jmp 0x10028008
cmp dword [ebp - 0xcc], 1
je 0x1002bc6e
mov eax, dword [ebp - 0x9c]
test byte [eax + 0x74], 2
je 0x1002e990
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx + 0x6c]
mov eax, edx
mov dword [ebp - 0xcc], edx
lea eax, [edx + 1]
mov dword [ebp - 0xb8], eax
mov edx, dword [ebp - 0x94]
mov eax, dword [edx + 0x2c]
inc eax
mov dword [edx + 0x2c], eax
mov edx, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0xa4]
mov dword [edx + ebx*8 + 0x24], eax
mov ebx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], ebx
mov dword [ebp - 0xb0], ecx
jle 0x1002c0c1
lea edx, [ebx + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [ebx + ebx*4]
mov dword [edx + ecx*4], 0xb
mov dword [edx + ecx*4 + 4], eax
xor ebx, ebx
mov dword [edx + ecx*4 + 8], ebx
mov eax, dword [ebp - 0xb8]
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], ebx
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa4]
lea ebx, [eax + ecx*8]
add ebx, 0x24
mov eax, dword [ebp - 0xb8]
mov dword [ebx - 4], eax
mov eax, dword [ebx]
mov byte [ebp - 0x90], 0xd
mov dword [ebp - 0x8c], eax
pxor xmm0, xmm0
lea eax, [ebp - 0x88]
movdqu xmmword [eax], xmm0
push dword [ebp - 0xbc]
push str.CO_ROUTINE___S
push 1
push dword [ebp - 0x94]
call fcn.1002faf0
add esp, 0x10
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0xb4]
lea eax, [ebp - 0x90]
push eax
call fcn.10027cd0
add esp, 4
mov eax, dword [ebp - 0xb4]
movzx eax, word [eax + 2]
mov ecx, dword [ebx - 0xc]
mov word [ecx + 0x26], ax
mov eax, dword [ebp - 0xc4]
or byte [eax], 0x20
mov eax, dword [ebp - 0x84]
mov dword [ebx + 4], eax
mov eax, dword [ebx]
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x1002c0dc
mov ebx, ecx
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov edx, dword [ecx + 0x68]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4], 0x44
mov eax, dword [ebp - 0xa4]
mov dword [edx + ecx*4 + 4], eax
xor eax, eax
mov dword [edx + ecx*4 + 8], eax
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], eax
mov eax, dword [ebx + 0xc]
mov byte [eax + 0x13], 0
mov eax, dword [ebx + 0xc]
mov dword [eax + 0x1c], 0
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x6c]
cmp byte [ecx + 0x57], 0
mov ecx, dword [ebp - 0x98]
jne 0x1002e084
mov edx, dword [ebp - 0xcc]
lea edx, [edx + edx*4]
shl edx, 2
add edx, dword [ebx + 0x68]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x94]
mov byte [eax + 0x13], 0
mov dword [eax + 0x1c], 0
mov eax, dword [ebp - 0xac]
cmp byte [eax + 0x57], 0
jne 0x1002c2e5
lea ebx, [ebp - 0x2c]
mov dword [ebx], 0
mov edx, ebx
call fcn.10019000
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebx]
mov edx, dword [ebp - 0x94]
sub dword [edx + 0xe0], eax
mov eax, dword [ebp - 0xa8]
mov dword [edx + 0x100], eax
mov edx, dword [ebp - 0x9c]
jmp 0x10028014
lea esi, [eax + 0x1f]
cmp esi, ecx
jl 0x1002c092
mov edx, ecx
sub edx, eax
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ecx, eax
mov esi, ecx
jmp 0x100295d2
mov edx, dword [eax]
mov dword [ecx + 0x14c], edx
jmp 0x10028b27
xor eax, eax
mov edx, 0x76
push eax
push eax
push ebx
call fcn.10016c40
add esp, 0xc
jmp 0x10029275
mov ecx, edi
mov edx, 0x24
push 0
push ebx
mov esi, dword [ebp - 0xa4]
push esi
call fcn.10016c40
add esp, 0xc
jmp 0x10029498
mov ecx, edi
mov edx, 0x27
push 0
push dword [ebp - 0xb4]
push dword [ebp - 0xa4]
call fcn.10016c40
add esp, 0xc
jmp 0x1002952b
xor eax, eax
mov ecx, edi
mov edx, 0x7a
push eax
push eax
push dword [ebp - 0xa4]
call fcn.10016c40
add esp, 0xc
jmp 0x1002957c
inc esi
jmp 0x100295d2
inc esi
jmp 0x100293e9
lea edx, [ecx + eax*4]
mov ecx, esi
push 0xfffffffffffffff8
push edi
call fcn.10035ca0
add esp, 8
jmp 0x1002978c
mov edx, 0x79
push eax
push edi
push dword [ebp - 0xbc]
call fcn.10016c40
add esp, 0xc
jmp 0x10029a95
mov esi, ecx
mov edx, 0x22
push 0
push dword [ebp - 0xcc]
push dword [ebp - 0xb8]
call fcn.10016c40
add esp, 0xc
mov dword [ebp - 0xdc], eax
jmp 0x10029ae8
mov ecx, edx
mov edx, 0x85
push dword [ebp - 0xbc]
push edi
push dword [ebp - 0xb8]
call fcn.10016c40
mov edx, dword [ebp - 0x9c]
add esp, 0xc
jmp 0x10029b29
mov ecx, edx
mov edx, 0x25
push 0
push edi
push dword [ebp - 0xb8]
call fcn.10016c40
add esp, 0xc
jmp 0x1002a662
mov ecx, dword [eax]
mov dword [esi + 0x148], ecx
jmp 0x10028f18
mov edx, dword [eax]
mov dword [ecx + 0x148], edx
jmp 0x10028f60
mov ecx, edi
mov edx, 0x79
push dword [ebp - 0xb4]
push esi
push dword [ebp - 0x9c]
call fcn.10016c40
add esp, 0xc
jmp 0x10029ebf
mov ecx, edi
mov edx, 0x76
push 0
push dword [ebp - 0xb4]
push dword [ebp - 0xac]
call fcn.10016c40
add esp, 0xc
jmp 0x10029f09
mov ecx, edi
mov edx, 0x24
push 0
push dword [ebp - 0xa4]
push dword [ebp - 0xac]
call fcn.10016c40
add esp, 0xc
mov dword [ebp - 0xb4], eax
jmp 0x10029fd6
xor eax, eax
mov ecx, edi
mov edx, 0x88
push eax
push eax
push dword [ebp - 0x9c]
call fcn.10016c40
add esp, 0xc
jmp 0x1002a00d
xor eax, eax
mov ecx, edi
mov edx, 0x82
push eax
push eax
push dword [ebp - 0xac]
call fcn.10016c40
add esp, 0xc
jmp 0x1002a088
xor eax, eax
mov ecx, edi
mov edx, 9
push eax
push dword [ebp - 0xb4]
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x1002a173
mov ecx, edi
mov edx, 0x86
push 0
push esi
push dword [ebp - 0xac]
call fcn.10016c40
add esp, 0xc
jmp 0x1002a051
inc edx
jmp 0x100295d0
mov edx, dword [eax]
mov dword [ecx + 0x148], edx
jmp 0x10028b27
xor esi, esi
mov ecx, edx
mov edx, 0xc
push esi
push esi
mov esi, dword [ebp - 0xac]
push eax
call fcn.10016c40
jmp 0x10029c5f
mov edx, 0xb
push dword [ebp - 0xb8]
push 0
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x1002bce2
xor eax, eax
mov ebx, ecx
mov edx, 0x44
push eax
push eax
push dword [ebp - 0xa4]
call fcn.10016c40
add esp, 0xc
jmp 0x1002bdba
inc dword [esi + 0x13c]
jmp 0x1002a6cb
inc dword [ecx + 0x13c]
jmp 0x1002a704
inc dword [ecx + 0x13c]
jmp 0x1002a863
mov edi, dword [ebp - 0x94]
mov ebx, dword [ebp - 0xbc]
jmp 0x10028064
mov ecx, dword [eax]
mov dword [esi + 0x144], ecx
jmp 0x10028f18
mov edx, dword [eax]
mov dword [ecx + 0x144], edx
jmp 0x10028f60
mov edx, dword [eax]
mov dword [ecx + 0x144], edx
pxor xmm0, xmm0
jmp 0x10028b27
push edx
push dword [edi]
push eax
push str.expected__d_columns_for__s_but_got__d
mov ebx, dword [ebp - 0x94]
push ebx
call fcn.100463a0
add esp, 0x14
xor eax, eax
inc eax
jmp 0x1002820e
cmp byte [eax + 0xb1], 0
jne 0x10027d51
cmp byte [ebx + 0xd8], 0
jne 0x10027d51
mov esi, dword [ebx + 0x100]
mov ebx, dword [eax + 0x168]
call dword [section..00cfg]
sub esp, 0x18
mov dword [esp + 0x14], esi
movdqa xmm0, xmmword [0x101af300]
movdqu xmmword [esp + 4], xmm0
mov dword [esp], ebx
call ecx
add esp, 0x18
cmp eax, 1
jne 0x1002c659
mov esi, 0x17
mov eax, str.not_authorized
push eax
mov ebx, dword [ebp - 0x94]
push ebx
call fcn.100463a0
add esp, 8
mov dword [ebx + 0xc], esi
jmp 0x10028226
mov esi, dword [ecx + 0x20]
lea ecx, [esi + 8]
mov edx, esi
call fcn.10172650
test eax, eax
je 0x1002c563
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x1002c20c
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
push eax
push str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov ebx, dword [ebp - 0x94]
push ebx
call fcn.100463a0
add esp, 0xc
jmp 0x1002c16f
cmp dword [ecx + 0x34], 0
jne 0x10027dad
mov eax, dword [ecx + 4]
mov dword [ebp - 0x9c], eax
bt eax, 0x14
jb 0x10027dad
cmp byte [ebx + 0xd8], 1
ja 0x10027dad
mov eax, dword [ebx + 8]
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x1002c6af
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x98]
mov edx, dword [eax + 0x20]
mov dword [ebp - 0xb4], edx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0xbc], edx
mov edx, dword [eax + 0x28]
mov dword [ebp - 0xc4], edx
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0xa0], ecx
test ecx, ecx
je 0x1002c6e7
mov ecx, dword [ebp - 0xa0]
mov edx, 0x40
push 0
call fcn.10157570
add esp, 4
mov dword [ebp - 0xa4], eax
test eax, eax
jne 0x1002c701
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax + 0x104]
test eax, eax
je 0x1002c2e5
mov dword [eax + 0xc], 7
inc dword [eax + 0x24]
xor eax, eax
inc eax
mov ebx, dword [ebp - 0x94]
jmp 0x1002820e
mov edx, dword [ebx + 8]
mov esi, dword [edx]
mov ecx, 0x101f2320
cmp byte [esi + 0x57], 0
jne 0x1002c30c
lea ecx, [eax + eax*4]
shl ecx, 2
add ecx, dword [edx + 0x68]
mov ecx, dword [ecx + 8]
mov ebx, dword [ebp - 0x94]
jmp 0x10028220
mov ecx, dword [ebp - 0xb0]
mov edx, 0x76
push 0
mov eax, dword [ebp - 0xbc]
push dword [eax]
mov eax, dword [ebp + 8]
push dword [eax + 4]
call fcn.1002fb80
add esp, 0xc
mov eax, dword [ebp - 0x98]
test byte [eax + 5], 8
je 0x10028081
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax]
cmp eax, 2
jl 0x1002c3b5
lea ecx, [eax + eax*4]
mov edx, dword [ebp - 0xbc]
test byte [edx + ecx*4], 0x40
jne 0x1002c3bd
mov edx, dword [ebp - 0xbc]
lea esi, [edx + ecx*4]
add esi, 0xfffffff8
inc eax
mov edi, eax
mov edx, dword [esi - 4]
test edx, edx
je 0x1002c38a
mov ecx, dword [ebp - 0xac]
call fcn.1014c9e0
mov edx, dword [esi]
test edx, edx
je 0x1002c39b
mov ecx, dword [ebp - 0xac]
call fcn.1014d210
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ecx]
dec eax
mov dword [ecx], eax
dec edi
cmp edi, 2
jbe 0x1002c3b5
test byte [esi - 0xc], 0x40
lea esi, [esi - 0x14]
je 0x1002c378
test eax, eax
jle 0x10028081
mov ecx, dword [ebp - 0xbc]
add ecx, 8
xor edx, edx
test byte [ecx + 0xc], 0x40
jne 0x1002c3db
mov eax, dword [ecx]
mov byte [eax], 0x79
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax]
inc edx
add ecx, 0x14
cmp edx, eax
jl 0x1002c3c8
jmp 0x10028081
push str.DISTINCT
push str.USE_TEMP_B_TREE_FOR__s
push 0
push ebx
call fcn.1002faf0
mov edx, dword [ebp - 0xb0]
add esp, 0x10
jmp 0x100281cc
mov ecx, ebx
mov edx, dword [ebp - 0x98]
call fcn.10172710
mov edx, dword [ebp - 0x98]
jmp 0x1002810e
mov eax, dword [ebx + 0x2c]
mov edi, dword [ebx + 0x38]
lea ecx, [edi - 1]
mov dword [ebp - 0x9c], ecx
lea ecx, [edi - 2]
mov dword [ebp - 0xa0], ecx
mov ecx, ebx
lea ebx, [edi - 3]
mov dword [ecx + 0x38], ebx
inc eax
mov dword [ecx + 0x2c], eax
push dword [ebp - 0x9c]
mov dword [ebp - 0x9c], eax
push eax
push esi
call fcn.101729e0
add esp, 0xc
xor eax, eax
mov esi, dword [ebp - 0xb0]
mov ecx, esi
mov edx, 9
push eax
push ebx
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [esi + 0xc]
mov eax, edi
neg eax
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x1002c57d
mov edx, dword [ebp - 0xb0]
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
lea eax, [ebp - 0x70]
mov dword [eax + 0x1c], 0
lea esi, [ebp - 0x48]
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
push ebx
push dword [ebp - 0xa0]
push dword [ebp + 8]
push esi
push eax
push 0xffffffffffffffff
call fcn.10032680
add esp, 0x18
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0xc]
xor eax, eax
inc eax
sub eax, edi
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x1002c591
mov edx, dword [ebp - 0xb0]
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
xor eax, eax
mov esi, dword [ebp - 0xb0]
mov ecx, esi
mov edx, 0x43
push eax
mov dword [ebp - 0xc0], 0
push eax
push dword [ebp - 0x9c]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [esi + 0xc]
mov eax, 2
sub eax, edi
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x1002c5a5
mov esi, dword [ebp - 0xb0]
mov edx, dword [esi + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
mov edx, esi
mov ebx, dword [ebp - 0x94]
mov esi, dword [ebp - 0xac]
jmp 0x100281c2
mov eax, 3
jmp 0x10027f5f
and edi, 0xff7fffff
mov ecx, dword [ebp - 0x98]
mov dword [ecx + 4], edi
mov ebx, dword [ebp - 0x94]
jmp 0x10027d87
mov edx, dword [ebp - 0xb0]
push eax
call fcn.10032440
add esp, 4
jmp 0x1002c4a4
mov edx, dword [ebp - 0xb0]
push eax
call fcn.10032440
add esp, 4
jmp 0x1002c4fc
mov esi, dword [ebp - 0xb0]
mov edx, esi
push eax
call fcn.10032440
mov edx, esi
add esp, 4
jmp 0x1002c548
mov edx, 0xfffffff8
push dword [ebp - 0xa4]
call fcn.100056c0
add esp, 4
jmp 0x10028072
movzx edx, byte [esi + 0x2c]
lea edx, [edx + edx*2]
shl edx, 5
cmp dword [edx + esi + 0x2d0], 0
lea ebx, [esi + 0x1c]
lea edx, [edx + esi + 0x2a8]
cmovne edx, ebx
mov ebx, dword [ebp - 0x94]
jmp 0x10028371
mov eax, 0x101f2320
jmp 0x10028405
mov ecx, dword [ebx]
test ecx, ecx
je 0x1002c690
mov edx, 0xc
push 0
call fcn.10157570
add esp, 4
test eax, eax
je 0x1002c69e
mov edx, dword [ebp - 0x94]
mov ecx, dword [edx + 0x84]
mov dword [eax], ecx
mov dword [edx + 0x84], eax
mov dword [eax + 4], esi
mov dword [eax + 8], 0x1015f3a0
mov edx, dword [ebp - 0x98]
mov dword [edx + 0x30], 0
mov ebx, dword [ebp - 0x94]
jmp 0x10028438
test eax, 0xfffffffd
je 0x1002ccc5
xor esi, esi
inc esi
mov eax, str.authorizer_malfunction
jmp 0x1002c1d3
mov edx, 0xfffffff8
push esi
call fcn.100056c0
mov edx, dword [ebp - 0xb0]
add esp, 4
mov edi, dword [ebp - 0xa0]
jmp 0x10028593
mov ecx, 0xc
xor edx, edx
call fcn.10143580
jmp 0x1002c61f
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov edx, esi
call fcn.10017250
jmp 0x1002c641
mov eax, dword [ebp - 0x94]
cmp dword [eax + 0x78], 0
je 0x1002cd62
mov ecx, dword [ebp - 0x94]
call fcn.1002f500
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x9c], ecx
mov esi, dword [eax + 0x44]
jmp 0x1002c261
mov ecx, 0x40
xor edx, edx
call fcn.10143580
mov dword [ebp - 0xa4], eax
test eax, eax
je 0x1002c2e5
mov edi, dword [ebp - 0x98]
lea eax, [edi + 0x20]
mov dword [ebp - 0xb8], eax
pxor xmm0, xmm0
mov eax, dword [ebp - 0xa4]
movdqu xmmword [eax + 0x30], xmm0
movdqu xmmword [eax + 0x20], xmm0
movdqu xmmword [eax + 0x10], xmm0
movdqu xmmword [eax], xmm0
lea ecx, [ebp - 0x70]
movdqu xmmword [ecx + 0xc], xmm0
mov eax, dword [ebp - 0x94]
mov dword [ecx], eax
mov dword [ecx + 4], 0x10075960
mov dword [ecx + 8], sym.nss3.dll_SECMOD_CanDeleteInternalModule
mov edx, edi
call fcn.1002f720
mov eax, dword [edi + 4]
test al, 8
jne 0x1002c7a8
mov dword [ebp - 0x6c], 0x10173840
mov dword [ebp - 0x68], 0
mov ecx, dword [ebp - 0x98]
mov ebx, dword [ecx + 0x30]
test ebx, ebx
je 0x1002c7a8
mov edi, dword [ebx]
test edi, edi
jle 0x1002c7a8
add ebx, 8
mov edx, dword [ebx]
test edx, edx
je 0x1002c79a
lea ecx, [ebp - 0x70]
call fcn.1014d480
test eax, eax
jne 0x1002c79f
cmp edi, 1
jle 0x1002c79f
dec edi
add ebx, 0x14
jmp 0x1002c77d
cmp edi, 2
jge 0x1002c794
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 4]
and eax, 0xffeffff7
or eax, 0x100000
mov ecx, dword [ebp - 0xb8]
pxor xmm0, xmm0
movdqu xmmword [ecx], xmm0
mov ecx, dword [ebp - 0x98]
mov dword [ecx + 4], eax
xor edi, edi
inc edi
mov dword [ebp - 0xcc], 0
mov ebx, dword [ebp - 0x94]
mov ecx, ebx
xor edx, edx
push edi
push dword [esi + 8]
call fcn.10173870
add esp, 8
mov ecx, ebx
mov edx, eax
push edi
push dword [esi + 0xc]
call fcn.10173870
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x1002c868
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x1002c868
mov eax, dword [eax]
mov ecx, dword [ebp - 0xd4]
mov ebx, dword [ecx]
cmp eax, ebx
jg 0x1002c868
mov ecx, dword [ebp - 0xd4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x98]
mov edx, dword [eax + 0x30]
call fcn.10157660
test eax, eax
jne 0x1002c860
mov eax, dword [ebp - 0x98]
mov edx, dword [eax + 0x30]
test edx, edx
je 0x1002c853
mov ecx, dword [ebp - 0xa0]
call fcn.10017250
mov eax, dword [ebp - 0x98]
mov dword [eax + 0x30], 0
mov eax, dword [ebp - 0xd4]
mov dword [eax], ebx
mov ebx, dword [ebp - 0x94]
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, [ebp - 0x2c]
mov ecx, ebx
mov edx, esi
push eax
push dword [ebp - 0xa4]
mov edi, dword [ebp - 0x98]
push dword [edi + 0x1c]
push dword [ebp - 0xb4]
call fcn.101739c0
add esp, 0x10
mov ecx, ebx
mov edx, esi
lea ebx, [ebp - 0x2c]
push ebx
push dword [ebp - 0xa4]
push dword [edi + 0x30]
push dword [ebp - 0xb4]
call fcn.101739c0
add esp, 0x10
mov edx, dword [ebx]
test edx, edx
je 0x1002c8d0
mov eax, dword [edx]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xcc]
mov dword [esi + 0x4c], eax
xor ebx, ebx
mov edi, dword [ebp - 0x94]
mov ecx, edi
push ebx
push dword [esi + 8]
call fcn.10173870
add esp, 8
mov ecx, edi
mov edx, eax
push ebx
push dword [esi + 0xc]
call fcn.10173870
add esp, 8
mov ebx, eax
mov dword [ebp - 0x2c], eax
mov edi, esi
mov ecx, dword [edi + 0x2c]
mov eax, dword [edi + 0x48]
mov eax, dword [eax + 0x14]
test byte [ecx + 6], 0x10
jne 0x1002c93a
xor ecx, ecx
test ebx, ebx
je 0x1002c91d
mov ecx, dword [ebx]
mov dword [edi + 0x50], ecx
mov ecx, dword [ebp - 0x94]
mov edx, ebx
push 0
push eax
call fcn.10173870
add esp, 8
mov ebx, eax
mov dword [ebp - 0x2c], eax
jmp 0x1002c96d
mov ecx, dword [ebp - 0x94]
mov edx, esi
lea ebx, [ebp - 0x2c]
push ebx
push dword [ebp - 0xa4]
push eax
push dword [ebp - 0xb4]
call fcn.101739c0
add esp, 0x10
mov eax, dword [ebp - 0x2c]
mov ebx, eax
test eax, eax
je 0x1002c9e0
mov eax, dword [ebx]
mov dword [edi + 0x50], eax
mov byte [edi + 0x60], 1
mov edx, dword [edi + 0x28]
test edx, edx
je 0x1002c99c
mov ecx, dword [ebp - 0xa0]
xor eax, eax
push eax
push eax
call fcn.10001810
add esp, 8
mov ecx, dword [ebp - 0x94]
mov edx, ebx
push eax
call fcn.101577d0
add esp, 4
mov ebx, eax
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x94]
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [ecx + 0x2c], eax
mov dword [edi + 0x34], eax
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [ecx + 0x2c], eax
mov dword [edi + 0x38], eax
mov ecx, dword [ebp - 0xc0]
mov edx, 0x4b
xor eax, eax
push eax
push dword [edi + 0x34]
push eax
call fcn.1002fb80
add esp, 0xc
mov edi, dword [edi + 0x24]
test edi, edi
jne 0x1002c906
jmp 0x1002d85c
xor eax, eax
jmp 0x1002c966
mov eax, dword [ebp - 0x94]
cmp dword [eax + 0x78], 0
je 0x1002cf98
mov ecx, dword [ebp - 0x94]
call fcn.1002f500
mov esi, eax
mov ecx, dword [ebp - 0x98]
jmp 0x10027e58
mov esi, dword [ebp - 0x98]
mov edx, dword [esi + 0x3c]
xor ecx, ecx
mov dword [ebp - 0xa0], edx
test edx, edx
sete dl
cmp dword [esi + 0x44], 0
jne 0x10027e7c
mov cl, dl
xor ebx, ebx
inc ebx
mov esi, dword [ebp - 0x98]
mov edx, dword [esi + 0x34]
test edx, edx
je 0x1002d7ef
add ebx, ecx
cmp dword [edx + 0x44], 0
mov esi, edx
je 0x1002ca37
jmp 0x10027e7c
test byte [esi + 0x2c], 0x40
je 0x1002887d
jmp 0x1002ce91
lea esi, [ecx - 1]
mov edx, eax
mov ecx, ebx
push dword [ebp - 0xe4]
push esi
call fcn.1001b410
pxor xmm0, xmm0
add esp, 8
test eax, eax
mov ecx, dword [ebp - 0xb4]
je 0x10028e35
mov dword [ecx + 0x20], eax
jmp 0x10028c17
mov edx, dword [esi + ebx]
mov ecx, dword [ebp - 0xb8]
call fcn.10073120
pxor xmm0, xmm0
jmp 0x10028c4f
mov ecx, dword [ebp - 0xb4]
test byte [ecx + 6], 0x40
jne 0x10028cf7
mov edx, dword [eax]
test edx, edx
jle 0x1002cbe1
lea ecx, [edx + 7]
and ecx, 0xfffffff8
dec edx
movd xmm0, edx
pshufd xmm0, xmm0, 0
lea edx, [eax + 0xa4]
movdqa xmm1, xmmword [0x101af260]
movdqa xmm2, xmmword [0x101af270]
movdqa xmm3, xmmword [0x101af280]
movdqa xmm4, xmm0
pxor xmm4, xmm3
movdqa xmm5, xmm2
pxor xmm5, xmm3
pcmpgtd xmm5, xmm4
movd ebx, xmm5
not ebx
test bl, 1
je 0x1002cb17
mov word [edx - 0x8c], 0
pcmpeqd xmm6, xmm6
pxor xmm6, xmm5
movdqa xmm7, xmm6
psrlq xmm7, 0x10
movd ebx, xmm7
shr ebx, 0x10
test bl, 1
je 0x1002cb3a
mov word [edx - 0x78], 0
pextrw ebx, xmm6, 4
test bl, 1
je 0x1002cb4a
mov word [edx - 0x64], 0
pcmpeqd xmm6, xmm6
pxor xmm5, xmm6
pextrw ebx, xmm5, 6
test bl, 1
je 0x1002cb62
mov word [edx - 0x50], 0
pxor xmm3, xmm1
pcmpgtd xmm3, xmm4
pshufd xmm4, xmm3, 0x44
pxor xmm4, xmm6
pextrw ebx, xmm4, 4
test bl, 1
je 0x1002cb83
mov word [edx - 0x3c], 0
pcmpeqd xmm4, xmm4
pxor xmm4, xmm3
pextrw ebx, xmm4, 2
test bl, 1
je 0x1002cb9b
mov word [edx - 0x28], 0
pextrw ebx, xmm4, 4
test bl, 1
je 0x1002cbab
mov word [edx - 0x14], 0
pcmpeqd xmm4, xmm4
pxor xmm3, xmm4
pextrw ebx, xmm3, 7
test bl, 1
je 0x1002cbc2
mov word [edx], 0
movdqa xmm3, xmmword [str._b_b_b_b]
paddd xmm2, xmm3
paddd xmm1, xmm3
add edx, 0xa0
add ecx, 0xfffffff8
jne 0x1002cae7
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x30], eax
mov edx, dword [ebp - 0xa4]
mov dword [edx + 0x30], 0
mov esi, dword [ebp - 0x94]
pxor xmm0, xmm0
jmp 0x10028cf7
mov ecx, edi
mov edx, dword [ebp - 0xd4]
push 1
call fcn.10003da0
mov edx, dword [ebp - 0xa4]
pxor xmm0, xmm0
add esp, 4
jmp 0x10028d0e
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x1002cc4b
mov ecx, dword [ebp - 0x94]
mov edx, 0x2c
push eax
push edi
call fcn.10016a00
add esp, 8
mov edi, eax
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x24], edi
mov ebx, dword [ebp - 0x94]
pxor xmm0, xmm0
mov edx, dword [ebp - 0xa4]
jmp 0x10028d18
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x3c], eax
mov dword [edx + 0x3c], 0
jmp 0x10028d9f
mov ecx, dword [ebx]
test ecx, ecx
je 0x1002d006
mov edx, 0xc
push 0
call fcn.10157570
add esp, 4
test eax, eax
je 0x1002d017
mov ebx, dword [ebp - 0x94]
mov ecx, dword [ebx + 0x84]
mov dword [eax], ecx
mov dword [ebx + 0x84], eax
mov ecx, dword [ebp - 0xa0]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0x10167be0
jmp 0x1002ccfc
test eax, eax
mov ebx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
je 0x10027d51
xor edi, edi
inc edi
jmp 0x10028226
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x38]
mov dword [ecx + 0x10], eax
mov ebx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
jmp 0x10029644
mov edx, dword [ebx + 8]
mov esi, dword [edx]
mov ecx, 0x101f2320
cmp byte [esi + 0x57], 0
jne 0x1002cd20
lea ecx, [eax + eax*4]
shl ecx, 2
add ecx, dword [edx + 0x68]
mov ecx, dword [ecx + 8]
mov ebx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
jmp 0x10029610
mov ecx, dword [ebp - 0xb0]
call fcn.1014c9e0
jmp 0x10029402
mov dword [ebp - 0xc0], 0
xor eax, eax
inc eax
mov ebx, dword [ebp - 0x94]
mov esi, dword [ebp - 0xac]
jmp 0x10028200
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
test byte [eax + 0x50], 8
jne 0x1002c6bf
mov eax, dword [ebp - 0x94]
mov byte [eax + 0x17], 1
jmp 0x1002c6bf
cmp dword [ecx + 0x30], 0
je 0x1002d99b
cmp dword [esi + 0x3c], 0
jne 0x1002d9aa
and eax, 0x8000000
jne 0x1002d9aa
mov eax, dword [ebp - 0x98]
test byte [eax + 7], 8
jne 0x1002d9aa
mov eax, dword [ebp - 0xac]
test byte [eax + 0x52], 4
jne 0x1002d9aa
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
test ecx, ecx
je 0x1002eaa7
mov edx, 0xc
push 0
call fcn.10157570
add esp, 4
test eax, eax
je 0x1002eab8
mov edx, dword [ebp - 0x94]
mov ecx, dword [edx + 0x84]
mov dword [eax], ecx
mov dword [edx + 0x84], eax
mov dword [eax + 4], edi
mov dword [eax + 8], 0x1015f3a0
mov dword [esi + 0x30], 0
pxor xmm0, xmm0
jmp 0x100286b6
mov ecx, dword [ebp - 0x98]
cmp dword [ecx + 0x3c], 0
jne 0x1002ce91
cmp dword [eax + 0x10], 0
jne 0x1002ce91
mov ecx, dword [ebp - 0x98]
mov edi, dword [ecx + 4]
bt edi, 8
jae 0x10028752
jmp 0x1002ce91
test byte [ebp - 0xc0], 1
jne 0x1002ce91
mov ecx, dword [ebp - 0x9c]
cmp dword [ecx], 1
jle 0x1002877c
jmp 0x1002ce91
mov dword [ebp - 0xbc], edi
mov edi, dword [ebp - 0xb4]
cmp dword [edi + 0x30], 0
mov edi, dword [ebp - 0xbc]
jne 0x1002ce91
jmp 0x1002878d
mov dword [ebp - 0xbc], edi
mov edi, dword [ebp - 0xb4]
cmp dword [edi + 0x30], 0
mov edi, dword [ebp - 0xbc]
je 0x1002879a
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xac]
jmp 0x10028e91
mov eax, dword [ebp - 0x98]
cmp dword [eax + 0x24], 0
jne 0x1002ce91
mov eax, edi
and eax, 1
jne 0x1002ce91
and edx, 0x2000
je 0x100287ac
jmp 0x1002ce91
mov ecx, 0x2c
xor edx, edx
call fcn.10143580
jmp 0x1002a6dc
mov ecx, 0xc
xor edx, edx
call fcn.10143580
jmp 0x1002a713
cmp dword [ebp - 0xa0], 0
je 0x1002cf2e
pxor xmm0, xmm0
movdqu xmmword [ebp - 0x24], xmm0
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], 0x10178a30
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x14], eax
mov edx, dword [eax + 0x2c]
test edx, edx
je 0x1002cf1f
lea ecx, [ebp - 0x2c]
call fcn.1014d480
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xb4], eax
lea ecx, [ebp - 0x2c]
mov dword [ecx + 4], 0x10071140
mov dword [ecx + 8], 0x10173a80
mov dword [ecx + 0xc], 0x10173a90
xor eax, eax
mov dword [ecx + 0x10], eax
lea edx, [ebp - 0x90]
mov dword [ecx + 0x18], edx
mov dword [ecx], eax
mov edx, dword [ebp - 0xc4]
call fcn.1014d480
mov ebx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
mov esi, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa8]
jmp 0x100290c9
mov edx, dword [ebp - 0xb0]
push edi
call fcn.10032440
mov edx, dword [ebp - 0xb0]
add esp, 4
jmp 0x100281c2
mov eax, dword [ebp - 0xb0]
test byte [eax + 0x50], 8
jne 0x1002c9f4
mov eax, dword [ebp - 0x94]
mov byte [eax + 0x17], 1
jmp 0x1002c9f4
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x100298c9
mov ecx, dword [ebp - 0x94]
mov edx, ebx
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.100368d0
add esp, 8
jmp 0x100298c9
mov ecx, dword [ebp - 0xb0]
mov edx, 0x47
push 0
push edi
push 1
call fcn.1002fb80
mov ecx, dword [ebp - 0x9c]
add esp, 0xc
jmp 0x100298d7
mov ecx, 0xc
xor edx, edx
call fcn.10143580
jmp 0x1002cc97
mov ebx, dword [ebp - 0x94]
mov ecx, dword [ebx]
mov edx, dword [ebp - 0xa0]
push 1
call fcn.100170d0
add esp, 4
jmp 0x1002ccfc
cmp esi, 1
jg 0x1002ce91
mov edx, dword [ebp - 0xa4]
mov edx, dword [edx + 0x18]
cmp byte [edx + 0x2b], 1
je 0x1002ce91
mov edx, edi
and edx, 1
and eax, 0x10
or eax, edx
jne 0x1002ce91
xor eax, eax
inc eax
mov dword [ebp - 0xd8], eax
jmp 0x100287d8
mov eax, dword [ebp - 0xa4]
test byte [eax + 0x2c], 0x40
je 0x100287e0
jmp 0x1002ce91
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx + eax*8 + 0x4c]
cmp byte [eax + 0x12], 0
jne 0x100287f7
jmp 0x1002ce91
mov esi, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
jmp 0x1002891d
mov eax, dword [ecx]
test eax, eax
jle 0x1002888b
add ecx, 0x18
cmp word [ecx], 0
je 0x1002ce91
add ecx, 0x14
dec eax
jne 0x1002d0c0
jmp 0x1002888b
mov eax, dword [ebp - 0x94]
cmp dword [eax + 0x68], 0x1f4
jg 0x1002ce91
mov eax, dword [ebp - 0xb8]
test byte [eax + 0x52], 0x80
jne 0x1002ce91
mov eax, dword [ebp - 0x94]
mov edi, dword [eax + 0x28]
mov eax, edi
sar eax, 0x1f
shld eax, edi, 2
shl edi, 2
add edi, 4
adc eax, 0
mov ecx, dword [ebp - 0xb8]
mov edx, edi
push eax
call fcn.10157570
pxor xmm0, xmm0
add esp, 4
test eax, eax
mov esi, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
je 0x1002891d
mov edx, eax
push edi
push 0
mov edi, eax
push edx
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp - 0x9c]
pxor xmm0, xmm0
add esp, 0xc
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 0x28]
mov dword [edi], eax
mov dword [ebp - 0xa8], edi
jmp 0x1002891d
cmp byte [edx + 0xb1], 0
jne 0x10028945
cmp byte [edi + 0xd8], 0
jne 0x10028945
mov edi, dword [edx + 0x168]
call dword [section..00cfg]
sub esp, 0x18
mov eax, dword [ebp - 0xa4]
mov dword [esp + 0x14], eax
movdqa xmm0, xmmword [0x101af300]
movdqu xmmword [esp + 4], xmm0
mov dword [esp], edi
call ecx
add esp, 0x18
cmp eax, 1
jne 0x1002e940
mov esi, 0x17
mov eax, str.not_authorized
push eax
mov edi, dword [ebp - 0x94]
push edi
call fcn.100463a0
add esp, 8
mov dword [edi + 0xc], esi
pxor xmm0, xmm0
mov esi, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x9c]
jmp 0x10028945
mov ecx, dword [ebp - 0xb8]
call fcn.1014d210
mov eax, dword [ebp - 0x9c]
pxor xmm0, xmm0
jmp 0x10028970
mov ecx, dword [ebp - 0xb8]
call fcn.1014d210
mov eax, dword [ebp - 0x9c]
pxor xmm0, xmm0
jmp 0x10028988
mov ecx, dword [ebp - 0xb8]
call fcn.1014d210
mov eax, dword [ebp - 0x9c]
pxor xmm0, xmm0
jmp 0x10028994
mov eax, dword [ebp - 0xbc]
mov edi, eax
pxor xmm0, xmm0
mov ecx, dword [ebp - 0x9c]
mov esi, dword [ebp - 0xb4]
jmp 0x10028a9b
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0x57], 0
jne 0x10028a79
mov ecx, dword [ebp - 0x94]
mov esi, dword [ebp - 0xa8]
mov edx, esi
push ebx
push dword [edi + 0x20]
call fcn.10173d00
add esp, 8
pxor xmm0, xmm0
lea ecx, [ebp - 0x90]
movdqu 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], 0x10173d90
mov dword [ecx + 8], sym.nss3.dll_SECMOD_CanDeleteInternalModule
mov edx, edi
call fcn.1002f720
pxor xmm0, xmm0
mov edx, dword [ebp - 0x98]
jmp 0x10028a79
mov dword [eax + 0x38], edi
jmp 0x10028a96
mov ecx, dword [ebp - 0xb8]
call fcn.1014d210
mov ecx, dword [ebp - 0x9c]
pxor xmm0, xmm0
mov esi, dword [ebp - 0x98]
jmp 0x10028abf
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xa4]
mov dword [ecx], eax
mov ebx, dword [ebp - 0x94]
jmp 0x10028e74
dec eax
mov dword [esi + 0x18], eax
jmp 0x10028b4b
mov ecx, 0xc
xor edx, edx
call fcn.10143580
jmp 0x1002a872
cmp eax, 0x88
je 0x10027ed7
mov ecx, dword [ebp - 0x94]
mov ebx, dword [ecx + 0x28]
lea eax, [ebx + 2]
mov dword [ecx + 0x28], eax
xor eax, eax
mov ecx, dword [ebp - 0xc0]
mov esi, edx
mov edx, 0x76
push eax
push eax
mov dword [ebp - 0xac], ebx
push ebx
call fcn.1002fb80
add esp, 0xc
mov dword [esi + 0x14], eax
mov ecx, esi
mov eax, ecx
mov ecx, dword [ecx + 0x38]
test ecx, ecx
jne 0x1002d35c
or byte [eax + 4], 0x20
lea esi, [ebp - 0x90]
mov byte [esi], 1
mov eax, dword [ebp - 0xac]
mov dword [esi + 4], eax
pxor xmm0, xmm0
movdqu xmmword [esi + 8], xmm0
mov ecx, dword [ebp - 0x94]
mov edx, edi
push esi
call fcn.10027cd0
add esp, 4
mov dword [ebp - 0x9c], eax
test eax, eax
jne 0x1002cce7
mov eax, dword [ebp - 0xac]
lea ebx, [eax + 1]
xor eax, eax
mov ecx, dword [ebp - 0xc0]
mov edx, 0x76
push eax
push eax
push ebx
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebp - 0x98]
mov dword [ecx + 0x18], eax
xor edx, edx
mov dword [ecx + 0x34], edx
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xa4], eax
mov dword [ecx + 0x3c], edx
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0x8c], ebx
mov cl, byte [ecx]
add cl, 0x79
mov eax, str.UNION
cmp cl, 2
ja 0x1002d403
movsx eax, cl
mov eax, dword [eax*4 + 0x101b5edc]
push eax
push str._s_USING_TEMP_B_TREE
push 1
mov ebx, dword [ebp - 0x94]
push ebx
call fcn.1002faf0
add esp, 0x10
mov ecx, ebx
mov ebx, dword [ebp - 0x98]
mov edx, ebx
push esi
call fcn.10027cd0
add esp, 4
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0xa0], eax
mov dword [ebx + 0x34], edi
movzx eax, word [edi + 2]
cmp word [ebx + 2], ax
jle 0x1002d453
mov ecx, dword [ebp - 0x98]
mov word [ecx + 2], ax
mov eax, dword [ebp - 0x98]
mov edx, dword [eax + 0x3c]
test edx, edx
je 0x1002d46b
mov ecx, dword [ebp - 0xb0]
call fcn.1014c9e0
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xa4]
mov dword [eax + 0x3c], ecx
cmp dword [ebp - 0x9c], 0
jne 0x1002d736
mov esi, dword [ebp - 0x94]
mov edi, dword [esi + 0x38]
lea ebx, [edi - 1]
lea eax, [edi - 2]
mov dword [ebp - 0xa4], eax
mov dword [esi + 0x38], eax
mov ecx, esi
mov edx, dword [ebp - 0x98]
push ebx
call fcn.10039a10
add esp, 4
mov ecx, dword [ebp - 0xc0]
mov edx, 0x24
push 0
mov dword [ebp - 0xbc], ebx
push ebx
push dword [ebp - 0xac]
call fcn.1002fb80
add esp, 0xc
mov al, byte [esi + 0x13]
test al, al
je 0x1002ed0c
dec al
mov ecx, dword [ebp - 0x94]
mov byte [ecx + 0x13], al
movzx eax, al
mov esi, dword [ecx + eax*4 + 0xa0]
mov ebx, dword [ebp - 0xc0]
mov ecx, ebx
mov edx, 0x86
push 0
push esi
push dword [ebp - 0xac]
call fcn.1002fb80
add esp, 0xc
mov dword [ebp - 0xc4], eax
mov ecx, ebx
mov edx, 0x1c
push esi
push dword [ebp - 0xa4]
push dword [ebp - 0xb4]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
jne 0x1002d553
mov ecx, dword [ebp - 0xc0]
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 0x1002d57a
mov eax, dword [ebp - 0x94]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x1002d57a
mov ecx, eax
inc cl
mov edx, dword [ebp - 0x94]
mov byte [edx + 0x13], cl
mov dword [edx + eax*4 + 0xa0], esi
lea eax, [ebp - 0x48]
xor esi, esi
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
push dword [ebp - 0xbc]
push dword [ebp - 0xa4]
push eax
push esi
push esi
push dword [ebp - 0xac]
call fcn.10032680
add esp, 0x18
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0xc]
xor eax, eax
inc eax
sub eax, edi
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x1002ed1e
mov edx, dword [ebp - 0xc0]
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
mov esi, dword [ebp - 0xc0]
mov ecx, esi
mov edx, 0x27
push 0
push dword [ebp - 0xc4]
push dword [ebp - 0xac]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [esi + 0xc]
neg edi
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1002ed32
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + edi*4], eax
xor esi, esi
mov edi, dword [ebp - 0xc0]
mov ecx, edi
mov edx, 0x7a
push esi
push esi
push dword [ebp - 0xb4]
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, 0x7a
push esi
push esi
push dword [ebp - 0xac]
call fcn.1002fb80
add esp, 0xc
jmp 0x1002d736
xor ebx, ebx
mov ecx, dword [ebp - 0xc0]
mov edx, 0x11
push ebx
push ebx
push eax
call fcn.1002fb80
add esp, 0xc
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1002dc08
mov ecx, dword [ebp - 0xc0]
mov edx, 0xa0
push eax
inc eax
push eax
mov esi, dword [ebp - 0x98]
push dword [esi + 8]
call fcn.1002fb80
add esp, 0xc
mov ebx, dword [ebp - 0x94]
jmp 0x100291bc
mov ecx, dword [eax + 0xc]
lea edx, [ebp - 0x90]
call fcn.10043cc0
mov edx, dword [ebp - 0x98]
test eax, eax
je 0x100295e7
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa4], eax
test eax, eax
jle 0x100295e7
cmp dword [ebp - 0xa4], 8
jae 0x1002dfc7
cmp dword [ebp - 0xa4], 2
jae 0x1002e6e2
test si, si
mov ebx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
jle 0x100295e7
xor ecx, ecx
jmp 0x1002ec16
mov eax, dword [ebp - 0xc0]
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
jne 0x1002d733
mov ecx, dword [ebp - 0xac]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [ebp - 0xc0]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov ebx, dword [ebp - 0x94]
jmp 0x1002957c
mov dword [ebp - 0xa0], 0
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
mov ebx, 0x500
mov dword [ebp - 0xd0], ecx
cmove ebx, ecx
jmp 0x10029842
test edx, edx
jne 0x1002914a
mov ecx, dword [edi + 8]
call fcn.10157a60
test eax, eax
setne bl
add bl, bl
mov al, 1
jmp 0x100293b4
mov dword [ebp - 0x9c], 7
mov ebx, dword [ebp - 0x94]
mov edx, esi
jmp 0x10029628
mov ecx, 0x101f2320
jmp 0x100296f7
cmp dword [edx + 0x208], 0
jne 0x1002972b
mov dword [edi], ecx
test ecx, ecx
jne 0x1002972b
mov ecx, dword [edi + 0xc]
mov edx, edi
call fcn.1014c8d0
jmp 0x1002972b
mov ecx, dword [edi + 0xc]
mov edx, edi
call fcn.1014c8d0
mov edx, dword [ebp - 0x98]
jmp 0x100297a6
mov edx, edi
push esi
call fcn.10032440
add esp, 4
jmp 0x10029545
cmp ebx, 1
mov eax, 0x101e0242
mov ecx, 0x101d1b2f
cmove ecx, eax
push ecx
push ebx
push str.SCAN__d_CONSTANT_ROW_s
push 0
push dword [ebp - 0x94]
call fcn.1002faf0
add esp, 0x14
xor eax, eax
mov ecx, dword [ebp - 0x94]
mov edx, esi
xor edi, edi
inc edi
push edi
push edi
lea edi, [ebp - 0x48]
push edi
push eax
mov dword [ebp - 0x9c], 0
push eax
push 0xffffffffffffffff
call fcn.10032680
add esp, 0x18
cmp dword [ebp - 0xa0], 0
jne 0x1002cce7
mov word [esi + 2], bx
mov esi, dword [esi + 0x38]
test esi, esi
jne 0x1002d816
jmp 0x1002cce7
test ebx, ebx
jne 0x1002d89d
lea eax, [ebp - 0x90]
mov dword [eax], 0x101d930f
mov dword [eax + 4], 1
mov ecx, dword [ebp - 0xa0]
mov edx, 0x9b
push 0
push eax
call fcn.100383a0
add esp, 8
mov ecx, dword [ebp - 0x94]
mov ecx, dword [ecx]
mov edx, eax
call fcn.100167f0
mov ebx, eax
mov dword [ebp - 0x2c], eax
xor edi, edi
mov esi, dword [ebp - 0x94]
mov ecx, esi
mov edx, ebx
push edi
push edi
push dword [ebp - 0xd4]
push dword [ebp - 0xa8]
push dword [ebp - 0xc4]
push dword [ebp - 0xbc]
push dword [ebp - 0xb4]
call fcn.10017a60
add esp, 0x1c
mov dword [ebp - 0xc0], eax
mov ecx, esi
xor edx, edx
push edi
push edi
call fcn.100176b0
add esp, 8
mov ecx, dword [ebp - 0xb8]
mov dword [ecx], eax
test eax, eax
jne 0x1002ec38
mov bl, 1
cmp dword [ebp - 0xc0], 0
je 0x1002d916
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xc0]
push 1
call fcn.100170d0
add esp, 4
mov eax, dword [ebp - 0xa0]
mov al, byte [eax + 0x57]
mov byte [ebp - 0x9c], al
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
test ecx, ecx
je 0x1002e05b
mov edx, 0xc
push 0
call fcn.10157570
add esp, 4
test eax, eax
je 0x1002e06c
mov edx, dword [ebp - 0x94]
mov ecx, dword [edx + 0x84]
mov dword [eax], ecx
mov dword [edx + 0x84], eax
mov ecx, dword [ebp - 0xa4]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0x100726c0
cmp byte [ebp - 0x9c], 0
setne al
xor bl, 1
or bl, al
mov ebx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x98]
mov eax, 1
je 0x10027dad
jmp 0x1002820e
mov ecx, dword [ebp - 0x9c]
cmp dword [ecx], 2
jge 0x1002cd8d
test ebx, ebx
mov eax, dword [ebp - 0x98]
pxor xmm0, xmm0
jne 0x100286b6
test byte [eax + 6], 4
je 0x100286b6
xor eax, eax
mov ecx, dword [ebp - 0x9c]
cmp dword [ecx], 1
jne 0x1002e0b0
mov ecx, dword [ebp - 0x98]
jmp 0x10027e1f
mov ecx, dword [ebp - 0x9c]
mov edx, 0xa
xor esi, esi
push esi
push eax
push dword [ebp - 0x64]
call fcn.1002fb80
add esp, 0xc
mov esi, dword [ebp - 0x9c]
mov ecx, esi
mov edx, 9
xor eax, eax
push eax
push dword [ebp - 0xcc]
push eax
call fcn.1002fb80
add esp, 0xc
mov eax, dword [ebp - 0x60]
mov ecx, dword [esi + 0xc]
not eax
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x1002e09c
mov edx, dword [ebp - 0x9c]
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
mov esi, dword [ebp - 0xd0]
jmp 0x100299e5
mov edx, 0x23
push 0
push dword [ebp - 0xcc]
push dword [ebp - 0xb8]
call fcn.1002fb80
add esp, 0xc
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0xc]
xor edi, edi
inc edi
test eax, eax
jle 0x1002e014
mov ecx, dword [ebp - 0x9c]
mov edx, 0x3b
push 1
push ebx
push eax
call fcn.1002fb80
add esp, 0xc
mov eax, dword [ebp - 0x98]
cmp dword [eax + 0xc], 0
jle 0x1002e014
mov esi, dword [ebp - 0x9c]
mov ecx, esi
mov edx, 0x56
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0x98]
push dword [eax + 8]
call fcn.1002fb80
mov edx, esi
add esp, 0xc
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xbc], eax
jmp 0x10029b2b
xor eax, eax
mov edx, 0xf
push eax
push eax
push eax
call fcn.1002fb80
mov ecx, dword [ebp - 0x9c]
add esp, 0xc
mov ebx, eax
jmp 0x10029a53
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
jne 0x1002db1e
lea ecx, [ebx + ebx*4]
shl ecx, 2
mov edx, dword [ebp - 0x9c]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
jmp 0x10029a9d
cmp byte [ebp - 0xd0], 0xb
jne 0x1002db3c
cmp dword [ebp - 0xa8], 1
jne 0x1002e88a
cmp dword [ebp - 0xc4], 0
je 0x1002db71
mov eax, dword [ebp - 0x94]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x1002db71
mov ecx, eax
inc cl
mov edx, dword [ebp - 0x94]
mov byte [edx + 0x13], cl
lea eax, [edx + eax*4]
add eax, 0xa0
mov ecx, dword [ebp - 0xc4]
mov dword [eax], ecx
mov ebx, dword [ebp - 0x94]
movzx eax, byte [ebx + 0x13]
cmp eax, 7
mov esi, dword [ebp - 0xac]
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xc8]
ja 0x1002a5fa
mov edi, ecx
mov ecx, eax
inc cl
mov byte [ebx + 0x13], cl
mov dword [ebx + eax*4 + 0xa0], edi
jmp 0x1002a5fa
mov ecx, edx
mov edx, 0x27
push 0
push edi
push dword [ebp - 0xb8]
call fcn.1002fb80
jmp 0x1002bf8e
xor esi, esi
mov ecx, dword [ebp - 0x9c]
mov edx, 0x43
push esi
push esi
mov esi, dword [ebp - 0xac]
push eax
call fcn.1002fb80
mov edx, dword [ebp - 0xb0]
add esp, 0xc
jmp 0x1002a673
mov edx, dword [ebp - 0x9c]
push edi
call fcn.10032440
mov edx, dword [ebp - 0xb0]
add esp, 4
jmp 0x100281d7
mov ebx, dword [ebp - 0x94]
mov esi, dword [ebp - 0x98]
jmp 0x100291bc
push str.cannot_use_window_functions_in_recursive_queries
mov ebx, dword [ebp - 0x94]
push ebx
call fcn.100463a0
mov edx, dword [ebp - 0x98]
add esp, 8
jmp 0x1002a1ba
cmp byte [eax + 0xb1], 0
jne 0x10029db3
cmp byte [ebx + 0xd8], 0
jne 0x10029db3
mov ebx, dword [ebx + 0x100]
mov eax, dword [eax + 0x168]
mov dword [ebp - 0x9c], eax
call dword [section..00cfg]
sub esp, 0x18
mov dword [esp + 0x14], ebx
movdqa xmm0, xmmword [0x101af310]
movdqu xmmword [esp + 4], xmm0
mov eax, dword [ebp - 0x9c]
mov dword [esp], eax
call ecx
add esp, 0x18
cmp eax, 1
jne 0x1002edb0
mov esi, 0x17
mov eax, str.not_authorized
push eax
mov ebx, dword [ebp - 0x94]
push ebx
call fcn.100463a0
add esp, 8
mov dword [ebx + 0xc], esi
mov edx, dword [ebp - 0x98]
jmp 0x1002a1ba
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
call fcn.1005dc50
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
add eax, 2
mov ecx, edi
mov edx, 0x76
push 0
push eax
push dword [ebp - 0xac]
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, eax
push 0xfffffffffffffff8
push dword [ebp - 0xb4]
call fcn.1003a120
add esp, 8
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x78], eax
jmp 0x10029f09
push str.recursive_aggregate_queries_not_supported
push ebx
call fcn.100463a0
add esp, 8
mov edx, dword [ebp - 0x98]
jmp 0x1002a199
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
inc eax
mov ecx, edi
mov edx, 0x5e
push esi
push eax
push dword [ebp - 0xac]
call fcn.1002fb80
jmp 0x1002c08a
mov ecx, edi
mov edx, 0x3b
push 1
push esi
push eax
call fcn.1002fb80
mov edx, dword [ebp - 0x98]
add esp, 0xc
jmp 0x1002a0ab
mov ecx, edi
mov edx, 0x3d
push 0
push ebx
push eax
call fcn.1002fb80
add esp, 0xc
jmp 0x1002a0d9
mov edx, edi
push esi
call fcn.10032440
add esp, 4
jmp 0x1002a0f9
mov edx, edi
push esi
call fcn.10032440
mov edx, dword [ebp - 0x98]
add esp, 4
jmp 0x1002a199
mov ecx, dword [ebx]
call fcn.10017250
jmp 0x1002a1a6
mov dword [ebp - 0xc0], 0
jmp 0x100297c5
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x14]
mov ecx, edx
mov edx, 0x61
push dword [ebp - 0xc8]
mov edi, dword [ebp - 0xa8]
push edi
mov ebx, dword [ebp - 0xc4]
push ebx
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebp - 0x9c]
mov edx, eax
push edi
push esi
mov esi, dword [ebp - 0xac]
call fcn.1003a120
add esp, 8
mov ecx, dword [ebp - 0x9c]
mov edx, 0x8a
push ebx
push dword [ebp - 0xc8]
push dword [ebp - 0xe0]
call fcn.1002fb80
mov edx, dword [ebp - 0x9c]
add esp, 0xc
mov ecx, dword [edx]
cmp byte [ecx + 0x57], 0
jne case.0x10029c3e.10
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
mov edi, dword [ebp - 0xa8]
mov dword [ecx + eax*4 + 0x10], edi
jmp case.0x10029c3e.10
mov ecx, edx
mov edx, 0x5e
push dword [ebp - 0xc4]
push dword [ebp - 0xd8]
push dword [ebp - 0xbc]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebp - 0x9c]
mov edx, 0x7f
push 0
mov edi, dword [ebp - 0xc8]
push edi
mov ebx, dword [ebp - 0xe0]
push ebx
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebp - 0x9c]
mov edx, 0x80
push edi
push dword [ebp - 0xc4]
push ebx
call fcn.1002fb80
mov edx, dword [ebp - 0x9c]
add esp, 0xc
mov eax, dword [edx + 0x6c]
test eax, eax
jle case.0x10029c3e.10
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 8
jmp case.0x10029c3e.10
mov eax, dword [ebp + 8]
mov edi, dword [eax + 8]
mov eax, dword [ebp - 0x94]
mov al, byte [eax + 0x13]
test al, al
je 0x1002e8b6
dec al
mov ecx, dword [ebp - 0x94]
mov byte [ecx + 0x13], al
movzx eax, al
mov esi, dword [ecx + eax*4 + 0xa0]
mov eax, edi
shr eax, 0x1f
mov ebx, dword [ebp - 0xa8]
sub ebx, eax
add eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x9c]
mov edx, 0x61
push esi
push ebx
push eax
call fcn.1002fb80
add esp, 0xc
test edi, edi
js 0x1002e8c8
mov ebx, dword [ebp - 0x9c]
mov ecx, ebx
mov edx, 0x8a
push dword [ebp - 0xc4]
push esi
push dword [ebp - 0xe0]
call fcn.1002fb80
mov edx, ebx
add esp, 0xc
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
mov esi, dword [ebp - 0xac]
jne case.0x10029c3e.10
mov ecx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
jmp 0x1002de50
inc ecx
add edx, 0x10
cmp eax, ecx
jne 0x1002a95b
mov eax, dword [ebx + 0x2c]
inc eax
mov dword [ebx + 0x2c], eax
xor esi, esi
mov ecx, dword [ebp - 0xb0]
mov edx, 0x47
push esi
mov dword [ebp - 0xa0], eax
push eax
mov dword [ebp - 0xd0], 0
push esi
call fcn.1002fb80
add esp, 0xc
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x24]
jmp 0x10029840
cmp dword [ebp - 0xa4], 0x100
jb 0x1002e706
xor edi, edi
mov cx, 0x28
mov eax, dword [ebp - 0xa4]
xor ebx, ebx
mov edx, edi
mov dword [ebp - 0xb4], edi
shld edx, eax, 0x1c
add ecx, 0x28
shr ebx, 4
mov edi, 0xfff
cmp edi, eax
mov eax, 0
sbb eax, dword [ebp - 0xb4]
mov eax, edx
mov edi, ebx
jb 0x1002dfe5
jmp 0x1002e712
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xbc], eax
mov edx, dword [ebp - 0x9c]
jmp 0x10029b2b
mov ecx, 0x101f2320
jmp 0x10029758
cmp dword [edx + 0x208], 0
jne 0x1002978c
mov dword [edi], ecx
test ecx, ecx
jne 0x1002978c
mov ecx, dword [edi + 0xc]
mov edx, edi
call fcn.1014c8d0
jmp 0x1002978c
mov ecx, 0xc
xor edx, edx
call fcn.10143580
jmp 0x1002d944
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xa4]
call fcn.1014d210
jmp 0x1002d970
mov edx, 0x101f2320
jmp 0x1002bdef
dec dword [esi + 0x18]
jne 0x10028b4b
jmp 0x1002a89d
mov edx, dword [ebp - 0x9c]
push eax
call fcn.10032440
add esp, 4
jmp 0x1002da3e
mov ecx, dword [ebp - 0x9c]
test byte [ecx + 0x74], 0x22
mov ecx, dword [ebp - 0x98]
jne 0x10027e1f
jmp 0x100286b6
cmp esi, 0xa
jne 0x1002e9bd
mov eax, dword [ebp - 0x98]
cmp dword [eax + 0xc], 0
je 0x100299fc
xor eax, eax
mov ecx, dword [ebp - 0x9c]
mov edx, 0x4b
push eax
mov esi, dword [ebp + 8]
push dword [esi + 0xc]
push eax
call fcn.1002fb80
add esp, 0xc
jmp 0x100299fc
mov ebx, ecx
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x9c], edx
mov edx, 0xa
push 0
push eax
push dword [ebx + 8]
call fcn.1002fb80
add esp, 0xc
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x9c]
mov ecx, dword [ecx + eax*8 + 0x34]
mov dword [ebp - 0xa4], ebx
mov eax, dword [ebx + 0xc]
cmp ecx, eax
je 0x1002e15d
mov ebx, ecx
mov ecx, dword [ebp - 0xb0]
mov edx, 0x73
push 0
push eax
push ebx
call fcn.1002fb80
add esp, 0xc
mov eax, dword [ebp - 0xa4]
movzx eax, word [eax + 0x10]
jmp 0x1002e1c6
mov ebx, eax
mov eax, dword [eax + 0x18]
test eax, eax
je 0x1002e18b
mov ecx, dword [ebp - 0xb0]
mov edx, 0xa
push 0
push eax
push dword [ebx + 0x1c]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebp - 0xb0]
mov edx, 0x73
push 0
mov dword [ebp - 0xb8], ebx
push dword [ebx + 0x2c]
mov eax, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0xa4]
push dword [eax + ebx*8 + 0x34]
call fcn.1002fb80
add esp, 0xc
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x14]
movzx eax, word [eax + 2]
mov ecx, dword [ebp - 0xb4]
mov word [ecx + 2], ax
mov ecx, dword [ebp - 0x98]
jmp 0x1002be03
mov eax, 0x101f2320
jmp 0x1002a402
mov edx, 0x101f2320
jmp 0x1002a459
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe8], 0
jmp 0x1002aa47
mov eax, dword [eax]
test eax, eax
je 0x1002ea7c
mov dword [ebp - 0xe4], 0
test byte [eax + 5], 0x10
mov dword [ebp - 0xe8], 0
mov ebx, dword [ebp - 0x94]
mov esi, dword [ebp - 0xa8]
mov edi, dword [ebp - 0xa0]
jne 0x1002aa47
mov eax, dword [eax + 0x14]
test eax, eax
je 0x1002ea7c
mov edx, dword [eax + 8]
test edx, edx
je 0x1002ef69
xor eax, eax
mov ecx, dword [ebp - 0xac]
push eax
push eax
call fcn.10001810
add esp, 8
mov edi, eax
mov ecx, dword [ebp - 0xac]
mov esi, dword [ebp - 0xa0]
mov edx, esi
push 0
call fcn.100015a0
add esp, 4
mov ebx, dword [ebp - 0x94]
mov ecx, ebx
mov edx, eax
push edi
mov edi, esi
call fcn.101577d0
add esp, 4
test eax, eax
mov ecx, 0x500
mov dword [ebp - 0xe4], eax
cmove ecx, eax
mov dword [ebp - 0xe8], ecx
mov esi, dword [ebp - 0xa8]
jmp 0x1002aa47
cmp dword [ebp - 0xe4], 0
je 0x1002cd4e
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xe4]
call fcn.10017250
jmp 0x1002cd4e
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ecx + 0x1c]
mov dword [ecx + 0x18], eax
cmp word [ecx + 2], 0
je 0x1002e314
test eax, eax
je 0x1002ecfb
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx + 0x14]
shl eax, 4
movzx eax, word [eax + ecx - 2]
inc eax
mov ecx, dword [ebp - 0xa8]
mov word [ecx + 2], ax
lea edx, [ebp - 0x90]
mov ecx, dword [ebp - 0xa8]
call fcn.1004a8a0
mov ebx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xac]
mov edi, dword [ebp - 0xa0]
jmp 0x1002abd5
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 4]
test al, 1
mov ecx, str.DISTINCT
mov eax, str.GROUP_BY
cmove eax, ecx
jmp 0x1002ac38
mov ecx, dword [ebp - 0xa8]
jmp 0x1002ad14
mov edi, dword [ebx + 0x2c]
inc edi
mov dword [ebx + 0x2c], edi
jmp 0x1002ad45
cmp dword [ebp - 0xc8], 0
mov edi, dword [ebp - 0xa0]
je 0x1002adbf
movzx eax, byte [ebx + 0x13]
cmp eax, 7
ja 0x1002adbf
mov ecx, eax
inc cl
mov byte [ebx + 0x13], cl
lea eax, [ebx + eax*4]
add eax, 0xa0
jmp 0x1002adb7
mov eax, ebx
mov ebx, dword [ebx + 0x2c]
inc ebx
mov dword [eax + 0x2c], ebx
jmp 0x1002adfc
pxor xmm0, xmm0
movdqu xmmword [ebp - 0x2c], xmm0
movdqu xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x28], 0x10178b60
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x24]
test eax, eax
jle 0x1002e401
xor edi, edi
xor esi, esi
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx + 0x20]
mov edx, dword [ecx + edi]
test edx, edx
je 0x1002e3f9
lea ecx, [ebp - 0x2c]
call fcn.1014d480
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x24]
inc esi
add edi, 0x10
cmp esi, eax
jl 0x1002e3d8
mov ecx, dword [ebp - 0xac]
mov edi, dword [ebp - 0xa0]
jmp 0x1002ae58
mov eax, dword [ebp - 0xf8]
test byte [eax + 0x30], 8
jne 0x1002ae7f
lea eax, [edx + 0x6c]
mov dword [ebp - 0xd8], eax
mov eax, dword [edx + 0x6c]
mov dword [ebp - 0xe0], eax
jmp 0x1002af01
mov eax, dword [ebp - 0xa8]
mov byte [eax], 1
lea eax, [esi + edi]
mov edx, dword [ebx]
mov ecx, dword [ebp - 0x94]
push eax
call fcn.10059020
add esp, 4
jmp 0x1002af54
mov ecx, 0x101f2320
jmp 0x1002b0a3
mov ecx, dword [ebp - 0xf8]
call fcn.10031790
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
jne 0x1002b109
mov eax, dword [ebp - 0xb0]
mov esi, dword [eax + 0x68]
mov eax, dword [ebp - 0x108]
lea edi, [eax + eax*4]
movsx edx, byte [esi + edi*4 + 1]
push dword [esi + edi*4 + 0x10]
call fcn.100056c0
add esp, 4
mov dword [esi + edi*4 + 0x10], 0
mov word [esi + edi*4], 0xb8
jmp 0x1002b109
mov ecx, dword [ebp - 0xac]
call fcn.10017250
jmp 0x1002b117
mov edx, dword [ebp - 0xb0]
push eax
call fcn.10032440
add esp, 4
jmp 0x1002b1ab
mov edx, dword [ebp - 0xb0]
push eax
call fcn.10032440
add esp, 4
jmp 0x1002b272
cmp byte [edi + 0x57], 0
je 0x1002eacc
mov edi, dword [ebp - 0xa8]
jmp 0x1002b36d
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
mov ecx, dword [ebp - 0x94]
mov edi, dword [ecx + 0x2c]
lea eax, [edi + esi]
inc eax
inc edi
mov dword [ecx + 0x2c], eax
xor eax, eax
mov ecx, dword [ebp - 0xa4]
mov edx, 0x47
push eax
mov dword [ebp - 0xc8], edi
push edi
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, esi
push 1
call fcn.10040a00
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x1002e582
test esi, esi
jle 0x1002e582
xor ebx, ebx
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
push ebx
call fcn.10030540
add esp, 4
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + ebx*4 + 0x14], eax
mov eax, dword [ecx + 0x10]
mov byte [eax + ebx], 0
inc ebx
cmp esi, ebx
jne 0x1002e557
mov al, byte [ebp - 0x9c]
and al, 0xfe
mov byte [ebp - 0xe4], al
cmp al, 0x86
jne 0x1002ea25
mov ebx, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xd8]
jmp 0x1002b408
mov byte [ebp - 0xe4], 0x86
jmp 0x1002b45c
mov ecx, dword [ebp - 0xa8]
call fcn.1014c9e0
jmp 0x1002b657
mov ecx, 0x101f2320
jmp 0x1002b780
dec dword [ebx]
jne 0x1002b8ab
mov ecx, dword [ebx + 0xc]
mov edx, ebx
call fcn.1014c8d0
jmp 0x1002b8ab
mov eax, dword [ebp - 0xc0]
movzx eax, word [eax + 2]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xb0], ecx
mov ecx, dword [ebp - 0x98]
cmp word [ecx + 2], ax
jle 0x1002b9b3
mov ecx, dword [ebp - 0x98]
mov word [ecx + 2], ax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xb0], eax
jmp 0x1002b9b3
mov ebx, esi
cmp al, 0x89
jne 0x1002ea34
mov esi, ebx
mov dword [ebp - 0xc4], ebx
inc esi
mov edi, dword [ebp - 0xa4]
jmp 0x1002ba1a
mov ecx, 0x101f2320
jmp 0x1002ba9c
mov eax, edx
mov edx, edi
push eax
call fcn.10032440
add esp, 4
jmp 0x1002bafa
mov edx, edi
push esi
call fcn.10032440
add esp, 4
jmp 0x1002bb9e
mov ecx, dword [ebx]
test ecx, ecx
je 0x1002eb99
mov edx, 0xc
push 0
call fcn.10157570
add esp, 4
test eax, eax
je 0x1002ebaa
mov ebx, dword [ebp - 0x94]
mov ecx, dword [ebx + 0x84]
mov dword [eax], ecx
mov dword [ebx + 0x84], eax
mov dword [eax + 4], esi
mov dword [eax + 8], 0x10167be0
mov eax, dword [ebp - 0xec]
jmp 0x1002bbb5
mov edx, dword [ebx + 8]
mov esi, dword [edx]
mov ecx, 0x101f2320
cmp byte [esi + 0x57], 0
jne 0x1002e6d4
lea ecx, [eax + eax*4]
shl ecx, 2
add ecx, dword [edx + 0x68]
mov ecx, dword [ecx + 8]
mov ebx, dword [ebp - 0x94]
jmp 0x1002bbf0
xor edi, edi
mov cx, 0x28
mov edx, dword [ebp - 0xa4]
xor ebx, ebx
add ecx, 0xfffffff6
shld ebx, edx, 1
cmp edx, 4
lea edx, [edx + edx]
sbb edi, 0
mov edi, ebx
jb 0x1002e6f0
jmp 0x1002e747
xor ebx, ebx
mov cx, 0x28
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
mov eax, ebx
sbb eax, 0
jb 0x1002e747
mov edi, ebx
mov eax, edx
mov dword [ebp - 0xb4], edx
add ecx, 0xa
mov edx, ebx
shld edx, eax, 0x1f
shr edi, 1
mov eax, 0x1f
cmp eax, dword [ebp - 0xb4]
mov eax, 0
sbb eax, ebx
mov ebx, edi
jb 0x1002e71e
and edx, 7
add cx, word [edx + edx + 0x101b5eae]
add ecx, 0xfffffff6
cmp si, cx
mov ebx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
jle 0x100295e7
cmp dword [ebp - 0xa4], 8
jae 0x1002e8f7
xor edx, edx
mov ecx, 0
cmp dword [ebp - 0xa4], 2
jb 0x1002ec16
mov cx, 0x28
xor esi, esi
mov eax, dword [ebp - 0xa4]
add ecx, 0xfffffff6
shld esi, eax, 1
cmp eax, 4
lea eax, [eax + eax]
mov dword [ebp - 0xa4], eax
sbb edx, 0
mov edx, esi
jb 0x1002e791
jmp 0x1002ec02
mov dword [ebp - 0xe8], edx
mov edx, dword [ebp - 0x9c]
test byte [edx + eax*8 + 0x30], 0x20
jne 0x1002a805
mov edx, dword [ebp - 0x9c]
mov edx, dword [edx + eax*8 + 0x10]
mov dword [ebp - 0xd8], edx
test edx, edx
je 0x1002a805
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx + eax*8 + 0x18]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx + eax*8 + 0x18]
mov edx, dword [ebp - 0xec]
cmp edx, dword [eax + 0x3c]
jne 0x1002a805
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax]
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x1002a805
mov dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xdc]
movzx eax, byte [eax + ebx]
mov edx, dword [ebp - 0xe0]
movzx edx, byte [edx + ebx]
cmp al, dl
jne 0x1002e86a
test eax, eax
mov ebx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xe8]
jne 0x1002e882
jmp 0x1002efb2
mov al, byte [eax + 0x101af7e8]
cmp al, byte [edx + 0x101af7e8]
mov ebx, dword [ebp - 0xd4]
jne 0x1002a805
inc dword [ebp - 0xdc]
jmp 0x1002e837
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xa8]
cmp dword [eax + 0x1c], ecx
jge 0x1002db71
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xa8]
mov dword [eax + 0x1c], ecx
add eax, 0x20
jmp 0x1002db69
mov eax, dword [ebp - 0x94]
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
jmp 0x1002df07
mov edi, dword [ebp - 0x9c]
mov ecx, edi
mov edx, 0x80
push dword [ebp - 0xc4]
push esi
push dword [ebp - 0xe0]
call fcn.1002fb80
mov edx, edi
add esp, 0xc
mov esi, dword [ebp - 0xac]
jmp case.0x10029c3e.10
cmp dword [ebp - 0xa4], 0x100
jb 0x1002ebc3
xor edi, edi
mov cx, 0x28
mov esi, 0xfff
mov eax, dword [ebp - 0xa4]
xor edx, edx
mov ebx, edi
shld ebx, eax, 0x1c
add ecx, 0x28
shr edx, 4
cmp esi, eax
mov eax, 0
sbb eax, edi
mov dword [ebp - 0xa4], ebx
mov eax, ebx
mov edi, edx
jb 0x1002e91a
jmp 0x1002ebc9
test eax, 0xfffffffd
mov edi, dword [ebp - 0x94]
pxor xmm0, xmm0
mov esi, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x9c]
je 0x10028945
xor esi, esi
inc esi
mov eax, str.authorizer_malfunction
jmp 0x1002d1c8
mov ecx, 2
mov edx, dword [ebp - 0x98]
mov edx, dword [edx + 0x34]
add ecx, 2
cmp ecx, eax
jb 0x1002e979
mov edi, dword [ebp - 0x98]
mov eax, edx
jmp 0x1002b45e
bt dword [ebp - 0xb8], 0x1c
jae 0x1002bc6e
bt ebx, 8
mov edx, dword [ebp - 0x9c]
jae 0x1002a2c8
mov eax, dword [ebp - 0xa4]
mov ecx, dword [edx + eax*8 + 0x4c]
jmp 0x1002a2bd
mov eax, dword [ebp - 0x94]
mov al, byte [eax + 0x13]
test al, al
je 0x1002ed54
mov ecx, eax
dec cl
mov esi, dword [ebp - 0x94]
mov byte [esi + 0x13], cl
movzx edx, cl
mov edx, dword [esi + edx*4 + 0xa0]
mov dword [ebp - 0xc8], edx
mov edx, dword [ebp - 0xd0]
and dl, 0xfd
cmp dl, 0xc
jne 0x1002ed94
test cl, cl
je 0x1002efa4
add al, 0xfe
mov ecx, dword [ebp - 0x94]
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0xa0]
mov dword [ebp - 0xc4], eax
jmp 0x1002ed85
mov dword [ebp - 0xd0], 0
jmp 0x1002b456
xor esi, esi
mov edi, dword [ebp - 0xa4]
mov ecx, edi
mov edx, 0xc
push esi
push dword [ebp - 0xd8]
push dword [ebp - 0xa0]
call fcn.1002fb80
add esp, 0xc
mov dword [ebp - 0xc4], eax
mov ecx, edi
mov edx, 9
push esi
push dword [ebp - 0xd4]
push esi
call fcn.1002fb80
add esp, 0xc
mov esi, ebx
jmp 0x1002ba1a
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe8], 0
mov ebx, dword [ebp - 0x94]
mov esi, dword [ebp - 0xa8]
mov edi, dword [ebp - 0xa0]
jmp 0x1002aa47
mov ecx, 0xc
xor edx, edx
call fcn.10143580
jmp 0x1002cde1
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov edx, edi
call fcn.10017250
jmp 0x1002ce07
xor esi, esi
inc esi
mov edi, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x1c]
cmp esi, dword [eax]
jg 0x1002e4f4
test ebx, ebx
jle 0x1002eb06
mov eax, dword [ebp - 0xac]
lea ecx, [eax + 0x18]
xor eax, eax
movzx edx, word [ecx]
cmp esi, edx
je 0x1002eb08
inc eax
add ecx, 0x14
cmp ebx, eax
jne 0x1002eaf5
jmp 0x1002eb0c
xor eax, eax
cmp eax, ebx
jne 0x1002eb7d
xor eax, eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0xa8]
mov edx, 0x9b
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.100383a0
add esp, 8
test eax, eax
je 0x1002edcf
or byte [eax + 5], 8
mov dword [eax + 8], esi
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0xac]
push eax
call fcn.101577d0
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x98]
mov dword [eax + 0x30], ecx
mov dword [ebp - 0xac], ecx
test ecx, ecx
je 0x1002eb8d
lea eax, [ebx + ebx*4]
inc ebx
mov edx, dword [ebp - 0xac]
mov word [edx + eax*4 + 0x18], si
inc esi
cmp byte [edi + 0x57], 0
je 0x1002ead5
jmp 0x1002b36d
mov dword [ebp - 0xac], 0
jmp 0x1002eb7d
mov ecx, 0xc
xor edx, edx
call fcn.10143580
jmp 0x1002e68a
mov ebx, dword [ebp - 0x94]
mov ecx, dword [ebx]
mov edx, esi
push 1
call fcn.100170d0
add esp, 4
jmp 0x1002e6b0
xor edx, edx
mov cx, 0x28
cmp dword [ebp - 0xa4], 0x10
mov eax, edx
sbb eax, 0
jb 0x1002ec02
mov esi, 0x1f
mov edi, edx
mov eax, dword [ebp - 0xa4]
add ecx, 0xa
mov ebx, edx
shld ebx, eax, 0x1f
mov dword [ebp - 0xa4], ebx
shr edi, 1
cmp esi, eax
mov eax, 0
sbb eax, edx
mov edx, edi
jb 0x1002ebde
mov eax, dword [ebp - 0xa4]
and eax, 7
add cx, word [eax + eax + 0x101b5eae]
add ecx, 0xfffffff6
mov edx, dword [ebp - 0x98]
mov word [edx + 2], cx
mov ebx, dword [ebp - 0x94]
jmp 0x100295e7
mov edi, dword [ebp - 0x94]
mov ebx, eax
jmp 0x10028064
mov esi, dword [ebp - 0xc0]
mov dword [eax + 0x1c], esi
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx]
or dword [eax + 0x30], 8
mov edx, dword [ecx]
mov edi, dword [ebp - 0x94]
mov ecx, edi
call fcn.10038340
or dword [esi + 4], 0x8000040
mov ecx, edi
mov edx, esi
push 0x40
call fcn.10170230
add esp, 4
mov edi, eax
mov eax, dword [ebp - 0x9c]
and eax, 8
or dword [esi + 4], eax
test edi, edi
je 0x1002edc8
movdqu xmm0, xmmword [edi]
movups xmm1, xmmword [edi + 0x10]
mov ecx, dword [ebp - 0xa4]
movups xmmword [ecx + 0x10], xmm1
movups xmm1, xmmword [edi + 0x30]
movups xmmword [ecx + 0x30], xmm1
movdqu xmm1, xmmword [edi + 0x20]
movdqu xmmword [ecx + 0x20], xmm1
movdqu xmmword [ecx], xmm0
or byte [ecx + 0x1d], 0x40
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax]
mov dword [eax + 0x18], ecx
pxor xmm0, xmm0
lea ecx, [ebp - 0x70]
movdqu xmmword [ecx], xmm0
movdqu xmmword [ecx + 0xc], xmm0
mov dword [ecx + 4], 0x10173a60
mov dword [ecx + 8], 0x10173a80
mov dword [ecx + 0xc], 0x10173a90
mov edx, dword [ebp - 0xc0]
call fcn.1002f720
mov bl, 1
mov dword [ebp - 0xa4], edi
jmp 0x1002d916
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x28]
movzx eax, word [eax]
jmp 0x1002e30a
mov eax, dword [ebp - 0x94]
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
jmp 0x1002d4f2
mov edx, dword [ebp - 0xc0]
push eax
call fcn.10032440
add esp, 4
jmp 0x1002d5d1
mov edx, dword [ebp - 0xc0]
push edi
call fcn.10032440
add esp, 4
jmp 0x1002d614
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 8]
jmp 0x1002b51e
mov eax, dword [ebp - 0x94]
mov edx, dword [eax + 0x2c]
inc edx
mov dword [eax + 0x2c], edx
mov eax, dword [ebp - 0xd0]
and al, 0xfd
mov ecx, edx
mov dword [ebp - 0xc8], edx
cmp al, 0xc
jne 0x1002ed94
inc ecx
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xc4], ecx
mov dword [eax + 0x2c], ecx
mov dword [ebp - 0xa8], 0
jmp 0x10029a12
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0xa8]
call fcn.10052fb0
mov dword [ebp - 0xc4], eax
jmp 0x10029a12
test eax, 0xfffffffd
je 0x1002ef8b
xor esi, esi
inc esi
mov eax, str.authorizer_malfunction
jmp 0x1002dca0
xor ebx, ebx
jmp 0x1002d916
mov eax, 7
mov ebx, dword [ebp - 0x94]
jmp 0x1002bbff
mov eax, ebx
cmp ebx, 1
je 0x1002ee17
mov eax, dword [ebp - 0x94]
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 0x1002ee17
mov ecx, dword [ebp - 0x94]
mov edx, ebx
push dword [edi]
push 0
push dword [edi + 0x14]
call fcn.10046570
add esp, 0xc
xor esi, esi
test byte [edi + 0x1c], 0x80
jne 0x1002ef70
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x20]
test byte [eax + 0x30], 1
jne 0x1002ee62
mov eax, dword [edi + 8]
test eax, eax
je 0x1002ee62
test byte [eax + 0x38], 4
jne 0x1002ee4f
movzx ecx, word [eax + 0x30]
cmp cx, word [edi + 0x28]
jge 0x1002ee4f
cmp dword [eax + 0x24], 0
je 0x1002ee54
mov eax, dword [eax + 0x14]
jmp 0x1002ee35
test esi, esi
je 0x1002ee5e
cmp cx, word [esi + 0x30]
jge 0x1002ee4f
mov esi, eax
jmp 0x1002ee4f
mov dword [ebp - 0xa0], 0
test esi, esi
je 0x1002ee8c
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0x94]
mov edx, esi
call fcn.10040940
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xb0]
mov edx, 0x70
push ebx
push dword [ebp - 0xb4]
push dword [ebp - 0x9c]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebp - 0xb0]
mov ecx, dword [ecx]
cmp byte [ecx + 0x57], 0
jne 0x1002eed3
mov ecx, dword [ebp - 0xb0]
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 [ebp - 0xa0], 0
je 0x1002eef5
xor edx, edx
dec edx
mov ecx, dword [ebp - 0xb0]
push 0xfffffffffffffff8
push dword [ebp - 0xa0]
call fcn.1003a120
add esp, 8
mov edx, dword [ebp - 0x94]
mov eax, dword [edx + 0x2c]
inc eax
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + 0xc], eax
mov eax, dword [ecx + 0x24]
add eax, dword [ecx + 0x18]
add dword [edx + 0x2c], eax
mov eax, dword [ecx + 0x18]
add eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0xb0]
mov edx, 0x62
xor ebx, ebx
push ebx
push eax
push dword [ebp - 0x9c]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebp - 0xb0]
mov edx, 0x7a
xor eax, eax
push eax
push eax
mov ebx, dword [ebp - 0x94]
push dword [ebp - 0x9c]
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, edi
push esi
call fcn.101737e0
add esp, 4
jmp 0x100298fc
xor edi, edi
jmp 0x1002e26c
mov eax, dword [edi + 8]
test eax, eax
je 0x1002ee23
mov ecx, dword [eax + 0x38]
and ecx, 3
cmp ecx, 2
je 0x1002efca
mov eax, dword [eax + 0x14]
jmp 0x1002ef73
test eax, eax
mov ebx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
je 0x10029db3
jmp 0x1002a1ba
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax + 0x2c]
jmp 0x1002ed75
cmp dword [ebp - 0xec], 0
je 0x1002efd1
test byte [edx + 7], 1
jne 0x1002a805
jmp 0x1002e99e
mov esi, eax
jmp 0x1002ee23
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x10]
cmp eax, dword [edx + 0x10]
jne 0x1002a805
jmp 0x1002efbb