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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x220
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [esp + 0x218], eax
mov eax, dword [ecx + 0x68]
mov dword [esp + 0x58], eax
mov edx, dword [ecx]
mov eax, dword [ecx + 0x58]
mov dword [esp + 0x10], eax
mov al, byte [edx + 0x54]
mov byte [esp + 0x1b], al
mov dword [esp + 0x1c], ecx
mov eax, dword [ecx + 0xa0]
test eax, eax
mov dword [esp + 0xc], edx
jne 0x1012c4aa
cmp dword [edx + 0x16c], 0
mov ebx, edx
je 0x1012c49a
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0xb4]
mov esi, dword [ebx + 0x174]
xor edx, edx
div esi
sub esi, edx
mov dword [esp + 0x78], 0
cmp dword [ecx + 0x24], 7
mov edx, dword [esp + 0x58]
mov dword [esp + 0x48], esi
je 0x1012c527
xor eax, eax
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], eax
mov dword [ebx + 0x1c0], eax
mov eax, dword [ebx + 0x120]
test eax, eax
jne 0x1012c54b
lea eax, [ecx + 0x58]
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + 0x20]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
lea edx, [ecx + 0xe4]
mov dword [esp + 0x94], edx
lea edx, [ebx + 0x10]
mov dword [esp + 0x50], edx
lea edx, [ecx + 0x60]
mov dword [esp + 0x40], edx
add ecx, 0x7c
mov dword [esp + 0x70], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x14], 0
jmp 0x1012c5a7
xor esi, esi
dec esi
mov dword [esp + 0x78], esi
mov ecx, dword [esp + 0x1c]
jmp 0x1012c407
mov esi, dword [edx + 0x14]
test esi, esi
jle 0x1012c3da
mov edi, dword [edx + 0x10]
test al, 1
je 0x1012c4d7
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x1012c4d7
cmp byte [ecx + 9], 0
je 0x1012c4d7
inc dword [ecx + 0xc]
cmp byte [ecx + 0xa], 0
jne 0x1012c4d7
call fcn.10005b90
cmp esi, 3
mov edx, dword [esp + 0xc]
jb 0x1012c3da
add edi, 0x24
mov ebx, 2
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xa0]
bt eax, ebx
jae 0x1012c515
mov ecx, dword [edi]
test ecx, ecx
je 0x1012c515
cmp byte [ecx + 9], 0
je 0x1012c515
inc dword [ecx + 0xc]
cmp byte [ecx + 0xa], 0
jne 0x1012c515
call fcn.10005b90
inc ebx
add edi, 0x10
cmp esi, ebx
mov edx, dword [esp + 0xc]
je 0x1012c3da
jmp 0x1012c4ec
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 4], edx
jmp 0x1012d717
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 4], edx
jmp 0x1012fd68
xor esi, esi
test byte [ecx + 1], 8
je 0x101352f6
lea eax, [esi + esi*4]
mov ecx, dword [esp + 4]
lea ecx, [ecx + eax*4]
mov dword [esp + 4], ecx
mov dword [esp + 0x14], 0
nop word cs:[eax + eax]
mov eax, dword [esp + 4]
add eax, 0x14
add dword [esp + 0x80], 1
adc dword [esp + 0x7c], 0
mov dword [esp + 4], eax
movzx ebx, byte [eax]
cmp ebx, 0xb5
ja case.0x1012c5c3.89
jmp dword [ebx*4 + 0x101b683c]
mov eax, dword [esp + 4]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
shl edx, 2
mov eax, dword [esp + 0x1c]
add edx, dword [eax + 0x60]
mov eax, dword [eax + 0x1c]
mov edx, dword [edx]
mov ecx, dword [edx + 0x48]
cmp dword [edx + 0x20], eax
jne 0x1012c60e
mov eax, dword [edx + 0x2c]
cmp byte [eax], 0
je 0x1012d0dc
jmp 0x101343df
call fcn.10021710
test eax, eax
je 0x1012d0a9
jmp 0x101343ab
cmp byte [edx + 2], 0
jne 0x10130a9f
mov esi, dword [edx + 0x2c]
cmp byte [edx + 3], 0
mov dword [esp + 0x20], ecx
jne 0x1012f156
mov edi, edx
cmp byte [esi], 0
jne 0x101350e0
mov ecx, esi
call fcn.10137730
mov eax, dword [esi + 0x2c]
mov dword [edi + 0x50], eax
movzx eax, word [esi + 0x30]
mov ecx, dword [esi + 0x74]
mov ecx, dword [ecx + 0x3c]
sub ecx, dword [esi + 0x28]
add esi, 0x28
xor edx, edx
test ecx, ecx
cmovg edx, ecx
cmp ecx, eax
cmovge edx, eax
mov dword [edi + 0x54], edx
mov edx, edi
mov eax, dword [esi]
mov dword [edx + 0x4c], eax
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x1c]
mov dword [edx + 0x20], ecx
movzx eax, byte [eax]
mov ecx, dword [esp + 0x20]
mov dword [ecx], eax
test al, al
js 0x10134fb0
xor eax, eax
inc eax
mov dword [esp + 8], eax
mov dword [edx + 0x34], eax
mov word [edx + 0x3e], 0
mov eax, dword [ecx]
mov dword [esp + 0x30], eax
cmp dword [edx + 0x54], eax
jb 0x10134f85
mov dword [esp + 0x2c], ebx
mov edi, dword [edx + 0x4c]
xor eax, eax
jmp 0x1012d119
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x64]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
dec ecx
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
movzx ebx, word [edx + 0x10]
test bl, 0x12
je 0x1012c6ec
mov esi, edx
mov edx, dword [eax + ecx*8 + 0xc]
bt ebx, 0xa
jb 0x10134968
mov eax, dword [eax + ecx*8 + 0x14]
cmp edx, dword [eax + 0x78]
mov edx, esi
jg 0x10135aed
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea ebx, [eax + eax*4]
mov edi, dword [esp + 0x10]
lea esi, [edi + ebx*8]
test byte [esi + 0x11], 0x90
jne 0x101342e8
lea eax, [edi + ebx*8]
add eax, 0x10
mov ecx, dword [edx + 0x10]
mov dword [esi + 0x10], ecx
movdqu xmm0, xmmword [edx]
movdqu xmmword [esi], xmm0
mov ecx, 0xffff8fbf
and ecx, dword [eax]
or ecx, 0x2040
mov word [eax], cx
jmp case.0x1012c5c3.89
mov ebx, dword [esp + 4]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
test byte [ecx + eax*8 + 0x10], 1
je case.0x1012c5c3.89
jmp 0x1012c84e
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
lea esi, [eax + eax*4]
mov ebx, dword [esp + 0x10]
lea edx, [ebx + esi*8]
lea eax, [ecx + ecx*4]
lea ecx, [ebx + eax*8]
test byte [ecx + 0x11], 0x90
jne 0x101352b9
mov edi, dword [edx + 0x10]
mov dword [ecx + 0x10], edi
movdqu xmm0, xmmword [edx]
movdqu xmmword [ecx], xmm0
test byte [ebx + esi*8 + 0x11], 0x20
jne case.0x1012c5c3.89
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax*8]
add eax, 0x10
mov ecx, 0xffff8fff
and ecx, dword [eax]
or ecx, 0x4000
mov word [eax], cx
jmp case.0x1012c5c3.89
mov word [esi + ecx + 0x68], 0
mov dword [esi + ecx + 0x6c], ebx
add ecx, 0x28
cmp eax, ecx
jne 0x1012c7aa
jmp 0x1012ef56
mov eax, dword [esp + 0x4c]
mov edx, dword [eax]
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
add esi, 0x10
test byte [esi + 1], 0x90
mov dword [esp + 8], eax
jne 0x10134724
mov word [esi], 4
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
xor ebx, ebx
cmp dword [ecx + 4], 0
setne bl
shl ebx, 8
or ebx, 1
mov word [esi], bx
mov ecx, dword [esp + 8]
mov dword [edx + ecx*8 + 0xc], 0
sub edi, eax
jle case.0x1012c5c3.89
jmp 0x1012dcda
mov ecx, dword [esp + 0xc]
test byte [ecx + 0x5e], 1
jne 0x101349f3
mov ebx, dword [esp + 4]
mov eax, dword [ebx + 4]
cmp eax, dword [0x101ef12c]
jge 0x1012eb60
inc eax
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x1c]
inc dword [eax + 0xbc]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x58]
lea eax, [ecx + eax*4]
add eax, 0xffffffec
mov dword [esp + 4], eax
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x98]
and eax, 3
cmp eax, 1
je 0x101344be
mov edx, dword [esp + 4]
mov eax, dword [edx + 8]
mov dword [esp + 0x20], eax
mov ecx, dword [edx + 0xc]
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 0x2c], ecx
shl ecx, 4
mov esi, dword [eax + ecx + 4]
mov dword [esp + 0x30], esi
cmp bl, 0x71
jne 0x1012d525
movzx edx, word [edx + 2]
and edx, 8
or edx, 4
mov dword [esp + 0x14], edx
mov eax, dword [eax + ecx + 0xc]
mov al, byte [eax + 0x4c]
mov ecx, dword [esp + 0x1c]
cmp al, byte [ecx + 0x93]
jae 0x1012c8d0
mov byte [ecx + 0x93], al
mov eax, dword [esp + 4]
test byte [eax + 2], 0x10
jne 0x10130a1a
mov ecx, dword [esp + 4]
movzx eax, byte [ecx + 1]
cmp eax, 0xf8
jne 0x1012de50
mov eax, dword [ecx + 0x10]
movzx edi, word [eax + 8]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 4]
mov eax, dword [esp + 0x4c]
mov ebx, dword [eax]
test ecx, ecx
jle 0x1012c918
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x14]
sub eax, ecx
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov edx, dword [eax + ecx*4]
test edx, edx
mov dword [esp + 0x38], ecx
jne 0x1012ff62
lea esi, [edi*8 + 0x128]
mov eax, dword [ebx + 0x18]
cmp eax, esi
mov dword [esp + 0x28], edi
jge 0x1012fdb5
test eax, eax
jg 0x10130335
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x10134a6a
mov eax, esi
sar eax, 0x1f
movzx edx, word [ecx + 0x12c]
xor edi, edi
cmp edx, esi
sbb edi, eax
jb 0x1012d5bb
cmp esi, 0x80
ja 0x1012cf55
mov edi, dword [ecx + 0x150]
test edi, edi
je 0x1012dc0d
mov eax, dword [edi]
mov dword [ecx + 0x150], eax
inc dword [ecx + 0x138]
mov dword [ebx + 0x20], edi
mov dword [ebx + 8], edi
mov ecx, dword [esp + 0x38]
jmp 0x1012cf96
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea esi, [ecx + eax*8]
mov al, byte [edi]
inc edi
cmp al, 0x43
jl 0x1012c9e6
movzx ebx, word [esi + 0x10]
test bl, 4
je 0x1012e6aa
cmp byte [edi - 1], 0x45
je 0x101342ba
mov al, byte [edi]
add esi, 0x28
inc edi
test al, al
jne 0x1012c9bc
jmp case.0x1012c5c3.89
cmp al, 0x42
jne 0x1012c9cd
movzx eax, word [esi + 0x10]
test al, 2
jne 0x1012c9fd
mov ecx, eax
and ecx, 0x2c
jne 0x10135311
and eax, 0xffd3
mov word [esi + 0x10], ax
jmp 0x1012c9cd
mov dword [esp + 0x1b0], 0
mov eax, dword [esp + 4]
mov edx, dword [eax + 8]
test edx, edx
mov ecx, dword [esp + 0xc]
je 0x1012ca3b
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
and ecx, 2
mov esi, eax
and esi, 0x100000
or esi, ecx
jne 0x101346f7
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
mov eax, dword [esp + 4]
mov edi, dword [eax + 4]
shl edi, 4
mov dword [esp + 8], ecx
mov esi, dword [ecx + edi + 4]
test esi, esi
je 0x1012dcc9
lea eax, [esp + 0x1b0]
mov ecx, esi
push eax
call fcn.10137f00
add esp, 4
test eax, eax
jne 0x10134493
mov eax, dword [esp + 0x1c]
test byte [eax + 0x98], 0x20
jne 0x1012dc28
mov ecx, dword [esp + 4]
cmp word [ecx + 2], 0
je 0x1012c589
mov eax, dword [esp + 0x1b0]
cmp eax, dword [ecx + 0xc]
jne 0x101344c8
mov eax, dword [esp + 8]
mov eax, dword [eax + edi + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 0x10]
je 0x1012c589
jmp 0x101344c8
mov ecx, dword [esp + 4]
mov edi, dword [ecx + 0x10]
mov eax, dword [ecx + 4]
mov esi, dword [ecx + 8]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x10]
lea ebx, [edx + eax*8]
mov ecx, dword [ecx + 0xc]
test edi, edi
mov dword [esp + 0x28], ebx
jne 0x1012ee71
lea eax, [esi + esi*4]
lea eax, [ebx + eax*8]
add eax, 0xffffffd8
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x54], ecx
lea ecx, [edx + ecx*8]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x60], 0
mov dword [esp + 0x44], 0
xor edx, edx
xor esi, esi
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], eax
mov edi, eax
movzx eax, word [edi + 0x10]
test al, 1
jne 0x1012cbfb
test al, 0x24
jne 0x1012cb92
test al, 8
jne 0x1013499f
mov ebx, dword [edi + 0xc]
mov ecx, eax
shr ecx, 1
and ecx, 1
lea ecx, [ecx + ebx*2]
add ecx, 0xc
bt eax, 0xa
mov dword [esp + 8], edx
jb 0x101349b4
mov eax, dword [esp + 0x30]
add esi, ebx
adc eax, 0
mov dword [esp + 0x30], eax
cmp ecx, 0x80
mov dword [esp + 0x3c], ecx
jae 0x1012cc0d
xor eax, eax
inc eax
mov edx, dword [esp + 8]
add edx, eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x1c], eax
mov ebx, dword [esp + 0x28]
lea eax, [edi - 0x28]
cmp edi, ebx
mov edi, eax
jne 0x1012cb1d
jmp 0x1012cc6a
mov dword [esp + 0x20], esi
mov ecx, dword [edi]
mov dword [esp + 0x38], edi
mov esi, dword [edi + 4]
mov edi, esi
sar edi, 0x1f
mov ebx, edi
xor ebx, esi
mov dword [esp + 0x3c], ecx
xor edi, ecx
inc edx
mov dword [esp + 8], edx
xor edx, edx
mov ecx, 0x7f
cmp ecx, edi
mov ecx, 0
sbb ecx, ebx
jb 0x1012e4ca
xor eax, eax
inc eax
cmp eax, dword [esp + 0x3c]
sbb edx, esi
mov ebx, dword [esp + 0x28]
jb 0x1012cc4a
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x93], 4
jb 0x1012cc4a
add edi, 8
mov eax, dword [esp + 0x38]
mov dword [eax + 0x1c], edi
mov edi, eax
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x20]
jmp 0x1012cb84
shl eax, 0x15
sar eax, 0x1f
and eax, 0xa
mov dword [edi + 0x1c], eax
inc edx
jmp 0x1012cb84
mov ebx, ecx
xor ecx, ecx
xor eax, eax
inc eax
xor edx, edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x38], edi
mov edi, ecx
shld edi, ebx, 0x19
shr edx, 7
inc eax
mov esi, 0x3fff
cmp esi, ebx
mov esi, 0
sbb esi, ecx
mov ebx, edi
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
mov ecx, edx
jae 0x1012cb73
jmp 0x1012cc1e
mov esi, dword [esp + 0x20]
add esi, 1
adc dword [esp + 0x30], 0
mov edi, dword [esp + 0x38]
mov dword [edi + 0x1c], 1
mov edx, dword [esp + 8]
jmp 0x1012cb84
mov ecx, esi
cmp edx, 0x7e
jg 0x10134e99
inc edx
mov eax, dword [esp + 0x60]
mov esi, edx
sar edx, 0x1f
mov dword [esp + 8], esi
add ecx, esi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x38], edx
adc edi, edx
mov dword [esp + 0x20], ecx
add ecx, eax
adc edi, dword [esp + 0x44]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x54]
mov eax, dword [eax + edx*8 + 0x18]
mov edx, eax
sar edx, 0x1f
cmp eax, ecx
sbb edx, edi
jge 0x1012eef6
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x78]
mov esi, edx
sar esi, 0x1f
cmp edx, ecx
sbb esi, edi
jl 0x10135aed
mov esi, dword [esp + 0x20]
cmp eax, esi
jge 0x10135058
mov ecx, dword [esp + 0x6c]
mov edx, esi
push 0
call fcn.10137a60
add esp, 4
test eax, eax
mov eax, dword [esp + 0x54]
jne 0x1012d717
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax*8 + 0xc], esi
mov word [ecx + eax*8 + 0x10], 0x10
mov edi, dword [esp + 0x60]
or dword [esp + 0x44], edi
mov edx, dword [esp + 8]
jne 0x10134f3d
mov esi, dword [ecx + eax*8 + 8]
cmp edx, 0x7f
jg 0x10134f5b
lea edi, [esi + 1]
mov byte [esi], dl
add esi, edx
mov edx, dword [ebx + 0x1c]
cmp edx, 7
jbe 0x1012cd45
cmp edx, 0x7f
ja 0x1012cd7c
mov byte [edi], dl
inc edi
cmp edx, 0xe
jb 0x1012cdb5
mov eax, dword [ebx + 0xc]
test eax, eax
jg 0x1012cda5
jmp 0x1012cdb5
mov byte [edi], dl
inc edi
test edx, edx
je 0x1012cdb5
mov eax, dword [ebx]
mov dword [esp + 0x28], ebx
mov ecx, dword [ebx + 4]
movzx edx, byte [edx + 0x101b0576]
mov dword [esp + 8], edx
mov ebx, eax
shrd ebx, ecx, 8
shr ecx, 8
mov byte [esi + edx - 1], al
mov eax, ebx
dec edx
jne 0x1012cd62
add esi, dword [esp + 8]
mov ebx, dword [esp + 0x28]
jmp 0x1012cdb5
cmp edx, 0x3fff
ja 0x10131901
mov eax, edx
shr eax, 7
or al, 0x80
mov byte [edi], al
and dl, 0x7f
mov byte [edi + 1], dl
mov eax, 2
add edi, eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x1012cdb5
push eax
push dword [ebx + 8]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, dword [ebx + 0xc]
lea eax, [ebx + 0x28]
cmp ebx, dword [esp + 0x2c]
mov ebx, eax
jne 0x1012cd27
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov edx, dword [esp + 4]
mov ecx, dword [edx + 4]
mov eax, dword [eax + ecx*4]
mov word [eax + 2], 0
mov dword [eax + 0x20], 0
cmp byte [eax + 4], 0
mov dword [esp + 0x30], eax
jne 0x10134fcc
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 0x30]
movzx edi, byte [ecx + 3]
movzx esi, word [edx + 0x10]
mov word [esp + 8], si
lea ecx, [esp + 0x1b0]
mov dword [ecx], eax
mov esi, ebx
and esi, 1
xor eax, eax
cmp esi, 1
sbb eax, eax
mov esi, ecx
mov ecx, edx
movzx edx, word [esp + 8]
mov word [esi + 0x14], dx
or al, 1
mov byte [esi + 0x16], al
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x10]
lea eax, [edx + eax*8]
mov dword [esi + 4], eax
mov byte [esi + 0x1a], 0
mov edx, esi
lea eax, [esp + 0x160]
mov ecx, dword [esp + 0x20]
push eax
call fcn.1013cf30
add esp, 4
test eax, eax
jne 0x101343ab
and edi, 2
mov esi, edi
shr esi, 1
test edi, edi
je 0x1012ce7d
cmp byte [esp + 0x1ca], 0
je 0x1012de48
mov eax, dword [esp + 0x160]
cmp ebx, 0x17
jb 0x1013084e
test eax, eax
mov eax, dword [esp + 0x30]
js 0x1012dbc1
jne 0x1012c57b
jmp 0x1012dbb8
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
mov edi, dword [esp + 4]
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
mov esi, dword [ecx + edx*4]
test byte [edi + 2], 1
je 0x1012cec9
mov ecx, dword [esp + 0x1c]
add dword [ecx + 0x28], 1
adc dword [ecx + 0x2c], 0
lea edi, [eax + eax*4]
mov ebx, dword [esp + 0x10]
test byte [ebx + edi*8 + 0x11], 4
jne 0x1013509e
mov eax, dword [ebx + edi*8 + 0xc]
mov dword [esp + 0x1b8], eax
sar eax, 0x1f
mov dword [esp + 0x1bc], eax
mov eax, dword [ebx + edi*8 + 8]
mov dword [esp + 0x1b0], eax
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0x1c4], eax
movzx eax, word [ecx + 0x10]
mov word [esp + 0x1c8], ax
movzx eax, word [ecx + 2]
xor edi, edi
test al, 0x10
je 0x1012cf28
mov edi, dword [esi + 0x24]
and eax, 0x8a
mov ecx, dword [esi + 0x2c]
lea edx, [esp + 0x1b0]
push edi
push eax
call fcn.1013a140
add esp, 8
mov dword [esi + 0x20], 0
test eax, eax
je 0x1012c589
jmp 0x101343ab
mov edi, dword [ecx + 0x148]
test edi, edi
jne 0x1012e2b1
mov edi, dword [ecx + 0x144]
test edi, edi
jne 0x1012f4ee
inc dword [ecx + 0x140]
mov edx, esi
push eax
call fcn.10137840
add esp, 4
mov edi, eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 8], eax
test eax, eax
mov ecx, dword [esp + 0x38]
je 0x1012d710
mov dword [ebx + 0x18], esi
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [eax + ecx*4], edi
mov edx, dword [esp + 0x28]
lea eax, [edx*8 + 0x60]
xor ecx, ecx
mov dword [edi + 0x20], ecx
xorpd xmm0, xmm0
movupd xmmword [edi + 0x10], xmm0
movupd xmmword [edi], xmm0
mov dword [edi + 0x24], ecx
mov word [edi + 0x3c], dx
lea edx, [edi + edx*4 + 0x58]
mov dword [edi + 0x48], edx
mov edx, dword [ebx + 8]
lea esi, [edx + eax]
mov dword [edi + 0x2c], esi
mov dword [edx + eax + 0x10], ecx
movupd xmmword [edx + eax], xmm0
mov eax, dword [esp + 0x2c]
mov byte [edi + 1], al
mov byte [edi + 2], 1
or byte [edi + 8], 4
mov eax, dword [esp + 0x20]
mov dword [edi + 0x38], eax
mov esi, dword [edi + 0x2c]
mov ebx, dword [esp + 0x30]
cmp byte [ebx + 9], 0
jne 0x10130651
mov ecx, dword [ebx + 4]
cmp eax, 1
jbe 0x1012ef11
mov edx, eax
mov dword [esi + 0x40], eax
mov byte [esi + 0x44], 0xff
mov eax, dword [esp + 8]
mov dword [esi + 0x70], eax
mov dword [esi + 8], ebx
mov dword [esi + 0x14], ecx
mov byte [esi + 1], 0
mov eax, dword [ecx + 8]
test eax, eax
je 0x1012d049
mov ebx, edx
cmp dword [eax + 0x40], edx
je 0x1012d03f
mov eax, dword [eax + 0x18]
jmp 0x1012d02f
or byte [eax + 1], 0x20
mov byte [esi + 1], 0x20
jmp 0x1012d03a
mov byte [esi], 1
mov eax, dword [ecx + 8]
mov dword [esi + 0x18], eax
mov dword [ecx + 8], esi
cmp word [esp + 0x14], 0
je 0x1012d532
or byte [esi + 1], 1
mov byte [esi + 2], 0
xor eax, eax
cmp dword [ecx + 0x54], 0
je 0x1012f09b
mov ecx, dword [esp + 8]
mov dword [edi + 0x30], ecx
mov ecx, dword [esp + 4]
cmp byte [ecx + 1], 0xf8
setne byte [edi + 4]
mov cl, byte [ecx + 2]
mov edx, dword [edi + 0x2c]
and cl, 3
mov byte [edx + 3], cl
mov dword [esp + 0x14], 0
test eax, eax
je case.0x1012c5c3.89
jmp 0x101343ab
mov ecx, edi
mov eax, dword [edi + 0x48]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x1c]
cmp dword [edi + 0x20], eax
jne 0x1012da39
mov edx, edi
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x14], 0
cmp byte [eax], 0
mov ecx, dword [esp + 0x20]
jne 0x101343e1
mov dword [esp + 0x20], ecx
movzx eax, word [edx + 0x3e]
movzx ecx, ax
cmp ebx, ecx
jb 0x1012d2d3
mov esi, dword [edx + 0x34]
mov ecx, dword [esp + 0x20]
mov edi, dword [ecx]
mov dword [esp + 8], esi
mov dword [esp + 0x30], edi
cmp esi, edi
jae 0x101348c2
mov esi, dword [edx + 0x4c]
test esi, esi
mov dword [esp + 0x2c], ebx
je 0x101348cf
mov edi, esi
mov dword [esp + 0x20], ecx
movzx esi, ax
mov ebx, dword [ecx + esi*4]
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 8]
add ecx, edi
mov dword [esp + 0x38], edi
mov eax, dword [esp + 0x30]
add eax, edi
mov edi, eax
movzx eax, byte [ecx]
mov dword [edx + esi*4 + 0x58], eax
test al, al
js 0x1012d17d
inc ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x30], eax
movzx eax, byte [eax + 0x101b0576]
xor ecx, ecx
add ebx, eax
adc dword [esp + 0x28], ecx
lea eax, [esi + 1]
mov ecx, dword [esp + 0x20]
mov dword [ecx + esi*4 + 4], ebx
cmp esi, dword [esp + 0x2c]
mov ecx, dword [esp + 8]
jae 0x1012d1be
mov esi, eax
cmp ecx, edi
jb 0x1012d13d
jmp 0x1012d1be
mov eax, ecx
movzx ecx, byte [ecx]
mov dword [esp + 8], eax
movzx eax, byte [eax + 1]
test al, al
js 0x10132098
and ecx, 0x7f
shl ecx, 7
or ecx, eax
mov al, 2
movzx eax, al
add dword [esp + 8], eax
mov dword [edx + esi*4 + 0x58], ecx
cmp ecx, 0x80
jb 0x10134aed
mov dword [esp + 0x30], ecx
lea eax, [ecx - 0xc]
shr eax, 1
jmp 0x1012d158
cmp ecx, edi
jae 0x1012d31d
xor ecx, ecx
cmp dword [edx + 0x50], ebx
sbb ecx, dword [esp + 0x28]
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0x38]
jb 0x10134362
mov word [edx + 0x3e], ax
sub ecx, esi
mov dword [edx + 0x34], ecx
cmp dword [edx + 0x4c], 0
je 0x101343e8
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
movzx eax, ax
cmp ebx, eax
jae 0x1013440d
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
lea edi, [eax + eax*4]
mov esi, dword [esp + 0x10]
lea eax, [esi + edi*8]
mov dword [esp + 8], eax
test byte [eax + 0x11], 0x90
jne 0x10134298
lea esi, [esi + edi*8]
add esi, 0x10
mov eax, dword [edx + 0x54]
cmp eax, dword [ecx + ebx*4 + 4]
jb 0x1012e33c
mov eax, dword [edx + 0x4c]
add eax, dword [ecx + ebx*4]
mov ecx, dword [esp + 0x30]
cmp ecx, 0xb
ja 0x1012d26b
ja 0x1012e3c5
jmp dword [ecx*4 + 0x101b6b28]
mov word [esi], 4
jmp case.0x1012c5c3.89
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], esi
lea esi, [ecx - 0xc]
shr esi, 1
mov ebx, dword [esp + 0x10]
mov dword [ebx + edi*8 + 0xc], esi
mov al, byte [esp + 0x1b]
mov byte [ebx + edi*8 + 0x12], al
lea edx, [esi + 2]
cmp dword [ebx + edi*8 + 0x18], edx
jl 0x1012d2e4
mov eax, dword [ebx + edi*8 + 0x20]
mov dword [ebx + edi*8 + 8], eax
push esi
push dword [esp + 0x24]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + edi*8 + 8]
xor ecx, ecx
mov byte [eax + esi], cl
mov eax, dword [ebx + edi*8 + 8]
mov byte [esi + eax + 1], cl
mov eax, dword [esp + 0x30]
and eax, 1
movzx eax, word [eax + eax + 0x101b0572]
mov ecx, dword [esp + 0x28]
mov word [ecx], ax
jmp case.0x1012c5c3.89
mov eax, dword [edx + ebx*4 + 0x58]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x20]
jmp 0x1012d203
mov eax, dword [esp + 0xc]
cmp esi, dword [eax + 0x78]
jg 0x10135aed
mov eax, dword [esp + 0x28]
mov word [eax], 1
mov ecx, dword [esp + 8]
push 0
call fcn.10137a60
add esp, 4
test eax, eax
jne 0x1012d717
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + edi*8 + 8]
jmp 0x1012d299
mov esi, dword [esp + 0x38]
ja 0x10134362
xor ebx, dword [edx + 0x50]
or ebx, dword [esp + 0x28]
je 0x1012d1dd
jmp 0x10134362
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
test byte [ecx + eax*8 + 0x10], 1
je case.0x1012c5c3.89
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0xd0]
mov edx, dword [esp + 4]
mov eax, dword [edx + 4]
test ecx, ecx
je 0x1012d663
jmp 0x1012d90f
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
jne 0x101350e7
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
mov dword [esi], eax
sar eax, 0x1f
mov dword [esi + 4], eax
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov esi, dword [esp + 4]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0xc]
mov ebx, dword [eax + ecx*4]
lea eax, [edx + edx*4]
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x1b4], ecx
mov edx, dword [esi + 0x10]
mov word [esp + 0x1c4], dx
test edx, 0xffff
je 0x101306f4
mov eax, dword [ebx + 0x30]
lea edx, [esp + 0x1b0]
mov dword [edx], eax
mov byte [edx + 0x16], 0
lea eax, [ebx + 0x24]
mov ecx, dword [ebx + 0x2c]
push eax
call fcn.1013cf30
add esp, 4
mov edi, eax
test edi, edi
jne 0x10134692
mov ecx, dword [ebx + 0x24]
test ecx, ecx
setne byte [ebx + 2]
mov byte [ebx + 3], 0
mov dword [ebx + 0x20], 0
mov eax, dword [esp + 4]
movzx eax, byte [eax]
cmp eax, 0x1d
je 0x101310c1
test ecx, ecx
je 0x1012e6cb
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 4]
jmp 0x1012c84e
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
mov esi, dword [edi + 0x2c]
mov word [esi + 0x32], 0
and byte [esi + 1], 0xf9
cmp byte [esi], 0
jne 0x1012e2c2
mov eax, dword [esi + 0x74]
movzx ecx, word [esi + 0x46]
lea edx, [ecx + 1]
mov word [esi + 0x46], dx
cmp dx, word [eax + 0x18]
jae 0x1012e2be
cmp byte [eax + 8], 0
je 0x1012fbcb
mov dword [edi + 0x20], 0
mov byte [edi + 2], 0
mov eax, dword [esp + 4]
movzx eax, word [eax + 2]
mov ecx, dword [esp + 0x1c]
inc dword [ecx + eax*4 + 0xa4]
mov dword [esp + 0x14], 0
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x58]
lea eax, [ecx + eax*4]
add eax, 0xffffffec
mov dword [esp + 4], eax
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x48]
mov eax, dword [ebx + 0x120]
test eax, eax
jne 0x1012fd68
cmp dword [esp + 0x80], edi
mov eax, dword [esp + 0x7c]
sbb eax, dword [esp + 0x78]
mov dword [esp + 0x48], edi
jb case.0x1012c5c3.89
jmp 0x1012fd2a
mov eax, dword [esp + 0x160]
test eax, eax
je 0x1012c57b
jmp 0x1012d446
mov dword [esp + 0x14], 0
jmp 0x1012c8d0
mov byte [esi + 2], 2
xor eax, eax
jmp 0x1012d075
mov eax, dword [esp + 4]
mov ecx, dword [eax + 4]
mov esi, dword [eax + 0x10]
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0x1012ddb3
jmp 0x1012dd3c
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x95], 3
jne case.0x1012c5c3.89
jmp 0x10134628
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov ecx, dword [eax + esi]
mov edx, edi
push dword [esp + 8]
call fcn.100069e0
add esp, 4
test eax, eax
jne 0x101343ab
inc ebx
add esi, 0x10
mov eax, dword [esp + 0xc]
cmp ebx, dword [eax + 0x14]
jl 0x1012d576
jmp 0x1012df99
cmp dword [ecx + 0x128], 0
jne 0x1012d6fe
jmp 0x1012f975
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
jne 0x101352a7
mov word [esi + 0x10], 4
mov ax, 4
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0xd0]
mov edx, dword [ecx + 8]
mov edi, dword [ecx + 0x30]
lea edi, [edi + edi*4]
mov edx, dword [edx + edi*4 + 4]
mov edi, dword [esp + 4]
add edx, dword [edi + 4]
mov ecx, dword [ecx + 0xc]
lea edi, [edx + edx*4]
lea edx, [ecx + edi*8]
test eax, 0x9000
jne 0x101352b7
mov eax, dword [edx + 0x10]
mov dword [esi + 0x10], eax
movdqu xmm0, xmmword [edx]
movdqu xmmword [esi], xmm0
test byte [ecx + edi*8 + 0x11], 0x20
jne case.0x1012c5c3.89
jmp 0x1012df83
mov eax, dword [edi]
xor ecx, ecx
movzx edx, byte [eax + ecx]
movzx ebx, byte [esi + ecx]
cmp dl, bl
jne 0x101350f3
test edx, edx
je 0x1012ddd2
inc ecx
jmp 0x1012d648
mov dword [esi + 0x24], eax
mov cl, byte [edx + 8]
mov byte [esi + 0x92], cl
test eax, eax
jne 0x10134864
mov ecx, esi
call fcn.10138920
cmp eax, 5
mov edi, dword [esp + 0x48]
je 0x10134b1c
xor eax, eax
inc eax
cmp dword [esi + 0x24], 0
mov ebx, 0x65
cmovne ebx, eax
jmp 0x101358be
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x1c]
or eax, 1
add eax, 2
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x10]
lea eax, [edx + eax*8]
mov dword [ecx + 0x78], eax
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x57], 0
jne 0x1012d717
test byte [eax + 0x5e], 4
mov edi, dword [esp + 0x48]
jne 0x10135207
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x58]
sar eax, 2
imul eax, eax, 0xcccccccd
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x20], eax
mov ebx, 0x64
jmp 0x101358be
cmp byte [ecx + 0x57], 0
je 0x1012cf77
xor eax, eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0x18], 0
mov ebx, dword [esp + 0xc]
mov ecx, ebx
call fcn.10157ae0
push str.out_of_memory
push dword [esp + 0x20]
call fcn.10157810
add esp, 8
mov ecx, 7
jmp 0x10130c90
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov edx, dword [esp + 4]
mov ecx, dword [edx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x160], ecx
movzx ecx, word [edx + 0x10]
mov word [esp + 0x174], cx
xor edi, edi
cmp byte [edx], 0x2a
mov ecx, 0
sbb ecx, ecx
mov byte [esp + 0x176], cl
mov ecx, dword [edx + 0xc]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x10]
lea ecx, [edx + ecx*8]
mov dword [esp + 0x164], ecx
mov esi, dword [eax + 0x2c]
mov ecx, esi
call fcn.10137730
mov eax, dword [esi + 0x2c]
test eax, eax
jle 0x101346aa
mov word [esp + 0x1c0], 0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x1c8], edi
movzx ecx, word [esi + 0x30]
mov edx, dword [esi + 0x28]
mov ebx, dword [esi + 0x74]
mov ebx, dword [ebx + 0x3c]
sub ebx, edx
test ebx, ebx
cmovg edi, ebx
cmp ebx, ecx
cmovge edi, ecx
mov dword [esp + 0x1b8], edx
cmp edi, eax
jb 0x10131ec7
mov word [esp + 0x1c0], 0x4010
mov dword [esp + 0x1bc], eax
lea esi, [esp + 0x160]
mov ecx, eax
push 0
push esi
call fcn.10008e80
add esp, 8
mov esi, eax
cmp dword [esp + 0x1c8], 0
jne 0x10131ef7
mov eax, esi
neg eax
inc esi
mov ebx, dword [esp + 4]
test byte [ebx], 1
cmove esi, eax
mov dword [esp + 0x14], 0
test esi, esi
jle case.0x1012c5c3.89
jmp 0x1012c84e
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0xc]
mov esi, dword [ecx + 0x10]
cmp word [ecx + 2], 0
mov ebx, dword [esp + 0xc]
jne 0x1012f39f
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0xd8]
cmp ecx, dword [ebx + 0xa0]
jge 0x101346de
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x10]
test byte [eax + ecx*8 + 0x10], 0x10
mov dword [esp + 0x20], esi
jne 0x101312bf
mov dword [esp + 8], ecx
mov eax, dword [esi + 4]
mov edi, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea esi, [edx + edi]
xor ecx, ecx
test edx, edx
sete cl
mov dword [esp + 0x28], ecx
add esi, ecx
lea ecx, [eax + 7]
add eax, 0xe
test ecx, ecx
cmovns eax, ecx
sar eax, 3
mov dword [esp + 0x3c], edx
lea eax, [eax + edx*4]
mov dword [esp + 0x30], esi
lea ecx, [esi + esi*4]
lea esi, [eax + ecx*8]
add esi, 0x58
mov eax, esi
sar eax, 0x1f
movzx ecx, word [ebx + 0x12c]
xor edx, edx
cmp ecx, esi
sbb edx, eax
mov dword [esp + 0x38], edi
jb 0x1012e70a
mov edx, esi
cmp esi, 0x80
mov ecx, dword [esp + 8]
ja 0x1012eca3
mov esi, dword [ebx + 0x150]
test esi, esi
je 0x1012ec95
mov eax, dword [esi]
mov dword [ebx + 0x150], eax
inc dword [ebx + 0x138]
jmp 0x1012ece4
test eax, eax
jne 0x10134850
mov eax, dword [ecx + 4]
mov esi, dword [esp + 0x1c]
mov dword [esi + 0xd0], eax
dec dword [esi + 0xd8]
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x2c]
mov edi, dword [esp + 0xc]
mov dword [edi + 0x6c], edx
mov dword [edi + 0x68], eax
add dword [edi + 0x70], eax
adc dword [edi + 0x74], edx
call fcn.10006e80
mov ecx, dword [esp + 4]
cmp dword [ecx + 8], 4
mov ecx, dword [esi + 0x68]
je 0x1013532b
mov edx, dword [esp + 0x4c]
mov edx, dword [edx]
mov dword [esp + 0x10], edx
lea eax, [eax + eax*4]
mov dword [esp + 0x58], ecx
lea eax, [ecx + eax*4]
mov dword [esp + 4], eax
jmp case.0x1012c5c3.89
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x3c], eax
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x20], eax
lea eax, [edi + eax*8]
mov dword [esp + 0x60], edx
lea ecx, [edx + edx*4]
mov dword [esp + 0x30], ecx
lea esi, [edi + ecx*8]
mov dword [esp + 8], eax
movzx edx, word [eax + 0x10]
movzx eax, word [esi + 0x10]
mov dword [esp + 0x2c], edx
movzx ecx, dx
mov dword [esp + 0x28], eax
movzx eax, ax
mov edx, eax
and edx, ecx
test dl, 4
jne 0x1012e0ae
mov dword [esp + 0x38], esi
mov esi, eax
mov eax, dword [esp + 0x20]
lea eax, [edi + eax*8]
add eax, 0x10
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
lea edi, [edi + eax*8 + 0x10]
mov dword [esp + 0x44], esi
mov eax, esi
mov esi, ecx
or eax, ecx
mov ecx, dword [esp + 4]
movzx ecx, word [ecx + 2]
test al, 1
mov dword [esp + 0x30], edi
jne 0x10130a65
and ecx, 0x47
cmp cx, 0x43
jae 0x10135759
cmp cx, 0x42
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0x38]
jne 0x1012e942
and eax, 2
je 0x1012e942
mov eax, esi
test al, 2
je 0x1012e928
mov eax, dword [esp + 0x44]
jmp 0x1012e935
cmp byte [edi + 2], 0
jne 0x10130a91
mov ecx, edi
mov esi, dword [edi + 0x2c]
cmp byte [edi + 3], 0
jne 0x1012f14c
mov dword [esp + 0x14], 0
jmp 0x1012c62b
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
jne 0x101317ee
cmp byte [esi + 2], 0
jne 0x10131802
mov dword [esp + 8], esi
mov ebx, dword [esi + 0x2c]
mov ecx, ebx
call fcn.10137730
mov eax, dword [ebx + 0x2c]
mov word [esp + 0x1c0], 0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1c4], ecx
xor ecx, ecx
mov dword [esp + 0x1c8], ecx
movzx edx, word [ebx + 0x30]
mov edi, dword [ebx + 0x28]
mov esi, dword [ebx + 0x74]
mov esi, dword [esi + 0x3c]
sub esi, edi
test esi, esi
cmovg ecx, esi
cmp esi, edx
cmovge ecx, edx
mov dword [esp + 0x1b8], edi
cmp ecx, eax
jb 0x10135338
mov word [esp + 0x1c0], 0x4010
mov dword [esp + 0x1bc], eax
movzx ebx, byte [edi]
mov dword [esp + 0x150], ebx
test bl, bl
js 0x10135361
cmp ebx, 3
jb 0x10134538
mov esi, dword [esp + 0x1bc]
cmp ebx, esi
ja 0x10134538
movzx edx, byte [ebx + edi - 1]
mov dword [esp + 0x15c], edx
test dl, dl
js 0x10135378
cmp edx, 7
je 0x10134538
lea eax, [edx - 0xa]
cmp eax, 0xfffffff7
jb 0x10134538
movzx eax, byte [edx + 0x101b0576]
add ebx, eax
cmp esi, ebx
jb 0x10134538
sub esi, eax
add edi, esi
lea esi, [esp + 0x160]
mov ecx, edi
push esi
call fcn.10006aa0
add esp, 4
mov edi, dword [esi]
mov ebx, dword [esi + 4]
cmp dword [esp + 0x1c8], 0
jne 0x10135396
mov edx, dword [esp + 4]
cmp byte [edx], 0x8d
jne 0x1012e283
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [edx + 0xc]
mov eax, dword [eax + ecx*4]
mov word [eax + 2], 0x100
mov dword [eax + 0x44], ebx
mov dword [eax + 0x40], edi
mov dword [eax + 0x20], 0
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 8]
mov dword [eax + 0x28], ecx
jmp 0x1012c589
cmp ebx, 0x18
jne 0x1012c57b
mov ebx, esi
mov dword [esp + 0x160], 0
mov esi, dword [eax + 0x2c]
mov word [esi + 0x32], 0
and byte [esi + 1], 0xf9
cmp byte [esi], 0
jne 0x1012e77c
mov eax, dword [esi + 0x74]
movzx ecx, word [esi + 0x46]
lea edx, [ecx + 1]
mov word [esi + 0x46], dx
cmp dx, word [eax + 0x18]
jae 0x1012e778
cmp byte [eax + 8], 0
je 0x101300bf
mov esi, ebx
jmp 0x1012d511
mov edi, dword [ecx + 0x14c]
test edi, edi
je 0x1012cf55
mov eax, dword [edi]
mov dword [ecx + 0x14c], eax
jmp 0x1012c990
mov eax, dword [esp + 4]
cmp dword [eax + 8], 0
je 0x1012ca86
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x55], 0
jne 0x10130a7b
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 0x30]
test ebx, ebx
mov ecx, dword [esp + 0xc]
jne 0x1012dc69
mov ebx, dword [ecx + 0x1f4]
inc ebx
mov dword [ecx + 0x1f4], ebx
add ebx, dword [ecx + 0x1f0]
mov dword [eax + 0x30], ebx
cmp dword [ecx + 0x190], 0
jne 0x101353b3
mov eax, dword [esi + 4]
cmp byte [esi + 9], 0
jne 0x10131708
mov ecx, dword [eax]
xor eax, eax
cmp dword [ecx + 0x68], ebx
jge 0x1012dc99
cmp byte [ecx + 6], 0
je 0x1012dc99
mov edx, ebx
call fcn.10006d20
cmp byte [esi + 9], 0
mov dword [esp + 0x14], eax
jne 0x10131729
mov ecx, dword [esp + 0xc]
movsd xmm0, qword [ecx + 0x1f8]
mov eax, dword [esp + 0x1c]
movsd qword [eax + 0x48], xmm0
movq xmm0, qword [ecx + 0x200]
movq qword [eax + 0x50], xmm0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1012ca86
jmp 0x101343ad
lea esi, [edx + ecx*8]
add esi, 0x28
inc edi
test byte [esi + 0x11], 0x90
jne 0x101353a7
mov word [esi + 0x10], 1
mov word [esi + 0x10], bx
mov dword [esi + 0xc], 0
add esi, 0x28
dec edi
cmp edi, 1
jle case.0x1012c5c3.89
jmp 0x1012dce1
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x10135487
mov eax, dword [ecx]
or eax, dword [ecx + 4]
mov ebx, dword [esp + 4]
je 0x1012c84e
jmp case.0x1012c5c3.89
mov ebx, dword [esp + 0xc]
cmp dword [ebx + 0xc4], 0
jg 0x10134632
test esi, esi
mov dword [esp + 0x30], esi
je 0x101354a9
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov esi, eax
and esi, 0x3fffffff
cmp dword [ebx + 0x190], 0
jne 0x10135532
lea edx, [esi + 0x21]
movzx eax, word [ebx + 0x12c]
cmp edx, eax
ja 0x1012eb44
cmp esi, 0x5f
ja 0x1012f0b3
mov edi, dword [ebx + 0x150]
test edi, edi
je 0x1012f0a5
mov eax, dword [edi]
mov dword [ebx + 0x150], eax
inc dword [ebx + 0x138]
jmp 0x1012f0eb
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x1e4]
test edi, edi
je 0x10135114
mov dword [esp + 8], 0
jmp 0x1012d644
mov ebx, dword [esp + 0xc]
cmp dword [ebx + 0xc4], 0
mov esi, dword [esp + 0x20]
jle 0x1012ddec
cmp esi, 1
je 0x1013455d
cmp dword [edi + 0x18], 0
jne 0x101355c0
cmp byte [ebx + 0x5d], 0
setne cl
je 0x1012de08
cmp esi, 1
je 0x101357eb
mov eax, dword [esp + 8]
not eax
add eax, dword [ebx + 0x1f0]
mov dword [esp + 8], eax
cmp esi, 2
mov dword [esp + 0x30], ecx
je 0x101354b0
mov eax, dword [ebx + 0x14]
xor edx, edx
test eax, eax
jle 0x1012e53d
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edi
mov edi, esi
xor ebx, ebx
mov esi, 4
jmp 0x1012d576
xor esi, esi
inc esi
jmp 0x1012d511
cmp eax, 0xfd
jne 0x101356b3
mov ecx, dword [esp + 4]
mov edi, dword [ecx + 0x10]
xor eax, eax
jmp 0x1012c8f8
mov edx, dword [esp + 4]
mov eax, dword [edx + 8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
cmp byte [edx + 1], 0xfb
mov esi, 0
mov ebx, 0
jne 0x1012dee9
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xf4], 0
jne 0x101356c0
mov eax, dword [esp + 4]
movzx edx, byte [eax + 2]
mov ecx, dword [edi + 0x2c]
call fcn.1000b1f0
xor ecx, ecx
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], ecx
test eax, eax
jne 0x101343ab
mov dword [esp + 0x14], 0
test byte [esp + 8], 1
je case.0x1012c5c3.89
mov eax, dword [esp + 0x1c]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0xf4]
test ecx, ecx
je case.0x1012c5c3.89
test esi, esi
je case.0x1012c5c3.89
test byte [esi + 0x1c], 0x80
jne case.0x1012c5c3.89
mov eax, dword [edi + 0x40]
mov dword [esp + 0x20], eax
mov edi, dword [edi + 0x44]
mov esi, dword [esi]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xf0]
mov dword [esp + 8], eax
call dword [section..00cfg]
push edi
push dword [esp + 0x24]
push esi
push ebx
push 9
push dword [esp + 0x1c]
call ecx
add esp, 0x18
jmp case.0x1012c5c3.89
mov eax, 0xffff8fff
and eax, dword [esi + 0x10]
or eax, 0x4000
mov word [esi + 0x10], ax
jmp case.0x1012c5c3.89
xor ecx, ecx
mov ebx, dword [esp + 0xc]
mov esi, edi
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
test edx, edx
jne 0x101355c7
test ecx, ecx
jne 0x10130c90
mov edx, dword [ebx + 0x1e4]
cmp edx, edi
jne 0x1013565e
cmp esi, 1
jne 0x1013560d
mov eax, dword [edi + 0x18]
mov dword [ebx + 0x1e4], eax
mov ecx, ebx
mov edx, edi
call fcn.1014d210
mov ecx, dword [esp + 0x30]
test cl, cl
jne 0x1013562b
dec dword [ebx + 0x1f0]
cmp dword [ebx + 0x190], 0
je 0x1012d558
xor ebx, ebx
mov eax, dword [esp + 0xc]
cmp ebx, dword [eax + 0x178]
jge 0x1012d558
mov eax, dword [eax + 0x190]
mov eax, dword [eax + ebx*4]
mov esi, eax
mov eax, dword [eax + 8]
xor edi, edi
mov dword [esp + 0x30], eax
test eax, eax
je 0x1012e035
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp dword [eax], 2
jge 0x1012e03f
inc ebx
test edi, edi
je 0x1012e003
jmp 0x10134692
xor ecx, ecx
cmp dword [esp + 0x20], 2
sete cl
inc dword [esi + 0xc]
mov ecx, dword [eax + ecx*4 + 0x54]
xor edi, edi
test ecx, ecx
je 0x1012e063
mov eax, dword [esp + 8]
cmp dword [esi + 0x14], eax
jg 0x10135ec0
mov ecx, esi
call fcn.10165fa0
jmp 0x1012e035
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov edi, dword [esp + 0x10]
mov eax, dword [edi + ecx*8]
xor esi, esi
xor edx, edx
dec edx
add edx, 1
mov edx, dword [edi + ecx*8 + 4]
adc esi, 0x7fffffff
xor esi, edx
or esi, eax
je case.0x1012c5c3.89
add eax, 0xffffffff
adc edx, 0xffffffff
lea ecx, [edi + ecx*8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
or edx, eax
jmp 0x1012dd2d
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov ecx, dword [esp + 8]
mov esi, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, edi
cmp esi, edi
mov edi, edx
sbb edi, eax
jl 0x1012f5a4
cmp ecx, esi
sbb eax, edx
jl 0x1012f386
cmp byte [ebx + 0x101af8ba], 0
mov ebx, dword [esp + 4]
jne 0x1012c84e
mov dword [esp + 0x5c], 0
jmp case.0x1012c5c3.89
mov ecx, dword [esp + 4]
mov ebx, dword [ecx + 0xc]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x10]
lea esi, [edx + eax*8]
lea eax, [ecx + ecx*4]
lea edi, [edx + eax*8]
test byte [edi + 0x11], 0x90
jne 0x1013579a
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
movdqu xmm0, xmmword [esi]
movdqu xmmword [edi], xmm0
test byte [esi + 0x11], 0x20
jne 0x1012e13e
mov eax, 0xffff8fff
and eax, dword [edi + 0x10]
or eax, 0x4000
mov word [edi + 0x10], ax
movzx eax, word [edi + 0x10]
bt eax, 0xe
jae 0x1012e15d
test al, 0x12
jne 0x1012fc05
movzx eax, word [edi + 0x10]
and eax, 0xbfff
mov word [edi + 0x10], ax
bt eax, 0xb
jb 0x101357b0
sub ebx, 1
jb case.0x1012c5c3.89
add edi, 0x28
add esi, 0x28
jmp 0x1012e10f
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov esi, dword [esp + 0x10]
lea ebx, [esi + eax*8]
cmp dword [edi], ebx
jne 0x1012ec55
mov dword [esp + 8], ebx
mov ecx, 0xfffff240
and ecx, dword [esi + eax*8 + 0x10]
or ecx, 1
mov word [esi + eax*8 + 0x10], cx
mov eax, dword [edi + 4]
mov ecx, dword [eax + 0x10]
lea ebx, [edi + 0x1c]
movzx esi, byte [edi + 0x1a]
call dword [section..00cfg]
push ebx
push esi
push edi
call ecx
add esp, 0xc
cmp dword [edi + 0x14], 0
je case.0x1012c5c3.89
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
jg 0x10136705
mov eax, dword [esp + 0x94]
mov esi, dword [eax]
test esi, esi
je 0x1012e260
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x94]
cmp dword [esp + 8], 0
js 0x1012e21d
mov eax, dword [esp + 8]
cmp dword [esi], eax
jne 0x1012e255
mov eax, dword [esi + 4]
test eax, eax
js 0x1012e255
cmp eax, 0x1f
jbe 0x1012e24c
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x1012e23a
mov eax, dword [esi + 8]
mov dword [esp + 0x30], eax
call dword [section..00cfg]
push dword [esp + 0x30]
call ecx
add esp, 4
mov eax, dword [esi + 0x10]
mov dword [ebx], eax
mov ecx, dword [esp + 0xc]
mov edx, esi
call fcn.1014d210
jmp 0x1012e25a
mov ecx, dword [esp + 0x2c]
bt ecx, eax
jae 0x1012e21d
add esi, 0x10
mov ebx, esi
mov esi, dword [ebx]
test esi, esi
jne 0x1012e202
mov dword [edi + 0x14], 0
mov dword [esp + 0x14], 0
cmp dword [esp + 0x20], 0
je case.0x1012c5c3.89
mov ecx, dword [esp + 0x20]
jmp 0x101343ad
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [edx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
jne 0x101357df
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov dword [esi], edi
mov dword [esi + 4], ebx
jmp 0x1012c589
mov eax, dword [edi]
mov dword [ecx + 0x148], eax
jmp 0x1012c990
mov word [esi + 0x46], cx
mov ecx, esi
call fcn.10008100
mov dword [edi + 0x20], 0
test eax, eax
je 0x1012d4a6
cmp eax, 0x65
jne 0x101343ab
mov byte [edi + 2], 1
mov dword [esp + 0x14], 0
jmp 0x1012d4dd
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi + 0x2c]
and byte [ecx + 1], 0xf1
mov word [ecx + 0x32], 0
cmp byte [ecx], 0
jne 0x1012f37c
movzx eax, word [ecx + 0x46]
test ax, ax
je 0x1012f37c
mov edx, dword [ecx + 0x74]
cmp byte [edx + 8], 0
je 0x1012f37c
dec eax
mov word [ecx + 0x46], ax
jmp 0x1012d49f
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], ecx
mov al, byte [esp + 0x1b]
mov ecx, dword [esp + 0x10]
mov byte [ecx + edi*8 + 0x12], al
mov eax, dword [esp + 4]
movzx eax, word [eax + 2]
test al, 0xc0
mov esi, dword [esp + 0xc]
jne 0x101359d6
mov eax, dword [esp + 0x30]
cmp eax, 0x80
jb 0x10135a1e
add eax, 0xfffffff4
shr eax, 1
cmp eax, dword [esi + 0x78]
jg 0x10135aed
mov ecx, edx
mov edx, dword [esp + 0x20]
mov edx, dword [edx + ebx*4]
mov ecx, dword [ecx + 0x2c]
mov esi, dword [esp + 8]
push esi
push eax
call fcn.100071b0
add esp, 8
test eax, eax
jne 0x101343ab
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + edi*8 + 8]
mov edx, dword [esp + 0x30]
push esi
call fcn.10006aa0
add esp, 4
mov eax, dword [esp + 0x28]
and byte [eax + 1], 0xbf
jmp 0x1012c589
mov edx, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + edi*8 + 8], eax
lea eax, [edx - 0xc]
shr eax, 1
mov dword [ecx + edi*8 + 0xc], eax
and edx, 1
movzx eax, word [edx + edx + 0x101b05f6]
mov word [esi], ax
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea ebx, [eax + eax*4]
mov dword [esp + 8], ecx
lea esi, [ecx + ebx*8]
test byte [esi + 0x11], 0x90
jne 0x10135a44
mov word [esi + 0x10], 4
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x10]
test edi, edi
je 0x10135a50
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
mov ecx, dword [esp + 4]
mov dword [ecx + 4], eax
cmp byte [esp + 0x1b], 1
jne 0x10135a57
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x78]
jg 0x10135aed
mov eax, dword [esp + 4]
mov byte [eax], 0x49
mov eax, dword [esp + 0x4c]
mov edi, dword [eax]
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea ebx, [eax + eax*4]
lea esi, [edi + ebx*8]
add esi, 0x10
test byte [esi + 1], 0x90
jne 0x10135725
mov word [esi], 4
mov word [esi], 0x2202
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x10]
mov dword [edi + ebx*8 + 8], eax
mov eax, dword [ecx + 4]
mov dword [edi + ebx*8 + 0xc], eax
mov al, byte [esp + 0x1b]
mov byte [edi + ebx*8 + 0x12], al
mov eax, dword [ecx + 0xc]
test eax, eax
jle case.0x1012c5c3.89
lea eax, [eax + eax*4]
mov ecx, dword [esp + 4]
movzx ecx, word [ecx + 2]
mov edx, dword [esp + 0x10]
xor ecx, dword [edx + eax*8]
or ecx, dword [edx + eax*8 + 4]
jne case.0x1012c5c3.89
mov word [esi], 0x2210
jmp case.0x1012c5c3.89
mov dword [esp + 0x88], esi
mov ecx, 0x7fff
cmp ecx, edi
sbb edx, ebx
jae 0x1012f2de
xor edx, edx
mov ecx, 0x7fffff
cmp ecx, edi
mov ecx, 0
sbb ecx, ebx
jae 0x1012f88d
mov ecx, closesocket
cmp ecx, edi
sbb edx, ebx
jae 0x1012f9b9
test ebx, 0xffff8000
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
je 0x1012f3ca
add esi, 8
adc dword [esp + 0x30], 0
test al, 0x20
mov ebx, dword [esp + 0x28]
jne 0x10135fd3
mov dword [edi + 0x1c], 6
jmp 0x1012cb84
mov ecx, dword [esp + 0x14]
jmp 0x1012dfa9
mov edx, dword [esp + 4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x10]
mov word [edi + eax*8 + 0x10], 4
mov ecx, dword [edi + eax*8]
mov esi, dword [esp + 0x58]
sub edx, esi
sar edx, 2
imul edx, edx, 0xcccccccd
mov dword [edi + eax*8], edx
sar edx, 0x1f
mov dword [edi + eax*8 + 4], edx
lea eax, [ecx + ecx*4]
lea eax, [esi + eax*4]
mov dword [esp + 4], eax
jmp case.0x1012c5c3.89
mov esi, dword [esp + 4]
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x40]
mov edx, dword [edx]
mov ebx, dword [edx + ecx*4]
mov ecx, dword [esi + 0xc]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x10]
mov edi, dword [edx + ecx*8]
mov ecx, dword [edx + ecx*8 + 4]
mov dword [esp + 0x1b8], edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1bc], ecx
mov dword [esp + 8], 0
cmp byte [esi + 1], 0xfb
je 0x1012f278
mov dword [esp + 0x2c], 0
mov edx, dword [esp + 4]
test byte [edx + 2], 1
jne 0x1012f2b5
mov dword [esp + 0x30], edi
lea ecx, [eax + eax*4]
mov esi, dword [esp + 0x10]
mov eax, dword [esi + ecx*8 + 8]
mov dword [esp + 0x1c0], eax
mov eax, dword [esi + ecx*8 + 0xc]
mov dword [esp + 0x1cc], eax
xor edi, edi
test byte [edx + 2], 0x10
mov eax, 0
jne 0x1012f4fb
test byte [esi + ecx*8 + 0x11], 4
jne 0x10135b4d
lea edx, [esp + 0x1b0]
mov dword [edx + 0x20], edi
xor edi, edi
mov dword [edx], edi
mov ecx, dword [esp + 4]
movzx esi, word [ecx + 2]
and esi, 0x8a
mov ecx, dword [ebx + 0x2c]
push eax
push esi
call fcn.1013a140
add esp, 8
mov byte [ebx + 3], 0
mov dword [ebx + 0x20], edi
test eax, eax
jne 0x101343ab
mov edx, dword [esp + 8]
test edx, edx
je 0x1012c589
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0xf0]
mov ecx, dword [eax + 0xf4]
mov esi, dword [edx]
mov eax, dword [esp + 4]
movzx eax, word [eax + 2]
and eax, 4
shr eax, 2
lea edi, [eax + eax*4]
add edi, 0x12
call dword [section..00cfg]
push dword [esp + 0x20]
push dword [esp + 0x34]
push esi
push dword [esp + 0x38]
push edi
push ebx
call ecx
add esp, 0x18
jmp 0x1012c589
test bl, 0x28
jne 0x10130ffe
test bl, 2
je 0x1012c9cd
xor edx, edx
inc edx
mov ecx, esi
call fcn.100590b0
jmp 0x1012c9cd
cmp eax, 0x1b
jne 0x101303be
movzx ecx, word [esp + 0x1c4]
test ecx, ecx
je 0x1012c589
mov eax, dword [esp + 0x1b4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
xor edx, edx
test byte [eax + edx + 0x10], 1
jne 0x1012d446
add edx, 0x28
cmp ecx, edx
jne 0x1012e6f3
jmp 0x1012c589
cmp dword [ebx + 0x128], 0
je 0x10130ad1
cmp byte [ebx + 0x57], 0
je 0x1012ecc7
jmp 0x1012d717
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x10]
lea esi, [eax + ecx*8]
movzx edi, word [esi + 0x10]
movzx edx, di
test dl, 0x24
je 0x10131262
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov dword [esi], eax
mov dword [esi + 4], edx
and edi, 0xfffff240
or edi, 4
mov word [esi + 0x10], di
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
mov edi, ecx
sar edi, 0x1f
add eax, ecx
adc edi, edx
mov dword [esi], eax
mov dword [esi + 4], edi
jmp case.0x1012c5c3.89
mov word [esi + 0x46], cx
mov ecx, esi
call fcn.10008100
test eax, eax
mov esi, ebx
je 0x1012d511
cmp eax, 0x65
je 0x1012d446
jmp 0x101343ab
mov edx, dword [esp + 4]
mov eax, dword [edx + 4]
mov ecx, dword [edx + 8]
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x60], eax
lea esi, [edi + eax*8]
movzx eax, word [esi + 0x10]
mov dword [esp + 0x20], eax
lea eax, [ecx + ecx*4]
lea ecx, [edi + eax*8]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
mov dword [esp + 8], eax
movzx eax, word [ecx + 0x10]
mov dword [esp + 0x3c], eax
movzx eax, ax
mov edx, dword [esp + 0x20]
mov dword [esp + 0x38], eax
and edx, eax
mov eax, dword [esp + 8]
lea eax, [edi + eax*8]
mov dword [esp + 0x30], eax
test dl, 4
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ecx
je 0x101307de
mov eax, dword [esi]
mov dword [esp + 0x20], eax
mov edx, dword [esi + 4]
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
movzx eax, bl
add eax, 0xffffff96
cmp eax, 3
ja case.default.0x1012e819
jmp dword [eax*4 + 0x101b6b58]
mov ebx, edx
test edx, edx
mov edx, edi
js 0x10136020
cmp esi, 1
mov eax, edx
sbb eax, 0
mov edi, esi
mov esi, ebx
mov ebx, dword [esp + 0x20]
jl 0x1012e853
mov eax, closesocket
sub eax, edx
mov ecx, edi
not ecx
cmp ecx, ebx
sbb eax, esi
jb 0x1013606b
add edi, ebx
adc edx, esi
mov eax, edi
jmp 0x1012f355
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
jne 0x10135bb3
mov word [esi + 0x10], 4
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x10131ea8
cmp byte [edi + 3], 0
jne 0x1013075a
cmp byte [edi], 2
mov ebx, dword [edi + 0x2c]
je 0x10135bbf
cmp byte [ebx], 0
jne 0x10135c02
mov ecx, ebx
call fcn.10137730
add ebx, 0x20
mov edi, ebx
mov dword [esp + 0x14], 0
movq xmm0, qword [edi]
movq qword [esi], xmm0
jmp case.0x1012c5c3.89
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
test byte [ecx + eax*8 + 0x10], 4
je case.0x1012c5c3.89
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + eax*8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x58]
jmp 0x1012d967
and eax, 0x2c
mov eax, dword [esp + 0x44]
jne 0x10135c25
test al, 2
jne 0x1012e942
and eax, 0x2c
jne 0x10135c71
mov ecx, ebx
mov edx, edi
mov esi, dword [esp + 4]
push dword [esi + 0x10]
call fcn.10008300
add esp, 4
test eax, eax
js 0x1012e974
mov bl, byte [esi]
mov edi, dword [esp + 0x20]
jne 0x1012eee8
mov dword [esp + 0x5c], 0
mov eax, 0x101af8ba
jmp 0x1012e983
mov dword [esp + 0x5c], eax
mov bl, byte [esi]
mov eax, 0x101af8b4
mov edi, dword [esp + 0x20]
movzx ecx, bl
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
mov word [esi], dx
mov edx, dword [esp + 0x2c]
mov word [edi], dx
cmp byte [eax + ecx], 0
mov ebx, dword [esp + 4]
jne 0x1012c84e
jmp case.0x1012c5c3.89
mov eax, dword [esp + 4]
cmp dword [eax + 4], 0
je 0x1012f980
mov eax, dword [eax + 8]
inc eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0x98]
and eax, 3
and ecx, 0xfffffffc
or ecx, eax
mov dword [edx + 0x98], ecx
jmp case.0x1012c5c3.89
xor eax, eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
jne 0x10135ca2
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov ebx, dword [eax + ecx*4]
test byte [ebx + 8], 2
jne 0x1012eaad
mov edi, dword [ebx + 0x2c]
cmp byte [edi], 0
je 0x1012f70a
lea edx, [esp + 0x160]
mov ecx, edi
call fcn.100075c0
test eax, eax
jne 0x101343ab
cmp dword [esp + 0x160], 0
jne 0x1012f5bd
mov edi, dword [ebx + 0x2c]
mov ecx, edi
call fcn.10137730
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], ecx
mov edx, ecx
xor edx, 0x7fffffff
mov edi, eax
not edi
or edi, edx
je 0x10135e80
add eax, 1
adc ecx, 0
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x14], 0
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x10135cae
test byte [ebx + 8], 2
jne 0x10135d56
mov byte [ebx + 3], 0
mov dword [ebx + 0x20], 0
movq xmm0, qword [esp + 0x1b0]
movq qword [esi], xmm0
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x68]
mov eax, dword [eax + 0xd0]
test eax, eax
je 0x1012f724
mov edx, dword [esp + 4]
sub edx, ecx
sar edx, 2
imul edx, edx, 0xcccccccd
mov eax, dword [eax + 0x14]
mov esi, edx
mov ecx, edx
and cl, 7
xor ebx, ebx
inc ebx
shl ebx, cl
shr esi, 3
movzx ecx, byte [eax + esi]
and edx, 7
bt ecx, edx
jb 0x1012d44e
or bl, cl
mov byte [eax + esi], bl
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 4]
mov dword [ecx + 4], eax
jmp case.0x1012c5c3.89
cmp dword [ebx + 0x128], 0
je 0x10130d43
cmp byte [ebx + 0x57], 0
je 0x1012f0d5
jmp 0x1012d558
cmp byte [ebx], 0xb5
je case.0x1012c5c3.89
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x6c]
cmp eax, 2
jl 0x1012eba1
xor ecx, ecx
inc ecx
mov edx, 0x18
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + 0x68]
cmp byte [esi + edx - 4], 0xf
jne 0x1012eb99
mov dword [esi + edx], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x6c]
inc ecx
add edx, 0x14
cmp ecx, eax
jl 0x1012eb7d
mov ebx, dword [esp + 4]
mov dword [ebx + 4], 0
xor eax, eax
jmp 0x1012c840
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + ecx*4]
mov edi, dword [esp + 0x10]
lea ecx, [edi + esi*8]
mov edx, dword [edi + eax*8]
mov eax, dword [edi + eax*8 + 4]
test byte [ecx + 0x11], 0x90
jne 0x10135dd8
lea esi, [edi + esi*8]
add esi, 0x10
mov dword [ecx], edx
mov dword [ecx + 4], eax
jmp 0x1012d261
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
test eax, eax
je case.0x1012c5c3.89
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x10]
jmp 0x10130129
mov ebx, dword [esp + 4]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
test byte [ecx + eax*8 + 0x10], 1
je 0x1012c84e
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov edi, dword [esp + 4]
mov ecx, dword [edi + 4]
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x1012ec49
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.10139a40
mov eax, dword [esi + 0x60]
mov ecx, dword [edi + 4]
mov dword [eax + ecx*4], 0
jmp case.0x1012c5c3.89
mov ecx, dword [esp + 0x1c]
mov dword [edi + 0xc], ecx
mov dword [edi], ebx
mov cl, byte [esp + 0x1b]
mov byte [edi + 0x18], cl
movzx ecx, byte [edi + 0x1a]
test ecx, ecx
je 0x1012e194
dec ecx
mov edx, dword [esp + 4]
mov edx, dword [edx + 8]
add edx, ecx
lea edx, [edx + edx*4]
lea edx, [esi + edx*8]
mov dword [edi + ecx*4 + 0x1c], edx
lea edx, [ecx - 1]
inc ecx
cmp ecx, 1
mov ecx, edx
ja 0x1012ec72
jmp 0x1012e194
mov esi, dword [ebx + 0x14c]
test esi, esi
jne 0x1012f968
mov esi, dword [ebx + 0x148]
test esi, esi
jne 0x1012f503
mov esi, dword [ebx + 0x144]
test esi, esi
jne 0x101309be
inc dword [ebx + 0x140]
mov esi, edx
mov ecx, ebx
mov edx, esi
push eax
call fcn.10137840
add esp, 4
mov edx, esi
mov esi, eax
test eax, eax
mov ecx, dword [esp + 8]
je 0x1012d717
mov edi, dword [esp + 0x10]
lea ebx, [edi + ecx*8]
add ebx, 0x10
mov dword [esp + 0x2c], edx
push edx
push 0
push esi
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x14]
add esp, 0xc
test byte [ebx + 1], 0x90
jne 0x10135230
cmp dword [edi + eax*8 + 0x18], 0
jne 0x10135230
mov word [ebx], 0x1010
mov dword [edi + eax*8 + 8], esi
mov ecx, dword [esp + 0x2c]
mov dword [edi + eax*8 + 0xc], ecx
mov dword [edi + eax*8 + 0x24], 0x10001000
mov ecx, dword [esp + 0x1c]
mov dword [esi], ecx
mov edi, dword [esp + 0x30]
mov dword [esi + 0x3c], edi
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x58]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esi + 0x30], eax
mov eax, dword [ecx + 0x58]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x38], eax
mov eax, dword [ecx + 0x60]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x2c], eax
mov eax, dword [ecx + 0x68]
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x6c]
mov dword [esi + 0x34], eax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x18], eax
test edi, edi
je 0x1012ef4e
mov eax, dword [esp + 0x3c]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x38]
lea ecx, [ecx + ecx*4]
shl ecx, 3
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x28]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
xor ecx, ecx
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x48]
jmp 0x1012c7aa
mov eax, dword [esp + 4]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [ecx + 0x55]
cmp ebx, ecx
je 0x10135e07
test eax, eax
mov edi, dword [esp + 0x48]
jne 0x1012ff4d
test ebx, ebx
je 0x1012edf5
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xc4], 0
jg 0x101361d4
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov ecx, dword [eax + 0x200]
add ecx, dword [eax + 0x1f8]
mov edx, dword [eax + 0x204]
adc edx, dword [eax + 0x1fc]
cmp ecx, 1
sbb edx, 0
jge 0x10135f02
mov eax, ebx
mov esi, dword [esp + 0xc]
mov byte [esi + 0x55], al
mov ecx, dword [esp + 0x1c]
call fcn.10138920
cmp eax, 5
je 0x10135e3b
mov edx, dword [esi + 0x1e4]
test edx, edx
jne 0x10135e6b
xor eax, eax
mov dword [esi + 0x1f0], eax
mov dword [esi + 0x1f4], eax
mov byte [esi + 0x5d], 0
xor ecx, ecx
inc ecx
mov edx, dword [esp + 0x1c]
cmp dword [edx + 0x24], eax
mov ebx, 0x65
cmovne ebx, ecx
jmp 0x101358be
mov al, byte [edi]
inc edi
mov dword [esp + 8], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], ecx
cmp al, 0x43
jl 0x1012eec2
mov esi, dword [esp + 8]
movzx ecx, word [esi + 0x10]
test cl, 4
je 0x10130971
cmp byte [edi - 1], 0x45
je 0x1013570a
add esi, 0x28
mov dword [esp + 8], esi
mov al, byte [edi]
inc edi
test al, al
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
jne 0x1012ee80
jmp 0x1012cae4
cmp al, 0x42
mov esi, dword [esp + 8]
jne 0x1012ee95
movzx eax, word [esi + 0x10]
test al, 2
jne 0x1012eedd
mov ecx, eax
and ecx, 0x2c
jne 0x101361e3
and eax, 0xffd3
mov word [esi + 0x10], ax
jmp 0x1012ee95
mov dword [esp + 0x5c], eax
mov eax, 0x101af8c0
jmp 0x1012e983
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x54]
mov eax, dword [ecx + edx*8 + 0x20]
mov dword [ecx + edx*8 + 8], eax
mov eax, edx
mov esi, dword [esp + 0x20]
jmp 0x1012ccf2
test eax, eax
je 0x10135eda
xor eax, eax
cmp dword [ecx + 0x30], 0
setne al
jmp 0x1012d012
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov esi, dword [esp + 0xc]
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], ecx
add dword [esi + 0x70], eax
adc dword [esi + 0x74], ecx
xor eax, eax
mov dword [edx + 0x28], eax
mov dword [edx + 0x2c], eax
jmp case.0x1012c5c3.89
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x1c]
inc dword [edx + 0xd8]
mov eax, dword [edx + 0xd0]
mov dword [esi + 4], eax
movsd xmm0, qword [ebx + 0x28]
movsd qword [esi + 0x20], xmm0
movsd xmm0, qword [edx + 0x28]
movsd qword [esi + 0x48], xmm0
mov eax, dword [edx]
movq xmm0, qword [eax + 0x68]
movq qword [esi + 0x50], xmm0
mov eax, dword [edx + 0xe4]
mov dword [esi + 0x28], eax
xor eax, eax
mov dword [edx + 0xe4], eax
mov dword [edx + 0x2c], eax
mov dword [edx + 0x28], eax
mov dword [edx + 0xd0], esi
lea eax, [esi + 0x58]
mov dword [esp + 0x10], eax
mov dword [edx + 0x58], eax
mov eax, dword [esi + 0x3c]
mov dword [edx + 0x14], eax
movzx ecx, word [esi + 0x40]
mov dword [edx + 0x18], ecx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8 + 0x58]
mov dword [edx + 0x60], eax
mov edx, dword [esp + 0x20]
mov ecx, dword [edx + 0xc]
lea eax, [eax + ecx*4]
mov dword [esi + 0x14], eax
mov esi, edx
mov ecx, dword [edx + 4]
lea edx, [ecx - 1]
cmp edx, 7
ja 0x1012f510
mov byte [eax], 0
mov edx, dword [esi]
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x68], edx
mov eax, dword [esi + 4]
mov dword [ecx + 0x6c], eax
mov dword [esp + 0x58], edx
lea eax, [edx - 0x14]
mov dword [esp + 4], eax
jmp 0x1012d4e5
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
lea ecx, [eax + eax*4]
mov edx, dword [esp + 0x10]
test byte [edx + ecx*8 + 0x10], 0x24
je 0x101302dc
lea eax, [eax + eax*4]
mov esi, dword [edx + eax*8]
mov edi, dword [edx + eax*8 + 4]
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [ebx + 0x2c]
xor edx, edx
lea eax, [esp + 0x14c]
mov dword [eax], edx
mov edx, esi
push eax
xor eax, eax
push eax
push edi
call fcn.1013cc80
add esp, 0xc
mov dword [ebx + 0x44], edi
mov dword [ebx + 0x40], esi
mov word [ebx + 2], 0
mov dword [esp + 0x14], 0
xor ecx, ecx
mov dword [ebx + 0x20], ecx
lea ecx, [esp + 0x14c]
mov ecx, dword [ecx]
mov dword [ebx + 0x24], ecx
test ecx, ecx
je 0x1012d09c
mov ecx, dword [esp + 4]
cmp dword [ecx + 8], 0
je 0x10134585
mov dword [esp + 0x14], eax
jmp 0x1012d44e
call fcn.10007420
jmp 0x1012d075
mov edi, dword [ebx + 0x14c]
test edi, edi
jne 0x1012fc35
mov edi, dword [ebx + 0x148]
test edi, edi
jne 0x1012f5d8
mov edi, dword [ebx + 0x144]
test edi, edi
jne 0x10130a58
inc dword [ebx + 0x140]
mov ecx, ebx
push 0
call fcn.10137840
add esp, 4
mov edi, eax
test eax, eax
je 0x1012d558
lea eax, [edi + 0x20]
mov dword [edi], eax
inc esi
cmp esi, 3
jne 0x1013563e
mov edx, dword [esp + 0x30]
mov cl, byte [edx + 2]
mov byte [eax + 2], cl
movzx ecx, word [edx]
mov word [eax], cx
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 0x55], 0
jne 0x10135651
inc dword [ecx + 0x1f0]
mov eax, dword [ecx + 0x1e4]
mov dword [edi + 0x18], eax
mov dword [ecx + 0x1e4], edi
movsd xmm0, qword [ecx + 0x1f8]
movsd qword [edi + 8], xmm0
movq xmm0, qword [ecx + 0x200]
movq qword [edi + 0x10], xmm0
jmp 0x1012d558
mov dword [esp + 0x14], 0
mov edx, edi
mov ecx, dword [edx + 0x10]
test ecx, ecx
jne 0x1013569c
mov edi, edx
mov ecx, edx
call fcn.10006f70
mov dword [esp + 0x14], 0
test eax, eax
je 0x1012c634
jmp 0x101343ab
mov edi, dword [esp + 4]
mov eax, dword [edi + 0xc]
test eax, eax
jg 0x1013154d
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov edx, dword [edi + 4]
mov esi, dword [eax + edx*4]
test esi, esi
jne 0x10135f39
mov ecx, dword [esp + 0x1c]
push 0
push dword [edi + 8]
call fcn.1000bb50
add esp, 8
test eax, eax
mov ebx, dword [esp + 0xc]
je 0x1012d717
mov esi, eax
or byte [eax + 8], 1
movzx eax, word [edi + 2]
or eax, 5
lea edi, [esi + 0x10]
mov ecx, dword [ebx]
xor edx, edx
push 0x41e
push eax
push edi
push ebx
call fcn.1001b5c0
add esp, 0x10
test eax, eax
jne 0x10134670
mov dword [esp + 8], edi
mov ecx, dword [edi]
xor edx, edx
inc edx
push 0
call fcn.10137f00
add esp, 4
test eax, eax
jne 0x10135f77
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x10]
mov dword [esi + 0x30], ebx
test ebx, ebx
je 0x1012f64b
movzx eax, word [eax + 2]
or eax, 2
mov edx, esi
add edx, 0x38
mov ecx, dword [esi + 0x10]
push eax
call fcn.10014b70
add esp, 4
test eax, eax
jne 0x1012f246
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x38]
push dword [esi + 0x2c]
push ebx
call fcn.1000c600
add esp, 8
mov edi, eax
xor eax, eax
mov byte [esi + 4], al
xor eax, eax
mov ecx, dword [esp + 4]
cmp word [ecx + 2], 8
setne al
mov ecx, dword [esi + 8]
and ecx, 0xfffffffb
lea eax, [ecx + eax*4]
mov dword [esi + 8], eax
test edi, edi
jne 0x10134594
mov byte [esi + 2], 1
jmp 0x1012c589
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0xf4], 0
mov dword [esp + 0x2c], 0
je 0x1012e5d6
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
movsx edx, byte [ebx + 1]
shl edx, 4
mov ecx, dword [ecx + edx]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 8], ecx
jmp 0x1012e5d6
mov ecx, dword [esp + 0x1c]
add dword [ecx + 0x28], 1
adc dword [ecx + 0x2c], 0
test byte [edx + 2], 0x20
je 0x1012e5e4
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x28], edi
mov esi, dword [esp + 0x20]
mov dword [ecx + 0x2c], esi
jmp 0x1012e5e4
mov esi, dword [esp + 0x20]
add esi, 2
adc dword [esp + 0x30], 0
mov edi, dword [esp + 0x38]
mov dword [edi + 0x1c], 2
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 8]
jmp 0x1012cb84
xor ecx, ecx
dec ecx
xor eax, eax
mov dword [esp + 0x44], ecx
add ecx, 1
mov ecx, 0
adc ecx, 0x7fffffff
xor ecx, edx
mov ebx, dword [esp + 0x20]
or ecx, ebx
mov dword [esp + 0x54], closesocket
mov ecx, edi
je 0x10136063
neg ebx
mov ebx, edx
sbb eax, edx
jge 0x10130298
test ecx, ecx
mov edi, esi
mov edx, ebx
mov eax, dword [esp + 0x20]
js 0x10136152
sub edi, eax
sbb ecx, edx
mov eax, edi
mov edx, ecx
mov ecx, dword [esp + 0x30]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, 0xfffff240
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
and eax, dword [ecx + edx*8 + 0x10]
or eax, 4
mov word [ecx + edx*8 + 0x10], ax
jmp case.0x1012c5c3.89
call fcn.1000bd50
jmp 0x1012e2c9
cmp byte [ebx + 0x101af8b4], 0
jne 0x1012d44e
xor eax, eax
dec eax
mov dword [esp + 0x5c], eax
jmp case.0x1012c5c3.89
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0xd0]
test ecx, ecx
je 0x1012d855
mov edx, dword [esi + 0x14]
cmp dword [ecx + 0x18], edx
je case.0x1012c5c3.89
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x1012d855
jmp 0x1012f3b4
add esi, 6
adc dword [esp + 0x30], 0
mov dword [edi + 0x1c], 5
jmp 0x1012cb80
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 4]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x10136196
mov byte [eax + 2], 1
mov dword [eax + 0x20], 0
cmp byte [eax], 0
jne case.0x1012c5c3.89
mov esi, dword [eax + 0x2c]
mov edi, dword [esi + 0x10]
test edi, edi
je 0x1012f49b
cmp dword [0x101ef020], 0
je 0x101361fd
mov ebx, dword [0x101f2140]
test ebx, ebx
je 0x1012f448
mov ecx, dword [0x101ef070]
cmp ecx, 0x10137ef0
jne 0x10136214
push ebx
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, dword [0x101ef04c]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
sub dword [0x101f20ec], eax
dec dword [0x101f2110]
mov ecx, dword [0x101ef044]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov edi, dword [0x101f2140]
test edi, edi
je 0x1012f49b
mov ecx, dword [0x101ef078]
cmp ecx, 0x10137ee0
jne 0x10136203
push edi
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov dword [esi + 0x10], 0
mov byte [esi], 1
jmp case.0x1012c5c3.89
mov ebx, dword [esp + 4]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + eax*8]
mov edx, dword [edi + eax*8 + 4]
cmp ecx, 1
mov esi, edx
sbb esi, 0
jl case.0x1012c5c3.89
mov esi, dword [ebx + 0xc]
mov dword [esp + 8], esi
mov esi, dword [esp + 8]
sar esi, 0x1f
sub ecx, dword [esp + 8]
sbb edx, esi
lea eax, [edi + eax*8]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x1012c84e
mov eax, dword [edi]
mov dword [ecx + 0x144], eax
jmp 0x1012c990
mov eax, dword [ebx + 0x24]
jmp 0x1012e616
mov eax, dword [esi]
mov dword [ebx + 0x148], eax
jmp 0x1012d904
lea edx, [ecx + 7]
add ecx, 0xe
test edx, edx
cmovns ecx, edx
sar ecx, 3
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
jmp 0x1012efe8
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + eax*8 + 0x10]
and ecx, 0xffffffc0
or ecx, 1
mov word [edx + eax*8 + 0x10], cx
jmp case.0x1012c5c3.89
mov ebx, dword [esp + 4]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
lea eax, [eax + eax*4]
dec ecx
mov edx, dword [esp + 0x10]
mov dword [edx + eax*8], ecx
sar ecx, 0x1f
mov dword [edx + eax*8 + 4], ecx
mov word [edx + eax*8 + 0x10], 4
cmp dword [ebx + 8], 0
jne 0x1012c84e
jmp case.0x1012c5c3.89
cmp byte [ebx + 0x101af8c0], 0
jne 0x1012d44e
xor eax, eax
inc eax
mov dword [esp + 0x5c], eax
jmp case.0x1012c5c3.89
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b0], 1
jmp 0x1012eaa5
mov eax, dword [edi]
mov dword [ebx + 0x148], eax
jmp 0x1012dda8
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + eax*8]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x58]
mov ecx, dword [edx + ecx*4 + 8]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffec
mov dword [esp + 4], ecx
mov word [esi + eax*8 + 0x10], 0
jmp case.0x1012c5c3.89
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea edi, [ecx + eax*8]
add edi, 0x10
movzx ebx, word [edi]
test bl, 4
je 0x1013173e
and ebx, 0xfffff240
or ebx, 4
mov word [edi], bx
jmp case.0x1012c5c3.89
mov dword [esi + 0x38], 1
mov ecx, dword [esi + 0x10]
xor edx, edx
inc edx
push dword [esi + 0x2c]
push 0
call fcn.1000c600
add esp, 8
mov edi, eax
mov al, 1
jmp 0x1012f24a
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ebx, dword [esp + 4]
mov ecx, dword [ebx + 4]
mov edi, dword [eax + ecx*4]
mov esi, dword [edi + 0x2c]
mov eax, dword [edi + 0x30]
lea edx, [esp + 0x1b0]
mov dword [edx], eax
movzx eax, word [ebx + 0xc]
mov word [edx + 0x14], ax
mov byte [edx + 0x16], 0
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax*8]
mov dword [edx + 4], eax
lea eax, [esp + 0x160]
mov ecx, esi
push eax
call fcn.1013cf30
add esp, 4
test eax, eax
jne 0x101343ab
cmp dword [esp + 0x160], 0
jne 0x10136225
mov ecx, esi
mov edx, 4
call fcn.1000b1f0
test eax, eax
jne 0x101343ab
xor eax, eax
mov dword [edi + 0x20], eax
mov dword [esp + 0x14], 0
mov dword [edi + 0x24], eax
jmp case.0x1012c5c3.89
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x10]
jmp 0x1012f020
test byte [edi + 1], 8
je 0x1012ea3b
mov dword [esp + 0x160], 0
jmp 0x1012ea62
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 4]
cmp eax, dword [ecx + 4]
je 0x1012d44e
jmp 0x1012eb38
mov eax, dword [esp + 0x1c]
inc dword [eax + 0xac]
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
cmp byte [edi], 1
mov esi, dword [edi + 0x2c]
je 0x1012f7b4
mov ecx, esi
call fcn.10007e90
test eax, eax
jne 0x1012fd72
mov eax, dword [esi + 0x74]
xor ebx, ebx
cmp byte [eax + 8], 0
jne 0x1012fd7a
movzx ecx, word [eax + 0x1a]
mov dword [esp + 8], ecx
mov edx, dword [eax + 0x40]
mov ecx, edi
mov edi, esi
movzx esi, word [esi + 0x46]
movzx edx, word [edx + esi*2]
mov esi, edi
mov edi, ecx
rol dx, 8
mov eax, dword [eax + 0x38]
and edx, dword [esp + 8]
mov edx, dword [eax + edx]
bswap edx
mov ecx, esi
call fcn.1000ed10
test eax, eax
je 0x1012f76a
jmp 0x1012fd7c
cmp byte [esi + 0x38], 0
jne 0x10136274
cmp dword [esi + 0x24], 0
jne 0x10131eb3
xor ebx, ebx
inc ebx
jmp 0x1012fd8f
mov esi, dword [esp + 4]
mov edx, dword [esi + 4]
mov ecx, dword [esp + 0x1c]
push 1
push dword [esi + 8]
call fcn.1000bb50
add esp, 8
test eax, eax
je 0x1012d717
mov edi, dword [esi + 0x10]
mov dword [esp + 8], eax
mov dword [eax + 0x30], edi
xor ecx, ecx
mov edx, dword [esp + 0xc]
cmp byte [edx + 0x56], 2
mov esi, 0
je 0x1012f818
cmp byte [0x101ef024], 0
jne 0x10130dd9
movzx edi, word [edi + 6]
mov dword [esp + 0x30], esi
lea eax, [esi + esi*8]
mov dword [esp + 0x28], eax
lea eax, [eax*8]
mov dword [esp + 0x2c], edi
lea ebx, [eax + edi*4]
add ebx, 0x9c
mov eax, ebx
sar eax, 0x1f
movzx edx, word [edx + 0x12c]
cmp edx, ebx
sbb ecx, eax
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x20], ecx
jb 0x101309cb
cmp ebx, 0x80
ja 0x10130aea
mov edi, dword [esp + 0xc]
mov esi, dword [edi + 0x150]
test esi, esi
je 0x10130adc
mov eax, dword [esi]
mov dword [edi + 0x150], eax
inc dword [edi + 0x138]
jmp 0x10130b27
mov esi, dword [esp + 0x20]
add esi, 3
adc dword [esp + 0x30], 0
mov edi, dword [esp + 0x38]
mov dword [edi + 0x1c], 3
jmp 0x1012f2f5
mov ebx, esi
mov esi, dword [esp + 0x20]
cmp esi, 1
mov eax, edx
sbb eax, 0
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
jl 0x1013127d
push edx
push esi
push closesocket
push 0xffffffffffffffff
mov esi, edx
call fcn.101571a0
cmp eax, ebx
sbb edx, dword [esp + 0x3c]
jl 0x1013606b
xor ebx, ebx
push esi
push dword [esp + 0x24]
push closesocket
push ebx
call fcn.101571a0
neg eax
sbb ebx, edx
cmp dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
sbb eax, ebx
jl 0x1013606b
mov eax, dword [esp + 0x38]
imul esi, eax
mov ecx, dword [esp + 0x20]
mul ecx
add esi, edx
mov edx, dword [esp + 0x3c]
imul edx, ecx
add edx, esi
jmp 0x1012f355
mov edi, dword [esp + 4]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea esi, [ecx + eax*8]
test byte [esi + 0x11], 4
jne 0x1013666b
movzx edx, byte [edi + 8]
movzx eax, byte [esp + 0x1b]
mov ecx, esi
push eax
call fcn.1000eba0
add esp, 4
mov dword [esp + 0x14], 0
test eax, eax
je case.0x1012c5c3.89
jmp 0x101343ab
mov eax, dword [esi]
mov dword [ebx + 0x14c], eax
jmp 0x1012d904
inc dword [ecx + 0x13c]
jmp 0x1012cf77
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
test eax, eax
je case.0x1012c5c3.89
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
inc ecx
and ecx, 3
mov edx, dword [eax + 8]
mov esi, dword [eax + 0x98]
and esi, 0xfffffffc
or esi, ecx
mov dword [eax + 0x98], esi
mov eax, edx
test edx, edx
jne 0x1012f99a
jmp case.0x1012c5c3.89
mov esi, dword [esp + 0x20]
add esi, 4
adc dword [esp + 0x30], 0
mov edi, dword [esp + 0x38]
mov dword [edi + 0x1c], 4
jmp 0x1012f2f5
mov esi, dword [esp + 4]
mov edx, dword [esi + 4]
mov ecx, dword [esp + 0x1c]
push 3
push dword [esi + 0xc]
call fcn.1000bb50
add esp, 8
test eax, eax
je 0x1012d717
mov cl, 1
mov byte [eax + 2], cl
mov edx, dword [esi + 8]
mov dword [eax + 0x24], edx
mov byte [eax + 4], cl
mov dword [eax + 0x2c], 0x101f230c
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
mov eax, dword [esp + 4]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x20], eax
shl edx, 4
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
mov edi, dword [ecx + edx + 4]
cmp byte [edi + 9], 0
mov esi, dword [edi + 4]
jne 0x10130fd0
mov dword [esp + 0x28], esi
mov eax, dword [esi + 0xc]
mov esi, dword [eax + 0x38]
mov ecx, dword [eax + 0x48]
call fcn.1013b1c0
mov dword [esp + 8], eax
test eax, eax
mov ecx, dword [esp + 0x20]
jne 0x1012fa71
mov eax, ecx
bswap eax
mov dword [esi + ebx*4 + 0x24], eax
cmp ebx, 7
je 0x101316ee
cmp byte [edi + 9], 0
jne 0x10130fe9
mov esi, dword [esp + 4]
mov eax, dword [esi + 8]
cmp eax, 1
mov ecx, dword [esp + 0xc]
jne 0x10130992
mov eax, dword [esi + 0xc]
movzx edx, word [esi + 2]
sub eax, edx
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
mov edx, dword [edx + edi + 0xc]
mov dword [edx], eax
or byte [ecx + 0x18], 1
mov eax, dword [esi + 4]
mov edx, dword [ecx + 0x10]
shl eax, 4
mov eax, dword [edx + eax + 0xc]
mov esi, dword [eax + 0x10]
test esi, esi
je 0x1013099b
mov eax, dword [esi + 8]
cmp byte [eax + 0x2b], 0
jne 0x1012faf7
mov edi, dword [eax + 0x30]
test edi, edi
je 0x1012faf7
mov edx, dword [edi + 0x1c]
call fcn.1001e250
xor ebx, ebx
mov dword [edi + 0x1c], ebx
mov edx, dword [edi + 0x20]
mov ecx, dword [esp + 0xc]
call fcn.1001e250
mov dword [edi + 0x20], ebx
mov ecx, dword [esp + 0xc]
mov edi, dword [edi + 4]
jmp 0x1012face
mov esi, dword [esi]
jmp 0x1012faba
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x10136687
mov edx, dword [ecx]
xor eax, eax
or edx, dword [ecx + 4]
setne al
test eax, eax
jmp 0x1012e99c
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
jne 0x101366ad
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
movq xmm0, qword [eax]
movq qword [esi], xmm0
jmp case.0x1012c5c3.89
mov eax, dword [esp + 4]
cmp dword [eax + 4], 0
jne 0x101366b9
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x40]
or eax, dword [ecx + 0x44]
mov ecx, dword [esp + 0xc]
jne case.0x1012c5c3.89
mov eax, dword [ecx + 0x200]
or eax, dword [ecx + 0x204]
jmp 0x1012dd2d
mov eax, dword [esi + 0x74]
cmp byte [eax + 8], 0
jne 0x1012d49f
movzx ecx, word [eax + 0x1a]
mov edx, dword [eax + 0x40]
movzx ebx, word [esi + 0x46]
movzx edx, word [edx + ebx*2]
rol dx, 8
mov eax, dword [eax + 0x38]
and edx, ecx
mov edx, dword [eax + edx]
bswap edx
mov ecx, esi
call fcn.1000ed10
test eax, eax
je 0x1012fbcb
jmp 0x1012e2c9
bt eax, 0xa
jb 0x101366d8
cmp dword [edi + 0x18], 0
je 0x1012fc21
mov eax, dword [edi + 8]
cmp eax, dword [edi + 0x20]
je 0x1012e150
mov ecx, edi
call fcn.100040b0
test eax, eax
je 0x1012e150
jmp 0x1012d717
mov eax, dword [edi]
mov dword [ebx + 0x14c], eax
jmp 0x1012dda8
mov edi, dword [esp + 4]
mov esi, dword [edi + 4]
cmp dword [edi + 0x10], 0
je 0x1013674c
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x1b0], ebx
mov dword [esp + 0x1b8], esi
mov eax, dword [esp + 0x70]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1c0], 0
mov eax, dword [ebx + 0x10]
shl esi, 4
mov eax, dword [eax + esi + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x1c8], eax
mov eax, dword [ebx + 0x10]
push dword [edi + 0x10]
push str.sqlite_master
push dword [eax + esi]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.10020cd0
add esp, 0x14
test eax, eax
je 0x101346d2
mov esi, eax
mov byte [ebx + 0xb1], 1
xor eax, eax
lea ecx, [esp + 0x1b0]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x14], eax
push eax
push ecx
push fcn.10005c50
push esi
push ebx
call sym.nss3.dll_sqlite3_exec
add esp, 0x14
mov edi, eax
test eax, eax
jne 0x1012fcec
mov edi, dword [esp + 0x1bc]
mov eax, dword [esp + 0x1c4]
or eax, edi
je 0x10136793
mov ecx, ebx
mov edx, esi
call fcn.1014d210
mov byte [ebx + 0xb1], 0
test edi, edi
je 0x1012c589
mov ecx, dword [esp + 0xc]
call fcn.1015b720
cmp edi, 7
jne 0x10134692
jmp 0x1012d717
mov ecx, dword [ebx + 0x16c]
test ecx, ecx
je case.0x1012c5c3.89
add edi, dword [ebx + 0x174]
adc dword [esp + 0x78], 0
mov esi, dword [ebx + 0x170]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
test eax, eax
je 0x1012d4f3
xor eax, eax
dec eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x78], eax
mov ecx, 9
jmp 0x10130c90
xor ebx, ebx
inc ebx
cmp eax, 0x10
jne 0x1012fd7c
xor eax, eax
mov byte [edi + 3], 0
mov dword [edi + 0x20], 0
test eax, eax
jne 0x101343ab
mov byte [edi + 2], bl
mov dword [esp + 0x14], 0
test ebx, ebx
je case.0x1012c5c3.89
mov ebx, dword [esp + 4]
cmp dword [ebx + 8], 0
jle case.0x1012c5c3.89
jmp 0x1012c84e
mov edi, dword [ebx + 0x20]
jmp 0x1012cf99
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 0xc]
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
shl eax, 4
mov esi, dword [ecx + eax + 4]
mov ebx, dword [esi + 4]
cmp byte [esi + 9], 0
jne 0x101316c0
cmp edi, 0xf
je 0x101367c4
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + edi*4 + 0x24]
bswap edi
cmp byte [esi + 9], 0
jne 0x101316d9
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
jne 0x101367d1
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov dword [esi], edi
sar edi, 0x1f
mov dword [esi + 4], edi
jmp case.0x1012c5c3.89
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
lea esi, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea ebx, [ecx + esi*8]
add ebx, 0x10
movzx eax, word [ebx]
test al, 0x10
je 0x10130832
mov edi, dword [ecx + esi*8 + 8]
movzx eax, word [edi + 0x1a]
movzx ecx, ax
test cl, 2
jne 0x1012fe74
test cl, 1
je 0x10136943
or eax, 3
mov word [edi + 0x1a], ax
mov eax, dword [edi + 8]
test eax, eax
je 0x1013082f
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
test eax, eax
jne 0x1012feac
mov edx, dword [edi]
test edx, edx
jne 0x10131a95
xor eax, eax
mov dword [edi], eax
mov dword [edi + 0x18], 0x10000
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x14], eax
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x10]
lea ecx, [edx + eax*8]
test byte [ecx + 0x11], 0x90
jne 0x10136b60
lea eax, [edx + eax*8]
add eax, 0x10
mov dword [ecx], esi
mov dword [ecx + 4], ebx
mov word [eax], 4
jmp 0x1012d4dd
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
jne 0x101367dd
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
lea edx, [esp + 0x1b0]
mov dword [edx], 0
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov edi, dword [esp + 4]
mov ecx, dword [edi + 4]
shl ecx, 4
mov ecx, dword [eax + ecx + 4]
push dword [edi + 0xc]
call fcn.10014b70
add esp, 4
test eax, eax
jne 0x101343ab
mov eax, dword [esp + 0x1b0]
mov dword [esi], eax
mov dword [esi + 4], 0
jmp 0x1012c589
mov ecx, dword [esp + 0xc]
mov edx, 0x204
call fcn.10011940
mov al, 1
jmp 0x1012ee21
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.10139a40
mov ecx, dword [esp + 0x38]
mov eax, dword [esi + 0x60]
mov dword [eax + ecx*4], 0
jmp 0x1012c92d
mov dword [esp + 0x38], esi
mov ebx, dword [esp + 0x20]
mov eax, ebx
or eax, edx
je 0x101375aa
mov esi, edi
mov edi, edx
mov edx, ebx
and edx, edi
xor eax, eax
xor ecx, ecx
dec ecx
add ecx, 1
adc eax, 0x7fffffff
cmp edx, 0xffffffff
mov edx, dword [esp + 0x38]
jne 0x1012ffbc
xor ecx, edx
xor eax, esi
or eax, ecx
je 0x1013606b
push edi
push ebx
push esi
push edx
call fcn.10157210
jmp 0x1012f355
mov eax, dword [esp + 0x4c]
mov edx, dword [eax]
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
test byte [ecx + 0x11], 0x90
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
jne 0x1013696e
mov word [ecx + 0x10], 4
mov eax, dword [esp + 4]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x50]
mov edx, dword [edx]
shl ecx, 4
mov ecx, dword [edx + ecx + 4]
mov dword [esp + 8], ecx
mov ecx, dword [ecx + 4]
mov edi, dword [ecx]
movzx ebx, byte [edi + 5]
cmp eax, 0xffffffff
cmove eax, ebx
cmp byte [edi + 0x11], 2
mov esi, ebx
ja 0x10130039
mov ecx, dword [edi + 0x44]
cmp dword [ecx], 0
jne 0x10136978
mov esi, eax
mov eax, 0x101b0134
cmp byte [edi + 0xf], 0
jne 0x10130052
cmp dword [edi], 0x101ef7e4
je 0x10130052
mov eax, dword [edi + 0xb8]
cmp esi, 5
jne 0x1013156f
test eax, eax
je 0x1013157b
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, 0x3fffffff
je 0x1013157b
cmp byte [edi + 0xd], 0
jne 0x1013157b
cmp byte [edi + 4], 0
jne 0x1013156f
mov eax, dword [edi + 0x40]
mov eax, dword [eax]
cmp dword [eax], 2
jl 0x1013157b
cmp dword [eax + 0x34], 0
je 0x1013157b
mov dword [esp + 0x28], esi
cmp bl, 5
mov esi, dword [esp + 0x14]
jne 0x1013141c
mov ecx, ebx
mov eax, esi
mov esi, ebx
jmp 0x10131581
mov eax, dword [esi + 0x74]
cmp byte [eax + 8], 0
jne 0x1012dc06
movzx ecx, word [eax + 0x1a]
mov edx, dword [eax + 0x40]
movzx edi, word [esi + 0x46]
movzx edx, word [edx + edi*2]
rol dx, 8
mov eax, dword [eax + 0x38]
and edx, ecx
mov edx, dword [eax + edx]
bswap edx
mov ecx, esi
call fcn.1000ed10
test eax, eax
je 0x101300bf
jmp 0x1012e783
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x10]
test byte [edx + eax*8 + 0x10], 1
jne 0x1013672f
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
jne 0x1013672f
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
test byte [ecx + 0x11], 0x90
jne 0x101367bb
lea eax, [edx + eax*8]
add eax, 0x10
xor edx, edx
mov dword [ecx + 4], edx
mov dword [ecx], edx
mov word [eax], 4
jmp case.0x1012c5c3.89
mov edx, dword [esp + 4]
mov ecx, dword [edx + 4]
mov eax, dword [edx + 0xc]
lea ecx, [ecx + ecx*4]
mov ebx, dword [esp + 0x10]
lea esi, [ebx + ecx*8]
mov dword [esp + 8], esi
mov edx, dword [edx + 0x10]
test eax, eax
jne 0x101369c7
xorps xmm0, xmm0
lea edi, [esp + 0x160]
movups xmmword [edi + 0xc], xmm0
xor esi, esi
mov dword [edi + 0x1c], esi
lea eax, [esp + 0x1b0]
movaps xmmword [eax + 0x10], xmm0
movaps xmmword [eax], xmm0
mov dword [eax + 0x24], esi
mov dword [eax + 0x20], esi
mov word [eax + 0x10], 1
mov esi, ecx
mov ecx, dword [ebx + ecx*8 + 0x14]
mov dword [eax + 0x14], ecx
mov dword [edi], eax
mov eax, dword [esp + 8]
mov dword [edi + 8], eax
mov dword [edi + 4], edx
mov al, byte [ecx + 0x54]
mov byte [edi + 0x18], al
mov ecx, dword [edx + 0x14]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
xor eax, eax
cmp dword [ebx + esi*8 + 0x18], eax
jle 0x101301df
lea eax, [ebx + esi*8]
add eax, 0x14
mov edx, dword [eax + 0xc]
mov ecx, dword [eax]
call fcn.1014d210
movsd xmm0, qword [esp + 0x1d0]
mov edx, dword [esp + 8]
movsd qword [edx + 0x20], xmm0
movdqa xmm0, xmmword [esp + 0x1b0]
movdqa xmm1, xmmword [esp + 0x1c0]
movdqu xmmword [edx + 0x10], xmm1
movdqu xmmword [edx], xmm0
mov edi, dword [esp + 0x174]
test edi, edi
jne 0x10134677
test byte [edx + 0x10], 2
jne 0x10136a49
mov al, byte [esp + 0x1b]
mov byte [edx + 0x12], al
jmp 0x1012c589
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
mov dword [esp + 8], ecx
mov dword [esp + 0x20], eax
lea esi, [ecx + eax*8]
test byte [esi + 0x11], 0x90
jne 0x10136ac3
mov word [esi + 0x10], 4
mov eax, dword [esp + 4]
mov edi, dword [eax + 4]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x10136a6f
mov eax, edi
sar eax, 0x1f
xor ebx, ebx
mov ecx, esi
push ebx
push ebx
push eax
push edi
call fcn.10030070
add esp, 0x10
mov al, byte [esp + 0x1b]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x20]
mov byte [ecx + edx*8 + 0x12], al
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x20]
mov edx, eax
neg edx
mov dword [esp + 0x6c], edx
mov edx, ebx
mov ebx, 0
sbb ebx, edx
mov edi, esi
sub dword [esp + 0x44], esi
sbb dword [esp + 0x54], ecx
cmp esi, 1
mov esi, ecx
sbb esi, 0
jl 0x1012f34d
mov esi, dword [esp + 0x6c]
cmp dword [esp + 0x44], esi
sbb dword [esp + 0x54], ebx
jae 0x1012f34d
jmp 0x1013606b
movupd xmm0, xmmword [edx + ecx*8]
movups xmm1, xmmword [edx + ecx*8 + 0x10]
movaps xmmword [esp + 0x1c0], xmm1
movq xmm1, qword [edx + ecx*8 + 0x20]
movq qword [esp + 0x1d0], xmm1
movapd xmmword [esp + 0x1b0], xmm0
movzx ebx, word [esp + 0x1c0]
movzx eax, bx
test al, 4
je 0x1013199d
test bl, 4
je 0x1012d44e
mov esi, dword [esp + 0x1b0]
mov edi, dword [esp + 0x1b4]
jmp 0x1012f02a
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x20]
call fcn.1014d210
jmp 0x1012c94b
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi + 0x2c]
mov dword [esp + 0x1b0], 0
cmp bl, 0x89
je 0x10136ad7
cmp byte [ecx], 0
je 0x10136aec
lea esi, [esp + 0x1b0]
mov edx, esi
call fcn.100075c0
mov ecx, dword [esi]
mov byte [edi + 2], cl
mov byte [edi + 3], 0
mov dword [edi + 0x20], 0
test eax, eax
jne 0x101343ab
mov dword [esp + 0x14], 0
mov eax, dword [esp + 4]
cmp dword [eax + 8], 0
jle case.0x1012c5c3.89
test ecx, ecx
je case.0x1012c5c3.89
jmp 0x1012d446
cmp eax, 0x1a
jne 0x1012c589
mov eax, dword [esp + 4]
movzx eax, word [eax + 0x10]
mov word [ebx + 0xc], ax
jmp 0x1012c589
mov eax, dword [esp + 0x4c]
mov edi, dword [eax]
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
mov dword [esp + 0x30], eax
lea ecx, [edi + eax*8]
test byte [ecx + 0x11], 0x90
mov dword [esp + 8], ecx
jne 0x10136b2b
mov word [ecx + 0x10], 4
mov esi, dword [esp + 0xc]
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov edi, dword [eax + 0x2c]
mov ecx, edi
call fcn.10137730
mov eax, dword [edi + 0x2c]
cmp eax, dword [esi + 0x78]
ja 0x10135aed
movzx ecx, word [edi + 0x30]
mov edx, dword [edi + 0x28]
mov ebx, dword [edi + 0x74]
mov ebx, dword [ebx + 0x3c]
sub ebx, edx
xor esi, esi
test ebx, ebx
cmovg esi, ebx
cmp ebx, ecx
cmovge esi, ecx
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov dword [ebx + ecx*8 + 8], edx
cmp esi, eax
jb 0x10136b08
mov esi, dword [esp + 8]
mov word [esi + 0x10], 0x4010
mov dword [ebx + ecx*8 + 0xc], eax
mov dword [esp + 0x14], 0
mov eax, dword [esp + 4]
cmp dword [eax + 0xc], 0
jne case.0x1012c5c3.89
movzx eax, word [esi + 0x10]
bt eax, 0xe
jae case.0x1012c5c3.89
test al, 0x12
jne 0x10131482
and byte [esi + 0x11], 0xbf
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
test edi, edi
je case.0x1012c5c3.112
mov eax, dword [edi + 0x38]
mov ecx, dword [esp + 4]
cmp eax, dword [ecx + 8]
jne case.0x1012c5c3.112
mov eax, dword [edi + 0x2c]
mov dword [esp + 8], eax
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x10130560
cmp dword [0x101ef020], 0
je 0x10136c3e
mov esi, dword [0x101f2140]
test esi, esi
je 0x1013050d
mov ecx, dword [0x101ef070]
cmp ecx, 0x10137ef0
jne 0x10136c4d
push esi
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, dword [0x101ef04c]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
sub dword [0x101f20ec], eax
dec dword [0x101f2110]
mov ecx, dword [0x101ef044]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov esi, dword [0x101f2140]
test esi, esi
je 0x10130560
mov ecx, dword [0x101ef078]
cmp ecx, 0x10137ee0
jne 0x10136c5e
push esi
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov eax, dword [esp + 8]
mov dword [eax + 0x10], 0
mov byte [eax], 1
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x14]
jmp 0x1012d088
mov ebx, dword [esp + 4]
mov esi, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x10]
lea ecx, [edi + eax*8]
cmp dword [esi + 8], ecx
jne 0x101315f4
inc dword [edi + eax*8 + 0xc]
lea edi, [esi + 0x1c]
cmp dword [ebx + 4], 0
mov eax, dword [esi + 4]
movzx ebx, byte [esi + 0x1a]
jne 0x10136acf
add eax, 0x10
mov ecx, dword [eax]
call dword [section..00cfg]
push edi
push ebx
push esi
call ecx
add esp, 0xc
cmp dword [esi + 0x14], 0
je case.0x1012c5c3.89
mov edi, dword [esp + 0x14]
jg 0x10137012
cmp byte [esi + 0x19], 0
je 0x1013061c
mov eax, dword [esp + 4]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x10130618
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
test byte [ecx + 0x11], 0x90
jne 0x10137166
mov edx, dword [esp + 0x10]
lea eax, [edx + eax*8]
add eax, 0x10
mov dword [ecx + 4], 0
mov dword [ecx], 1
mov word [eax], 4
mov byte [esi + 0x19], 0
mov ecx, dword [esi]
test byte [ecx + 0x11], 0x90
je 0x10136cc9
call fcn.10128780
mov ecx, dword [esi]
mov word [ecx + 0x10], 1
mov dword [esi + 0x14], 0
mov dword [esp + 0x14], 0
test edi, edi
je case.0x1012c5c3.89
jmp 0x10134692
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
je 0x10136b35
mov ecx, dword [ebx + 4]
cmp eax, 1
jbe 0x10131b40
mov dword [esp + 0x20], eax
mov dword [esi + 0x40], eax
mov byte [esi + 0x44], 0xff
mov eax, dword [esp + 8]
mov dword [esi + 0x70], eax
mov dword [esi + 8], ebx
mov dword [esi + 0x14], ecx
mov byte [esi + 1], 0
mov eax, dword [ecx + 8]
test eax, eax
je 0x101306a5
mov edx, dword [esp + 0x20]
cmp dword [eax + 0x40], edx
je 0x1013069b
mov eax, dword [eax + 0x18]
jmp 0x10130689
or byte [eax + 1], 0x20
mov byte [esi + 1], 0x20
jmp 0x10130696
mov byte [esi], 1
mov eax, dword [ecx + 8]
mov dword [esi + 0x18], eax
mov dword [ecx + 8], esi
cmp word [esp + 0x14], 0
je 0x10131163
or byte [esi + 1], 1
mov byte [esi + 2], 0
xor eax, eax
cmp dword [ecx + 0x54], 0
je 0x10131f2d
cmp byte [ebx + 9], 0
je 0x1012d075
dec dword [ebx + 0xc]
jne 0x1012d075
mov ecx, ebx
mov esi, eax
call fcn.10005b60
mov eax, esi
jmp 0x1012d075
mov edx, dword [esp + 0x10]
test byte [edx + eax*8 + 0x11], 4
jne 0x10136b45
mov edi, dword [ebx + 0x30]
movzx eax, word [edi + 6]
shl eax, 3
lea edx, [eax + eax*4]
add edx, 0x48
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x10131f1f
movzx esi, word [ecx + 0x12c]
cmp edx, esi
ja 0x1013121c
lea eax, [eax + eax*4]
cmp eax, 0x38
ja 0x101314c6
mov esi, dword [ecx + 0x150]
test esi, esi
je 0x101314b8
mov eax, dword [esi]
mov dword [ecx + 0x150], eax
inc dword [ecx + 0x138]
jmp 0x101314fc
add edi, 0x40
jmp 0x1012e8ce
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 8]
lea esi, [eax + eax*4]
mov ebx, dword [esp + 0x10]
test byte [ebx + esi*8 + 0x10], 0x10
jne 0x1013078a
lea ecx, [ebx + esi*8]
call fcn.100164c0
test eax, eax
jne 0x1012d717
lea eax, [edi + edi*4]
lea eax, [ebx + eax*8]
mov edi, dword [eax]
mov edx, dword [eax + 4]
mov esi, dword [ebx + esi*8 + 8]
movzx eax, word [esi + 0x18]
test ax, ax
je 0x10131aca
mov ecx, dword [esi + 0x10]
dec eax
mov word [esi + 0x18], ax
lea eax, [ecx + 0x10]
mov dword [esi + 0x10], eax
test ecx, ecx
je case.0x1012c5c3.89
mov dword [ecx], edi
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x10131979
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ecx
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
or ecx, edx
test cl, 1
jne 0x101375aa
mov ecx, esi
mov esi, edx
and si, 0x2d
je 0x10136b70
and ax, 0x2d
jne 0x10130812
mov ecx, dword [esp + 0x2c]
call fcn.10015120
and eax, esi
test al, 4
je 0x1013606b
mov eax, dword [esp + 4]
mov bl, byte [eax]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
jmp 0x1012e7fc
movzx eax, word [ebx]
test eax, 0x9000
je 0x101317e4
mov eax, dword [esp + 0x10]
lea ecx, [eax + esi*8]
call fcn.101287c0
jmp case.0x1012c5c3.9
test eax, eax
jg 0x101369ae
jne 0x10130861
cmp ebx, 0x15
je 0x101369ae
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x2c]
xor eax, eax
cmp byte [ecx], 0
setne al
jmp 0x1012d518
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0xc]
test bl, 0xff
mov eax, dword [esp + 0xc]
jne 0x1013088f
test byte [eax + 0x21], 4
jne case.0x1012c5c3.89
mov edx, dword [esp + 4]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
shl eax, 4
mov esi, dword [ecx + eax + 4]
cmp byte [esi + 9], 0
je 0x1012c589
mov eax, dword [edx + 8]
mov dword [esp + 8], eax
inc dword [esi + 0xc]
inc bl
cmp byte [esi + 0xa], 0
mov dword [esp + 0x20], ebx
je 0x10136b84
mov dword [esp + 0x14], 0
mov edi, dword [esi + 4]
mov eax, dword [edi + 0x50]
cmp eax, esi
je 0x101308e3
test byte [edi + 0x18], 0x40
jne 0x10136bcd
mov eax, dword [edi + 0x4c]
test eax, eax
jne 0x10130de4
add edi, 0x4c
xor ebx, ebx
mov ecx, 0x10
xor edx, edx
call fcn.10143580
test eax, eax
je 0x10136be2
mov dword [eax + 0xc], ebx
mov dword [eax + 8], ebx
mov ecx, dword [esp + 8]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov ecx, dword [edi]
mov dword [eax + 0xc], ecx
mov dword [edi], eax
xor edi, edi
mov bl, 1
mov ecx, dword [esp + 0x20]
cmp byte [eax + 8], cl
jae 0x1013092d
mov byte [eax + 8], cl
cmp byte [esi + 9], 0
je 0x1013093c
dec dword [esi + 0xc]
je 0x10136ba8
test bl, bl
jne case.0x1012c5c3.89
mov esi, edi
mov eax, edi
and eax, 7
cmp eax, 6
jne 0x10133fbc
mov eax, dword [esp + 4]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push dword [esp + 0x24]
call fcn.10157810
add esp, 0xc
jmp 0x10133fbc
test cl, 0x28
jne 0x10131fe9
test cl, 2
je 0x1012ee95
xor edx, edx
inc edx
mov ecx, esi
call fcn.100590b0
jmp 0x1012ee95
cmp eax, 2
je 0x101310a6
mov eax, dword [esp + 4]
cmp dword [eax + 4], 1
je 0x101309eb
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 8]
test ecx, ecx
je case.0x1012c5c3.89
jmp 0x101343ad
mov eax, dword [esi]
mov dword [ebx + 0x144], eax
jmp 0x1012d904
mov edi, dword [esp + 0xc]
cmp dword [edi + 0x128], 0
je 0x10131b35
cmp byte [edi + 0x57], 0
je 0x10130b10
jmp 0x10134659
mov eax, dword [ecx + 4]
test eax, eax
je 0x10130a0d
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0x98]
and edx, 0xfffffffc
or edx, 1
mov dword [eax + 0x98], edx
mov eax, ecx
test ecx, ecx
jne 0x101309f2
mov eax, dword [esp + 0x1c]
and byte [eax + 0x98], 0xfc
jmp 0x101309a5
mov eax, dword [esp + 0x20]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea esi, [ecx + eax*8]
movzx edi, word [esi + 0x10]
movzx ecx, di
test cl, 0x24
je 0x10132105
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov dword [esp + 0x20], eax
mov dword [esi], eax
mov dword [esi + 4], edx
and edi, 0xfffff240
or edi, 4
mov word [esi + 0x10], di
jmp 0x1012c8de
mov eax, dword [edi]
mov dword [ebx + 0x144], eax
jmp 0x1012dda8
test cl, cl
js 0x10130fa6
test cl, 0x10
jne 0x1012d44e
jmp 0x1012f5b1
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xc0], 2
jl 0x1012ca86
jmp 0x1012dc44
mov dword [esp + 0x14], 0
mov edx, edi
mov ecx, dword [esp + 0x20]
cmp byte [edx], 3
je 0x10131238
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
test byte [ecx + eax*8 + 0x11], 0x90
jne 0x1013667f
lea eax, [ecx + eax*8]
add eax, 0x10
mov word [eax], 1
jmp case.0x1012c5c3.89
inc dword [ebx + 0x13c]
jmp 0x1012ecc7
mov esi, dword [edi + 0x14c]
test esi, esi
jne 0x10131471
mov edi, dword [esp + 0xc]
mov esi, dword [edi + 0x148]
test esi, esi
jne 0x1013120f
mov esi, dword [edi + 0x144]
test esi, esi
jne 0x10131b02
inc dword [edi + 0x140]
mov ecx, edi
mov edx, ebx
push eax
call fcn.10137840
add esp, 4
mov esi, eax
test eax, eax
je 0x10134659
mov eax, dword [esp + 0x2c]
lea eax, [eax*4 + 0x14]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
lea edi, [eax*8 + 0x88]
xor eax, eax
push ebx
push eax
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [esp + 8]
mov dword [ecx + 0x2c], esi
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov ebx, dword [eax + 4]
lea eax, [esi + edi]
mov dword [esi + 0x1c], eax
push dword [esp + 0x2c]
push dword [ecx + 0x30]
mov dword [esp + 0x10], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
xor eax, eax
mov dword [esi + edi + 0xc], eax
mov ecx, dword [esp + 0x20]
test ecx, ecx
mov edx, dword [esp + 0x30]
je 0x10130b92
test edx, edx
je 0x10130d36
cmp byte [ebx + 9], 0
jne 0x10131943
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x20], eax
mov dword [esi + 0xc], eax
cmp byte [ebx + 9], 0
mov edi, dword [esp + 8]
jne 0x10131960
mov eax, edx
inc al
mov ecx, edx
dec cl
cmp al, 2
setae byte [esi + 0x39]
inc dl
mov byte [esi + 0x3b], dl
mov byte [esi + 0x3a], cl
mov ebx, dword [esp + 0xc]
mov dword [esi + 0x18], ebx
je 0x10130c6d
movzx ecx, dl
lea eax, [ecx + 3]
and eax, 0xfffffffc
dec ecx
movd xmm0, ecx
pshufd xmm0, xmm0, 0
lea ecx, [esi + 0x48]
movdqa xmm1, xmmword [0x101af270]
movdqa xmm2, xmmword [0x101af280]
movdqa xmm3, xmm0
pxor xmm3, xmm2
pxor xmm2, xmm1
pcmpgtd xmm2, xmm3
movd edx, xmm2
not edx
test dl, 1
je 0x10130c1d
mov dword [ecx], esi
pcmpeqd xmm3, xmm3
pxor xmm3, xmm2
pextrw edx, xmm3, 2
test dl, 1
je 0x10130c32
mov dword [ecx + 0x48], esi
pextrw edx, xmm3, 4
test dl, 1
je 0x10130c42
mov dword [ecx + 0x90], esi
pcmpeqd xmm3, xmm3
pxor xmm2, xmm3
pextrw edx, xmm2, 6
test dl, 1
je 0x10130c5a
mov dword [ecx + 0xd8], esi
paddd xmm1, xmmword [0x101af2d0]
add ecx, 0x120
add eax, 0xfffffffc
jne 0x10130bf8
xor ecx, ecx
cmp byte [ebx + 0x56], 2
mov eax, dword [esp + 0x20]
jne 0x10130d4e
cmp word [edi + 8], 0xc
jbe 0x10130d11
test ecx, ecx
je 0x1012c589
mov eax, ebx
mov ebx, 7
cmp byte [eax + 0x57], 0
jne 0x10130cca
mov ebx, ecx
cmp ecx, 0x210a
jne 0x10130cca
push 0x101cff9b
push 0x182da
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov ebx, 0xb
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x7c], 0
jne 0x1013765a
cmp ebx, 0xc0a
je 0x1013765a
mov eax, str.abort_due_to_ROLLBACK
cmp ebx, 0x204
je 0x10137648
cmp ebx, 0x65
je 0x10137623
cmp ebx, 0x64
jne 0x1013762a
mov eax, str.another_row_available
jmp 0x10137648
mov eax, dword [edi + 0x14]
test eax, eax
je 0x10130d21
cmp eax, dword [ebx + 8]
jne 0x10130c88
mov eax, dword [edi + 0x10]
test byte [eax], 2
jne 0x10130c88
mov byte [esi + 0x3c], 3
jmp 0x10130c88
mov eax, dword [esp + 8]
mov word [eax + 6], cx
jmp 0x10130b92
inc dword [ebx + 0x13c]
jmp 0x1012f0d5
mov edx, dword [0x101ef0ec]
imul edx, eax
mov dword [esp + 0x30], edx
mov dword [esi], edx
mov edi, eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x50]
mov eax, edx
sar eax, 0x1f
mov eax, 0xfffffc00
cmovns eax, edi
imul edx
mov ebx, eax
mov edi, 0x20000000
cmp eax, edi
mov eax, 0x20000000
cmovb eax, ebx
test edx, edx
cmovs edi, ebx
mov ebx, dword [esp + 0xc]
cmove edi, eax
mov eax, dword [esp + 0x30]
cmp eax, edi
cmovg edi, eax
mov dword [esi + 4], edi
mov edi, dword [esp + 8]
cmp byte [0x101ef028], 0
jne 0x10130c7d
mov ecx, dword [esp + 0x20]
mov edx, ecx
sar edx, 0x1f
mov dword [esi + 0x34], ecx
call fcn.10143580
mov dword [esi + 0x28], eax
xor edx, edx
test eax, eax
mov ecx, 7
cmovne ecx, edx
jmp 0x10130c7d
mov esi, dword [edx + 0xa4]
jmp 0x1012f818
mov ecx, eax
mov edx, dword [ecx]
cmp edx, esi
jne 0x10136c79
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x10130de6
add edi, 0x4c
test eax, eax
mov ecx, dword [esp + 8]
je 0x101308f1
cmp dword [eax + 4], ecx
je 0x10130e17
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x10130e06
jmp 0x101308f1
cmp dword [eax], esi
je 0x1013091d
jmp 0x10130e0b
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
lea edi, [eax + eax*4]
mov dword [esp + 0x38], edx
lea ebx, [edx + edx*4]
mov edx, dword [esp + 0x10]
mov esi, dword [edx + edi*8 + 0x10]
mov eax, dword [edx + ebx*8 + 0x10]
mov dword [esp + 0x2c], eax
or eax, esi
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x30], ecx
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x20], ecx
lea ecx, [edx + ecx*8]
mov dword [esp + 0x44], ecx
test al, 1
jne 0x10136d1a
mov dword [esp + 8], edi
lea edi, [edx + edi*8]
mov dword [esp + 0x3c], esi
movzx eax, si
mov ecx, ebx
lea edx, [edx + ebx*8]
add edx, 0x10
mov dword [esp + 0x60], edx
test al, 0x12
mov dword [esp + 0x28], edi
je 0x10136cf2
bt eax, 0xa
mov edx, dword [esp + 0x30]
jb 0x10136d32
mov eax, dword [esp + 0x10]
mov edi, ecx
lea ecx, [eax + ecx*8]
movzx eax, word [esp + 0x2c]
test al, 0x12
mov esi, dword [esp + 8]
je 0x10136d09
bt eax, 0xa
jb 0x10136d6a
mov eax, dword [esp + 0x10]
mov dword [esp + 0x54], edi
mov ebx, dword [eax + edi*8 + 0xc]
add ebx, dword [eax + esi*8 + 0xc]
mov eax, dword [esp + 0xc]
cmp ebx, dword [eax + 0x78]
jg 0x10135aed
xor eax, eax
mov edi, dword [esp + 0x38]
cmp edx, edi
sete al
lea edx, [ebx + 2]
mov ecx, dword [esp + 0x44]
push eax
call fcn.10137a60
add esp, 4
test eax, eax
jne 0x1012d717
mov eax, 0xfffff240
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
and eax, dword [esi + ecx*8 + 0x10]
or eax, 2
mov word [esi + ecx*8 + 0x10], ax
mov eax, dword [esp + 0x54]
lea edx, [esi + eax*8]
add edx, 0xc
cmp dword [esp + 0x30], edi
je 0x10130f4a
push dword [edx]
push dword [esi + eax*8 + 8]
push dword [esi + ecx*8 + 8]
mov edi, edx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x2c]
mov word [eax], dx
mov edx, edi
mov eax, dword [esp + 8]
lea eax, [esi + eax*8]
add eax, 0xc
lea esi, [esi + ecx*8]
add esi, 0x10
mov ecx, dword [esi - 8]
add ecx, dword [edx]
push dword [eax]
push dword [eax - 4]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
mov word [eax + 0x10], cx
mov eax, ebx
and eax, 0xfffffffe
mov dl, byte [esp + 0x1b]
cmp dl, 2
cmovb eax, ebx
mov ecx, dword [esi - 8]
xor ebx, ebx
mov byte [ecx + eax], bl
mov ecx, dword [esi - 8]
mov byte [eax + ecx + 1], bl
or byte [esi + 1], 2
mov dword [esi - 4], eax
mov byte [esi + 2], dl
jmp case.0x1012c5c3.89
test dl, 1
je 0x10131ab3
mov eax, dword [esp + 0x44]
and eax, 0x100
jne 0x10131ab3
mov dword [esp + 0x5c], 0
mov eax, 0x101af8ba
jmp 0x1012e97f
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x1012fa42
mov ecx, edi
call fcn.10005b90
jmp 0x1012fa42
dec dword [edi + 0xc]
jne 0x1012fa7b
mov ecx, edi
call fcn.10005b60
jmp 0x1012fa7b
cmp al, 0x45
ja 0x1012c9cd
test bl, 0x20
jne 0x10131094
movsd xmm0, qword [esi]
movsd qword [esp + 0x30], xmm0
call fcn.1006d150
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x100], xmm1
fild qword [esp + 0x100]
mov dword [esp + 8], eax
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x20], edx
adc edx, 0x7fffffff
fstp qword [esp + 0xf8]
movsd xmm0, qword [esp + 0x30]
ucomisd xmm0, qword [esp + 0xf8]
jne 0x1012c9cd
jp 0x1012c9cd
xor eax, eax
dec eax
mov dword [esp + 0x30], eax
mov eax, 0xfffffffd
cmp eax, ecx
sbb dword [esp + 0x30], edx
jb 0x1012c9cd
mov eax, dword [esp + 8]
mov dword [esi], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 4], eax
and ebx, 0xf240
or ebx, 4
mov word [esi + 0x10], bx
jmp 0x1012c9cd
mov eax, dword [esp + 4]
mov al, byte [eax + 0xc]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov edx, dword [edx + esi + 0xc]
mov byte [edx + 0x4c], al
jmp 0x1013099b
test ecx, ecx
jne 0x1012c589
jmp 0x1012d446
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov edx, dword [esp + 4]
mov ecx, dword [edx + 4]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x2c]
cmp dword [edx + 0xc], 0
je 0x10136d95
cmp byte [esi], 0
jne 0x10136c6f
mov eax, dword [esi + 0x74]
cmp byte [eax + 8], 0
je 0x10136c6f
movzx eax, word [eax + 0x18]
xor ecx, ecx
movsx edi, byte [esi + 0x44]
test edi, edi
jg 0x10136dc7
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], ecx
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x48]
jne 0x10136de8
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
movq xmm0, qword [esp + 0x1b0]
movq qword [esi], xmm0
jmp 0x1012d4e5
mov byte [esi + 2], 2
xor eax, eax
jmp 0x101306d1
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x10136df4
mov eax, dword [ecx]
xor ebx, ebx
or eax, dword [ecx + 4]
setne bl
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x10136e1f
mov eax, dword [ecx]
xor edx, edx
or eax, dword [ecx + 4]
setne dl
lea eax, [ebx + ebx*2]
add eax, edx
mov esi, dword [esp + 4]
cmp byte [esi], 0x2c
mov ecx, 0x101b0554
mov edx, 0x101b055d
cmove edx, ecx
mov cl, byte [edx + eax]
mov eax, dword [esi + 0xc]
lea eax, [eax + eax*4]
cmp cl, 2
je 0x10136e4a
movzx ecx, cl
mov edx, dword [esp + 0x10]
mov dword [edx + eax*8], ecx
mov dword [edx + eax*8 + 4], 0
mov ecx, 0xfffff240
and ecx, dword [edx + eax*8 + 0x10]
or ecx, 4
mov word [edx + eax*8 + 0x10], cx
jmp case.0x1012c5c3.89
mov eax, dword [esi]
mov dword [edi + 0x148], eax
jmp 0x1012f882
cmp dword [ecx + 0x128], 0
je 0x1013212d
cmp byte [ecx + 0x57], 0
je 0x101314e8
jmp 0x1012d717
mov eax, dword [edx + 0x24]
test eax, eax
jle 0x10130aa8
mov dword [esp + 0x20], ecx
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea esi, [ecx + eax*8]
add esi, 8
mov eax, dword [esi + 4]
mov dword [edx + 0x54], eax
mov dword [edx + 0x50], eax
jmp 0x1012c662
test dl, 8
jne 0x101316fa
xor eax, eax
test dl, 0x12
jne 0x10136fc4
xor edx, edx
jmp 0x1012e74c
test edx, edx
mov esi, edx
jns 0x1012f907
cmp dword [esp + 0x38], 1
mov eax, dword [esp + 0x3c]
sbb eax, 0
jl 0x1013704a
push edi
push ebx
push closesocket
xor edi, edi
push edi
call fcn.101571a0
neg eax
sbb edi, edx
cmp dword [esp + 0x20], eax
mov eax, esi
sbb eax, edi
jae 0x1012f907
jmp 0x1013606b
mov eax, dword [esp + 0x10]
mov esi, dword [eax + ecx*8 + 8]
jmp 0x1012ef52
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x10]
mov word [edx + eax*8 + 0x10], 4
sub ecx, dword [esp + 0x58]
sar ecx, 2
imul ecx, ecx, 0xcccccccd
mov dword [edx + eax*8], ecx
sar ecx, 0x1f
mov dword [edx + eax*8 + 4], ecx
jmp case.0x1012c5c3.9
lea eax, [esp + 0x1b8]
lea esi, [esp + 0x1b4]
mov dword [esi - 4], 0
xor ecx, ecx
dec ecx
mov dword [esi + 4], ecx
mov dword [esi], ecx
mov edi, dword [esp + 4]
mov edx, dword [edi + 4]
mov ecx, dword [esp + 0xc]
push eax
push esi
push dword [edi + 8]
call fcn.1004be40
add esp, 0xc
test eax, eax
jne 0x10136e5c
mov edx, dword [esp + 0x1b0]
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea esi, [ecx + eax*8]
test byte [esi + 0x11], 0x90
jne 0x10136e78
lea eax, [ecx + eax*8]
add eax, 0x10
mov dword [esi], edx
sar edx, 0x1f
mov dword [esi + 4], edx
mov word [eax], 4
lea edi, [esi + 0x28]
mov edx, dword [esp + 0x1b4]
test byte [esi + 0x39], 0x90
jne 0x10136e8d
mov dword [edi], edx
sar edx, 0x1f
mov dword [edi + 4], edx
mov word [edi + 0x10], 4
lea ecx, [edi + 0x28]
mov edx, dword [esp + 0x1b8]
test byte [edi + 0x39], 0x90
jne 0x10136ea2
mov dword [ecx], edx
sar edx, 0x1f
mov dword [ecx + 4], edx
mov word [ecx + 0x10], 4
jmp 0x1012c589
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
lea edi, [ecx + ecx*4]
mov edx, dword [esp + 0x10]
lea esi, [edx + edi*8]
lea ecx, [eax + eax*4]
movzx eax, word [edx + ecx*8 + 0x10]
test al, 1
jne 0x10136f46
lea ecx, [edx + ecx*8]
test al, 0x24
je 0x10136f00
mov eax, dword [ecx]
or eax, dword [ecx + 4]
setne al
xor al, 1
mov ecx, dword [esp + 0x10]
test byte [ecx + edi*8 + 0x11], 0x90
movzx edx, al
jne 0x10136f58
lea eax, [ecx + edi*8]
add eax, 0x10
mov dword [esi], edx
mov dword [esi + 4], 0
mov word [eax], 4
jmp case.0x1012c5c3.89
xor eax, eax
mov esi, dword [esp + 0xc]
cmp byte [esi + 0x55], 0
je 0x101345bf
cmp dword [esi + 0xc0], 2
jge 0x101345bf
test al, al
jne 0x10136ee2
cmp bl, 4
mov esi, dword [esp + 0x14]
je 0x10136f26
test esi, esi
jne 0x10136f3b
xor edx, edx
mov esi, dword [esp + 0x28]
cmp esi, 5
sete dl
inc edx
mov ecx, dword [esp + 8]
call fcn.10021dc0
jmp 0x10131581
mov eax, dword [esi]
mov edi, dword [esp + 0xc]
mov dword [edi + 0x14c], eax
jmp 0x1012f882
bt eax, 0xa
jb 0x10136f5f
cmp dword [ebx + ecx*8 + 0x18], 0
je 0x101314a4
lea eax, [ebx + ecx*8]
add eax, 8
mov ecx, dword [eax]
cmp ecx, dword [eax + 0x18]
je 0x1013049a
mov ecx, esi
call fcn.100040b0
test eax, eax
je 0x1013049a
jmp 0x1012d717
mov esi, dword [ecx + 0x14c]
test esi, esi
jne 0x10131990
mov esi, dword [ecx + 0x148]
test esi, esi
jne 0x10131912
mov esi, dword [ecx + 0x144]
test esi, esi
jne 0x101320f8
inc dword [ecx + 0x140]
push 0
call fcn.10137840
add esp, 4
mov esi, eax
test eax, eax
je 0x1012d717
lea eax, [esi + 0x20]
mov dword [esi + 4], eax
mov dword [esi], edi
movzx eax, word [edi + 6]
inc eax
mov word [esi + 0x14], ax
mov eax, dword [esp + 0x1b4]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebx + 0x30]
push esi
push dword [eax + 8]
call fcn.10016380
add esp, 8
mov byte [esi + 0x16], 0
lea eax, [ebx + 0x24]
mov ecx, dword [ebx + 0x2c]
mov edx, esi
push eax
call fcn.1013cf30
add esp, 4
mov edi, eax
mov ecx, dword [esp + 0xc]
mov edx, esi
call fcn.1014d210
jmp 0x1012d412
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax*8 + 0xc], 0
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
mov dword [ecx + eax*8 + 8], 0x101e0242
jmp 0x1012f18e
mov dword [esp + 0x28], esi
cmp esi, ebx
jne 0x101320d4
mov esi, ebx
mov eax, dword [esp + 0x14]
mov dword [esp + 8], eax
test eax, eax
cmove ebx, esi
mov ecx, edi
mov edx, ebx
call fcn.100161e0
mov edi, dword [esp + 0x20]
mov word [edi + 0x10], 0x2202
cmp eax, 6
je 0x10136957
mov eax, dword [eax*4 + 0x101b0634]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov dword [ebx + esi*8 + 8], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
mov dword [ebx + esi*8 + 0xc], eax
mov byte [ebx + esi*8 + 0x12], 1
cmp byte [esp + 0x1b], 1
mov eax, dword [esp + 8]
jne 0x1013698d
mov dword [esp + 0x14], 0
test eax, eax
je case.0x1012c5c3.89
jmp 0x10137364
mov dword [esi + 8], ecx
movzx ecx, byte [esi + 0x1a]
test ecx, ecx
je 0x10130598
dec ecx
mov edx, dword [ebx + 8]
add edx, ecx
lea edx, [edx + edx*4]
lea edx, [edi + edx*8]
mov dword [esi + ecx*4 + 0x1c], edx
lea edx, [ecx - 1]
inc ecx
cmp ecx, 1
mov ecx, edx
jbe 0x10130598
jmp 0x10131604
mov eax, dword [esp + 4]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0xc]
call fcn.10039870
jmp 0x1012f953
mov esi, dword [esp + 0xc]
inc byte [esi + 0x60]
xor eax, eax
push eax
push eax
mov dword [esp + 0x1c], 0
push eax
mov eax, dword [esp + 0x10]
push dword [eax + 0x10]
push esi
call sym.nss3.dll_sqlite3_exec
add esp, 0x14
dec byte [esi + 0x60]
jmp 0x1012f95b
mov eax, dword [esp + 4]
movzx ecx, word [eax + 2]
lea edx, [ecx*4 + 0x44]
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 0x12c]
cmp edx, eax
ja 0x10131b0f
mov ebx, ecx
cmp cx, 0xf
ja 0x10131f49
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x150]
test esi, esi
je 0x10131f37
mov eax, dword [esi]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x150], eax
mov edi, dword [esp + 0xc]
inc dword [edi + 0x138]
jmp 0x10131f8d
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x1012fde1
mov ecx, esi
call fcn.10005b90
jmp 0x1012fde1
dec dword [esi + 0xc]
jne 0x1012fe00
mov ecx, esi
call fcn.10005b60
jmp 0x1012fe00
mov eax, dword [esp + 0x28]
mov byte [eax + 0x12], cl
jmp 0x1012fa71
movq xmm0, qword [esi]
call fcn.1006d150
jmp 0x1012e74c
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x1012dc83
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.10005b90
mov eax, dword [esp + 0x20]
jmp 0x1012dc83
dec dword [esi + 0xc]
jne 0x1012dca7
mov ecx, esi
call fcn.10005b60
jmp 0x1012dca7
movzx ecx, bx
test cl, 4
je 0x10132157
test bl, 4
jne 0x1012f63a
mov eax, dword [esp + 4]
cmp dword [eax + 8], 0
jne 0x1012d44e
mov ecx, 0x14
jmp 0x101343ad
xor edi, edi
lea eax, [esp + 0x1b0]
mov dword [eax], edi
mov dword [eax + 4], edi
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
mov esi, dword [esp + 4]
mov edx, dword [esi + 8]
shl edx, 4
mov ecx, dword [ecx + edx + 4]
mov edx, dword [esi + 4]
push eax
call fcn.1004c720
add esp, 4
mov dword [esp + 0x14], 0
cmp dword [esi + 0xc], edi
je 0x1012f95b
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
mov esi, dword [esp + 0x1c]
add dword [esi + 0x28], ecx
adc dword [esi + 0x2c], edx
mov esi, dword [esp + 4]
mov esi, dword [esi + 0xc]
test esi, esi
jle 0x1012f95b
lea esi, [esi + esi*4]
mov edi, dword [esp + 0x10]
add dword [edi + esi*8], ecx
adc dword [edi + esi*8 + 4], edx
jmp 0x1012f95b
mov word [ebx], 1
jmp case.0x1012c5c3.9
mov ecx, esi
call fcn.10021710
test eax, eax
je 0x1012da7b
jmp 0x101343ab
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
test byte [ecx + eax*8 + 0x11], 0x90
jne 0x10137036
lea eax, [ecx + eax*8]
add eax, 0x10
mov word [eax], 1
jmp 0x1012c589
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call fcn.10007e90
test eax, eax
jne 0x101370b3
mov eax, dword [esi + 0x74]
cmp byte [eax + 8], 0
jne 0x10131883
movzx ecx, word [eax + 0x1a]
mov edx, dword [eax + 0x40]
movzx edi, word [esi + 0x46]
movzx edx, word [edx + edi*2]
rol dx, 8
mov eax, dword [eax + 0x38]
and edx, ecx
mov edx, dword [eax + edx]
bswap edx
mov ecx, esi
call fcn.1000ed10
test eax, eax
je 0x1013184d
jmp 0x101343ab
cmp byte [esi], 0
jne 0x1012c589
movzx eax, word [eax + 0x18]
xor edi, edi
movsx ecx, byte [esi + 0x44]
test ecx, ecx
jg 0x101370cd
cmp eax, 8
mov ecx, edi
sbb ecx, 0
jae 0x10131a44
cmp eax, 2
mov ecx, edi
sbb ecx, 0
jb 0x101371a3
mov cx, 0x28
mov edx, edi
add ecx, 0xfffffff6
shld edx, eax, 1
cmp eax, 4
lea eax, [eax + eax]
sbb edi, 0
mov edi, edx
jb 0x101318c0
mov edx, eax
and edx, 7
add cx, word [edx + edx + 0x101b5eae]
add ecx, 0xfffffff6
movsx eax, cx
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 4]
cmp dword [ebx + 0xc], eax
jg 0x1012c84e
jmp case.0x1012c5c3.89
mov ecx, edi
push 0
call fcn.1004c5c0
add esp, 4
jmp 0x1012cd9c
mov eax, dword [esi]
mov dword [ecx + 0x148], eax
jmp 0x1013074f
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 3], 0
je case.0x1012c5c3.89
call fcn.10006f70
jmp 0x1012f953
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x10130b9c
mov ecx, ebx
call fcn.10005b90
mov edx, dword [esp + 0x30]
jmp 0x10130b9c
dec dword [ebx + 0xc]
jne 0x10130bb7
mov ecx, ebx
call fcn.10005b60
mov edx, dword [esp + 0x30]
jmp 0x10130bb7
mov ebx, edx
mov edx, dword [eax + 4]
cmp dword [eax], edi
sbb edx, ebx
jge 0x10137144
mov dword [eax + 8], ecx
jmp 0x101307d6
mov eax, dword [esi]
mov dword [ecx + 0x14c], eax
jmp 0x1013074f
test al, 0x28
jne 0x101321a2
test al, 2
je 0x10130319
lea esi, [esp + 0x1b0]
xor edx, edx
inc edx
mov ecx, esi
call fcn.100590b0
movzx ebx, word [esi + 0x10]
jmp 0x10130319
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
jne 0x101371db
mov word [esi + 0x10], 4
mov word [esi + 0x10], 8
jmp 0x1012fb7b
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x44]
mov dword [esp + 0x14], 0
cmp dword [ecx + 0x40], 1
sbb eax, 0
jl case.0x1012c5c3.89
mov esi, 0x313
mov edi, dword [esp + 0x1c]
mov dword [edi + 0x24], esi
mov byte [edi + 0x92], 2
push str.FOREIGN_KEY_constraint_failed
push edi
call fcn.10157810
add esp, 8
xor ecx, ecx
inc ecx
cmp byte [edi + 0x94], 0
cmovs ecx, esi
jmp 0x101343ad
mov cx, 0x28
cmp eax, 0x100
mov edx, edi
sbb edx, 0
jae 0x101371aa
mov edx, eax
mov esi, edi
cmp edx, 0x10
mov eax, esi
sbb eax, 0
jb 0x101318d6
mov eax, esi
mov ebx, edx
mov dword [esp + 8], edx
mov edi, esi
mov edx, esi
shld edx, ebx, 0x1f
add ecx, 0xa
shr eax, 1
xor ebx, ebx
mov esi, 0x1f
cmp esi, dword [esp + 8]
sbb ebx, edi
mov esi, eax
jb 0x10131a6c
jmp 0x101318d6
mov eax, dword [edx]
mov dword [esp + 8], eax
mov ecx, dword [edi + 4]
call fcn.1014d210
mov eax, dword [esp + 8]
mov edx, eax
test eax, eax
je 0x1012fe98
jmp 0x10131a95
test byte [esp + 0x44], 1
je 0x101371e7
xor eax, eax
dec eax
mov dword [esp + 0x5c], eax
jmp 0x1012e97a
mov ebx, edx
mov ecx, dword [esi + 4]
mov edx, 0x3f8
push 0
call fcn.10157570
add esp, 4
test eax, eax
je case.0x1012c5c3.89
mov ecx, dword [esi]
mov dword [eax], ecx
mov dword [esi], eax
lea ecx, [eax + 8]
mov word [esi + 0x18], 0x3e
add eax, 0x18
mov dword [esi + 0x10], eax
mov edx, ebx
jmp 0x101307bc
mov eax, dword [esi]
mov dword [edi + 0x144], eax
jmp 0x1012f882
mov ebx, ecx
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x128], 0
je 0x10132193
mov edi, dword [esp + 0xc]
cmp byte [edi + 0x57], 0
je 0x10131f77
jmp 0x1012d717
inc dword [edi + 0x13c]
jmp 0x10130b10
test eax, eax
je 0x10137281
xor eax, eax
cmp dword [ecx + 0x30], 0
setne al
mov ebx, dword [esp + 0x30]
jmp 0x1013066a
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
mov esi, dword [edi + 0x2c]
cmp byte [esi + 0x38], 0
jne 0x101372ad
mov edx, dword [esi + 0x24]
mov eax, dword [edx + 4]
mov dword [esi + 0x24], eax
mov dword [edx + 4], 0
cmp dword [esi + 0x28], 0
jne 0x10131ba3
test edx, edx
je 0x10131ba3
mov ebx, dword [edx + 4]
mov ecx, dword [esp + 0xc]
call fcn.1014d210
mov edx, ebx
test ebx, ebx
jne 0x10131b91
cmp dword [esi + 0x24], 0
jne 0x1012d49f
mov dword [edi + 0x20], 0
jmp 0x1012e2e1
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
shl ecx, 4
mov eax, dword [eax + ecx + 4]
mov edi, dword [eax + 4]
mov dword [esp + 0x30], eax
cmp byte [eax + 9], 0
jne 0x101372e7
mov dword [esp + 8], 0x65
cmp byte [edi + 0x11], 0
je 0x10131c74
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 0x30]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + 0x24]
mov dword [esp + 0x28], ebx
bswap ebx
mov ecx, edi
mov edx, esi
push ebx
call fcn.10157d00
add esp, 4
mov dword [esp + 0x20], esi
mov dword [esp + 0x2c], eax
cmp esi, eax
jb 0x10137178
cmp ebx, dword [esp + 0x20]
jae 0x10137178
cmp dword [esp + 0x28], 0
je 0x10131c74
mov ecx, dword [edi + 8]
test ecx, ecx
jne 0x10137306
mov ecx, edi
mov edx, dword [esp + 0x2c]
push 0
push dword [esp + 0x24]
call fcn.10158520
add esp, 8
mov dword [esp + 8], eax
test eax, eax
jne 0x10131c74
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.1013b1c0
mov dword [esp + 8], eax
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x30]
mov eax, dword [eax + 0x38]
bswap ecx
mov dword [eax + 0x1c], ecx
mov eax, dword [esp + 0x30]
cmp byte [eax + 9], 0
jne 0x10137332
cmp dword [esp + 8], 0
jne 0x1013734d
mov eax, dword [esp + 8]
mov dword [esp + 0x14], eax
jmp case.0x1012c5c3.89
mov dword [esp + 0x30], 0
mov eax, dword [esp + 4]
test byte [eax + 2], 1
jne 0x101373a0
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x3c], eax
test eax, eax
jle case.0x1012c5c3.89
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp dword [esp + 0x30], 0
jne 0x10137404
mov edi, dword [esp + 0x20]
mov ecx, dword [edi + 0x10]
mov esi, dword [esp + 8]
mov cl, byte [ecx + esi]
mov byte [esp + 0x2c], cl
mov ecx, dword [esp + 0x38]
add ecx, eax
lea edx, [ecx + ecx*4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x60], edx
lea edx, [ecx + edx*8]
add eax, dword [esp + 0x28]
lea ebx, [eax + eax*4]
lea ecx, [ecx + ebx*8]
push dword [edi + esi*4 + 0x14]
call fcn.10008300
add esp, 4
test eax, eax
je 0x10137414
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 8]
test byte [ecx + edx], 2
jne 0x101373b3
mov ecx, eax
neg ecx
test byte [esp + 0x2c], 1
cmove ecx, eax
mov dword [esp + 0x5c], ecx
jmp case.0x1012c5c3.89
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0xc]
mov dword [esp + 8], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x10]
lea esi, [edx + ecx*8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
add ebx, 0x18
lea edi, [ebx - 0x18]
test byte [esi + 0x11], 0x90
jne 0x101371f7
cmp dword [esi + 0x18], 0
jne 0x101371f7
movsd xmm0, qword [edi + 0x20]
movsd qword [esi + 0x20], xmm0
movdqu xmm0, xmmword [edi]
movdqu xmm1, xmmword [edi + 0x10]
movdqu xmmword [esi + 0x10], xmm1
movdqu xmmword [esi], xmm0
mov word [ebx - 8], 1
mov dword [ebx], 0
test byte [esi + 0x11], 0x40
jne 0x10137436
add esi, 0x28
add ebx, 0x28
dec dword [esp + 8]
je case.0x1012c5c3.89
jmp 0x10131d85
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax + 0x2c]
cmp byte [eax + 0x38], 0
jne 0x101373d8
mov eax, dword [eax + 0x24]
lea edi, [eax + 8]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ebx, [ecx + ecx*4]
mov esi, dword [eax]
mov eax, dword [esp + 0x10]
cmp dword [eax + ebx*8 + 0x18], esi
jl 0x1013736d
mov edx, dword [esp + 0x10]
mov eax, dword [edx + ebx*8 + 0x20]
mov dword [edx + ebx*8 + 8], eax
movzx ecx, word [edx + ebx*8 + 0x10]
and ecx, 0x2d
mov word [edx + ebx*8 + 0x10], cx
mov edx, dword [esp + 0x10]
mov dword [edx + ebx*8 + 0xc], esi
and ecx, 0xfffff240
or ecx, 0x10
mov word [edx + ebx*8 + 0x10], cx
push esi
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x20], 0
jmp 0x1012c589
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov edx, dword [esp + 4]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea edi, [ecx + eax*8]
test byte [edi + 0x11], 4
jne 0x101373f0
mov ecx, esi
mov edx, edi
call fcn.101582a0
jmp 0x1012f953
mov word [esi + 0x10], 1
jmp case.0x1012c5c3.89
lea edx, [esi + 0x24]
add esi, 0x40
mov ecx, esi
call fcn.100615f0
xor ebx, ebx
jmp 0x1012fd87
lea edi, [esp + 0x1b0]
mov ecx, esi
xor edx, edx
push edi
push eax
call fcn.100071b0
add esp, 8
test eax, eax
jne 0x101343ab
mov edx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1bc]
jmp 0x1012d7f4
lea ecx, [esp + 0x1b0]
call fcn.10128780
jmp 0x1012d818
cmp dword [esp + 0x5c], 0
jns 0x1013744a
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
jmp 0x1012c851
mov ecx, edx
xor edx, edx
call fcn.10143580
jmp 0x101314f2
call fcn.10007420
jmp 0x101306d1
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x14c]
test esi, esi
jne 0x10132138
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x148]
test esi, esi
jne 0x1013211c
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x144]
test esi, esi
jne 0x10132182
mov edi, dword [esp + 0xc]
inc dword [edi + 0x140]
mov ecx, edi
push 0
call fcn.10137840
add esp, 4
mov esi, eax
test eax, eax
je 0x1012d717
xor eax, eax
mov dword [esi + 8], eax
mov edx, ebx
lea ecx, [esi + ebx*4]
add ecx, 0x1c
mov dword [esi], ecx
mov word [ecx + 0x10], 1
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x18], eax
mov ebx, dword [esp + 4]
mov ecx, dword [ebx + 0x10]
mov dword [esi + 4], ecx
mov ecx, ebx
sub ecx, dword [esp + 0x58]
sar ecx, 2
imul ecx, ecx, 0xcccccccd
mov dword [esi + 0x10], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0xc], ecx
mov byte [esi + 0x19], 0
mov dword [esi + 0x14], eax
mov al, byte [esp + 0x1b]
mov byte [esi + 0x18], al
mov byte [esi + 0x1a], dl
mov dword [ebx + 0x10], esi
mov word [ebx], 0xf1a3
jmp 0x10130582
cmp al, 0x45
ja 0x1012ee95
mov dword [esp + 0x2c], ecx
test cl, 0x20
jne 0x10132083
mov esi, dword [esp + 8]
movsd xmm0, qword [esi]
movsd qword [esp + 0x60], xmm0
call fcn.1006d150
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x120], xmm1
fild qword [esp + 0x120]
mov dword [esp + 0x38], eax
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x3c], edx
mov ebx, edx
adc ebx, 0x7fffffff
fstp qword [esp + 0x118]
movsd xmm0, qword [esp + 0x60]
ucomisd xmm0, qword [esp + 0x118]
jne 0x1012ee95
jp 0x1012ee95
xor edx, edx
dec edx
mov eax, 0xfffffffd
cmp eax, ecx
sbb edx, ebx
jb 0x1012ee95
mov eax, dword [esp + 0x38]
mov dword [esi], eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x2c]
and eax, 0xf240
or eax, 4
mov esi, dword [esp + 8]
jmp 0x1012eee2
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + 2]
test cl, cl
js 0x1013748c
mov edx, dword [esp + 0x30]
shl edx, 0xe
or edx, ecx
mov ecx, edx
and ecx, 0x1fc07f
and eax, 0x7f
shl eax, 7
or ecx, eax
mov al, 3
mov edx, dword [esp + 0x3c]
jmp 0x1012d19c
cmp bl, 5
sete al
je 0x1013141e
cmp dword [esp + 0x28], 5
je 0x1013141e
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
jmp 0x10131581
mov eax, dword [esi]
mov dword [ecx + 0x144], eax
jmp 0x1013074f
test cl, 8
jne 0x10132149
test cl, 0x12
jne 0x101375dc
xor edx, edx
xor eax, eax
jmp 0x10130a3d
mov eax, dword [esi]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x148], eax
jmp 0x101316b1
inc dword [ecx + 0x13c]
jmp 0x101314e8
mov eax, dword [esi]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x14c], eax
jmp 0x101316b1
movsd xmm0, qword [esi]
call fcn.1006d150
jmp 0x10130a3d
mov edx, dword [esp + 0x10]
lea esi, [edx + eax*8]
test cl, 0x28
jne 0x10132229
test cl, 2
je 0x1013174a
xor edx, edx
inc edx
mov ecx, esi
call fcn.100590b0
movzx ebx, word [edi]
jmp 0x1013174a
mov eax, dword [esi]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x144], eax
jmp 0x101316b1
mov edi, dword [esp + 0xc]
inc dword [edi + 0x13c]
jmp 0x10131f77
test bl, 0x20
jne 0x1013760c
movsd xmm0, qword [esp + 0x1b0]
movsd qword [esp + 0x20], xmm0
call fcn.1006d150
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x140], xmm1
fild qword [esp + 0x140]
mov dword [esp + 8], eax
add eax, 0xffffffff
mov ecx, edx
adc ecx, 0x7fffffff
fstp qword [esp + 0x138]
movsd xmm0, qword [esp + 0x20]
ucomisd xmm0, qword [esp + 0x138]
jne 0x10130319
jp 0x10130319
mov edi, edx
xor edx, edx
dec edx
mov esi, 0xfffffffd
cmp esi, eax
sbb edx, ecx
jb 0x10130319
mov esi, dword [esp + 8]
jmp 0x1012f02a
test bl, 0x20
jne 0x101322b7
movsd xmm0, qword [esi]
movsd qword [esp + 0x30], xmm0
call fcn.1006d150
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0xd0], xmm1
fild qword [esp + 0xd0]
mov dword [esp + 8], eax
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x20], edx
adc edx, 0x7fffffff
fstp qword [esp + 0xc8]
movsd xmm0, qword [esp + 0x30]
ucomisd xmm0, qword [esp + 0xc8]
jne 0x1013174a
jp 0x1013174a
xor eax, eax
dec eax
mov dword [esp + 0x30], eax
mov eax, 0xfffffffd
cmp eax, ecx
sbb dword [esp + 0x30], edx
jb 0x1013174a
mov eax, dword [esp + 8]
mov dword [esi], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 4], eax
and ebx, 0xfffff240
or ebx, 4
mov word [edi], bx
jmp 0x1013174a
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov ebx, dword [eax + ecx*4]
cmp byte [ebx + 2], 0
jne case.0x1012c5c3.89
mov esi, dword [ebx + 0x2c]
mov eax, dword [esi]
mov dword [esp + 8], eax
mov edi, dword [eax]
mov ecx, dword [edi + 0x24]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 8]
call fcn.10166380
test esi, esi
jne 0x10133fbc
mov ecx, dword [edi + 0x28]
mov esi, dword [ebx + 0x2c]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov dword [esp + 0x14], 0
test eax, eax
jne 0x1012d4dd
jmp case.0x1012c5c3.9
mov edx, dword [esp + 4]
mov esi, dword [edx + 4]
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.101677b0
lea ecx, [esi + esi*4]
mov esi, dword [edi + ecx*8 + 8]
mov ecx, dword [edi + ecx*8 + 0xc]
mov edi, ecx
sar edi, 0x1f
push edi
push ecx
push edx
push eax
call fcn.10157380
shld edx, eax, 0x1d
movzx ecx, byte [esi + edx]
and eax, 7
bt ecx, eax
jae 0x10133a4d
mov eax, dword [esp + 0x1c]
inc dword [eax + 0xc0]
jmp case.0x1012c5c3.89
mov esi, dword [esp + 4]
mov eax, dword [esi + 4]
mov edx, dword [esi + 0xc]
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x10]
lea ecx, [edi + eax*8]
call fcn.10166790
xor eax, dword [esi + 0x10]
mov ecx, dword [esi + 8]
lea edx, [ecx + ecx*4]
lea ecx, [edi + edx*8]
test byte [ecx + 0x11], 0x90
jne 0x10134475
mov esi, dword [esp + 0x10]
lea edx, [esi + edx*8]
add edx, 0x10
mov dword [ecx], eax
sar eax, 0x1f
mov dword [ecx + 4], eax
mov word [edx], 4
jmp case.0x1012c5c3.89
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
mov dword [esp + 8], eax
movzx eax, word [eax + 0x22]
test ax, ax
jle case.0x1012c5c3.89
mov ecx, dword [esp + 8]
mov ebx, dword [ecx + 4]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x10]
lea esi, [edx + ecx*8]
xor edi, edi
movzx ecx, word [ebx + 0xe]
test cl, 0x60
je 0x10132422
test cl, 0x20
jne 0x10132469
mov ecx, dword [esp + 4]
cmp dword [ecx + 0xc], 0
je 0x10132422
add esi, 0x28
jmp 0x10132469
movsx edx, byte [ebx + 8]
movzx eax, byte [esp + 0x1b]
mov ecx, esi
push eax
call fcn.10166620
add esp, 4
movzx eax, word [esi + 0x10]
test al, 1
jne case.default.0x1013244f
mov ecx, dword [ebx + 4]
shr ecx, 4
and ecx, 0xf
lea edx, [ecx - 2]
cmp edx, 4
ja case.default.0x1013244f
jmp dword [edx*4 + 0x101b6b14]
test al, 4
je 0x101345ed
add esi, 0x28
mov eax, dword [esp + 8]
movzx eax, word [eax + 0x22]
inc edi
movsx ecx, ax
add ebx, 0x10
cmp edi, ecx
jl 0x10132405
jmp case.0x1012c5c3.89
test al, 2
jne case.default.0x1013244f
jmp 0x101345ed
test al, 0x10
jne case.default.0x1013244f
jmp 0x101345ed
test al, 4
jne 0x10132498
test al, 0x28
jne case.default.0x1013244f
jmp 0x101345ed
mov ecx, dword [esi + 4]
lea edx, [ecx + 0x8000]
test edx, 0xffff0000
jne 0x101324b3
mov cx, 0x20
mov dx, 0xffdb
jmp 0x101324eb
movd xmm0, dword [esi]
movd xmm1, ecx
punpckldq xmm0, xmm1
movq qword [esp + 0xe0], xmm0
fild qword [esp + 0xe0]
fstp qword [esp + 0xd8]
movq xmm0, qword [esp + 0xd8]
movq qword [esi], xmm0
mov cx, 8
mov dx, 0xfff3
movsx edx, dx
and edx, eax
movzx eax, cx
or eax, edx
mov word [esi + 0x10], ax
jmp case.default.0x1013244f
mov edx, dword [esp + 4]
mov eax, dword [edx + 4]
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
lea edx, [edx + edx*4]
mov edi, dword [esp + 0x10]
mov dword [esp + 8], edx
lea edx, [edi + edx*8]
mov dword [esp + 0x20], edx
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
movzx edx, word [edi + ecx*8 + 0x10]
or dx, word [edi + eax*8 + 0x10]
test dl, 1
jne 0x101339cb
mov edx, dword [esp + 0x10]
lea ecx, [edx + ecx*8]
lea ebx, [edx + eax*8]
call fcn.1015bbe0
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edx
mov ecx, ebx
call fcn.1015bbe0
mov ecx, dword [esp + 4]
movzx ebx, byte [ecx]
cmp ebx, 0x67
je 0x10134017
cmp ebx, 0x66
jne 0x10134031
and dword [esp + 0x30], eax
and edx, dword [esp + 0x2c]
jmp 0x1013401f
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x18]
mov eax, dword [eax + ecx*4]
mov dword [esp + 8], eax
mov eax, dword [eax + 0x2c]
cmp byte [eax], 0
jne case.0x1012c5c3.89
mov ecx, dword [esp + 4]
mov esi, dword [ecx + 4]
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x160], eax
movzx eax, word [ecx + 0x24]
mov word [esp + 0x174], ax
mov byte [esp + 0x176], 0
mov eax, dword [ecx + 0x20]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x10]
lea eax, [edx + eax*8]
mov dword [esp + 0x164], eax
lea eax, [ecx + 0x14]
mov dword [esp + 0x30], eax
inc esi
mov dword [esp + 0x20], esi
mov eax, dword [esp + 8]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call fcn.10137730
mov eax, dword [esi + 0x2c]
test eax, eax
jle 0x1013464d
mov word [esp + 0x1c0], 0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1c4], ecx
xor ecx, ecx
mov dword [esp + 0x1c8], ecx
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x74]
mov ecx, dword [ecx + 0x3c]
sub ecx, edx
mov ebx, ecx
test ecx, ecx
jg 0x1013262d
xor ebx, ebx
movzx edi, word [esi + 0x30]
cmp ecx, edi
cmovge ebx, edi
mov dword [esp + 0x1b8], edx
cmp ebx, eax
jae 0x1013266e
lea edi, [esp + 0x1b0]
mov ecx, esi
xor edx, edx
push edi
push eax
call fcn.100071b0
add esp, 8
test eax, eax
jne 0x101343ab
mov edx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1bc]
jmp 0x1013267f
mov word [esp + 0x1c0], 0x4010
mov dword [esp + 0x1bc], eax
lea esi, [esp + 0x160]
mov ecx, eax
push 0
push esi
call fcn.10008e80
add esp, 8
mov esi, eax
cmp dword [esp + 0x1c8], 0
je 0x101326ab
lea ecx, [esp + 0x1b0]
call fcn.10128780
test esi, esi
jg 0x1013470b
jns 0x101347d7
mov eax, dword [esp + 0x20]
dec eax
mov dword [esp + 0x20], eax
test eax, eax
jle 0x1012c589
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x2c]
call fcn.1004c6a0
test eax, eax
je 0x101325e3
cmp eax, 0x65
jne 0x101343ab
jmp 0x101347df
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov eax, dword [eax + edx*4]
movzx edx, word [eax + 0xc]
cmp ecx, edx
jg 0x10132716
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0xc]
cmp ecx, edx
jge case.0x1012c5c3.89
mov word [eax + 0xc], cx
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
jne 0x10134735
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov edi, ecx
add edi, 1
mov ebx, edx
adc ebx, 0
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], ebx
mov dword [esi], ecx
mov dword [esi + 4], edx
jmp case.0x1012c5c3.89
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
shl eax, 4
mov ecx, dword [ecx + eax + 0xc]
add ecx, 8
push 0
call fcn.10151b60
add esp, 4
test eax, eax
je 0x10133f23
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x208], 0
je 0x10133f06
mov ecx, dword [esp + 0xc]
mov edx, eax
call fcn.1001dfd0
jmp 0x10133f23
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
shl eax, 4
mov ecx, dword [ecx + eax + 0xc]
add ecx, 0x18
push 0
call fcn.10151b60
add esp, 4
test eax, eax
je 0x10133f23
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 8]
cmp edx, eax
je 0x10133f10
test edx, edx
je 0x10133f18
mov ecx, edx
mov edx, dword [edx + 0x14]
cmp edx, eax
jne 0x101327fe
add ecx, 0x14
jmp 0x10133f13
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
shl eax, 4
mov ecx, dword [ecx + eax + 0xc]
add ecx, 0x28
push 0
call fcn.10151b60
add esp, 4
test eax, eax
je case.0x1012c5c3.89
mov esi, eax
mov ecx, dword [eax + 0x14]
cmp ecx, dword [eax + 0x18]
je 0x10133f30
mov edi, dword [esp + 0xc]
mov ecx, edi
mov edx, esi
call fcn.10016ea0
or byte [edi + 0x18], 1
jmp case.0x1012c5c3.89
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x10]
movzx eax, word [eax + 2]
shl eax, 4
mov ecx, dword [esi + 4]
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x10133a79
mov dword [esp + 0x60], 0
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0xc]
lea edi, [ecx + ecx*4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], edi
mov ebx, dword [ecx + edi*8]
inc ebx
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
mov ecx, dword [ecx + eax + 4]
mov eax, dword [ecx + 4]
mov dword [esp + 8], eax
mov eax, dword [eax + 4]
mov edi, dword [eax + 0x20]
mov dword [esp + 0x14], edi
mov eax, dword [eax + 0x24]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], ecx
cmp byte [ecx + 9], 0
mov eax, dword [edx + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x20], eax
je 0x101328f2
mov eax, dword [esp + 0x30]
inc dword [eax + 0xc]
cmp byte [eax + 0xa], 0
jne 0x101328f2
mov ecx, dword [esp + 0x30]
call fcn.10005b90
xor eax, eax
mov dword [esp + 0x1a4], eax
pxor xmm0, xmm0
movdqu xmmword [esp + 0x194], xmm0
movdqu xmmword [esp + 0x184], xmm0
movdqu xmmword [esp + 0x174], xmm0
movdqu xmmword [esp + 0x164], xmm0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1a8], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x160], edx
mov ecx, dword [edx]
mov dword [esp + 0x164], ecx
mov edi, dword [edx + 0x30]
mov dword [esp + 0x16c], edi
mov dword [esp + 0x170], ebx
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x18c], eax
mov dword [esp + 0x194], 0x64
mov dword [esp + 0x198], 0x3b9aca00
mov dword [esp + 0x19c], eax
mov word [esp + 0x1a0], 0x100
test edi, edi
je 0x101340db
shr edi, 3
inc edi
mov ecx, edi
xor edx, edx
call fcn.10143580
test eax, eax
je 0x10133f72
mov ebx, eax
push edi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x168], ebx
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x24]
call fcn.1000f800
mov dword [esp + 0x1a4], eax
test eax, eax
je 0x101340b0
mov eax, dword [0x101ef688]
xor edx, edx
mov ecx, dword [esp + 8]
div dword [ecx + 0x24]
inc eax
cmp eax, dword [esp + 0x16c]
ja 0x10132a0b
mov ecx, eax
and cl, 7
xor edx, edx
inc edx
shl edx, cl
mov ecx, dword [esp + 0x168]
shr eax, 3
or byte [ecx + eax], dl
cmp byte [esp + 0x60], 0
je 0x101351ca
cmp dword [esp + 0x28], 0
je 0x10134b90
mov eax, dword [esp + 8]
cmp byte [eax + 0x11], 0
je 0x10134822
cmp dword [esp + 0x20], 0
jle 0x10134b77
xor ecx, ecx
xor eax, eax
mov edx, dword [esi + ecx*4 + 4]
cmp eax, edx
cmovbe eax, edx
inc ecx
cmp dword [esp + 0x20], ecx
jne 0x10132a3e
jmp 0x10134b79
mov eax, dword [esp + 0xc]
test byte [eax + 0x22], 8
jne 0x101339e7
mov eax, dword [esp + 4]
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
mov ecx, eax
je 0x10133fd5
sar ecx, 0x1f
mov edx, dword [esp + 0xc]
add dword [edx + 0x1f8], eax
adc dword [edx + 0x1fc], ecx
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xd0]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x10132aaa
mov ecx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x10132a9e
mov ecx, dword [ecx + 0xc]
mov edi, dword [esp + 4]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.1015bbe0
mov dword [esi + 4], edx
mov dword [esi], eax
mov ebx, 0xfffff240
mov eax, dword [esi + 0x10]
and eax, ebx
or eax, 4
mov word [esi + 0x10], ax
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.1015bbe0
mov dword [edi + 4], edx
mov dword [edi], eax
and ebx, dword [edi + 0x10]
or ebx, 4
mov word [edi + 0x10], bx
mov ecx, dword [esi + 4]
cmp dword [esi], eax
sbb ecx, edx
jge case.0x1012c5c3.89
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x1012c5c3.89
mov eax, dword [esp + 4]
mov ebx, dword [eax + 4]
mov ecx, dword [eax + 8]
mov edi, dword [eax + 0xc]
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov dword [esp + 8], edx
test byte [edx + 0x11], 0x90
jne 0x10134741
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
lea eax, [ebx + ebx*4]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp ecx, 1
mov edx, eax
sbb edx, 0
jl 0x10133a89
lea edx, [edi + edi*4]
mov esi, dword [esp + 0x10]
mov edi, dword [esi + edx*8 + 4]
xor ebx, ebx
test edi, edi
cmovle edi, ebx
cmovns ebx, dword [esi + edx*8]
mov esi, closesocket
sub esi, eax
mov edx, ebx
add edx, ecx
not ecx
adc eax, edi
cmp ecx, ebx
sbb esi, edi
mov ecx, 0xffffffff
cmovb eax, ecx
cmovb edx, ecx
mov ecx, dword [esp + 8]
mov dword [ecx], edx
mov dword [ecx + 4], eax
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x2c]
or byte [eax + 1], 0x40
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x2c]
and byte [eax + 1], 0xbf
jmp case.0x1012c5c3.89
mov ecx, dword [esp + 0xc]
mov ebx, dword [ecx + 0x20]
mov eax, ebx
or eax, 0x4000000
mov dword [ecx + 0x20], eax
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 0x10]
mov esi, dword [ecx + 8]
lea edi, [eax + eax*4]
mov eax, dword [esp + 0x10]
lea eax, [eax + edi*8]
add eax, 0x12
test byte [eax - 2], 2
je 0x1013474f
cmp byte [eax], 1
je 0x10132c28
mov eax, dword [esp + 0x10]
lea ecx, [eax + edi*8]
xor edx, edx
inc edx
call fcn.10129540
test eax, eax
jne 0x101343ab
mov eax, dword [esi]
mov ecx, dword [eax + 0x4c]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + edi*8 + 8]
call dword [section..00cfg]
push edi
push esi
call ecx
add esp, 8
mov edi, eax
bt ebx, 0x1a
jb 0x10132c52
mov eax, dword [esp + 0xc]
and byte [eax + 0x23], 0xfb
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
mov edx, esi
call fcn.10166380
and byte [ebx + 0x98], 0xfc
mov dword [esp + 0x14], 0
test edi, edi
je case.0x1012c5c3.89
jmp 0x10134692
pxor xmm0, xmm0
lea edi, [esp + 0x1b0]
movdqa xmmword [edi + 0x10], xmm0
xor eax, eax
mov dword [edi + 0x24], eax
mov dword [edi + 0x20], eax
movdqa xmmword [edi], xmm0
mov eax, dword [esp + 0xc]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea edx, [ecx + eax*8]
mov ecx, edi
call fcn.1015c150
mov esi, eax
mov eax, dword [edi + 0x10]
mov ecx, eax
not ecx
test ecx, 0x202
jne 0x10133a08
cmp byte [esp + 0x1c2], 1
jne 0x10133a08
mov eax, dword [esp + 0x1b8]
test eax, eax
jne 0x10134afd
test byte [esp + 0x1c1], 0x90
jne 0x10132d00
cmp dword [esp + 0x1c8], 0
je 0x10133fac
lea ecx, [esp + 0x1b0]
call fcn.10128780
jmp 0x10133fac
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
jne 0x10134757
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov edx, dword [esp + 4]
mov ecx, dword [edx + 4]
mov ebx, dword [edx + 0xc]
shl ecx, 4
mov edi, dword [eax + ecx + 4]
test ebx, ebx
je 0x10133a93
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x30]
cmp eax, ebx
cmova ebx, eax
cmp byte [edi + 9], 0
je 0x10132d79
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x10132d79
mov ecx, edi
call fcn.10005b90
mov eax, dword [edi + 4]
mov eax, dword [eax]
test ebx, ebx
je 0x10133a9a
mov dword [eax + 0xa0], ebx
cmp byte [edi + 9], 0
je 0x10132d9e
dec dword [edi + 0xc]
jne 0x10132d9e
mov ecx, edi
call fcn.10005b60
mov dword [esi], ebx
mov dword [esi + 4], 0
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
jne 0x10134763
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
shl ecx, 4
mov eax, dword [eax + ecx + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [esi], eax
mov dword [esi + 4], 0
jmp case.0x1012c5c3.89
mov dword [esp + 0x1b0], 0
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 8]
mov edi, 6
test esi, esi
je 0x10134692
mov ebx, dword [esi]
test ebx, ebx
je 0x10134692
mov ecx, dword [ebx + 0x18]
call dword [section..00cfg]
lea eax, [esp + 0x1b0]
push eax
push esi
call ecx
add esp, 8
mov edi, eax
mov ecx, dword [esp + 0x1c]
mov edx, esi
call fcn.10166380
test edi, edi
jne 0x10134692
mov eax, dword [esp + 0x1b0]
mov dword [eax], esi
mov eax, dword [esp + 4]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x1c]
push 2
push 0
call fcn.1000bb50
add esp, 8
test eax, eax
je 0x101345a4
mov ecx, dword [esp + 0x1b0]
mov dword [eax + 0x2c], ecx
inc dword [esi + 4]
jmp 0x1012c589
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
and word [ecx + eax*8 + 0x10], 0xf7ff
jmp case.0x1012c5c3.89
mov edx, dword [esp + 4]
mov esi, dword [edx + 4]
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.101677b0
lea ecx, [esi + esi*4]
mov esi, dword [edi + ecx*8 + 8]
mov ecx, dword [edi + ecx*8 + 0xc]
mov edi, ecx
sar edi, 0x1f
push edi
push ecx
push edx
push eax
call fcn.10157380
shld edx, eax, 0x1d
mov ecx, eax
and cl, 7
mov al, 1
shl al, cl
or byte [esi + edx], al
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov edx, dword [esp + 4]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 0xc]
mov ebx, dword [eax + ecx*4]
lea edi, [edx + edx*4]
mov eax, dword [esp + 0x10]
lea esi, [eax + edi*8]
cmp byte [ebx + 2], 0
je 0x1013476f
mov eax, dword [esp + 0x10]
test byte [eax + edi*8 + 0x11], 0x90
je 0x10133ae9
mov ecx, esi
call fcn.101287c0
jmp case.0x1012c5c3.89
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x178]
test eax, eax
jle 0x10132f50
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x190], 0
je 0x10133f9f
test edi, edi
je 0x1012c589
mov ecx, dword [edi + 8]
mov ebx, dword [ecx]
cmp dword [ebx + 0x38], 0
je 0x10132fef
test eax, eax
jle 0x10132f87
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x190]
xor esi, esi
xor edx, edx
cmp dword [ecx + edx*4], edi
je 0x10133fa4
inc edx
cmp eax, edx
jne 0x10132f79
mov ecx, dword [esp + 0xc]
call fcn.1016ad40
mov esi, eax
test eax, eax
jne 0x10133fa4
mov ecx, dword [ebx + 0x38]
mov esi, dword [edi + 8]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, eax
test eax, eax
jne 0x10135eaf
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x1f0]
mov dword [esp + 8], ecx
mov ecx, dword [eax + 0x178]
mov edx, dword [eax + 0x190]
lea esi, [ecx + 1]
mov dword [eax + 0x178], esi
mov eax, dword [eax + 0x1f4]
mov dword [edx + ecx*4], edi
inc dword [edi + 0xc]
add eax, dword [esp + 8]
jne 0x10135e89
xor esi, esi
jmp 0x10135eaf
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x10]
mov edi, dword [ecx + 0xcc]
lea edx, [edi + 1]
mov dword [ecx + 0xcc], edx
mov edx, dword [esp + 4]
mov esi, dword [edx + 4]
mov edx, dword [edx + 0x10]
shl esi, 4
push dword [eax + esi]
call fcn.1014f930
add esp, 4
test eax, eax
je 0x10133905
mov esi, eax
cmp byte [eax + 0x2b], 1
jne 0x10133905
mov eax, dword [esi + 0x34]
test eax, eax
je 0x10133905
mov ecx, eax
mov edx, dword [ecx + 8]
cmp dword [edx + 4], 0
jg 0x10134270
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x10133045
mov dword [esi + 0x34], 0
xor edi, edi
mov edx, dword [eax]
mov ecx, dword [eax + 0x18]
cmp edx, dword [esp + 0xc]
je 0x10133087
mov ebx, dword [edx + 0x194]
mov dword [eax + 0x18], ebx
mov dword [edx + 0x194], eax
mov eax, ecx
test ecx, ecx
jne 0x10133062
jmp 0x101342fc
mov dword [esi + 0x34], eax
mov dword [eax + 0x18], 0
mov edi, eax
jmp 0x1013307c
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
call sym.nss3.dll_sqlite3_initialize
test eax, eax
jne 0x1012d717
mov ecx, 8
xor edx, edx
call fcn.10143580
test eax, eax
je 0x1012d717
mov esi, eax
mov eax, dword [edi + 0x2c]
mov dword [esi], eax
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x10]
lea eax, [edx + eax*8]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x4c]
mov edx, dword [eax]
mov eax, dword [ecx + 8]
lea ebx, [eax + eax*4]
mov dword [esp + 8], edx
lea edi, [edx + ebx*8]
test byte [edi + 0x11], 0x90
jne 0x101347fc
mov word [edi + 0x10], 4
mov word [edi + 0x10], 1
mov ecx, edi
call fcn.10128780
mov dword [edi], str.ValueList
mov eax, dword [esp + 8]
mov dword [eax + ebx*8 + 8], esi
mov word [edi + 0x10], 0x1a01
mov byte [eax + ebx*8 + 0x13], 0x70
mov dword [eax + ebx*8 + 0x24], 0x101677a0
jmp case.0x1012c5c3.89
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10133aa5
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov edx, dword [esp + 4]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [eax + edx*4]
mov edi, dword [eax + 0x2c]
mov eax, dword [ecx + 0x2c]
mov esi, eax
mov eax, dword [eax + 0x14]
mov dword [esp + 0x60], eax
mov eax, dword [eax + 0x54]
mov dword [esp + 0x28], eax
mov ecx, edi
call fcn.10137730
mov dword [esp + 0x14], edi
mov edx, dword [edi + 0x2c]
cmp edx, 0x7f
ja 0x10133a24
mov eax, dword [esp + 0x28]
mov byte [eax], dl
inc eax
mov dword [esp + 0x28], eax
jmp 0x10133b65
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 8]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
test byte [esi + 0x11], 0x90
jne 0x101347f0
mov word [esi + 0x10], 4
mov word [esi + 0x10], 1
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0xcc]
inc eax
cmp dword [ecx + 0xc0], eax
jg 0x10133b35
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0xc]
lea ecx, [esp + 0x1b0]
mov dword [ecx], 0
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov edi, ebx
shl edi, 4
mov ecx, dword [eax + edi + 4]
lea eax, [esp + 0x1b0]
push eax
call fcn.10166a30
add esp, 4
mov word [esi + 0x10], 4
lea ecx, [esp + 0x1b0]
mov ecx, dword [ecx]
mov edx, ecx
sar edx, 0x1f
mov dword [esi], ecx
mov dword [esi + 4], edx
test eax, eax
jne 0x101343ab
test ecx, ecx
je 0x1012c589
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x50]
mov edx, dword [edx]
mov dword [esp + 8], edx
mov esi, dword [edx + edi + 0xc]
mov edx, dword [esi + 0x10]
test edx, edx
je 0x10133282
mov esi, dword [esp + 8]
add esi, edi
add esi, 0xc
mov edi, dword [edx + 8]
cmp dword [edi + 0x14], ecx
jne 0x1013327a
mov dword [edi + 0x14], eax
mov edx, dword [edx]
test edx, edx
jne 0x1013326f
mov esi, dword [esi]
mov edx, dword [esi + 0x20]
test edx, edx
je 0x10133a6e
mov esi, dword [edx + 8]
cmp dword [esi + 0x2c], ecx
jne 0x10133298
mov dword [esi + 0x2c], eax
mov edx, dword [edx]
jmp 0x10133285
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
cmp byte [eax], 1
mov edx, dword [eax + 0x2c]
jne 0x10133a5c
mov ecx, dword [esp + 0xc]
call fcn.10015500
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov edx, dword [esp + 4]
mov ecx, dword [edx + 4]
mov esi, dword [edx + 0xc]
mov dword [esp + 0x20], esi
mov eax, dword [eax + ecx*4]
mov ebx, dword [edx + 0x10]
mov edi, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
mov dword [esp + 8], eax
mov esi, dword [edi + 0x20]
test esi, esi
je 0x10133ab4
cmp byte [edi + 0x38], 0
je 0x10133ade
cmp byte [edi + 0x39], 0
je 0x10133fc3
mov eax, dword [edi + 0x10]
mov edi, dword [eax + 0x20]
add eax, 0x14
mov edx, dword [eax]
mov ecx, dword [esp + 8]
push esi
push edi
call fcn.10016380
add esp, 8
test ebx, ebx
jle 0x1013333b
mov eax, dword [esi + 4]
add eax, 0x10
test byte [eax], 1
jne 0x1012d446
add eax, 0x28
dec ebx
jne 0x1013332c
mov eax, dword [esp + 0x20]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + eax*8 + 8]
mov ecx, dword [ecx + eax*8 + 0xc]
push 0
push esi
call fcn.10008e80
add esp, 8
jmp 0x10133615
mov eax, dword [esp + 4]
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea esi, [ecx + eax*8]
test byte [esi + 0x11], 0x90
je 0x10133ad3
mov ecx, esi
call fcn.101287c0
lea eax, [edi + edi*4]
mov ecx, dword [esp + 0x10]
test byte [ecx + eax*8 + 0x10], 1
jne case.0x1012c5c3.89
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
mov word [esi + 0x10], 4
call fcn.1015bbe0
not eax
not edx
mov dword [esi + 4], edx
mov dword [esi], eax
jmp case.0x1012c5c3.89
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x60]
mov esi, dword [esp + 4]
mov edx, dword [esi + 4]
mov esi, dword [esi + 8]
mov esi, dword [eax + esi*4]
movsx eax, word [esi + 0x3c]
push 0
push eax
call fcn.1000bb50
add esp, 8
test eax, eax
je 0x1012d717
mov byte [eax + 2], 1
mov ecx, dword [eax + 8]
or ecx, 1
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x30]
mov dword [eax + 0x30], edx
mov dl, byte [esi + 4]
mov byte [eax + 4], dl
mov edx, dword [esi + 0x38]
mov dword [eax + 0x38], edx
mov edx, dword [esi + 8]
and edx, 4
and ecx, 0xfffffffb
or ecx, edx
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x10]
mov dword [eax + 0x10], edx
or ecx, 8
mov dword [eax + 8], ecx
or byte [esi + 8], 8
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x38]
push dword [eax + 0x2c]
push dword [eax + 0x30]
call fcn.1000c600
add esp, 8
mov dword [esp + 0x14], eax
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ebx, dword [esp + 4]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov esi, ecx
add esi, 1
mov dword [eax + 0x18], esi
mov esi, edx
adc esi, 0
mov dword [eax + 0x1c], esi
or ecx, edx
jne case.0x1012c5c3.89
jmp 0x1012c84e
mov edi, dword [esp + 4]
mov eax, dword [edi + 8]
test eax, eax
lea ecx, [eax + eax*4]
mov edx, dword [esp + 0x10]
lea esi, [edx + ecx*8]
cmove esi, eax
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xc]
push esi
push dword [edi + 4]
call fcn.101670e0
add esp, 8
jmp 0x1012f953
mov eax, dword [esp + 4]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x1c]
mov edi, dword [edx + 0x5c]
mov edx, dword [edx + 0x60]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x28], ecx
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 8], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x30], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + eax*8]
mov dword [esp + 0x2c], edx
mov esi, dword [ecx + eax*8 + 0x28]
test esi, esi
jle 0x101335bc
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax*8]
add eax, 0x28
lea ecx, [esi + 3]
and ecx, 0xfffffffc
lea edx, [esi - 1]
movd xmm0, edx
pshufd xmm0, xmm0, 0
movdqa xmm1, xmmword [0x101af270]
xor edx, edx
movdqa xmm2, xmmword [0x101af280]
movdqa xmm3, xmm0
pxor xmm3, xmm2
pxor xmm2, xmm1
pcmpgtd xmm2, xmm3
pcmpeqd xmm4, xmm4
movdqa xmm3, xmm1
psubd xmm3, xmm4
movd ebx, xmm2
not ebx
test bl, 1
je 0x10133546
movd ebx, xmm3
lea ebx, [ebx + ebx*4]
lea ebx, [eax + ebx*8]
mov dword [edi + edx*4], ebx
pxor xmm4, xmm2
pextrw ebx, xmm4, 2
test bl, 1
je 0x10133567
pshufd xmm4, xmm3, 0x55
movd ebx, xmm4
lea ebx, [ebx + ebx*4]
lea ebx, [eax + ebx*8]
mov dword [edi + edx*4 + 4], ebx
pcmpeqd xmm4, xmm4
pxor xmm2, xmm4
pextrw ebx, xmm2, 4
test bl, 1
je 0x1013358c
pshufd xmm4, xmm3, 0xee
movd ebx, xmm4
lea ebx, [ebx + ebx*4]
lea ebx, [eax + ebx*8]
mov dword [edi + edx*4 + 8], ebx
pextrw ebx, xmm2, 6
test bl, 1
je 0x101335a9
pshufd xmm2, xmm3, 0xff
movd ebx, xmm2
lea ebx, [ebx + ebx*4]
lea ebx, [eax + ebx*8]
mov dword [edi + edx*4 + 0xc], ebx
add edx, 4
paddd xmm1, xmmword [0x101af2d0]
cmp ecx, edx
jne 0x1013350a
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x10]
call dword [section..00cfg]
push edi
push esi
push ebx
push dword [esp + 0x38]
push dword [esp + 0x18]
call ecx
add esp, 0x14
mov edi, eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
call fcn.10166380
test edi, edi
jne 0x10134692
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x28]
call dword [section..00cfg]
push dword [esp + 8]
call ecx
add esp, 4
mov ecx, dword [esp + 0x28]
mov byte [ecx + 2], 0
mov dword [esp + 0x14], 0
jmp 0x1012fb22
xor eax, eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x57], 0
jne 0x1012d717
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
mov ebx, 6
mov dword [esp + 8], eax
test eax, eax
je 0x10136edb
mov eax, dword [esp + 8]
mov esi, dword [eax]
test esi, esi
je 0x10136edb
cmp dword [esi + 0x34], 0
je case.0x1012c5c3.89
mov eax, dword [esp + 4]
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0xc]
mov al, byte [eax + 0x5c]
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 0x5c]
mov dword [esp + 0x20], ecx
test ecx, ecx
jle 0x10133766
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xc]
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x10]
lea ecx, [eax + ecx*8]
mov eax, dword [esp + 0x20]
lea edx, [eax + 3]
and edx, 0xfffffffc
lea edi, [eax - 1]
movd xmm0, edi
pshufd xmm0, xmm0, 0
movdqa xmm1, xmmword [0x101af270]
xor edi, edi
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmmword [0x101af2c0]
movdqa xmm3, xmmword [0x101af280]
movdqa xmm4, xmm0
pxor xmm4, xmm3
pxor xmm3, xmm1
pcmpgtd xmm3, xmm4
movd eax, xmm3
not eax
test al, 1
je 0x10133701
movd dword [ebx + edi*4], xmm2
pcmpeqd xmm4, xmm4
pxor xmm4, xmm3
pextrw eax, xmm4, 2
test al, 1
je 0x1013371d
pshufd xmm5, xmm2, 0x55
movd dword [ebx + edi*4 + 4], xmm5
pextrw eax, xmm4, 4
test al, 1
je 0x10133731
pshufd xmm4, xmm2, 0xee
movd dword [ebx + edi*4 + 8], xmm4
pcmpeqd xmm4, xmm4
pxor xmm3, xmm4
pextrw eax, xmm3, 6
test al, 1
je 0x1013374d
pshufd xmm2, xmm2, 0xff
movd dword [ebx + edi*4 + 0xc], xmm2
add edi, 4
add ecx, 0xa0
paddd xmm1, xmmword [0x101af2d0]
cmp edx, edi
jne 0x101336c9
mov eax, dword [esp + 4]
mov al, byte [eax + 2]
mov edi, dword [esp + 0xc]
mov byte [edi + 0x5c], al
mov ecx, dword [esi + 0x34]
call dword [section..00cfg]
lea eax, [esp + 0x1b0]
push eax
push ebx
push dword [esp + 0x28]
mov esi, dword [esp + 0x14]
push esi
call ecx
add esp, 0x10
mov ebx, eax
mov al, byte [esp + 0x30]
mov byte [edi + 0x5c], al
mov ecx, dword [esp + 0x1c]
mov edx, esi
call fcn.10166380
test ebx, ebx
je 0x101350b3
cmp bl, 0x13
jne 0x10134699
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x10134699
mov eax, dword [esp + 4]
movzx eax, word [eax + 2]
mov dword [esp + 0x14], 0
cmp eax, 4
je case.0x1012c5c3.89
mov cl, 2
cmp eax, 5
je 0x101337ec
mov ecx, eax
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x92], cl
jmp 0x10136edb
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
test byte [ecx + eax*8 + 0x10], 0x24
je case.0x1012c5c3.89
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
call fcn.10166730
jmp case.0x1012c5c3.89
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
test eax, eax
js 0x10133afd
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0xc]
movzx edx, word [eax + 0x3e]
cmp ecx, edx
jge 0x10133b4a
mov eax, dword [eax + ecx*4 + 0x58]
cmp eax, 0xc
jb 0x10134264
xor ecx, ecx
test al, 1
sete cl
lea eax, [ecx*4 + 4]
jmp 0x10133b20
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
je case.0x1012c5c3.89
cmp byte [eax + 2], 0
je case.0x1012c5c3.89
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
test byte [ecx + eax*8 + 0x11], 0x90
je 0x10134284
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
call fcn.101287c0
jmp 0x1012d44e
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
je case.0x1012c5c3.9
cmp byte [eax + 2], 0
jne case.0x1012c5c3.9
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov edx, dword [esp + 4]
mov ecx, dword [edx + 4]
mov eax, dword [eax + ecx*4]
movzx eax, word [eax + 0xc]
cmp dword [edx + 0x10], eax
jg case.0x1012c5c3.27
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0xc]
mov dword [eax + 0xcc], edi
jmp 0x1012c589
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x10]
lea edi, [eax + eax*4]
mov eax, dword [esp + 0x10]
test byte [eax + edi*8 + 0x10], 0x10
jne 0x10133943
mov eax, dword [esp + 0x10]
lea ecx, [eax + edi*8]
call fcn.100164c0
test eax, eax
jne 0x1012d717
lea eax, [ebx + ebx*4]
mov ecx, dword [esp + 0x10]
lea ebx, [ecx + eax*8]
test esi, esi
jne 0x10134ac1
mov edx, dword [ebx]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + edi*8 + 8]
push dword [ebx + 4]
call fcn.10166d40
add esp, 4
jmp case.0x1012c5c3.89
cmp dword [esp + 0x5c], 0
jne case.0x1012c5c3.89
mov dword [esp + 0x5c], 0
jmp 0x1012d44e
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
lea edx, [eax + eax*4]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
mov esi, eax
or esi, ecx
je case.0x1012c5c3.89
cmp eax, 1
mov esi, ecx
sbb esi, 0
jl 0x1012d44e
mov esi, dword [esp + 0x10]
lea edx, [esi + edx*8]
add eax, 0xffffffff
adc ecx, 0xffffffff
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x1012d44e
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
test byte [eax + ecx*8 + 0x11], 0x90
je 0x101375c4
mov ecx, dword [esp + 0x20]
jmp 0x10132f20
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
mov ecx, eax
sar ecx, 0x1f
mov edx, dword [esp + 0xc]
add dword [edx + 0x200], eax
adc dword [edx + 0x204], ecx
jmp case.0x1012c5c3.89
test al, 1
jne 0x10132ce8
lea ecx, [esp + 0x1b0]
xor edx, edx
inc edx
call fcn.10004000
jmp 0x10132ce0
cmp edx, 0x3fff
ja 0x10133b53
mov eax, edx
shr eax, 7
or al, 0x80
mov ecx, dword [esp + 0x28]
mov byte [ecx], al
and dl, 0x7f
mov byte [ecx + 1], dl
mov eax, 2
jmp 0x10133b61
mov eax, dword [esp + 0x1c]
inc dword [eax + 0xc4]
jmp 0x1012d44e
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0x40]
push 0
call fcn.1004c720
jmp 0x1012f950
inc bl
mov dword [esp + 0x74], ebx
jmp 0x1012c589
cmp dword [esi + 8], 1
setne cl
mov dword [esp + 0x60], ecx
jmp 0x1013288c
xor edx, edx
dec edx
mov eax, edx
jmp 0x10132b91
xor ebx, ebx
jmp 0x10132d63
mov ebx, dword [eax + 0xa0]
jmp 0x10132d8c
xor ebx, ebx
mov dword [esp + 8], 0
jmp 0x10133158
mov ecx, dword [esp + 8]
call fcn.10158250
mov dword [edi + 0x20], eax
test eax, eax
je 0x10137396
mov esi, eax
mov word [eax + 0x14], bx
jmp 0x101332f5
mov word [esi + 0x10], 1
jmp 0x10133383
mov eax, dword [edi + 0x24]
lea edi, [eax + 8]
jmp 0x10133312
mov eax, dword [esp + 0x10]
lea eax, [eax + edi*8]
add eax, 0x10
mov word [eax], 1
jmp case.0x1012c5c3.89
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx + eax*8 + 0x10]
and eax, 0x3f
mov cl, byte [eax + 0x101af8fa]
dec cl
xor eax, eax
inc eax
shl eax, cl
mov ebx, dword [esp + 4]
movzx ecx, word [ebx + 2]
test eax, ecx
jne 0x1012c84e
jmp case.0x1012c5c3.89
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x92], 2
mov ecx, 6
jmp 0x101343ad
mov eax, dword [esp + 4]
mov cl, byte [eax + 0x10]
jmp 0x10133b19
mov ecx, dword [esp + 0x28]
push 0
call fcn.1004c5c0
add esp, 4
add dword [esp + 0x28], eax
cmp dword [esi + 0x70], 0
je 0x10133eda
mov eax, dword [esp + 0x14]
movzx edx, word [eax + 0x30]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x30], ecx
mov dword [esp + 8], edx
lea ebx, [ecx + edx]
cmp ebx, dword [eax + 0x3c]
ja 0x10134567
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x2c]
mov eax, dword [esi + 0x74]
movzx ecx, word [eax + 0xe]
mov dword [esp + 0x3c], edx
cmp edx, dword [esp + 8]
jne 0x10133bd7
cmp word [esp + 8], cx
jae 0x10133bd7
mov edi, dword [esp + 8]
push edi
push dword [esp + 0x34]
mov esi, dword [esp + 0x30]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, esi
mov eax, dword [esp + 0x60]
sub edi, dword [eax + 0x54]
mov dword [eax + 0x58], edi
jmp 0x1012c589
movzx esi, cx
xor edx, edx
mov dword [esp + 0x1b0], edx
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x14]
mov ecx, dword [ecx]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x54], 0
mov dword [esp + 0x160], edx
mov ecx, dword [esp + 0x3c]
mov edx, ecx
mov dword [esp + 0x20], ecx
cmp ecx, esi
jbe 0x10133c39
movzx edi, word [eax + 0x10]
xor ecx, ecx
mov edx, dword [esp + 0x3c]
sub edx, edi
sbb ecx, ecx
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 0x28]
add eax, 0xfffffffc
push 0
push eax
push ecx
push edx
call fcn.101572c0
add eax, edi
cmp eax, esi
cmovg eax, edi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x60]
sub eax, dword [ecx + 0x54]
mov edx, dword [esp + 0x20]
add eax, edx
mov dword [ecx + 0x58], eax
mov ecx, dword [esp + 0x14]
cmp edx, dword [ecx + 0x2c]
jae 0x10133c6e
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
add ecx, edx
mov dword [esp + 0x54], ecx
add eax, 4
mov ecx, dword [esp + 0x60]
mov dword [ecx + 0x58], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 8]
cmp dword [esp + 0x3c], eax
jbe 0x10133caf
add ebx, 4
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x74]
cmp ebx, dword [eax + 0x3c]
ja 0x10134576
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 8]
mov eax, dword [eax + ecx]
bswap eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
sub dword [esp + 0x3c], eax
cmp dword [esp + 8], 0
je 0x10133d79
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x20]
cmp esi, edi
mov ebx, edi
cmovb ebx, esi
push ebx
push dword [esp + 0x34]
push dword [esp + 0x30]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
sub esi, ebx
mov dword [esp + 0x20], esi
sub edi, ebx
mov dword [esp + 8], edi
add dword [esp + 0x28], ebx
add dword [esp + 0x30], ebx
cmp dword [esp + 0x20], 0
je 0x10133d86
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x10133d11
call fcn.10157430
lea esi, [esp + 0x160]
mov dword [esi], 0
mov edi, dword [esp + 0x38]
mov ecx, dword [edi + 0xdc]
call dword [section..00cfg]
push 2
push esi
push dword [esp + 0x34]
push edi
call ecx
add esp, 0x10
mov dword [esp + 0x1b0], eax
test eax, eax
jne 0x10133e9c
mov eax, dword [esp + 0x160]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
bswap eax
mov dword [esp + 0x2c], eax
add ecx, 4
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x28]
add eax, 0xfffffffc
mov dword [esp + 8], eax
jmp 0x10133cb7
mov dword [esp + 8], 0
jmp 0x10133cf6
mov ebx, dword [esp + 0x1b0]
mov dword [esp + 0x20], 0
test ebx, ebx
jne 0x10133e71
cmp dword [esp + 0x3c], 0
je 0x10133e71
cmp dword [esp + 0x54], 0
je 0x10133e71
xor eax, eax
lea edx, [esp + 0x15c]
mov dword [edx], eax
lea esi, [esp + 0x150]
mov ebx, dword [esp + 0x60]
mov ecx, ebx
push eax
push eax
push esi
call fcn.10010080
add esp, 0xc
mov dword [esp + 0x1b0], eax
mov eax, dword [esi]
bswap eax
mov ecx, dword [esp + 0x54]
mov dword [ecx], eax
cmp byte [ebx + 0x11], 0
je 0x10133e89
cmp dword [esp + 0x44], 0
je 0x10133e89
mov edx, dword [esp + 0x150]
lea eax, [esp + 0x1b0]
mov ecx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x48]
push dword [eax + 4]
push 4
call fcn.1000f960
add esp, 0xc
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x48]
call fcn.10157430
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x44], eax
test eax, eax
je 0x10133e92
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x38]
mov dword [eax], 0
mov dword [esp + 0x54], eax
add eax, 4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x28]
add ecx, 0xfffffffc
mov eax, dword [esp + 0x3c]
cmp ecx, eax
cmovae ecx, eax
mov dword [esp + 0x20], ecx
mov ebx, dword [esp + 0x1b0]
test ebx, ebx
sete al
mov esi, eax
cmp dword [esp + 0x3c], 0
je 0x10133ea0
test ebx, ebx
je 0x10133caf
jmp 0x10133ea0
cmp dword [esp + 0x44], 0
jne 0x10133e20
jmp 0x10133e2c
mov dword [esp + 0x20], 0
jmp 0x10133e6a
mov ebx, eax
xor esi, esi
cmp dword [esp + 0x44], 0
je 0x10133eb3
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x48]
call fcn.10157430
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x10133ec3
call fcn.10157430
mov dword [esp + 0x14], 0
mov eax, esi
test al, al
jne case.0x1012c5c3.89
jmp 0x10136edb
xor eax, eax
mov ecx, 0x7f
mov edx, ebx
cmp ecx, ebx
mov ecx, 0
sbb ecx, dword [esp + 8]
jb 0x10133fe7
mov eax, dword [esp + 0x28]
mov byte [eax], bl
xor eax, eax
inc eax
add dword [esp + 0x28], eax
jmp 0x10133b6f
dec dword [eax + 0x18]
jne 0x10133f23
jmp 0x101327b4
add ecx, 8
mov edx, dword [eax + 0x14]
mov dword [ecx], edx
mov ecx, dword [esp + 0xc]
mov edx, eax
call fcn.1001e2b0
mov eax, dword [esp + 0xc]
or byte [eax + 0x18], 1
jmp case.0x1012c5c3.89
mov edx, dword [esi + 4]
add ecx, 8
call fcn.10158ef0
mov eax, dword [eax + 8]
test eax, eax
je 0x10132851
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x10132851
cmp ecx, esi
je 0x10134dac
mov eax, ecx
mov ecx, dword [ecx + 0x20]
test ecx, ecx
je 0x10132851
cmp ecx, esi
jne 0x10133f59
add eax, 0x20
jmp 0x10134daf
xor eax, eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x178], 7
mov dword [esp + 0x170], eax
cmp dword [esp + 0x174], eax
jne 0x101340db
jmp 0x101340d0
mov esi, 6
test edi, edi
jne 0x10135eaf
mov dword [esp + 0x14], 0
test esi, esi
je case.0x1012c5c3.89
mov ecx, esi
jmp 0x101343ad
mov ecx, dword [edi + 0x14]
mov eax, dword [ecx + 8]
imul eax, dword [eax + 4], 0x38
add eax, dword [ecx + 0xc]
jmp 0x1013330c
sar ecx, 0x1f
mov edx, dword [esp + 0x1c]
add dword [edx + 0x40], eax
adc dword [edx + 0x44], ecx
jmp case.0x1012c5c3.89
mov ecx, 0x3fff
mov edx, ebx
cmp ecx, ebx
sbb eax, dword [esp + 8]
jb 0x101343b6
mov eax, ebx
shr eax, 7
or al, 0x80
mov ecx, dword [esp + 0x28]
mov byte [ecx], al
and bl, 0x7f
mov byte [ecx + 1], bl
mov eax, 2
jmp 0x10133efd
or dword [esp + 0x30], eax
or edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x1012f35e
mov ecx, eax
or ecx, edx
je 0x1013448a
mov cl, 0xd1
sub cl, bl
mov byte [esp + 0x28], cl
xor esi, esi
mov ecx, eax
neg ecx
mov dword [esp + 0x38], ecx
mov edi, 0
sbb edi, edx
mov ecx, 0xffffffc0
cmp ecx, eax
mov ecx, 0xffffffff
sbb ecx, edx
cmovge edi, esi
mov esi, 0x40
cmovl esi, dword [esp + 0x38]
test edx, edx
movzx ebx, bl
movzx ecx, byte [esp + 0x28]
cmovs ebx, ecx
cmovns edi, edx
cmovns esi, eax
mov dword [esp + 0x28], esi
cmp esi, 0x40
sbb edi, 0
jl 0x1013496f
cmp dword [esp + 0x2c], 0
sets al
cmp bl, 0x68
setne cl
and cl, al
movzx edx, cl
neg edx
mov dword [esp + 0x30], edx
jmp 0x1013401f
mov dword [esp + 0x178], 7
mov dword [esp + 0x170], 0
cmp dword [esp + 0x174], 0
jne 0x101340db
mov dword [esp + 0x174], 1
mov ecx, dword [esp + 0x1a4]
call fcn.1000fb30
push dword [esp + 0x168]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov ebx, dword [esp + 0x174]
test ebx, ebx
je 0x10134203
mov eax, dword [esp + 0x190]
test eax, eax
je 0x1013413d
mov ecx, dword [esp + 0x19c]
mov byte [eax + ecx], 0
cmp dword [esp + 0x198], 0
je 0x1013413d
test byte [esp + 0x1a1], 4
jne 0x1013413d
lea ecx, [esp + 0x18c]
call fcn.10067a00
jmp 0x10134144
mov eax, dword [esp + 0x190]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
cmp byte [eax + 9], 0
je 0x10134164
mov eax, dword [esp + 0x30]
dec dword [eax + 0xc]
jne 0x10134164
mov ecx, dword [esp + 0x30]
call fcn.10005b60
mov eax, dword [esp + 0x2c]
lea edi, [eax + eax*4]
mov eax, dword [esp + 0x10]
lea esi, [eax + edi*8]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x14], eax
test byte [esi + 0x11], 0x90
je 0x10134259
mov ecx, esi
call fcn.101287c0
test ebx, ebx
je 0x101341cd
cmp dword [esp + 0x14], 0
jne 0x101343cd
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
lea eax, [eax + ecx*8]
dec ebx
mov ecx, ebx
sar ecx, 0x1f
sub dword [eax], ebx
sbb dword [eax + 4], ecx
xor eax, eax
dec eax
mov ecx, esi
mov edx, dword [esp + 8]
push sym.nss3.dll_sqlite3_free
push 1
push eax
push eax
call fcn.10030070
add esp, 0x10
test byte [esi + 0x10], 2
mov eax, dword [esp + 0x10]
lea eax, [eax + edi*8 + 0x12]
jne 0x101341e6
mov cl, byte [esp + 0x1b]
mov byte [eax], cl
jmp 0x1012d4dd
mov cl, byte [esp + 0x1b]
cmp byte [eax], cl
je 0x1012d4dd
movzx edx, byte [esp + 0x1b]
mov ecx, esi
call fcn.10129540
jmp 0x1012d4dd
mov al, byte [esp + 0x1a1]
test al, 4
je 0x10134235
mov edx, dword [esp + 0x190]
test edx, edx
je 0x1013422c
mov ecx, dword [esp + 0x18c]
call fcn.1014d210
mov al, byte [esp + 0x1a1]
and al, 0xfb
mov byte [esp + 0x1a1], al
xor eax, eax
mov dword [esp + 0x194], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 8], 0
mov dword [esp + 0x190], eax
jmp 0x10134148
mov word [esi + 0x10], 1
jmp 0x1013418e
movzx eax, byte [eax + 0x101b0566]
jmp 0x10133b20
mov ebx, dword [esp + 0xc]
mov dword [ebx + 0xcc], edi
mov ecx, 6
jmp 0x10130c90
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax*8]
add eax, 0x10
mov word [eax], 1
jmp 0x1012d44e
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x2c], ebx
mov ebx, edx
call fcn.101287c0
mov ecx, dword [esp + 0x20]
mov edx, ebx
mov ebx, dword [esp + 0x2c]
jmp 0x1012d222
movzx eax, word [esi + 0x10]
test al, 4
je 0x1012c9d7
mov ecx, dword [esi + 4]
lea edx, [ecx + 0x8000]
test edx, 0xffff0000
jne 0x10134dd2
mov cx, 0x20
mov dx, 0xffdb
jmp 0x10134e0a
mov ecx, esi
mov dword [esp + 8], edx
call fcn.101287c0
mov edx, dword [esp + 8]
jmp 0x1012c707
mov eax, dword [edi + 4]
mov eax, dword [eax]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x1013430b
mov ecx, dword [eax + 0x10]
inc dword [esi + 0x18]
mov ebx, dword [edi + 8]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov ebx, eax
test eax, eax
je 0x10135457
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x208], 0
je 0x10134b5c
mov ecx, dword [esp + 0xc]
mov edx, esi
call fcn.1001dfd0
mov eax, dword [esp + 0xc]
dec dword [eax + 0xcc]
mov dword [esp + 0x14], 0
test ebx, ebx
je case.0x1012c5c3.89
jmp 0x10136edb
mov eax, dword [esp + 0x20]
cmp dword [eax], 0
je 0x10134b6a
cmp dword [edx + 0x4c], 0
je 0x10135075
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 0xc]
test eax, eax
jg 0x1012c851
push 0x101cff9b
push 0x16c88
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov eax, 0xb
mov ecx, eax
mov ebx, dword [esp + 0xc]
jmp 0x10130c90
mov ecx, dword [esp + 0x28]
mov edx, ebx
push dword [esp + 8]
call fcn.1004c5c0
add esp, 4
jmp 0x10133efd
push dword [esp + 8]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov ecx, dword [esp + 0x14]
jmp 0x101343ad
mov edi, edx
mov ecx, edx
jmp 0x1012c5fc
mov esi, edx
test byte [esp + 0x1c1], 0x90
jne 0x10134b2d
cmp dword [esp + 0x1c8], 0
jne 0x10134b2d
mov edx, esi
jmp 0x1012d1f0
mov edx, dword [esp + 4]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
cmp byte [edx + 1], 0xf6
jne 0x10134b44
mov edx, dword [esp + 4]
mov edx, dword [edx + 0x10]
mov esi, dword [esp + 0x10]
test byte [esi + eax*8 + 0x11], 0x90
jne 0x10135956
mov esi, dword [edx + 0x10]
mov dword [ecx + 0x10], esi
movdqu xmm0, xmmword [edx]
movdqu xmmword [ecx], xmm0
test byte [edx + 0x11], 0x20
jne case.0x1012c5c3.89
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax*8]
add eax, 0x10
mov ecx, 0xffff8fff
and ecx, dword [eax]
or ecx, 0x2000
mov word [eax], cx
jmp case.0x1012c5c3.89
mov esi, eax
sar esi, 0x1f
mov edx, eax
push esi
call fcn.101665f0
add esp, 4
jmp case.0x1012c5c3.89
mov edx, dword [esp + 0x2c]
jmp 0x1013401f
mov ebx, eax
cmp bl, 5
jne 0x10136edb
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x58]
sar eax, 2
imul eax, eax, 0xcccccccd
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], ebx
jmp 0x101358ba
mov ecx, 0x204
jmp 0x101343ad
mov eax, dword [esp + 0x70]
mov edx, dword [eax]
test edx, edx
je 0x101344db
mov ecx, dword [esp + 0xc]
call fcn.1014d210
mov esi, dword [esp + 0xc]
mov ecx, esi
mov edx, str.database_schema_has_changed
call fcn.10038240
mov ecx, dword [esp + 0x70]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 4]
mov ecx, edx
shl ecx, 4
mov eax, dword [eax + ecx + 0xc]
mov eax, dword [eax]
cmp eax, dword [esp + 0x1b0]
je 0x10134518
mov ecx, dword [esp + 0xc]
call fcn.10157900
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x98]
and eax, 0xffffffec
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, 0x11
jmp 0x101343ad
cmp dword [esp + 0x1c8], 0
je 0x1013454e
lea ecx, [esp + 0x1b0]
call fcn.10128780
push 0x101cff9b
push 0x155a5
jmp 0x101346b4
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x10134637
push 0x101cff9b
push 0x12fd1
jmp 0x101346b4
push 0x101cff9b
push 0x12fea
jmp 0x101346b4
push 0x101cff9b
push 0x1754b
jmp 0x101346b4
mov eax, dword [esp + 8]
mov ecx, dword [eax]
call fcn.1000db40
jmp 0x10134692
mov ecx, dword [ebx + 0x1c]
mov esi, dword [esp + 0x1b0]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x1012d717
cmp dword [esp + 0x28], 5
mov eax, str.into
mov ecx, str.out_of
cmove ecx, eax
push ecx
push str.cannot_change__s_wal_mode_from_within_a_transaction
push dword [esp + 0x24]
call fcn.10157810
add esp, 0xc
xor ecx, ecx
inc ecx
mov ebx, esi
jmp 0x10130c90
and eax, 0x3f
movzx eax, byte [eax + 0x101af8fa]
push dword [ebx]
mov edx, dword [esp + 0xc]
push dword [edx]
push dword [ecx*4 + 0x101ef838]
push dword [eax*4 + 0x101b05f8]
push str.cannot_store__s_value_in__s_column__s._s
push dword [esp + 0x30]
call fcn.10157810
add esp, 0x18
mov ecx, 0xc13
jmp 0x101343ad
mov ebx, 0x65
jmp 0x101358ba
push str.cannot_open_savepoint___SQL_statements_in_progress
push dword [esp + 0x20]
call fcn.10157810
add esp, 8
mov ecx, 5
jmp 0x10130c90
push 0x101cff9b
push 0x155c6
jmp 0x101346b4
mov eax, dword [esp + 8]
mov dword [eax + 0x2c], 0
mov ecx, 7
mov ebx, edi
jmp 0x10130c90
mov ecx, eax
jmp 0x10130c90
push edx
call sym.nss3.dll_sqlite3_value_text
add esp, 4
push eax
push 0x101caf3f
push dword [esp + 0x24]
call fcn.10157810
add esp, 0xc
mov ecx, edi
jmp 0x101343ad
mov eax, dword [esp + 0x1c]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp 0x10136edb
push 0x101cff9b
push 0x17a4b
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov ecx, 0xb
jmp 0x101343ad
mov ecx, ebx
call fcn.1015b720
jmp 0x1012d717
push str.too_many_levels_of_trigger_recursion
push dword [esp + 0x20]
call fcn.10157810
add esp, 8
xor ecx, ecx
inc ecx
jmp 0x10130c90
xor ecx, ecx
bt eax, 0x14
setae cl
lea ecx, [ecx + ecx*2]
or ecx, 8
jmp 0x101343ad
mov eax, dword [esp + 4]
cmp word [eax + 2], 0
mov ecx, dword [esp + 0x30]
cmovne ecx, eax
mov dword [esp + 0x30], ecx
jmp 0x101347df
lea ecx, [edx + eax*8]
mov edi, edx
call fcn.10167820
mov edx, edi
jmp 0x1012c7ea
mov ecx, esi
call fcn.10167820
jmp 0x10132747
mov ecx, dword [esp + 8]
call fcn.10167820
jmp 0x10132b40
mov byte [eax], 1
jmp 0x10132c28
mov ecx, esi
call fcn.10167820
jmp 0x10132d39
mov ecx, esi
call fcn.10167820
jmp 0x10132dd4
mov eax, dword [ebx + 0x2c]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov eax, dword [eax]
mov dword [esp + 0x30], eax
pxor xmm0, xmm0
movdqu xmmword [esp + 0x1c0], xmm0
movdqu xmmword [esp + 0x1b4], xmm0
mov dword [esp + 0x1b0], esi
mov al, byte [esp + 0x1b]
mov byte [esp + 0x1c8], al
mov eax, dword [esp + 4]
test byte [eax + 2], 1
mov eax, dword [esp + 0x10]
lea eax, [eax + edi*8 + 0x10]
mov dword [esp + 8], eax
movzx eax, word [eax]
jne 0x10134db9
and eax, 0xfffff240
or eax, 1
mov ecx, dword [esp + 8]
mov word [ecx], ax
jmp 0x10135144
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x30]
jmp 0x1012c84e
mov ecx, esi
call fcn.10167820
jmp 0x101331ce
mov ecx, edi
call fcn.10167820
jmp 0x10133104
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x38]
cmp dword [eax + 0x40], 0
je 0x10134b90
lea eax, [esp + 0x160]
push str.incremental_vacuum_enabled_with_a_max_rootpage_of_zero
push eax
call fcn.10169b00
add esp, 8
jmp 0x10134b90
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 4]
mov al, byte [eax + 8]
mov byte [ecx + 0x92], al
mov eax, dword [esp + 4]
movzx eax, word [eax + 2]
test eax, eax
jne 0x10134a7b
mov eax, dword [esp + 4]
push dword [eax + 0x10]
push 0x101caf3f
push dword [esp + 0x24]
call fcn.10157810
add esp, 0xc
mov ecx, dword [esp + 4]
mov eax, ecx
sub eax, dword [esp + 0x58]
sar eax, 2
imul eax, eax, 0xcccccccd
mov esi, dword [esp + 0x1c]
push dword [esi + 0x7c]
push dword [esi + 0xc8]
push eax
push str.abort_at__d_in___s_:__s
push dword [ecx + 4]
call sym.nss3.dll_sqlite3_log
add esp, 0x14
jmp 0x1012d677
mov dword [esp + 0x30], 0
jmp 0x1012d1f8
mov ebx, ecx
mov ecx, edx
xor edx, edx
mov dword [esp + 0x1d4], edx
mov dword [esp + 0x1d0], edx
xorpd xmm0, xmm0
movapd xmmword [esp + 0x1c0], xmm0
movapd xmmword [esp + 0x1b0], xmm0
mov dword [esp + 0x3c], ecx
mov ecx, dword [ecx + 0x2c]
mov edi, dword [ecx + 0x28]
mov esi, dword [ecx + 0x74]
mov esi, dword [esi + 0x3c]
sub esi, edi
test esi, esi
cmovg edx, esi
mov dword [esp + 0x30], ecx
movzx ecx, word [ecx + 0x30]
cmp esi, ecx
cmovge edx, ecx
mov esi, dword [ebx]
mov dword [esp + 0x1b8], edi
cmp edx, esi
jae 0x10134e1d
lea eax, [esp + 0x1b0]
mov ecx, dword [esp + 0x30]
xor edx, edx
push eax
push esi
call fcn.100071b0
add esp, 8
test eax, eax
jne 0x101343ab
mov ebx, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x3c]
movzx eax, word [ecx + 0x3e]
mov ecx, dword [ecx + 0x34]
mov dword [esp + 8], ecx
jmp 0x10134e30
add edx, dword [esi]
jmp 0x1012c6dd
cmp bl, 0x68
jne 0x10134e4d
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
shld edi, edx, cl
shl edx, cl
xor eax, eax
test cl, 0x20
cmovne edi, edx
cmovne edx, eax
mov dword [esp + 0x30], edx
mov edx, edi
jmp 0x1013401f
inc edx
add esi, 8
adc dword [esp + 0x30], 0
mov dword [edi + 0x1c], 7
jmp 0x1012cb80
mov edx, ecx
mov ecx, esi
mov esi, edi
mov eax, dword [edi]
lea edx, [edx + eax*2]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x20], ecx
or ecx, dword [esp + 0x30]
jne 0x1013576e
mov ecx, eax
sar ecx, 0x1f
add dword [esp + 0x60], eax
adc dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
mov edi, esi
mov esi, ecx
mov ecx, dword [esp + 0x3c]
jmp 0x1012cb57
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x93], 0xfe
je 0x1012c82d
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x10]
test esi, esi
je 0x10135290
cmp dword [ecx + 0xc8], 2
jl 0x10135268
push esi
push str.____s
mov ebx, dword [esp + 0x14]
push ebx
call fcn.10020cd0
add esp, 0xc
mov esi, eax
mov ecx, dword [ebx + 0xd8]
mov edi, dword [ebx + 0xdc]
call dword [section..00cfg]
push esi
push dword [esp + 0x20]
push edi
push 1
call ecx
add esp, 0x10
test esi, esi
je 0x1012c82d
mov ecx, ebx
mov edx, esi
call fcn.1014d210
jmp 0x1012c82d
mov edx, esi
sar edx, 0x1f
mov ecx, esi
call fcn.10143580
jmp 0x1012cf82
push dword [eax*4 + 0x101b0540]
push str._s_constraint_failed
push dword [esp + 0x24]
call fcn.10157810
add esp, 0xc
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1013488c
push eax
mov esi, dword [esp + 0x74]
push dword [esi]
push str._z:__s
push dword [esp + 0x18]
call fcn.10020cd0
add esp, 0x10
mov dword [esi], eax
jmp 0x1013488c
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + edi*8 + 8]
mov edx, esi
push dword [ebx + 4]
push dword [ebx]
call fcn.10166dd0
add esp, 8
test eax, eax
jne 0x1012d44e
test esi, esi
jns 0x10133955
jmp case.0x1012c5c3.89
mov dword [esp + 0x30], ecx
movzx eax, byte [ecx + 0x101b0576]
jmp 0x1012d158
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0xc]
push dword [esp + 0x70]
push eax
call fcn.101676d0
add esp, 8
mov esi, eax
jmp 0x10132ce8
mov dword [esi + 0x24], 5
mov ebx, 5
jmp 0x101358be
lea ecx, [esp + 0x1b0]
call fcn.10128780
mov edx, esi
movzx eax, word [esi + 0x3e]
jmp 0x1012d1f0
mov edx, dword [esp + 0x10]
test byte [edx + eax*8 + 0x11], 0x90
jne 0x10132f20
mov ecx, dword [esp + 0x10]
jmp 0x10130ac1
dec dword [esi + 0x18]
jne 0x10134343
jmp 0x10134338
xor eax, eax
mov ecx, edi
mov esi, dword [esp + 0x38]
jmp 0x1012d1dd
xor eax, eax
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x34]
bswap ecx
cmp eax, ecx
jne 0x1013546b
mov eax, dword [esp + 8]
mov eax, dword [eax + 4]
and dword [eax + 0x20], 0xffdfffff
mov eax, dword [esp + 0x170]
cmp dword [esp + 0x20], 0
jle 0x10134c1b
test eax, eax
je 0x10134c1b
xor ebx, ebx
inc ebx
mov edx, dword [esi + ebx*4]
test edx, edx
jne 0x10134bc7
cmp ebx, dword [esp + 0x20]
jge 0x10134c1b
inc ebx
test eax, eax
jne 0x10134bb3
jmp 0x10134c1b
mov eax, dword [esp + 8]
cmp byte [eax + 0x11], 0
je 0x10134bf3
cmp dword [esp + 0x28], 0
je 0x10134bf3
cmp edx, 1
je 0x10134bf3
lea ecx, [esp + 0x160]
push 0
push 1
call fcn.10169bc0
add esp, 8
mov edx, dword [esi + ebx*4]
lea edi, [esp + 0x160]
mov ecx, edi
mov eax, closesocket
push eax
xor eax, eax
dec eax
push eax
lea eax, [esp + 0x158]
push eax
call fcn.10169c70
add esp, 0xc
mov eax, dword [edi + 0x10]
jmp 0x10134bba
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0x24], edx
mov edx, dword [esp + 0x14]
mov dword [ecx + 0x20], edx
cmp dword [esp + 0x28], 0
je 0x101340db
cmp dword [esp + 0x16c], 0
je 0x101340db
test eax, eax
je 0x101340db
xor edi, edi
dec edi
lea ebx, [edi + 2]
mov eax, dword [esp + 0x168]
mov esi, ebx
shr esi, 3
mov ecx, ebx
and cl, 7
xor edx, edx
inc edx
shl edx, cl
mov dword [esp + 0x20], edx
movzx eax, byte [eax + esi]
mov ecx, ebx
and ecx, 7
bt eax, ecx
jae 0x10134cf4
xor eax, eax
cmp ebx, 2
jb 0x10134cca
mov eax, 0xcccccccd
mov ecx, dword [esp + 8]
mul dword [ecx + 0x28]
mov ecx, edx
shr ecx, 2
inc ecx
mov eax, edi
xor edx, edx
div ecx
mov ecx, edx
mov dword [esp + 0x20], edi
mov eax, dword [0x101ef688]
xor edx, edx
mov esi, dword [esp + 8]
div dword [esi + 0x24]
mov esi, dword [esp + 0x20]
sub esi, ecx
neg ecx
add ecx, edi
inc ecx
xor edx, edx
cmp ecx, eax
sete dl
lea eax, [edx + esi]
add eax, 2
cmp ebx, eax
jne 0x10134d58
mov eax, dword [esp + 8]
cmp byte [eax + 0x11], 0
je 0x10134d58
lea eax, [esp + 0x160]
push ebx
push str.Pointer_map_page__d_is_referenced
push eax
call fcn.10169b00
add esp, 0xc
jmp 0x10134d58
xor eax, eax
cmp ebx, 2
jb 0x10134d4a
mov eax, 0xcccccccd
mov ecx, dword [esp + 8]
mul dword [ecx + 0x28]
mov ecx, edx
shr ecx, 2
inc ecx
mov eax, edi
xor edx, edx
div ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x3c], edi
mov eax, dword [0x101ef688]
xor edx, edx
mov ecx, dword [esp + 8]
div dword [ecx + 0x24]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
sub eax, ecx
neg ecx
add ecx, edi
inc ecx
xor edx, edx
cmp ecx, dword [esp + 0x14]
sete dl
add eax, edx
add eax, 2
cmp ebx, eax
jne 0x10134d7c
mov eax, dword [esp + 8]
cmp byte [eax + 0x11], 0
je 0x10134d7c
lea eax, [edi + 3]
cmp eax, dword [esp + 0x16c]
ja 0x101340db
inc edi
cmp dword [esp + 0x170], 0
jne 0x10134c54
jmp 0x101340db
lea eax, [esp + 0x160]
push ebx
push str.Page__d_is_never_used
push eax
call fcn.10169b00
add esp, 0xc
lea eax, [esp + 0x160]
mov eax, dword [eax + 8]
movzx eax, byte [eax + esi]
test dword [esp + 0x20], eax
jne 0x10134c7f
jmp 0x10134d58
add eax, 0x38
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
jmp 0x10132851
test eax, 0x9000
jne 0x1013512e
mov eax, dword [esp + 8]
mov word [eax], 1
jmp 0x10135135
movd xmm0, dword [esi]
movd xmm1, ecx
punpckldq xmm0, xmm1
movq qword [esp + 0xf0], xmm0
fild qword [esp + 0xf0]
fstp qword [esp + 0xe8]
movsd xmm0, qword [esp + 0xe8]
movsd qword [esi], xmm0
mov cx, 8
mov dx, 0xfff3
movsx edx, dx
and edx, eax
movzx eax, cx
or eax, edx
mov word [esi + 0x10], ax
jmp 0x1012c9d7
mov ebx, edi
mov word [esp + 0x1c0], 0x4010
mov dword [esp + 0x1bc], esi
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov dword [esp + 0x30], edx
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x3c]
mov edi, ebx
jmp 0x1012d119
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
shrd eax, ebx, cl
mov edx, ebx
shr edx, cl
xor edi, edi
test cl, 0x20
cmovne eax, edx
mov dword [esp + 0x30], eax
cmovne edx, edi
test ebx, ebx
jns 0x1013401f
mov al, 0x40
sub al, byte [esp + 0x28]
xor esi, esi
dec esi
mov ebx, esi
mov ecx, eax
shl ebx, cl
test al, 0x20
cmove edi, ebx
cmove ebx, esi
or edx, ebx
or dword [esp + 0x30], edi
jmp 0x1013401f
mov dword [esp + 0x20], ecx
xor eax, eax
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], eax
mov ecx, edx
cmp edx, 0x7f
je 0x10134edd
xor edx, edx
xor eax, eax
inc eax
mov dword [esp + 0x38], eax
mov edi, ecx
xor esi, esi
mov ebx, edx
shld ebx, edi, 0x19
shr esi, 7
inc dword [esp + 0x38]
mov eax, 0x3fff
cmp eax, edi
mov eax, 0
sbb eax, edx
mov edi, ebx
mov edx, esi
jb 0x10134ebc
add ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
cmp ecx, 0x80
jb 0x10134f1d
mov edi, dword [esp + 8]
mov edx, edi
sar edx, 0x1f
xor eax, eax
inc eax
mov dword [esp + 0x3c], eax
mov esi, edx
mov eax, edx
shld eax, edi, 0x19
shr esi, 7
inc dword [esp + 0x3c]
xor ebx, ebx
mov ecx, 0x3fff
cmp ecx, edi
sbb ebx, edx
mov edi, eax
mov edx, esi
jb 0x10134eff
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x3c]
mov edx, dword [esp + 8]
adc edx, 0
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x20]
jmp 0x1012cc7a
mov eax, dword [esp + 0x54]
lea eax, [ecx + eax*8]
add eax, 0x10
mov esi, dword [esp + 0x6c]
mov dword [esi], edi
mov word [eax], 0x410
mov eax, dword [esp + 0x54]
jmp 0x1012cd13
cmp edx, 0x3fff
ja 0x10135245
mov ecx, dword [esp + 8]
mov eax, ecx
shr eax, 7
or al, 0x80
mov byte [esi], al
mov eax, ecx
and al, 0x7f
mov byte [esi + 1], al
mov edi, 2
jmp 0x10135259
xor eax, eax
mov dword [edx + 0x4c], eax
mov esi, ecx
mov dword [edx + 0x54], eax
mov eax, dword [ecx]
cmp eax, 0x18003
ja 0x10134379
mov ecx, edx
cmp eax, dword [edx + 0x50]
ja 0x10134379
xor eax, eax
mov edx, ecx
jmp 0x1012d0e4
mov ecx, dword [edx + 0x4c]
mov esi, edx
mov edx, dword [esp + 0x20]
call fcn.101667e0
mov ecx, dword [esp + 0x20]
mov edx, esi
movzx eax, al
jmp 0x1012c685
mov eax, dword [edx + 0xc]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x10]
lea edi, [eax + esi*8]
movzx eax, word [edi + 0x10]
mov dword [esp + 8], eax
and eax, 0x2e
cmp ax, 2
jne 0x10134ff3
mov ecx, edi
xor edx, edx
call fcn.100590b0
mov eax, dword [esp + 0x10]
lea esi, [eax + esi*8]
add esi, 0x10
mov ecx, edi
call fcn.1015bbe0
mov dword [esp + 0x20], edx
movzx ecx, word [esi]
mov edx, dword [esp + 8]
mov word [esi], dx
test cl, 0x24
je 0x101352cb
mov esi, dword [esp + 0x30]
mov ecx, dword [esi + 0x2c]
lea edi, [esp + 0x160]
mov edx, eax
mov dword [esp + 0x2c], eax
push edi
push 0
mov edi, dword [esp + 0x28]
push edi
call fcn.1013cc80
add esp, 0xc
mov dword [esi + 0x44], edi
mov ecx, dword [esp + 0x2c]
mov dword [esi + 0x40], ecx
xor esi, esi
test eax, eax
je 0x1012ce7d
jmp 0x101343ab
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x54]
mov eax, dword [ecx + edx*8 + 0x20]
mov dword [ecx + edx*8 + 8], eax
mov eax, edx
and word [ecx + edx*8 + 0x10], 0x2d
jmp 0x1012ccf2
test byte [esp + 0x1c1], 0x90
jne 0x1013508d
cmp dword [esp + 0x1c8], 0
je 0x10134379
lea ecx, [esp + 0x1b0]
call fcn.10128780
jmp 0x10134379
lea ecx, [ebx + edi*8]
call fcn.1015baf0
test eax, eax
jne 0x101343ab
jmp 0x1012cedb
mov eax, dword [esp + 4]
cmp dword [eax + 4], 0
je 0x101350cf
movq xmm0, qword [esp + 0x1b0]
mov eax, dword [esp + 0xc]
movq qword [eax + 0x28], xmm0
mov eax, dword [esp + 0x1c]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp 0x1012c589
mov ecx, edi
jmp 0x1012c5fc
mov ecx, esi
call fcn.10167820
jmp 0x1012d3a2
mov dl, byte [edx + 0x101af7e8]
cmp dl, byte [ebx + 0x101af7e8]
je 0x1012d660
inc dword [esp + 8]
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x1012d644
push esi
push str.no_such_savepoint:__s
push dword [esp + 0x24]
call fcn.10157810
add esp, 0xc
xor ecx, ecx
inc ecx
jmp 0x101343ad
mov ecx, esi
call fcn.101287c0
mov eax, dword [esp + 8]
mov word [eax], 0x401
mov dword [esi], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x2c]
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x30], eax
mov ebx, dword [ebx + 0x2c]
call dword [section..00cfg]
lea eax, [esp + 0x1b0]
push dword [esp + 0x30]
push eax
push ebx
call ecx
add esp, 0xc
mov ebx, eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
call fcn.10166380
lea eax, [esp + 0x1b0]
cmp dword [eax + 0x14], 0
jg 0x10135732
mov eax, dword [esp + 8]
test byte [eax], 2
mov eax, dword [esp + 0x10]
lea eax, [eax + edi*8 + 0x12]
jne 0x101351ad
mov cl, byte [esp + 0x1b]
mov byte [eax], cl
jmp 0x1013434d
mov cl, byte [esp + 0x1b]
cmp byte [eax], cl
je 0x1013434d
movzx edx, byte [esp + 0x1b]
mov ecx, esi
call fcn.10129540
jmp 0x1013434d
lea edi, [esp + 0x160]
mov dword [edi + 0x20], str.Main_freelist:
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
bswap eax
bswap ebx
xor edx, edx
inc edx
mov ecx, edi
push eax
push ebx
call fcn.10169910
add esp, 8
mov dword [edi + 0x20], 0
jmp 0x10132a16
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0xd8]
mov esi, dword [eax + 0xdc]
call dword [section..00cfg]
push 0
push dword [esp + 0x20]
push esi
push 4
call ecx
add esp, 0x10
jmp 0x1012d6db
mov eax, dword [esp + 8]
lea ecx, [edi + eax*8]
call fcn.10128780
mov eax, dword [esp + 8]
jmp 0x1012ed17
mov ecx, esi
mov edx, dword [esp + 8]
push dword [esp + 0x38]
call fcn.1004c5c0
add esp, 4
mov edi, eax
add edi, esi
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 8]
jmp 0x1012cd25
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0xd8]
mov edi, dword [eax + 0xdc]
call dword [section..00cfg]
push esi
push dword [esp + 0x20]
push edi
push 1
call ecx
add esp, 0x10
jmp 0x1012c82d
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0xc8]
test esi, esi
jne 0x10134a13
jmp 0x1012c82d
mov ecx, esi
call fcn.10167820
movzx eax, word [esi + 0x10]
jmp 0x1012d5f4
mov ecx, esi
push 0x4000
call fcn.10167840
add esp, 4
jmp case.0x1012c5c3.89
test cl, 8
jne 0x10135679
cmp bl, 0x16
ja 0x1012d44e
and ecx, 1
jne 0x1012d44e
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x2c]
cmp byte [ecx], 0
je 0x1012c56f
lea edx, [esp + 0x160]
call fcn.100075c0
xor esi, esi
test eax, eax
je 0x1012d511
jmp 0x101343ab
movzx edx, byte [esp + 0x1b]
mov ecx, esi
push 1
call fcn.10004100
add esp, 4
movzx eax, word [esi + 0x10]
jmp 0x1012c9fd
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
dec eax
jmp 0x1012d956
lea esi, [esp + 0x1b0]
mov ecx, ebx
xor edx, edx
push esi
push eax
call fcn.100071b0
add esp, 8
test eax, eax
jne 0x101343ab
mov edi, dword [esp + 0x1b8]
jmp 0x1012daed
lea ebx, [esp + 0x150]
mov ecx, edi
mov edx, ebx
call fcn.101667e0
mov ebx, dword [ebx]
jmp 0x1012daff
lea ecx, [ebx + edi]
dec ecx
lea edx, [esp + 0x15c]
call fcn.101667e0
lea eax, [esp + 0x15c]
mov edx, dword [eax]
jmp 0x1012db2b
lea ecx, [esp + 0x1b0]
call fcn.10128780
jmp 0x1012db7a
mov ecx, esi
call fcn.101287c0
jmp 0x1012dcf1
lea eax, [ebx - 1]
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
cmp ecx, dword [eax + 0x178]
jge 0x1013578e
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x190]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x30], eax
mov eax, dword [eax + 8]
mov dword [esp + 0x14], 0
mov dword [esp + 0x2c], eax
test eax, eax
je 0x1013540c
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp dword [eax], 2
jge 0x1013541c
inc dword [esp + 0x20]
cmp dword [esp + 0x14], 0
je 0x101353c2
jmp 0x1012dca7
mov edx, dword [esp + 0x30]
inc dword [edx + 0xc]
mov ecx, dword [eax + 0x50]
mov dword [edx + 0x14], ebx
mov dword [esp + 0x14], 0
test ecx, ecx
je 0x1013544c
call dword [section..00cfg]
push dword [esp + 0x28]
push dword [esp + 0x30]
call ecx
add esp, 8
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x30]
call fcn.10165fa0
jmp 0x1013540c
xor eax, eax
mov dword [edi + 8], eax
mov dword [esi + 0x34], eax
mov ecx, edi
call fcn.10165fa0
jmp 0x10134327
lea edx, [esp + 0x160]
push ecx
push eax
push str.max_rootpage___d__disagrees_with_header___d_
push edx
call fcn.10169b00
add esp, 0x10
jmp 0x10134b90
test al, 1
jne 0x101357cc
test al, 8
jne 0x10135b5b
test al, 0x12
je 0x1012d44e
call fcn.10166530
jmp 0x10135b5f
xor esi, esi
jmp 0x1012dd6a
mov eax, esi
mov dword [esp + 0x2c], edi
mov edi, esi
mov eax, dword [ebx + 0x18]
and eax, 1
mov dword [esp + 0x28], eax
cmp dword [ebx + 0x14], 0
jle 0x10135a2f
mov ebx, dword [esp + 0x28]
xor ebx, 1
xor esi, esi
mov dword [esp + 0x38], 4
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
mov ecx, dword [eax + ecx]
mov edx, 0x204
push ebx
call fcn.1000f240
add esp, 4
test eax, eax
jne 0x101343ab
mov ecx, esi
inc ecx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x14]
add dword [esp + 0x38], 0x10
mov dword [esp + 0x14], 0
mov esi, ecx
cmp ecx, eax
jl 0x101354dd
mov ebx, dword [esp + 0xc]
mov ecx, edi
mov edi, dword [esp + 0x2c]
mov esi, ecx
mov edx, dword [esp + 0x28]
jmp 0x1012de2a
mov eax, dword [ebx + 0x1f0]
add eax, dword [ebx + 0x1f4]
mov dword [esp + 0x2c], eax
xor edi, edi
mov ebx, dword [esp + 0xc]
cmp edi, dword [ebx + 0x178]
jge 0x1012dd77
mov eax, dword [ebx + 0x190]
mov eax, dword [eax + edi*4]
mov dword [esp + 8], eax
mov eax, dword [eax + 8]
xor ebx, ebx
mov dword [esp + 0x20], eax
test eax, eax
je 0x1013557c
mov eax, dword [esp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp dword [eax], 2
jge 0x10135586
inc edi
test ebx, ebx
je 0x10135544
jmp 0x10136edb
mov ecx, dword [esp + 0x2c]
lea edx, [ecx + 1]
mov ebx, dword [esp + 8]
inc dword [ebx + 0xc]
mov ecx, dword [eax + 0x50]
mov dword [ebx + 0x14], edx
xor ebx, ebx
test ecx, ecx
je 0x101355b5
call dword [section..00cfg]
push dword [esp + 0x2c]
push dword [esp + 0x24]
call ecx
add esp, 8
mov ebx, eax
mov ecx, dword [esp + 8]
call fcn.10165fa0
jmp 0x1013557c
xor ecx, ecx
jmp 0x1012de08
mov dword [esp + 0x2c], edi
mov edi, esi
mov esi, ecx
mov eax, dword [ebx + 4]
test eax, eax
je 0x101355f1
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0x98]
and edx, 0xfffffffc
or edx, 1
mov dword [eax + 0x98], edx
mov eax, ecx
test ecx, ecx
jne 0x101355d6
mov ebx, dword [esp + 0xc]
mov ecx, ebx
call fcn.1015b720
or byte [ebx + 0x18], 1
mov ecx, esi
mov esi, edi
mov edi, dword [esp + 0x2c]
jmp 0x1012dfb1
movsd xmm0, qword [edi + 8]
movsd qword [ebx + 0x1f8], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebx + 0x200], xmm0
mov ecx, dword [esp + 0x30]
cmp esi, 2
setne al
test cl, al
je 0x1012dff4
jmp 0x1012d558
push esi
push dword [esp + 0x34]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x1012f10a
mov byte [ecx + 0x55], 0
mov byte [ecx + 0x5d], 1
jmp 0x1012f11e
mov eax, dword [edx + 0x18]
mov dword [ebx + 0x1e4], eax
mov ecx, ebx
call fcn.1014d210
dec dword [ebx + 0x1f0]
jmp 0x1012dfb9
movsd xmm0, qword [edi]
movsd xmm1, qword [0x101af190]
ucomisd xmm1, xmm0
jbe 0x10135960
mov ecx, ebx
and ecx, 1
add ebx, ecx
dec ebx
jmp 0x1013501b
mov ecx, dword [ecx + ebx*4 + 4]
test ecx, ecx
je 0x1012f161
add edx, 0x28
dec ecx
mov ebx, ecx
jmp 0x1012c5e1
xor eax, eax
xor edi, edi
mov ecx, dword [esp + 4]
jmp 0x1012c8f8
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
movsx ecx, byte [edi + 1]
shl ecx, 4
mov ebx, dword [eax + ecx]
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x10]
test byte [eax + 2], 2
je 0x1012dee9
cmp byte [edi + 4], 0
je 0x1012dee9
mov ecx, dword [edi + 0x2c]
mov dword [esp + 0x20], ecx
call fcn.10137730
mov eax, dword [esp + 0x20]
movsd xmm0, qword [eax + 0x20]
movsd qword [edi + 0x40], xmm0
jmp 0x1012dee9
movzx eax, word [esi + 0x10]
test al, 4
je 0x1012ee9f
and eax, 0xffffffdb
or eax, 0x20
mov word [esi + 0x10], ax
jmp 0x1012ee9f
lea ecx, [edi + ebx*8]
call fcn.10167820
jmp 0x1012e47a
push esi
call sym.nss3.dll_sqlite3_value_text
add esp, 4
push eax
push 0x101caf3f
push dword [esp + 0x24]
call fcn.10157810
add esp, 0xc
mov ebx, dword [esp + 0x1c4]
jmp 0x10135191
test al, 2
jne 0x10135b08
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0x38]
jmp 0x1012e942
mov ecx, esi
call fcn.1015baf0
test eax, eax
jne 0x1012d717
mov edi, esi
add ebx, dword [esi]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
jmp 0x101349ea
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 0x30]
jmp 0x1012dc76
mov ecx, edi
mov edx, esi
push 0x4000
call fcn.10167840
add esp, 4
jmp 0x1012e13e
mov ecx, dword [esp + 4]
test byte [ecx + 2], 2
je 0x1012e167
and eax, 0xf7ff
mov word [edi + 0x10], ax
jmp 0x1012e167
mov ebx, dword [esp + 4]
cmp dword [ebx + 0xc], 0
jne 0x1012c84e
jmp case.0x1012c5c3.89
mov ecx, esi
call fcn.10167820
jmp 0x1012e2a7
mov eax, esi
mov esi, edi
mov edi, eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov ecx, dword [eax + 0x200]
add ecx, dword [eax + 0x1f8]
mov edx, dword [eax + 0x204]
adc edx, dword [eax + 0x1fc]
cmp ecx, 1
sbb edx, 0
jge 0x1013585e
mov eax, dword [esp + 0xc]
mov byte [eax + 0x55], 1
mov ecx, dword [esp + 0x1c]
call fcn.10138920
cmp eax, 5
je 0x1013588e
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x24]
test ecx, ecx
jne 0x10135851
mov ebx, dword [esp + 0xc]
mov byte [ebx + 0x5d], 0
mov al, 1
mov dword [esp + 0x30], eax
mov eax, edi
mov edi, esi
mov esi, eax
jmp 0x1012dfb9
mov ebx, dword [esp + 0xc]
mov byte [ebx + 0x55], 0
jmp 0x10130c90
mov esi, 0x313
mov edi, dword [esp + 0x1c]
mov dword [edi + 0x24], esi
mov byte [edi + 0x92], 2
push str.FOREIGN_KEY_constraint_failed
push edi
call fcn.10157810
add esp, 8
xor ebx, ebx
inc ebx
cmp byte [edi + 0x94], 0
cmovs ebx, esi
jmp 0x101358ba
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x58]
sar eax, 2
imul eax, eax, 0xcccccccd
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0xc]
mov byte [eax + 0x55], 0
mov dword [ecx + 0x24], 5
mov ebx, 5
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x78]
xor eax, eax
dec eax
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x80]
cmp edx, edi
mov eax, dword [esp + 0x7c]
sbb eax, esi
jae 0x10135905
mov ecx, dword [esp + 0x1c]
add dword [ecx + 0xb4], edx
cmp dword [ecx + 0xa0], 0
jne 0x1013594f
mov ecx, dword [esp + 0x218]
xor ecx, ebp
call fcn.10156ff0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x16c]
test ecx, ecx
je 0x101358da
mov eax, dword [esp + 0xc]
add edi, dword [eax + 0x174]
mov dword [esp + 0x48], edi
adc esi, 0
mov edi, dword [eax + 0x170]
call dword [section..00cfg]
push edi
mov edi, dword [esp + 0x4c]
call ecx
add esp, 4
test eax, eax
je 0x101358c9
mov ecx, 9
xor eax, eax
dec eax
mov dword [esp + 0x48], eax
jmp 0x101343ad
call fcn.1000d4b0
jmp 0x101358ed
push 0x2000
jmp 0x101352be
mov dl, 1
ucomisd xmm0, qword [0x101af198]
jae 0x101359ca
movsd qword [esp + 0x98], xmm0
fld qword [esp + 0x98]
fnstcw word [esp + 0x86]
movzx ecx, word [esp + 0x86]
or ecx, 0xc00
mov word [esp + 0x92], cx
fldcw word [esp + 0x92]
fistp qword [esp + 0x98]
fldcw word [esp + 0x86]
mov edi, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
cmp eax, edi
mov esi, dword [esp + 0x20]
sbb esi, ecx
jge 0x10135f7e
and dl, bl
movzx ecx, dl
add ebx, ecx
jmp 0x1013501b
mov ecx, dword [esp + 0x30]
cmp ecx, 0xc
setae byte [esp + 0x38]
test cl, 1
mov ecx, ebx
mov ebx, edx
sete dl
test byte [esp + 0x38], dl
jne 0x10135a04
mov edx, ebx
mov ebx, ecx
and eax, 0x80
test ax, ax
je 0x1012e364
mov ecx, 0x101af95a
mov edx, dword [esp + 0x30]
push dword [esp + 8]
call fcn.10006aa0
add esp, 4
jmp case.0x1012c5c3.89
movzx eax, byte [eax + 0x101b0576]
test eax, eax
jne 0x1012e378
jmp 0x10135a04
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov eax, edi
mov edi, dword [esp + 0x2c]
mov esi, eax
jmp 0x1012dfa5
mov ecx, esi
call fcn.10167820
jmp 0x1012e412
xor eax, eax
jmp 0x1012e42f
sub esp, 0x10
movapd xmm0, xmmword [0x101af170]
movupd xmmword [esp], xmm0
mov ecx, esi
mov edx, edi
call fcn.10030070
add esp, 0x10
test eax, eax
jne 0x10135aed
movzx eax, word [esi + 0x10]
mov ecx, dword [esp + 8]
lea ecx, [ecx + ebx*8]
add ecx, 0x12
test al, 2
jne 0x10135dde
mov dl, byte [esp + 0x1b]
mov byte [ecx], dl
mov ecx, dword [esp + 8]
mov dword [ecx + ebx*8 + 0x18], 0
or eax, 0x2000
mov word [esi + 0x10], ax
mov eax, dword [esp + 4]
cmp byte [eax + 1], 0xfa
jne 0x10135ac6
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x10135ac6
mov ecx, dword [esp + 0xc]
call fcn.1014d210
mov ecx, dword [esp + 4]
mov byte [ecx + 1], 0xfa
mov edx, dword [esp + 8]
mov eax, dword [edx + ebx*8 + 8]
mov dword [ecx + 0x10], eax
mov eax, dword [edx + ebx*8 + 0xc]
mov dword [ecx + 4], eax
mov dword [esp + 0x14], 0
jmp 0x1012e441
push str.string_or_blob_too_big
push dword [esp + 0x20]
call fcn.10157810
add esp, 8
mov ecx, 0x12
jmp 0x101343ad
and esi, 0x2e
cmp esi, 2
jne 0x10135b26
mov ecx, dword [esp + 8]
xor edx, edx
call fcn.100590b0
mov eax, dword [esp + 0x30]
movzx eax, word [eax]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
and eax, 0x2e
cmp ax, 2
jne 0x10135761
mov ebx, dword [esp + 0x38]
mov ecx, ebx
xor edx, edx
call fcn.100590b0
mov edi, dword [esp + 8]
jmp 0x1012e942
mov edx, dword [esp + 0x10]
lea ecx, [edx + ecx*8]
mov edi, dword [ecx]
jmp 0x1012e621
movsd xmm0, qword [ecx]
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
mov ebx, dword [esp + 4]
jne case.0x1012c5c3.89
jnp 0x1012c84e
jmp case.0x1012c5c3.89
mov dword [esp + 0x38], esi
mov ebx, dword [esp + 0x20]
mov eax, ebx
or eax, edx
je 0x101375aa
mov esi, edx
mov eax, ebx
and eax, edx
xor ecx, ecx
xor edx, edx
inc edx
cmp eax, 0xffffffff
cmovne edx, ebx
cmovne ecx, esi
push ecx
push edx
push edi
push dword [esp + 0x44]
call fcn.101572c0
jmp 0x1012f355
mov ecx, esi
call fcn.10167820
jmp 0x1012e881
mov eax, dword [ebx]
mov dword [esp + 8], eax
mov eax, dword [eax]
mov ecx, dword [eax + 0x30]
call dword [section..00cfg]
lea edi, [esp + 0x1b0]
push edi
push ebx
call ecx
add esp, 8
mov ebx, eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 8]
call fcn.10166380
mov dword [esp + 0x14], 0
test ebx, ebx
je 0x1012e8ce
jmp 0x10136edb
mov ecx, edi
call fcn.10021710
mov ebx, eax
test eax, eax
jne 0x10136edb
cmp byte [edi + 2], 0
jne 0x101361c9
mov ebx, dword [edi + 0x2c]
jmp 0x1012e8ba
movzx edx, byte [esp + 0x1b]
mov ecx, edi
push 1
call fcn.10004100
add esp, 4
mov eax, 0xfffff240
mov ecx, dword [esp + 0x20]
and eax, dword [ecx]
mov ecx, dword [esp + 0x2c]
and ecx, 0xdbf
or ecx, eax
mov dword [esp + 0x2c], ecx
mov eax, ecx
or eax, 2
mov ecx, dword [esp + 0x60]
cmp dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x28]
cmove ecx, eax
mov dword [esp + 0x28], ecx
movzx eax, cx
jmp 0x1012e935
movzx edx, byte [esp + 0x1b]
mov ecx, ebx
push 1
call fcn.10004100
add esp, 4
mov eax, 0xfffff240
mov ecx, dword [esp + 0x30]
and eax, dword [ecx]
mov ecx, dword [esp + 0x28]
and ecx, 0xdbf
or ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x1012e942
mov ecx, esi
call fcn.10167820
jmp 0x1012ea19
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0xd0]
mov edx, dword [esp + 0x10]
test ecx, ecx
je 0x10135ccc
mov edx, ecx
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x10135cc0
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov ecx, edi
call fcn.1015bbe0
mov dword [edi + 4], edx
mov dword [edi], eax
mov ecx, 0xfffff240
and ecx, dword [edi + 0x10]
or ecx, 4
mov dword [esp + 0x20], edx
xor edx, 0x7fffffff
mov dword [esp + 8], eax
not eax
or eax, edx
mov word [edi + 0x10], cx
mov ecx, 0xd
je 0x101343ad
test byte [ebx + 8], 2
jne 0x101343ad
mov edx, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
cmp dword [esp + 8], edx
mov eax, dword [esp + 0x20]
sbb eax, ecx
jl 0x10135d4c
mov eax, dword [esp + 8]
add eax, 1
mov ecx, dword [esp + 0x20]
adc ecx, 0
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], ecx
mov edx, eax
mov dword [edi], edx
mov dword [edi + 4], ecx
jmp 0x1012eabc
mov dword [esp + 8], 0
lea edi, [esp + 0x1b0]
push edi
push 8
call sym.nss3.dll_sqlite3_randomness
add esp, 8
mov eax, 0x3fffffff
and eax, dword [edi + 4]
mov edx, dword [edi]
add edx, 1
adc eax, 0
mov dword [edi], edx
mov dword [edi + 4], eax
mov ecx, dword [ebx + 0x2c]
lea edi, [esp + 0x160]
push edi
push 0
push eax
call fcn.1013cc80
add esp, 0xc
mov ecx, dword [edi]
test eax, eax
jne 0x10135db5
test ecx, ecx
jne 0x10135db5
mov edi, dword [esp + 8]
lea edx, [edi + 1]
cmp edi, 0x63
mov dword [esp + 8], edx
jb 0x10135d5e
test eax, eax
jne 0x10135dc9
mov dword [esp + 0x14], 0
test ecx, ecx
jne 0x1012eac6
test eax, eax
mov ecx, 0xd
cmovne ecx, eax
jmp 0x101343ad
push eax
jmp 0x1013447d
mov dl, byte [esp + 0x1b]
cmp byte [ecx], dl
je 0x10135a93
movzx edx, byte [esp + 0x1b]
mov ecx, esi
call fcn.10129540
test eax, eax
jne 0x1012d717
movzx eax, word [esi + 0x10]
jmp 0x10135a93
test eax, eax
mov eax, str.cannot_commit___no_transaction_is_active
mov ecx, str.cannot_rollback___no_transaction_is_active
cmove ecx, eax
test ebx, ebx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmovne eax, ecx
xor esi, esi
inc esi
push eax
push dword [esp + 0x20]
call fcn.10157810
add esp, 8
mov ebx, dword [esp + 0xc]
mov ecx, esi
jmp 0x10130c90
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x58]
sar eax, 2
imul eax, eax, 0xcccccccd
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x20], eax
mov al, 1
sub al, bl
mov byte [esi + 0x55], al
mov dword [ecx + 0x24], 5
mov ebx, 5
jmp 0x101358be
mov eax, dword [edx + 0x18]
mov dword [esi + 0x1e4], eax
mov ecx, esi
call fcn.1014d210
jmp 0x1012ee3a
or byte [ebx + 8], 2
jmp 0x1012eaa5
cmp dword [ebx + 0x50], 0
mov esi, 0
je 0x10135eaf
mov esi, eax
mov dword [edi + 0x14], eax
mov ecx, dword [ebx + 0x50]
dec esi
mov ebx, dword [edi + 8]
call dword [section..00cfg]
push esi
push ebx
call ecx
add esp, 8
mov esi, eax
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x1c]
call fcn.10166380
jmp 0x10133fac
call dword [section..00cfg]
push dword [esp + 8]
push dword [esp + 0x34]
call ecx
add esp, 8
mov edi, eax
jmp 0x1012e063
push 0x101cff9b
push 0x11d16
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov eax, 0xb
jmp 0x1012d075
mov esi, 0x313
mov edi, dword [esp + 0x1c]
mov dword [edi + 0x24], esi
mov byte [edi + 0x92], 2
push str.FOREIGN_KEY_constraint_failed
push edi
call fcn.10157810
add esp, 8
xor ebx, ebx
inc ebx
cmp byte [edi + 0x94], 0
mov edi, dword [esp + 0x48]
cmovs ebx, esi
jmp 0x101358be
test byte [esi + 8], 8
jne 0x1012f1a2
movsx eax, word [esi + 0x3c]
cmp dword [edi + 8], eax
jg 0x1012f1a2
xor eax, eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x20], eax
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x38]
push eax
call fcn.1004c720
add esp, 4
test eax, eax
je 0x1012f26f
jmp 0x101343ab
mov edi, eax
jmp 0x1012f24d
cmp edi, eax
sbb ecx, dword [esp + 0x20]
jl 0x1013568f
movd xmm1, eax
movd xmm2, dword [esp + 0x20]
punpckldq xmm1, xmm2
movq qword [esp + 0x130], xmm1
fild qword [esp + 0x130]
fstp qword [esp + 0x128]
movsd xmm1, qword [esp + 0x128]
ucomisd xmm0, xmm1
ja 0x101359ca
ucomisd xmm1, xmm0
ja 0x1013568f
xor edx, edx
jmp 0x101359ca
movd xmm0, dword [esp + 0x3c]
movd xmm1, dword [esp + 0x88]
punpckldq xmm0, xmm1
movq qword [esp + 0x110], xmm0
fild qword [esp + 0x110]
fstp qword [esp + 0x108]
movsd xmm0, qword [esp + 0x108]
movsd qword [edi], xmm0
and eax, 0xffffffd7
or eax, 8
mov word [edi + 0x10], ax
mov dword [edi + 0x1c], 7
jmp 0x1012cb84
test edx, edx
mov edi, esi
mov esi, ebx
mov ebx, dword [esp + 0x20]
jns 0x1012e853
mov eax, closesocket
sub eax, edx
mov ecx, edi
not ecx
add ecx, 2
adc eax, 0
mov dword [esp + 0x44], eax
mov eax, ebx
add eax, 1
mov dword [esp + 0x54], eax
mov eax, esi
adc eax, 0
cmp dword [esp + 0x54], ecx
sbb eax, dword [esp + 0x44]
jge 0x1012e853
jmp 0x1013606b
test ecx, ecx
js 0x101366ec
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
lea eax, [eax + ecx*8]
add eax, 0x10
movzx eax, word [eax]
test al, 8
je 0x10137203
mov eax, dword [esp + 0x28]
movsd xmm0, qword [eax]
movsd qword [esp + 0x20], xmm0
mov eax, dword [esp + 0x2c]
movzx eax, word [eax + 0x10]
test al, 8
jne 0x10137240
test al, 0x24
je 0x10137226
mov eax, dword [esp + 0x2c]
fild qword [eax]
fstp qword [esp + 0xb8]
movsd xmm0, qword [esp + 0xb8]
mov eax, dword [esp + 4]
movzx eax, byte [eax]
cmp eax, 0x6d
jne 0x1013724d
xorpd xmm1, xmm1
movsd xmm2, qword [esp + 0x20]
ucomisd xmm2, xmm1
jne 0x101360e6
jnp 0x101375aa
divsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0xa0], xmm0
mov eax, dword [esp + 0xa4]
mov ecx, eax
not ecx
test ecx, 0x7ff00000
jne 0x10136126
and eax, 0xfffff
or eax, dword [esp + 0xa0]
jne 0x101375aa
mov eax, dword [esp + 0x30]
movq xmm0, qword [esp + 0x20]
movq qword [eax], xmm0
mov eax, 0xfffff240
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
and eax, dword [ecx + edx*8 + 0x10]
or eax, 8
mov word [ecx + edx*8 + 0x10], ax
jmp case.0x1012c5c3.89
xor esi, esi
dec esi
sub esi, edi
mov ebx, closesocket
sbb ebx, ecx
add esi, 2
adc ebx, 0
mov dword [esp + 0x54], ebx
mov dword [esp + 0x44], 0
xor ebx, ebx
inc ebx
mov dword [esp + 0x6c], ebx
sub dword [esp + 0x6c], eax
sbb dword [esp + 0x44], edx
cmp dword [esp + 0x6c], esi
mov esi, dword [esp + 0x54]
sbb dword [esp + 0x44], esi
jge 0x1012f34d
jmp 0x1013606b
mov ecx, dword [esp + 0x1c]
push 3
push 1
call fcn.1000bb50
add esp, 8
test eax, eax
je 0x1012d717
mov dword [eax + 0x24], 0
mov byte [eax + 4], 1
or byte [eax + 8], 8
mov dword [eax + 0x2c], 0x101f230c
jmp 0x1012f3f6
mov word [esi + 0x10], 1
jmp 0x1012c589
mov esi, 5
mov eax, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x10135e23
movzx edx, byte [esp + 0x1b]
mov ecx, esi
push 1
call fcn.10004100
add esp, 4
movzx eax, word [esi + 0x10]
jmp 0x1012eedd
mov ecx, dword [0x101ef044]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
jmp 0x1012f49b
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
jmp 0x1012f448
mov eax, dword [esp + 4]
cmp word [eax + 2], 0
je 0x1012f6e5
mov eax, 0x10000001
mov ecx, dword [esp + 0xc]
and eax, dword [ecx + 0x20]
cmp eax, 1
je 0x1012f6e5
push 0x101cff9b
push 0x1797e
push str.index_corruption
push str._s_at_line__d_of___.10s_
push 0x30b
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov ecx, 0x30b
jmp 0x101343ad
mov dword [esp + 0x54], edi
mov ecx, esi
call fcn.10167f80
mov ecx, esi
mov esi, eax
mov dword [esp + 0x20], ecx
movzx eax, byte [ecx + 0x3b]
test eax, eax
je 0x101362b4
lea edi, [eax + 1]
lea eax, [eax + eax*8]
mov ecx, dword [esp + 0x20]
lea ebx, [ecx + eax*8]
add ebx, 0xfffffff8
mov ecx, ebx
call fcn.10166170
test esi, esi
cmove esi, eax
dec edi
add ebx, 0xffffffb8
cmp edi, 1
ja 0x1013629f
test esi, esi
jne 0x10133fbc
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x48]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x60], eax
mov al, byte [esi + 0x3c]
cmp al, 2
mov ecx, 0x10168250
mov edx, 0x10168330
cmove edx, ecx
cmp al, 1
mov eax, 0x10168140
cmovne eax, edx
movzx ecx, byte [esi + 0x3b]
mov dword [esp + 0x30], 0
mov edi, 0
test ecx, ecx
je 0x101363bd
lea edx, [ecx - 1]
movd xmm0, edx
pshufd xmm0, xmm0, 0
lea edx, [ecx*8 + 0x18]
and edx, 0xffffffe0
lea edx, [edx + edx*8]
movdqa xmm1, xmmword [0x101af270]
xor esi, esi
movdqa xmm2, xmmword [0x101af280]
movdqa xmm3, xmm0
pxor xmm3, xmm2
pxor xmm2, xmm1
pcmpgtd xmm2, xmm3
movd ebx, xmm2
not ebx
test bl, 1
je 0x1013634d
mov edi, dword [esp + 0x20]
mov dword [edi + esi + 0x60], eax
pcmpeqd xmm3, xmm3
pxor xmm3, xmm2
pextrw ebx, xmm3, 2
test bl, 1
je 0x1013636a
mov edi, dword [esp + 0x20]
mov dword [edi + esi + 0xa8], eax
pextrw ebx, xmm3, 4
test bl, 1
je 0x1013637f
mov edi, dword [esp + 0x20]
mov dword [edi + esi + 0xf0], eax
pcmpeqd xmm3, xmm3
pxor xmm2, xmm3
pextrw ebx, xmm2, 6
test bl, 1
je 0x1013639c
mov edi, dword [esp + 0x20]
mov dword [edi + esi + 0x138], eax
paddd xmm1, xmmword [0x101af2d0]
add esi, 0x120
cmp edx, esi
jne 0x10136322
xor edi, edi
cmp cl, 2
jae 0x10136eb5
mov eax, dword [esp + 0x20]
add eax, 0x40
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + 0x3b]
cmp dword [esp + 0x30], eax
jae 0x101367e9
mov eax, dword [esp + 0x30]
lea eax, [eax + eax*8]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax*8 + 0x5c]
xor ebx, ebx
test edx, edx
jne 0x101363fc
inc dword [esp + 0x30]
test ebx, ebx
je 0x101363c8
jmp 0x10136ecb
mov ecx, dword [esp + 0x20]
lea ecx, [ecx + eax*8]
add ecx, 0x40
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x150], 0
cmp edx, 0x11
jl 0x101364b0
mov ecx, dword [esp + 0x20]
lea eax, [ecx + eax*8]
add eax, 0x5c
mov dword [esp + 0x88], eax
mov dword [esp + 8], 0
mov eax, 0x10
xor ecx, ecx
mov esi, edx
shld ecx, eax, 4
sar esi, 0x1f
shl eax, 4
cmp eax, edx
mov ebx, ecx
sbb ebx, esi
mov esi, dword [esp + 8]
lea ebx, [esi - 1]
mov dword [esp + 8], ebx
jl 0x1013643e
xor eax, eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b0], eax
cmp edx, 0x10
jle 0x101364c0
mov ecx, 0x10
call fcn.10168d60
mov dword [esp + 0x150], eax
mov dword [esp + 0x44], eax
test eax, eax
mov ebx, 7
mov eax, 0
cmovne ebx, eax
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
test eax, eax
jle 0x101364de
cmp dword [esp + 0x44], 0
jne 0x10136cd8
jmp 0x101364de
xor eax, eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b0], eax
lea eax, [esp + 0x150]
lea esi, [esp + 0x1b0]
mov ecx, dword [esp + 0x3c]
push eax
push esi
call fcn.10168de0
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x10136655
mov eax, dword [esp + 0x150]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x44]
call fcn.10166130
jmp 0x101363ef
lea ebx, [esp + 0x15c]
mov dword [ebx], 0
sub eax, dword [esp + 0x8c]
cmp eax, 0x10
mov edx, 0x10
cmovl edx, eax
lea eax, [esp + 0x1b0]
mov ecx, dword [esp + 0x3c]
push ebx
push eax
call fcn.10168de0
add esp, 8
test eax, eax
jne 0x10136d8e
mov edx, dword [esp + 0x15c]
lea eax, [esp + 0x160]
mov ecx, dword [esp + 0x3c]
push eax
call fcn.10168a30
add esp, 4
mov ebx, eax
cmp dword [esp + 8], 0xffffffff
je 0x10136608
xor eax, eax
inc eax
mov dword [esp + 0x2c], eax
mov eax, esi
shl dword [esp + 0x2c], 4
dec eax
jne 0x1013656c
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x44]
test ebx, ebx
jne 0x10137270
mov eax, dword [esp + 0x28]
cdq
idiv dword [esp + 0x2c]
lea edx, [eax + 0xf]
test eax, eax
cmovns edx, eax
and edx, 0xfffffff0
sub eax, edx
mov ecx, dword [ecx + 0xc]
imul ebx, eax, 0x38
mov dword [esp + 0x14], ecx
mov eax, dword [ecx + ebx + 0x30]
test eax, eax
je 0x101365ca
mov ecx, dword [esp + 0x2c]
lea edx, [ecx + 0xf]
test ecx, ecx
cmovns edx, ecx
mov ecx, dword [eax + 4]
sar edx, 4
mov dword [esp + 0x2c], edx
dec dword [esp + 0x38]
jne 0x10136584
jmp 0x10136614
mov ecx, 0x10
call fcn.10168d60
test eax, eax
je 0x1013726b
mov ecx, dword [esp + 0x14]
add ebx, ecx
add ebx, 0x30
mov ecx, dword [esp + 0x3c]
mov edx, eax
mov dword [esp + 0x14], ebx
push ebx
call fcn.10168a30
add esp, 4
test eax, eax
jne 0x10137605
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
jmp 0x101365ac
mov ecx, dword [esp + 0x44]
test ebx, ebx
jne 0x10137270
mov ebx, dword [esp + 0x28]
lea edx, [ebx + 1]
mov eax, dword [esp + 0x160]
mov ecx, dword [ecx + 0xc]
and ebx, 0xf
imul ebx, ebx, 0x38
mov dword [ecx + ebx + 0x30], eax
mov ecx, dword [esp + 0x8c]
add ecx, 0x10
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
mov dword [esp + 0x28], edx
mov dword [esp + 0x8c], ecx
cmp eax, ecx
jg 0x101364ff
test edi, edi
jne 0x10136fea
xor ebx, ebx
mov edi, dword [esp + 0x150]
jmp 0x101363ef
mov ecx, esi
call fcn.1015baf0
test eax, eax
jne 0x101343ab
jmp 0x1012f93f
lea ecx, [ecx + eax*8]
jmp 0x10132f20
test al, 1
jne 0x101369a2
test al, 8
jne 0x10136bb4
xorpd xmm0, xmm0
test al, 0x12
je 0x10136bb8
call fcn.10166530
jmp 0x10136bb8
mov ecx, esi
call fcn.10167820
jmp 0x1012fb7b
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x1f8]
or eax, dword [ecx + 0x1fc]
jne case.0x1012c5c3.89
mov ecx, dword [esp + 0xc]
jmp 0x1012fbba
mov ecx, edi
call fcn.1015baf0
test eax, eax
je 0x1012fc0f
jmp 0x1012d717
xor eax, eax
dec eax
add eax, 1
mov edx, closesocket
adc edx, 0
xor esi, eax
xor ecx, edx
mov eax, esi
jmp 0x1012f353
push dword [esp + 8]
call sym.nss3.dll_sqlite3_value_text
add esp, 4
push eax
push 0x101caf3f
push dword [esp + 0x24]
call fcn.10157810
add esp, 0xc
mov eax, dword [edi + 0x14]
mov dword [esp + 0x20], eax
jmp 0x1012e1dc
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x11], 0x90
je 0x10136b57
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
jmp 0x10132f20
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x10]
mov ecx, esi
shl ecx, 4
push dword [eax + ecx + 0xc]
call fcn.1001d8b0
add esp, 4
and byte [ebx + 0x18], 0xef
movzx eax, word [edi + 2]
mov ecx, ebx
mov edx, esi
push eax
push dword [esp + 0x74]
call fcn.10039200
add esp, 8
or byte [ebx + 0x18], 1
mov edi, eax
mov eax, dword [esp + 0x1c]
and byte [eax + 0x98], 0xfc
jmp 0x1012fd0b
push 0x101cff9b
push 0x17b47
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov edi, 0xb
jmp 0x1012fcfb
xor edx, edx
push 0
jmp 0x1013447d
mov eax, dword [ebx]
mov edi, dword [esi + 0x14]
add edi, dword [eax + 0x6c]
jmp 0x1012fdf6
mov ecx, esi
call fcn.10167820
jmp 0x1012fe28
mov ecx, esi
call fcn.10167820
jmp 0x1012ff04
mov ecx, dword [esp + 0x20]
cmp byte [ecx + 0x39], 0
je 0x10136f84
dec eax
lea esi, [eax + eax*8]
mov eax, dword [esp + 0x20]
cmp dword [eax + esi*8 + 0x4c], 0
je 0x10136bec
cmp dword [esp + 0x60], 0
je 0x10136c2d
mov ecx, dword [esp + 0x60]
mov edx, 0x38
push 0
call fcn.10157570
add esp, 4
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x2c], 0
je 0x1013692c
mov eax, dword [esp + 0x20]
lea ecx, [eax + esi*8]
add ecx, 0x40
xor esi, esi
mov edx, dword [esp + 0x2c]
mov dword [edx + 0x34], esi
mov dword [edx + 0x30], esi
pxor xmm0, xmm0
movdqu xmmword [edx + 0x20], xmm0
movdqu xmmword [edx + 0x10], xmm0
movdqu xmmword [edx], xmm0
lea ebx, [edx + 0x30]
mov dword [eax + 0x10], edx
mov edx, edi
mov dword [esp + 8], ebx
push ebx
call fcn.10168a30
add esp, 4
test eax, eax
jne 0x10136925
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov dword [eax + 0x18], 1
mov ecx, dword [eax]
mov eax, dword [eax + 0x10]
mov edx, eax
sar edx, 0x1f
sub dword [ecx + 0x40], eax
sbb dword [ecx + 0x44], edx
mov eax, dword [esp + 0x20]
mov dl, byte [eax + 0x3b]
cmp dl, 2
jb 0x101368e0
xor eax, eax
mov ecx, 0x30
mov esi, dword [edi + 0xc]
mov esi, dword [esi + ecx]
test esi, esi
je 0x101368d4
mov dword [esi + 0x18], 1
mov edx, dword [esi]
mov esi, dword [esi + 0x10]
mov ebx, esi
sar ebx, 0x1f
sub dword [edx + 0x40], esi
sbb dword [edx + 0x44], ebx
mov edx, dword [esp + 0x20]
mov dl, byte [edx + 0x3b]
inc eax
movzx esi, dl
dec esi
add ecx, 0x38
cmp eax, esi
jl 0x101368ac
xor ecx, ecx
xor eax, eax
dec eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + 0x3b]
mov edx, dword [esp + 8]
inc edx
mov dword [esp + 8], edx
cmp edx, eax
jae 0x10136fb2
lea eax, [ecx + 0x38]
mov dword [esp + 0x30], eax
add ecx, dword [edi + 0xc]
xor edx, edx
inc edx
call fcn.10168ad0
mov ebx, eax
xor esi, esi
mov ecx, dword [esp + 0x30]
test eax, eax
je 0x101368e9
jmp 0x10136ed4
mov ebx, eax
jmp 0x10136ed4
mov eax, dword [esp + 0x20]
mov dword [eax + 0x10], 0
mov ebx, 7
mov esi, edi
jmp 0x10136ed4
mov ecx, dword [edi + 8]
call fcn.1016a5e0
mov dword [edi + 8], eax
movzx eax, word [edi + 0x1a]
jmp 0x1012fe6d
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov dword [ebx + esi*8 + 8], 0
xor eax, eax
jmp 0x101315c7
call fcn.10167820
jmp 0x1012fff9
xor ecx, ecx
cmp ecx, dword [edi + 0x50]
sbb ecx, dword [edi + 0x54]
mov esi, ebx
jl 0x10130039
jmp 0x10130037
movzx edx, byte [esp + 0x1b]
mov ecx, edi
call fcn.10129540
mov eax, dword [esp + 8]
jmp 0x101315df
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
jmp 0x1012fb22
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x2c]
call fcn.101669f0
test eax, eax
jne 0x1012e78d
jmp 0x1012c57b
mov dword [esp + 0x30], edx
mov esi, dword [esp + 8]
mov dword [esp + 0x20], ecx
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
pxor xmm0, xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
test byte [ebx + 0x11], 0x90
je 0x10136cb5
mov ecx, ebx
call fcn.101287c0
lea edi, [esp + 0x1b0]
mov dword [edi], ebx
mov dword [edi + 8], esi
mov ecx, dword [esp + 0x30]
mov dword [edi + 4], ecx
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov eax, dword [esi + eax*8 + 0x14]
mov al, byte [eax + 0x54]
mov byte [edi + 0x18], al
mov ecx, dword [ecx + 0x18]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov edi, dword [edi + 0x14]
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
jmp 0x10130213
mov dword [esp + 0x14], 0
mov al, byte [esp + 0x1b]
cmp byte [edx + 0x12], al
je case.0x1012c5c3.89
mov ecx, edx
movzx edx, byte [esp + 0x1b]
call fcn.10129540
jmp case.0x1012c5c3.89
test byte [esi + 0x11], 0x90
jne 0x10136a84
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x20]
cmp dword [eax + ecx*8 + 0x18], 0
je 0x10136a8b
mov ecx, esi
call fcn.10128780
mov word [esi + 0x10], 0x410
xor eax, eax
test edi, edi
cmovle edi, eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x20]
mov dword [ecx + edx*8 + 0xc], eax
mov dword [esi], edi
mov byte [ecx + edx*8 + 0x12], 1
mov dword [ecx + edx*8 + 8], eax
mov ecx, esi
call fcn.1015baf0
test eax, eax
je 0x10130283
jmp 0x1012d717
mov ecx, esi
call fcn.10167820
jmp 0x1013025c
add eax, 0x1c
jmp 0x101305b3
mov dword [edi + 0x24], 0xffffffff
cmp byte [ecx], 0
jne 0x10130375
jmp case.0x1012c5c3.89
test byte [ecx + 1], 8
je 0x10130375
mov word [edi + 2], 0
mov dword [edi + 0x20], 0
jmp 0x1012c589
mov ecx, edi
xor edx, edx
mov esi, dword [esp + 8]
push esi
push eax
call fcn.100071b0
mov ecx, dword [esp + 0x38]
add esp, 8
test eax, eax
je 0x1013046e
jmp 0x101343ab
call fcn.10167820
jmp 0x10130403
mov ecx, ebx
call fcn.10005b90
mov eax, dword [esp + 0x20]
jmp 0x1013065e
call fcn.1015baf0
test eax, eax
jne 0x1012d717
jmp 0x10130703
mov ecx, dword [esp + 0x10]
jmp 0x10130ac1
mov edx, esi
push ebx
call fcn.101665f0
add esp, 4
jmp 0x1012d4dd
call fcn.10015120
mov esi, eax
mov eax, dword [esp + 0x2c]
movzx eax, word [eax + 0x10]
jmp 0x10130803
mov dword [esp + 0x14], 0
mov ecx, esi
call fcn.10005b90
cmp byte [esi + 9], 0
mov edi, dword [esi + 4]
jne 0x101308d2
mov eax, dword [edi + 0x4c]
jmp 0x10130df7
mov ecx, esi
call fcn.10005b60
jmp 0x1013093c
movsd xmm0, qword [ecx]
xorpd xmm1, xmm1
cmpneqsd xmm1, xmm0
movd eax, xmm1
and eax, 1
jmp 0x1012fb22
mov edx, dword [eax]
mov ecx, dword [esi]
call fcn.10165870
mov edi, 0x106
xor ebx, ebx
jmp 0x1013092d
mov edi, 7
jmp 0x1013092d
mov eax, dword [esp + 0x20]
lea ebx, [eax + esi*8]
add ebx, 0x4c
mov eax, dword [ebx - 4]
mov ecx, dword [eax + 0x1c]
call fcn.10158250
mov dword [ebx], eax
test eax, eax
je 0x10136937
mov ecx, dword [esp + 0x20]
lea ecx, [ecx + esi*8]
add ecx, 0x48
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x1c]
movzx ecx, word [ecx + 6]
mov word [eax + 0x14], cx
mov eax, dword [ebx]
mov byte [eax + 0x17], 0
jmp 0x1013680a
mov ecx, 0x38
xor edx, edx
call fcn.10143580
jmp 0x10136828
mov ecx, dword [0x101ef044]
call dword [section..00cfg]
push ebx
jmp 0x10136c65
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x1013050d
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x10130560
xor eax, eax
dec eax
mov ecx, eax
jmp 0x10131113
mov dword [esp + 0x30], edx
mov edx, dword [esp + 8]
cmp dword [ecx + 4], edx
mov edx, dword [esp + 0x30]
jne 0x10130df0
cmp byte [ecx + 8], bl
je 0x10130df0
mov edx, dword [edx]
mov ecx, dword [esi]
call fcn.10165870
cmp bl, 2
jne 0x10136ca9
or byte [edi + 0x18], 0x80
xor ebx, ebx
mov edi, 0x106
jmp 0x1013092d
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax*8]
add eax, 0x10
mov word [eax], 1
jmp 0x10136a00
cmp dword [ecx + 0x18], 0
jne 0x10130628
jmp 0x1013062f
neg esi
mov dword [esp + 0x28], 0
mov dword [esp + 0x8c], 0
jmp 0x101364ff
mov eax, edi
mov edi, ecx
movzx edx, byte [esp + 0x1b]
mov ecx, eax
push 0
call fcn.10004100
add esp, 4
jmp 0x10136d3d
movzx edx, byte [esp + 0x1b]
push 0
call fcn.10004100
add esp, 4
jmp 0x10136d6f
mov eax, dword [esp + 0x20]
test byte [edx + eax*8 + 0x11], 0x90
je 0x10136f77
mov ecx, dword [esp + 0x44]
jmp 0x10132f20
mov eax, edi
mov edi, ecx
mov ecx, eax
call fcn.1015baf0
test eax, eax
jne 0x1012d717
mov eax, dword [esp + 0x28]
movzx eax, word [eax + 0x10]
and eax, 0xfffffffd
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
movzx eax, word [eax]
mov dword [esp + 0x2c], eax
mov ecx, edi
mov edx, dword [esp + 0x30]
jmp 0x10130e98
call fcn.1015baf0
test eax, eax
jne 0x1012d717
mov eax, dword [esp + 0x60]
movzx eax, word [eax]
and eax, 0xfffffffd
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x30]
jmp 0x10130ebc
mov ebx, eax
jmp 0x101364f1
xor ecx, ecx
lea eax, [esp + 0x1b0]
mov dword [eax + 4], ecx
mov dword [esp + 0x14], 0
mov dword [eax], ecx
mov ecx, dword [esp + 0xc]
mov edx, esi
push eax
call fcn.10166860
add esp, 4
test eax, eax
je 0x10131121
jmp 0x101343ab
movzx eax, ax
xor ebx, ebx
xor ecx, ecx
mov edx, dword [esi + ebx*4 + 0x78]
movzx edx, word [edx + 0x18]
imul ecx, edx
mul edx
add ecx, edx
inc ebx
cmp edi, ebx
je 0x10131113
jmp 0x10136dce
mov ecx, esi
call fcn.10167820
jmp 0x10131151
mov ebx, 2
test al, 1
jne 0x10131195
test al, 8
jne 0x101370ee
xorpd xmm0, xmm0
test al, 0x12
je 0x101370f2
call fcn.10166530
jmp 0x101370f2
mov edx, 2
test al, 1
jne 0x101311bc
test al, 8
jne 0x10137107
xorpd xmm0, xmm0
test al, 0x12
je 0x1013710b
call fcn.10166530
jmp 0x1013710b
mov ecx, 0xfffff240
mov edx, dword [esp + 0x10]
and ecx, dword [edx + eax*8 + 0x10]
jmp 0x1012f544
cmp eax, 5
jne 0x101343ab
mov dword [esp + 0x1b0], 1
xor edx, edx
inc edx
jmp 0x10131341
mov eax, edx
sar eax, 0x1f
mov ecx, esi
push eax
call fcn.101665f0
add esp, 4
jmp 0x1013136f
mov eax, edx
sar eax, 0x1f
mov ecx, edi
push eax
call fcn.101665f0
add esp, 4
jmp 0x10131391
mov eax, edx
sar eax, 0x1f
push eax
call fcn.101665f0
add esp, 4
jmp 0x1012c589
call fcn.10168d60
mov edi, eax
test eax, eax
jne 0x101363bd
xor edi, edi
mov ebx, 7
mov ecx, edi
call fcn.10166130
xor esi, esi
mov ecx, esi
call fcn.10166130
mov ecx, ebx
jmp 0x101343ad
mov ecx, edi
mov edx, dword [esp + 0xc]
call fcn.10166f90
test eax, eax
je 0x10137120
mov ecx, eax
mov esi, dword [esp + 0x28]
jmp 0x10131581
test al, 1
jne 0x10137043
test al, 8
jne 0x1013714d
xorpd xmm0, xmm0
test al, 0x12
je 0x10137151
call fcn.10166530
jmp 0x10137151
mov ecx, edi
mov edx, 2
call fcn.100161e0
mov esi, dword [esp + 0x14]
jmp 0x1013144e
mov eax, esi
mov esi, dword [esp + 0x28]
jmp 0x10131581
test byte [edx + edi*8 + 0x11], 0x90
je 0x10137130
mov ecx, esi
jmp 0x10132f20
mov ecx, esi
jmp 0x101367bd
mov ecx, esi
call fcn.1015baf0
mov ecx, dword [esp + 0x30]
test eax, eax
je 0x1013148c
jmp 0x1012d717
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
jmp 0x101375cc
mov ecx, dword [esp + 0x6c]
mov edx, edi
push 0
call fcn.10168c00
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x20]
mov dword [eax + 0x14], edi
test ebx, ebx
jne 0x10136ed2
mov eax, dword [esp + 0x54]
mov byte [eax + 2], 0
jmp 0x1012c589
mov ecx, dword [esp + 0x2c]
mov edx, 2
call fcn.10168b00
mov ebx, eax
jmp 0x10136f9d
xor eax, eax
mov edx, dword [esp + 0x10]
cmp dword [edx + ecx*8 + 8], 0
mov edx, 0
je 0x1012e74c
mov ecx, esi
call fcn.10166590
movzx edi, word [esi + 0x10]
jmp 0x1012e74c
mov eax, dword [edi + 0xc]
imul ecx, dword [esp + 0x30], 0x38
add eax, ecx
add eax, 0x30
mov edx, dword [esp + 0x150]
mov ecx, dword [esp + 0x3c]
push eax
call fcn.10168a30
add esp, 4
mov ebx, eax
jmp 0x101363ef
push dword [esi]
call sym.nss3.dll_sqlite3_value_text
add esp, 4
push eax
push 0x101caf3f
push dword [esp + 0x24]
call fcn.10157810
add esp, 0xc
mov edi, dword [esi + 0x14]
jmp 0x101305d7
lea ecx, [ecx + eax*8]
call fcn.101287c0
jmp 0x1012c589
xor eax, eax
jmp 0x101313ef
test edi, edi
jns 0x1012f907
xor eax, eax
xor ecx, ecx
dec ecx
add ecx, 1
adc eax, 0x7fffffff
mov edx, esi
xor edx, eax
or edx, dword [esp + 0x20]
je 0x1013606b
xor ecx, dword [esp + 0x38]
xor eax, dword [esp + 0x3c]
or eax, ecx
je 0x1013606b
xor eax, eax
mov ebx, dword [esp + 0x38]
neg ebx
mov edi, 0
sbb edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
neg ecx
sbb eax, esi
push eax
push ecx
push closesocket
push 0xffffffffffffffff
call fcn.101571a0
cmp eax, ebx
sbb edx, edi
jae 0x1012f907
jmp 0x1013606b
mov dword [esp + 0x14], 0
cmp eax, 0x10
mov ebx, dword [esp + 4]
jne 0x101343ab
jmp 0x1012c84e
movzx eax, ax
xor ebx, ebx
xor edi, edi
mov edx, dword [esi + ebx*4 + 0x78]
movzx edx, word [edx + 0x18]
imul edi, edx
mul edx
add edi, edx
inc ebx
cmp ecx, ebx
je 0x1013189e
jmp 0x101370d4
movsd xmm0, qword [ecx]
xorpd xmm1, xmm1
cmpneqsd xmm1, xmm0
movd ebx, xmm1
and ebx, 1
jmp 0x10131195
movsd xmm0, qword [ecx]
xorpd xmm1, xmm1
cmpneqsd xmm1, xmm0
movd edx, xmm1
and edx, 1
jmp 0x101311bc
mov ecx, edi
mov edx, dword [esp + 0x28]
call fcn.100161e0
jmp 0x10131456
mov eax, dword [esp + 0x10]
lea eax, [eax + edi*8]
add eax, 0x10
mov word [eax], 1
jmp case.0x1012c5c3.89
and byte [esi + 0x1a], 0xfe
jmp 0x10131988
movsd xmm0, qword [ecx]
xorpd xmm1, xmm1
cmpneqsd xmm1, xmm0
movd eax, xmm1
and eax, 1
jmp 0x101313ef
xor edx, edx
inc edx
push 0
call fcn.101665f0
add esp, 4
jmp 0x10130618
push 0x101cff9b
push 0x11af8
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov dword [esp + 8], 0xb
jmp 0x10131c74
xor ecx, ecx
jmp 0x101318e4
mov cx, 0x28
mov esi, edi
add ecx, 0x28
mov edx, edi
shld edx, eax, 0x1c
shr esi, 4
mov dword [esp + 8], 0
mov ebx, 0xfff
cmp ebx, eax
sbb dword [esp + 8], edi
mov eax, edx
mov edi, esi
jae 0x10131a5c
jmp 0x101371b0
mov ecx, esi
call fcn.10167820
jmp 0x101319ea
xor eax, eax
inc eax
mov dword [esp + 0x5c], eax
mov edi, dword [esp + 0x20]
jmp 0x1012eeec
mov ecx, esi
call fcn.10128780
jmp 0x10131d9c
test al, 0x24
je 0x1013746c
mov eax, dword [esp + 0x28]
fild qword [eax]
fstp qword [esp + 0xc0]
movsd xmm0, qword [esp + 0xc0]
jmp 0x1013608c
xorpd xmm0, xmm0
test al, 0x12
je 0x101360c0
mov ecx, dword [esp + 0x2c]
call fcn.10166530
jmp 0x101360c0
mov eax, dword [esp + 0x2c]
movsd xmm0, qword [eax]
jmp 0x101360c0
cmp eax, 0x6c
jne 0x1013745c
movsd xmm1, qword [esp + 0x20]
mulsd xmm1, xmm0
movsd qword [esp + 0x20], xmm1
jmp 0x101360f2
mov ebx, 7
mov ecx, dword [esp + 0x160]
call fcn.101661e0
jmp 0x101364f1
push 0x101cff9b
push 0x11d16
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov eax, 0xb
mov ebx, dword [esp + 0x30]
jmp 0x101306d1
cmp byte [esi + 0x39], 0
jne 0x101374b5
lea edx, [esp + 0x1b0]
mov dword [edx], 0
mov ecx, dword [esi + 0x14]
call fcn.10169710
test eax, eax
jne 0x1012e2c9
cmp dword [esp + 0x1b0], 0
jne 0x10131bad
jmp 0x1012e2c9
mov eax, dword [esp + 0x30]
inc dword [eax + 0xc]
cmp byte [eax + 0xa], 0
jne 0x10131bde
mov ecx, dword [esp + 0x30]
call fcn.10005b90
jmp 0x10131bde
xor edx, edx
push 0
call fcn.1000ac30
add esp, 4
mov dword [esp + 8], eax
test eax, eax
jne 0x10131c74
mov eax, dword [edi + 8]
test eax, eax
je 0x10131c3b
and byte [eax + 1], 0xfb
mov eax, dword [eax + 0x18]
jmp 0x10137321
mov eax, dword [esp + 0x30]
dec dword [eax + 0xc]
jne 0x10131c82
mov ecx, dword [esp + 0x30]
call fcn.10005b60
jmp 0x10131c82
mov dword [esp + 0x14], 0
cmp dword [esp + 8], 0x65
mov ebx, dword [esp + 4]
je 0x1012c84e
mov ecx, dword [esp + 8]
jmp 0x101343ad
mov eax, dword [esp + 0x10]
lea ecx, [eax + ebx*8]
mov edx, esi
push 0
call fcn.10137a60
add esp, 4
test eax, eax
jne 0x10137396
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + ebx*8 + 0x10]
mov eax, dword [eax + ebx*8 + 8]
jmp 0x10131e36
mov ecx, 7
jmp 0x101343ad
mov eax, dword [esp + 4]
mov eax, dword [eax - 4]
add eax, 4
mov dword [esp + 0x30], eax
jmp 0x10131cb0
mov ecx, dword [esp + 0x10]
test byte [ecx + ebx*8 + 0x10], 1
jne 0x101373d1
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
test byte [ecx + edx*8 + 0x10], 1
je 0x10131d4c
neg eax
jmp 0x10131d4c
cmp byte [eax + 0x39], 0
je 0x101374f1
mov eax, dword [eax + 0x10]
mov edi, dword [eax + 0x20]
add eax, 0x14
jmp 0x10131e03
mov ecx, edi
call fcn.1015baf0
test eax, eax
jne 0x101343ab
jmp 0x10131e9a
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 8]
mov eax, dword [eax + ecx*4]
jmp 0x10131cf3
mov ecx, dword [esp + 8]
inc ecx
mov dword [esp + 0x5c], 0
mov eax, ecx
mov dword [esp + 8], ecx
cmp dword [esp + 0x3c], ecx
jne 0x10131ce4
jmp case.0x1012c5c3.89
mov ecx, esi
call fcn.1015be00
test eax, eax
je 0x10131dce
jmp 0x1012d717
je 0x10137503
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
jmp 0x1012c851
cmp eax, 0x6b
jne 0x101374d7
subsd xmm0, qword [esp + 0x20]
jmp 0x101360ec
xorpd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
test al, 0x12
je 0x10136092
mov ecx, dword [esp + 0x28]
call fcn.10166530
jmp 0x1013608c
lea edx, [esp + 0x160]
mov ecx, dword [esp + 8]
call fcn.10007d20
lea ecx, [esp + 0x160]
cmp dword [ecx + 4], 0
jne 0x10137520
mov ecx, dword [esp + 0x160]
jmp 0x101320cb
mov ecx, dword [esi + 0x10]
call fcn.101691f0
test eax, eax
jne 0x1012e2c9
mov eax, dword [esi + 0x10]
cmp dword [eax + 0x18], 0
jne 0x1012d49f
jmp 0x10131bad
cmp eax, 0x6a
jne 0x1013753b
movsd xmm1, qword [esp + 0x20]
addsd xmm1, xmm0
movsd qword [esp + 0x20], xmm1
jmp 0x101360f2
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx + 8]
imul eax, dword [eax + 4], 0x38
add eax, dword [ecx + 0xc]
jmp 0x101373e5
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x58]
lea eax, [ecx + eax*4]
add eax, 0xffffffec
mov dword [esp + 4], eax
jmp 0x1012e0e5
movzx eax, al
add dword [esp + 8], eax
mov edx, dword [esp + 0x3c]
mov dword [edx + esi*4 + 0x58], 0xffffffff
xor ecx, ecx
dec ecx
jmp 0x1012d1b3
mov ecx, dword [esp + 0x28]
call fcn.1015bbe0
mov esi, eax
mov ebx, edx
mov ecx, dword [esp + 0x2c]
call fcn.1015bbe0
mov dword [esp + 0x20], eax
mov eax, esi
or esi, ebx
je 0x101375aa
mov ecx, eax
and ecx, ebx
xor edi, edi
xor esi, esi
inc esi
cmp ecx, 0xffffffff
cmovne esi, eax
cmovne edi, ebx
push edi
push esi
push edx
push dword [esp + 0x2c]
call fcn.101572c0
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0xb0], xmm1
fild qword [esp + 0xb0]
fstp qword [esp + 0xa8]
movsd xmm0, qword [esp + 0xa8]
jmp 0x101360ec
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
test byte [eax + ecx*8 + 0x11], 0x90
je 0x101375c4
mov ecx, edx
jmp 0x10132f20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 1
jmp case.0x1012c5c3.89
mov ecx, dword [esp + 0x10]
cmp dword [ecx + eax*8 + 8], 0
mov eax, 0
mov edx, 0
je 0x10130a3d
mov ecx, esi
call fcn.10166590
movzx edi, word [esi + 0x10]
jmp 0x10130a3d
mov ebx, eax
jmp 0x10137270
mov eax, dword [esp + 0x1b0]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x1b4]
jmp 0x10132220
mov eax, str.no_more_rows_available
jmp 0x10137648
movzx ecx, bl
mov eax, str.unknown_error
cmp ecx, 0x1c
ja 0x10137648
mov edx, 0x1410004
bt edx, ecx
jb 0x10137648
mov eax, dword [ecx*4 + 0x101b4e88]
push eax
push 0x101caf3f
push dword [esp + 0x24]
call fcn.10157810
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x24], ebx
cmp ebx, 0xc0a
je 0x1013769b
mov eax, ebx
and eax, 0xfb
cmp eax, 0xa
jne 0x1013769b
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
mov ecx, dword [esi + 0x44]
xor eax, eax
test ecx, ecx
je 0x10137694
call dword [section..00cfg]
xor eax, eax
push eax
push eax
push esi
call ecx
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x4c], eax
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x58]
sar eax, 2
imul eax, eax, 0xcccccccd
mov esi, dword [esp + 0x1c]
push dword [esi + 0x7c]
push dword [esi + 0xc8]
push eax
push str.statement_aborts_at__d:___s___s
push ebx
call sym.nss3.dll_sqlite3_log
add esp, 0x14
cmp byte [esi + 0x95], 2
jne 0x101376da
mov ecx, dword [esp + 0x1c]
call fcn.10138920
cmp ebx, 0xb
je 0x101376f2
cmp ebx, 0xc0a
jne 0x10137704
mov ecx, dword [esp + 0xc]
call fcn.10157ae0
jmp 0x10137704
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x55], 0
jne 0x10137704
mov eax, dword [esp + 0xc]
or byte [eax + 0x24], 2
xor ebx, ebx
inc ebx
cmp byte [esp + 0x74], 0
je 0x10137722
movzx edx, byte [esp + 0x74]
dec edx
mov ecx, dword [esp + 0xc]
call fcn.10157900
jmp 0x101358ba
mov dword [esp + 0x74], 0
jmp 0x101358ba