Function at 0x1001ec30
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x21c
push ebx
push ebp
mov ebp, dword [esp + 0x228]
push esi
mov esi, dword [ebp]
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x14]
mov bl, byte [ecx + 0x59]
lea eax, [ebp + 0x114]
push edi
xor edi, edi
push eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], esi
mov byte [esp + 0x44], bl
mov dword [esp + 0xa8], edi
mov dword [esp + 0x108], eax
call fcn.1001a5d0
add esp, 4
cmp dword [ebp + 0x74], 7
je 0x1001f07b
mov dword [ebp + 0x74], edi
mov dword [ebp + 0xf8], edi
cmp dword [esi + 0xd8], edi
mov dword [esi + 0x144], edi
jne 0x100225db
mov edx, dword [ebp + 0x70]
mov dword [esp + 0x20], edx
jmp 0x1001ecb4
mov bl, byte [esp + 0x40]
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x1e], 0
jne 0x1001f07b
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x230]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*4]
lea edi, [edx + eax*4]
mov eax, dword [ecx + 0xe8]
test eax, eax
je 0x1001ed0f
mov edx, dword [esp + 0xa4]
cmp dword [ecx + 0xf0], edx
jne 0x1001ed05
mov ecx, dword [ecx + 0xec]
push ecx
call eax
add esp, 4
test eax, eax
jne 0x10022406
xor edx, edx
add edx, 1
mov dword [esp + 0xa4], edx
movzx edx, byte [edi]
mov al, byte [edx + 0x101be6d8]
test al, 2
je 0x1001ed3d
mov eax, dword [edi + 8]
mov ecx, dword [ebp + 0x4c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
mov dword [esp + 0x20], esi
call fcn.10005fc0
add esp, 4
mov word [esi + 0x1c], 1
jmp 0x1001edb2
test al, 4
je 0x1001ed88
test al, 8
mov ecx, dword [edi + 4]
mov ebp, dword [ebp + 0x4c]
lea edx, [ecx + ecx*4]
lea ecx, [ebp + edx*8]
mov dword [esp + 0x18], ecx
je 0x1001ed78
test al, 0x20
mov ecx, dword [edi + 8]
lea edx, [ecx + ecx*4]
lea ecx, [ebp + edx*8]
mov dword [esp + 0x54], ecx
je 0x1001edb2
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea eax, [ebp + edx*8]
mov dword [esp + 0x1c], eax
jmp 0x1001edb2
test al, 0x10
je 0x1001edb2
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea edx, [ebp + ecx*8]
jmp 0x1001edae
test al, 8
je 0x1001ed9e
mov eax, dword [edi + 8]
mov ecx, dword [ebp + 0x4c]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov dword [esp + 0x54], edx
jmp 0x1001edb2
test al, 0x10
je 0x1001edb2
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp + 0x4c]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov dword [esp + 0x5c], edx
mov al, byte [edi]
movzx edx, al
lea ecx, [edx - 1]
cmp ecx, 0x8d
mov dword [esp + 0x24], edx
ja case.0x1001edd1.12
movzx ecx, byte [ecx + 0x10022798]
jmp dword [ecx*4 + 0x10022600]
mov edx, dword [esp + 0x14]
cmp dword [edx + 0xd8], 0
jne 0x100225d2
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x20]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x230]
mov edx, dword [eax + 0xe8]
mov dword [eax + edx*4 + 0x84], ecx
add dword [eax + 0xe8], 1
mov eax, dword [edi + 8]
sub eax, 1
mov dword [esp + 0x20], eax
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x230]
add dword [eax + 0xe8], 0xffffffff
mov ecx, dword [eax + 0xe8]
mov eax, dword [eax + ecx*4 + 0x84]
sub eax, 1
mov dword [esp + 0x20], eax
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x1c]
mov word [ecx + 0x1c], 4
mov eax, dword [edi + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x1c]
mov word [eax + 0x1c], 4
mov edi, dword [edi + 0x10]
mov ecx, dword [edi]
mov dword [eax], ecx
mov edx, dword [edi + 4]
mov dword [eax + 4], edx
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x1c]
mov word [eax + 0x1c], 8
mov ecx, dword [edi + 0x10]
fld qword [ecx]
fstp qword [eax + 8]
jmp case.0x1001edd1.12
mov edx, dword [edi + 0x10]
mov eax, edx
mov byte [edi], 0x1b
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1001eea6
sub eax, esi
cmp bl, 1
mov dword [edi + 4], eax
je 0x1001ef5a
mov esi, dword [esp + 0x1c]
push 0
push 1
push 0xffffffffffffffff
push edx
push esi
call fcn.100064d0
movzx edx, bl
push edx
push esi
call fcn.10005cc0
add esp, 0x1c
test eax, eax
jne 0x1001f07b
push esi
call fcn.10006830
add esp, 4
test eax, eax
jne 0x1001f07b
mov dword [esi + 0x24], eax
mov ax, word [esi + 0x1c]
and ax, 0xffbf
or ax, 0x80
mov word [esi + 0x1c], ax
cmp byte [edi + 1], 0xff
jne 0x1001ef19
mov ecx, dword [edi + 0x10]
push ecx
call fcn.10007650
add esp, 4
mov eax, dword [esp + 0x14]
mov byte [edi + 1], 0xff
mov edx, dword [esi + 0x14]
mov dword [edi + 0x10], edx
mov esi, dword [esi + 0x18]
mov dword [edi + 4], esi
cmp esi, dword [eax + 0x50]
jle case.0x1001edd1.12
mov ebp, dword [esp + 0x230]
push 0
lea ecx, [ebp + 0xf4]
push str.string_or_blob_too_big
push ecx
call fcn.10017cb0
mov esi, 0x12
jmp 0x1001f0a2
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x50]
jg 0x1001ef36
mov eax, dword [esp + 0x1c]
mov word [eax + 0x1c], 0xa2
mov edx, dword [edi + 0x10]
mov dword [eax + 0x14], edx
mov ecx, dword [edi + 4]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1f], bl
jmp case.0x1001edd1.12
mov edx, dword [edi + 4]
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x1c]
push 0
push 0
push edx
push eax
push esi
call fcn.100064d0
add esp, 0x14
mov byte [esi + 0x1f], bl
jmp case.0x1001edd1.12
mov edi, dword [edi + 4]
mov esi, dword [esp + 0x230]
mov eax, dword [esi + 0x38]
sub edi, 1
lea edi, [edi + edi*4]
add edi, edi
add edi, edi
add edi, edi
add eax, edi
push eax
call fcn.100063f0
add esp, 4
test eax, eax
jne 0x1001ef36
mov ecx, dword [esi + 0x38]
mov edx, dword [esp + 0x1c]
push 0x80
add ecx, edi
push ecx
push edx
call fcn.10006420
add esp, 0xc
jmp case.0x1001edd1.12
mov ecx, dword [edi + 4]
mov edi, dword [edi + 8]
mov eax, dword [esp + 0x230]
mov eax, dword [eax + 0x4c]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
lea edx, [edi + edi*4]
mov edi, dword [eax + edx*8 + 0x24]
lea eax, [eax + edx*8]
push esi
push eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
mov dword [eax + 0x24], 0
call fcn.100064a0
mov dword [esi + 0x24], edi
jmp 0x100223e3
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x230]
mov eax, dword [eax + 0x4c]
mov edi, dword [edi + 8]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
lea edx, [edi + edi*4]
push 0x100
lea esi, [eax + edx*8]
push ecx
push esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], esi
call fcn.10006420
add esp, 0xc
test word [esi + 0x1c], 0x100
je case.0x1001edd1.12
mov eax, esi
push eax
call fcn.10006890
add esp, 4
test eax, eax
je case.0x1001edd1.12
mov ebp, dword [esp + 0x230]
mov edx, dword [esp + 0x14]
push 0
lea eax, [ebp + 0xf4]
push str.out_of_memory
push eax
mov byte [edx + 0x1e], 1
call fcn.10017cb0
mov esi, 7
add esp, 0xc
mov dword [ebp + 0x74], esi
push ebp
mov esi, 1
call fcn.10016970
add esp, 4
mov ecx, dword [esp + 0x104]
push ecx
call fcn.1001a620
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x21c
ret
mov ecx, dword [esp + 0x230]
mov eax, dword [ecx + 0x4c]
mov ecx, dword [edi + 4]
mov edi, dword [edi + 8]
lea edx, [ecx + ecx*4]
lea ecx, [eax + edx*8]
lea edx, [edi + edi*4]
push 0x100
lea eax, [eax + edx*8]
push ecx
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
call fcn.10006420
add esp, 0xc
jmp case.0x1001edd1.12
mov ebx, dword [esp + 0x18]
movzx eax, word [ebx + 0x1c]
mov ebp, dword [esp + 0x54]
mov cl, byte [ebp + 0x1c]
or cl, al
test cl, 1
je 0x1001f133
mov edx, dword [esp + 0x1c]
push edx
call fcn.10006300
add esp, 4
jmp case.0x1001edd1.12
test eax, 0x800
je 0x1001f143
push ebx
call fcn.10005dc0
add esp, 4
test byte [ebx + 0x1c], 0x12
jne 0x1001f160
movzx eax, byte [esp + 0x40]
push eax
push ebx
call fcn.10005e70
add esp, 8
test eax, eax
jne 0x1001f07b
test word [ebp + 0x1c], 0x800
je 0x1001f171
push ebp
call fcn.10005dc0
add esp, 4
test byte [ebp + 0x1c], 0x12
jne 0x1001f18e
movzx ecx, byte [esp + 0x40]
push ecx
push ebp
call fcn.10005e70
add esp, 8
test eax, eax
jne 0x1001f07b
mov eax, dword [ebx + 0x18]
add eax, dword [ebp + 0x18]
cdq
mov ecx, edx
mov edx, dword [esp + 0x14]
mov esi, eax
mov eax, dword [edx + 0x50]
cdq
cmp ecx, edx
jg 0x1001ef36
jl 0x1001f1b3
cmp esi, eax
ja 0x1001ef36
mov edi, dword [esp + 0x1c]
mov ax, word [edi + 0x1c]
and ax, 0xffe2
xor ecx, ecx
or ax, 2
cmp edi, ebp
sete cl
lea edx, [esi + 2]
mov word [edi + 0x1c], ax
push ecx
push edx
push edi
call fcn.10005cf0
add esp, 0xc
test eax, eax
jne 0x1001f07b
cmp edi, ebp
je 0x1001f1fc
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov edx, dword [edi + 0x14]
push eax
push ecx
push edx
call fcn.1012b780
add esp, 0xc
mov eax, dword [ebx + 0x18]
mov edx, dword [edi + 0x14]
mov ecx, dword [ebx + 0x14]
add edx, dword [ebp + 0x18]
push eax
push ecx
push edx
call fcn.1012b780
mov eax, dword [edi + 0x14]
mov dl, byte [esp + 0x4c]
mov byte [esi + eax], 0
mov ecx, dword [edi + 0x14]
mov byte [esi + ecx + 1], 0
add esp, 0xc
or word [edi + 0x1c], 0x20
mov dword [edi + 0x18], esi
mov byte [edi + 0x1f], dl
jmp case.0x1001edd1.12
mov ebp, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
movzx edx, word [ebp + 0x1c]
movzx ecx, word [eax + 0x1c]
movzx ebx, cx
movzx edx, dx
or ebx, edx
test bl, 1
jne 0x1001f3e5
movzx edx, word [ebp + 0x1c]
and cl, dl
test cl, 4
je 0x1001f300
mov edi, dword [esp + 0x24]
mov ecx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
add edi, 0xffffffb2
cmp edi, 3
ja case.default.0x1001f27d
jmp dword [edi*4 + 0x10022828]
add eax, ecx
adc edx, esi
jmp 0x10020491
sub eax, ecx
sbb edx, esi
jmp 0x10020491
push esi
push ecx
push edx
push eax
call fcn.1010b640
jmp 0x10020491
mov edi, ecx
or edi, esi
je 0x1001f3e5
mov edi, ecx
and edi, esi
cmp edi, 0xffffffff
jne 0x1001f2ca
test eax, eax
jne 0x1001f2ca
cmp edx, 0x80000000
jne 0x1001f2ca
mov ecx, 1
xor esi, esi
push esi
push ecx
push edx
push eax
call fcn.10155fb0
jmp 0x10020491
mov edi, ecx
or edi, esi
je 0x1001f3e5
mov edi, ecx
and edi, esi
cmp edi, 0xffffffff
jne 0x1001f2f2
mov ecx, 1
xor esi, esi
push esi
push ecx
push edx
push eax
call fcn.10156470
jmp 0x10020491
push eax
call fcn.10006170
fstp qword [esp + 0x50]
push ebp
call fcn.10006170
movzx eax, byte [edi]
add eax, 0xffffffb2
add esp, 8
cmp eax, 3
ja case.default.0x1001f31e
jmp dword [eax*4 + 0x10022838]
fadd qword [esp + 0x4c]
jmp 0x1001f396
fsub qword [esp + 0x4c]
jmp 0x1001f396
fmul qword [esp + 0x4c]
jmp 0x1001f396
fldz
fld qword [esp + 0x4c]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x1001f3e1
fdivp st(1)
jmp 0x1001f396
fld qword [esp + 0x4c]
call fcn.10156120
mov esi, eax
mov edi, edx
call fcn.10156120
mov ecx, esi
or ecx, edi
je 0x1001f3e5
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x1001f378
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.10156470
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], edx
fild qword [esp + 0x164]
sub esp, 8
fst qword [esp + 0x54]
fstp qword [esp]
call fcn.10004940
add esp, 8
test eax, eax
jne 0x1001f3e5
mov eax, dword [esp + 0x1c]
fld qword [esp + 0x4c]
mov cx, word [eax + 0x1c]
fstp qword [eax + 8]
and cx, 0xffe8
or cx, 8
test bl, 8
mov word [eax + 0x1c], cx
jne case.0x1001edd1.12
mov edx, eax
push edx
call fcn.100061f0
add esp, 4
jmp case.0x1001edd1.12
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x1c]
push edx
call fcn.10006300
add esp, 4
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x230]
movzx esi, byte [edi + 3]
mov ebx, dword [ecx + 0x24]
mov eax, dword [edi + 8]
mov ecx, dword [ecx + 0x4c]
lea eax, [eax + eax*4]
xor edx, edx
test esi, esi
lea ecx, [ecx + eax*8]
jle 0x1001f429
mov dword [ebx + edx*4], ecx
call fcn.1001e970
add edx, 1
add ecx, 0x28
cmp edx, esi
jl 0x1001f417
cmp byte [edi + 1], 0xfb
jne 0x1001f446
mov edx, dword [edi + 0x10]
mov dword [esp + 0x184], edx
mov dword [esp + 0x188], 0
jmp 0x1001f459
mov eax, dword [edi + 0x10]
mov dword [esp + 0x188], eax
mov eax, dword [eax]
mov dword [esp + 0x184], eax
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x230]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x4c]
lea ebp, [eax + ecx*8]
mov ecx, dword [esp + 0x14]
xor eax, eax
lea edx, [esp + 0x18c]
push ebp
push edx
mov dword [esp + 0x24], ebp
mov word [esp + 0x1b0], 1
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], eax
call fcn.100064a0
mov eax, dword [esp + 0x1b0]
and eax, 0xffe1
or eax, 1
mov word [esp + 0x1b0], ax
mov eax, dword [esp + 0x18c]
add esp, 8
mov dword [esp + 0x1b8], 0
cmp byte [eax + 3], 0
je 0x1001f4df
mov ecx, dword [edi - 4]
mov dword [esp + 0x1bc], ecx
mov eax, dword [eax + 0x10]
push ebx
lea edx, [esp + 0x188]
push esi
push edx
call eax
mov ecx, dword [esp + 0x20]
add esp, 0xc
cmp byte [ecx + 0x1e], 0
jne 0x100224d8
mov eax, dword [esp + 0x188]
test eax, eax
je 0x1001f525
mov edx, dword [edi + 4]
push edx
push eax
call fcn.10015c60
mov eax, dword [esp + 0x190]
add esp, 8
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xf9
cmp dword [esp + 0x1b8], 0
je 0x1001f563
lea ecx, [esp + 0x18c]
push 0
push ecx
call fcn.10002a40
mov edx, dword [esp + 0x238]
add esp, 4
push eax
add edx, 0xf4
push edx
call fcn.10017cb0
mov eax, dword [esp + 0x1c4]
add esp, 0xc
mov dword [esp + 0x10], eax
movzx ecx, byte [esp + 0x40]
push ecx
lea edx, [esp + 0x190]
push edx
call fcn.10005cc0
lea eax, [esp + 0x194]
push eax
push ebp
call fcn.100064a0
push ebp
call fcn.100063f0
add esp, 0x14
test eax, eax
jne 0x1001ef36
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x54]
mov cl, byte [eax + 0x1c]
mov ebx, dword [esp + 0x18]
or cl, byte [ebx + 0x1c]
test cl, 1
je 0x1001f5bf
mov edx, dword [esp + 0x1c]
push edx
call fcn.10006300
add esp, 4
jmp case.0x1001edd1.12
push eax
call fcn.100060d0
push ebx
mov esi, eax
mov ebp, edx
call fcn.100060d0
mov ecx, eax
movzx eax, byte [edi]
add esp, 8
sub eax, 0x4a
je 0x1001f606
sub eax, 1
je 0x1001f600
sub eax, 1
mov edx, ebp
mov eax, esi
je 0x1001f5f5
call fcn.10156680
mov esi, eax
mov ebp, edx
jmp 0x1001f60a
call fcn.101562f0
mov esi, eax
mov ebp, edx
jmp 0x1001f60a
or esi, ecx
or ebp, edx
jmp 0x1001f60a
and esi, ecx
and ebp, edx
mov eax, dword [esp + 0x1c]
mov cx, word [eax + 0x1c]
and cx, 0xffe4
or cx, 4
mov dword [eax], esi
mov dword [eax + 4], ebp
mov word [eax + 0x1c], cx
jmp case.0x1001edd1.12
mov esi, dword [esp + 0x18]
push esi
call fcn.10006220
mov eax, dword [edi + 8]
cdq
add esp, 4
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x1001edd1.12
mov esi, dword [esp + 0x18]
call fcn.1001eab0
test byte [esi + 0x1c], 8
je 0x1001f65c
push esi
call fcn.100061f0
add esp, 4
movzx ebx, word [esi + 0x1c]
test bl, 0xc
jne 0x1001f674
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
test bl, 4
je 0x1001f6a0
cmp dword [edi + 0xc], 0
je 0x1001f691
mov eax, 1
xor ecx, ecx
add eax, dword [esi]
adc ecx, dword [esi + 4]
mov ebp, eax
mov edx, ecx
jmp 0x1001f6fa
xor eax, eax
xor ecx, ecx
add eax, dword [esi]
adc ecx, dword [esi + 4]
mov ebp, eax
mov edx, ecx
jmp 0x1001f6fa
fld qword [esi + 8]
call fcn.10156120
mov ebp, eax
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], edx
fild qword [esp + 0x9c]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x1001f6dd
add ebp, 1
adc edx, 0
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], edx
cmp dword [edi + 0xc], 0
je 0x1001f6fa
fild qword [esp + 0x9c]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x44
jp 0x1001f6fa
add ebp, 1
adc edx, 0
and ebx, 0xffe4
or ebx, 4
mov dword [esi], ebp
mov dword [esi + 4], edx
mov word [esi + 0x1c], bx
jmp case.0x1001edd1.12
mov esi, dword [esp + 0x18]
call fcn.1001eab0
test byte [esi + 0x1c], 8
je 0x1001f729
push esi
call fcn.100061f0
add esp, 4
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x1001f748
mov edi, dword [edi + 8]
test edi, edi
je 0x100224ed
add edi, 0xffffffff
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
and eax, 0xffe4
or eax, 4
mov word [esi + 0x1c], ax
jmp case.0x1001edd1.12
mov edx, dword [esp + 0x18]
test byte [edx + 0x1c], 4
je case.0x1001edd1.12
mov eax, edx
push eax
call fcn.10006250
add esp, 4
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x18]
movzx ecx, word [ecx + 0x1c]
test cl, 1
jne case.0x1001edd1.12
mov esi, dword [esp + 0x18]
movzx eax, cl
shr al, 3
and eax, 2
or eax, ecx
test al, 2
mov word [esi + 0x1c], ax
jne 0x1001f7b0
test al, 0xc
je 0x1001f7b0
movzx edx, bl
push edx
push esi
call fcn.10005e70
add esp, 8
and word [esi + 0x1c], 0xfff3
movzx eax, word [esi + 0x1c]
test eax, 0x800
je 0x1001f7d9
push esi
call fcn.10005dc0
add esp, 4
and word [esi + 0x1c], 0xffe3
mov dword [esp + 0x10], eax
jmp case.0x1001edd1.12
and word [esi + 0x1c], 0xffe3
mov dword [esp + 0x10], 0
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 0x1c]
test al, 1
jne case.0x1001edd1.12
test al, 0x10
jne 0x1001f82d
test al, 2
jne 0x1001f821
test al, 0xc
je 0x1001f821
mov esi, dword [esp + 0x18]
movzx ecx, bl
push ecx
push esi
call fcn.10005e70
add esp, 8
and word [esi + 0x1c], 0xfff3
jmp 0x1001f831
mov esi, dword [esp + 0x18]
and word [esi + 0x1c], 0xfff3
jmp 0x1001f831
mov esi, dword [esp + 0x18]
mov dx, word [esi + 0x1c]
and dx, 0xfff0
or dx, 0x10
mov word [esi + 0x1c], dx
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 0xd
jne case.0x1001edd1.12
mov ecx, eax
push ecx
call fcn.10006280
add esp, 4
jmp case.0x1001edd1.12
mov edx, dword [esp + 0x18]
test byte [edx + 0x1c], 1
jne case.0x1001edd1.12
mov eax, edx
push eax
call fcn.10006220
add esp, 4
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x18]
test byte [ecx + 0x1c], 1
jne case.0x1001edd1.12
mov edx, ecx
push edx
call fcn.10006250
add esp, 4
jmp case.0x1001edd1.12
mov esi, dword [esp + 0x18]
mov al, byte [esi + 0x1c]
mov ebp, dword [esp + 0x5c]
or al, byte [ebp + 0x1c]
test al, 1
je 0x1001f919
mov al, byte [edi + 3]
test al, 0x10
je 0x1001f987
mov ecx, 4
mov word [esp + 0x220], cx
movzx eax, word [esi + 0x1c]
not eax
and eax, 1
cdq
mov dword [esp + 0x204], eax
mov word [esp + 0x1f8], cx
movzx eax, word [ebp + 0x1c]
not eax
and eax, 1
mov dword [esp + 0x208], edx
cdq
lea esi, [esp + 0x204]
lea ebp, [esp + 0x1dc]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e0], edx
mov dword [esp + 0x5c], ebp
mov bl, byte [edi + 3]
and bl, 0x67
je 0x1001f940
mov edx, dword [esp + 0x40]
push edx
mov al, bl
mov ecx, esi
call fcn.1001eb40
mov eax, dword [esp + 0x44]
push eax
mov al, bl
mov ecx, ebp
call fcn.1001eb40
add esp, 8
mov ebx, 0x800
test word [esi + 0x1c], bx
je 0x1001f954
push esi
call fcn.10005dc0
add esp, 4
test word [ebp + 0x1c], bx
je 0x1001f963
push ebp
call fcn.10005dc0
add esp, 4
mov ecx, dword [edi + 0x10]
push ecx
push esi
push ebp
call fcn.10006be0
movzx ecx, byte [edi]
add ecx, 0xffffffbd
add esp, 0xc
cmp ecx, 4
ja case.default.0x1001f980
jmp dword [ecx*4 + 0x10022848]
test al, al
jns 0x1001f9b8
mov edi, dword [edi + 8]
mov edx, dword [esp + 0x230]
mov eax, dword [edx + 0x4c]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*8]
mov cx, word [eax + 0x1c]
and cx, 0xffe1
or cx, 1
mov dword [esp + 0x1c], eax
mov word [eax + 0x1c], cx
jmp case.0x1001edd1.12
test al, 8
je case.0x1001edd1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
xor edx, edx
test eax, eax
sete dl
mov eax, edx
jmp 0x1001fa0b
xor ecx, ecx
test eax, eax
setne cl
jmp 0x1001fa09
xor edx, edx
test eax, eax
setl dl
mov eax, edx
jmp 0x1001fa0b
xor ecx, ecx
test eax, eax
setle cl
jmp 0x1001fa09
xor edx, edx
test eax, eax
setg dl
mov eax, edx
jmp 0x1001fa0b
xor ecx, ecx
test eax, eax
setge cl
mov eax, ecx
test byte [edi + 3], 0x80
je 0x1001fb7b
mov edi, dword [edi + 8]
mov ecx, dword [esp + 0x230]
mov ecx, dword [ecx + 0x4c]
lea edx, [edi + edi*4]
lea ecx, [ecx + edx*8]
mov dx, word [ecx + 0x1c]
and dx, 0xffe4
or dx, 4
mov word [ecx + 0x1c], dx
cdq
mov dword [esp + 0x1c], ecx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 1
je 0x1001fa59
mov esi, 2
jmp 0x1001fa6f
push eax
call fcn.100060d0
add esp, 4
or eax, edx
je 0x1001fa6d
mov esi, 1
jmp 0x1001fa6f
xor esi, esi
mov eax, dword [esp + 0x54]
test byte [eax + 0x1c], 1
je 0x1001fa80
mov eax, 2
jmp 0x1001fa96
push eax
call fcn.100060d0
add esp, 4
or eax, edx
je 0x1001fa94
mov eax, 1
jmp 0x1001fa96
xor eax, eax
cmp byte [edi], 0x3d
jne 0x1001faa8
lea eax, [eax + esi*2]
movzx eax, byte [esi + eax + 0x1017f110]
jmp 0x1001fab3
lea ecx, [eax + esi*2]
movzx eax, byte [esi + ecx + 0x1017f11c]
cmp eax, 2
jne 0x10020490
mov eax, dword [esp + 0x1c]
mov dx, word [eax + 0x1c]
and dx, 0xffe1
or dx, 1
mov word [eax + 0x1c], dx
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x18]
test byte [ecx + 0x1c], 1
jne case.0x1001edd1.12
mov esi, ecx
push esi
call fcn.10006220
mov edx, dword [esi]
add esp, 4
or edx, dword [esi + 4]
jne 0x1001fb06
mov eax, 1
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x1001edd1.12
xor eax, eax
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 1
jne case.0x1001edd1.12
mov esi, eax
push esi
call fcn.10006220
mov ecx, dword [esi]
mov edx, dword [esi + 4]
not ecx
not edx
add esp, 4
mov dword [esi], ecx
mov dword [esi + 4], edx
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 1
je 0x1001fb4e
mov eax, dword [edi + 0xc]
jmp 0x1001fb7b
push eax
call fcn.10006170
fcomp qword [0x101983f8]
add esp, 4
fnstsw ax
test ah, 0x44
jnp 0x1001fb6b
mov eax, 1
jmp 0x1001fb6d
xor eax, eax
cmp byte [edi], 0x49
jne 0x1001fb7b
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
je case.0x1001edd1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
mov eax, dword [edi + 0xc]
jmp 0x1001fba0
mov edx, dword [esp + 0x18]
test byte [edx + 0x1c], 1
jne 0x1001ede9
add dword [esp + 0x18], 0x28
sub eax, 1
test eax, eax
jg 0x1001fba0
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 1
jne case.0x1001edd1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
mov edx, dword [edi + 8]
mov eax, dword [edi + 0xc]
mov esi, dword [esp + 0x230]
mov ecx, dword [edi + 4]
mov dword [esp + 0x24], edx
mov edx, dword [esi + 0x4c]
xor ebx, ebx
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov word [esp + 0xc8], bx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xd0], ebx
mov dx, word [eax + 0x1c]
and dx, 0xffe1
or dx, 1
mov word [eax + 0x1c], dx
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x30]
mov ebp, dword [eax + ecx*4]
cmp dword [ebp], ebx
je 0x1001fca8
push ebp
call fcn.10015cc0
add esp, 4
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x1002258d
cmp byte [ebp + 0x1c], bl
mov eax, dword [ebp]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x30], eax
je 0x1001fc5c
mov dword [esp + 0x60], ebx
jmp 0x1001fcbd
mov ecx, dword [ebp + 0x68]
cmp ecx, dword [esi + 0x54]
jne 0x1001fc74
mov edx, dword [ebp + 0x6c]
mov dword [esp + 0x60], edx
mov eax, dword [ebp + 0x78]
mov dword [esp + 0x48], eax
jmp 0x1001fcbd
cmp byte [ebp + 0x22], 0
je 0x1001fc98
lea ecx, [esp + 0x1d4]
push ecx
push eax
call fcn.1000e260
mov edx, dword [esp + 0x1dc]
mov dword [esp + 0x68], edx
add esp, 8
jmp 0x1001fcbd
lea ecx, [esp + 0x60]
push ecx
push eax
call fcn.1000e2f0
add esp, 8
jmp 0x1001fcbd
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x60], eax
mov ecx, dword [ebp + 0x38]
mov dword [esp + 0x48], ecx
mov dword [ebp + 0x68], ebx
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x60]
cmp eax, ebx
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x34], edx
je case.0x1001edd1.12
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x50]
ja 0x1001ef36
mov edx, dword [ebp + 0x68]
mov eax, dword [ebp + 0x70]
mov ecx, esi
cmp edx, dword [ecx + 0x54]
mov dword [esp + 0x44], eax
jne 0x1001fcfa
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x38], eax
jmp 0x1001fe96
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x48]
test esi, esi
lea eax, [eax + edx*4]
mov dword [ebp + 0x74], eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x60]
mov dword [ebp + 0x6c], eax
mov ecx, dword [ecx + 0x54]
mov dword [ebp + 0x68], ecx
jne 0x1001fd65
cmp byte [ebp + 0x22], 0
je 0x1001fd34
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x7c]
push edx
push eax
call fcn.10009ca0
jmp 0x1001fd43
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x7c]
push ecx
push edx
call fcn.10009d10
mov esi, eax
mov eax, dword [esp + 0x84]
add esp, 8
cmp eax, dword [esp + 0x60]
jb 0x1001fd5e
mov dword [esp + 0x48], esi
mov dword [ebp + 0x78], esi
jmp 0x1001fd65
mov dword [ebp + 0x78], 0
mov al, byte [esi]
cmp al, 0x80
jae 0x1001fd79
movzx ecx, al
mov dword [esp + 0x64], ecx
mov ebx, 1
jmp 0x1001fd8d
lea ecx, [esp + 0x64]
push ecx
push esi
call fcn.100055a0
mov ecx, dword [esp + 0x6c]
add esp, 8
mov ebx, eax
cmp dword [esp + 0x48], 0
jne 0x1001fdde
cmp dword [esp + 0x7c], ecx
jae 0x1001fdde
xor esi, esi
mov word [esp + 0xc8], si
mov dword [esp + 0xbc], esi
movzx eax, byte [ebp + 0x22]
lea edx, [esp + 0xac]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x3c]
push esi
push ecx
call fcn.10006660
add esp, 0x14
cmp eax, esi
mov dword [esp + 0x10], eax
jne case.0x1001edd1.12
mov esi, dword [esp + 0xc0]
mov ecx, dword [esp + 0x64]
lea edx, [ecx + esi]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x34]
add ebx, esi
test edx, edx
jbe 0x1001fe54
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
sub eax, esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x34], edx
cmp ebx, dword [esp + 0x10]
jae 0x1001fe43
mov dword [eax + esi], ecx
mov al, byte [ebx]
cmp al, 0x80
jae 0x1001fe1c
movzx eax, al
mov dword [esi], eax
mov eax, 1
jmp 0x1001fe26
push esi
push ebx
call fcn.100055a0
add esp, 8
mov ecx, dword [esi]
push ecx
add ebx, eax
call fcn.10015e20
mov ecx, dword [esp + 0x68]
add esp, 4
add ecx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x64], ecx
jmp 0x1001fe4a
mov dword [eax + esi], 0
add esi, 4
sub dword [esp + 0x34], 1
jne 0x1001fe01
lea edx, [esp + 0xac]
push edx
call fcn.10006010
mov edx, dword [esp + 0x14]
add esp, 4
cmp ebx, edx
mov word [esp + 0xc8], 1
ja 0x1001fffe
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
cmp eax, ecx
ja 0x1001fffe
cmp ebx, edx
jne 0x1001fe96
cmp eax, ecx
jne 0x1001fffe
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x24]
mov eax, dword [ebx + esi*4]
test eax, eax
je 0x1001ff9b
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x1001ff25
mov edi, dword [esp + 0x3c]
add eax, ecx
test byte [edi + 0x1c], 0x40
je 0x1001ff07
lea edx, [esp + 0xac]
push edx
mov edx, dword [esp + 0x48]
mov edx, dword [edx + esi*4]
push edx
push eax
call fcn.10015f00
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xb8]
push ecx
push edi
mov dword [esp + 0xd0], eax
call fcn.100068a0
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x1001edd1.12
mov al, byte [esp + 0x40]
mov byte [edi + 0x1f], al
jmp 0x1001ffbd
mov edx, dword [esp + 0x44]
mov edx, dword [edx + esi*4]
push edi
push edx
push eax
call fcn.10015f00
mov al, byte [esp + 0x4c]
add esp, 0xc
mov byte [edi + 0x1f], al
jmp 0x1001ffbd
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + esi*4]
push ecx
call fcn.10015e20
mov edx, dword [esp + 0x40]
mov edi, eax
push edx
lea eax, [esp + 0xb4]
push eax
call fcn.100064a0
movzx edx, byte [ebp + 0x22]
mov eax, dword [ebx + esi*4]
lea ecx, [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0x40]
push edx
push edi
push eax
push ecx
call fcn.10006660
add esp, 0x20
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x1001edd1.12
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x3c]
mov ecx, dword [edx + eax*4]
mov edx, dword [esp + 0xc0]
push edi
push ecx
push edx
call fcn.10015f00
mov al, byte [esp + 0x4c]
add esp, 0xc
mov byte [edi + 0x1f], al
jmp 0x1001ffbd
cmp byte [edi + 1], 0xf8
jne 0x1001ffb9
mov ecx, dword [edi + 0x10]
mov edi, dword [esp + 0x3c]
push 0x80
push ecx
push edi
call fcn.10006420
add esp, 0xc
jmp 0x1001ffbd
mov edi, dword [esp + 0x3c]
cmp dword [esp + 0xd0], 0
je 0x1001ffec
mov dx, word [edi + 0x1c]
and dx, 0xfe7f
or dx, 0x20
mov word [edi + 0x1c], dx
mov eax, dword [esp + 0xc0]
mov dword [edi + 0x14], eax
mov ecx, dword [esp + 0xd0]
mov dword [edi + 0x24], ecx
push edi
call fcn.10006890
add esp, 4
mov dword [esp + 0x10], eax
jmp case.0x1001edd1.12
mov dword [esp + 0x10], 0xb
jmp case.0x1001edd1.12
mov eax, dword [edi + 4]
mov ebx, dword [edi + 0x10]
mov edi, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x230]
mov ecx, dword [eax + 0x4c]
lea eax, [ecx + edx*8]
lea edx, [edi + edi*4]
lea ebp, [eax + edx*8 - 0x28]
cmp eax, ebp
mov edi, eax
ja case.0x1001edd1.12
xor esi, esi
test word [edi + 0x1c], 0x800
je 0x10020048
push edi
call fcn.10005dc0
add esp, 4
mov eax, dword [esp + 0x40]
push eax
mov eax, 0x66666667
imul esi
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, byte [ecx + ebx]
mov ecx, edi
call fcn.1001eb40
add edi, 0x28
add esp, 4
add esi, 0x28
cmp edi, ebp
jbe 0x10020037
jmp case.0x1001edd1.12
mov edx, dword [edi + 0x10]
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
mov dword [esp + 0x4c], edx
mov edx, dword [ecx + 0x4c]
movzx ecx, byte [ecx + 0x100]
lea ebp, [edx + eax*8]
mov eax, dword [edi + 8]
xor esi, esi
lea eax, [eax + eax*4]
lea eax, [ebp + eax*8 - 0x28]
cmp ebp, eax
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
ja 0x1002018b
mov eax, 0xffffffe8
sub eax, ebp
mov dword [esp + 0x24], eax
lea esp, [esp]
mov esi, dword [esp + 0x4c]
test esi, esi
je 0x10020113
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
lea ecx, [eax + ebp + 0x18]
push edx
mov eax, 0x66666667
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, byte [ecx + esi]
mov ecx, ebp
call fcn.1001eb40
add esp, 4
test word [ebp + 0x1c], 0x800
je 0x1002012a
cmp dword [ebp + 0x18], 0
jle 0x1002012a
push ebp
call fcn.10005dc0
add esp, 4
mov edx, dword [esp + 0x34]
push edx
push ebp
call fcn.10015d40
mov esi, eax
push esi
call fcn.10015e20
mov ebx, eax
cdq
add dword [esp + 0x94], eax
push 0
push esi
adc dword [esp + 0xa0], edx
call fcn.10005680
add dword [esp + 0x50], eax
add esp, 0x14
test word [ebp + 0x1c], 0x800
je 0x1002016e
mov eax, dword [ebp]
add dword [esp + 0x44], eax
jmp 0x1002017a
test ebx, ebx
je 0x1002017a
mov dword [esp + 0x44], 0
add ebp, 0x28
cmp ebp, dword [esp + 0x30]
jbe 0x100200e0
mov esi, dword [esp + 0x3c]
mov eax, esi
cdq
push edx
push eax
call fcn.10005680
mov ebx, eax
add esi, ebx
mov eax, esi
cdq
push edx
push eax
mov dword [esp + 0x4c], esi
call fcn.10005680
add esp, 0x10
cmp ebx, eax
jge 0x100201b5
add esi, 1
mov dword [esp + 0x3c], esi
mov eax, dword [esp + 0x44]
cdq
mov ebx, eax
mov dword [esp + 0xf0], edx
mov eax, esi
cdq
mov ebp, eax
mov ecx, edx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x50]
sub ebp, ebx
sbb ecx, dword [esp + 0xf0]
add ebp, dword [esp + 0x88]
cdq
adc ecx, dword [esp + 0x8c]
mov dword [esp + 0xec], ebx
cmp ecx, edx
ja 0x1001ef36
jb 0x10020202
cmp ebp, eax
ja 0x1001ef36
mov edi, dword [edi + 0xc]
mov ecx, dword [esp + 0x230]
mov edx, dword [ecx + 0x4c]
push 0
lea eax, [edi + edi*4]
lea eax, [edx + eax*8]
push ebp
push eax
mov dword [esp + 0x28], eax
call fcn.10005cf0
add esp, 0xc
test eax, eax
jne 0x1001f07b
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
cmp eax, 0x80
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x48], ecx
jae 0x1002024c
mov byte [ecx], al
mov edi, 1
jmp 0x10020258
push eax
push ecx
call fcn.10005380
add esp, 8
mov edi, eax
mov esi, dword [esp + 0x38]
cmp esi, dword [esp + 0x30]
ja 0x100202a1
mov eax, dword [esp + 0x34]
push eax
push esi
call fcn.10015d40
add esp, 8
cmp eax, 0x80
jae 0x10020285
mov ecx, dword [esp + 0x48]
mov byte [edi + ecx], al
mov eax, 1
jmp 0x10020296
mov edx, dword [esp + 0x48]
push eax
lea eax, [edi + edx]
push eax
call fcn.10005380
add esp, 8
add esi, 0x28
add edi, eax
cmp esi, dword [esp + 0x30]
jbe 0x10020262
mov esi, dword [esp + 0x38]
cmp esi, dword [esp + 0x30]
ja 0x100202d6
jmp 0x100202b0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x48]
push ecx
mov edx, ebp
push esi
sub edx, edi
push edx
lea ecx, [edi + eax]
push ecx
call fcn.10015e40
add esi, 0x28
add esp, 0x10
add edi, eax
cmp esi, dword [esp + 0x30]
jbe 0x100202b0
cmp dword [esp + 0x44], 0
mov dword [ebx + 0x18], ebp
mov word [ebx + 0x1c], 0x50
mov dword [ebx + 0x20], 0
je 0x10020306
mov edx, dword [esp + 0xec]
mov eax, dword [esp + 0xf0]
mov dword [ebx], edx
mov dword [ebx + 4], eax
mov word [ebx + 0x1c], 0x850
mov byte [ebx + 0x1f], 1
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x1c], 0
je 0x10020326
cmp dword [eax + 0x90], 1
jle case.0x1001edd1.12
mov edi, dword [edi + 4]
mov edx, dword [eax + 8]
lea ecx, [edi + edi*2]
mov esi, dword [edx + ecx*8 + 4]
push esi
call fcn.1000bb50
add esp, 4
test eax, eax
jne case.0x1001edd1.12
push esi
call fcn.10009590
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x234]
add esp, 4
mov dword [eax + 0x14c], 1
jmp case.0x1001edd1.12
mov esi, dword [esp + 0x14]
mov bl, byte [edi + 4]
mov al, byte [edi + 8]
mov ebp, 1
cmp dword [esi + 0x90], ebp
jle 0x100203c2
test bl, bl
je 0x100203c2
cmp byte [esi + 0x1c], 0
jne 0x100203c2
test al, al
mov eax, str.rollback
jne 0x10020396
mov eax, str.commit
mov ecx, dword [esp + 0x230]
push 0
push str._transaction___SQL_statements_in_progress
push eax
add ecx, 0xf4
push str.cannot
push ecx
call fcn.10017cb0
add esp, 0x14
mov dword [esp + 0x10], ebp
jmp case.0x1001edd1.12
cmp bl, byte [esi + 0x1c]
jne 0x100224fa
test bl, bl
jne 0x100203d6
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x100203e4
test al, al
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x100203e4
mov eax, str.cannot_commit___no_transaction_is_active
mov edx, dword [esp + 0x230]
push 0
push eax
add edx, 0xf4
push edx
call fcn.10017cb0
add esp, 0xc
mov dword [esp + 0x10], ebp
jmp case.0x1001edd1.12
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
test eax, eax
je case.0x1001edd1.12
mov ecx, dword [edi + 8]
push ecx
push eax
call fcn.10008fa0
add esp, 8
cmp eax, 5
mov dword [esp + 0x10], eax
je 0x10022556
test eax, eax
je case.0x1001edd1.12
cmp eax, 8
jne 0x1002258d
jmp case.0x1001edd1.12
mov eax, dword [edi + 4]
test eax, eax
mov edi, dword [edi + 0xc]
jge 0x10020462
or edx, 0xffffffff
sub edx, eax
mov eax, edx
neg edi
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xf4]
push ecx
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx*8 + 4]
add edi, 1
push edi
push edx
call fcn.1000b0c0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x100]
add esp, 0xc
cdq
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ax, word [ecx + 0x1c]
and ax, 0xffe4
or ax, 4
mov word [ecx + 0x1c], ax
jmp case.0x1001edd1.12
mov eax, dword [edi + 4]
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 8]
mov ebx, dword [esp + 0x5c]
lea ecx, [eax + eax*2]
push ebx
lea esi, [edx + ecx*8]
call fcn.10006220
mov eax, dword [ebx]
mov ecx, dword [edi + 8]
mov edx, dword [esi + 4]
push eax
add ecx, 1
push ecx
push edx
call fcn.1000b1e0
mov dword [esp + 0x20], eax
mov eax, dword [edi + 8]
add esp, 0x10
test eax, eax
jne 0x100204f7
mov eax, dword [esi + 0x14]
mov ecx, dword [ebx]
mov dword [eax], ecx
or dword [ebp + 0xc], 0x10
jmp 0x10020504
cmp eax, 1
jne 0x10020504
mov edx, dword [esi + 0x14]
mov al, byte [ebx]
mov byte [edx + 0x58], al
cmp dword [edi + 4], 1
jne case.0x1001edd1.12
mov ecx, ebp
push ecx
call fcn.10016740
add esp, 4
jmp case.0x1001edd1.12
mov eax, dword [edi + 4]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + edx*8 + 4]
xor esi, esi
cmp eax, esi
je 0x100205cb
lea edx, [esp + 0x80]
push edx
push 1
push eax
call fcn.1000b0c0
add esp, 0xc
cmp eax, esi
mov dword [esp + 0x10], eax
jne case.0x1001edd1.12
mov eax, dword [esp + 0x80]
cmp eax, dword [edi + 8]
je case.0x1001edd1.12
mov ebx, dword [esp + 0x230]
mov ecx, dword [ebx + 0xf4]
push ecx
call fcn.10007650
mov esi, dword [esp + 0x18]
push str.database_schema_has_changed
push esi
call fcn.10017c10
mov dword [ebx + 0xf4], eax
mov edi, dword [edi + 4]
mov eax, dword [esi + 8]
lea edx, [edi + edi*2]
mov ecx, dword [eax + edx*8 + 0x14]
mov edx, dword [ecx]
add esp, 0xc
cmp edx, dword [esp + 0x80]
je 0x100205b5
push edi
push esi
call fcn.10010ac0
add esp, 8
push esi
call fcn.10016740
add esp, 4
mov dword [esp + 0x10], 0x11
jmp case.0x1001edd1.12
mov dword [esp + 0x10], esi
mov dword [esp + 0x80], esi
jmp 0x10020558
cmp al, 9
mov ecx, dword [edi + 4]
mov esi, dword [edi + 0xc]
mov ebx, dword [esp + 0x14]
mov ebx, dword [ebx + 8]
mov edx, dword [edi + 8]
mov dword [esp + 0x4c], ecx
lea ecx, [esi + esi*2]
lea ecx, [ebx + ecx*8]
mov ebx, dword [ecx + 4]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x230]
mov dword [esp + 0x38], edx
jne 0x10020626
mov eax, dword [ecx + 0x14]
mov al, byte [eax + 0x58]
cmp al, byte [ebx + 0x100]
mov dword [esp + 0x24], 1
jae 0x1002062e
mov byte [ebx + 0x100], al
jmp 0x1002062e
mov dword [esp + 0x24], 0
cmp byte [edi + 3], 0
je 0x10020651
lea ecx, [edx + edx*4]
mov edx, dword [ebx + 0x4c]
lea ebp, [edx + ecx*8]
push ebp
mov dword [esp + 0x58], ebp
call fcn.10006220
mov eax, dword [ebp]
add esp, 4
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x4c]
push 1
push esi
lea ecx, [edi - 0x14]
push edx
mov eax, ebx
call fcn.1001e9c0
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x1001f07b
mov eax, dword [ebp]
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x3c]
mov byte [ebp + 0x1c], 1
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
push eax
push ecx
call fcn.1000e220
add esp, 0x14
cmp byte [edi + 1], 0xfa
mov dword [esp + 0x10], eax
jne 0x100206bc
mov ecx, dword [edi + 0x10]
mov dword [ebp + 0x4c], ecx
add ecx, 5
mov dword [ebp + 0x48], ecx
mov edx, dword [ebx]
mov ecx, dword [edx + 8]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ebp + 0x4c]
mov dl, byte [edx + 0x59]
mov byte [ecx + 4], dl
jmp 0x100206c9
lea ecx, [ebp + 0x23]
mov dword [ebp + 0x4c], 0
mov dword [ebp + 0x48], ecx
test eax, eax
je 0x10020705
cmp eax, 5
je 0x10022571
cmp eax, 0x10
jne 0x1002258d
cmp byte [edi + 1], 0xfa
mov dword [ebp], 0
setne al
test al, al
sete dl
mov byte [ebp + 0x21], al
mov byte [ebp + 0x22], dl
mov dword [esp + 0x10], 0
jmp case.0x1001edd1.12
mov eax, dword [ebp]
push eax
call fcn.1000e620
add esp, 4
test al, 0xf0
jne 0x1002074f
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x10020724
cmp ecx, 2
jne 0x1002074f
mov cl, al
shr eax, 1
and cl, 1
and al, 1
test cl, cl
mov byte [ebp + 0x21], cl
mov byte [ebp + 0x22], al
je 0x1002073d
cmp byte [edi + 1], 0xfa
je 0x1002074f
test al, al
je case.0x1001edd1.12
cmp byte [edi + 1], 0xfa
je case.0x1001edd1.12
mov dword [esp + 0x10], 0xb
jmp 0x1002258d
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x230]
push 1
push 0xffffffffffffffff
push eax
mov ecx, edi
mov eax, ebx
call fcn.1001e9c0
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x1001f07b
mov edx, dword [esp + 0x14]
lea esi, [ebp + 0x30]
push esi
push 0x41e
push 0x1f4
push 1
push 0
push edx
mov byte [ebp + 0x1c], 1
call fcn.10001bb0
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1002085f
mov eax, dword [esi]
push 1
push eax
call fcn.10008fa0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1002085f
cmp dword [edi + 0x10], eax
je 0x1002083c
mov edx, dword [esi]
push 2
lea ecx, [esp + 0x128]
push ecx
push edx
call fcn.1000db20
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x10020829
mov eax, dword [ebp]
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x124]
push eax
mov eax, dword [esi]
push ecx
push 1
push edx
push eax
call fcn.1000e220
mov edi, dword [edi + 0x10]
mov dword [ebp + 0x4c], edi
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
mov dword [esp + 0x24], eax
mov eax, dword [edx + 0x14]
mov cl, byte [eax + 0x59]
mov byte [edi + 4], cl
mov edx, dword [ebp + 0x4c]
add esp, 0x14
add edx, 5
mov dword [ebp + 0x48], edx
mov byte [ebp + 0x21], 0
cmp byte [ebp + 0x21], 0
sete al
mov byte [ebp + 0x22], al
jmp case.0x1001edd1.12
mov eax, dword [ebp]
mov ecx, dword [esi]
push eax
push 0
push 1
push 1
push ecx
call fcn.1000e220
lea edx, [ebp + 0x23]
add esp, 0x14
mov dword [esp + 0x10], eax
mov byte [ebp + 0x21], 1
mov dword [ebp + 0x48], edx
cmp byte [ebp + 0x21], 0
sete al
mov byte [ebp + 0x22], al
jmp case.0x1001edd1.12
mov eax, dword [edi + 4]
push 0
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x23c]
lea ecx, [edi - 0x14]
call fcn.1001e9c0
add esp, 0xc
test eax, eax
je 0x1001f07b
mov byte [eax + 0x1c], 1
mov byte [eax + 0x1e], 1
mov cl, byte [edi + 8]
lea edx, [eax + 0x23]
mov byte [eax + 0x1f], cl
mov dword [eax + 0x48], edx
mov byte [eax + 0x21], 1
mov byte [eax + 0x22], 0
jmp case.0x1001edd1.12
mov esi, dword [esp + 0x230]
mov edi, dword [edi + 4]
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + edi*4]
push ecx
push esi
call fcn.10015530
mov edx, dword [esi + 0x30]
mov dword [edx + edi*4], 0
jmp 0x100223e3
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 0x30]
mov ebp, dword [ecx + eax*4]
cmp dword [ebp], 0
je case.0x1001edd1.12
cmp edx, 6
mov byte [ebp + 0x1c], 0
je 0x10020903
cmp edx, 0x40
je 0x10020903
xor eax, eax
jmp 0x10020908
mov eax, 1
mov edx, dword [ebp + 0x48]
mov byte [edx], al
cmp byte [ebp + 0x21], 0
je 0x10020974
mov eax, dword [esp + 0x5c]
push eax
call fcn.100060d0
add esp, 4
cmp dword [edi + 8], 0
mov esi, eax
mov ebx, edx
jne 0x1002093d
mov dword [ebp + 0x28], esi
mov dword [ebp + 0x2c], ebx
mov byte [ebp + 0x19], 0
mov byte [ebp + 0x20], 1
jmp case.0x1001edd1.12
mov edx, dword [ebp]
lea ecx, [esp + 0x58]
push ecx
push 0
push ebx
push esi
push 0
push 0
push edx
call fcn.1000c650
add esp, 0x1c
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1002258d
cmp dword [esp + 0x58], eax
mov dword [ebp + 8], esi
sete al
mov dword [ebp + 0xc], ebx
mov byte [ebp + 0x19], al
jmp 0x100209e4
mov ecx, dword [ebp + 0x4c]
mov dx, word [edi + 0x10]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x230]
mov word [esp + 0x12c], dx
mov edx, dword [ecx + 0x4c]
lea ecx, [esp + 0x58]
push ecx
push 0
lea eax, [eax + eax*4]
push 0
lea eax, [edx + eax*8]
push 0
lea edx, [esp + 0x138]
push edx
mov dword [esp + 0x144], eax
mov eax, dword [ebp]
push 0
push eax
mov byte [esp + 0x14a], 0
mov byte [esp + 0x14b], 0
call fcn.1000c650
add esp, 0x1c
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1002258d
mov byte [ebp + 0x19], al
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 0x48]
xor ecx, ecx
cmp eax, 0x75
mov byte [ebp + 0x20], 0
mov dword [ebp + 0x68], ecx
mov byte [edx], cl
je 0x10020a40
cmp eax, 6
je 0x10020a40
cmp dword [esp + 0x58], ecx
jl 0x10020a16
mov ecx, dword [ebp]
lea eax, [esp + 0x58]
push eax
push ecx
call fcn.1000e4d0
jmp 0x10020a54
mov edx, dword [ebp]
push edx
call fcn.10009dd0
add esp, 4
mov dword [esp + 0x58], eax
cmp dword [esp + 0x58], 0
je case.0x1001edd1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
cmp dword [esp + 0x58], ecx
jge 0x10020a68
mov ecx, dword [ebp]
lea eax, [esp + 0x58]
push eax
push ecx
call fcn.1000e3b0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1002258d
mov byte [ebp + 0x19], al
jmp 0x10020a26
mov dword [esp + 0x58], ecx
jmp case.0x1001edd1.12
mov esi, dword [esp + 0x230]
mov edx, dword [edi + 4]
mov esi, dword [esi + 0x30]
mov esi, dword [esi + edx*4]
xor ecx, ecx
cmp dword [esi], ecx
je 0x10020adc
cmp al, 0x7a
jne 0x10020a92
mov eax, dword [esi + 0x4c]
mov byte [eax + 6], 1
lea ecx, [esp + 0x110]
push ecx
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + 0x18]
cdq
push 0
push edx
mov edx, dword [ecx + 0x14]
push eax
mov eax, dword [esi]
push 0
push edx
push eax
call fcn.1000c650
mov ecx, dword [esi + 0x4c]
add esp, 0x1c
test eax, eax
mov dword [esp + 0x10], eax
mov byte [ecx + 6], 0
jne case.0x1001edd1.12
xor ecx, ecx
cmp dword [esp + 0x110], ecx
mov byte [esi + 0x20], al
sete cl
mov dword [esi + 0x68], eax
cmp byte [edi], 0x7a
jne 0x10020ae8
test ecx, ecx
jmp 0x1001fb7d
test ecx, ecx
jne case.0x1001edd1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x5c]
mov ebp, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x230]
mov ecx, dword [eax + 0x4c]
push esi
lea ebx, [ecx + edx*8]
call fcn.10006220
mov edx, dword [esi]
mov ecx, dword [esp + 0x234]
mov eax, dword [esi + 4]
mov dword [esp + 0x100], edx
mov edx, dword [ecx + 0x30]
mov esi, dword [edx + ebp*4]
mov ebp, dword [esi]
add esp, 4
test ebp, ebp
mov dword [esp + 0x100], eax
je case.0x1001edd1.12
mov eax, dword [ebx + 0x14]
mov ebx, dword [ebx + 0x18]
push eax
mov dword [esp + 0x28], eax
call fcn.10016480
mov ecx, dword [esp + 0x28]
sub ebx, eax
lea eax, [esp + 0x70]
push eax
push 0
mov eax, ebx
cdq
push edx
push eax
push 0
push ecx
push ebp
mov dword [esi + 0x68], 0
call fcn.1000c650
add esp, 0x20
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1002258d
cmp dword [esp + 0x6c], eax
jge 0x10020bbb
lea edx, [esp + 0x6c]
push edx
push ebp
call fcn.1000e3b0
add esp, 8
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x10], eax
je 0x10020bbb
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x6c]
push eax
push ecx
push ebx
push 0
push esi
call fcn.100165f0
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1002258d
cmp dword [esp + 0x6c], eax
jle 0x10020bf2
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
lea edx, [esp + 0x16c]
push edx
push ebp
call fcn.100164e0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1002258d
mov ecx, dword [esp + 0x16c]
cmp ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x170]
jne 0x10020c3e
cmp edx, dword [esp + 0x100]
jne 0x10020c3e
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x5c]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x30]
mov esi, dword [edx + eax*4]
mov eax, dword [esi]
test eax, eax
je case.0x1001edd1.12
mov ebp, dword [esp + 0x5c]
mov edx, dword [ebp + 4]
mov ecx, dword [ebp]
lea ebx, [esp + 0x144]
push ebx
push 0
push edx
push ecx
push 0
push 0
push eax
call fcn.1000c650
mov dword [esp + 0x2c], eax
mov eax, dword [ebp]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x160]
mov ecx, dword [ebp + 4]
add esp, 0x1c
test eax, eax
sete dl
mov dword [esi + 0xc], ecx
mov byte [esi + 0x19], dl
mov byte [esi + 0x1c], 0
mov dword [esi + 0x68], 0
jmp 0x1001fb7b
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x230]
mov eax, dword [edx + 0x30]
mov eax, dword [eax + edi*4]
mov esi, dword [eax + 0x58]
mov ecx, dword [esp + 0x1c]
mov dword [ecx], esi
mov eax, dword [eax + 0x5c]
mov dword [ecx + 4], eax
mov edx, dword [edx + 0x30]
mov eax, dword [edx + edi*4]
add dword [eax + 0x58], 1
adc dword [eax + 0x5c], 0
jmp 0x1002049a
mov esi, dword [esp + 0x230]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x30]
xor ebp, ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov ebx, dword [edx + ecx*4]
mov eax, dword [ebx]
cmp eax, ebp
je 0x10020f13
push eax
mov dword [esp + 0x28], ebp
call fcn.1000e620
and al, 3
add esp, 4
cmp al, 1
jne 0x1002074f
cmp byte [ebx + 0x1b], 0
jne 0x10020e42
cmp byte [ebx + 0x1d], 0
je 0x10020d45
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x28], eax
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x2c], ecx
jmp 0x10020da5
mov eax, dword [ebx]
lea edx, [esp + 0x70]
push edx
push eax
call fcn.1000c5d0
add esp, 8
cmp eax, ebp
mov dword [esp + 0x10], eax
jne 0x1002258d
cmp dword [esp + 0x70], ebp
je 0x10020d75
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], ebp
jmp 0x10020da5
mov edx, dword [ebx]
lea ecx, [esp + 0x28]
push ecx
push edx
call fcn.1000e260
add esp, 8
cmp dword [esp + 0x28], 0xffffffff
jne 0x10020d9c
cmp dword [esp + 0x2c], 0x7fffffff
jne 0x10020d9c
mov byte [ebx + 0x1b], 1
jmp 0x10020da5
add dword [esp + 0x28], 1
adc dword [esp + 0x2c], ebp
mov edi, dword [edi + 0xc]
cmp edi, ebp
je 0x10020e08
mov ecx, dword [esi + 0x4c]
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8]
push esi
call fcn.10006220
mov eax, dword [esi]
mov ecx, dword [esi + 4]
add esp, 4
cmp eax, 0xffffffff
jne 0x10020dd4
cmp ecx, 0x7fffffff
je 0x10022585
cmp byte [ebx + 0x1b], 0
jne 0x10022585
mov edx, dword [esp + 0x2c]
add eax, 1
adc ecx, ebp
cmp edx, ecx
jg 0x10020dfb
jl 0x10020df3
cmp dword [esp + 0x28], eax
jae 0x10020dfb
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x28]
mov dword [esi], eax
mov ecx, dword [esp + 0x2c]
mov dword [esi + 4], ecx
cmp dword [esp + 0x2c], 0x7fffffff
ja 0x10020e34
jb 0x10020e1b
cmp dword [esp + 0x28], 0xffffffff
jae 0x10020e34
mov byte [ebx + 0x1d], 1
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
add edx, 1
adc eax, ebp
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], eax
jmp 0x10020e38
mov byte [ebx + 0x1d], 0
cmp byte [ebx + 0x1b], 0
je 0x10020f04
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp + 0x38]
mov edx, dword [ebp + 0x3c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
xor edi, edi
test edi, edi
jne 0x10020e7b
mov ecx, eax
and ecx, 0xffffff
xor esi, esi
cmp ecx, eax
jne 0x10020e7b
cmp esi, edx
jne 0x10020e7b
add eax, 1
adc edx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x10020ea8
lea ecx, [esp + 0x28]
push ecx
push 8
call fcn.1001e8c0
mov eax, dword [esp + 0x30]
add esp, 8
cmp edi, 5
jge 0x10020ea4
and eax, 0xffffff
xor edx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x10020ea8
mov edx, dword [esp + 0x2c]
mov ecx, eax
or ecx, edx
je 0x10020ed9
lea ecx, [esp + 0x70]
push ecx
push 0
push edx
mov edx, dword [ebx]
push eax
push 0
push 0
push edx
call fcn.1000c650
mov edx, dword [esp + 0x48]
mov ecx, eax
mov eax, dword [esp + 0x44]
add esp, 0x1c
mov dword [esp + 0x24], ecx
add edi, 1
jmp 0x10020edd
mov ecx, dword [esp + 0x24]
cmp edi, 0x64
jge 0x10020ef0
test ecx, ecx
jne 0x10020ef0
cmp dword [esp + 0x70], ecx
je 0x10020e56
test ecx, ecx
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x3c], edx
jne 0x10020f04
cmp dword [esp + 0x70], ecx
je 0x10022585
mov byte [ebx + 0x19], 0
mov byte [ebx + 0x20], 0
mov dword [ebx + 0x68], 0
mov eax, dword [esp + 0x1c]
mov cx, word [eax + 0x1c]
mov edx, dword [esp + 0x28]
and cx, 0xffe4
or cx, 4
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0x2c]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp case.0x1001edd1.12
test byte [edi + 3], 1
mov edx, dword [esp + 0x230]
mov ecx, dword [edi + 8]
mov eax, dword [edx + 0x4c]
mov ebx, dword [edx + 0x30]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
mov ecx, dword [edi + 4]
mov ebp, dword [ebx + ecx*4]
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
mov dword [esp + 0x10c], ecx
je 0x10020f78
add dword [edx + 0x104], 1
test byte [edi + 3], 2
je 0x10020f8d
mov edx, dword [eax]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x30], edx
mov edx, dword [eax + 4]
mov dword [ecx + 0x34], edx
cmp byte [ebp + 0x1d], 0
je 0x10020fa8
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp + 0x14]
jl 0x10020fa8
jg 0x10020fa4
mov edx, dword [eax]
cmp edx, dword [ebp + 0x10]
jb 0x10020fa8
mov byte [ebp + 0x1d], 0
movzx eax, word [esi + 0x1c]
test al, 1
je 0x10020fb8
xor ecx, ecx
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], ecx
cmp byte [ebp + 0x1e], 0
je 0x1002105e
cmp byte [ebp + 0x1f], 0
jne 0x10020fd4
mov eax, dword [ebp + 0x38]
push eax
call fcn.10007650
add esp, 4
mov ecx, dword [esp + 0x10c]
mov dword [ebp + 0x40], ebx
mov dword [ebp + 0x44], ecx
mov eax, dword [esi + 0x18]
mov dword [ebp + 0x34], eax
mov ecx, dword [esi + 0x14]
cmp ecx, dword [esi + 0x24]
je 0x10021038
cmp byte [ebp + 0x1f], 0
jne 0x10021038
add eax, 2
push eax
call fcn.10007540
add esp, 4
test eax, eax
mov dword [ebp + 0x38], eax
je 0x1001f07b
mov edx, dword [ebp + 0x34]
mov ecx, dword [esi + 0x14]
push edx
push ecx
push eax
call fcn.1012b780
mov edx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x34]
mov byte [edx + eax], 0
mov ecx, dword [ebp + 0x38]
mov edx, dword [ebp + 0x34]
mov byte [ecx + edx + 1], 0
add esp, 0xc
mov byte [ebp + 0x1c], 0
jmp 0x10021097
cmp byte [ebp + 0x1f], 0
mov dword [ebp + 0x38], ecx
jne 0x10021058
mov ax, word [esi + 0x1c]
and ax, 0xffbf
or ax, 0x100
mov word [esi + 0x1c], ax
mov dword [esi + 0x24], 0
mov byte [ebp + 0x1c], 0
jmp 0x10021097
test eax, 0x800
je 0x10021069
mov eax, dword [esi]
jmp 0x1002106b
xor eax, eax
movzx ecx, byte [edi + 3]
mov edx, dword [esi + 0x18]
and ecx, 8
push ecx
mov ecx, dword [esp + 0x110]
push eax
mov eax, dword [esi + 0x14]
push edx
mov edx, dword [ebp]
push eax
push ecx
push ebx
push 0
push edx
call fcn.1000e860
add esp, 0x20
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0
mov byte [ebp + 0x19], 0
mov byte [ebp + 0x20], 0
mov dword [ebp + 0x68], 0
jne case.0x1001edd1.12
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xb8]
test ecx, ecx
je case.0x1001edd1.12
mov eax, dword [edi + 0x10]
test eax, eax
je case.0x1001edd1.12
mov edx, dword [esp + 0x10c]
mov ebp, dword [ebp + 4]
push edx
push ebx
push eax
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xb4]
lea edx, [ebp + ebp*2]
mov edx, dword [esi + edx*8]
push edx
mov dl, byte [edi + 3]
and dl, 4
neg dl
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push eax
call ecx
add esp, 0x18
jmp case.0x1001edd1.12
mov edx, dword [esp + 0x230]
mov ebx, dword [esp + 0x14]
cmp dword [ebx + 0xb8], 0
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x30]
mov esi, dword [eax + ecx*4]
je 0x10021143
cmp dword [edi + 0x10], 0
je 0x10021143
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], edx
push esi
call fcn.10015cc0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1002258d
mov eax, dword [esi]
push eax
call fcn.1000ea50
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
mov byte [esi + 0x1d], 0
mov dword [esi + 0x68], 0
jne 0x100211b3
mov ecx, dword [ebx + 0xb8]
test ecx, ecx
je 0x100211b3
mov eax, dword [edi + 0x10]
test eax, eax
je 0x100211b3
mov edx, dword [esp + 0x118]
mov esi, dword [esi + 4]
push edx
mov edx, dword [esp + 0x118]
push edx
mov edx, dword [ebx + 8]
push eax
lea eax, [esi + esi*2]
mov eax, dword [edx + eax*8]
mov edx, dword [ebx + 0xb4]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [edi + 8], 1
je case.0x1001edd1.12
mov eax, dword [esp + 0x230]
add dword [eax + 0x104], 1
jmp case.0x1001edd1.12
cmp dword [edi + 4], 0
je 0x100211f1
mov eax, dword [esp + 0x230]
mov ecx, dword [eax + 0x104]
mov edx, dword [esp + 0x14]
push ecx
push edx
call fcn.10016720
add esp, 8
mov eax, dword [esp + 0x230]
mov dword [eax + 0x104], 0
jmp case.0x1001edd1.12
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x230]
mov edx, dword [eax + 0x4c]
lea ebp, [edx + ecx*8]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 0x30]
mov esi, dword [edx + ecx*4]
mov edi, dword [esi]
push esi
mov dword [esp + 0x20], ebp
call fcn.10015cc0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1002258d
cmp byte [esi + 0x22], al
je 0x10021284
lea eax, [esp + 0x154]
push eax
push edi
call fcn.1000e260
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x50]
mov ecx, dword [esp + 0x160]
cdq
add esp, 8
cmp ecx, edx
jg 0x1001ef36
mov ecx, dword [esp + 0x154]
jl 0x1002127c
cmp ecx, eax
ja 0x1001ef36
mov eax, ecx
mov dword [esp + 0x68], eax
jmp 0x100212a3
lea edx, [esp + 0x68]
push edx
push edi
call fcn.1000e2f0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, dword [ecx + 0x50]
ja 0x1001ef36
push 0
push eax
push ebp
call fcn.10005cf0
add esp, 0xc
test eax, eax
jne 0x1001f07b
mov ax, word [ebp + 0x1c]
mov edx, dword [esp + 0x68]
and ax, 0xfff0
or ax, 0x10
mov dword [ebp + 0x18], edx
mov word [ebp + 0x1c], ax
cmp byte [esi + 0x22], 0
je 0x100212f5
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x68]
push ecx
push edx
push 0
push edi
call fcn.10009c50
mov dword [esp + 0x20], eax
add esp, 0x10
mov byte [ebp + 0x1f], 1
jmp case.0x1001edd1.12
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x68]
push eax
push ecx
push 0
push edi
call fcn.1000e370
mov dword [esp + 0x20], eax
add esp, 0x10
mov byte [ebp + 0x1f], 1
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x230]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x30]
mov esi, dword [ecx + edx*4]
push esi
call fcn.10015cc0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1002258d
cmp byte [esi + 0x19], al
je 0x10021356
mov edx, dword [esi + 8]
mov dword [esp + 0x90], edx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x94], eax
jmp 0x1002138f
cmp byte [esi + 0x1e], 0
je 0x10021372
mov ecx, dword [esi + 0x40]
mov dword [esp + 0x90], ecx
mov edx, dword [esi + 0x44]
mov dword [esp + 0x94], edx
jmp 0x1002138f
cmp byte [esi + 0x1c], 0
jne case.0x1001edd1.12
mov ecx, dword [esi]
lea eax, [esp + 0x90]
push eax
push ecx
call fcn.1000e260
add esp, 8
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov dword [eax], edx
mov dx, word [eax + 0x1c]
and dx, 0xffe4
or dx, 4
mov dword [eax + 4], ecx
mov word [eax + 0x1c], dx
jmp case.0x1001edd1.12
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x230]
mov edx, dword [ecx + 0x30]
mov eax, dword [edx + eax*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x30]
mov esi, dword [edx + eax*4]
mov eax, dword [esi]
lea ecx, [esp + 0x98]
push ecx
push eax
call fcn.1000c5d0
mov dl, byte [esp + 0xa0]
add esp, 8
mov byte [esi + 0x1c], dl
mov byte [esi + 0x20], 0
mov dword [esi + 0x68], 0
cmp dword [esp + 0x98], 0
mov dword [esp + 0x10], eax
je case.0x1001edd1.12
mov edi, dword [edi + 8]
test edi, edi
jle case.0x1001edd1.12
add edi, 0xffffffff
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x30]
mov esi, dword [edx + eax*4]
mov eax, dword [esi]
test eax, eax
je 0x10021489
lea ecx, [esp + 0x74]
push ecx
push eax
call fcn.1000c590
add esp, 8
cmp dword [esp + 0x74], 0
mov byte [esi + 0x20], 0
sete dl
mov byte [esi + 0x1a], dl
mov dword [esi + 0x68], 0
mov dword [esp + 0x10], eax
mov al, byte [esp + 0x74]
mov byte [esi + 0x1c], al
cmp dword [esp + 0x74], 0
jmp 0x1001fb7d
mov dword [esp + 0x74], 1
mov al, byte [esp + 0x74]
mov byte [esi + 0x1c], al
cmp dword [esp + 0x74], 0
jmp 0x1001fb7d
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0xd8], 0
jne 0x100225d2
mov eax, dword [esp + 0x230]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x30]
mov esi, dword [ecx + edx*4]
test esi, esi
je case.0x1001edd1.12
cmp byte [esi + 0x1c], 0
mov eax, dword [esi]
jne 0x10021527
mov dword [esp + 0x84], 1
cmp byte [edi], 0x67
jne 0x100214f3
lea edx, [esp + 0x84]
push edx
push eax
call fcn.1000e3b0
jmp 0x10021501
lea ecx, [esp + 0x84]
push ecx
push eax
call fcn.1000e4d0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x8c]
add esp, 8
test eax, eax
mov byte [esi + 0x1c], al
mov dword [esi + 0x68], 0
jne 0x10021527
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
mov byte [esi + 0x19], 0
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x230]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x30]
mov esi, dword [ecx + edx*4]
mov ebx, dword [esi]
test ebx, ebx
je case.0x1001edd1.12
mov ecx, dword [esp + 0x54]
test word [ecx + 0x1c], 0x800
je 0x1002156f
push ecx
call fcn.10005dc0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x1001edd1.12
mov ecx, dword [esp + 0x54]
mov edx, dword [edi + 0xc]
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x14]
push edx
push 0
push 0
push 0x10184650
cdq
push edx
push eax
push ecx
push ebx
call fcn.1000e860
add esp, 0x20
mov dword [esp + 0x10], eax
mov dword [esi + 0x68], 0
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x30]
mov ebx, dword [edx + eax*4]
mov esi, dword [ebx]
test esi, esi
je case.0x1001edd1.12
mov eax, dword [ebx + 0x4c]
mov cx, word [edi + 0xc]
mov edi, dword [edi + 8]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x230]
mov word [esp + 0x13c], cx
mov ecx, dword [eax + 0x4c]
lea eax, [esp + 0x11c]
push eax
push 0
push 0
lea edx, [edi + edi*4]
lea edx, [ecx + edx*8]
push 0
lea ecx, [esp + 0x148]
push ecx
push 0
push esi
mov byte [esp + 0x15a], 0
mov byte [esp + 0x15b], 0
mov dword [esp + 0x15c], edx
call fcn.1000c650
add esp, 0x1c
test eax, eax
mov dword [esp + 0x10], eax
jne 0x10021638
cmp dword [esp + 0x11c], eax
jne 0x10021638
push esi
call fcn.1000ea50
add esp, 4
mov dword [esp + 0x10], eax
mov dword [ebx + 0x68], 0
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x230]
mov ecx, dword [eax + 0x30]
mov edx, dword [edi + 4]
mov eax, dword [ecx + edx*4]
mov ecx, dword [eax]
test ecx, ecx
je case.0x1001edd1.12
cmp byte [eax + 0x1c], 0
jne case.0x1001edd1.12
lea edx, [esp + 0x15c]
push edx
push ecx
call fcn.100164e0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1002258d
mov eax, dword [esp + 0x1c]
mov cx, word [eax + 0x1c]
mov edx, dword [esp + 0x15c]
and cx, 0xffe4
or cx, 4
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0x160]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x230]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x30]
mov esi, dword [ecx + edx*4]
cmp dword [esi], 0
je case.0x1001edd1.12
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x148], edx
mov ax, word [edi + 0x10]
mov edx, dword [esp + 0x230]
mov word [esp + 0x14c], ax
mov byte [esp + 0x14e], 0
mov byte [esp + 0x14f], 0
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x4c]
mov edx, dword [esi + 0x48]
lea ecx, [eax + ecx*8]
mov dword [esp + 0x150], ecx
mov al, byte [edi + 3]
lea ecx, [esp + 0x78]
push ecx
push 0
mov byte [edx], al
push 0
lea edx, [esp + 0x154]
push edx
push esi
call fcn.100165f0
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x48]
mov byte [eax], 0
mov eax, dword [esp + 0x8c]
add esp, 0x14
cmp byte [edi], 0x28
jne 0x10021747
neg eax
jmp 0x1002174a
add eax, 1
test eax, eax
mov dword [esp + 0x78], eax
jle case.0x1001edd1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x8c]
xor edx, edx
test eax, eax
je 0x100217b7
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x10021790
cmp byte [eax + 0x101], 2
jae 0x10021790
cmp dword [eax + 0x70], 0
jl 0x10021790
add edx, 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x10021775
cmp edx, 1
jle 0x100217b7
mov ecx, dword [esp + 0x230]
mov dword [esp + 0x10], 6
mov dword [ecx + 0x7c], 2
jmp case.0x1001edd1.12
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 8]
lea esi, [esi + esi*2]
add esi, esi
lea edx, [esp + 0xf8]
push edx
add esi, esi
add esi, esi
mov edx, dword [ecx + esi + 4]
push eax
push edx
call fcn.1000efa0
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x104]
mov ebx, eax
mov ax, word [ecx + 0x1c]
and ax, 0xffe4
or ax, 4
mov word [ecx + 0x1c], ax
mov eax, ebp
cdq
add esp, 0xc
test ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jne case.0x1001edd1.12
test ebp, ebp
je case.0x1001edd1.12
mov ecx, dword [edi + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
push ecx
add eax, esi
push ebp
push eax
call fcn.10011c10
add esp, 0xc
jmp case.0x1001edd1.12
mov ecx, dword [edi + 4]
mov edi, dword [edi + 8]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [eax + 8]
lea edx, [edi + edi*2]
mov edx, dword [ecx + edx*8 + 4]
push edx
call fcn.1000ecd0
mov dword [esp + 0x18], eax
jmp 0x100223e3
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 8]
sub al, 0x32
neg al
lea ecx, [edi + edi*2]
lea ecx, [edx + ecx*8]
mov ecx, dword [ecx + 4]
sbb eax, eax
and eax, 0xfffffffd
add eax, 5
push eax
lea eax, [esp + 0x138]
push eax
push ecx
call fcn.1000db20
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x1001edd1.12
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x1c]
cdq
mov dword [ecx + 4], edx
mov dx, word [ecx + 0x1c]
and dx, 0xffe4
or dx, 4
mov dword [ecx], eax
mov word [ecx + 0x1c], dx
jmp case.0x1001edd1.12
cmp dword [edi + 8], 0
mov eax, dword [edi + 4]
jne 0x100218dd
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 8]
lea ecx, [eax + eax*2]
mov ecx, dword [edx + ecx*8 + 0x14]
test byte [ecx + 0x5a], 1
je case.0x1001edd1.12
cmp eax, 1
mov ecx, str.sqlite_temp_master
je 0x100218ec
mov ecx, str.sqlite_master
mov edx, dword [esp + 0x230]
mov ebp, dword [esp + 0x14]
add edx, 0xf4
mov dword [esp + 0x1cc], edx
mov edx, dword [edi + 0x10]
push edx
push ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x1d0], eax
lea eax, [eax + eax*2]
mov dword [esp + 0x1cc], ebp
mov edx, dword [ecx + eax*8]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
push ebp
call fcn.10023920
mov esi, eax
add esp, 0x14
test esi, esi
je 0x1001f07b
push 0
lea eax, [esp + 0x1c8]
push eax
push fcn.10003bc0
push esi
push ebp
mov byte [ebp + 0x80], 1
call fcn.10002600
mov edi, eax
add esp, 0x14
cmp edi, 4
mov dword [esp + 0x10], eax
jne 0x1002196f
mov edi, dword [esp + 0x1d0]
mov dword [esp + 0x10], edi
push esi
call fcn.10007650
add esp, 4
cmp edi, 7
mov byte [ebp + 0x80], 0
je 0x1001f07b
jmp case.0x1001edd1.12
mov edi, dword [edi + 4]
mov ecx, dword [esp + 0x14]
push edi
push ecx
call fcn.10024150
mov dword [esp + 0x18], eax
jmp 0x100223e3
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
call fcn.10010d80
add esp, 0xc
jmp case.0x1001edd1.12
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
call fcn.10010a30
add esp, 0xc
jmp case.0x1001edd1.12
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
call fcn.1002eb80
add esp, 0xc
jmp case.0x1001edd1.12
mov ebx, dword [edi + 8]
lea edx, [ebx*4 + 4]
push edx
call fcn.10007540
add esp, 4
test eax, eax
mov dword [esp + 0x34], eax
je 0x1001f07b
mov eax, dword [esp + 0x230]
mov ecx, dword [edi + 0xc]
mov eax, dword [eax + 0x4c]
lea ecx, [ecx + ecx*4]
lea ebp, [eax + ecx*8]
mov ecx, dword [edi + 4]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
xor esi, esi
test ebx, ebx
mov dword [esp + 0x18], eax
jle 0x10021a60
mov dword [esp + 0x38], eax
jmp 0x10021a40
mov eax, dword [esp + 0x38]
push eax
call fcn.100060d0
mov ecx, dword [esp + 0x38]
add dword [esp + 0x3c], 0x28
mov dword [ecx + esi*4], eax
add esi, 1
add esp, 4
cmp esi, ebx
jl 0x10021a40
mov eax, dword [esp + 0x34]
mov dword [eax + esi*4], 0
mov ecx, dword [ebp]
lea edx, [esp + 0xa8]
push edx
push ecx
push ebx
push eax
movzx eax, byte [edi + 3]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + edx*8 + 4]
push edx
call fcn.1000dc90
mov esi, eax
mov eax, dword [esp + 0xbc]
cdq
sub dword [ebp], eax
mov eax, dword [esp + 0x2c]
push eax
sbb dword [ebp + 4], edx
call fcn.10006300
add esp, 0x18
cmp dword [esp + 0xa8], 0
je 0x10021acf
mov ecx, dword [esp + 0x18]
push fcn.10007650
push 1
push 0xffffffffffffffff
push esi
push ecx
call fcn.100064d0
add esp, 0x14
movzx edx, byte [esp + 0x40]
mov eax, dword [esp + 0x18]
push edx
push eax
call fcn.10005cc0
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.10007650
add esp, 0xc
jmp case.0x1001edd1.12
mov edx, dword [esp + 0x18]
push edx
call fcn.100060d0
push edx
push eax
mov eax, dword [esp + 0x23c]
add eax, 0x58
push eax
call fcn.10030c00
add esp, 0x10
cmp eax, 7
je 0x1001f07b
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0xd8], 0
jne 0x100225d2
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x230]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x4c]
lea eax, [eax + edx*8]
mov dx, word [eax + 0x1c]
and dx, 0xffe4
push eax
add ecx, 0x58
or dx, 4
push ecx
mov dword [esp + 0x24], eax
mov word [eax + 0x1c], dx
call fcn.10030cb0
add esp, 8
cmp eax, 0x65
jne case.0x1001edd1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
mov edi, dword [esp + 0x230]
mov esi, dword [edi + 0x64]
cmp esi, dword [edi + 0x68]
mov ebx, dword [esp + 0x14]
lea eax, [esi + 1]
mov dword [edi + 0x64], eax
jl 0x10021bbb
mov ecx, dword [edi + 0x6c]
mov dword [edi + 0x68], eax
lea eax, [esi + esi*2 + 3]
add eax, eax
add eax, eax
add eax, eax
push eax
push ecx
push ebx
call fcn.10017b40
add esp, 0xc
test eax, eax
mov dword [edi + 0x6c], eax
je 0x1001f07b
mov eax, dword [edi + 0x6c]
mov ecx, dword [ebx + 0x30]
lea edx, [esi + esi*2]
lea eax, [eax + edx*8]
mov dword [eax], ecx
mov edx, dword [ebx + 0x34]
mov dword [eax + 4], edx
mov ecx, dword [edi + 0x104]
mov dword [eax + 8], ecx
mov edx, dword [edi + 0x58]
lea ecx, [edi + 0x58]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 4]
mov dword [eax + 0x10], edx
mov edx, dword [ecx + 8]
push ecx
mov dword [eax + 0x14], edx
call fcn.10030bf0
add esp, 4
jmp case.0x1001edd1.12
mov edi, dword [esp + 0x230]
add dword [edi + 0x64], 0xffffffff
mov eax, dword [edi + 0x64]
mov ecx, dword [edi + 0x6c]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8]
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov dword [eax + 0x30], edx
mov ecx, dword [esi + 4]
mov dword [eax + 0x34], ecx
mov edx, dword [esi + 8]
mov dword [edi + 0x104], edx
add edi, 0x58
push edi
call fcn.10030d10
mov eax, dword [esi + 0xc]
mov dword [edi], eax
mov ecx, dword [esi + 0x10]
mov dword [edi + 4], ecx
mov edx, dword [esi + 0x14]
add esp, 4
mov dword [edi + 8], edx
jmp case.0x1001edd1.12
mov edi, dword [esp + 0x18]
push edi
call fcn.10006220
mov esi, dword [esp + 0x58]
push esi
call fcn.10006220
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov ecx, dword [edi + 4]
add esp, 8
cmp ecx, esi
jg case.0x1001edd1.12
jl 0x10021c82
mov edx, edi
mov ecx, dword [edx]
cmp ecx, eax
jae case.0x1001edd1.12
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], esi
jmp case.0x1001edd1.12
mov edx, dword [esp + 0x18]
cmp dword [edx + 4], 0
jl case.0x1001edd1.12
jg 0x1001fb83
mov eax, edx
cmp dword [eax], 0
jbe case.0x1001edd1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 4], 0
jg case.0x1001edd1.12
jl 0x1001fb83
mov edx, ecx
cmp dword [edx], 0
jae case.0x1001edd1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
or ecx, dword [eax + 4]
jne case.0x1001edd1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
mov eax, dword [edi + 8]
mov ebp, dword [esp + 0x230]
movzx esi, byte [edi + 3]
mov ebx, dword [ebp + 0x24]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x4c]
lea ecx, [eax + edx*8]
xor edx, edx
test esi, esi
jle 0x10021d42
lea ebx, [ebx]
mov dword [ebx + edx*4], ecx
call fcn.1001e970
add edx, 1
add ecx, 0x28
cmp edx, esi
jl 0x10021d30
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0xac], ecx
lea eax, [eax + edx*8]
mov dword [esp + 0xdc], eax
mov ecx, 1
add dword [eax + 0x18], ecx
xor eax, eax
mov word [esp + 0xd0], cx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xc4], ecx
cmp byte [eax + 3], 0
je 0x10021db6
mov edx, dword [edi - 4]
mov dword [esp + 0xe4], edx
mov edx, dword [eax + 0x14]
push ebx
lea ecx, [esp + 0xb0]
push esi
push ecx
call edx
add esp, 0xc
cmp dword [esp + 0xe0], 0
je 0x10021dff
lea eax, [esp + 0xb4]
push 0
push eax
call fcn.10002a40
add esp, 4
push eax
add ebp, 0xf4
push ebp
call fcn.10017cb0
mov ecx, dword [esp + 0xec]
add esp, 0xc
mov dword [esp + 0x10], ecx
lea edx, [esp + 0xb4]
push edx
call fcn.10006010
add esp, 4
jmp case.0x1001edd1.12
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x230]
mov ecx, dword [ebx + 0x4c]
mov edx, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push edx
push esi
call fcn.10005f50
add esp, 8
cmp eax, 1
mov dword [esp + 0x10], eax
jne 0x10021e58
push 0
push esi
call fcn.10002a40
add esp, 4
push eax
add ebx, 0xf4
push ebx
call fcn.10017cb0
add esp, 0xc
movzx eax, byte [esp + 0x40]
push eax
push esi
call fcn.10005cc0
push esi
call fcn.100063f0
add esp, 0xc
test eax, eax
jne 0x1001ef36
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x230]
push ecx
add edx, 0xf4
push edx
call fcn.10034040
mov dword [esp + 0x18], eax
jmp 0x100223e3
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
push eax
call fcn.1000bf40
add esp, 4
cmp eax, 0x65
mov dword [esp + 0x10], eax
jne case.0x1001edd1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], 0
jmp case.0x1001edd1.12
cmp dword [edi + 4], 0
jne 0x10021ef1
mov eax, dword [esp + 0x14]
push eax
call fcn.10016740
add esp, 4
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x230]
mov byte [ecx + 0xff], 1
jmp case.0x1001edd1.12
mov dl, byte [edi + 0xc]
mov eax, dword [edi + 4]
mov byte [esp + 0x120], dl
mov ecx, dword [esp + 0x120]
mov edx, dword [edi + 8]
push ecx
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [ecx + 8]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
push eax
call fcn.1000bc50
add esp, 0xc
cmp eax, 6
mov dword [esp + 0x10], eax
jne case.0x1001edd1.12
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x230]
push 0
push ecx
add edx, 0xf4
push str.database_table_is_locked:
push edx
call fcn.10017cb0
add esp, 0x10
jmp case.0x1001edd1.12
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.100102a0
mov dword [esp + 0x18], eax
jmp 0x100223e3
mov edx, dword [esp + 0x230]
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 4]
add edx, 0xf4
push edx
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
call fcn.1000ff00
add esp, 0x10
mov dword [esp + 0x10], eax
jmp case.0x1001edd1.12
mov esi, dword [esp + 0x230]
mov edx, dword [esp + 0x14]
mov byte [esi + 0x101], 2
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.100100c0
add esp, 0xc
mov dword [esp + 0x10], eax
mov byte [esi + 0x101], 0
jmp case.0x1001edd1.12
mov esi, dword [edi + 0x10]
mov dword [esp + 0x30], 0
mov ebx, dword [esi]
mov ecx, dword [ebx + 0x18]
lea eax, [esp + 0x30]
push eax
push esi
call ecx
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne case.0x1001edd1.12
mov edx, dword [esp + 0x30]
push eax
mov dword [edx], esi
mov eax, dword [edi + 4]
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x23c]
lea ecx, [edi - 0x14]
call fcn.1001e9c0
mov ecx, dword [esp + 0x3c]
add esp, 0xc
test eax, eax
je 0x1002203e
mov dword [eax + 0x60], ecx
mov edx, dword [esp + 0x30]
mov ecx, dword [edx]
mov edx, dword [ecx]
mov dword [eax + 0x64], edx
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x14]
mov byte [eax + 0x1e], 1
mov edx, dword [ebx + 0x1c]
push ecx
call edx
add esp, 4
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 0xc]
mov edx, dword [ecx + 0x4c]
mov esi, dword [ecx + 0x30]
mov ebp, dword [ecx + 0x24]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [edi + 4]
mov ebx, dword [esi + edx*4]
mov edx, dword [ebx + 0x60]
mov edx, dword [edx]
mov edx, dword [edx]
mov esi, dword [eax + 0x28]
mov dword [esp + 0x24], edx
mov edx, dword [eax]
mov dword [esp + 0x4c], edx
xor edx, edx
test esi, esi
jle 0x100220a3
lea ecx, [eax + 0x50]
mov dword [ebp + edx*4], ecx
call fcn.1001e970
add edx, 1
add ecx, 0x28
cmp edx, esi
jl 0x10022090
mov eax, dword [esp + 0x230]
mov edx, dword [esp + 0x4c]
push ebp
mov byte [eax + 0x101], 1
mov ecx, dword [edi + 0x10]
mov eax, dword [ebx + 0x60]
push esi
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [ecx + 0x20]
push eax
call edx
mov ecx, dword [esp + 0x244]
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
mov byte [ecx + 0x101], 0
jne 0x10022100
mov edx, dword [ebx + 0x60]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x28]
push edx
call ecx
add esp, 4
test eax, eax
je 0x10022100
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
mov byte [ebx + 0x1c], 0
jmp case.0x1001edd1.12
mov eax, dword [esp + 0x230]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x30]
mov eax, dword [ecx + edx*4]
cmp byte [eax + 0x1c], 0
jne case.0x1001edd1.12
mov eax, dword [eax + 0x60]
mov edx, dword [eax]
mov ecx, dword [edx]
lea edx, [esp + 0x174]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
mov edx, dword [esp + 0x17c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov cx, word [eax + 0x1c]
and cx, 0xffe4
add esp, 8
or cx, 4
mov word [eax + 0x1c], cx
mov ecx, dword [esp + 0x178]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x230]
mov edx, dword [edi + 4]
mov eax, dword [ecx + 0x30]
mov ebp, dword [eax + edx*4]
cmp byte [ebp + 0x1c], 0
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x4c]
lea esi, [eax + edx*8]
je 0x1002219c
push esi
call fcn.10006300
add esp, 4
jmp case.0x1001edd1.12
mov ecx, dword [ebp + 0x60]
mov edx, dword [ecx]
mov ebx, dword [edx]
push 0x40
lea eax, [esp + 0xb0]
push 0
push eax
call fcn.1012bd00
lea ecx, [esp + 0xc0]
push esi
push ecx
call fcn.100064a0
mov edx, dword [esp + 0xe4]
mov eax, dword [edi + 8]
and edx, 0xffe1
or edx, 1
push eax
mov word [esp + 0xe8], dx
mov edx, dword [ebp + 0x60]
mov eax, dword [ebx + 0x2c]
lea ecx, [esp + 0xc4]
push ecx
push edx
call eax
movzx ecx, byte [esp + 0x60]
push ecx
lea edx, [esp + 0xd8]
push edx
mov dword [esp + 0x38], eax
call fcn.10005cc0
lea eax, [esp + 0xdc]
push eax
push esi
call fcn.100064a0
push esi
call fcn.100063f0
add esp, 0x34
test eax, eax
jne 0x1001ef36
jmp case.0x1001edd1.12
mov edx, dword [esp + 0x230]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x30]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x1c], 0
jne case.0x1001edd1.12
mov ecx, dword [esi + 0x60]
mov edx, dword [ecx]
mov ebx, dword [edx]
mov ebp, dword [esp + 0x230]
mov byte [ebp + 0x101], 1
mov eax, dword [esi + 0x60]
mov ecx, dword [ebx + 0x24]
push eax
call ecx
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
mov byte [ebp + 0x101], 0
jne 0x1001fb83
mov edx, dword [esi + 0x60]
mov eax, dword [ebx + 0x28]
push edx
call eax
add esp, 4
test eax, eax
jne case.0x1001edd1.12
mov edi, dword [edi + 8]
sub edi, 1
mov dword [esp + 0x20], edi
jmp case.0x1001edd1.12
mov esi, dword [edi + 0x10]
mov edi, dword [edi + 4]
mov edx, dword [esp + 0x230]
mov eax, dword [edx + 0x4c]
lea ecx, [edi + edi*4]
test byte [eax + ecx*8 + 0x1c], 0x12
lea edi, [eax + ecx*8]
jne 0x100222cd
movzx ecx, bl
push ecx
push edi
call fcn.10005e70
add esp, 8
test eax, eax
jne 0x1001f07b
push esi
call fcn.1000f6c0
mov eax, dword [edi + 0x14]
mov edx, dword [esi]
mov ecx, dword [edx + 0x4c]
push eax
push esi
call ecx
mov edx, dword [esp + 0x20]
push esi
push edx
mov dword [esp + 0x24], eax
call fcn.1000f6d0
add esp, 0x14
jmp case.0x1001edd1.12
mov ebx, dword [edi + 0x10]
mov eax, dword [ebx]
cmp dword [eax + 0x34], 0
mov esi, dword [edi + 8]
mov dword [esp + 0x4c], eax
jne 0x10022331
mov eax, dword [esp + 0x230]
push 0
add eax, 0xf4
push str.read_only_table
push eax
call fcn.10017cb0
add esp, 0xc
mov dword [esp + 0x10], 1
jmp case.0x1001edd1.12
mov ecx, dword [esp + 0x230]
mov eax, dword [edi + 0xc]
mov ebp, dword [ecx + 0x24]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x4c]
lea ecx, [eax + edx*8]
xor edx, edx
test esi, esi
jle 0x10022363
lea ecx, [ecx]
call fcn.1001e970
mov dword [ebp + edx*4], ecx
add edx, 1
add ecx, 0x28
cmp edx, esi
jl 0x10022350
push ebx
call fcn.1000f6c0
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x34]
lea ecx, [esp + 0x180]
push ecx
push ebp
push esi
push ebx
call eax
mov esi, dword [esp + 0x28]
push ebx
push esi
mov dword [esp + 0x2c], eax
call fcn.1000f6d0
add esp, 0x1c
cmp dword [edi + 4], 0
je 0x100223b0
cmp dword [esp + 0x10], 0
jne 0x100223b0
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x180]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], edx
mov eax, dword [esp + 0x230]
add dword [eax + 0x104], 1
jmp case.0x1001edd1.12
mov edi, dword [edi + 0x10]
test edi, edi
je case.0x1001edd1.12
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x94]
test eax, eax
je case.0x1001edd1.12
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x98]
push edi
push edx
call eax
add esp, 8
add dword [esp + 0x20], 1
cmp dword [esp + 0x10], 0
je 0x1001ecb0
mov ebp, dword [esp + 0x230]
mov esi, dword [esp + 0x10]
jmp 0x1001f0a5
mov esi, 9
jmp 0x1001f0a5
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x230]
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x74], eax
mov dword [ebx + 0x70], ecx
mov edx, dword [edi + 8]
mov dword [ebx + 0x7c], edx
mov edi, dword [edi + 0x10]
test edi, edi
je 0x10022443
push 0
lea eax, [ebx + 0xf4]
push edi
push eax
call fcn.10017cb0
add esp, 0xc
push ebx
call fcn.10016970
mov esi, 5
add esp, 4
cmp eax, esi
je 0x1002257d
mov esi, dword [ebx + 0x74]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x1001f0b6
mov esi, dword [esp + 0x230]
mov ecx, dword [esi + 0x54]
add ecx, 2
or ecx, 1
mov dword [esi + 0x54], ecx
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x4c]
lea ebx, [eax + edx*8]
xor ebp, ebp
mov dword [esi + 0xf8], ebx
cmp dword [edi + 8], ebp
jle 0x100224b2
push ebx
call fcn.10005e20
add esp, 4
mov ecx, ebx
call fcn.1001e970
add ebp, 1
add ebx, 0x28
cmp ebp, dword [edi + 8]
jl 0x10022497
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x1e], 0
jne 0x1001f07b
add dword [esi + 0x50], 1
mov edx, dword [esp + 0x20]
add edx, 1
mov dword [esi + 0x70], edx
mov esi, 0x64
jmp 0x1001f0b6
lea eax, [esp + 0x18c]
push eax
call fcn.10006010
add esp, 4
jmp 0x1001f07b
mov dword [esp + 0x10], 0x14
jmp 0x1002258d
cmp dword [edi + 8], 0
je 0x10022526
push esi
call fcn.10001360
mov edi, dword [esp + 0x234]
add esp, 4
mov byte [esi + 0x1c], 1
mov esi, dword [edi + 0x74]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x1001f0b6
mov edi, dword [esp + 0x230]
push edi
mov byte [esi + 0x1c], bl
call fcn.10016970
add esp, 4
cmp eax, 5
jne 0x10022514
mov ecx, dword [esp + 0x20]
mov dl, 1
sub dl, bl
mov dword [edi + 0x70], ecx
mov byte [esi + 0x1c], dl
mov esi, eax
mov dword [edi + 0x74], esi
jmp 0x1001f0b6
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x20]
mov esi, 5
mov dword [eax + 0x70], ecx
mov dword [eax + 0x74], esi
jmp 0x1001f0b6
mov edx, dword [esp + 0x20]
mov dword [ebx + 0x70], edx
mov esi, 5
mov dword [ebx + 0x74], esi
jmp 0x1001f0b6
mov dword [esp + 0x10], 0xd
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x1e], 0
je 0x1002259f
mov dword [esp + 0x10], 7
mov ecx, dword [esp + 0x10]
push 0
push ecx
call fcn.10001420
mov edx, dword [esp + 0x238]
add esp, 4
push eax
add edx, 0xf4
push edx
call fcn.10017cb0
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x1c]
jmp 0x1001f0a2
mov ebp, dword [esp + 0x230]
xor edi, edi
mov esi, 9
push edi
push esi
mov dword [ebp + 0x74], esi
call fcn.10001420
add esp, 4
push eax
lea eax, [ebp + 0xf4]
push eax
call fcn.10017cb0
jmp 0x1001f0a2