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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xcc
mov eax, dword [0x10140004]
xor eax, esp
mov dword [esp + 0xc8], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ecx + 8]
mov dword [esp + 0x58], eax
mov eax, dword [ecx]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x40], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], esi
push edi
test esi, esi
jne 0x10082a76
cmp dword [ecx + 0x78], esi
jne 0x10082a63
test byte [eax + 0x50], 8
jne 0x10082a63
mov byte [ecx + 0x17], 1
call fcn.1003f640
mov esi, eax
mov dword [esp + 0x34], eax
test esi, esi
je 0x100888aa
mov ecx, dword [esi + 0x6c]
lea edi, [esi + 0x6c]
lea eax, [esi + 0x70]
mov dword [esp + 0x38], edi
mov dword [esp + 0x14], eax
cmp dword [eax], ecx
jg 0x10082aa2
push 0
push 1
push 1
mov edx, 0xa6
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10082ad4
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
lea ecx, [eax + 0x2c]
mov dword [esp + 0x60], ecx
mov dword [ecx], 2
lea ecx, [esp + 0x64]
push ecx
push ebx
mov ecx, eax
call fcn.10069890
mov ecx, eax
add esp, 8
mov dword [esp + 0x40], ecx
test ecx, ecx
js 0x100888aa
mov edx, dword [esp + 0x10]
shl eax, 4
mov dword [esp + 0x2c], eax
mov ebx, dword [edx + 0x10]
add ebx, eax
mov dword [esp + 0x3c], ebx
cmp ecx, 1
jne 0x10082b35
mov ecx, dword [esp + 0x18]
call fcn.10070e40
test eax, eax
jne 0x100888aa
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
test eax, eax
je 0x100888aa
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
test eax, eax
je 0x10082b94
xor eax, eax
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, edx
call fcn.1001d1c0
add esp, 8
mov dword [esp + 0x84], eax
test eax, eax
je 0x10082b9d
push dword [esp + 0x1c]
push dword [esp + 0x24]
push eax
call fcn.10107750
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x84]
mov byte [ecx + eax], 0
mov eax, ecx
jmp 0x10082b9d
xor eax, eax
mov dword [esp + 0x84], eax
mov ecx, eax
call fcn.10020c10
cmp dword [esp + 0x84], 0
je 0x100888aa
cmp dword [ebp + 0x10], 0
je 0x10082bd1
push dword [esp + 0x5c]
push 0x10137144
push dword [esp + 0x18]
call fcn.1001fbf0
add esp, 0xc
mov ecx, eax
jmp 0x10082c46
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x10082c44
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
test eax, eax
je 0x10082c31
xor eax, eax
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, dword [esp + 0x18]
call fcn.1001d1c0
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
je 0x10082c37
push dword [esp + 0x1c]
push dword [esp + 0x24]
push eax
call fcn.10107750
mov ecx, dword [esp + 0x3c]
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov byte [ecx + eax], 0
mov eax, ecx
call fcn.10020c10
mov ecx, dword [esp + 0x30]
jmp 0x10082c4a
xor eax, eax
mov dword [esp + 0x30], eax
mov ecx, eax
call fcn.10020c10
mov ecx, dword [esp + 0x30]
jmp 0x10082c4a
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x44]
cmp dword [eax + 4], 0
jbe 0x10082c58
mov ebx, dword [ebx]
jmp 0x10082c5a
xor ebx, ebx
push ebx
push ecx
push dword [esp + 0x8c]
mov ecx, dword [esp + 0x24]
mov edx, 0x13
mov dword [esp + 0x58], ebx
call fcn.10067f40
add esp, 0xc
test eax, eax
jne 0x10088888
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xd0], 0
mov dword [ecx + 0x1c8], 0
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x28], 1
test eax, eax
je 0x10082cd6
push eax
call dword [0x10140b48]
mov ecx, dword [esp + 0x14]
add esp, 4
test ebx, ebx
je 0x10082cec
mov edx, ebx
call fcn.10069780
mov ebx, eax
test ebx, ebx
jns 0x10082cee
jmp 0x10082d73
xor ebx, ebx
mov eax, dword [esp + 0x10]
add ebx, ebx
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ebx*8 + 4]
test ebx, ebx
je 0x10082d73
cmp byte [ebx + 9], 0
je 0x10082d15
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x10082d15
mov ecx, ebx
call fcn.10030c90
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c8]
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x10082d3b
mov dword [esp + 0x28], 0xc
jmp 0x10082d52
lea edx, [esp + 0xc4]
push edx
push 0xe
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x1c8], eax
cmp byte [ebx + 9], 0
je 0x10082d73
add dword [ebx + 0xc], 0xffffffff
jne 0x10082d73
mov ecx, ebx
call fcn.10030c70
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10082d88
push eax
call dword [0x10140b50]
add esp, 4
mov ebx, dword [esp + 0x28]
test ebx, ebx
jne 0x10082ddd
lea edx, [ebx + 1]
mov ecx, esi
call fcn.100417a0
mov eax, dword [esi]
cmp byte [eax + 0x57], bl
jne 0x10082dbb
mov edx, dword [esp + 0xc4]
mov ecx, dword [esi + 0x74]
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.1003ea60
add esp, 0x10
mov edx, dword [esp + 0xc4]
mov ecx, esi
call fcn.10082650
push dword [esp + 0xc4]
call fcn.1001cd70
add esp, 4
jmp 0x10088888
cmp ebx, 0xc
je 0x10082e1d
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x10082e0e
push eax
push 0x1013365c
push dword [esp + 0x20]
call fcn.10020b80
add esp, 0xc
push dword [esp + 0xc4]
call fcn.1001cd70
add esp, 4
mov eax, dword [esp + 0x18]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x10088888
mov ecx, dword [esp + 0x84]
call fcn.100827d0
mov ebx, eax
mov dword [esp + 0x78], ebx
test ebx, ebx
je 0x10088888
test byte [ebx + 5], 1
je 0x10082e4e
mov ecx, dword [esp + 0x18]
call fcn.10089ac0
test eax, eax
jne 0x10088888
mov al, byte [ebx + 5]
test al, 2
jne 0x10082e6a
test al, 4
je 0x10082e61
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x10082e6e
mov edx, ebx
mov ecx, esi
call fcn.100825c0
mov ecx, dword [esp + 0x30]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x2a
ja case.0x10082e7c.5
jmp dword [eax*4 + 0x100888c0]
mov eax, dword [esi + 0x9c]
mov ebx, dword [esp + 0x40]
bts eax, ebx
mov dword [esi + 0x9c], eax
cmp ebx, 1
je 0x10082ebd
mov eax, dword [esi]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x10082ebd
mov eax, dword [esi + 0xa0]
bts eax, ebx
mov dword [esi + 0xa0], eax
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x10082ef3
mov eax, dword [esp + 0x60]
mov edx, 9
push ecx
push 0x1012a18c
mov ecx, esi
add dword [eax], 2
call fcn.10040010
add esp, 8
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x10088888
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov ecx, eax
call fcn.100217c0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x28], ebx
test ebx, ebx
jns 0x10082f27
cmp ebx, 0x80000000
jne 0x10082f21
mov ebx, 0x7fffffff
jmp 0x10082f23
neg ebx
mov dword [esp + 0x28], ebx
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov eax, 1
mov dword [esp + 0x18], ecx
mov edx, dword [ecx + 0x58]
mov ecx, dword [esp + 0x40]
shl eax, cl
mov ecx, dword [esp + 0x18]
test edx, eax
jne 0x10082f65
mov eax, dword [esp + 0x40]
bts edx, eax
mov dword [ecx + 0x58], edx
cmp eax, 1
jne 0x10082f65
call fcn.10070e40
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x54]
mov edx, dword [esp + 0x40]
bts eax, edx
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10082f91
push ebx
push 3
push edx
mov edx, 0x64
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10082fbb
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x64
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x28]
mov eax, dword [ebx + 0xc]
mov dword [eax + 0x50], edx
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov edx, dword [edx + 0x50]
call fcn.10033230
jmp 0x10088888
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 4]
test ecx, ecx
jne 0x10083049
test ebx, ebx
je 0x10082ff3
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x24]
jmp 0x10082ff5
xor eax, eax
cdq
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb0], eax
push 0xfffffffffffffff3
lea eax, [esp + 0xb4]
mov edx, 0x48
push eax
push ecx
push 1
push ecx
mov ecx, esi
call fcn.1003fb80
add esp, 0x14
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10088856
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10088888
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.100217c0
mov eax, dword [esp + 0x10]
mov ecx, ebx
mov edx, dword [esp + 0x1c]
push 0
push 0
mov dword [eax + 0x64], edx
call fcn.10033390
add esp, 8
cmp eax, 7
jne 0x10088888
mov ecx, dword [esp + 0x10]
call fcn.1001d570
jmp 0x10088888
mov ebx, dword [esp + 0x3c]
or ecx, 0xffffffff
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], ecx
mov ebx, dword [ebx + 4]
mov dword [esp + 0x64], ebx
test eax, eax
je 0x10083102
mov edx, eax
mov eax, str.fast
sub eax, edx
mov dword [esp + 0x20], eax
movzx ecx, byte [edx]
movzx eax, byte [eax + edx]
cmp ecx, eax
jne 0x100830c7
test ecx, ecx
jne 0x100830d9
mov ecx, 2
jmp 0x100830fa
movzx eax, byte [eax + 0x1012c958]
movzx ecx, byte [ecx + 0x1012c958]
sub ecx, eax
jne 0x100830e0
mov eax, dword [esp + 0x20]
inc edx
jmp 0x100830b1
mov ecx, dword [esp + 0x30]
mov edx, 1
push 0
call fcn.10082510
xor ecx, ecx
add esp, 4
test al, al
setne cl
mov dword [esp + 0x34], esi
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x44]
cmp dword [eax + 4], 0
jne 0x100831a5
test ecx, ecx
js 0x100831a5
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x14], 0
jle 0x100831a5
mov esi, dword [esp + 0x24]
xor ecx, ecx
mov dword [esp + 0x28], ecx
xor edi, edi
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ecx + 4]
test ebx, ebx
je 0x10083188
cmp byte [ebx + 9], 0
je 0x10083157
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x10083157
mov ecx, ebx
call fcn.10030c90
mov ecx, dword [esp + 0x28]
mov eax, dword [ebx + 4]
mov edx, 0xfff3
and word [eax + 0x18], dx
lea eax, [esi*4]
mov edx, dword [ebx + 4]
or word [edx + 0x18], ax
cmp byte [ebx + 9], 0
je 0x10083188
add dword [ebx + 0xc], 0xffffffff
jne 0x10083188
mov ecx, ebx
call fcn.10030c70
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
inc edi
add ecx, 0x10
mov dword [esp + 0x28], ecx
cmp edi, dword [eax + 0x14]
jl 0x10083132
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x64]
test ebx, ebx
jne 0x100831b7
xor eax, eax
mov dword [esp + 0xb4], eax
jmp 0x10082ffd
cmp byte [ebx + 9], 0
je 0x100831cd
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x100831cd
mov ecx, ebx
call fcn.10030c90
mov edx, dword [esp + 0x24]
test edx, edx
js 0x100831ef
mov eax, dword [ebx + 4]
mov ecx, 0xfff3
and word [eax + 0x18], cx
lea eax, [edx*4]
mov ecx, dword [ebx + 4]
or word [ecx + 0x18], ax
mov eax, dword [ebx + 4]
movzx eax, word [eax + 0x18]
shr eax, 2
and eax, 3
cmp byte [ebx + 9], 0
mov dword [esp + 0x20], eax
je 0x10083217
add dword [ebx + 0xc], 0xffffffff
jne 0x10083217
mov ecx, ebx
call fcn.10030c70
mov eax, dword [esp + 0x20]
mov dword [esp + 0xb4], 0
jmp 0x10082ffd
mov ebx, dword [esp + 0x18]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x40]
movlpd qword [esp + 0xb0], xmm0
mov eax, dword [ebx + 0x78]
test eax, eax
cmovne ebx, eax
mov eax, 1
shl eax, cl
mov edx, dword [ebx + 0x58]
test edx, eax
jne 0x10083263
bts edx, ecx
mov dword [ebx + 0x58], edx
cmp ecx, 1
jne 0x10083263
mov ecx, ebx
call fcn.10070e40
mov eax, dword [esp + 0x60]
inc dword [eax]
mov ebx, dword [eax]
mov eax, dword [esp + 0x84]
movzx eax, byte [eax]
cmp byte [eax + 0x1012c958], 0x70
jne 0x100832ce
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x100832a3
push 0
push ebx
push dword [esp + 0x48]
mov edx, 0xb1
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x1008337f
mov edx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xb1
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
jmp 0x10083377
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1008331d
lea edx, [esp + 0xb0]
mov ecx, eax
call fcn.100216b0
test eax, eax
jne 0x1008331d
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
test eax, eax
jg 0x1008330b
jl 0x1008331d
test edx, edx
jb 0x1008331d
test eax, eax
jl 0x10083330
jg 0x1008330b
cmp edx, 0xfffffffe
jbe 0x10083330
mov edx, 0xfffffffe
mov dword [esp + 0xb4], 0
jmp 0x10083330
xorps xmm0, xmm0
movlpd qword [esp + 0xb0], xmm0
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10083351
push edx
push ebx
push dword [esp + 0x48]
mov edx, 0xb2
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x1008337f
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0xb2
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x100833a2
push 0
push 1
push ebx
mov edx, 0x54
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10088888
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], ebx
jmp 0x10088870
test ecx, ecx
je 0x1008342c
mov ebx, str.exclusive
mov edx, ecx
sub ebx, ecx
nop word [eax + eax]
movzx eax, byte [edx]
movzx edi, byte [edx + ebx]
cmp eax, edi
jne 0x100833e4
test eax, eax
jne 0x100833f6
lea ecx, [eax + 1]
jmp 0x1008342f
movzx ecx, byte [eax + 0x1012c958]
movzx eax, byte [edi + 0x1012c958]
sub ecx, eax
jne 0x100833f9
inc edx
jmp 0x100833d0
mov edx, dword [esp + 0x30]
mov ebx, str.normal
sub ebx, edx
movzx eax, byte [edx]
movzx edi, byte [edx + ebx]
cmp eax, edi
jne 0x10083417
test eax, eax
jne 0x10083429
xor ecx, ecx
jmp 0x1008342f
movzx ecx, byte [eax + 0x1012c958]
movzx eax, byte [edi + 0x1012c958]
sub ecx, eax
jne 0x1008342c
inc edx
jmp 0x10083404
or ecx, 0xffffffff
mov eax, dword [esp + 0x44]
cmp dword [eax + 4], 0
jne 0x1008349d
mov eax, dword [esp + 0x10]
cmp ecx, 0xffffffff
jne 0x1008344a
mov al, byte [eax + 0x59]
jmp 0x100834cb
mov edx, 2
cmp dword [eax + 0x14], edx
jle 0x1008349a
mov edi, 0x20
mov esi, eax
nop dword [eax + eax]
mov eax, dword [esi + 0x10]
mov eax, dword [eax + edi + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x10083489
cmp byte [eax + 0xc], 0
jne 0x10083489
mov ebx, dword [eax + 0xe8]
test ebx, ebx
je 0x10083486
cmp byte [ebx + 0x2b], 2
je 0x10083489
mov byte [eax + 4], cl
inc edx
add edi, 0x10
cmp edx, dword [esi + 0x14]
jl 0x10083460
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
mov byte [eax + 0x59], cl
mov ebx, dword [esp + 0x3c]
mov dl, cl
mov eax, dword [ebx + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x100834c8
cmp byte [eax + 0xc], 0
jne 0x100834c8
mov ecx, dword [eax + 0xe8]
test ecx, ecx
je 0x100834c5
cmp byte [ecx + 0x2b], 2
je 0x100834c8
mov byte [eax + 4], dl
mov al, byte [eax + 4]
cmp al, 1
mov ecx, str.exclusive
mov edx, str.normal
cmove edx, ecx
mov ecx, esi
call fcn.10082650
jmp 0x10088888
test ecx, ecx
je 0x1008354c
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100834f0
sub ecx, edx
and ecx, 0x3fffffff
xor ebx, ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x54], ebx
cmp ebx, 6
je 0x1008354c
mov eax, dword [ebx*4 + 0x1012b344]
test eax, eax
je 0x1008354c
push ecx
push eax
push dword [esp + 0x38]
call fcn.10020d50
add esp, 0xc
test eax, eax
je 0x10083532
mov ecx, dword [esp + 0x20]
inc ebx
jmp 0x10083505
cmp ebx, 2
jne 0x1008360a
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x1008356d
mov dword [esp + 0x54], 0xffffffff
mov eax, dword [esp + 0x44]
cmp dword [eax + 4], 0
jne 0x1008356d
mov dword [esp + 0x40], 0
mov dword [eax + 4], 1
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x14]
sub ebx, 1
js 0x10083021
mov edx, dword [esp + 0x54]
mov ecx, ebx
shl ecx, 4
mov dword [esp + 0x28], ecx
nop word [eax + eax]
mov eax, dword [eax + 0x10]
cmp dword [eax + ecx + 4], 0
je 0x1008364a
cmp ebx, dword [esp + 0x40]
je 0x100835b2
mov eax, dword [esp + 0x44]
cmp dword [eax + 4], 0
jne 0x1008364a
mov eax, dword [esi + 0x9c]
bts eax, ebx
mov dword [esi + 0x9c], eax
cmp ebx, 1
je 0x100835e4
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x100835e4
mov eax, dword [esi + 0xa0]
bts eax, ebx
mov dword [esi + 0xa0], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10083618
push dword [esp + 0x54]
mov edx, 4
mov ecx, esi
push 1
push ebx
call fcn.1003f820
mov edx, dword [esp + 0x60]
add esp, 0xc
jmp 0x10083646
cmp ebx, 0xffffffff
jne 0x1008356d
jmp 0x10083554
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 4
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
sub ecx, 0x10
sub ebx, 1
mov dword [esp + 0x28], ecx
jns 0x10083590
jmp 0x10083021
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0xb0], 0xfffffffe
mov dword [esp + 0xb4], 0xffffffff
mov eax, dword [ebx + 4]
mov eax, dword [eax + 4]
mov ebx, dword [eax]
test ecx, ecx
je 0x100836d9
lea edx, [esp + 0xb0]
call fcn.100216b0
mov ecx, dword [esp + 0xb4]
cmp ecx, 0xffffffff
jg 0x100836b6
jl 0x100836af
mov eax, dword [esp + 0xb0]
cmp eax, 0xffffffff
jae 0x100836bd
or eax, 0xffffffff
or ecx, eax
jmp 0x100836bd
mov eax, dword [esp + 0xb0]
mov dword [ebx + 0xb0], eax
mov dword [ebx + 0xb4], ecx
mov edx, dword [ebx + 0xe8]
test edx, edx
je 0x100836d9
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov ecx, dword [ebx + 0xb4]
mov eax, dword [ebx + 0xb0]
mov dword [esp + 0xb4], ecx
jmp 0x10082ffd
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x64], ebx
test ecx, ecx
jne 0x1008375f
mov cl, byte [ebx + 9]
test cl, cl
je 0x1008371a
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x1008371a
mov ecx, ebx
call fcn.10030c90
mov cl, byte [ebx + 9]
mov edx, dword [ebx + 4]
cmp byte [edx + 0x11], 0
jne 0x1008372d
mov dword [esp + 0x1c], 0
jmp 0x1008373a
xor eax, eax
cmp byte [edx + 0x12], al
setne al
inc eax
mov dword [esp + 0x1c], eax
test cl, cl
je 0x1008374b
add dword [ebx + 0xc], 0xffffffff
jne 0x1008374b
mov ecx, ebx
call fcn.10030c70
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xb4], 0
jmp 0x10082ffd
mov edx, ecx
mov ecx, str.none
sub ecx, dword [esp + 0x30]
mov dword [esp + 0x20], ecx
nop
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x10083786
test eax, eax
jne 0x1008379c
xor ebx, ebx
jmp 0x10083841
movzx ecx, byte [eax + 0x1012c958]
movzx eax, byte [ebx + 0x1012c958]
sub ecx, eax
jne 0x1008379f
mov ecx, dword [esp + 0x20]
inc edx
jmp 0x10083770
mov edx, dword [esp + 0x30]
mov ecx, str.full
sub ecx, edx
mov dword [esp + 0x20], ecx
nop
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x100837c7
test eax, eax
jne 0x100837dd
lea ebx, [eax + 1]
jmp 0x10083841
movzx ecx, byte [eax + 0x1012c958]
movzx eax, byte [ebx + 0x1012c958]
sub ecx, eax
jne 0x100837e0
mov ecx, dword [esp + 0x20]
inc edx
jmp 0x100837b0
mov edx, dword [esp + 0x30]
mov ecx, str.incremental
sub ecx, edx
mov dword [esp + 0x20], ecx
nop
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x10083804
test eax, eax
jne 0x1008381a
lea ebx, [eax + 2]
jmp 0x10083841
movzx ecx, byte [eax + 0x1012c958]
movzx eax, byte [ebx + 0x1012c958]
sub ecx, eax
jne 0x1008381d
mov ecx, dword [esp + 0x20]
inc edx
jmp 0x100837f0
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.100217c0
xor ecx, ecx
cmp dword [esp + 0x1c], 2
cmovbe ecx, dword [esp + 0x1c]
movzx ebx, cl
mov eax, dword [esp + 0x10]
mov edx, ebx
mov ecx, dword [esp + 0x64]
mov byte [eax + 0x5a], bl
call fcn.100334d0
test eax, eax
jne 0x10088888
cmp ebx, 1
je 0x10083869
cmp ebx, 2
jne 0x10088888
mov edi, dword [edi]
mov edx, 5
push ecx
push 0x1012c308
mov ecx, esi
call fcn.10040010
mov edx, dword [esp + 0x48]
lea ecx, [edi + 4]
add esp, 8
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 0x54], edx
mov dword [eax + 0x5c], ecx
mov eax, dword [esi + 0x9c]
bts eax, edx
mov dword [esi + 0x9c], eax
cmp edx, 1
je 0x10088888
mov eax, dword [esi]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x10088888
mov eax, dword [esi + 0xa0]
bts eax, edx
mov dword [esi + 0xa0], eax
jmp 0x10088888
mov dword [esp + 0x1c], 0
test ecx, ecx
je 0x100838fd
lea edx, [esp + 0x1c]
call fcn.100217c0
test eax, eax
je 0x100838fd
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jg 0x10083902
mov ebx, 0x7fffffff
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov eax, 1
mov dword [esp + 0x18], ecx
mov edx, dword [ecx + 0x58]
mov ecx, dword [esp + 0x40]
shl eax, cl
mov ecx, dword [esp + 0x18]
test edx, eax
jne 0x10083940
mov eax, dword [esp + 0x40]
bts edx, eax
mov dword [ecx + 0x58], edx
cmp eax, 1
jne 0x10083940
call fcn.10070e40
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x54]
mov edx, dword [esp + 0x40]
bts eax, edx
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x1008396d
push 0
push 1
push ebx
mov edx, 0x47
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x1008399b
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ebx, dword [edi]
mov edx, dword [esp + 0x40]
cmp dword [eax], ebx
jg 0x100839c1
push 0
push 0
push edx
mov edx, 0x3e
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov ebx, eax
jmp 0x100839f3
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x3e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10083a14
push 0
push 0
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10083a46
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10083a67
push 0
push 0xffffffffffffffff
push 1
mov edx, 0x56
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10083a99
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0xffffffff
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10083ab9
push 0
push ebx
push 1
mov edx, 0x3b
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10083ae7
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x3b
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x10083afe
mov eax, 0x10143a20
mov dword [eax + 8], edx
jmp 0x10088888
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x10088888
test ecx, ecx
jne 0x10083b23
mov ebx, dword [esp + 0x3c]
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x10082ff5
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.100217c0
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xc]
mov dword [ecx + 0x50], eax
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov edx, dword [edx + 0x50]
call fcn.10033230
jmp 0x10088888
test ecx, ecx
jne 0x10083b7e
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x20
or eax, ecx
je 0x10082ff3
mov ebx, dword [esp + 0x3c]
xor edx, edx
mov ecx, dword [ebx + 4]
call fcn.100332d0
jmp 0x10082ff5
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 1
call fcn.100217c0
mov esi, dword [esp + 0x1c]
test eax, eax
je 0x10083ba5
mov ebx, dword [esp + 0x3c]
mov edx, esi
mov ecx, dword [ebx + 4]
call fcn.100332d0
mov ecx, dword [esp + 0x30]
test esi, esi
mov edx, 1
setne al
movzx eax, al
push eax
call fcn.10082510
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
test al, al
je 0x10083bd2
or ecx, 0x20
jmp 0x10083bd5
and ecx, 0xffffffdf
mov eax, dword [esp + 0x10]
mov dword [eax + 0x20], ecx
mov ecx, eax
mov dword [eax + 0x24], edx
call fcn.10082730
jmp 0x10088888
test ecx, ecx
je 0x10083d10
lea edx, [esp + 0x90]
call fcn.100216b0
cmp dword [esp + 0x94], 0
jg 0x10083c2e
jl 0x10083c15
cmp dword [esp + 0x90], 0
jae 0x10083c2e
mov eax, dword [0x10140ba0]
mov ecx, dword [0x10140ba4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x10]
cmp dword [edx + 4], 0
jne 0x10083c50
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], ecx
mov ecx, dword [ebx + 0x14]
sub ecx, 1
mov dword [esp + 0x24], ecx
js 0x10083d10
mov esi, dword [esp + 0x10]
mov edi, ecx
shl edi, 4
nop dword [eax]
mov eax, dword [esi + 0x10]
mov ebx, dword [eax + edi + 4]
test ebx, ebx
je 0x10083cf8
cmp ecx, dword [esp + 0x40]
je 0x10083c8b
cmp dword [edx + 4], 0
jne 0x10083cf8
cmp byte [ebx + 9], 0
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x68], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x64], ecx
je 0x10083cc6
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x10083cc6
mov ecx, ebx
call fcn.10030c90
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x64]
mov ecx, dword [ecx]
mov dword [ecx + 0x88], eax
mov eax, dword [esp + 0x68]
mov dword [ecx + 0x8c], eax
call fcn.1002ab00
cmp byte [ebx + 9], 0
je 0x10083cf0
add dword [ebx + 0xc], 0xffffffff
jne 0x10083cf0
mov ecx, ebx
call fcn.10030c70
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x44]
dec ecx
sub edi, 0x10
mov dword [esp + 0x24], ecx
test ecx, ecx
jns 0x10083c70
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov ebx, 1
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x94], 0xffffffff
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x10083d44
push eax
call dword [0x10140b48]
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x10083d5e
mov edx, eax
call fcn.10069780
mov ecx, eax
test ecx, ecx
jns 0x10083d60
jmp 0x10083ded
xor ecx, ecx
mov eax, dword [esp + 0x10]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ecx*8 + 4]
test ebx, ebx
je 0x10083e20
cmp byte [ebx + 9], 0
je 0x10083d8b
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x10083d8b
mov ecx, ebx
call fcn.10030c90
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c8]
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x10083db1
mov dword [esp + 0x24], 0xc
jmp 0x10083dc8
lea edx, [esp + 0x90]
push edx
push 0x12
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x1c8], eax
cmp byte [ebx + 9], 0
je 0x10083de9
add dword [ebx + 0xc], 0xffffffff
jne 0x10083de9
mov ecx, ebx
call fcn.10030c70
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10083e02
push eax
call dword [0x10140b50]
add esp, 4
test ebx, ebx
jne 0x10083e27
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
mov dword [esp + 0xb4], ecx
jmp 0x10082ffd
mov ebx, 1
jmp 0x10083ded
cmp ebx, 0xc
je 0x10088888
mov eax, dword [esp + 0x18]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x10088888
test ecx, ecx
jne 0x10083e50
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x56]
jmp 0x10082ff5
mov cl, byte [ecx]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x10083e62
movsx ebx, cl
sub ebx, 0x30
jmp 0x10083ed2
mov ebx, dword [esp + 0x30]
mov esi, str.file
mov edx, ebx
nop dword [eax]
movzx edi, byte [esi]
movzx eax, cl
cmp eax, edi
jne 0x10083e85
test cl, cl
jne 0x10083e97
mov ebx, 1
jmp 0x10083ed2
movzx ecx, byte [eax + 0x1012c958]
movzx eax, byte [edi + 0x1012c958]
sub ecx, eax
jne 0x10083e9e
mov cl, byte [edx + 1]
inc edx
inc esi
jmp 0x10083e70
mov edi, str.memory
mov edx, ebx
sub edi, ebx
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x10083ebb
test eax, eax
jne 0x10083ecd
lea ebx, [eax + 2]
jmp 0x10083ed2
movzx ecx, byte [eax + 0x1012c958]
movzx eax, byte [esi + 0x1012c958]
sub ecx, eax
jne 0x10083ed0
inc edx
jmp 0x10083ea7
xor ebx, ebx
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
movzx eax, byte [esi + 0x56]
cmp eax, ebx
je 0x10088888
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x10083f10
cmp byte [esi + 0x55], 0
je 0x10083f18
cmp byte [ecx + 8], 0
jne 0x10083f18
call fcn.100330d0
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.10069140
mov byte [esi + 0x56], bl
jmp 0x10088888
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
call fcn.10020b80
add esp, 8
jmp 0x10088888
cmp byte [0x10140afc], 0
je 0x10083f4d
push 0xb
call dword [0x10140b40]
add esp, 4
test eax, eax
je 0x10083f4d
push eax
call dword [0x10140b48]
add esp, 4
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x10083f64
mov edx, dword [0x10143924]
mov ecx, esi
call fcn.10082650
jmp 0x10083fa1
cmp byte [ecx], 0
je 0x10083fd0
mov eax, dword [esp + 0x10]
lea edx, [esp + 0xa8]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x10083f90
cmp dword [esp + 0xa8], eax
jne 0x10083fd0
push str.not_a_writable_directory
push dword [esp + 0x1c]
call fcn.10020b80
add esp, 8
cmp byte [0x10140afc], 0
je 0x10088888
push 0xb
call dword [0x10140b40]
add esp, 4
test eax, eax
je 0x10088888
push eax
call dword [0x10140b50]
add esp, 4
jmp 0x10088888
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x56], 1
ja 0x1008401c
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x1008401c
cmp byte [esi + 0x55], 0
je 0x1008400e
cmp byte [ecx + 8], 0
jne 0x1008400e
call fcn.100330d0
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.10069140
jmp 0x1008401c
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
call fcn.10020b80
add esp, 8
push dword [0x10143924]
call fcn.1001cd70
mov eax, dword [esp + 0x34]
add esp, 4
cmp byte [eax], 0
je 0x10084048
push eax
push 0x1013365c
call fcn.1001fce0
mov dword [0x10143924], eax
jmp 0x10083f9e
mov dword [0x10143924], 0
jmp 0x10083fa1
cmp byte [0x10140afc], 0
je 0x10084079
push 0xb
call dword [0x10140b40]
add esp, 4
test eax, eax
je 0x10084079
push eax
call dword [0x10140b48]
add esp, 4
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x10084093
mov edx, dword [0x10143920]
mov ecx, esi
call fcn.10082650
jmp 0x10083fa1
cmp byte [ecx], 0
je 0x100840c7
mov eax, dword [esp + 0x10]
lea edx, [esp + 0xac]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x10083f90
cmp dword [esp + 0xac], eax
je 0x10083f90
push dword [0x10143920]
call fcn.1001cd70
mov eax, dword [esp + 0x34]
add esp, 4
cmp byte [eax], 0
je 0x100840f3
push eax
push 0x1013365c
call fcn.1001fce0
mov dword [0x10143920], eax
jmp 0x10083f9e
mov dword [0x10143920], 0
jmp 0x10083fa1
test ecx, ecx
jne 0x10084119
mov ebx, dword [esp + 0x3c]
movzx eax, byte [ebx + 8]
cdq
sub eax, 1
sbb edx, ecx
jmp 0x10082ff6
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x55], 0
jne 0x10084139
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x1c]
call fcn.10020b80
add esp, 8
jmp 0x10088888
cmp dword [esp + 0x40], 1
je 0x1008888c
push 1
xor edx, edx
call fcn.10082510
mov ebx, dword [esp + 0x40]
inc eax
add esp, 4
mov ecx, 1
and eax, 7
cmove eax, ecx
mov byte [ebx + 8], al
mov byte [ebx + 9], cl
mov ecx, dword [esp + 0x10]
call fcn.10082730
jmp 0x10088888
test ecx, ecx
jne 0x100841ce
mov edx, ebx
mov ecx, esi
call fcn.100825c0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
and ecx, dword [ebx + 8]
and eax, dword [ebx + 0xc]
or ecx, eax
je 0x100841a8
xor ecx, ecx
mov eax, 1
mov dword [esp + 0xb4], ecx
jmp 0x10082ffd
xorps xmm0, xmm0
movlpd qword [esp + 0xb0], xmm0
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xb4], ecx
jmp 0x10082ffd
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0xc]
cmp byte [ecx + 0x55], 0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jne 0x100841f4
and ebx, 0xffffbfff
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x30]
mov edx, 1
push 0
call fcn.10082510
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], edx
test al, al
je 0x10084231
mov eax, edx
or ecx, ebx
mov edx, dword [esp + 0x10]
or eax, dword [esp + 0x28]
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], eax
jmp 0x1008429a
mov edi, dword [esp + 0x10]
mov ecx, ebx
mov edx, dword [esp + 0x28]
not ecx
and ecx, dword [esp + 0x20]
mov eax, edx
not eax
and eax, dword [esp + 0x1c]
mov dword [edi + 0x20], ecx
mov ecx, edi
mov edi, dword [esp + 0x38]
mov dword [ecx + 0x24], eax
cmp ebx, 0x80000
jne 0x1008426f
test edx, edx
jne 0x1008426f
mov dword [ecx + 0x208], edx
mov dword [ecx + 0x20c], edx
jmp 0x1008429a
and ebx, 1
or ebx, 0
je 0x1008429a
mov edx, dword [esp + 0x30]
mov ebx, str.reset
sub ebx, edx
movzx ecx, byte [edx]
movzx eax, byte [ebx + edx]
cmp ecx, eax
jne 0x100842c7
test ecx, ecx
jne 0x100842d9
mov ecx, dword [esp + 0x10]
call fcn.10069140
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x100842dc
push 0
push 0
push 0
mov edx, 0xa6
mov ecx, esi
call fcn.1003f820
mov ecx, dword [esp + 0x1c]
add esp, 0xc
call fcn.10082730
jmp 0x10088888
movzx eax, byte [eax + 0x1012c958]
movzx ecx, byte [ecx + 0x1012c958]
sub ecx, eax
jne 0x1008429a
inc edx
jmp 0x10084282
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x10]
call fcn.10082730
jmp 0x10088888
test ecx, ecx
je 0x10088888
mov edi, dword [esp + 0x4c]
mov edx, edi
mov ecx, dword [esp + 0x18]
call fcn.10070ee0
mov ecx, dword [esp + 0x18]
mov edx, 2
push edi
push dword [esp + 0x34]
call fcn.10068d60
mov edi, eax
add esp, 8
mov dword [esp + 0x6c], edi
test edi, edi
je 0x10088888
mov ecx, dword [edi + 8]
mov dword [esp + 0x48], 0
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x10084384
nop word [eax + eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x10084380
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x10084370
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x60]
mov dword [eax], 7
cmp byte [edi + 0x2b], 1
je 0x100843a3
movzx eax, word [edi + 0x22]
mov ecx, eax
mov dword [esp + 0x20], ecx
test ax, ax
jg 0x100843b4
mov ecx, dword [esp + 0x18]
mov edx, edi
call fcn.1006ce50
movzx eax, word [edi + 0x22]
jmp 0x100843b8
mov eax, dword [esp + 0x20]
mov edx, dword [edi + 4]
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x70], ecx
mov dword [esp + 0x24], edx
cmp di, ax
jge 0x10088888
movzx eax, ax
mov dword [esp + 0x28], eax
nop word [eax + eax]
movzx eax, word [edx + 0xe]
xor edi, edi
mov dword [esp + 0x20], eax
test al, 0x62
je 0x10084421
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x10084406
mov eax, dword [esp + 0x28]
inc dword [esp + 0x48]
movzx eax, ax
jmp 0x10084591
mov eax, dword [esp + 0x20]
test al, 0x20
je 0x10084415
mov edi, 2
jmp 0x10084421
movzx edi, al
and edi, 0x40
or edi, 0x20
shr edi, 5
test al, 1
jne 0x10084429
xor edx, edx
jmp 0x10084459
mov ecx, dword [esp + 0x1c]
mov edx, 1
test ecx, ecx
je 0x10084459
mov eax, dword [esp + 0x28]
cwde
cmp eax, edx
jl 0x10084459
mov ecx, dword [ecx + 4]
mov esi, eax
movsx eax, word [ecx]
cmp eax, dword [esp + 0x70]
je 0x10084455
inc edx
add ecx, 2
cmp edx, esi
jle 0x10084444
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
movzx eax, word [ecx + 0xc]
mov dword [esp + 0x5c], eax
test ax, ax
jne 0x1008446e
xor eax, eax
jmp 0x100844b3
mov eax, dword [esp + 0x6c]
cmp byte [eax + 0x2b], 0
je 0x1008447c
xor eax, eax
jmp 0x100844b3
mov eax, dword [eax + 0x34]
test eax, eax
je 0x100844b3
mov ebx, dword [esp + 0x5c]
movzx ebx, bx
cmp dword [eax], ebx
mov ebx, dword [esp + 0x78]
jge 0x10084496
xor eax, eax
jmp 0x100844b3
mov ecx, dword [esp + 0x5c]
movzx eax, cx
mov ecx, dword [esp + 0x6c]
lea eax, [eax + eax*4]
mov esi, dword [ecx + 0x34]
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + eax*4 - 0xc]
mov esi, dword [esp + 0x34]
cmp edi, 2
jae 0x100844c8
test eax, eax
je 0x100844c8
mov eax, dword [eax + 8]
mov dword [esp + 0x88], eax
jmp 0x100844d3
mov dword [esp + 0x88], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x54], str.issisii
jne 0x100844eb
mov dword [esp + 0x54], str.issisi
movzx eax, word [ecx + 0xe]
test al, 4
je 0x10084521
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x64], eax
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10084502
mov eax, dword [esp + 0x64]
sub ecx, dword [esp + 0x20]
inc eax
add eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 4]
jmp 0x10084549
mov eax, dword [ecx + 4]
mov dword [esp + 0x5c], eax
shr eax, 4
and eax, 0xf
je 0x1008453d
mov eax, dword [eax*4 + 0x10141f94]
mov dword [esp + 0x28], eax
jmp 0x10084545
mov dword [esp + 0x28], 0x101315db
mov eax, dword [esp + 0x5c]
push edi
push edx
push dword [esp + 0x90]
test al, 0xf
mov eax, 0
setne al
push eax
push dword [esp + 0x38]
mov eax, dword [esp + 0x84]
push dword [ecx]
sub eax, dword [esp + 0x60]
push eax
push dword [esp + 0x70]
push 1
push esi
call fcn.1003f8d0
mov eax, dword [esp + 0x94]
add esp, 0x28
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x24]
movzx eax, word [eax + 0x22]
movzx edi, ax
inc ecx
add edx, 0x10
cwde
mov dword [esp + 0x70], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
cmp ecx, eax
jl 0x100843e0
jmp 0x10088888
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x4c]
mov edx, ebx
mov ecx, dword [esp + 0x18]
mov dword [eax], 6
call fcn.10070ee0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], 0
cmp dword [eax + 0x14], 0
jle 0x1008888c
xor edi, edi
mov dword [esp + 0x6c], edi
test ebx, ebx
je 0x10084602
mov eax, dword [eax + 0x10]
push dword [eax + edi]
push ebx
call fcn.10020cc0
add esp, 8
test eax, eax
jne 0x1008485f
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + edi + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x100846db
mov esi, dword [esp + 0x10]
nop
mov eax, dword [edx + 8]
dec ebx
test eax, eax
je 0x100846d7
nop dword [eax]
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x10084645
mov eax, dword [eax]
test eax, eax
jne 0x10084630
jmp 0x100846d7
push dword [ecx]
push str.SELECTFROM__w_
push esi
call fcn.1001fbf0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1008469b
push 0
lea eax, [esp + 0xa0]
mov dword [esp + 0xa0], 0
push eax
push 0
push 0
push 0xffffffffffffffff
mov edx, edi
mov ecx, esi
call fcn.1008a230
add esp, 0x14
push dword [esp + 0x9c]
call fcn.100446d0
add esp, 4
push edi
push esi
call fcn.1001ce80
add esp, 8
cmp byte [esi + 0x57], 0
je 0x100846c1
push str.out_of_memory
push dword [esi + 0x10c]
call fcn.10020b80
mov eax, dword [esi + 0x10c]
add esp, 8
mov dword [eax + 0xc], 7
mov eax, dword [esi + 0x10]
mov edi, dword [esp + 0x6c]
mov edx, dword [eax + edi + 0xc]
add edx, 8
test ebx, ebx
jne 0x10084620
mov esi, dword [esp + 0x34]
mov eax, dword [edx + 8]
mov dword [esp + 0x48], eax
test eax, eax
je 0x1008485b
nop word [eax + eax]
mov ebx, dword [eax + 8]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1008470e
push dword [ebx]
push eax
call fcn.10020cc0
add esp, 8
test eax, eax
jne 0x10084849
mov al, byte [ebx + 0x2b]
cmp al, 2
jne 0x1008471f
mov dword [esp + 0x28], str.view
jmp 0x10084745
cmp al, 1
jne 0x1008472d
mov dword [esp + 0x28], str.virtual
jmp 0x10084745
test dword [ebx + 0x1c], 0x1000
mov ecx, str.shadow
mov eax, str.table
cmove ecx, eax
mov dword [esp + 0x28], ecx
mov eax, dword [ebx]
mov edx, 7
mov dword [esp + 0x24], eax
test eax, eax
je 0x10084804
mov edi, eax
mov ebx, str.sqlite_
nop
mov al, byte [edi]
dec edx
test al, al
je 0x10084782
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x1012c958]
cmp al, byte [ecx + 0x1012c958]
jne 0x10084782
inc edi
inc ebx
test edx, edx
jg 0x10084760
dec edx
test edx, edx
js 0x1008479e
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x1012c958]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x1012c958]
sub eax, ecx
jne 0x10084804
mov edx, dword [esp + 0x24]
mov ebx, 0x10134193
add edx, 7
mov edi, edx
sub ebx, edx
nop
movzx ecx, byte [edi]
movzx eax, byte [ebx + edi]
cmp ecx, eax
jne 0x100847c9
test ecx, ecx
jne 0x100847db
mov dword [esp + 0x24], str.sqlite_schema
jmp 0x10084804
movzx eax, byte [eax + 0x1012c958]
movzx ecx, byte [ecx + 0x1012c958]
sub ecx, eax
jne 0x100847de
inc edi
jmp 0x100847b0
mov edi, 0x1013438f
sub edi, edx
movzx ecx, byte [edx]
movzx eax, byte [edi + edx]
cmp ecx, eax
jne 0x10084883
test ecx, ecx
jne 0x10084899
mov dword [esp + 0x24], str.sqlite_temp_schema
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x6c]
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, 1
shr ecx, 7
push eax
movsx eax, word [edx + 0x22]
and ecx, 1
push ecx
push eax
push dword [esp + 0x34]
mov eax, dword [esp + 0x20]
push dword [esp + 0x34]
mov eax, dword [eax + 0x10]
push dword [eax + edi]
push str.sssiii
push 1
push esi
call fcn.1003f8d0
add esp, 0x24
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
test eax, eax
jne 0x100846f0
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
add edi, 0x10
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x6c], edi
mov dword [esp + 0x1c], eax
cmp eax, dword [ecx + 0x14]
mov eax, ecx
jl 0x100845e7
jmp 0x1008888c
movzx eax, byte [eax + 0x1012c958]
movzx ecx, byte [ecx + 0x1012c958]
sub ecx, eax
jne 0x10084804
inc edx
jmp 0x100847e5
test ecx, ecx
je 0x10088888
push dword [esp + 0x4c]
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.10068f20
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x1008490b
push dword [esp + 0x4c]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 2]
push dword [esp + 0x34]
call fcn.10068d60
add esp, 8
test eax, eax
je 0x10088888
test byte [eax + 0x1c], 0x80
je 0x10088888
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x10088888
mov eax, dword [ebx + 0x38]
and al, 3
cmp al, 2
je 0x10084903
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x100848f3
test ebx, ebx
je 0x10088888
mov ecx, dword [ebx + 0x18]
mov edx, 0xffff8000
test ecx, ecx
je 0x1008492f
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x1008492f
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x10084927
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx + 8]
or eax, dword [ecx + 0xc]
je 0x10084946
movzx eax, word [ebx + 0x34]
mov ecx, 6
jmp 0x1008494f
movzx eax, word [ebx + 0x32]
mov ecx, 3
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x18]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x64], eax
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x18], ecx
mov eax, dword [ecx + 0x58]
mov ecx, edx
mov dword [esp + 0x20], eax
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x20]
test ecx, eax
jne 0x1008499f
mov eax, dword [esp + 0x18]
bts ecx, edx
mov dword [eax + 0x58], ecx
cmp edx, 1
jne 0x1008499f
mov ecx, eax
call fcn.10070e40
xor edx, edx
mov dword [esp + 0x28], edx
cmp word [esp + 0x48], dx
je 0x10088888
mov eax, dword [ebx + 4]
movzx eax, word [eax + edx*2]
movsx ecx, ax
mov dword [esp + 0x20], ecx
test ax, ax
jns 0x100849c7
xor eax, eax
jmp 0x100849d7
mov eax, dword [esp + 0x64]
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
mov ecx, dword [esp + 0x20]
push eax
push ecx
push edx
push str.iisX
push 1
push esi
call fcn.1003f8d0
mov ecx, dword [esp + 0x90]
add esp, 0x18
mov eax, dword [ecx + 8]
or eax, dword [ecx + 0xc]
je 0x10084a26
movzx eax, word [ebx + 0x32]
mov ecx, dword [esp + 0x28]
cmp ecx, eax
sbb eax, eax
neg eax
push eax
mov eax, dword [ebx + 0x20]
push dword [eax + ecx*4]
mov eax, dword [ebx + 0x1c]
movzx eax, byte [eax + ecx]
push eax
push str.isiX
push 4
push esi
call fcn.1003f8d0
add esp, 0x18
mov eax, dword [esp + 0x60]
mov ecx, dword [edi]
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
cmp dword [eax], ecx
jg 0x10084a4c
push 0
push edx
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10084a7e
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x48]
inc edx
movzx eax, cx
mov dword [esp + 0x28], edx
cmp edx, eax
jl 0x100849b0
jmp 0x10088888
test ecx, ecx
je 0x10088888
push dword [esp + 0x4c]
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.10068990
mov edi, eax
add esp, 4
test edi, edi
je 0x10088888
mov edx, dword [edi + 0x3c]
mov ecx, 0xffff8000
test edx, edx
je 0x10084ae8
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x10084ae8
nop dword [eax + eax]
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x10084ae0
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x18]
mov dword [eax], 5
mov eax, dword [ebx + 0x78]
test eax, eax
cmovne ebx, eax
mov eax, 1
shl eax, cl
mov edx, dword [ebx + 0x58]
test edx, eax
jne 0x10084b1e
bts edx, ecx
mov dword [ebx + 0x58], edx
cmp ecx, 1
jne 0x10084b1e
mov ecx, ebx
call fcn.10070e40
mov edi, dword [edi + 8]
xor ebx, ebx
test edi, edi
je 0x10088888
mov dword [esp + 0xb0], 0x101371e4
mov dword [esp + 0xb4], 0x101371e8
mov dword [esp + 0xb8], 0x10136b48
nop dword [eax]
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0xb4]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.1003f8d0
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x10084b50
jmp 0x10088888
mov eax, dword [esp + 0x60]
xor edi, edi
mov dword [eax], 3
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x14], edi
jle 0x1008888c
xor ebx, ebx
nop word [eax + eax]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x10084bf0
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
jne 0x10084bd6
cmp dword [eax], 0x10142bb0
je 0x10084bd6
mov eax, dword [eax + 0xb8]
jmp 0x10084bdb
mov eax, 0x1012acb8
push eax
push dword [ecx + ebx]
push edi
push 0x101371f4
push 1
push esi
call fcn.1003f8d0
add esp, 0x18
mov eax, dword [esp + 0x10]
inc edi
add ebx, 0x10
cmp edi, dword [eax + 0x14]
jl 0x10084bb0
jmp 0x1008888c
mov eax, dword [esp + 0x60]
xor ebx, ebx
mov edi, dword [esp + 0x10]
mov dword [eax], 2
mov edi, dword [edi + 0x1b8]
test edi, edi
je 0x10088888
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x101371f8
push 1
push esi
call fcn.1003f8d0
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x10084c20
jmp 0x10088888
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x60]
shr ebx, 5
and ebx, 1
mov dword [eax], 6
mov eax, 0x10143a50
mov dword [esp + 0x1c], eax
mov edi, dword [eax]
test edi, edi
je 0x10084c82
push ebx
push 1
mov edx, edi
mov ecx, esi
call fcn.10082830
mov edi, dword [edi + 0x24]
add esp, 8
test edi, edi
jne 0x10084c68
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x1c], eax
cmp eax, 0x10143aac
jl 0x10084c62
mov edi, dword [esp + 0x10]
mov edi, dword [edi + 0x1a8]
test edi, edi
je 0x10088888
mov edx, dword [edi + 8]
mov ecx, esi
push ebx
push 0
call fcn.10082830
mov edi, dword [edi]
add esp, 8
test edi, edi
jne 0x10084ca2
jmp 0x10088888
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x10]
mov dword [eax], 1
mov edi, dword [edi + 0x18c]
test edi, edi
je 0x10088888
nop dword [eax]
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x10134800
push 1
push esi
call fcn.1003f8d0
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x10084ce0
jmp 0x10088888
mov edi, 0x1012dc88
push dword [edi]
push 0x10134800
push 1
push esi
call fcn.1003f8d0
add edi, 0x10
add esp, 0x10
cmp edi, 0x1012e0b8
jl 0x10084d06
jmp 0x10088888
test ecx, ecx
je 0x10088888
push dword [esp + 0x4c]
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.10068990
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
je 0x10088888
cmp byte [eax + 0x2b], 0
jne 0x10088888
mov edi, dword [eax + 0x30]
test edi, edi
je 0x10088888
mov edx, dword [eax + 0x3c]
mov ecx, 0xffff8000
test edx, edx
je 0x10084d88
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edx
je 0x10084d88
nop
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x10084d80
mov eax, dword [esp + 0x60]
xor edx, edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x28], edx
mov dword [eax], 8
mov eax, dword [ebx + 0x78]
test eax, eax
cmovne ebx, eax
mov eax, 1
mov dword [esp + 0x18], ebx
shl eax, cl
mov ebx, dword [ebx + 0x58]
test ebx, eax
jne 0x10084dd0
mov eax, dword [esp + 0x18]
bts ebx, ecx
mov dword [eax + 0x58], ebx
cmp ecx, 1
jne 0x10084dd0
mov ecx, eax
call fcn.10070e40
xor edx, edx
nop
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x10084e93
lea edx, [edi + 0x24]
mov dword [esp + 0x1c], edx
movzx eax, byte [edi + 0x19]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x10084dee
jmp dword [eax*4 + 0x1008896c]
mov ecx, str.SET_NULL
jmp 0x10084e16
mov ecx, str.SET_DEFAULT
jmp 0x10084e16
mov ecx, str.CASCADE
jmp 0x10084e16
mov ecx, str.RESTRICT
jmp 0x10084e16
mov ecx, str.NO_ACTION
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x10084e22
jmp dword [eax*4 + 0x1008897c]
mov eax, str.SET_NULL
jmp 0x10084e4a
mov eax, str.SET_DEFAULT
jmp 0x10084e4a
mov eax, str.CASCADE
jmp 0x10084e4a
mov eax, str.RESTRICT
jmp 0x10084e4a
mov eax, str.NO_ACTION
push str.NONE
push ecx
mov ecx, dword [edx]
push eax
push dword [edx + 4]
mov eax, dword [esp + 0x30]
add ecx, ecx
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x44]
push str.iissssss
push 1
push esi
call fcn.1003f8d0
mov edx, dword [esp + 0x48]
inc ebx
add edx, 8
add esp, 0x2c
mov dword [esp + 0x1c], edx
cmp ebx, dword [edi + 0x14]
jl 0x10084de2
mov edx, dword [esp + 0x28]
mov edi, dword [edi + 4]
inc edx
mov dword [esp + 0x28], edx
test edi, edi
jne 0x10084dd0
jmp 0x10088888
mov edx, dword [esp + 0x60]
mov eax, dword [edx]
lea ecx, [eax + 1]
add eax, 5
mov dword [edx], eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov eax, dword [ecx + eax + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x10088888
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10084ef7
push dword [esp + 0x4c]
mov ecx, dword [esp + 0x1c]
xor edx, edx
push eax
call fcn.10068d60
add esp, 8
xor ecx, ecx
jmp 0x10084efc
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x7c], eax
test eax, eax
je 0x1008573c
cmp byte [eax + 0x2b], 0
jne 0x1008573c
cmp dword [eax + 0x30], 0
je 0x1008573c
mov ecx, dword [eax + 0x3c]
mov ebx, 0xffff8000
test ecx, ecx
je 0x10084f48
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x10084f48
nop dword [eax]
lea eax, [eax + 0x10]
inc ebx
cmp dword [eax], ecx
jne 0x10084f40
mov eax, dword [esp + 0x10]
mov ecx, ebx
shl ecx, 4
mov dword [esp + 0x1c], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [ecx + eax]
mov ecx, dword [esp + 0x18]
mov edx, ecx
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + 0x78]
test eax, eax
mov ecx, ebx
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ecx, dword [edx + 0x58]
test ecx, eax
jne 0x10084f91
bts ecx, ebx
mov dword [edx + 0x58], ecx
cmp ebx, 1
jne 0x10084f96
mov ecx, edx
call fcn.10070e40
jmp 0x10084fc6
cmp ebx, 1
je 0x10084fc6
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x10084fc6
mov eax, dword [esp + 0x7c]
mov edx, ebx
mov ecx, dword [esp + 0x18]
push dword [eax]
push 0
push dword [eax + 0x14]
call fcn.10067fd0
add esp, 0xc
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x60]
movsx eax, word [ecx + 0x22]
add eax, dword [esp + 0x44]
cmp eax, dword [edx]
jle 0x10084fdc
mov dword [edx], eax
push 0x70
push ecx
mov ecx, dword [esp + 0x20]
xor edx, edx
push ebx
call fcn.1007b6a0
mov eax, dword [esp + 0x88]
add esp, 0xc
mov edx, dword [edi]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
cmp dword [eax], edx
jg 0x10085020
push 0
push dword [esp + 0x40]
mov edx, 0x75
mov ecx, esi
push 0
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x10085056
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [esp + 0x24]
mov ecx, esi
call fcn.10040470
mov ecx, dword [esp + 0x84]
add esp, 8
mov eax, 1
mov dword [esp + 0x24], eax
mov ecx, dword [ecx + 0x30]
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x100851e3
mov edx, dword [ecx + 8]
push dword [esp + 0x4c]
mov ecx, dword [esp + 0x14]
call fcn.10068990
mov edx, eax
add esp, 4
mov dword [esp + 0x5c], edx
test edx, edx
je 0x100851c7
mov dword [esp + 0x78], 0
cmp ebx, 1
je 0x100850e3
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x100850e3
push dword [edx]
mov ecx, dword [esp + 0x1c]
push 0
push dword [edx + 0x14]
mov edx, ebx
call fcn.10067fd0
mov edx, dword [esp + 0x68]
add esp, 0xc
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x78]
push 0
push eax
push dword [esp + 0x30]
call fcn.10078d50
add esp, 0xc
test eax, eax
jne 0x10088888
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x10085126
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
push 0x70
push dword [esp + 0x60]
push ebx
call fcn.1007b6a0
add esp, 0xc
jmp 0x100851c7
mov edx, dword [esp + 0x14]
mov ecx, dword [edi]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x20], eax
cmp dword [edx], ecx
mov edx, dword [esp + 0x24]
jg 0x1008514f
push ebx
push eax
push edx
mov edx, 0x70
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10085179
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x78]
mov eax, dword [ecx + 8]
mov dword [esp + 0x20], eax
call fcn.100716d0
mov dword [esp + 0x64], eax
test eax, eax
je 0x100851c7
mov edx, dword [esp + 0x20]
mov ecx, dword [edx]
cmp byte [ecx + 0x57], 0
je 0x100851b1
push eax
mov edx, 0xfffffff8
call fcn.10040210
add esp, 4
jmp 0x100851c7
mov eax, dword [edx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x68]
mov edx, dword [esp + 0x64]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0x10085085
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x28], eax
jge 0x100851ef
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
mov dword [esp + 0x24], edx
cmp dword [eax], edx
jg 0x10085218
push 0
push 0
push 0
mov edx, 0x24
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov dword [esp + 0x24], eax
jmp 0x1008524a
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x54], 1
mov ebx, dword [eax + 0x30]
mov dword [esp + 0x2c], ebx
test ebx, ebx
je 0x100856c2
push dword [esp + 0x4c]
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x14]
call fcn.10068990
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x6c], 0
test eax, eax
je 0x100852a9
lea ecx, [esp + 0x6c]
mov edx, eax
push ecx
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x20]
push ebx
call fcn.10078d50
add esp, 0xc
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x60]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
mov ecx, dword [edx + 0x14]
mov eax, dword [esp + 0x44]
add eax, ecx
mov dword [esp + 0x28], ebx
cmp eax, dword [edi]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x48], ecx
jle 0x100852e1
mov ecx, dword [esp + 0x60]
mov dword [ecx], eax
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x48], ecx
xor eax, eax
mov dword [esp + 0x1c], eax
test ecx, ecx
jle 0x1008539d
mov ebx, dword [esp + 0x44]
add edx, 0x24
mov dword [esp + 0x5c], edx
nop word [eax + eax]
mov ecx, dword [esp + 0x6c]
lea eax, [ecx + eax*4]
test ecx, ecx
jne 0x1008530d
mov eax, edx
mov eax, dword [eax]
mov ecx, esi
mov edx, dword [esp + 0x7c]
push ebx
push eax
push 0
call fcn.1005bff0
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10085343
push 0
push dword [esp + 0x2c]
mov edx, 0x32
mov ecx, esi
push ebx
call fcn.1003f820
add esp, 0xc
jmp 0x10085371
mov edx, dword [esp + 0x28]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x2c]
inc ebx
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x5c]
inc eax
add edx, 8
mov dword [esp + 0x1c], eax
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x48], ecx
cmp eax, ecx
jl 0x10085300
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x78]
test edx, edx
je 0x100854b4
mov ecx, dword [esp + 0x10]
call fcn.1007b850
mov ecx, dword [esp + 0x14]
mov edx, dword [edi]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x20], eax
cmp dword [ecx], edx
jg 0x100853e5
push 0
push eax
push dword [esp + 0x4c]
mov edx, 0x60
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x1008541b
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x44]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x20]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0x48]
mov ecx, esi
push dword [esp + 0x68]
call fcn.10040470
mov eax, dword [esp + 0x34]
add esp, 8
mov edx, dword [edi]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
cmp dword [eax], edx
jg 0x1008545e
push dword [esp + 0x44]
mov edx, 0x1d
mov ecx, esi
push ebx
push dword [esp + 0x5c]
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x10085490
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x54]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x44]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x10085566
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x20]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x10085566
cmp dword [esp + 0x20], 0
je 0x10085566
mov ecx, dword [edi]
mov eax, dword [esp + 0x14]
lea edx, [ecx + 2]
cmp dword [eax], ecx
jg 0x100854e6
push dword [esp + 0x44]
mov ecx, esi
push edx
push dword [esp + 0x5c]
mov edx, 0x1e
call fcn.1003f820
add esp, 0xc
jmp 0x10085518
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x54]
mov dword [eax + ecx*4], 0x1e
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x44]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10085538
push 0
push ebx
push 0
mov edx, 9
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10085566
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
test byte [edx + 0x1c], 0x80
mov eax, dword [eax]
jne 0x100855ab
cmp eax, ecx
jg 0x10085597
mov eax, dword [esp + 0x3c]
mov edx, 0x87
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.1003f820
add esp, 0xc
jmp 0x10085601
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x87
jmp 0x100855dc
cmp eax, ecx
jg 0x100855ca
mov eax, dword [esp + 0x3c]
mov edx, 0x4b
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.1003f820
add esp, 0xc
jmp 0x10085601
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
inc edx
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x54]
dec eax
push eax
mov eax, dword [esp + 0x30]
push dword [eax + 8]
mov eax, dword [esp + 0x44]
push 0x10137210
add eax, 2
push eax
push esi
call fcn.1003f8d0
mov eax, dword [esp + 0x28]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10085647
push 0
push 4
push dword [esp + 0x44]
mov edx, 0x54
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10085679
mov edx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x10085693
push ebx
mov edx, esi
call fcn.1003fdd0
add esp, 4
jmp 0x1008569b
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + ebx*4], eax
push dword [esp + 0x6c]
push dword [esp + 0x14]
call fcn.1001ce80
mov ebx, dword [esp + 0x34]
add esp, 8
inc dword [esp + 0x54]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x2c], ebx
test ebx, ebx
jne 0x10085265
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
mov ecx, dword [edi]
lea edx, [ebx + 1]
cmp dword [eax], ecx
jg 0x100856e9
push 0
push edx
push 0
mov edx, 0x27
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x1008571b
mov ebx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x1008572c
mov eax, 0x10143a20
jmp 0x10085735
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], edx
test ecx, ecx
jne 0x10084ed8
jmp 0x10088888
test ecx, ecx
je 0x10088888
push 0
mov edx, 1
call fcn.10082510
mov ecx, dword [esp + 0x14]
xor edx, edx
add esp, 4
test al, al
setne dl
call fcn.100783c0
jmp 0x10088888
mov eax, dword [esp + 0x84]
or edx, 0xffffffff
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x88], 0
movzx eax, byte [eax]
mov al, byte [eax + 0x1012c958]
mov byte [esp + 0x77], al
mov eax, dword [esp + 0x44]
cmp dword [eax], 0
mov eax, dword [esp + 0x60]
cmove ebx, edx
mov dword [esp + 0x40], ebx
mov dword [eax], 6
mov eax, 0x64
mov dword [esp + 0x28], eax
mov dword [esp + 0x48], eax
test ecx, ecx
je 0x10085828
lea edx, [esp + 0x48]
call fcn.100217c0
test eax, eax
je 0x100857ec
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x28], eax
test eax, eax
jg 0x1008582c
mov eax, 0x64
mov dword [esp + 0x28], eax
jmp 0x1008582c
test ebx, ebx
js 0x10085800
mov eax, dword [esp + 0x10]
mov ecx, ebx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x10085802
xor eax, eax
mov ebx, dword [esp + 0x18]
xor edx, edx
push eax
push dword [esp + 0x34]
mov ecx, ebx
call fcn.10068d60
mov dword [esp + 0x90], eax
add esp, 8
mov eax, dword [esp + 0x48]
mov dword [esp + 0x28], eax
jmp 0x1008582c
mov ebx, dword [esp + 0x18]
mov ecx, dword [edi]
lea edx, [eax - 1]
mov eax, dword [esp + 0x14]
cmp dword [eax], ecx
jg 0x1008584f
push 0
push 1
push edx
mov edx, 0x47
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10085881
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x78], ecx
cmp dword [eax + 0x14], ecx
jle 0x10087c17
mov dword [esp + 0x98], 0x10
nop
xor eax, eax
mov eax, dword [esp + 0x40]
test eax, eax
js 0x100858b2
cmp ecx, eax
jne 0x10087c01
mov eax, dword [ebx + 0x78]
mov edx, ebx
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x58]
test ebx, eax
jne 0x100858e0
bts ebx, ecx
mov dword [edx + 0x58], ebx
cmp ecx, 1
jne 0x100858e0
mov ecx, edx
call fcn.10070e40
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x10]
mov edx, ecx
shl edx, 4
xor ecx, ecx
mov dword [esp + 0x64], edx
mov eax, dword [eax + 0x10]
mov eax, dword [edx + eax + 0xc]
mov dword [esp + 0x5c], eax
mov eax, dword [eax + 0x10]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10087bfd
mov edx, dword [esp + 0x88]
mov esi, ecx
mov ebx, dword [eax + 8]
test edx, edx
je 0x1008591d
cmp edx, ebx
jne 0x1008594b
test byte [ebx + 0x1c], 0x80
lea eax, [ecx + 1]
cmovne eax, ecx
xor edx, edx
mov ecx, eax
mov eax, dword [ebx + 8]
test eax, eax
je 0x1008593b
mov eax, dword [eax + 0x14]
inc ecx
inc edx
test eax, eax
jne 0x10085932
mov eax, dword [esp + 0x1c]
cmp edx, esi
cmovg esi, edx
mov edx, dword [esp + 0x88]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x10085912
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x34]
test ecx, ecx
je 0x10087bfd
lea eax, [ecx + 1]
test edx, edx
push 0
cmove eax, ecx
mov ecx, dword [esp + 0x14]
lea eax, [eax*4 + 4]
push eax
call fcn.1001d1c0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x10087c17
xor edx, edx
cmp dword [esp + 0x88], edx
je 0x100859a4
mov edx, 1
mov dword [ebx + 4], 0
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x48], eax
test eax, eax
je 0x100859fd
cmp dword [esp + 0x88], 0
mov ecx, dword [eax + 8]
je 0x100859c9
cmp dword [esp + 0x88], ecx
jne 0x100859f3
test byte [ecx + 0x1c], 0x80
jne 0x100859da
mov eax, dword [ecx + 0x14]
inc edx
mov dword [ebx + edx*4], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x100859f3
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [ebx + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x100859e1
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
test eax, eax
jne 0x100859b3
mov eax, dword [esp + 0x60]
mov dword [ebx], edx
mov ecx, dword [eax]
mov eax, dword [esp + 0x6c]
add eax, 8
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [esp + 0x60]
mov dword [eax], ecx
mov eax, dword [esp + 0x18]
mov byte [eax + 0x13], 0
mov dword [eax + 0x1c], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
mov dword [esp + 0x20], ecx
cmp dword [eax], ecx
jg 0x10085a4a
push 1
push edx
push 2
mov edx, 0x9b
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10085a80
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x9b
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x20]
push 0xfffffffffffffff2
push ebx
mov edx, eax
mov ecx, esi
call fcn.10040470
mov ebx, dword [edi]
add esp, 8
test ebx, ebx
jle 0x10085aa9
mov eax, dword [esp + 0x78]
lea ecx, [ebx + ebx*4]
movzx edx, al
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ebx, dword [edi]
mov eax, dword [esp + 0x14]
cmp dword [eax], ebx
jg 0x10085aca
push 0
push 0
push 2
mov edx, 0x32
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov ebx, eax
jmp 0x10085afc
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
mov eax, dword [edx + 0x10]
push dword [ecx + eax]
push str._in_database__s__n
push edx
call fcn.1001fbf0
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
cmp dword [eax], edx
jg 0x10085b3f
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x10085b75
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffffa
push dword [esp + 0x24]
mov ecx, esi
call fcn.10040470
mov eax, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10085ba6
push 3
push 3
push 2
mov edx, 0x6f
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10085bd8
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.100828d0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x10085bf0
mov eax, 0x10143a20
jmp 0x10085bf9
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x5c]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x20], ebx
test ebx, ebx
je 0x10087bfd
nop
mov ebx, dword [ebx + 8]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x64], 0
mov dword [esp + 0x7c], 0xffffffff
cmp byte [ebx + 0x2b], 0
jne 0x10087beb
mov eax, dword [esp + 0x88]
test eax, eax
je 0x10085c44
cmp eax, ebx
jne 0x10087beb
cmp byte [esp + 0x77], 0x71
je 0x10085d55
test byte [ebx + 0x1c], 0x80
je 0x10085d55
mov ecx, dword [ebx + 8]
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x10085c78
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x10085c74
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x10085c64
mov dword [esp + 0x3c], ecx
movzx ecx, word [ecx + 0x32]
cmp ecx, 1
jne 0x10085caf
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x13]
test al, al
jne 0x10085c9a
mov eax, dword [esp + 0x60]
inc dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
jmp 0x10085cf0
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0xa0]
mov dword [esp + 0x4c], eax
jmp 0x10085cf0
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x20]
mov dword [esp + 0x4c], edx
mov edx, dword [eax + 0x1c]
cmp ecx, edx
jg 0x10085cdb
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x4c]
add eax, ecx
sub edx, ecx
mov dword [ebx + 0x20], eax
mov eax, ebx
mov ebx, dword [esp + 0x58]
mov dword [eax + 0x1c], edx
jmp 0x10085cf0
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
lea edx, [eax + 1]
add eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x4c], edx
mov dword [ecx], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
mov ecx, dword [edi]
dec edx
movzx eax, word [eax + 0x32]
add edx, eax
mov eax, dword [esp + 0x14]
cmp dword [eax], ecx
jg 0x10085d21
push edx
push dword [esp + 0x50]
mov edx, 0x4b
mov ecx, esi
push 1
call fcn.1003f820
add esp, 0xc
jmp 0x10085d65
mov ebx, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x58]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x10085d65
mov dword [esp + 0x3c], 0
mov dword [esp + 0x4c], 0
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x84]
mov edx, ebx
push eax
push 0
push 1
push 0
push 0x70
call fcn.100803c0
mov edx, dword [esp + 0x2c]
add esp, 0x18
mov ecx, dword [edi]
cmp dword [edx], ecx
jg 0x10085dad
push 0
push 7
push 0
mov edx, 0x47
mov ecx, esi
call fcn.1003f820
mov edx, dword [esp + 0x20]
add esp, 0xc
jmp 0x10085de3
mov ebx, dword [esp + 0x58]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 7
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 8]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10085e59
mov ebx, 8
mov ecx, dword [edi]
cmp dword [edx], ecx
jg 0x10085e13
push 0
push ebx
push 0
mov edx, 0x47
mov ecx, esi
call fcn.1003f820
mov edx, dword [esp + 0x20]
add esp, 0xc
jmp 0x10085e45
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
inc ebx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x10085df3
mov ebx, dword [esp + 0x58]
mov ecx, dword [edi]
cmp dword [edx], ecx
jg 0x10085e7f
push 0
push 0
push dword [esp + 0x88]
mov edx, 0x24
mov ecx, esi
call fcn.1003f820
mov edx, dword [esp + 0x20]
add esp, 0xc
jmp 0x10085eb8
mov ebx, dword [esp + 0x80]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x58]
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi]
mov dword [esp + 0x48], ecx
cmp dword [edx], ecx
jg 0x10085edd
push 0
push 1
push 7
mov edx, 0x56
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov dword [esp + 0x48], eax
jmp 0x10085f0f
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test byte [ebx + 0x1c], 0x80
jne 0x10085f55
movsx ebx, word [ebx + 0x22]
or ecx, 0xffffffff
test ebx, ebx
jle 0x10085f43
mov edx, dword [esp + 0x58]
mov edx, dword [edx + 4]
add edx, 0xe
nop word [eax + eax]
test byte [edx], 0x20
lea eax, [ecx + 1]
lea edx, [edx + 0x10]
cmovne eax, ecx
mov ecx, eax
sub ebx, 1
jne 0x10085f30
mov eax, dword [esp + 0x58]
lea edx, [ecx - 1]
movsx eax, word [eax + 0x20]
cmp ecx, eax
cmovne edx, ecx
jmp 0x10085f75
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x10085f70
nop dword [eax]
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x10085f70
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x10085f60
movzx edx, word [ecx + 0x34]
dec edx
mov ebx, dword [esp + 0x14]
test edx, edx
js 0x10086008
mov ecx, dword [edi]
cmp dword [ebx], ecx
jg 0x10085fa2
push 3
push edx
push dword [esp + 0x88]
mov edx, 0x5e
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10085fd7
mov ebx, dword [esp + 0x80]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x14]
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x10085fe6
mov eax, 0x10143a20
jmp 0x10085ff4
mov eax, dword [edi]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp dword [eax + 0xc], 3
jne 0x10086008
cmp byte [eax], 0x5e
jne 0x10086008
mov ecx, 0x80
or word [eax + 2], cx
cmp byte [esp + 0x77], 0x71
je 0x100861fa
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x100861fa
movzx eax, word [ecx + 0x32]
mov edx, dword [edi]
mov dword [esp + 0x68], eax
cmp dword [ebx], edx
jg 0x1008604d
push dword [esp + 0x4c]
mov edx, 0x29
mov ecx, esi
push 0
push dword [esp + 0x88]
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x10086082
mov ebx, dword [esp + 0x80]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x29
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
lea ebx, [edx + edx*4]
shl ebx, 2
cmp byte [eax + 0x57], 0
jne 0x100860a0
mov eax, dword [esi + 0x68]
mov ecx, dword [esp + 0x68]
mov byte [eax + ebx + 1], 0xfd
mov dword [eax + ebx + 0x10], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x100860c3
push 0
push 0
push dword [esp + 0x54]
mov edx, 0x32
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x100860f5
mov edx, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x58]
push dword [eax]
push str.row_not_in_PRIMARY_KEY_order_for__s
push dword [esp + 0x18]
call fcn.1001fbf0
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x14]
cmp dword [eax], edx
jg 0x10086133
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x10086169
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffffa
push dword [esp + 0x6c]
mov ecx, esi
call fcn.10040470
add esp, 8
mov ecx, esi
call fcn.100828d0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x10086191
mov eax, 0x10143a20
jmp 0x10086196
mov eax, dword [esi + 0x68]
add eax, ebx
mov dword [eax + 8], ecx
mov eax, dword [esi]
mov ecx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x100861aa
mov eax, 0x10143a28
jmp 0x100861b2
mov eax, dword [esi + 0x68]
add eax, 0x1c
add eax, ebx
mov dword [eax], ecx
xor ebx, ebx
mov ecx, dword [esp + 0x3c]
xor eax, eax
cmp ax, word [ecx + 0x32]
jae 0x100861fa
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x80]
nop dword [eax]
mov eax, dword [esp + 0x4c]
mov edx, ecx
add eax, ebx
mov ecx, edi
push eax
push ebx
push esi
call fcn.1005bdc0
mov ecx, dword [esp + 0x48]
inc ebx
add esp, 0xc
movzx eax, word [ecx + 0x32]
cmp ebx, eax
jl 0x100861d0
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x58]
xor edx, edx
mov dword [esp + 0x54], edx
movzx eax, word [ebx + 0x1e]
and eax, 1
mov dword [esp + 0x68], eax
xor eax, eax
cmp ax, word [ebx + 0x22]
jge 0x10086a27
nop dword [eax + eax]
mov eax, dword [esp + 0x58]
mov ecx, edx
mov ebx, dword [ebx + 4]
shl ecx, 4
add ebx, ecx
mov dword [esp + 0x5c], ecx
movsx eax, word [eax + 0x20]
mov dword [esp + 0x70], ebx
cmp edx, eax
je 0x10086a0e
cmp dword [esp + 0x68], 0
mov ecx, dword [ebx + 4]
je 0x10086260
mov eax, ecx
and eax, 0xf0
cmp dword [esp + 0x98], eax
sbb eax, eax
neg eax
jmp 0x10086269
xor eax, eax
cmp byte [ebx + 8], 0x41
setg al
mov dword [esp + 0x6c], eax
test cl, 0xf
jne 0x1008627a
test eax, eax
je 0x10086a0e
test byte [ebx + 0xe], 0x20
mov dword [esp + 0x24], 5
je 0x100862b2
push 3
push edx
push dword [esp + 0x88]
mov edx, dword [esp + 0x64]
mov ecx, esi
call fcn.1005bff0
add esp, 0xc
mov dword [esp + 0x50], 0xffffffff
mov ecx, 3
jmp 0x10086382
cmp word [ebx + 0xc], 0
je 0x10086336
mov dword [esp + 0xa0], 0
movzx eax, word [ebx + 0xc]
test ax, ax
je 0x10086336
mov ecx, dword [esp + 0x58]
cmp byte [ecx + 0x2b], 0
jne 0x10086336
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x10086336
cmp dword [ecx], eax
jl 0x10086336
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 - 0xc]
test edx, edx
je 0x10086332
push ecx
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xa4]
push eax
movzx eax, byte [ebx + 8]
push eax
movzx eax, byte [ecx + 0x54]
push eax
call fcn.1003f030
mov ecx, dword [esp + 0xb0]
add esp, 0x10
test ecx, ecx
je 0x10086332
movzx eax, word [ecx + 0x10]
and eax, 0x3f
movzx eax, byte [eax + 0x101306d0]
mov dword [esp + 0x24], eax
call fcn.1003f5a0
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x58]
mov ecx, eax
test byte [eax + 0x1c], 0x80
je 0x1008637a
call fcn.10069ad0
xor ecx, ecx
movzx edx, word [eax + 0x34]
test edx, edx
je 0x10086370
mov eax, dword [eax + 4]
mov ebx, dword [esp + 0x54]
cmp bx, word [eax]
je 0x10086375
inc ecx
add eax, 2
cmp ecx, edx
jl 0x10086363
or eax, 0xffffffff
jmp 0x1008637f
movzx eax, cx
jmp 0x1008637f
call fcn.10069b20
movsx ecx, ax
mov edx, dword [esp + 0x18]
mov ebx, esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x8c], ebx
mov eax, dword [edx + 0x38]
dec eax
mov dword [esp + 0x1c], eax
dec eax
mov dword [edx + 0x38], eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x70]
test byte [eax + 4], 0xf
je 0x1008655a
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
mov dword [esp + 0xa4], edx
cmp dword [eax], edx
jg 0x100863e5
push ecx
push dword [esp + 0x30]
mov edx, 0x12
mov ecx, esi
push dword [esp + 0x58]
call fcn.1003f820
mov edx, eax
add esp, 0xc
mov dword [esp + 0xa4], edx
jmp 0x10086417
mov ebx, dword [esp + 0x50]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x34]
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x10086432
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x24]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [edi]
test eax, eax
jle 0x10086448
lea ecx, [eax + eax*4]
mov edx, 0xf
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x58]
push dword [ebx]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.1001fbf0
mov edx, dword [edi]
mov ebx, eax
mov eax, dword [esp + 0x24]
add esp, 0x10
cmp dword [eax], edx
jg 0x1008648a
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x100864c0
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffffa
push ebx
mov ecx, esi
call fcn.10040470
mov ecx, dword [esp + 0x74]
add esp, 8
test ecx, ecx
je 0x1008659a
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
mov edx, dword [esp + 0x1c]
cmp dword [eax], ecx
jg 0x100864fd
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x1008652b
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x1008653c
mov eax, 0x10143a20
jmp 0x1008654c
mov eax, dword [esp + 0xa4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0x8c]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
cmp dword [esp + 0x68], 0
je 0x10086656
test ecx, ecx
je 0x1008664f
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x100865a7
push dword [esp + 0x34]
mov edx, 0x12
mov ecx, esi
push dword [esp + 0x30]
push dword [esp + 0x58]
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x100865d9
mov ebx, dword [esp + 0x8c]
mov eax, dword [esp + 0x70]
jmp 0x1008655e
mov ebx, dword [esp + 0x50]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x34]
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x100865f4
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x24]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov ecx, dword [edi]
mov ebx, dword [esp + 0x70]
test ecx, ecx
jle 0x10086619
mov eax, dword [ebx + 4]
lea ecx, [ecx + ecx*4]
shr eax, 4
and eax, 0xf
movzx edx, byte [eax + 0x10129d23]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov eax, dword [edx + 4]
push dword [eax + ecx]
mov eax, dword [ebx + 4]
push dword [edx]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x10141f94]
push str.non__s_value_in__s._s
push dword [esp + 0x20]
call fcn.1001fbf0
add esp, 0x14
jmp 0x1008694f
mov esi, ebx
jmp 0x100869b7
cmp byte [eax + 8], 0x42
mov esi, ebx
jne 0x1008678a
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x1008668b
push dword [esp + 0x34]
mov edx, 0x12
mov ecx, ebx
push dword [esp + 0x30]
push dword [esp + 0x58]
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x100866bd
mov esi, dword [esp + 0x50]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
jne 0x100866d8
mov eax, dword [ebx + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x24]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [edi]
test eax, eax
jle 0x100866ee
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [ebx + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov eax, dword [edx + 4]
push dword [eax + ecx]
push dword [edx]
push str.NUMERIC_value_in__s._s
push dword [esp + 0x1c]
call fcn.1001fbf0
mov edx, dword [edi]
mov esi, eax
mov eax, dword [esp + 0x24]
add esp, 0x10
cmp dword [eax], edx
jg 0x10086743
push 0
push 3
push 0
mov edx, 0x75
mov ecx, ebx
call fcn.1003f820
add esp, 0xc
mov edx, eax
mov ecx, ebx
push 0xfffffffffffffffa
push esi
call fcn.10040470
mov esi, ebx
jmp 0x100869b4
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [ebx + 0x68]
mov edi, dword [esp + 0x38]
push 0xfffffffffffffffa
push esi
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, ebx
call fcn.10040470
mov esi, ebx
jmp 0x100869b4
cmp byte [eax + 8], 0x43
jl 0x100869b7
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
mov ebx, dword [esp + 0x50]
cmp dword [eax], edx
jg 0x100867be
push dword [esp + 0x34]
mov edx, 0x12
mov ecx, esi
push dword [esp + 0x30]
push ebx
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x100867f0
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esp + 0x34]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x50]
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x1008680b
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x24]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [edi]
test eax, eax
jle 0x10086821
lea ecx, [eax + eax*4]
mov edx, 0x1b
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
test ebx, ebx
js 0x10086840
mov edx, dword [esp + 0x58]
mov ecx, esi
push 3
push dword [esp + 0x58]
push dword [esp + 0x88]
call fcn.1005bff0
add esp, 0xc
mov ebx, dword [esp + 0x14]
mov edx, dword [edi]
cmp dword [ebx], edx
jg 0x10086863
push 0
push 1
push 3
mov edx, 0x60
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x10086899
mov ebx, dword [esp + 0x14]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xffffffffffffffff
push 0x10137294
mov ecx, esi
call fcn.10040470
mov edx, dword [edi]
add esp, 8
cmp dword [ebx], edx
jg 0x100868cb
push 3
push dword [esp + 0x30]
mov edx, 0x12
mov ecx, esi
push 0xffffffffffffffff
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x100868fd
mov ebx, dword [esp + 0x2c]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x12
mov dword [eax + ecx*4 + 4], 0xffffffff
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x10086918
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x24]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [edi]
test eax, eax
jle 0x1008692e
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov eax, dword [edx + 4]
push dword [eax + ecx]
push dword [edx]
push str.TEXT_value_in__s._s
push dword [esp + 0x1c]
call fcn.1001fbf0
add esp, 0x10
mov edx, dword [edi]
mov ebx, eax
mov eax, dword [esp + 0x14]
cmp dword [eax], edx
jg 0x10086974
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x100869aa
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffffa
push ebx
mov ecx, esi
call fcn.10040470
add esp, 8
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x1c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100869d5
push edx
mov edx, esi
call fcn.1003fdd0
add esp, 4
jmp 0x100869dd
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + edx*4], eax
mov ecx, esi
call fcn.100828d0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x2c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x10086a02
push edx
mov edx, esi
call fcn.1003fdd0
add esp, 4
jmp 0x10086a0a
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + edx*4], eax
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
inc edx
mov dword [esp + 0x54], edx
movsx eax, word [ebx + 0x22]
cmp edx, eax
jl 0x10086220
mov dword [esp + 0x34], esi
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x10086bd0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x20]
and eax, 0x200
or eax, 0
jne 0x10086bd0
push eax
call fcn.10057e80
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, eax
mov dword [esp + 0x1c], edx
cmp byte [ecx + 0x57], 0
jne 0x10086bc7
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x38]
dec ecx
mov dword [esp + 0x68], ecx
dec ecx
mov dword [eax + 0x38], ecx
mov eax, dword [esp + 0x80]
mov dword [esp + 0x8c], ecx
inc eax
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x34], eax
mov ebx, dword [edx]
dec ebx
test ebx, ebx
jle 0x10086ac7
mov esi, dword [esp + 0x68]
lea edi, [ebx*4 + 2]
add edi, ebx
lea edi, [edx + edi*4]
push 0
push esi
push dword [edi]
push ecx
call fcn.1005f530
mov ecx, dword [esp + 0x28]
lea edi, [edi - 0x14]
dec ebx
add esp, 0x10
test ebx, ebx
jg 0x10086aa1
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x8c]
push 0x10
push ebx
push dword [edx + 8]
push ecx
call fcn.1005efc0
mov ecx, dword [esi + 0xc]
add esp, 0x10
mov edx, dword [esp + 0x68]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x10086afb
push edx
mov edx, esi
call fcn.1003fdd0
add esp, 4
jmp 0x10086b03
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x18]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x58]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x18]
call fcn.1001fbf0
mov edx, dword [edi]
add esp, 0xc
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x14]
cmp dword [eax], edx
jg 0x10086b4c
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x10086b82
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffffa
push dword [esp + 0x6c]
mov ecx, esi
call fcn.10040470
add esp, 8
mov ecx, esi
call fcn.100828d0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x10086bb3
push ebx
mov edx, esi
call fcn.1003fdd0
add esp, 4
jmp 0x10086bbb
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + ebx*4], eax
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x58]
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x10086bd0
call fcn.10058aa0
cmp byte [esp + 0x77], 0x71
je 0x100878c0
mov eax, dword [ebx + 8]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x50], eax
test eax, eax
je 0x100878c0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
nop word [eax + eax]
dec dword [ecx + 0x38]
mov ebx, dword [ecx + 0x38]
cmp edx, eax
je 0x100878ad
push dword [esp + 0x7c]
lea edx, [esp + 0xb4]
push dword [esp + 0x68]
push edx
push 0
push 0
push dword [esp + 0x94]
mov edx, eax
call fcn.100740c0
mov edx, dword [esp + 0x44]
add esp, 0x18
mov ecx, dword [edi]
add edx, 8
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x14]
cmp dword [eax], ecx
jg 0x10086c66
push 0
push 1
push edx
mov edx, 0x56
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10086c98
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x56
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x14]
mov ecx, dword [edi]
mov dword [esp + 0x1c], ecx
movzx edx, word [eax + 0x34]
mov eax, dword [esp + 0x2c]
add eax, dword [esp + 0x44]
cmp dword [esi], ecx
mov esi, dword [esp + 0x34]
mov dword [esp + 0x68], edx
jg 0x10086cdb
push dword [esp + 0x7c]
mov edx, 0x1d
mov ecx, esi
push ebx
push eax
call fcn.1003f820
add esp, 0xc
mov dword [esp + 0x1c], eax
mov ecx, eax
jmp 0x10086d19
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
add edx, dword [esp + 0x44]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi]
mov edx, dword [esp + 0x68]
cmp byte [eax + 0x57], 0
jne 0x10086d34
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov ebx, dword [esp + 0x14]
mov edx, dword [edi]
cmp dword [ebx], edx
jg 0x10086d57
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x10086d8d
mov ebx, dword [esp + 0x14]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.row
mov ecx, esi
call fcn.10040470
mov ecx, dword [edi]
add esp, 8
cmp dword [ebx], ecx
jg 0x10086dbb
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10086ded
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [edi]
cmp dword [ebx], edx
jg 0x10086e0c
push 0
push 4
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x10086e42
mov ebx, dword [esp + 0x14]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._missing_from_index
mov ecx, esi
call fcn.10040470
mov ecx, dword [edi]
add esp, 8
cmp dword [ebx], ecx
jg 0x10086e70
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10086ea2
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x50]
mov edx, dword [edi]
mov dword [esp + 0x70], edx
mov ebx, dword [eax]
mov eax, dword [esp + 0x14]
cmp dword [eax], edx
jg 0x10086ed3
push 0
push 4
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
mov edx, eax
add esp, 0xc
mov dword [esp + 0x70], edx
jmp 0x10086f09
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push ebx
mov ecx, esi
call fcn.10040470
mov ebx, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [edi]
cmp dword [ebx], ecx
jg 0x10086f37
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10086f69
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.100828d0
mov ecx, dword [esi]
mov edx, dword [edi]
mov dword [esp + 0x8c], eax
cmp byte [ecx + 0x57], 0
je 0x10086f88
mov ecx, 0x10143a20
jmp 0x10086f95
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x58]
mov dword [ecx + 8], edx
test byte [eax + 0x1c], 0x80
jne 0x10087202
mov ecx, dword [edi]
cmp dword [ebx], ecx
jg 0x10086fca
mov eax, dword [esp + 0x2c]
mov edx, 0x8e
add eax, dword [esp + 0x44]
mov ecx, esi
push 0
push 3
push eax
call fcn.1003f820
add esp, 0xc
jmp 0x10087004
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
add edx, dword [esp + 0x44]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x8e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x7c]
mov ebx, dword [edi]
dec edx
movzx eax, word [eax + 0x34]
add edx, eax
mov eax, dword [esp + 0x14]
cmp dword [eax], ebx
jg 0x10087035
push edx
push 0
push 3
mov edx, 0x35
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov ebx, eax
jmp 0x10087067
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x1008708a
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x100870c0
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.rowid_not_at_end_of_record_for_row
mov ecx, esi
call fcn.10040470
mov eax, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x100870f2
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10087124
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x10087147
push 0
push 4
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x1008717d
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._of_index
mov ecx, esi
call fcn.10040470
mov eax, dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x70]
mov ecx, dword [edi]
dec edx
cmp dword [eax], ecx
jg 0x100871b3
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x100871e5
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x100871f6
mov eax, 0x10143a20
jmp 0x100871ff
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x50]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x24], edx
xor ebx, ebx
cmp cx, word [eax + 0x32]
jae 0x1008753c
nop word [eax + eax]
mov eax, dword [eax + 0x20]
cmp dword [eax + ebx*4], 0x1012c31c
je 0x10087301
test edx, edx
jne 0x10087242
mov eax, dword [esp + 0x18]
dec dword [eax + 0x38]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10087269
mov eax, dword [esp + 0x2c]
mov edx, 0x5e
add eax, dword [esp + 0x44]
mov ecx, esi
push 3
push ebx
push eax
call fcn.1003f820
add esp, 0xc
jmp 0x100872a3
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
add edx, dword [esp + 0x44]
lea ecx, [ecx + ecx*4]
mov dword [edi], eax
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x7c]
mov ecx, dword [edi]
add edx, ebx
cmp dword [eax], ecx
jg 0x100872cb
push edx
push dword [esp + 0x28]
mov edx, 0x34
mov ecx, esi
push 3
call fcn.1003f820
add esp, 0xc
jmp 0x100872fd
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x24]
mov dword [eax + ecx*4], 0x34
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x50]
inc ebx
movzx eax, word [eax + 0x32]
cmp ebx, eax
mov eax, dword [esp + 0x50]
jl 0x10087220
test edx, edx
je 0x10087538
mov eax, dword [esp + 0x14]
mov ebx, dword [edi]
cmp dword [eax], ebx
jg 0x10087345
push 0
push 0
push 0
mov edx, 9
mov ecx, esi
call fcn.1003f820
mov edx, dword [esp + 0x30]
add esp, 0xc
mov ebx, eax
jmp 0x1008737b
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x10087395
push edx
mov edx, esi
call fcn.1003fdd0
add esp, 4
jmp 0x1008739d
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x100873c0
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x100873f6
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.row
mov ecx, esi
call fcn.10040470
mov eax, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10087428
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x1008745a
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x1008747d
push 0
push 4
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x100874b3
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str._values_differ_from_index
mov ecx, esi
call fcn.10040470
mov eax, dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x70]
mov ecx, dword [edi]
dec edx
cmp dword [eax], ecx
jg 0x100874e9
push 0
push edx
push 0
mov edx, 9
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x1008751b
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x1008752c
mov eax, 0x10143a20
jmp 0x10087535
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x50]
cmp byte [eax + 0x36], 0
je 0x10087848
mov ecx, dword [esp + 0x18]
xor ebx, ebx
dec dword [ecx + 0x38]
mov edx, dword [ecx + 0x38]
xor ecx, ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x68], ecx
cmp bx, word [eax + 0x32]
jae 0x100875fa
mov ebx, dword [esp + 0x7c]
jmp 0x10087574
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
movsx ecx, word [eax + ecx*2]
test ecx, ecx
js 0x1008758f
mov eax, dword [esp + 0x58]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x100875e0
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x100875b2
push 0
push edx
push ebx
mov edx, 0x32
mov ecx, esi
call fcn.1003f820
mov edx, dword [esp + 0x30]
add esp, 0xc
jmp 0x100875e0
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x50]
inc ebx
mov ecx, dword [esp + 0x68]
inc ecx
mov dword [esp + 0x68], ecx
movzx eax, word [eax + 0x32]
cmp ecx, eax
jl 0x10087570
mov eax, dword [esp + 0x14]
mov ebx, dword [edi]
cmp dword [eax], ebx
jg 0x10087624
mov eax, dword [esp + 0x2c]
mov edx, 0x27
add eax, dword [esp + 0x44]
mov ecx, esi
push 0
push 0
push eax
call fcn.1003f820
add esp, 0xc
mov ebx, eax
jmp 0x10087662
mov edx, dword [esp + 0x2c]
lea eax, [ebx + 1]
add edx, dword [esp + 0x44]
lea ecx, [ebx + ebx*4]
mov dword [edi], eax
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10087685
push 0
push dword [esp + 0x28]
mov edx, 9
mov ecx, esi
push 0
call fcn.1003f820
add esp, 0xc
jmp 0x100876b7
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x100876c8
mov eax, 0x10143a20
jmp 0x100876d1
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x50]
mov edx, dword [edi]
movzx ebx, word [eax + 0x32]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x68], ebx
cmp dword [eax], edx
jg 0x1008770e
push dword [esp + 0x7c]
mov eax, dword [esp + 0x30]
mov edx, 0x29
push dword [esp + 0x28]
add eax, dword [esp + 0x4c]
mov ecx, esi
push eax
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x10087750
mov ebx, dword [esp + 0x7c]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x2c]
add edi, dword [esp + 0x44]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x29
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x24]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x68]
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x10087767
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], ebx
mov ebx, dword [esp + 0x14]
mov edx, dword [edi]
cmp dword [ebx], edx
jg 0x1008778a
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x100877c0
mov ebx, dword [esp + 0x14]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.non_unique_entry_in_index
mov ecx, esi
call fcn.10040470
mov ecx, dword [edi]
add esp, 8
cmp dword [ebx], ecx
jg 0x100877f0
push 0
push dword [esp + 0x74]
mov edx, 9
mov ecx, esi
push 0
call fcn.1003f820
add esp, 0xc
jmp 0x10087822
mov edx, dword [esp + 0x70]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x24]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x10087840
push edx
mov edx, esi
call fcn.1003fdd0
add esp, 4
jmp 0x10087848
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi]
mov dword [ecx + edx*4], eax
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x10087859
mov eax, 0x10143a20
jmp 0x10087869
mov eax, dword [esp + 0x8c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x100878a1
mov eax, dword [esp + 0x18]
not edx
mov ebx, dword [eax + 8]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x10087898
push edx
mov edx, ebx
call fcn.1003fdd0
add esp, 4
jmp 0x100878a1
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
mov eax, dword [eax + 0x14]
inc dword [esp + 0x2c]
mov dword [esp + 0x50], eax
test eax, eax
jne 0x10086c00
mov ebx, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [ebx], ecx
jg 0x100878e9
mov edx, dword [esp + 0x48]
mov ecx, esi
push 0
push edx
push dword [esp + 0x88]
mov edx, 0x27
call fcn.1003f820
add esp, 0xc
jmp 0x1008791e
mov edx, dword [esp + 0x80]
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x1008792f
mov eax, 0x10143a28
jmp 0x1008793f
mov eax, dword [esp + 0x48]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
cmp byte [esp + 0x77], 0x71
mov dword [eax], edx
je 0x10087beb
mov edx, dword [edi]
cmp dword [ebx], edx
jg 0x1008796b
push 0
push 2
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x100879a1
mov ebx, dword [esp + 0x14]
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.wrong__of_entries_in_index
mov ecx, esi
call fcn.10040470
mov eax, dword [esp + 0x60]
add esp, 8
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10087ba5
mov ecx, dword [esp + 0x3c]
mov edx, 8
mov dword [esp + 0x48], edx
cmp ecx, eax
je 0x10087b91
mov eax, dword [esp + 0x44]
mov ecx, dword [edi]
add eax, 0xfffffff8
add edx, eax
cmp dword [ebx], ecx
jg 0x100879ff
push 0
push 3
push edx
mov edx, 0x62
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10087a2d
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x62
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ebx, dword [edi]
mov edx, dword [esp + 0x48]
cmp dword [eax], ebx
jg 0x10087a53
push 3
push 0
push edx
mov edx, 0x35
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov ebx, eax
jmp 0x10087a81
lea eax, [ebx + 1]
mov dword [edi], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [edi]
test edx, edx
jle 0x10087a99
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov edx, 0x90
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [edi]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x14]
cmp dword [eax], edx
jg 0x10087ac4
push 0
push 4
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x10087afa
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [esp + 0x68]
mov ecx, esi
call fcn.10040470
mov eax, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10087b2b
push 3
push 2
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10087b5d
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.100828d0
mov eax, dword [esi]
mov edx, dword [edi]
cmp byte [eax + 0x57], 0
je 0x10087b75
mov eax, 0x10143a20
jmp 0x10087b7e
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
mov eax, dword [eax + 0x14]
inc edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x48], edx
test eax, eax
jne 0x100879d2
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x10087beb
movzx eax, word [eax + 0x32]
cmp eax, 1
jne 0x10087bd8
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x10087beb
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x13]
cmp al, 8
jae 0x10087beb
movzx eax, al
mov dword [ecx + eax*4 + 0xa0], edx
inc byte [ecx + 0x13]
jmp 0x10087beb
mov ecx, dword [esp + 0x18]
cmp eax, dword [ecx + 0x1c]
jle 0x10087beb
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx + 0x20], eax
mov ebx, dword [esp + 0x20]
mov ebx, dword [ebx]
mov dword [esp + 0x20], ebx
test ebx, ebx
jne 0x10085c10
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x10]
inc ecx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x78], ecx
cmp ecx, dword [eax + 0x14]
jl 0x100858a0
push ecx
push 0x1012c914
mov edx, 7
mov ecx, esi
call fcn.10040010
mov edx, eax
add esp, 8
test edx, edx
je 0x10087c5f
mov eax, 1
mov ecx, str.unknown_error
sub eax, dword [esp + 0x28]
mov dword [edx + 8], eax
mov eax, dword [str.database_disk_image_is_malformed]
test eax, eax
mov byte [edx + 0x29], 0xff
mov dword [edx + 0x38], 0x10137374
cmovne ecx, eax
mov byte [edx + 0x65], 0xff
mov dword [edx + 0x74], ecx
mov eax, dword [esi]
mov ecx, dword [edi]
sub ecx, 2
cmp byte [eax + 0x57], 0
mov eax, 0x10143a20
jne 0x10087c74
mov eax, dword [esi + 0x68]
mov dword [eax + 0xc], ecx
jmp 0x10088888
test ecx, ecx
jne 0x10087cac
mov ebx, dword [esp + 0x18]
mov ecx, ebx
call fcn.10089ac0
test eax, eax
jne 0x10088888
mov eax, dword [ebx]
mov ecx, esi
movzx edx, byte [eax + 0x54]
mov edx, dword [edx*8 + 0x10131418]
call fcn.10082650
jmp 0x10088888
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 0x40
jne 0x1008888c
mov edi, dword [str.UTF8]
mov ebx, 0x10131418
test edi, edi
je 0x10087d52
mov edx, ecx
sub edi, ecx
movzx eax, byte [edx]
movzx esi, byte [edx + edi]
cmp eax, esi
jne 0x10087d69
test eax, eax
jne 0x10087d7b
mov cl, byte [ebx + 4]
mov edx, 2
movzx eax, cl
test cl, cl
mov ecx, dword [esp + 0x10]
cmovne edx, eax
mov dword [esp + 0xb0], edx
push 0
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
mov byte [ecx + 0x54], dl
add ecx, 0x1b0
mov edx, 0x1012c31c
call fcn.10022270
add esp, 4
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x10087d3e
mov eax, dword [esp + 0xb0]
movzx eax, al
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
add ecx, 0xffffffec
mov eax, dword [esp + 0x10]
mov dword [eax + 8], ecx
cmp dword [ebx], 0
jne 0x1008888c
mov ecx, dword [esp + 0x30]
push ecx
push str.unsupported_encoding:__s
push dword [esp + 0x20]
call fcn.10020b80
add esp, 0xc
jmp 0x10088888
movzx ecx, byte [eax + 0x1012c958]
movzx eax, byte [esi + 0x1012c958]
sub ecx, eax
jne 0x10087d81
inc edx
jmp 0x10087cd1
mov edi, dword [ebx + 8]
add ebx, 8
mov ecx, dword [esp + 0x30]
jmp 0x10087cc5
mov eax, dword [ebx + 8]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x9c]
bts eax, edx
mov dword [esi + 0x9c], eax
cmp edx, 1
je 0x10087dd1
mov eax, dword [esi]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x10087dd1
mov eax, dword [esi + 0xa0]
bts eax, edx
mov dword [esi + 0xa0], eax
cmp dword [esp + 0x30], 0
je 0x10087e5e
test byte [ebx + 5], 8
jne 0x10087e5e
push ecx
push 0x1012f38c
mov edx, 2
mov ecx, esi
call fcn.10040010
mov ebx, dword [esp + 0x28]
lea edx, [esp + 0x28]
mov ecx, dword [esp + 0x38]
mov esi, eax
mov eax, dword [esp + 0x48]
add esp, 8
mov dword [esp + 0x20], 0
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ebx
call fcn.100217c0
mov ecx, dword [esp + 0x20]
mov eax, 1
mov dword [esi + 0x20], ecx
mov word [esi + 0x16], ax
mov eax, dword [esp + 0x10]
cmp ebx, 1
jne 0x1008888c
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
mov eax, dword [esp + 0x10]
je 0x1008888c
mov byte [esi + 0x14], 0xb8
jmp 0x1008888c
push ecx
push 0x10130bac
mov edx, 3
mov ecx, esi
call fcn.10040010
mov ecx, dword [esp + 0x48]
add esp, 8
mov ebx, dword [esp + 0x20]
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov ecx, 1
mov dword [eax + 0x20], ebx
mov edx, dword [edi]
cmp edx, ecx
jle 0x10088888
mov esi, dword [esi + 0x68]
lea eax, [esi + 0x14]
nop dword [eax]
cmp byte [eax], 0xa6
je 0x10087eb2
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x10087ea0
jmp 0x10088888
mov byte [esi + 0x14], 0xb8
jmp 0x10088888
mov eax, dword [esp + 0x60]
xor ebx, ebx
mov dword [eax], 1
nop word [eax + eax]
mov edx, dword [edi]
cmp ebx, 0x2a
ja 0x10087fb7
mov eax, dword [ebx*4 + 0x1012f1e8]
inc ebx
mov dword [esp + 0xb0], eax
test eax, eax
je 0x10087fb7
mov eax, dword [esp + 0x14]
cmp dword [eax], edx
jg 0x10087f13
push 0
push 1
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x10087f49
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [esp + 0xb4]
mov ecx, esi
call fcn.10040470
mov eax, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10087f80
push 0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10087ed0
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x10087ed0
mov ecx, 1
cmp edx, ecx
jle 0x10088888
mov esi, dword [esi + 0x68]
lea eax, [esi + 0x14]
nop word [eax + eax]
cmp byte [eax], 0xa6
je 0x10087eb2
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x10087fd0
jmp 0x10088888
mov eax, dword [esp + 0x44]
mov ebx, 0xc
cmp dword [eax], 0
cmovne ebx, dword [esp + 0x40]
xor edx, edx
mov dword [esp + 0x28], ebx
test ecx, ecx
je 0x100880d8
mov edx, ecx
mov ecx, str.full
sub ecx, dword [esp + 0x30]
mov dword [esp + 0xb0], ecx
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x1008802e
test eax, eax
jne 0x10088047
lea edx, [eax + 1]
jmp 0x100880d4
movzx ecx, byte [eax + 0x1012c958]
movzx eax, byte [ebx + 0x1012c958]
sub ecx, eax
jne 0x1008804a
mov ecx, dword [esp + 0xb0]
inc edx
jmp 0x10088017
mov edx, dword [esp + 0x30]
mov ecx, str.restart
sub ecx, edx
mov dword [esp + 0xb0], ecx
nop dword [eax]
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x10088074
test eax, eax
jne 0x1008808d
lea edx, [eax + 2]
jmp 0x100880d4
movzx ecx, byte [eax + 0x1012c958]
movzx eax, byte [ebx + 0x1012c958]
sub ecx, eax
jne 0x10088090
mov ecx, dword [esp + 0xb0]
inc edx
jmp 0x10088060
mov edx, dword [esp + 0x30]
mov ecx, str.truncate
sub ecx, edx
mov dword [esp + 0xb0], ecx
movzx eax, byte [edx]
movzx ebx, byte [edx + ecx]
cmp eax, ebx
jne 0x100880b6
test eax, eax
jne 0x100880cf
lea edx, [eax + 3]
jmp 0x100880d4
movzx ecx, byte [eax + 0x1012c958]
movzx eax, byte [ebx + 0x1012c958]
sub ecx, eax
jne 0x100880d2
mov ecx, dword [esp + 0xb0]
inc edx
jmp 0x100880a2
xor edx, edx
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x60]
mov dword [eax], 3
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10088101
push 1
push edx
push ebx
mov edx, 3
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x1008812f
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4], 3
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x10088142
push 0
push 3
jmp 0x10083033
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 3
jmp 0x10088878
test ecx, ecx
je 0x1008818e
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
call fcn.100217c0
push dword [esp + 0x20]
push dword [esp + 0x14]
call fcn.100c0420
add esp, 8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x110], 0x100c0330
jne 0x10082ff3
mov eax, dword [eax + 0x114]
jmp 0x10082ff5
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100881c2
push eax
call dword [0x10140b48]
add esp, 4
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x5f], 0
jne 0x100881d7
mov ecx, eax
call fcn.10030d30
mov eax, dword [esp + 0x10]
xor esi, esi
cmp dword [eax + 0x14], esi
jle 0x1008820f
xor edi, edi
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 4]
test eax, eax
je 0x10088202
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xe4]
push dword [eax + 0x2c]
call dword [0x10140b8c]
add esp, 4
mov eax, dword [esp + 0x10]
inc esi
add edi, 0x10
cmp esi, dword [eax + 0x14]
jl 0x100881e0
cmp byte [eax + 0x5f], 0
jne 0x10088220
mov ecx, eax
call fcn.10030d80
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
jmp 0x10083fb9
test ecx, ecx
je 0x10088250
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
call fcn.100217c0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
test cl, 2
je 0x10088888
jmp 0x10088258
mov dword [esp + 0x1c], 0xfffe
cmp dword [esp + 0x4c], 0
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x24], edx
lea eax, [edx + 1]
mov dword [ecx + 0x28], eax
je 0x1008827a
mov eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
jmp 0x10088294
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x28], eax
cmp dword [esp + 0x40], eax
jg 0x10088587
mov eax, dword [esp + 0x40]
mov ecx, eax
mov ebx, 1
mov eax, dword [esp + 0x2c]
rol ebx, cl
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x5c], ebx
nop dword [eax]
cmp dword [esp + 0x40], 1
je 0x1008856c
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov eax, dword [ecx + 0x58]
test eax, ebx
jne 0x100882d8
mov ebx, dword [esp + 0x40]
bts eax, ebx
mov dword [ecx + 0x58], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x20], ebx
test ebx, ebx
je 0x10088560
nop word [eax + eax]
mov ebx, dword [ebx + 8]
test dword [ebx + 0x1c], 0x100
je 0x1008854e
mov ax, word [ebx + 0x26]
add ax, 0x2e
movzx ecx, ax
mov eax, dword [ebx + 8]
mov dword [esp + 0xb0], ecx
test eax, eax
je 0x10088341
nop dword [eax]
test byte [eax + 0x38], 0x80
je 0x100883d4
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x10088330
test cx, cx
je 0x100883d4
mov ecx, dword [esp + 0x18]
push 0x70
push ebx
push dword [esp + 0x48]
call fcn.1007b6a0
mov eax, dword [esp + 0xbc]
add esp, 0xc
mov esi, dword [esp + 0x14]
mov ecx, dword [edi]
movsx edx, ax
mov eax, dword [esp + 0x1c]
and eax, 1
add eax, 2
add eax, ecx
cmp dword [esi], ecx
mov esi, dword [esp + 0x34]
mov dword [esp + 0xb0], eax
jg 0x1008839f
push edx
push eax
push dword [esp + 0x2c]
mov edx, 0x21
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x100883d4
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x24]
mov dword [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0xb0]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x34]
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
push dword [ebx]
mov ecx, dword [esp + 0x30]
mov eax, dword [edx + 0x10]
push dword [eax + ecx]
push str.ANALYZE___w_.__w_
push edx
call fcn.1001fbf0
add esp, 0x10
mov ebx, eax
test byte [esp + 0x1c], 1
mov dword [esp + 0xb0], ebx
je 0x100884e4
mov edx, dword [esp + 0x18]
mov cl, byte [edx + 0x13]
test cl, cl
jne 0x1008841b
mov eax, dword [esp + 0x60]
inc dword [eax]
mov ebx, dword [eax]
jmp 0x1008842a
dec cl
movzx eax, cl
mov byte [edx + 0x13], cl
mov ebx, dword [edx + eax*4 + 0xa0]
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x1008844c
push 0
push ebx
push 0
mov edx, 0x75
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x1008847e
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffffa
push dword [esp + 0xb4]
mov ecx, esi
call fcn.10040470
mov eax, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x100884b4
push 0
push 1
push ebx
mov edx, 0x54
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x1008854a
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x1008854a
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
cmp dword [eax], edx
jg 0x10088507
push 0
push 0
push 0
mov edx, 0x94
mov ecx, esi
call fcn.1003f820
add esp, 0xc
mov edx, eax
jmp 0x1008853d
lea eax, [edx + 1]
mov dword [edi], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov edi, dword [esp + 0x38]
mov dword [eax + ecx*4], 0x94
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffffa
push ebx
mov ecx, esi
call fcn.10040470
add esp, 8
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov ebx, dword [ebx]
mov dword [esp + 0x20], ebx
test ebx, ebx
jne 0x10088300
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0x2c]
inc dword [esp + 0x40]
add eax, 0x10
rol ebx, 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x5c], ebx
cmp dword [esp + 0x40], ecx
jle 0x100882b0
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
cmp dword [eax], ecx
jg 0x100885ab
push 0
push 0
push 0
mov edx, 0xa6
mov ecx, esi
call fcn.1003f820
add esp, 0xc
jmp 0x10088888
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
jmp 0x10088878
test ecx, ecx
je 0x100885fc
lea edx, [esp + 0xb0]
call fcn.100216b0
test eax, eax
jne 0x100885fc
push dword [esp + 0xb4]
push dword [esp + 0xb4]
call fcn.1001c8e0
add esp, 8
call fcn.100be130
test eax, eax
je 0x1008861d
or ebx, 0xffffffff
or ecx, ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ecx
jmp 0x10083004
mov eax, dword [0x10143b48]
test eax, eax
je 0x10088635
push eax
call dword [0x10140b48]
mov eax, dword [0x10143b48]
add esp, 4
mov ebx, dword [0x10143b50]
mov ecx, dword [0x10143b54]
mov dword [esp + 0xb0], ecx
test eax, eax
je 0x1008865d
push eax
call dword [0x10140b50]
mov ecx, dword [esp + 0xb4]
add esp, 4
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ecx
jmp 0x10083004
test ecx, ecx
je 0x1008870c
lea edx, [esp + 0xb0]
call fcn.100216b0
test eax, eax
jne 0x1008870c
call fcn.100be130
test eax, eax
je 0x100886a0
or eax, 0xffffffff
mov dword [esp + 0x1c], eax
or ebx, eax
jmp 0x100886da
mov eax, dword [0x10143b48]
test eax, eax
je 0x100886b8
push eax
call dword [0x10140b48]
mov eax, dword [0x10143b48]
add esp, 4
mov ebx, dword [0x10143b58]
mov dword [esp + 0x1c], ebx
mov ebx, dword [0x10143b5c]
test eax, eax
je 0x100886d6
push eax
call dword [0x10140b50]
add esp, 4
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xb4]
test edx, edx
jl 0x1008870c
mov ecx, dword [esp + 0xb0]
jg 0x100886f2
test ecx, ecx
je 0x1008870c
or eax, ebx
je 0x10088702
cmp ebx, edx
jl 0x1008870c
jg 0x10088702
cmp dword [esp + 0x1c], ecx
jbe 0x1008870c
push edx
push ecx
call fcn.1001ca20
add esp, 8
call fcn.100be130
test eax, eax
je 0x1008872d
or ebx, 0xffffffff
or ecx, ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ecx
jmp 0x10083004
mov eax, dword [0x10143b48]
test eax, eax
je 0x10088745
push eax
call dword [0x10140b48]
mov eax, dword [0x10143b48]
add esp, 4
mov ebx, dword [0x10143b58]
mov ecx, dword [0x10143b5c]
jmp 0x10088641
test ecx, ecx
je 0x10088799
lea edx, [esp + 0xb0]
call fcn.100216b0
test eax, eax
jne 0x10088799
cmp dword [esp + 0xb4], eax
jl 0x10088799
mov eax, dword [esp + 0xb0]
jg 0x10088780
test eax, eax
jb 0x10088799
mov ecx, 8
and eax, 0x7fffffff
cmp eax, ecx
cmova eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa4], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa4]
jmp 0x10082ff5
test ecx, ecx
je 0x100887e1
lea edx, [esp + 0xb0]
call fcn.100216b0
test eax, eax
jne 0x100887e1
cmp dword [esp + 0xb4], eax
jl 0x100887e1
mov eax, dword [esp + 0xb0]
jg 0x100887d2
test eax, eax
jb 0x100887e1
mov ecx, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ecx + 0x1f0], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f0]
jmp 0x1008881c
test ecx, ecx
je 0x10088812
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 0
call fcn.100217c0
push dword [esp + 0x20]
push dword [esp + 0x14]
call fcn.100bfa30
add esp, 8
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f4]
cdq
push 0xfffffffffffffff3
mov dword [esp + 0xb4], eax
lea eax, [esp + 0xb4]
push eax
push ecx
push 1
mov dword [esp + 0xc4], edx
mov edx, 0x48
push ecx
mov ecx, esi
call fcn.1003fb80
mov eax, dword [esp + 0x28]
add esp, 0x14
mov ecx, dword [edi]
cmp dword [eax], ecx
jle 0x1008302f
lea eax, [ecx + 1]
mov dword [edi], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x84]
push ecx
push eax
call fcn.1001ce80
push dword [esp + 0x38]
push dword [esp + 0x1c]
call fcn.1001ce80
add esp, 0x10
mov ecx, dword [esp + 0xd4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101049d1
mov esp, ebp
pop ebp
ret