Function at 0x1012bd80
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 [0x101f1014]
xor eax, ebp
mov dword [esp + 0x218], eax
mov eax, dword [ecx + 0x68]
mov dword [esp + 0x54], 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 0x1012be9a
cmp dword [edx + 0x16c], 0
mov ebx, edx
je 0x1012be8a
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 + 0x54]
mov dword [esp + 0x48], esi
je 0x1012bf17
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 0x1012bf5c
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 0x1012bfb7
xor esi, esi
dec esi
mov dword [esp + 0x78], esi
mov ecx, dword [esp + 0x1c]
jmp 0x1012bdf7
mov esi, dword [edx + 0x14]
test esi, esi
jle 0x1012bdca
mov edi, dword [edx + 0x10]
test al, 1
je 0x1012bec7
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x1012bec7
cmp byte [ecx + 9], 0
je 0x1012bec7
inc dword [ecx + 0xc]
cmp byte [ecx + 0xa], 0
jne 0x1012bec7
call fcn.10020150
cmp esi, 3
mov edx, dword [esp + 0xc]
jb 0x1012bdca
add edi, 0x24
mov ebx, 2
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xa0]
bt eax, ebx
jae 0x1012bf05
mov ecx, dword [edi]
test ecx, ecx
je 0x1012bf05
cmp byte [ecx + 9], 0
je 0x1012bf05
inc dword [ecx + 0xc]
cmp byte [ecx + 0xa], 0
jne 0x1012bf05
call fcn.10020150
inc ebx
add edi, 0x10
cmp esi, ebx
mov edx, dword [esp + 0xc]
je 0x1012bdca
jmp 0x1012bedc
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xc]
mov ecx, ebx
call fcn.10157fd0
push str.out_of_memory
push dword [esp + 0x20]
call fcn.10157f80
add esp, 8
mov ecx, 7
jmp 0x10130679
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 4], edx
jmp 0x1012f751
xor esi, esi
test byte [ecx + 1], 8
je 0x10134ced
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.0x1012bfd3.89
jmp dword [ebx*4 + 0x101b88e4]
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 0x1012c01e
mov eax, dword [edx + 0x2c]
cmp byte [eax], 0
je 0x1012caec
jmp 0x10133dd6
call fcn.100188b0
test eax, eax
je 0x1012cab9
jmp 0x10133db9
cmp byte [edx + 2], 0
jne 0x10130493
mov esi, dword [edx + 0x2c]
cmp byte [edx + 3], 0
mov dword [esp + 0x20], ecx
jne 0x1012eb3f
mov edi, edx
cmp byte [esi], 0
jne 0x10134ad7
mov ecx, esi
call fcn.101371c0
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 0x101349c4
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 0x10134999
mov dword [esp + 0x2c], ebx
mov edi, dword [edx + 0x4c]
xor eax, eax
jmp 0x1012cb29
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 0x1012c0fc
mov esi, edx
mov edx, dword [eax + ecx*8 + 0xc]
bt ebx, 0xa
jb 0x1013435f
mov eax, dword [eax + ecx*8 + 0x14]
cmp edx, dword [eax + 0x78]
mov edx, esi
jg 0x10135537
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 0x10133cdf
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.0x1012bfd3.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.0x1012bfd3.89
jmp 0x1012c25e
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 0x10134cb0
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.0x1012bfd3.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.0x1012bfd3.89
mov word [esi + ecx + 0x68], 0
mov dword [esi + ecx + 0x6c], ebx
add ecx, 0x28
cmp eax, ecx
jne 0x1012c1ba
jmp 0x1012e93f
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 0x1013411b
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.0x1012bfd3.89
jmp 0x1012d6c8
mov ecx, dword [esp + 0xc]
test byte [ecx + 0x5e], 1
jne 0x101343ea
mov ebx, dword [esp + 4]
mov eax, dword [ebx + 4]
cmp eax, dword [0x101f112c]
jge 0x1012e4fe
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 + 0x54]
lea eax, [ecx + eax*4]
add eax, 0xffffffec
mov dword [esp + 4], eax
jmp case.0x1012bfd3.89
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x98]
and eax, 3
cmp eax, 1
je 0x10133ee3
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 + 0x28], ecx
shl ecx, 4
mov esi, dword [eax + ecx + 4]
mov dword [esp + 0x30], esi
cmp bl, 0x71
jne 0x1012cf35
movzx edx, word [edx + 2]
and edx, 8
or edx, 4
mov dword [esp + 0x2c], edx
mov eax, dword [eax + ecx + 0xc]
mov al, byte [eax + 0x4c]
mov ecx, dword [esp + 0x1c]
cmp al, byte [ecx + 0x93]
jae 0x1012c2e0
mov byte [ecx + 0x93], al
mov eax, dword [esp + 4]
test byte [eax + 2], 0x10
jne 0x10130403
mov ecx, dword [esp + 4]
movzx eax, byte [ecx + 1]
cmp eax, 0xf8
jne 0x1012d83e
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 0x1012c328
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 0x1012f94b
lea esi, [edi*8 + 0x128]
mov eax, dword [ebx + 0x18]
cmp eax, esi
mov dword [esp + 0x14], edi
jge 0x1012f79e
test eax, eax
jg 0x1012fd1e
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x10134461
mov eax, esi
sar eax, 0x1f
movzx edx, word [ecx + 0x12c]
xor edi, edi
cmp edx, esi
sbb edi, eax
jb 0x1012d100
cmp esi, 0x80
ja 0x1012c965
mov edi, dword [ecx + 0x150]
test edi, edi
je 0x1012d580
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 0x1012c9a6
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 0x1012c3f6
movzx ebx, word [esi + 0x10]
test bl, 4
je 0x1012e093
cmp byte [edi - 1], 0x45
je 0x10133cb1
mov al, byte [edi]
add esi, 0x28
inc edi
test al, al
jne 0x1012c3cc
jmp case.0x1012bfd3.89
cmp al, 0x42
jne 0x1012c3dd
movzx eax, word [esi + 0x10]
test al, 2
jne 0x1012c40d
mov ecx, eax
and ecx, 0x2c
jne 0x10134d08
and eax, 0xffd3
mov word [esi + 0x10], ax
jmp 0x1012c3dd
mov dword [esp + 0x1b0], 0
mov eax, dword [esp + 4]
mov edx, dword [eax + 8]
test edx, edx
mov ecx, dword [esp + 0xc]
je 0x1012c44b
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
and ecx, 2
mov esi, eax
and esi, 0x100000
or esi, ecx
jne 0x10133eb6
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 0x1012d662
lea eax, [esp + 0x1b0]
mov ecx, esi
push eax
call fcn.10137980
add esp, 4
test eax, eax
jne 0x10133faa
mov eax, dword [esp + 0x1c]
test byte [eax + 0x98], 0x20
jne 0x1012d5c1
mov ecx, dword [esp + 4]
cmp word [ecx + 2], 0
je 0x1012bf9a
mov eax, dword [esp + 0x1b0]
cmp eax, dword [ecx + 0xc]
jne 0x10133eed
mov eax, dword [esp + 8]
mov eax, dword [eax + edi + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 0x10]
je 0x1012bf9a
jmp 0x10133eed
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 0x1012e868
lea eax, [esi + esi*4]
lea eax, [ebx + eax*8]
add eax, 0xffffffd8
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x60], ecx
lea ecx, [edx + ecx*8]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x44], 0
mov dword [esp + 0x58], 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 0x1012c60b
test al, 0x24
jne 0x1012c5a2
test al, 8
jne 0x10134396
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 0x101343ab
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 0x1012c61d
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 0x1012c52d
jmp 0x1012c67a
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 0x1012de04
xor eax, eax
inc eax
cmp eax, dword [esp + 0x3c]
sbb edx, esi
mov ebx, dword [esp + 0x28]
jb 0x1012c65a
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x93], 4
jb 0x1012c65a
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 0x1012c594
shl eax, 0x15
sar eax, 0x1f
and eax, 0xa
mov dword [edi + 0x1c], eax
inc edx
jmp 0x1012c594
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 0x1012c583
jmp 0x1012c62e
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 0x1012c594
mov ecx, esi
cmp edx, 0x7e
jg 0x10134890
inc edx
mov eax, dword [esp + 0x44]
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 + 0x58]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
mov eax, dword [eax + edx*8 + 0x18]
mov edx, eax
sar edx, 0x1f
cmp eax, ecx
sbb edx, edi
jge 0x1012e8df
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x78]
mov esi, edx
sar esi, 0x1f
cmp edx, ecx
sbb esi, edi
jl 0x10135537
mov esi, dword [esp + 0x20]
cmp eax, esi
jge 0x1013497c
mov ecx, dword [esp + 0x6c]
mov edx, esi
push 0
call fcn.101374f0
add esp, 4
test eax, eax
mov eax, dword [esp + 0x60]
jne 0x1012bf36
mov ecx, dword [esp + 0x10]
mov dword [ecx + eax*8 + 0xc], esi
mov word [ecx + eax*8 + 0x10], 0x10
mov edi, dword [esp + 0x44]
or dword [esp + 0x58], edi
mov edx, dword [esp + 8]
jne 0x10134934
mov esi, dword [ecx + eax*8 + 8]
cmp edx, 0x7f
jg 0x10134952
lea edi, [esi + 1]
mov byte [esi], dl
add esi, edx
mov edx, dword [ebx + 0x1c]
cmp edx, 7
jbe 0x1012c755
cmp edx, 0x7f
ja 0x1012c78c
mov byte [edi], dl
inc edi
cmp edx, 0xe
jb 0x1012c7c5
mov eax, dword [ebx + 0xc]
test eax, eax
jg 0x1012c7b5
jmp 0x1012c7c5
mov byte [edi], dl
inc edi
test edx, edx
je 0x1012c7c5
mov eax, dword [ebx]
mov dword [esp + 0x28], ebx
mov ecx, dword [ebx + 4]
movzx edx, byte [edx + 0x101b25c6]
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 0x1012c772
add esi, dword [esp + 8]
mov ebx, dword [esp + 0x28]
jmp 0x1012c7c5
cmp edx, 0x3fff
ja 0x10131214
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 0x1012c7c5
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 0x1012c737
jmp case.0x1012bfd3.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 0x101349e0
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.1013c780
add esp, 4
test eax, eax
jne 0x10133db9
and edi, 2
mov esi, edi
shr esi, 1
test edi, edi
je 0x1012c88d
cmp byte [esp + 0x1ca], 0
je 0x1012d836
mov eax, dword [esp + 0x160]
cmp ebx, 0x17
jb 0x10130237
test eax, eax
mov eax, dword [esp + 0x30]
js 0x1012d67c
jne 0x1012bf8c
jmp 0x1012d673
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 0x1012c8d9
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 0x10134a6c
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 0x1012c938
mov edi, dword [esi + 0x24]
and eax, 0x8a
mov ecx, dword [esi + 0x2c]
lea edx, [esp + 0x1b0]
push edi
push eax
call fcn.10139eb0
add esp, 8
mov dword [esi + 0x20], 0
test eax, eax
je 0x1012bf9a
jmp 0x10133db9
mov edi, dword [ecx + 0x148]
test edi, edi
jne 0x1012dc9a
mov edi, dword [ecx + 0x144]
test edi, edi
jne 0x1012eeec
inc dword [ecx + 0x140]
mov edx, esi
push eax
call fcn.101372d0
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 0x1012d11f
mov dword [ebx + 0x18], esi
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [eax + ecx*4], edi
mov edx, dword [esp + 0x14]
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 + 0x28]
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 0x1013003a
mov ecx, dword [ebx + 4]
cmp eax, 1
jbe 0x1012e8fa
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 0x1012ca59
mov ebx, edx
cmp dword [eax + 0x40], edx
je 0x1012ca4f
mov eax, dword [eax + 0x18]
jmp 0x1012ca3f
or byte [eax + 1], 0x20
mov byte [esi + 1], 0x20
jmp 0x1012ca4a
mov byte [esi], 1
mov eax, dword [ecx + 8]
mov dword [esi + 0x18], eax
mov dword [ecx + 8], esi
cmp word [esp + 0x2c], 0
je 0x1012cf42
or byte [esi + 1], 1
mov byte [esi + 2], 0
xor eax, eax
cmp dword [ecx + 0x54], 0
je 0x1012ea84
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.0x1012bfd3.89
jmp 0x10133db9
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 0x1012d59b
mov edx, edi
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x14], 0
cmp byte [eax], 0
mov ecx, dword [esp + 0x20]
jne 0x10133dd8
mov dword [esp + 0x20], ecx
movzx eax, word [edx + 0x3e]
movzx ecx, ax
cmp ebx, ecx
jb 0x1012cce3
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 0x10134352
mov esi, dword [edx + 0x4c]
test esi, esi
mov dword [esp + 0x2c], ebx
je 0x101342b9
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 0x1012cb8d
inc ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x30], eax
movzx eax, byte [eax + 0x101b25c6]
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 0x1012cbce
mov esi, eax
cmp ecx, edi
jb 0x1012cb4d
jmp 0x1012cbce
mov eax, ecx
movzx ecx, byte [ecx]
mov dword [esp + 8], eax
movzx eax, byte [eax + 1]
test al, al
js 0x10131ab2
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 0x10134503
mov dword [esp + 0x30], ecx
lea eax, [ecx - 0xc]
shr eax, 1
jmp 0x1012cb68
cmp ecx, edi
jae 0x1012cd64
xor ecx, ecx
cmp dword [edx + 0x50], ebx
sbb ecx, dword [esp + 0x28]
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0x38]
jb 0x10133d70
mov word [edx + 0x3e], ax
sub ecx, esi
mov dword [edx + 0x34], ecx
cmp dword [edx + 0x4c], 0
je 0x10133ddf
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
movzx eax, ax
cmp ebx, eax
jae 0x10133e04
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 0x10133c8f
lea esi, [esi + edi*8]
add esi, 0x10
mov eax, dword [edx + 0x54]
cmp eax, dword [ecx + ebx*4 + 4]
jb 0x1012de77
mov eax, dword [edx + 0x4c]
add eax, dword [ecx + ebx*4]
mov ecx, dword [esp + 0x30]
cmp ecx, 0xb
ja 0x1012cc7b
ja 0x1012df09
jmp dword [ecx*4 + 0x101b8bd0]
mov word [esi], 4
jmp case.0x1012bfd3.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 0x1012ccf4
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 + 0x101b25c2]
mov ecx, dword [esp + 0x28]
mov word [ecx], ax
jmp case.0x1012bfd3.89
mov eax, dword [edx + ebx*4 + 0x58]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x20]
jmp 0x1012cc13
mov eax, dword [esp + 0xc]
cmp esi, dword [eax + 0x78]
jg 0x10135537
mov eax, dword [esp + 0x28]
mov word [eax], 1
mov ecx, dword [esp + 8]
push 0
call fcn.101374f0
add esp, 4
test eax, eax
jne 0x1012bf36
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + edi*8 + 8]
jmp 0x1012cca9
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.0x1012bfd3.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 0x1012d061
jmp 0x1012d2f0
mov esi, dword [esp + 0x38]
ja 0x10133d70
xor ebx, dword [edx + 0x50]
or ebx, dword [esp + 0x28]
je 0x1012cbed
jmp 0x10133d70
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 0x10134ade
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.0x1012bfd3.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 0x101300e5
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.1013c780
add esp, 4
mov edi, eax
test edi, edi
jne 0x101340fe
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 0x10130a8f
test ecx, ecx
je 0x1012e0b4
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 4]
jmp 0x1012c25e
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 0x1012dcf5
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 0x1012dcf1
cmp byte [eax + 8], 0
je 0x1012f5e4
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 + 0x54]
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 0x1012f751
cmp dword [esp + 0x80], edi
mov eax, dword [esp + 0x7c]
sbb eax, dword [esp + 0x78]
mov dword [esp + 0x48], edi
jb case.0x1012bfd3.89
jmp 0x1012f713
mov eax, dword [esp + 0x160]
test eax, eax
je 0x1012bf8c
jmp 0x1012ce56
mov dword [esp + 0x2c], 0
jmp 0x1012c2e0
mov byte [esi + 2], 2
xor eax, eax
jmp 0x1012ca85
mov eax, dword [esp + 4]
mov ecx, dword [eax + 4]
mov esi, dword [eax + 0x10]
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0x1012d7a1
jmp 0x1012d72a
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x95], 3
jne case.0x1012bfd3.89
jmp 0x10134078
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov ecx, dword [eax + esi]
mov edx, edi
push dword [esp + 8]
call fcn.10003810
add esp, 4
test eax, eax
jne 0x10133db9
inc ebx
add esi, 0x10
mov eax, dword [esp + 0xc]
cmp ebx, dword [eax + 0x14]
jl 0x1012cf86
jmp 0x1012d987
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 0x10134c9e
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 0x10134cae
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.0x1012bfd3.89
jmp 0x1012d89f
mov eax, dword [edi]
xor ecx, ecx
movzx edx, byte [eax + ecx]
movzx ebx, byte [esi + ecx]
cmp dl, bl
jne 0x10134aea
test edx, edx
je 0x1012d7c0
inc ecx
jmp 0x1012d046
mov dword [esi + 0x24], eax
mov cl, byte [edx + 8]
mov byte [esi + 0x92], cl
test eax, eax
jne 0x1013425b
mov ecx, esi
call fcn.10138390
cmp eax, 5
mov edi, dword [esp + 0x48]
je 0x10134513
xor eax, eax
inc eax
cmp dword [esi + 0x24], 0
mov ebx, 0x65
cmovne ebx, eax
jmp 0x1013530f
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 0x1012bf36
test byte [eax + 0x5e], 4
mov edi, dword [esp + 0x48]
jne 0x10134c13
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x54]
sar eax, 2
imul eax, eax, 0xcccccccd
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x20], eax
mov ebx, 0x64
jmp 0x1013530f
cmp dword [ecx + 0x128], 0
je 0x1012f384
cmp byte [ecx + 0x57], 0
je 0x1012c987
xor eax, eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0x18], 0
jmp 0x1012bf36
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.101371c0
mov eax, dword [esi + 0x2c]
test eax, eax
jle 0x10133e9b
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 0x101316a9
mov word [esp + 0x1c0], 0x4010
mov dword [esp + 0x1bc], eax
lea esi, [esp + 0x160]
mov ecx, eax
push 0
push esi
call fcn.10005d40
add esp, 8
mov esi, eax
cmp dword [esp + 0x1c8], 0
jne 0x101316d9
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.0x1012bfd3.89
jmp 0x1012c25e
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x60], eax
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x20], eax
lea eax, [edi + eax*8]
mov dword [esp + 0x44], 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 0x1012da97
mov dword [esp + 0x3c], esi
mov esi, eax
mov eax, dword [esp + 0x20]
lea eax, [edi + eax*8]
add eax, 0x10
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x30]
lea edi, [edi + eax*8 + 0x10]
mov dword [esp + 0x30], 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 + 0x20], edi
jne 0x1013044e
and ecx, 0x47
cmp cx, 0x43
jae 0x1013510d
cmp cx, 0x42
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0x3c]
jne 0x1012e17b
and eax, 2
je 0x1012e17b
mov eax, esi
test al, 2
je 0x1012e161
mov eax, dword [esp + 0x30]
jmp 0x1012e16e
test eax, eax
jne 0x10134247
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.10003cb0
mov ecx, dword [esp + 4]
cmp dword [ecx + 8], 4
mov ecx, dword [esi + 0x68]
je 0x10134d22
mov edx, dword [esp + 0x4c]
mov edx, dword [edx]
mov dword [esp + 0x10], edx
lea eax, [eax + eax*4]
mov dword [esp + 0x54], ecx
lea eax, [ecx + eax*4]
mov dword [esp + 4], eax
jmp case.0x1012bfd3.89
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 0x1012ed88
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0xd8]
cmp ecx, dword [ebx + 0xa0]
jge 0x10133eca
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x10]
test byte [eax + ecx*8 + 0x10], 0x10
mov dword [esp + 0x20], esi
jne 0x10130d63
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 0x1012e0f3
mov edx, esi
cmp esi, 0x80
mov ecx, dword [esp + 8]
ja 0x1012e69a
mov esi, dword [ebx + 0x150]
test esi, esi
je 0x1012e68c
mov eax, dword [esi]
mov dword [ebx + 0x150], eax
inc dword [ebx + 0x138]
jmp 0x1012e6db
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 0x101311d7
cmp byte [esi + 2], 0
jne 0x101311eb
mov dword [esp + 8], esi
mov ebx, dword [esi + 0x2c]
mov ecx, ebx
call fcn.101371c0
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 0x10134d2f
mov word [esp + 0x1c0], 0x4010
mov dword [esp + 0x1bc], eax
movzx ebx, byte [edi]
mov dword [esp + 0x150], ebx
test bl, bl
js 0x10134d58
cmp ebx, 3
jb 0x10133f5d
mov esi, dword [esp + 0x1bc]
cmp ebx, esi
ja 0x10133f5d
movzx edx, byte [ebx + edi - 1]
mov dword [esp + 0x15c], edx
test dl, dl
js 0x10134d6f
cmp edx, 7
je 0x10133f5d
lea eax, [edx - 0xa]
cmp eax, 0xfffffff7
jb 0x10133f5d
movzx eax, byte [edx + 0x101b25c6]
add ebx, eax
cmp esi, ebx
jb 0x10133f5d
sub esi, eax
add edi, esi
lea esi, [esp + 0x160]
mov ecx, edi
push esi
call fcn.10003a50
add esp, 4
mov edi, dword [esi]
mov ebx, dword [esi + 4]
cmp dword [esp + 0x1c8], 0
jne 0x10134d8d
mov edx, dword [esp + 4]
cmp byte [edx], 0x8d
jne 0x1012db61
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 0x1012bf9a
mov edi, dword [ecx + 0x14c]
test edi, edi
je 0x1012c965
mov eax, dword [edi]
mov dword [ecx + 0x14c], eax
jmp 0x1012c3a0
cmp byte [edi + 2], 0
jne 0x10130485
mov ecx, edi
mov esi, dword [edi + 0x2c]
cmp byte [edi + 3], 0
jne 0x1012eb35
mov dword [esp + 0x14], 0
jmp 0x1012c03b
mov eax, dword [esp + 4]
cmp dword [eax + 8], 0
je 0x1012c496
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x55], 0
jne 0x10130464
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 0x30]
test ebx, ebx
mov ecx, dword [esp + 0xc]
jne 0x1012d602
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 0x10134daa
mov eax, dword [esi + 4]
cmp byte [esi + 9], 0
jne 0x10131197
mov ecx, dword [eax]
xor eax, eax
cmp dword [ecx + 0x68], ebx
jge 0x1012d632
cmp byte [ecx + 6], 0
je 0x1012d632
mov edx, ebx
call fcn.10003b50
cmp byte [esi + 9], 0
mov dword [esp + 0x14], eax
jne 0x101311b8
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 0x1012c496
jmp 0x10133dbb
cmp ebx, 0x18
jne 0x1012bf8c
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 0x1012e328
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 0x1012e324
cmp byte [eax + 8], 0
je 0x1012faa8
mov esi, ebx
jmp 0x1012cf21
lea esi, [edx + ecx*8]
add esi, 0x28
inc edi
test byte [esi + 0x11], 0x90
jne 0x10134d9e
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.0x1012bfd3.89
jmp 0x1012d6cf
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 0x10134eaa
mov eax, dword [ecx]
or eax, dword [ecx + 4]
mov ebx, dword [esp + 4]
je 0x1012c25e
jmp case.0x1012bfd3.89
mov ebx, dword [esp + 0xc]
cmp dword [ebx + 0xc4], 0
jg 0x10134082
test esi, esi
mov dword [esp + 0x30], esi
je 0x10134ecc
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 0x10134f55
lea edx, [esi + 0x21]
movzx eax, word [ebx + 0x12c]
cmp edx, eax
ja 0x1012e5f8
cmp esi, 0x5f
ja 0x1012ea9c
mov edi, dword [ebx + 0x150]
test edi, edi
je 0x1012ea8e
mov eax, dword [edi]
mov dword [ebx + 0x150], eax
inc dword [ebx + 0x138]
jmp 0x1012ead4
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x1e4]
test edi, edi
je 0x10134b0b
mov dword [esp + 8], 0
jmp 0x1012d042
mov ebx, dword [esp + 0xc]
cmp dword [ebx + 0xc4], 0
mov esi, dword [esp + 0x20]
jle 0x1012d7da
cmp esi, 1
je 0x10133f82
cmp dword [edi + 0x18], 0
jne 0x1013501a
cmp byte [ebx + 0x5d], 0
setne cl
je 0x1012d7f6
cmp esi, 1
je 0x10135245
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 0x10134ed3
mov eax, dword [ebx + 0x14]
xor edx, edx
test eax, eax
jle 0x1012df00
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edi
mov edi, esi
xor ebx, ebx
mov esi, 4
jmp 0x1012cf86
xor esi, esi
inc esi
jmp 0x1012cf21
cmp eax, 0xfd
jne 0x10135122
mov ecx, dword [esp + 4]
mov edi, dword [ecx + 0x10]
xor eax, eax
jmp 0x1012c308
mov eax, 0xffff8fff
and eax, dword [esi + 0x10]
or eax, 0x4000
mov word [esi + 0x10], ax
jmp case.0x1012bfd3.89
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 0x1012d8ed
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xf4], 0
jne 0x1013514a
mov eax, dword [esp + 4]
movzx edx, byte [eax + 2]
mov ecx, dword [edi + 0x2c]
call fcn.10008030
xor ecx, ecx
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], ecx
test eax, eax
jne 0x10133db9
mov dword [esp + 0x14], 0
test byte [esp + 8], 1
je case.0x1012bfd3.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.0x1012bfd3.89
test esi, esi
je case.0x1012bfd3.89
test byte [esi + 0x1c], 0x80
jne case.0x1012bfd3.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.0x1012bfd3.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 0x10135021
test ecx, ecx
jne 0x10130679
mov edx, dword [ebx + 0x1e4]
cmp edx, edi
jne 0x101350b8
cmp esi, 1
jne 0x10135067
mov eax, dword [edi + 0x18]
mov dword [ebx + 0x1e4], eax
mov ecx, ebx
mov edx, edi
call fcn.10129dd0
mov ecx, dword [esp + 0x30]
test cl, cl
jne 0x10135085
dec dword [ebx + 0x1f0]
cmp dword [ebx + 0x190], 0
je 0x1012cf68
xor ebx, ebx
mov eax, dword [esp + 0xc]
cmp ebx, dword [eax + 0x178]
jge 0x1012cf68
mov eax, dword [eax + 0x190]
mov eax, dword [eax + ebx*4]
xor edi, edi
cmp dword [eax + 8], 0
je 0x1012da1e
mov esi, eax
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp dword [eax], 2
jge 0x1012da28
inc ebx
test edi, edi
je 0x1012d9f1
jmp 0x101340fe
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 0x1012da4c
mov eax, dword [esp + 8]
cmp dword [esi + 0x14], eax
jg 0x1013591e
mov ecx, esi
call fcn.10166a40
jmp 0x1012da1e
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.0x1012bfd3.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 0x1012d71b
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 0x1012efc0
cmp ecx, esi
sbb eax, edx
jl 0x1012ed6f
cmp byte [ebx + 0x101b18fa], 0
mov ebx, dword [esp + 4]
jne 0x1012c25e
mov dword [esp + 0x5c], 0
jmp case.0x1012bfd3.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 0x101351f4
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
movdqu xmm0, xmmword [esi]
movdqu xmmword [edi], xmm0
test byte [esi + 0x11], 0x20
jne 0x1012db27
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 0x1012db46
test al, 0x12
jne 0x1012f578
movzx eax, word [edi + 0x10]
and eax, 0xbfff
mov word [edi + 0x10], ax
bt eax, 0xb
jb 0x1013520a
sub ebx, 1
jb case.0x1012bfd3.89
add edi, 0x28
add esi, 0x28
jmp 0x1012daf8
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 0x10135239
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
mov dword [esi], edi
mov dword [esi + 4], ebx
jmp 0x1012bf9a
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 0x1012e5b8
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.0x1012bfd3.89
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
jg 0x10136189
mov eax, dword [esp + 0x94]
mov esi, dword [eax]
test esi, esi
je 0x1012dc77
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 0x1012dc34
mov eax, dword [esp + 8]
cmp dword [esi], eax
jne 0x1012dc6c
mov eax, dword [esi + 4]
test eax, eax
js 0x1012dc6c
cmp eax, 0x1f
jbe 0x1012dc63
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x1012dc51
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.10129dd0
jmp 0x1012dc71
mov ecx, dword [esp + 0x2c]
bt ecx, eax
jae 0x1012dc34
add esi, 0x10
mov ebx, esi
mov esi, dword [ebx]
test esi, esi
jne 0x1012dc19
mov dword [edi + 0x14], 0
mov dword [esp + 0x14], 0
cmp dword [esp + 0x20], 0
je case.0x1012bfd3.89
mov ecx, dword [esp + 0x20]
jmp 0x10133dbb
mov eax, dword [edi]
mov dword [ecx + 0x148], eax
jmp 0x1012c3a0
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 0x1012ed65
movzx eax, word [ecx + 0x46]
test ax, ax
je 0x1012ed65
mov edx, dword [ecx + 0x74]
cmp byte [edx + 8], 0
je 0x1012ed65
dec eax
mov word [ecx + 0x46], ax
jmp 0x1012ceaf
mov word [esi + 0x46], cx
mov ecx, esi
call fcn.10005370
mov dword [edi + 0x20], 0
test eax, eax
je 0x1012ceb6
cmp eax, 0x65
jne 0x10133db9
mov byte [edi + 2], 1
mov dword [esp + 0x14], 0
jmp 0x1012ceed
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 0x10135495
mov word [esi + 0x10], 4
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x10]
test edi, edi
je 0x1013548e
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 0x101354a1
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x78]
jg 0x10135537
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 0x10135194
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.0x1012bfd3.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.0x1012bfd3.89
mov word [esi], 0x2210
jmp case.0x1012bfd3.89
mov dword [esp + 0x88], esi
mov ecx, 0x7fff
cmp ecx, edi
sbb edx, ebx
jae 0x1012ecc7
xor edx, edx
mov ecx, 0x7fffff
cmp ecx, edi
mov ecx, 0
sbb ecx, ebx
jae 0x1012f116
mov ecx, closesocket
cmp ecx, edi
sbb edx, ebx
jae 0x1012f4b2
test ebx, 0xffff8000
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
je 0x1012edb3
add esi, 8
adc dword [esp + 0x30], 0
test al, 0x20
mov ebx, dword [esp + 0x28]
jne 0x10135a57
mov dword [edi + 0x1c], 6
jmp 0x1012c594
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 0x10135552
mov eax, dword [esp + 0x30]
cmp eax, 0x80
jb 0x1013559a
add eax, 0xfffffff4
shr eax, 1
cmp eax, dword [esi + 0x78]
jg 0x10135537
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.100041c0
add esp, 8
test eax, eax
jne 0x10133db9
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + edi*8 + 8]
mov edx, dword [esp + 0x30]
push esi
call fcn.10003a50
add esp, 4
mov eax, dword [esp + 0x28]
and byte [eax + 1], 0xbf
jmp 0x1012bf9a
mov ecx, dword [esp + 0x14]
jmp 0x1012d997
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 + 0x101b2646]
mov word [esi], ax
jmp case.0x1012bfd3.89
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 + 0x54]
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.0x1012bfd3.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 0x1012ec61
mov dword [esp + 0x2c], 0
mov edx, dword [esp + 4]
test byte [edx + 2], 1
jne 0x1012ec9e
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 0x1012eed7
test byte [esi + ecx*8 + 0x11], 4
jne 0x101355ab
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.10139eb0
add esp, 8
mov byte [ebx + 3], 0
mov dword [ebx + 0x20], edi
test eax, eax
jne 0x10133db9
mov edx, dword [esp + 8]
test edx, edx
je 0x1012bf9a
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 0x1012bf9a
test bl, 0x28
jne 0x101309e7
test bl, 2
je 0x1012c3dd
xor edx, edx
inc edx
mov ecx, esi
call fcn.1001a930
jmp 0x1012c3dd
cmp eax, 0x1b
jne 0x1012fda7
movzx ecx, word [esp + 0x1c4]
test ecx, ecx
je 0x1012bf9a
mov eax, dword [esp + 0x1b4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
xor edx, edx
test byte [eax + edx + 0x10], 1
jne 0x1012ce56
add edx, 0x28
cmp ecx, edx
jne 0x1012e0dc
jmp 0x1012bf9a
cmp dword [ebx + 0x128], 0
je 0x1013047a
cmp byte [ebx + 0x57], 0
je 0x1012e6be
jmp 0x1012bf36
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 0x10130c4b
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.0x1012bfd3.89
and eax, 0x2c
mov eax, dword [esp + 0x30]
jne 0x101355da
test al, 2
jne 0x1012e17b
and eax, 0x2c
jne 0x10135626
mov ecx, ebx
mov edx, edi
mov esi, dword [esp + 4]
push dword [esi + 0x10]
call fcn.10004ab0
add esp, 4
test eax, eax
js 0x1012e1ad
mov bl, byte [esi]
mov edi, dword [esp + 0x38]
jne 0x1012e67e
mov dword [esp + 0x5c], 0
mov eax, 0x101b18fa
jmp 0x1012e1bc
mov dword [esp + 0x5c], eax
mov bl, byte [esi]
mov eax, 0x101b18f4
mov edi, dword [esp + 0x38]
movzx ecx, bl
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov word [esi], dx
mov edx, dword [esp + 0x2c]
mov word [edi], dx
cmp byte [eax + ecx], 0
mov ebx, dword [esp + 4]
jne 0x1012c25e
jmp case.0x1012bfd3.89
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 0x101301c7
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.0x1012e262
jmp dword [eax*4 + 0x101b8c00]
mov ebx, edx
test edx, edx
mov edx, edi
js 0x10135aa4
cmp esi, 1
mov eax, edx
sbb eax, 0
mov edi, esi
mov esi, ebx
mov ebx, dword [esp + 0x20]
jl 0x1012e29c
mov eax, closesocket
sub eax, edx
mov ecx, edi
not ecx
cmp ecx, ebx
sbb eax, esi
jb 0x10135aef
add edi, ebx
adc edx, esi
mov eax, edi
jmp 0x1012ed3e
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 0x1013568e
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 0x1013169e
cmp byte [edi + 3], 0
jne 0x101300dd
cmp byte [edi], 2
mov ebx, dword [edi + 0x2c]
je 0x1013569a
cmp byte [ebx], 0
jne 0x101356dd
mov ecx, ebx
call fcn.101371c0
add ebx, 0x20
mov edi, ebx
mov dword [esp + 0x14], 0
movq xmm0, qword [edi]
movq qword [esi], xmm0
jmp case.0x1012bfd3.89
mov word [esi + 0x46], cx
mov ecx, esi
call fcn.10005370
test eax, eax
mov esi, ebx
je 0x1012cf21
cmp eax, 0x65
je 0x1012ce56
jmp 0x10133db9
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.0x1012bfd3.89
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + eax*8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x54]
jmp 0x1012d348
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 0x10135700
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 0x1012e467
mov edi, dword [ebx + 0x2c]
cmp byte [edi], 0
je 0x1012f142
lea edx, [esp + 0x160]
mov ecx, edi
call fcn.10004290
test eax, eax
jne 0x10133db9
cmp dword [esp + 0x160], 0
jne 0x1012efd9
mov edi, dword [ebx + 0x2c]
mov ecx, edi
call fcn.101371c0
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 0x101358de
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 0x1013570c
test byte [ebx + 8], 2
jne 0x101357b4
mov byte [ebx + 3], 0
mov dword [ebx + 0x20], 0
movq xmm0, qword [esp + 0x1b0]
movq qword [esi], xmm0
jmp case.0x1012bfd3.89
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x68]
mov eax, dword [eax + 0xd0]
test eax, eax
je 0x1012f2b0
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 0x1012ce5e
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.0x1012bfd3.89
cmp byte [ebx], 0xb5
je case.0x1012bfd3.89
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x6c]
cmp eax, 2
jl 0x1012e53f
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 0x1012e537
mov dword [esi + edx], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x6c]
inc ecx
add edx, 0x14
cmp ecx, eax
jl 0x1012e51b
mov ebx, dword [esp + 4]
mov dword [ebx + 4], 0
xor eax, eax
jmp 0x1012c250
mov eax, dword [esp + 4]
cmp dword [eax + 4], 0
je 0x1012f536
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.0x1012bfd3.89
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 0x10135836
lea esi, [edi + esi*8]
add esi, 0x10
mov dword [ecx], edx
mov dword [ecx + 4], eax
jmp 0x1012cc71
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 0x1012dbab
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 0x1012e5d5
jmp 0x1012dbab
cmp dword [ebx + 0x128], 0
je 0x1013072c
cmp byte [ebx + 0x57], 0
je 0x1012eabe
jmp 0x1012cf68
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
test eax, eax
je case.0x1012bfd3.89
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x10]
jmp 0x1012fb12
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 0x1012c25e
jmp case.0x1012bfd3.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 0x1012e672
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.101394d0
mov eax, dword [esi + 0x60]
mov ecx, dword [edi + 4]
mov dword [eax + ecx*4], 0
jmp case.0x1012bfd3.89
mov dword [esp + 0x5c], eax
mov eax, 0x101b1900
jmp 0x1012e1bc
mov esi, dword [ebx + 0x14c]
test esi, esi
jne 0x1012f4a5
mov esi, dword [ebx + 0x148]
test esi, esi
jne 0x1012eedf
mov esi, dword [ebx + 0x144]
test esi, esi
jne 0x101303a7
inc dword [ebx + 0x140]
mov esi, edx
mov ecx, ebx
mov edx, esi
push eax
call fcn.101372d0
add esp, 4
mov edx, esi
mov esi, eax
test eax, eax
mov ecx, dword [esp + 8]
je 0x1012bf36
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 0x10134bfe
cmp dword [edi + eax*8 + 0x18], 0
jne 0x10134bfe
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 + 0x54]
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 0x1012e937
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 0x1012c1ba
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 0x10135865
test eax, eax
mov edi, dword [esp + 0x48]
jne 0x1012f936
test ebx, ebx
je 0x1012e7ec
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xc4], 0
jg 0x10135c91
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 0x10135986
mov eax, ebx
mov esi, dword [esp + 0xc]
mov byte [esi + 0x55], al
mov ecx, dword [esp + 0x1c]
call fcn.10138390
cmp eax, 5
je 0x10135899
mov edx, dword [esi + 0x1e4]
test edx, edx
jne 0x101358c9
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 0x1013530f
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 0x1012e8b9
mov esi, dword [esp + 8]
movzx ecx, word [esi + 0x10]
test cl, 4
je 0x1013035a
cmp byte [edi - 1], 0x45
je 0x1013512f
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 0x1012e877
jmp 0x1012c4f4
cmp al, 0x42
mov esi, dword [esp + 8]
jne 0x1012e88c
movzx eax, word [esi + 0x10]
test al, 2
jne 0x1012e8d4
mov ecx, eax
and ecx, 0x2c
jne 0x10135c77
and eax, 0xffd3
mov word [esi + 0x10], ax
jmp 0x1012e88c
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
mov eax, dword [ecx + edx*8 + 0x20]
mov dword [ecx + edx*8 + 8], eax
mov eax, edx
mov esi, dword [esp + 0x20]
jmp 0x1012c702
test eax, eax
je 0x1013595e
xor eax, eax
cmp dword [ecx + 0x30], 0
setne al
jmp 0x1012ca22
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.0x1012bfd3.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 0x1012eef9
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 + 0x54], edx
lea eax, [edx - 0x14]
mov dword [esp + 4], eax
jmp 0x1012cef5
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 0x1012fcc5
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.10139bd0
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 0x1012caac
mov ecx, dword [esp + 4]
cmp dword [ecx + 8], 0
je 0x10133fd5
mov dword [esp + 0x14], eax
jmp 0x1012ce5e
call fcn.10004170
jmp 0x1012ca85
mov edi, dword [ebx + 0x14c]
test edi, edi
jne 0x1012f706
mov edi, dword [ebx + 0x148]
test edi, edi
jne 0x1012f05a
mov edi, dword [ebx + 0x144]
test edi, edi
jne 0x10130441
inc dword [ebx + 0x140]
mov ecx, ebx
push 0
call fcn.101372d0
add esp, 4
mov edi, eax
test eax, eax
je 0x1012cf68
lea eax, [edi + 0x20]
mov dword [edi], eax
inc esi
cmp esi, 3
jne 0x10135098
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 0x101350ab
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 0x1012cf68
mov dword [esp + 0x14], 0
mov edx, edi
mov ecx, dword [edx + 0x10]
test ecx, ecx
jne 0x101350f6
mov edi, edx
mov ecx, edx
call fcn.10003da0
mov dword [esp + 0x14], 0
test eax, eax
je 0x1012c044
jmp 0x10133db9
mov edi, dword [esp + 4]
mov eax, dword [edi + 0xc]
test eax, eax
jg 0x10131030
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov edx, dword [edi + 4]
mov esi, dword [eax + edx*4]
test esi, esi
jne 0x101359bd
mov ecx, dword [esp + 0x1c]
push 0
push dword [edi + 8]
call fcn.100089a0
add esp, 8
test eax, eax
mov ebx, dword [esp + 0xc]
je 0x1012bf36
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.10014d20
add esp, 0x10
test eax, eax
jne 0x101340dc
mov dword [esp + 8], edi
mov ecx, dword [edi]
xor edx, edx
inc edx
push 0
call fcn.10137980
add esp, 4
test eax, eax
jne 0x101359fb
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x10]
mov dword [esi + 0x30], ebx
test ebx, ebx
je 0x1012f067
movzx eax, word [eax + 2]
or eax, 2
mov edx, esi
add edx, 0x38
mov ecx, dword [esi + 0x10]
push eax
call fcn.10012d90
add esp, 4
test eax, eax
jne 0x1012ec2f
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x38]
push dword [esi + 0x2c]
push ebx
call fcn.10009440
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 0x10133fe4
mov byte [esi + 2], 1
jmp 0x1012bf9a
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0xf4], 0
mov dword [esp + 0x2c], 0
je 0x1012dfbf
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 0x1012dfbf
mov ecx, dword [esp + 0x1c]
add dword [ecx + 0x28], 1
adc dword [ecx + 0x2c], 0
test byte [edx + 2], 0x20
je 0x1012dfcd
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x28], edi
mov esi, dword [esp + 0x20]
mov dword [ecx + 0x2c], esi
jmp 0x1012dfcd
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 0x1012c594
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 + 0x58], closesocket
mov ecx, edi
je 0x10135ae7
neg ebx
mov ebx, edx
sbb eax, edx
jge 0x1012fc81
test ecx, ecx
mov edi, esi
mov edx, ebx
mov eax, dword [esp + 0x20]
js 0x10135bd6
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.0x1012bfd3.89
call fcn.10008ba0
jmp 0x1012dcfc
cmp byte [ebx + 0x101b18f4], 0
jne 0x1012ce5e
xor eax, eax
dec eax
mov dword [esp + 0x5c], eax
jmp case.0x1012bfd3.89
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0xd0]
test ecx, ecx
je 0x1012d36d
mov edx, dword [esi + 0x14]
cmp dword [ecx + 0x18], edx
je case.0x1012bfd3.89
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x1012d36d
jmp 0x1012ed9d
add esi, 6
adc dword [esp + 0x30], 0
mov dword [edi + 0x1c], 5
jmp 0x1012c590
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 0x10135c1a
mov byte [eax + 2], 1
mov dword [eax + 0x20], 0
cmp byte [eax], 0
jne case.0x1012bfd3.89
mov esi, dword [eax + 0x2c]
mov edi, dword [esi + 0x10]
test edi, edi
je 0x1012ee84
cmp dword [0x101f1020], 0
je 0x10135ca0
mov ebx, dword [0x101f4170]
test ebx, ebx
je 0x1012ee31
mov ecx, dword [0x101f1070]
cmp ecx, 0x10137970
jne 0x10135cb7
push ebx
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, dword [0x101f104c]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
sub dword [0x101f411c], eax
dec dword [0x101f4140]
mov ecx, dword [0x101f1044]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov edi, dword [0x101f4170]
test edi, edi
je 0x1012ee84
mov ecx, dword [0x101f1078]
cmp ecx, 0x10129ee0
jne 0x10135ca6
push edi
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov dword [esi + 0x10], 0
mov byte [esi], 1
jmp case.0x1012bfd3.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.0x1012bfd3.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 0x1012c25e
mov eax, dword [ebx + 0x24]
jmp 0x1012dfff
mov eax, dword [esi]
mov dword [ebx + 0x148], eax
jmp 0x1012d41c
mov eax, dword [edi]
mov dword [ecx + 0x144], eax
jmp 0x1012c3a0
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 0x1012e9d1
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.0x1012bfd3.89
mov eax, dword [esp + 4]
cmp dword [eax + 4], 0
jne 0x10135c58
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x40]
or eax, dword [ecx + 0x44]
mov ecx, dword [esp + 0xc]
jne case.0x1012bfd3.89
mov eax, dword [ecx + 0x200]
or eax, dword [ecx + 0x204]
jmp 0x1012d71b
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 0x1012c25e
jmp case.0x1012bfd3.89
cmp byte [ebx + 0x101b1900], 0
jne 0x1012ce5e
xor eax, eax
inc eax
mov dword [esp + 0x5c], eax
jmp case.0x1012bfd3.89
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b0], 1
jmp 0x1012e45f
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 0x101310d7
and ebx, 0xfffff240
or ebx, 4
mov word [edi], bx
jmp case.0x1012bfd3.89
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 + 0x54]
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.0x1012bfd3.89
mov eax, dword [edi]
mov dword [ebx + 0x148], eax
jmp 0x1012d796
mov dword [esi + 0x38], 1
mov ecx, dword [esi + 0x10]
xor edx, edx
inc edx
push dword [esi + 0x2c]
push 0
call fcn.10009440
add esp, 8
mov edi, eax
mov al, 1
jmp 0x1012ec33
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.1013c780
add esp, 4
test eax, eax
jne 0x10133db9
cmp dword [esp + 0x160], 0
jne 0x10135cc8
mov ecx, esi
mov edx, 4
call fcn.10008030
test eax, eax
jne 0x10133db9
xor eax, eax
mov dword [edi + 0x20], eax
mov dword [esp + 0x14], 0
mov dword [edi + 0x24], eax
jmp case.0x1012bfd3.89
mov esi, dword [esp + 0x20]
add esi, 3
adc dword [esp + 0x30], 0
mov edi, dword [esp + 0x38]
mov dword [edi + 0x1c], 3
jmp 0x1012ecde
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x10]
jmp 0x1012ea09
test byte [edi + 1], 8
je 0x1012e3f5
mov dword [esp + 0x160], 0
jmp 0x1012e41c
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 0x1012f1d7
mov ecx, esi
call fcn.10004f20
test eax, eax
jne 0x1012f75b
mov eax, dword [esi + 0x74]
xor ebx, ebx
cmp byte [eax + 8], 0
jne 0x1012f763
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.1000bcc0
test eax, eax
je 0x1012f18d
jmp 0x1012f765
cmp byte [esi + 0x38], 0
jne 0x10135d17
cmp dword [esi + 0x24], 0
jne 0x1013168a
xor ebx, ebx
inc ebx
jmp 0x1012f778
mov esi, dword [esp + 4]
mov edx, dword [esi + 4]
mov ecx, dword [esp + 0x1c]
push 1
push dword [esi + 8]
call fcn.100089a0
add esp, 8
test eax, eax
je 0x1012bf36
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 0x1012f23b
cmp byte [0x101f1024], 0
jne 0x101307c2
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 0x101303e3
cmp ebx, 0x80
ja 0x101304d3
mov edi, dword [esp + 0xc]
mov esi, dword [edi + 0x150]
test esi, esi
je 0x101304c5
mov eax, dword [esi]
mov dword [edi + 0x150], eax
inc dword [edi + 0x138]
jmp 0x10130510
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 4]
cmp eax, dword [ecx + 4]
je 0x1012ce5e
jmp 0x1012e4f2
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 0x10130d21
push edx
push esi
push closesocket
push 0xffffffffffffffff
mov esi, edx
call fcn.10157bb0
cmp eax, ebx
sbb edx, dword [esp + 0x3c]
jl 0x10135aef
xor ebx, ebx
push esi
push dword [esp + 0x24]
push closesocket
push ebx
call fcn.10157bb0
neg eax
sbb ebx, edx
cmp dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
sbb eax, ebx
jl 0x10135aef
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 0x1012ed3e
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 0x1013610e
movzx edx, byte [edi + 8]
movzx eax, byte [esp + 0x1b]
mov ecx, esi
push eax
call fcn.1000ba90
add esp, 4
mov dword [esp + 0x14], 0
test eax, eax
je case.0x1012bfd3.89
jmp 0x10133db9
inc dword [ecx + 0x13c]
jmp 0x1012c987
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 0x101309b9
mov dword [esp + 0x28], esi
mov eax, dword [esi + 0xc]
mov esi, dword [eax + 0x38]
mov ecx, dword [eax + 0x48]
call fcn.1013acd0
mov dword [esp + 8], eax
test eax, eax
mov ecx, dword [esp + 0x20]
jne 0x1012f41b
mov eax, ecx
bswap eax
mov dword [esi + ebx*4 + 0x24], eax
cmp ebx, 7
je 0x10131104
cmp byte [edi + 9], 0
jne 0x101309d2
mov esi, dword [esp + 4]
mov eax, dword [esi + 8]
cmp eax, 1
mov ecx, dword [esp + 0xc]
jne 0x1013037b
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 0x10130384
mov eax, dword [esi + 8]
cmp byte [eax + 0x2b], 0
jne 0x1012f4a1
mov edi, dword [eax + 0x30]
test edi, edi
je 0x1012f4a1
mov edx, dword [edi + 0x1c]
call fcn.10017ed0
xor ebx, ebx
mov dword [edi + 0x1c], ebx
mov edx, dword [edi + 0x20]
mov ecx, dword [esp + 0xc]
call fcn.10017ed0
mov dword [edi + 0x20], ebx
mov ecx, dword [esp + 0xc]
mov edi, dword [edi + 4]
jmp 0x1012f478
mov esi, dword [esi]
jmp 0x1012f464
mov eax, dword [esi]
mov dword [ebx + 0x14c], eax
jmp 0x1012d41c
mov esi, dword [esp + 0x20]
add esi, 4
adc dword [esp + 0x30], 0
mov edi, dword [esp + 0x38]
mov dword [edi + 0x1c], 4
jmp 0x1012ecde
mov esi, dword [esp + 4]
mov edx, dword [esi + 4]
mov ecx, dword [esp + 0x1c]
push 3
push dword [esi + 0xc]
call fcn.100089a0
add esp, 8
test eax, eax
je 0x1012bf36
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], 0x101f433c
jmp case.0x1012bfd3.89
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 0x1013612a
mov edx, dword [ecx]
xor eax, eax
or edx, dword [ecx + 4]
setne al
test eax, eax
jmp 0x1012e1d5
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
test eax, eax
je case.0x1012bfd3.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 0x1012f550
jmp case.0x1012bfd3.89
bt eax, 0xa
jb 0x10136150
cmp dword [edi + 0x18], 0
je 0x1012f594
mov eax, dword [edi + 8]
cmp eax, dword [edi + 0x20]
je 0x1012db39
mov ecx, edi
call fcn.1001c9c0
test eax, eax
je 0x1012db39
jmp 0x1012bf36
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 0x1013617d
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.0x1012bfd3.89
mov eax, dword [esi + 0x74]
cmp byte [eax + 8], 0
jne 0x1012ceaf
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.1000bcc0
test eax, eax
je 0x1012f5e4
jmp 0x1012dcfc
mov edi, dword [esp + 4]
mov esi, dword [edi + 4]
cmp dword [edi + 0x10], 0
je 0x101361b3
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.10027ad0
add esp, 0x14
test eax, eax
je 0x10133eaa
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.100032c0
push esi
push ebx
call sym.nss3.dll_sqlite3_exec
add esp, 0x14
mov edi, eax
test eax, eax
jne 0x1012f6c8
mov edi, dword [esp + 0x1bc]
mov eax, dword [esp + 0x1c4]
or eax, edi
je 0x101361fa
mov ecx, ebx
mov edx, esi
call fcn.10129dd0
mov byte [ebx + 0xb1], 0
test edi, edi
je 0x1012bf9a
mov ecx, dword [esp + 0xc]
call fcn.1015c3c0
cmp edi, 7
jne 0x101340fe
jmp 0x1012bf36
mov eax, dword [edi]
mov dword [ebx + 0x14c], eax
jmp 0x1012d796
mov ecx, dword [ebx + 0x16c]
test ecx, ecx
je case.0x1012bfd3.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 0x1012cf03
xor eax, eax
dec eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x78], eax
mov ecx, 9
jmp 0x10130679
xor ebx, ebx
inc ebx
cmp eax, 0x10
jne 0x1012f765
xor eax, eax
mov byte [edi + 3], 0
mov dword [edi + 0x20], 0
test eax, eax
jne 0x10133db9
mov byte [edi + 2], bl
mov dword [esp + 0x14], 0
test ebx, ebx
je case.0x1012bfd3.89
mov ebx, dword [esp + 4]
cmp dword [ebx + 8], 0
jle case.0x1012bfd3.89
jmp 0x1012c25e
mov edi, dword [ebx + 0x20]
jmp 0x1012c9a9
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 0x10130f36
cmp edi, 0xf
je 0x10136248
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 0x10130f4f
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 0x10136255
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.0x1012bfd3.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 0x1013021b
mov edi, dword [ecx + esi*8 + 8]
movzx eax, word [edi + 0x1a]
movzx ecx, ax
test cl, 2
jne 0x1012f85d
test cl, 1
je 0x101363c7
or eax, 3
mov word [edi + 0x1a], ax
mov eax, dword [edi + 8]
test eax, eax
je 0x10130218
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
test eax, eax
jne 0x1012f895
mov edx, dword [edi]
test edx, edx
jne 0x1013147c
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 0x101365e6
lea eax, [edx + eax*8]
add eax, 0x10
mov dword [ecx], esi
mov dword [ecx + 4], ebx
mov word [eax], 4
jmp 0x1012ceed
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 0x10136261
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.10012d90
add esp, 4
test eax, eax
jne 0x10133db9
mov eax, dword [esp + 0x1b0]
mov dword [esi], eax
mov dword [esi + 4], 0
jmp 0x1012bf9a
mov ecx, dword [esp + 0xc]
mov edx, 0x204
call fcn.10012800
mov al, 1
jmp 0x1012e818
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.101394d0
mov ecx, dword [esp + 0x38]
mov eax, dword [esi + 0x60]
mov dword [eax + ecx*4], 0
jmp 0x1012c33d
mov dword [esp + 0x38], esi
mov ebx, dword [esp + 0x20]
mov eax, ebx
or eax, edx
je 0x1013701d
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 0x1012f9a5
xor ecx, edx
xor eax, esi
or eax, ecx
je 0x10135aef
push edi
push ebx
push esi
push edx
call fcn.10157c20
jmp 0x1012ed3e
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 0x101363fe
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 0x1012fa22
mov ecx, dword [edi + 0x44]
cmp dword [ecx], 0
jne 0x10136408
mov esi, eax
mov eax, 0x101b2184
cmp byte [edi + 0xf], 0
jne 0x1012fa3b
cmp dword [edi], 0x101f17e4
je 0x1012fa3b
mov eax, dword [edi + 0xb8]
cmp esi, 5
jne 0x10131052
test eax, eax
je 0x1013105e
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, 0x3fffffff
je 0x1013105e
cmp byte [edi + 0xd], 0
jne 0x1013105e
cmp byte [edi + 4], 0
jne 0x10131052
mov eax, dword [edi + 0x40]
mov eax, dword [eax]
cmp dword [eax], 2
jl 0x1013105e
cmp dword [eax + 0x34], 0
je 0x1013105e
mov dword [esp + 0x28], esi
cmp bl, 5
mov esi, dword [esp + 0x14]
jne 0x10130e05
mov ecx, ebx
mov eax, esi
mov esi, ebx
jmp 0x10131064
mov eax, dword [esi + 0x74]
cmp byte [eax + 8], 0
jne 0x1012d6c1
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.1000bcc0
test eax, eax
je 0x1012faa8
jmp 0x1012e32f
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 0x10136222
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
jne 0x10136222
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
test byte [ecx + 0x11], 0x90
jne 0x1013623f
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.0x1012bfd3.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 0x1013644b
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 0x1012fbc8
lea eax, [ebx + esi*8]
add eax, 0x14
mov edx, dword [eax + 0xc]
mov ecx, dword [eax]
call fcn.10129dd0
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 0x101340e3
test byte [edx + 0x10], 2
jne 0x101364cd
mov al, byte [esp + 0x1b]
mov byte [edx + 0x12], al
jmp 0x1012bf9a
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 0x10136547
mov word [esi + 0x10], 4
mov eax, dword [esp + 4]
mov edi, dword [eax + 4]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x101364f3
mov eax, edi
sar eax, 0x1f
xor ebx, ebx
mov ecx, esi
push ebx
push ebx
push eax
push edi
call fcn.10030650
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.0x1012bfd3.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 + 0x58], ecx
cmp esi, 1
mov esi, ecx
sbb esi, 0
jl 0x1012ed36
mov esi, dword [esp + 0x6c]
cmp dword [esp + 0x44], esi
sbb dword [esp + 0x58], ebx
jae 0x1012ed36
jmp 0x10135aef
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 0x10131379
test bl, 4
je 0x1012ce5e
mov esi, dword [esp + 0x1b0]
mov edi, dword [esp + 0x1b4]
jmp 0x1012ea13
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x20]
call fcn.10129dd0
jmp 0x1012c35b
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 0x1013655b
cmp byte [ecx], 0
je 0x10136570
lea esi, [esp + 0x1b0]
mov edx, esi
call fcn.10004290
mov ecx, dword [esi]
mov byte [edi + 2], cl
mov byte [edi + 3], 0
mov dword [edi + 0x20], 0
test eax, eax
jne 0x10133db9
mov dword [esp + 0x14], 0
mov eax, dword [esp + 4]
cmp dword [eax + 8], 0
jle case.0x1012bfd3.89
test ecx, ecx
je case.0x1012bfd3.89
jmp 0x1012ce56
cmp eax, 0x1a
jne 0x1012bf9a
mov eax, dword [esp + 4]
movzx eax, word [eax + 0x10]
mov word [ebx + 0xc], ax
jmp 0x1012bf9a
mov eax, dword [esp + 0x4c]
mov ebx, dword [eax]
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
mov dword [esp + 0x30], eax
lea edi, [ebx + eax*8]
test byte [edi + 0x11], 0x90
jne 0x101365af
mov word [edi + 0x10], 4
mov esi, dword [esp + 0xc]
mov dword [esp + 0x20], ebx
mov dword [esp + 8], 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.101371c0
mov eax, dword [edi + 0x2c]
cmp eax, dword [esi + 0x78]
ja 0x10135537
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 0x1013658c
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.0x1012bfd3.89
movzx eax, word [esi + 0x10]
bt eax, 0xe
jae case.0x1012bfd3.89
test al, 0x12
jne 0x10130f00
and byte [esi + 0x11], 0xbf
jmp case.0x1012bfd3.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.0x1012bfd3.112
mov eax, dword [edi + 0x38]
mov ecx, dword [esp + 4]
cmp eax, dword [ecx + 8]
jne case.0x1012bfd3.112
mov eax, dword [edi + 0x2c]
mov dword [esp + 8], eax
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x1012ff49
cmp dword [0x101f1020], 0
je 0x101366c4
mov esi, dword [0x101f4170]
test esi, esi
je 0x1012fef6
mov ecx, dword [0x101f1070]
cmp ecx, 0x10137970
jne 0x101366d3
push esi
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, dword [0x101f104c]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
sub dword [0x101f411c], eax
dec dword [0x101f4140]
mov ecx, dword [0x101f1044]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov esi, dword [0x101f4170]
test esi, esi
je 0x1012ff49
mov ecx, dword [0x101f1078]
cmp ecx, 0x10129ee0
jne 0x101366e4
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 0x1012ca98
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 0x10131000
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 0x10136553
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.0x1012bfd3.89
mov edi, dword [esp + 0x14]
jg 0x10136a98
cmp byte [esi + 0x19], 0
je 0x10130005
mov eax, dword [esp + 4]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x10130001
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
test byte [ecx + 0x11], 0x90
jne 0x10136bec
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 0x1013674f
call fcn.10129d40
mov ecx, dword [esi]
mov word [ecx + 0x10], 1
mov dword [esi + 0x14], 0
mov dword [esp + 0x14], 0
test edi, edi
je case.0x1012bfd3.89
jmp 0x101340fe
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
je 0x101365bb
mov ecx, dword [ebx + 4]
cmp eax, 1
jbe 0x10131529
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 0x1013008e
mov edx, dword [esp + 0x20]
cmp dword [eax + 0x40], edx
je 0x10130084
mov eax, dword [eax + 0x18]
jmp 0x10130072
or byte [eax + 1], 0x20
mov byte [esi + 1], 0x20
jmp 0x1013007f
mov byte [esi], 1
mov eax, dword [ecx + 8]
mov dword [esi + 0x18], eax
mov dword [ecx + 8], esi
cmp word [esp + 0x2c], 0
je 0x10130b4c
or byte [esi + 1], 1
mov byte [esi + 2], 0
xor eax, eax
cmp dword [ecx + 0x54], 0
je 0x10131916
cmp byte [ebx + 9], 0
je 0x1012ca85
dec dword [ebx + 0xc]
jne 0x1012ca85
mov ecx, ebx
mov esi, eax
call fcn.10020120
mov eax, esi
jmp 0x1012ca85
add edi, 0x40
jmp 0x1012e317
mov edx, dword [esp + 0x10]
test byte [edx + eax*8 + 0x11], 4
jne 0x101365cb
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 0x10131908
movzx esi, word [ecx + 0x12c]
cmp edx, esi
ja 0x10130c2f
lea eax, [eax + eax*4]
cmp eax, 0x38
ja 0x10130e68
mov esi, dword [ecx + 0x150]
test esi, esi
je 0x10130e5a
mov eax, dword [esi]
mov dword [ecx + 0x150], eax
inc dword [ecx + 0x138]
jmp 0x10130e9e
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 0x10130173
lea ecx, [ebx + esi*8]
call fcn.10014690
test eax, eax
jne 0x1012bf36
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 0x1013142d
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.0x1012bfd3.89
mov dword [ecx], edi
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x1013132c
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ecx
jmp case.0x1012bfd3.89
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
or ecx, edx
test cl, 1
jne 0x1013701d
mov ecx, esi
mov esi, edx
and si, 0x2d
je 0x101365f6
and ax, 0x2d
jne 0x101301fb
mov ecx, dword [esp + 0x2c]
call fcn.100134e0
and eax, esi
test al, 4
je 0x10135aef
mov eax, dword [esp + 4]
mov bl, byte [eax]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
jmp 0x1012e245
movzx eax, word [ebx]
test eax, 0x9000
je 0x101311cd
mov eax, dword [esp + 0x10]
lea ecx, [eax + esi*8]
call fcn.10129d80
jmp case.0x1012bfd3.9
test eax, eax
jg 0x10136432
jne 0x1013024a
cmp ebx, 0x15
je 0x10136432
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x2c]
xor eax, eax
cmp byte [ecx], 0
setne al
jmp 0x1012cf28
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0xc]
test bl, 0xff
mov eax, dword [esp + 0xc]
jne 0x10130278
test byte [eax + 0x24], 4
jne case.0x1012bfd3.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 0x1012bf9a
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 0x1013660a
mov dword [esp + 0x14], 0
mov edi, dword [esi + 4]
mov eax, dword [edi + 0x50]
cmp eax, esi
je 0x101302cc
test byte [edi + 0x18], 0x40
jne 0x10136653
mov eax, dword [edi + 0x4c]
test eax, eax
jne 0x101307cd
add edi, 0x4c
xor ebx, ebx
mov ecx, 0x10
xor edx, edx
call fcn.10142fa0
test eax, eax
je 0x10136668
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 0x10130316
mov byte [eax + 8], cl
cmp byte [esi + 9], 0
je 0x10130325
dec dword [esi + 0xc]
je 0x1013662e
test bl, bl
jne case.0x1012bfd3.89
mov esi, edi
mov eax, edi
and eax, 7
cmp eax, 6
jne 0x1013391a
mov eax, dword [esp + 4]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push dword [esp + 0x24]
call fcn.10157f80
add esp, 0xc
jmp 0x1013391a
test cl, 0x28
jne 0x101319d2
test cl, 2
je 0x1012e88c
xor edx, edx
inc edx
mov ecx, esi
call fcn.1001a930
jmp 0x1012e88c
cmp eax, 2
je 0x10130a9c
mov eax, dword [esp + 4]
cmp dword [eax + 4], 1
je 0x101303b4
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 8]
test ecx, ecx
je case.0x1012bfd3.89
jmp 0x10133dbb
mov eax, dword [esi]
mov dword [ebx + 0x144], eax
jmp 0x1012d41c
mov eax, dword [ecx + 4]
test eax, eax
je 0x101303d6
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 0x101303bb
mov eax, dword [esp + 0x1c]
and byte [eax + 0x98], 0xfc
jmp 0x1013038e
mov edi, dword [esp + 0xc]
cmp dword [edi + 0x128], 0
je 0x1013151e
cmp byte [edi + 0x57], 0
je 0x101304f9
jmp 0x101340c5
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 0x10131aee
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 0x1012c2ee
mov eax, dword [edi]
mov dword [ebx + 0x144], eax
jmp 0x1012d796
test cl, cl
js 0x1013098f
test cl, 0x10
jne 0x1012ce5e
jmp 0x1012efcd
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xc0], 2
jl 0x1012c496
jmp 0x1012d5dd
inc dword [ebx + 0x13c]
jmp 0x1012e6be
mov dword [esp + 0x14], 0
mov edx, edi
mov ecx, dword [esp + 0x20]
cmp byte [edx], 3
je 0x10130c05
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 0x10136122
lea eax, [ecx + eax*8]
add eax, 0x10
mov word [eax], 1
jmp case.0x1012bfd3.89
mov esi, dword [edi + 0x14c]
test esi, esi
jne 0x10130eef
mov edi, dword [esp + 0xc]
mov esi, dword [edi + 0x148]
test esi, esi
jne 0x10130bf8
mov esi, dword [edi + 0x144]
test esi, esi
jne 0x101314eb
inc dword [edi + 0x140]
mov ecx, edi
mov edx, ebx
push eax
call fcn.101372d0
add esp, 4
mov esi, eax
test eax, eax
je 0x101340c5
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 0x1013057b
test edx, edx
je 0x1013071f
cmp byte [ebx + 9], 0
jne 0x10131343
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 0x10131360
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 0x10130656
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 [0x101b12b0]
movdqa xmm2, xmmword [0x101b12c0]
movdqa xmm3, xmm0
pxor xmm3, xmm2
pxor xmm2, xmm1
pcmpgtd xmm2, xmm3
movd edx, xmm2
not edx
test dl, 1
je 0x10130606
mov dword [ecx], esi
pcmpeqd xmm3, xmm3
pxor xmm3, xmm2
pextrw edx, xmm3, 2
test dl, 1
je 0x1013061b
mov dword [ecx + 0x48], esi
pextrw edx, xmm3, 4
test dl, 1
je 0x1013062b
mov dword [ecx + 0x90], esi
pcmpeqd xmm3, xmm3
pxor xmm2, xmm3
pextrw edx, xmm2, 6
test dl, 1
je 0x10130643
mov dword [ecx + 0xd8], esi
paddd xmm1, xmmword [0x101b1310]
add ecx, 0x120
add eax, 0xfffffffc
jne 0x101305e1
xor ecx, ecx
cmp byte [ebx + 0x56], 2
mov eax, dword [esp + 0x20]
jne 0x10130737
cmp word [edi + 8], 0xc
jbe 0x101306fa
test ecx, ecx
je 0x1012bf9a
mov eax, ebx
mov ebx, 7
cmp byte [eax + 0x57], 0
jne 0x101306b3
mov ebx, ecx
cmp ecx, 0x210a
jne 0x101306b3
push 0x101db30a
push 0x184e6
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 0x101370e8
cmp ebx, 0xc0a
je 0x101370e8
mov eax, str.abort_due_to_ROLLBACK
cmp ebx, 0x204
je 0x101370d6
cmp ebx, 0x65
je 0x101370b1
cmp ebx, 0x64
jne 0x101370b8
mov eax, str.another_row_available
jmp 0x101370d6
mov eax, dword [edi + 0x14]
test eax, eax
je 0x1013070a
cmp eax, dword [ebx + 8]
jne 0x10130671
mov eax, dword [edi + 0x10]
test byte [eax], 2
jne 0x10130671
mov byte [esi + 0x3c], 3
jmp 0x10130671
mov eax, dword [esp + 8]
mov word [eax + 6], cx
jmp 0x1013057b
inc dword [ebx + 0x13c]
jmp 0x1012eabe
mov edx, dword [0x101f10ec]
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 [0x101f1028], 0
jne 0x10130666
mov ecx, dword [esp + 0x20]
mov edx, ecx
sar edx, 0x1f
mov dword [esi + 0x34], ecx
call fcn.10142fa0
mov dword [esi + 0x28], eax
xor edx, edx
test eax, eax
mov ecx, 7
cmovne ecx, edx
jmp 0x10130666
mov esi, dword [edx + 0xa4]
jmp 0x1012f23b
mov ecx, eax
mov edx, dword [ecx]
cmp edx, esi
jne 0x101366ff
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x101307cf
add edi, 0x4c
test eax, eax
mov ecx, dword [esp + 8]
je 0x101302da
cmp dword [eax + 4], ecx
je 0x10130800
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x101307ef
jmp 0x101302da
cmp dword [eax], esi
je 0x10130306
jmp 0x101307f4
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 0x10136778
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 0x10136790
bt eax, 0xa
mov edx, dword [esp + 0x30]
jb 0x101367a7
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 0x101367df
bt eax, 0xa
jb 0x101367f0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], 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 0x10135537
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.101374f0
add esp, 4
test eax, eax
jne 0x1012bf36
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 + 0x58]
lea edx, [esi + eax*8]
add edx, 0xc
cmp dword [esp + 0x30], edi
je 0x10130933
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.0x1012bfd3.89
test dl, 1
je 0x10131465
mov eax, dword [esp + 0x30]
and eax, 0x100
jne 0x10131465
mov dword [esp + 0x5c], 0
mov eax, 0x101b18fa
jmp 0x1012e1b8
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x1012f3ec
mov ecx, edi
call fcn.10020150
jmp 0x1012f3ec
dec dword [edi + 0xc]
jne 0x1012f425
mov ecx, edi
call fcn.10020120
jmp 0x1012f425
cmp al, 0x45
ja 0x1012c3dd
test bl, 0x20
jne 0x10130a7d
movsd xmm0, qword [esi]
movsd qword [esp + 0x30], xmm0
call fcn.1006ea60
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 0x1012c3dd
jp 0x1012c3dd
xor eax, eax
dec eax
mov dword [esp + 0x30], eax
mov eax, 0xfffffffd
cmp eax, ecx
sbb dword [esp + 0x30], edx
jb 0x1012c3dd
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 0x1012c3dd
test ecx, ecx
jne 0x1012bf9a
jmp 0x1012ce56
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 0x10130384
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 0x1013681b
cmp byte [esi], 0
jne 0x101366f5
mov eax, dword [esi + 0x74]
cmp byte [eax + 8], 0
je 0x101366f5
movzx eax, word [eax + 0x18]
xor ecx, ecx
movsx edi, byte [esi + 0x44]
test edi, edi
jg 0x1013684d
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 0x1013686e
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 4
movq xmm0, qword [esp + 0x1b0]
movq qword [esi], xmm0
jmp 0x1012cef5
mov byte [esi + 2], 2
xor eax, eax
jmp 0x101300ba
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 0x1013687a
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 0x101368a5
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, 0x101b25a4
mov edx, 0x101b25ad
cmove edx, ecx
mov cl, byte [edx + eax]
mov eax, dword [esi + 0xc]
lea eax, [eax + eax*4]
cmp cl, 2
je 0x101368d0
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.0x1012bfd3.89
mov eax, dword [esi]
mov dword [edi + 0x148], eax
jmp 0x1012f2a5
mov eax, dword [edx + 0x24]
test eax, eax
jle 0x1013049c
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 0x1012c072
cmp dword [ecx + 0x128], 0
je 0x10131b16
cmp byte [ecx + 0x57], 0
je 0x10130e8a
jmp 0x1012bf36
test dl, 8
jne 0x10131110
xor eax, eax
test dl, 0x12
jne 0x10136a4a
xor edx, edx
jmp 0x1012e135
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.10019c10
add esp, 0xc
test eax, eax
jne 0x101368e2
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 0x101368fe
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 0x10136913
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 0x10136928
mov dword [ecx], edx
sar edx, 0x1f
mov dword [ecx + 4], edx
mov word [ecx + 0x10], 4
jmp 0x1012bf9a
test edx, edx
mov esi, edx
jns 0x1012f323
cmp dword [esp + 0x38], 1
mov eax, dword [esp + 0x3c]
sbb eax, 0
jl 0x10136ad0
push edi
push ebx
push closesocket
xor edi, edi
push edi
call fcn.10157bb0
neg eax
sbb edi, edx
cmp dword [esp + 0x20], eax
mov eax, esi
sbb eax, edi
jae 0x1012f323
jmp 0x10135aef
mov eax, dword [esp + 0x10]
mov esi, dword [eax + ecx*8 + 8]
jmp 0x1012e93b
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 + 0x54]
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.0x1012bfd3.9
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 0x10136968
lea ecx, [edx + ecx*8]
test al, 0x24
je 0x1013697a
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 0x101369a0
lea eax, [ecx + edi*8]
add eax, 0x10
mov dword [esi], edx
mov dword [esi + 4], 0
mov word [eax], 4
jmp case.0x1012bfd3.89
xor eax, eax
mov esi, dword [esp + 0xc]
cmp byte [esi + 0x55], 0
je 0x1013400f
cmp dword [esi + 0xc0], 2
jge 0x1013400f
test al, al
jne 0x101369a7
cmp bl, 4
mov esi, dword [esp + 0x14]
je 0x101369c5
test esi, esi
jne 0x101369da
xor edx, edx
mov esi, dword [esp + 0x28]
cmp esi, 5
sete dl
inc edx
mov ecx, dword [esp + 8]
call fcn.10018df0
jmp 0x10131064
mov esi, dword [ecx + 0x14c]
test esi, esi
jne 0x101313a3
mov esi, dword [ecx + 0x148]
test esi, esi
jne 0x101312fb
mov esi, dword [ecx + 0x144]
test esi, esi
jne 0x10131aa5
inc dword [ecx + 0x140]
push 0
call fcn.101372d0
add esp, 4
mov esi, eax
test eax, eax
je 0x1012bf36
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.10014550
add esp, 8
mov byte [esi + 0x16], 0
lea eax, [ebx + 0x24]
mov ecx, dword [ebx + 0x2c]
mov edx, esi
push eax
call fcn.1013c780
add esp, 4
mov edi, eax
mov ecx, dword [esp + 0xc]
mov edx, esi
call fcn.10129dd0
jmp 0x1012ce22
mov eax, dword [esi]
mov edi, dword [esp + 0xc]
mov dword [edi + 0x14c], eax
jmp 0x1012f2a5
bt eax, 0xa
jb 0x101369f2
cmp dword [ebx + ecx*8 + 0x18], 0
je 0x10130f22
lea eax, [ebx + ecx*8]
add eax, 8
mov ecx, dword [eax]
cmp ecx, dword [eax + 0x18]
je 0x1012fe83
mov ecx, esi
call fcn.1001c9c0
test eax, eax
je 0x1012fe83
jmp 0x1012bf36
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x1012f7ca
mov ecx, esi
call fcn.10020150
jmp 0x1012f7ca
dec dword [esi + 0xc]
jne 0x1012f7e9
mov ecx, esi
call fcn.10020120
jmp 0x1012f7e9
mov eax, dword [esp + 4]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0xc]
call fcn.1003a2e0
jmp 0x1012f36f
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 0x101314f8
mov ebx, ecx
cmp cx, 0xf
ja 0x10131932
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x150]
test esi, esi
je 0x10131920
mov eax, dword [esi]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x150], eax
mov edi, dword [esp + 0xc]
inc dword [edi + 0x138]
jmp 0x10131976
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 0x1012f377
mov dword [esi + 8], ecx
movzx ecx, byte [esi + 0x1a]
test ecx, ecx
je 0x1012ff81
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 0x1012ff81
jmp 0x10131010
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], 0x101e246d
jmp 0x1012eb77
mov dword [esp + 0x28], esi
cmp esi, ebx
jne 0x10131a81
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.100143b0
mov edi, dword [esp + 0x20]
mov word [edi + 0x10], 0x2202
cmp eax, 6
je 0x101363e7
mov eax, dword [eax*4 + 0x101b2684]
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 0x1013641d
mov dword [esp + 0x14], 0
test eax, eax
je case.0x1012bfd3.89
jmp 0x10136e23
movzx ecx, bx
test cl, 4
je 0x10131b32
test bl, 4
jne 0x1012f014
mov eax, dword [esp + 4]
cmp dword [eax + 8], 0
jne 0x1012ce5e
mov ecx, 0x14
jmp 0x10133dbb
mov eax, dword [esp + 0x28]
mov byte [eax + 0x12], cl
jmp 0x1012f41b
movq xmm0, qword [esi]
call fcn.1006ea60
jmp 0x1012e135
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.1001a470
add esp, 4
mov dword [esp + 0x14], 0
cmp dword [esi + 0xc], edi
je 0x1012f377
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 0x1012f377
lea esi, [esi + esi*4]
mov edi, dword [esp + 0x10]
add dword [edi + esi*8], ecx
adc dword [edi + esi*8 + 4], edx
jmp 0x1012f377
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x1012d61c
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.10020150
mov eax, dword [esp + 0x20]
jmp 0x1012d61c
dec dword [esi + 0xc]
jne 0x1012d640
mov ecx, esi
call fcn.10020120
jmp 0x1012d640
mov word [ebx], 1
jmp case.0x1012bfd3.9
mov ecx, esi
call fcn.100188b0
test eax, eax
je 0x1012d443
jmp 0x10133db9
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 0x10136ac3
lea eax, [ecx + eax*8]
add eax, 0x10
mov word [eax], 1
jmp 0x1012bf9a
mov ecx, edi
push 0
call fcn.1001a390
add esp, 4
jmp 0x1012c7ac
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.10004f20
test eax, eax
jne 0x10136b39
mov eax, dword [esi + 0x74]
cmp byte [eax + 8], 0
jne 0x1013127d
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.1000bcc0
test eax, eax
je 0x10131247
jmp 0x10133db9
cmp byte [esi], 0
jne 0x1012bf9a
movzx eax, word [eax + 0x18]
xor edi, edi
movsx ecx, byte [esi + 0x44]
test ecx, ecx
jg 0x10136b53
cmp eax, 8
mov ecx, edi
sbb ecx, 0
jae 0x1013149a
cmp eax, 2
mov ecx, edi
sbb ecx, 0
jb 0x10136bfe
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 0x101312ba
mov edx, eax
and edx, 7
add cx, word [edx + edx + 0x101b7f46]
add ecx, 0xfffffff6
movsx eax, cx
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 4]
cmp dword [ebx + 0xc], eax
jg 0x1012c25e
jmp case.0x1012bfd3.89
mov eax, dword [esi]
mov dword [ecx + 0x148], eax
jmp 0x10130140
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.0x1012bfd3.89
call fcn.10003da0
jmp 0x1012f36f
mov ebx, edx
mov edx, dword [eax + 4]
cmp dword [eax], edi
sbb edx, ebx
jge 0x10136bca
mov dword [eax + 8], ecx
jmp 0x101301bf
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x10130585
mov ecx, ebx
call fcn.10020150
mov edx, dword [esp + 0x30]
jmp 0x10130585
dec dword [ebx + 0xc]
jne 0x101305a0
mov ecx, ebx
call fcn.10020120
mov edx, dword [esp + 0x30]
jmp 0x101305a0
test al, 0x28
jne 0x10131b8b
test al, 2
je 0x1012fd02
lea esi, [esp + 0x1b0]
xor edx, edx
inc edx
mov ecx, esi
call fcn.1001a930
movzx ebx, word [esi + 0x10]
jmp 0x1012fd02
mov eax, dword [esi]
mov dword [ecx + 0x14c], eax
jmp 0x10130140
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.0x1012bfd3.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.10157f80
add esp, 8
xor ecx, ecx
inc ecx
cmp byte [edi + 0x94], 0
cmovs ecx, esi
jmp 0x10133dbb
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 0x10136c05
mov word [esi + 0x10], 4
mov word [esi + 0x10], 8
jmp 0x1012f5d0
mov ebx, edx
mov ecx, dword [esi + 4]
mov edx, 0x3f8
push 0
call fcn.10158fd0
add esp, 4
test eax, eax
je case.0x1012bfd3.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 0x101301a5
test byte [esp + 0x30], 1
je 0x10136c11
xor eax, eax
dec eax
mov dword [esp + 0x5c], eax
jmp 0x1012e1b3
mov eax, dword [edx]
mov dword [esp + 8], eax
mov ecx, dword [edi + 4]
call fcn.10129dd0
mov eax, dword [esp + 8]
mov edx, eax
test eax, eax
je 0x1012f881
jmp 0x1013147c
mov cx, 0x28
cmp eax, 0x100
mov edx, edi
sbb edx, 0
jae 0x10136c21
mov edx, eax
mov esi, edi
cmp edx, 0x10
mov eax, esi
sbb eax, 0
jb 0x101312d0
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 0x101314c2
jmp 0x101312d0
mov eax, dword [esi]
mov dword [edi + 0x144], eax
jmp 0x1012f2a5
mov ebx, ecx
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x128], 0
je 0x10131b7c
mov edi, dword [esp + 0xc]
cmp byte [edi + 0x57], 0
je 0x10131960
jmp 0x1012bf36
inc dword [edi + 0x13c]
jmp 0x101304f9
test eax, eax
je 0x10136d07
xor eax, eax
cmp dword [ecx + 0x30], 0
setne al
mov ebx, dword [esp + 0x30]
jmp 0x10130053
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 0x10136c52
cmp dword [esi + 0x18], 0
jne 0x10136c52
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 0x10136d92
add esi, 0x28
add ebx, 0x28
dec dword [esp + 8]
je case.0x1012bfd3.89
jmp 0x10131567
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 0x10136d33
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 0x10136d4b
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 0x1012bf9a
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 0x10136d7e
mov ecx, esi
mov edx, edi
call fcn.101583c0
jmp 0x1012f36f
lea edx, [esi + 0x24]
add esi, 0x40
mov ecx, esi
call fcn.1001b0b0
xor ebx, ebx
jmp 0x1012f770
mov word [esi + 0x10], 1
jmp case.0x1012bfd3.89
lea edi, [esp + 0x1b0]
mov ecx, esi
xor edx, edx
push edi
push eax
call fcn.100041c0
add esp, 8
test eax, eax
jne 0x10133db9
mov edx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1bc]
jmp 0x1012d1e2
lea ecx, [esp + 0x1b0]
call fcn.10129d40
jmp 0x1012d206
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 0x10136da6
mov dword [esp + 8], 0x65
cmp byte [edi + 0x11], 0
je 0x101317a5
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.10158050
add esp, 4
mov dword [esp + 0x20], esi
mov dword [esp + 0x2c], eax
cmp esi, eax
jb 0x10136c5e
cmp ebx, dword [esp + 0x20]
jae 0x10136c5e
cmp dword [esp + 0x28], 0
je 0x101317a5
mov ecx, dword [edi + 8]
test ecx, ecx
jne 0x10136dc5
mov ecx, edi
mov edx, dword [esp + 0x2c]
push 0
push dword [esp + 0x24]
call fcn.10158640
add esp, 8
mov dword [esp + 8], eax
test eax, eax
jne 0x101317a5
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.1013acd0
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 0x10136df1
cmp dword [esp + 8], 0
jne 0x10136e0c
mov eax, dword [esp + 8]
mov dword [esp + 0x14], eax
jmp case.0x1012bfd3.89
mov dword [esp + 0x30], 0
mov eax, dword [esp + 4]
test byte [eax + 2], 1
jne 0x10136e2c
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x3c], eax
test eax, eax
jle case.0x1012bfd3.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 0x10136e78
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.10004ab0
add esp, 4
test eax, eax
je 0x10136e88
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 8]
test byte [ecx + edx], 2
jne 0x10136e3f
mov ecx, eax
neg ecx
test byte [esp + 0x2c], 1
cmove ecx, eax
mov dword [esp + 0x5c], ecx
jmp case.0x1012bfd3.89
cmp dword [esp + 0x5c], 0
jns 0x10136eaa
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
jmp 0x1012c261
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 0x10136ebc
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 0x101318f2
test edx, edx
je 0x101318f2
mov ebx, dword [edx + 4]
mov ecx, dword [esp + 0xc]
call fcn.10129dd0
mov edx, ebx
test ebx, ebx
jne 0x101318e0
cmp dword [esi + 0x24], 0
jne 0x1012ceaf
mov dword [edi + 0x20], 0
jmp 0x1012dd14
mov ecx, edx
xor edx, edx
call fcn.10142fa0
jmp 0x10130e94
call fcn.10004170
jmp 0x101300ba
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x14c]
test esi, esi
jne 0x10131b21
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x148]
test esi, esi
jne 0x10131b05
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x144]
test esi, esi
jne 0x10131b6b
mov edi, dword [esp + 0xc]
inc dword [edi + 0x140]
mov ecx, edi
push 0
call fcn.101372d0
add esp, 4
mov esi, eax
test eax, eax
je 0x1012bf36
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 + 0x54]
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 0x1012ff6b
cmp al, 0x45
ja 0x1012e88c
mov dword [esp + 0x2c], ecx
test cl, 0x20
jne 0x10131a6c
mov esi, dword [esp + 8]
movsd xmm0, qword [esi]
movsd qword [esp + 0x60], xmm0
call fcn.1006ea60
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 0x1012e88c
jp 0x1012e88c
xor edx, edx
dec edx
mov eax, 0xfffffffd
cmp eax, ecx
sbb edx, ebx
jb 0x1012e88c
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 0x1012e8d9
cmp bl, 5
sete al
je 0x10130e07
cmp dword [esp + 0x28], 5
je 0x10130e07
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
jmp 0x10131064
mov eax, dword [esi]
mov dword [ecx + 0x144], eax
jmp 0x10130140
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + 2]
test cl, cl
js 0x10136f52
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 0x1012cbac
test cl, 8
jne 0x10131b5d
test cl, 0x12
jne 0x1013706a
xor edx, edx
xor eax, eax
jmp 0x10130426
mov eax, dword [esi]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x148], eax
jmp 0x10130fc5
inc dword [ecx + 0x13c]
jmp 0x10130e8a
mov eax, dword [esi]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x14c], eax
jmp 0x10130fc5
mov edx, dword [esp + 0x10]
lea esi, [edx + eax*8]
test cl, 0x28
jne 0x10131c12
test cl, 2
je 0x101310e3
xor edx, edx
inc edx
mov ecx, esi
call fcn.1001a930
movzx ebx, word [edi]
jmp 0x101310e3
movsd xmm0, qword [esi]
call fcn.1006ea60
jmp 0x10130426
mov eax, dword [esi]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x144], eax
jmp 0x10130fc5
mov edi, dword [esp + 0xc]
inc dword [edi + 0x13c]
jmp 0x10131960
test bl, 0x20
jne 0x1013709a
movsd xmm0, qword [esp + 0x1b0]
movsd qword [esp + 0x20], xmm0
call fcn.1006ea60
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 0x1012fd02
jp 0x1012fd02
mov edi, edx
xor edx, edx
dec edx
mov esi, 0xfffffffd
cmp esi, eax
sbb edx, ecx
jb 0x1012fd02
mov esi, dword [esp + 8]
jmp 0x1012ea13
test bl, 0x20
jne 0x10131ca0
movsd xmm0, qword [esi]
movsd qword [esp + 0x30], xmm0
call fcn.1006ea60
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 0x101310e3
jp 0x101310e3
xor eax, eax
dec eax
mov dword [esp + 0x30], eax
mov eax, 0xfffffffd
cmp eax, ecx
sbb dword [esp + 0x30], edx
jb 0x101310e3
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 0x101310e3
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.0x1012bfd3.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.10166e20
test esi, esi
jne 0x1013391a
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 0x1012ceed
jmp case.0x1012bfd3.9
mov edx, dword [esp + 4]
mov esi, dword [edx + 4]
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10168020
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.10157d90
shld edx, eax, 0x1d
movzx ecx, byte [esi + edx]
and eax, 7
bt ecx, eax
jae 0x10133456
mov eax, dword [esp + 0x1c]
inc dword [eax + 0xc0]
jmp case.0x1012bfd3.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.10167080
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 0x10133e6c
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.0x1012bfd3.89
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 0x101333c2
mov edx, dword [esp + 0x10]
lea ecx, [edx + ecx*8]
lea ebx, [edx + eax*8]
call fcn.1015c880
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edx
mov ecx, ebx
call fcn.1015c880
mov ecx, dword [esp + 4]
movzx ebx, byte [ecx]
cmp ebx, 0x67
je 0x10133a0e
cmp ebx, 0x66
jne 0x10133a28
and dword [esp + 0x30], eax
and edx, dword [esp + 0x2c]
jmp 0x10133a16
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.0x1012bfd3.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 0x10131e87
test cl, 0x20
jne 0x10131ece
mov ecx, dword [esp + 4]
cmp dword [ecx + 0xc], 0
je 0x10131e87
add esi, 0x28
jmp 0x10131ece
movsx edx, byte [ebx + 8]
movzx eax, byte [esp + 0x1b]
mov ecx, esi
push eax
call fcn.10076690
add esp, 4
movzx eax, word [esi + 0x10]
test al, 1
jne case.default.0x10131eb4
mov ecx, dword [ebx + 4]
shr ecx, 4
and ecx, 0xf
lea edx, [ecx - 2]
cmp edx, 4
ja case.default.0x10131eb4
jmp dword [edx*4 + 0x101b8bbc]
test al, 4
je 0x1013403d
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 0x10131e6a
jmp case.0x1012bfd3.89
test al, 2
jne case.default.0x10131eb4
jmp 0x1013403d
test al, 0x10
jne case.default.0x10131eb4
jmp 0x1013403d
test al, 4
jne 0x10131efd
test al, 0x28
jne case.default.0x10131eb4
jmp 0x1013403d
mov ecx, dword [esi + 4]
lea edx, [ecx + 0x8000]
test edx, 0xffff0000
jne 0x10131f18
mov cx, 0x20
mov dx, 0xffdb
jmp 0x10131f50
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.0x10131eb4
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.0x1012bfd3.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.101371c0
mov eax, dword [esi + 0x2c]
test eax, eax
jle 0x1013409d
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 0x10132016
xor ebx, ebx
movzx edi, word [esi + 0x30]
cmp ecx, edi
cmovge ebx, edi
mov dword [esp + 0x1b8], edx
cmp ebx, eax
jae 0x10132057
lea edi, [esp + 0x1b0]
mov ecx, esi
xor edx, edx
push edi
push eax
call fcn.100041c0
add esp, 8
test eax, eax
jne 0x10133db9
mov edx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1bc]
jmp 0x10132068
mov word [esp + 0x1c0], 0x4010
mov dword [esp + 0x1bc], eax
lea esi, [esp + 0x160]
mov ecx, eax
push 0
push esi
call fcn.10005d40
add esp, 8
mov esi, eax
cmp dword [esp + 0x1c8], 0
je 0x10132094
lea ecx, [esp + 0x1b0]
call fcn.10129d40
test esi, esi
jg 0x10134105
jns 0x10134144
mov eax, dword [esp + 0x20]
dec eax
mov dword [esp + 0x20], eax
test eax, eax
jle 0x1012bf9a
mov eax, dword [esp + 8]
mov dword [eax + 0x20], 0
mov ecx, dword [eax + 0x2c]
call fcn.1001aad0
test eax, eax
je 0x10131fcc
cmp eax, 0x65
jne 0x10133db9
jmp 0x1013414c
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 0x10132106
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0xc]
cmp ecx, edx
jge case.0x1012bfd3.89
mov word [eax + 0xc], cx
jmp case.0x1012bfd3.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 0x1013412c
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.0x1012bfd3.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 0x10134138
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 0x1013352c
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.101672a0
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 0x10133db9
test ecx, ecx
je 0x1012bf9a
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 0x1013223e
mov esi, dword [esp + 8]
add esi, edi
add esi, 0xc
mov edi, dword [edx + 8]
cmp dword [edi + 0x14], ecx
jne 0x10132236
mov dword [edi + 0x14], eax
mov edx, dword [edx]
test edx, edx
jne 0x1013222b
mov esi, dword [esi]
mov edx, dword [esi + 0x20]
test edx, edx
je 0x10133465
mov esi, dword [edx + 8]
cmp dword [esi + 0x2c], ecx
jne 0x10132254
mov dword [esi + 0x2c], eax
mov edx, dword [edx]
jmp 0x10132241
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 0x101333de
mov ecx, dword [esp + 0xc]
call fcn.100136d0
jmp case.0x1012bfd3.89
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10133470
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.101371c0
mov dword [esp + 0x14], edi
mov edx, dword [edi + 0x2c]
cmp edx, 0x7f
ja 0x101333f0
mov eax, dword [esp + 0x28]
mov byte [eax], dl
inc eax
mov dword [esp + 0x28], eax
jmp 0x1013355c
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.0x1012bfd3.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 0x1013415d
cmp byte [eax], 1
je 0x10132363
mov eax, dword [esp + 0x10]
lea ecx, [eax + edi*8]
xor edx, edx
inc edx
call fcn.10144ee0
test eax, eax
jne 0x10133db9
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 0x1013238d
mov eax, dword [esp + 0xc]
and byte [eax + 0x23], 0xfb
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
mov edx, esi
call fcn.10166e20
and byte [ebx + 0x98], 0xfc
mov dword [esp + 0x14], 0
test edi, edi
je case.0x1012bfd3.89
jmp 0x101340fe
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.1015cdf0
mov esi, eax
mov eax, dword [edi + 0x10]
mov ecx, eax
not ecx
test ecx, 0x202
jne 0x10133419
cmp byte [esp + 0x1c2], 1
jne 0x10133419
mov eax, dword [esp + 0x1b8]
test eax, eax
jne 0x101344e4
test byte [esp + 0x1c1], 0x90
jne 0x1013243b
cmp dword [esp + 0x1c8], 0
je 0x1013390a
lea ecx, [esp + 0x1b0]
call fcn.10129d40
jmp 0x1013390a
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 0x10134165
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 0x1013347f
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x30]
cmp eax, ebx
cmova ebx, eax
cmp byte [edi + 9], 0
je 0x101324b4
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x101324b4
mov ecx, edi
call fcn.10020150
mov eax, dword [edi + 4]
mov eax, dword [eax]
test ebx, ebx
je 0x10133486
mov dword [eax + 0xa0], ebx
cmp byte [edi + 9], 0
je 0x101324d9
dec dword [edi + 0xc]
jne 0x101324d9
mov ecx, edi
call fcn.10020120
mov dword [esi], ebx
mov dword [esi + 4], 0
jmp case.0x1012bfd3.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 0x10134171
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.0x1012bfd3.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 0x101340fe
mov ebx, dword [esi]
test ebx, ebx
je 0x101340fe
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.10166e20
test edi, edi
jne 0x101340fe
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.100089a0
add esp, 8
test eax, eax
je 0x10133ff4
mov ecx, dword [esp + 0x1b0]
mov dword [eax + 0x2c], ecx
inc dword [esi + 4]
jmp 0x1012bf9a
mov edx, dword [esp + 4]
mov esi, dword [edx + 4]
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.10168020
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.10157d90
shld edx, eax, 0x1d
mov ecx, eax
and cl, 7
mov al, 1
shl al, cl
or byte [esi + edx], al
jmp case.0x1012bfd3.89
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.0x1012bfd3.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]
call sym.nss3.dll_sqlite3_initialize
test eax, eax
jne 0x1012bf36
mov ecx, 8
xor edx, edx
call fcn.10142fa0
test eax, eax
je 0x1012bf36
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 0x101341f3
mov word [edi + 0x10], 4
mov word [edi + 0x10], 1
mov ecx, edi
call fcn.10129d40
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], 0x10168010
jmp case.0x1012bfd3.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 0x1013417d
mov eax, dword [esp + 0x10]
test byte [eax + edi*8 + 0x11], 0x90
je 0x101334e0
mov ecx, esi
call fcn.10129d80
jmp case.0x1012bfd3.89
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.10152030
add esp, 4
test eax, eax
je 0x101332fc
mov esi, eax
cmp byte [eax + 0x2b], 1
jne 0x101332fc
mov eax, dword [esi + 0x34]
test eax, eax
je 0x101332fc
mov ecx, eax
mov edx, dword [ecx + 8]
cmp dword [edx + 4], 0
jg 0x10133c67
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x10132756
mov dword [esi + 0x34], 0
xor edi, edi
mov edx, dword [eax]
mov ecx, dword [eax + 0x18]
cmp edx, dword [esp + 0xc]
je 0x10132798
mov ebx, dword [edx + 0x194]
mov dword [eax + 0x18], ebx
mov dword [edx + 0x194], eax
mov eax, ecx
test ecx, ecx
jne 0x10132773
jmp 0x10133cf3
mov dword [esi + 0x34], eax
mov dword [eax + 0x18], 0
mov edi, eax
jmp 0x1013278d
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x178]
test eax, eax
jle 0x101327cc
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x190], 0
je 0x101338fd
test edi, edi
je 0x1012bf9a
mov ecx, dword [edi + 8]
mov ebx, dword [ecx]
cmp dword [ebx + 0x38], 0
je 0x1013286b
test eax, eax
jle 0x10132803
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x190]
xor esi, esi
xor edx, edx
cmp dword [ecx + edx*4], edi
je 0x10133902
inc edx
cmp eax, edx
jne 0x101327f5
mov ecx, dword [esp + 0xc]
call fcn.1016b6f0
mov esi, eax
test eax, eax
jne 0x10133902
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 0x1013590d
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 0x101358e7
xor esi, esi
jmp 0x1013590d
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.0x1012bfd3.89
mov eax, dword [esp + 0xc]
test byte [eax + 0x22], 8
jne 0x10133435
mov eax, dword [esp + 4]
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
mov ecx, eax
je 0x101339fc
sar ecx, 0x1f
mov edx, dword [esp + 0xc]
add dword [edx + 0x1f8], eax
adc dword [edx + 0x1fc], ecx
jmp case.0x1012bfd3.89
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xd0]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x101328e5
mov ecx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x101328d9
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.1015c880
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.1015c880
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.0x1012bfd3.89
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x1012bfd3.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 0x101341e5
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 0x10133491
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.0x1012bfd3.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.10146f80
add esp, 4
test eax, eax
je 0x1013393e
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x208], 0
je 0x10133921
mov ecx, dword [esp + 0xc]
mov edx, eax
call fcn.10017c60
jmp 0x1013393e
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.10146f80
add esp, 4
test eax, eax
je 0x1013393e
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 8]
cmp edx, eax
je 0x1013392b
test edx, edx
je 0x10133933
mov ecx, edx
mov edx, dword [edx + 0x14]
cmp edx, eax
jne 0x10132a61
add ecx, 0x14
jmp 0x1013392e
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.10146f80
add esp, 4
test eax, eax
je case.0x1012bfd3.89
mov esi, eax
mov ecx, dword [eax + 0x14]
cmp ecx, dword [eax + 0x18]
je 0x1013394b
mov edi, dword [esp + 0xc]
mov ecx, edi
mov edx, esi
call fcn.10021870
or byte [edi + 0x18], 1
jmp case.0x1012bfd3.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 0x1013349b
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 0x10132b55
mov eax, dword [esp + 0x30]
inc dword [eax + 0xc]
cmp byte [eax + 0xa], 0
jne 0x10132b55
mov ecx, dword [esp + 0x30]
call fcn.10020150
xor eax, eax
mov dword [esp + 0x1a8], 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 + 0x1ac], 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 + 0x194], ecx
mov dword [esp + 0x190], eax
mov dword [esp + 0x198], 0x64
mov dword [esp + 0x19c], 0x3b9aca00
mov dword [esp + 0x1a0], eax
mov word [esp + 0x1a4], 0x100
test edi, edi
je 0x10133ad2
shr edi, 3
inc edi
mov ecx, edi
xor edx, edx
call fcn.10142fa0
test eax, eax
je 0x1013398d
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.1000d890
mov dword [esp + 0x1a8], eax
test eax, eax
je 0x10133aa7
mov eax, dword [0x101f1688]
xor edx, edx
mov ecx, dword [esp + 8]
div dword [ecx + 0x24]
inc eax
cmp eax, dword [esp + 0x16c]
ja 0x10132c75
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 0x10134bc1
cmp dword [esp + 0x28], 0
je 0x1013457a
mov eax, dword [esp + 8]
cmp byte [eax + 0x11], 0
je 0x101341ff
cmp dword [esp + 0x20], 0
jle 0x10134561
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 0x10132ca8
jmp 0x10134563
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 0x101334ab
cmp byte [edi + 0x38], 0
je 0x101334d5
cmp byte [edi + 0x39], 0
je 0x101339ba
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.10014550
add esp, 8
test ebx, ebx
jle 0x10132d32
mov eax, dword [esi + 4]
add eax, 0x10
test byte [eax], 1
jne 0x1012ce56
add eax, 0x28
dec ebx
jne 0x10132d23
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.10005d40
add esp, 8
jmp 0x1013300c
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 0x101334ca
mov ecx, esi
call fcn.10129d80
lea eax, [edi + edi*4]
mov ecx, dword [esp + 0x10]
test byte [ecx + eax*8 + 0x10], 1
jne case.0x1012bfd3.89
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
mov word [esi + 0x10], 4
call fcn.1015c880
not eax
not edx
mov dword [esi + 4], edx
mov dword [esi], eax
jmp case.0x1012bfd3.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.100089a0
add esp, 8
test eax, eax
je 0x1012bf36
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.10009440
add esp, 8
mov dword [esp + 0x14], eax
jmp case.0x1012bfd3.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.0x1012bfd3.89
jmp 0x1012c25e
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.10167950
add esp, 8
jmp 0x1012f36f
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 0x10132fb3
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 [0x101b12b0]
xor edx, edx
movdqa xmm2, xmmword [0x101b12c0]
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 0x10132f3d
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 0x10132f5e
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 0x10132f83
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 0x10132fa0
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 [0x101b1310]
cmp ecx, edx
jne 0x10132f01
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.10166e20
test edi, edi
jne 0x101340fe
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 0x1012f52f
xor eax, eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x57], 0
jne 0x1012bf36
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 0x10136961
mov eax, dword [esp + 8]
mov esi, dword [eax]
test esi, esi
je 0x10136961
cmp dword [esi + 0x34], 0
je case.0x1012bfd3.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 0x1013315d
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 [0x101b12b0]
xor edi, edi
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmmword [0x101b1300]
movdqa xmm3, xmmword [0x101b12c0]
movdqa xmm4, xmm0
pxor xmm4, xmm3
pxor xmm3, xmm1
pcmpgtd xmm3, xmm4
movd eax, xmm3
not eax
test al, 1
je 0x101330f8
movd dword [ebx + edi*4], xmm2
pcmpeqd xmm4, xmm4
pxor xmm4, xmm3
pextrw eax, xmm4, 2
test al, 1
je 0x10133114
pshufd xmm5, xmm2, 0x55
movd dword [ebx + edi*4 + 4], xmm5
pextrw eax, xmm4, 4
test al, 1
je 0x10133128
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 0x10133144
pshufd xmm2, xmm2, 0xff
movd dword [ebx + edi*4 + 0xc], xmm2
add edi, 4
add ecx, 0xa0
paddd xmm1, xmmword [0x101b1310]
cmp edx, edi
jne 0x101330c0
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.10166e20
test ebx, ebx
je 0x10134aaa
cmp bl, 0x13
jne 0x10133e8a
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x10133e8a
mov eax, dword [esp + 4]
movzx eax, word [eax + 2]
mov dword [esp + 0x14], 0
cmp eax, 4
je case.0x1012bfd3.89
mov cl, 2
cmp eax, 5
je 0x101331e3
mov ecx, eax
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x92], cl
jmp 0x10136961
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.0x1012bfd3.89
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
call fcn.10167020
jmp case.0x1012bfd3.89
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
test eax, eax
js 0x101334f4
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 0x10133541
mov eax, dword [eax + ecx*4 + 0x58]
cmp eax, 0xc
jb 0x10133c5b
xor ecx, ecx
test al, 1
sete cl
lea eax, [ecx*4 + 4]
jmp 0x10133517
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.0x1012bfd3.89
cmp byte [eax + 2], 0
je case.0x1012bfd3.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 0x10133c7b
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
call fcn.10129d80
jmp 0x1012ce5e
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.0x1012bfd3.9
cmp byte [eax + 2], 0
jne case.0x1012bfd3.9
jmp case.0x1012bfd3.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.0x1012bfd3.27
jmp case.0x1012bfd3.89
mov eax, dword [esp + 0xc]
mov dword [eax + 0xcc], edi
jmp 0x1012bf9a
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 0x1013333a
mov eax, dword [esp + 0x10]
lea ecx, [eax + edi*8]
call fcn.10014690
test eax, eax
jne 0x1012bf36
lea eax, [ebx + ebx*4]
mov ecx, dword [esp + 0x10]
lea ebx, [ecx + eax*8]
test esi, esi
jne 0x101344b8
mov edx, dword [ebx]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + edi*8 + 8]
push dword [ebx + 4]
call fcn.101675b0
add esp, 4
jmp case.0x1012bfd3.89
cmp dword [esp + 0x5c], 0
jne case.0x1012bfd3.89
mov dword [esp + 0x5c], 0
jmp 0x1012ce5e
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.0x1012bfd3.89
cmp eax, 1
mov esi, ecx
sbb esi, 0
jl 0x1012ce5e
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 0x1012ce5e
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
test byte [eax + ecx*8 + 0x11], 0x90
je 0x10137037
mov ecx, dword [esp + 0x20]
jmp 0x101326fd
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0x40]
push 0
call fcn.1001a470
jmp 0x1012f36c
cmp edx, 0x3fff
ja 0x1013354a
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 0x10133558
test al, 1
jne 0x10132423
lea ecx, [esp + 0x1b0]
xor edx, edx
inc edx
call fcn.1001c910
jmp 0x1013241b
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.0x1012bfd3.89
mov eax, dword [esp + 0x1c]
inc dword [eax + 0xc4]
jmp 0x1012ce5e
inc bl
mov dword [esp + 0x74], ebx
jmp 0x1012bf9a
xor ebx, ebx
mov dword [esp + 8], 0
jmp 0x101322a3
xor ebx, ebx
jmp 0x1013249e
mov ebx, dword [eax + 0xa0]
jmp 0x101324c7
xor edx, edx
dec edx
mov eax, edx
jmp 0x101329cc
cmp dword [esi + 8], 1
setne cl
mov dword [esp + 0x60], ecx
jmp 0x10132aef
mov ecx, dword [esp + 8]
call fcn.10158370
mov dword [edi + 0x20], eax
test eax, eax
je 0x10136d74
mov esi, eax
mov word [eax + 0x14], bx
jmp 0x10132cec
mov word [esi + 0x10], 1
jmp 0x10132d7a
mov eax, dword [edi + 0x24]
lea edi, [eax + 8]
jmp 0x10132d09
mov eax, dword [esp + 0x10]
lea eax, [eax + edi*8]
add eax, 0x10
mov word [eax], 1
jmp case.0x1012bfd3.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 + 0x101b193a]
dec cl
xor eax, eax
inc eax
shl eax, cl
mov ebx, dword [esp + 4]
movzx ecx, word [ebx + 2]
test eax, ecx
jne 0x1012c25e
jmp case.0x1012bfd3.89
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x92], 2
mov ecx, 6
jmp 0x10133dbb
mov eax, dword [esp + 4]
mov cl, byte [eax + 0x10]
jmp 0x10133510
mov ecx, dword [esp + 0x28]
push 0
call fcn.1001a390
add esp, 4
add dword [esp + 0x28], eax
cmp dword [esi + 0x70], 0
je 0x101338d1
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 0x10133f8c
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 0x101335ce
cmp word [esp + 8], cx
jae 0x101335ce
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 0x1012bf9a
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 + 0x58], 0
mov dword [esp + 0x160], edx
mov ecx, dword [esp + 0x3c]
mov edx, ecx
mov dword [esp + 0x20], ecx
cmp ecx, esi
jbe 0x10133630
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.10157cd0
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 0x10133665
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
add ecx, edx
mov dword [esp + 0x58], 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 0x101336a6
add ebx, 4
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x74]
cmp ebx, dword [eax + 0x3c]
ja 0x10133f9b
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 0x10133770
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 0x1013377d
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x10133708
call fcn.10157e40
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 0x10133893
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 0x101336ae
mov dword [esp + 8], 0
jmp 0x101336ed
mov ebx, dword [esp + 0x1b0]
mov dword [esp + 0x20], 0
test ebx, ebx
jne 0x10133868
cmp dword [esp + 0x3c], 0
je 0x10133868
cmp dword [esp + 0x58], 0
je 0x10133868
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.1000e3c0
add esp, 0xc
mov dword [esp + 0x1b0], eax
mov eax, dword [esi]
bswap eax
mov ecx, dword [esp + 0x58]
mov dword [ecx], eax
cmp byte [ebx + 0x11], 0
je 0x10133880
cmp dword [esp + 0x44], 0
je 0x10133880
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.1000d9f0
add esp, 0xc
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x48]
call fcn.10157e40
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x44], eax
test eax, eax
je 0x10133889
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x38]
mov dword [eax], 0
mov dword [esp + 0x58], 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 0x10133897
test ebx, ebx
je 0x101336a6
jmp 0x10133897
cmp dword [esp + 0x44], 0
jne 0x10133817
jmp 0x10133823
mov dword [esp + 0x20], 0
jmp 0x10133861
mov ebx, eax
xor esi, esi
cmp dword [esp + 0x44], 0
je 0x101338aa
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x48]
call fcn.10157e40
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x101338ba
call fcn.10157e40
mov dword [esp + 0x14], 0
mov eax, esi
test al, al
jne case.0x1012bfd3.89
jmp 0x10136961
xor eax, eax
mov ecx, 0x7f
mov edx, ebx
cmp ecx, ebx
mov ecx, 0
sbb ecx, dword [esp + 8]
jb 0x101339cc
mov eax, dword [esp + 0x28]
mov byte [eax], bl
xor eax, eax
inc eax
add dword [esp + 0x28], eax
jmp 0x10133566
mov esi, 6
test edi, edi
jne 0x1013590d
mov dword [esp + 0x14], 0
test esi, esi
je case.0x1012bfd3.89
mov ecx, esi
jmp 0x10133dbb
dec dword [eax + 0x18]
jne 0x1013393e
jmp 0x10132a17
add ecx, 8
mov edx, dword [eax + 0x14]
mov dword [ecx], edx
mov ecx, dword [esp + 0xc]
mov edx, eax
call fcn.10017f30
mov eax, dword [esp + 0xc]
or byte [eax + 0x18], 1
jmp case.0x1012bfd3.89
mov edx, dword [esi + 4]
add ecx, 8
call fcn.10159090
mov eax, dword [eax + 8]
test eax, eax
je 0x10132ab4
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x10132ab4
cmp ecx, esi
je 0x101347a3
mov eax, ecx
mov ecx, dword [ecx + 0x20]
test ecx, ecx
je 0x10132ab4
cmp ecx, esi
jne 0x10133974
add eax, 0x20
jmp 0x101347a6
xor eax, eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x178], 7
mov dword [esp + 0x170], eax
cmp dword [esp + 0x174], eax
jne 0x10133ad2
jmp 0x10133ac7
mov ecx, dword [edi + 0x14]
mov eax, dword [ecx + 8]
imul eax, dword [eax + 4], 0x38
add eax, dword [ecx + 0xc]
jmp 0x10132d03
mov ecx, 0x3fff
mov edx, ebx
cmp ecx, ebx
sbb eax, dword [esp + 8]
jb 0x10133d59
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 0x101338f4
sar ecx, 0x1f
mov edx, dword [esp + 0x1c]
add dword [edx + 0x40], eax
adc dword [edx + 0x44], ecx
jmp case.0x1012bfd3.89
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 0x1012ed47
mov ecx, eax
or ecx, edx
je 0x10133e81
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 0x10134366
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 0x10133a16
mov dword [esp + 0x178], 7
mov dword [esp + 0x170], 0
cmp dword [esp + 0x174], 0
jne 0x10133ad2
mov dword [esp + 0x174], 1
mov ecx, dword [esp + 0x1a8]
call fcn.1000dbc0
push dword [esp + 0x168]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov ebx, dword [esp + 0x174]
test ebx, ebx
je 0x10133bfa
mov eax, dword [esp + 0x194]
test eax, eax
je 0x10133b34
mov ecx, dword [esp + 0x1a0]
mov byte [eax + ecx], 0
cmp dword [esp + 0x19c], 0
je 0x10133b34
test byte [esp + 0x1a5], 4
jne 0x10133b34
lea ecx, [esp + 0x190]
call fcn.10068de0
jmp 0x10133b3b
mov eax, dword [esp + 0x194]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
cmp byte [eax + 9], 0
je 0x10133b5b
mov eax, dword [esp + 0x30]
dec dword [eax + 0xc]
jne 0x10133b5b
mov ecx, dword [esp + 0x30]
call fcn.10020120
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 0x10133c50
mov ecx, esi
call fcn.10129d80
test ebx, ebx
je 0x10133bc4
cmp dword [esp + 0x14], 0
jne 0x10133dc4
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.10030650
add esp, 0x10
test byte [esi + 0x10], 2
mov eax, dword [esp + 0x10]
lea eax, [eax + edi*8 + 0x12]
jne 0x10133bdd
mov cl, byte [esp + 0x1b]
mov byte [eax], cl
jmp 0x1012ceed
mov cl, byte [esp + 0x1b]
cmp byte [eax], cl
je 0x1012ceed
movzx edx, byte [esp + 0x1b]
mov ecx, esi
call fcn.10144ee0
jmp 0x1012ceed
mov al, byte [esp + 0x1a5]
test al, 4
je 0x10133c2c
mov edx, dword [esp + 0x194]
test edx, edx
je 0x10133c23
mov ecx, dword [esp + 0x190]
call fcn.10129dd0
mov al, byte [esp + 0x1a5]
and al, 0xfb
mov byte [esp + 0x1a5], al
xor eax, eax
mov dword [esp + 0x198], eax
mov dword [esp + 0x1a0], eax
mov dword [esp + 8], 0
mov dword [esp + 0x194], eax
jmp 0x10133b3f
mov word [esi + 0x10], 1
jmp 0x10133b85
movzx eax, byte [eax + 0x101b25b6]
jmp 0x10133517
mov ebx, dword [esp + 0xc]
mov dword [ebx + 0xcc], edi
mov ecx, 6
jmp 0x10130679
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax*8]
add eax, 0x10
mov word [eax], 1
jmp 0x1012ce5e
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x2c], ebx
mov ebx, edx
call fcn.10129d80
mov ecx, dword [esp + 0x20]
mov edx, ebx
mov ebx, dword [esp + 0x2c]
jmp 0x1012cc32
movzx eax, word [esi + 0x10]
test al, 4
je 0x1012c3e7
mov ecx, dword [esi + 4]
lea edx, [ecx + 0x8000]
test edx, 0xffff0000
jne 0x101347c9
mov cx, 0x20
mov dx, 0xffdb
jmp 0x10134801
mov ecx, esi
mov dword [esp + 8], edx
call fcn.10129d80
mov edx, dword [esp + 8]
jmp 0x1012c117
mov eax, dword [edi + 4]
mov eax, dword [eax]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x10133d02
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 0x10134e7a
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x208], 0
je 0x10134553
mov ecx, dword [esp + 0xc]
mov edx, esi
call fcn.10017c60
mov eax, dword [esp + 0xc]
dec dword [eax + 0xcc]
mov dword [esp + 0x14], 0
test ebx, ebx
je case.0x1012bfd3.89
jmp 0x10136961
mov ecx, dword [esp + 0x28]
mov edx, ebx
push dword [esp + 8]
call fcn.1001a390
add esp, 4
jmp 0x101338f4
mov eax, dword [esp + 0x20]
cmp dword [eax], 0
je 0x10134796
cmp dword [edx + 0x4c], 0
je 0x10134a81
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0xc]
test eax, eax
jg 0x1012c261
push 0x101db30a
push 0x16e90
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 0x10130679
push dword [esp + 8]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov ecx, dword [esp + 0x14]
jmp 0x10133dbb
mov edi, edx
mov ecx, edx
jmp 0x1012c00c
mov esi, edx
test byte [esp + 0x1c1], 0x90
jne 0x10134524
cmp dword [esp + 0x1c8], 0
jne 0x10134524
mov edx, esi
jmp 0x1012cc00
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 0x1013453b
mov edx, dword [esp + 4]
mov edx, dword [edx + 0x10]
mov esi, dword [esp + 0x10]
test byte [esi + eax*8 + 0x11], 0x90
jne 0x101353b4
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.0x1012bfd3.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.0x1012bfd3.89
mov esi, eax
sar esi, 0x1f
mov edx, eax
push esi
call fcn.10166ff0
add esp, 4
jmp case.0x1012bfd3.89
mov edx, dword [esp + 0x2c]
jmp 0x10133a16
mov eax, dword [esp + 0x1c]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp 0x10136961
push 0x101db30a
push 0x17c54
jmp 0x101340a7
mov ecx, ebx
call fcn.1015c3c0
jmp 0x1012bf36
xor ecx, ecx
bt eax, 0x14
setae cl
lea ecx, [ecx + ecx*2]
or ecx, 8
jmp 0x10133dbb
push str.too_many_levels_of_trigger_recursion
push dword [esp + 0x20]
call fcn.10157f80
add esp, 8
xor ecx, ecx
inc ecx
jmp 0x10130679
mov ecx, 0x204
jmp 0x10133dbb
mov eax, dword [esp + 0x70]
mov edx, dword [eax]
test edx, edx
je 0x10133f00
mov ecx, dword [esp + 0xc]
call fcn.10129dd0
mov esi, dword [esp + 0xc]
mov ecx, esi
mov edx, str.database_schema_has_changed
call fcn.10038840
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 0x10133f3d
mov ecx, dword [esp + 0xc]
call fcn.10159310
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 0x10133dbb
cmp dword [esp + 0x1c8], 0
je 0x10133f73
lea ecx, [esp + 0x1b0]
call fcn.10129d40
push 0x101db30a
push 0x1577d
jmp 0x101340a7
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x10134087
push 0x101db30a
push 0x13197
jmp 0x101340a7
push 0x101db30a
push 0x131b0
jmp 0x101340a7
mov ebx, eax
cmp bl, 5
jne 0x10136961
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x54]
sar eax, 2
imul eax, eax, 0xcccccccd
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], ebx
jmp 0x1013530b
push 0x101db30a
push 0x17754
jmp 0x101340a7
mov eax, dword [esp + 8]
mov ecx, dword [eax]
call fcn.1000a990
jmp 0x101340fe
mov ecx, dword [ebx + 0x1c]
mov esi, dword [esp + 0x1b0]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x1012bf36
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.10157f80
add esp, 0xc
xor ecx, ecx
inc ecx
mov ebx, esi
jmp 0x10130679
and eax, 0x3f
movzx eax, byte [eax + 0x101b193a]
push dword [ebx]
mov edx, dword [esp + 0xc]
push dword [edx]
push dword [ecx*4 + 0x101f1838]
push dword [eax*4 + 0x101b2648]
push str.cannot_store__s_value_in__s_column__s._s
push dword [esp + 0x30]
call fcn.10157f80
add esp, 0x18
mov ecx, 0xc13
jmp 0x10133dbb
mov ebx, 0x65
jmp 0x1013530b
push str.cannot_open_savepoint___SQL_statements_in_progress
push dword [esp + 0x20]
call fcn.10157f80
add esp, 8
mov ecx, 5
jmp 0x10130679
push 0x101db30a
push 0x1579e
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 0x10133dbb
mov eax, dword [esp + 8]
mov dword [eax + 0x2c], 0
mov ecx, 7
mov ebx, edi
jmp 0x10130679
mov ecx, eax
jmp 0x10130679
push edx
call sym.nss3.dll_sqlite3_value_text
add esp, 4
push eax
push 0x101cd1ea
push dword [esp + 0x24]
call fcn.10157f80
add esp, 0xc
mov ecx, edi
jmp 0x10133dbb
mov eax, dword [esp + 4]
cmp word [eax + 2], 0
mov ecx, dword [esp + 0x30]
cmovne ecx, eax
mov dword [esp + 0x30], ecx
jmp 0x1013414c
lea ecx, [edx + eax*8]
mov edi, edx
call fcn.101680a0
mov edx, edi
jmp 0x1012c1fa
mov ecx, esi
call fcn.101680a0
jmp 0x10132137
mov ecx, esi
call fcn.101680a0
jmp 0x1013218a
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x30]
jmp 0x1012c25e
mov byte [eax], 1
jmp 0x10132363
mov ecx, esi
call fcn.101680a0
jmp 0x10132474
mov ecx, esi
call fcn.101680a0
jmp 0x1013250f
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 0x101347b0
and eax, 0xfffff240
or eax, 1
mov ecx, dword [esp + 8]
mov word [ecx], ax
jmp 0x10134b3b
mov ecx, dword [esp + 8]
call fcn.101680a0
jmp 0x1013297b
mov ecx, edi
call fcn.101680a0
jmp 0x10132692
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x38]
cmp dword [eax + 0x40], 0
je 0x1013457a
lea eax, [esp + 0x160]
push str.incremental_vacuum_enabled_with_a_max_rootpage_of_zero
push eax
call fcn.1016a4a0
add esp, 8
jmp 0x1013457a
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 0x10134472
mov eax, dword [esp + 4]
push dword [eax + 0x10]
push 0x101cd1ea
push dword [esp + 0x24]
call fcn.10157f80
add esp, 0xc
mov ecx, dword [esp + 4]
mov eax, ecx
sub eax, dword [esp + 0x54]
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 0x1012d075
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 0x10134814
lea eax, [esp + 0x1b0]
mov ecx, dword [esp + 0x30]
xor edx, edx
push eax
push esi
call fcn.100041c0
add esp, 8
test eax, eax
jne 0x10133db9
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 0x10134827
mov dword [esp + 0x30], 0
jmp 0x1012cc08
add edx, dword [esi]
jmp 0x1012c0ed
cmp bl, 0x68
jne 0x10134844
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 0x10133a16
inc edx
add esi, 8
adc dword [esp + 0x30], 0
mov dword [edi + 0x1c], 7
jmp 0x1012c590
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 0x101351c8
mov ecx, eax
sar ecx, 0x1f
add dword [esp + 0x44], eax
adc dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
mov edi, esi
mov esi, ecx
mov ecx, dword [esp + 0x3c]
jmp 0x1012c567
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x93], 0xfe
je 0x1012c23d
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x10]
test esi, esi
je 0x10134c87
cmp dword [ecx + 0xc8], 2
jl 0x10134c5f
push esi
push str.____s
mov ebx, dword [esp + 0x14]
push ebx
call fcn.10027ad0
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 0x1012c23d
mov ecx, ebx
mov edx, esi
call fcn.10129dd0
jmp 0x1012c23d
mov edx, esi
sar edx, 0x1f
mov ecx, esi
call fcn.10142fa0
jmp 0x1012c992
push dword [eax*4 + 0x101b2590]
push str._s_constraint_failed
push dword [esp + 0x24]
call fcn.10157f80
add esp, 0xc
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x10134283
push eax
mov esi, dword [esp + 0x74]
push dword [esi]
push str._z:__s
push dword [esp + 0x18]
call fcn.10027ad0
add esp, 0x10
mov dword [esi], eax
jmp 0x10134283
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + edi*8 + 8]
mov edx, esi
push dword [ebx + 4]
push dword [ebx]
call fcn.10167640
add esp, 8
test eax, eax
jne 0x1012ce5e
test esi, esi
jns 0x1013334c
jmp case.0x1012bfd3.89
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0xc]
push dword [esp + 0x70]
push eax
call fcn.10167f40
add esp, 8
mov esi, eax
jmp 0x10132423
mov dword [esp + 0x30], ecx
movzx eax, byte [ecx + 0x101b25c6]
jmp 0x1012cb68
mov dword [esi + 0x24], 5
mov ebx, 5
jmp 0x1013530f
lea ecx, [esp + 0x1b0]
call fcn.10129d40
mov edx, esi
movzx eax, word [esi + 0x3e]
jmp 0x1012cc00
mov edx, dword [esp + 0x10]
test byte [edx + eax*8 + 0x11], 0x90
jne 0x101326fd
mov ecx, dword [esp + 0x10]
jmp 0x101304b5
dec dword [esi + 0x18]
jne 0x10133d3a
jmp 0x10133d2f
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 0x10134e8e
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 0x10134605
test eax, eax
je 0x10134605
xor ebx, ebx
inc ebx
mov edx, dword [esi + ebx*4]
test edx, edx
jne 0x101345b1
cmp ebx, dword [esp + 0x20]
jge 0x10134605
inc ebx
test eax, eax
jne 0x1013459d
jmp 0x10134605
mov eax, dword [esp + 8]
cmp byte [eax + 0x11], 0
je 0x101345dd
cmp dword [esp + 0x28], 0
je 0x101345dd
cmp edx, 1
je 0x101345dd
lea ecx, [esp + 0x160]
push 0
push 1
call fcn.1016a570
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.1016a620
add esp, 0xc
mov eax, dword [edi + 0x10]
jmp 0x101345a4
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 0x10133ad2
cmp dword [esp + 0x16c], 0
je 0x10133ad2
test eax, eax
je 0x10133ad2
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 0x101346de
xor eax, eax
cmp ebx, 2
jb 0x101346b4
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 [0x101f1688]
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 0x10134742
mov eax, dword [esp + 8]
cmp byte [eax + 0x11], 0
je 0x10134742
lea eax, [esp + 0x160]
push ebx
push str.Page__u:_pointer_map_referenced
push eax
call fcn.1016a4a0
add esp, 0xc
jmp 0x10134742
xor eax, eax
cmp ebx, 2
jb 0x10134734
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 [0x101f1688]
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 0x10134766
mov eax, dword [esp + 8]
cmp byte [eax + 0x11], 0
je 0x10134766
lea eax, [edi + 3]
cmp eax, dword [esp + 0x16c]
ja 0x10133ad2
inc edi
cmp dword [esp + 0x170], 0
jne 0x1013463e
jmp 0x10133ad2
lea eax, [esp + 0x160]
push ebx
push str.Page__u:_never_used
push eax
call fcn.1016a4a0
add esp, 0xc
lea eax, [esp + 0x160]
mov eax, dword [eax + 8]
movzx eax, byte [eax + esi]
test dword [esp + 0x20], eax
jne 0x10134669
jmp 0x10134742
xor eax, eax
mov ecx, edi
mov esi, dword [esp + 0x38]
jmp 0x1012cbed
add eax, 0x38
mov ecx, dword [esi + 0x20]
mov dword [eax], ecx
jmp 0x10132ab4
test eax, 0x9000
jne 0x10134b25
mov eax, dword [esp + 8]
mov word [eax], 1
jmp 0x10134b2c
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, 0xfff1
movsx edx, dx
and edx, eax
movzx eax, cx
or eax, edx
mov word [esi + 0x10], ax
jmp 0x1012c3e7
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 0x1012cb29
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 0x10133a16
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 0x10133a16
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 0x101348d4
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 0x101348b3
add ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
cmp ecx, 0x80
jb 0x10134914
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 0x101348f6
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 + 0x44]
mov ecx, dword [esp + 0x20]
jmp 0x1012c68a
mov eax, dword [esp + 0x60]
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 + 0x60]
jmp 0x1012c723
cmp edx, 0x3fff
ja 0x10134c3c
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 0x10134c50
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
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 0x1012c702
xor eax, eax
mov dword [edx + 0x4c], eax
mov esi, ecx
mov dword [edx + 0x54], eax
mov eax, dword [ecx]
cmp eax, 0x18003
ja 0x10133d87
mov ecx, edx
cmp eax, dword [edx + 0x50]
ja 0x10133d87
xor eax, eax
mov edx, ecx
jmp 0x1012caf4
mov ecx, dword [edx + 0x4c]
mov esi, edx
mov edx, dword [esp + 0x20]
call fcn.100767a0
mov ecx, dword [esp + 0x20]
mov edx, esi
movzx eax, al
jmp 0x1012c095
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 0x10134a07
mov ecx, edi
xor edx, edx
call fcn.1001a930
mov eax, dword [esp + 0x10]
lea esi, [eax + esi*8]
add esi, 0x10
mov ecx, edi
call fcn.1015c880
mov dword [esp + 0x20], edx
movzx ecx, word [esi]
mov edx, dword [esp + 8]
mov word [esi], dx
test cl, 0x24
je 0x10134cc2
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.10139bd0
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 0x1012c88d
jmp 0x10133db9
lea ecx, [ebx + edi*8]
call fcn.1015c790
test eax, eax
jne 0x10133db9
jmp 0x1012c8eb
test byte [esp + 0x1c1], 0x90
jne 0x10134a99
cmp dword [esp + 0x1c8], 0
je 0x10133d87
lea ecx, [esp + 0x1b0]
call fcn.10129d40
jmp 0x10133d87
mov eax, dword [esp + 4]
cmp dword [eax + 4], 0
je 0x10134ac6
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 0x1012bf9a
mov ecx, edi
jmp 0x1012c00c
mov ecx, esi
call fcn.101680a0
jmp 0x1012cda8
mov dl, byte [edx + 0x101b1828]
cmp dl, byte [ebx + 0x101b1828]
je 0x1012d05e
inc dword [esp + 8]
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x1012d042
push esi
push str.no_such_savepoint:__s
push dword [esp + 0x24]
call fcn.10157f80
add esp, 0xc
xor ecx, ecx
inc ecx
jmp 0x10133dbb
mov ecx, esi
call fcn.10129d80
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.10166e20
lea eax, [esp + 0x1b0]
cmp dword [eax + 0x14], 0
jg 0x101351a1
mov eax, dword [esp + 8]
test byte [eax], 2
mov eax, dword [esp + 0x10]
lea eax, [eax + edi*8 + 0x12]
jne 0x10134ba4
mov cl, byte [esp + 0x1b]
mov byte [eax], cl
jmp 0x10133d44
mov cl, byte [esp + 0x1b]
cmp byte [eax], cl
je 0x10133d44
movzx edx, byte [esp + 0x1b]
mov ecx, esi
call fcn.10144ee0
jmp 0x10133d44
lea edi, [esp + 0x160]
mov dword [edi + 0x20], str.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.1016a2b0
add esp, 8
mov dword [edi + 0x20], 0
jmp 0x10132c80
mov eax, dword [esp + 8]
lea ecx, [edi + eax*8]
call fcn.10129d40
mov eax, dword [esp + 8]
jmp 0x1012e70e
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 0x1012d0dd
mov ecx, esi
mov edx, dword [esp + 8]
push dword [esp + 0x38]
call fcn.1001a390
add esp, 4
mov edi, eax
add edi, esi
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 8]
jmp 0x1012c735
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 0x1012c23d
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0xc8]
test esi, esi
jne 0x1013440a
jmp 0x1012c23d
mov ecx, esi
call fcn.101680a0
movzx eax, word [esi + 0x10]
jmp 0x1012cff2
mov ecx, esi
push 0x4000
call fcn.101680c0
add esp, 4
jmp case.0x1012bfd3.89
test cl, 8
jne 0x101350d3
cmp bl, 0x16
ja 0x1012ce5e
and ecx, 1
jne 0x1012ce5e
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x2c]
cmp byte [ecx], 0
je 0x1012bf80
lea edx, [esp + 0x160]
call fcn.10004290
xor esi, esi
test eax, eax
je 0x1012cf21
jmp 0x10133db9
movzx edx, byte [esp + 0x1b]
mov ecx, esi
push 1
call fcn.1001ca10
add esp, 4
movzx eax, word [esi + 0x10]
jmp 0x1012c40d
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
dec eax
jmp 0x1012d337
lea esi, [esp + 0x1b0]
mov ecx, ebx
xor edx, edx
push esi
push eax
call fcn.100041c0
add esp, 8
test eax, eax
jne 0x10133db9
mov edi, dword [esp + 0x1b8]
jmp 0x1012d4b5
lea ebx, [esp + 0x150]
mov ecx, edi
mov edx, ebx
call fcn.100767a0
mov ebx, dword [ebx]
jmp 0x1012d4c7
lea ecx, [ebx + edi]
dec ecx
lea edx, [esp + 0x15c]
call fcn.100767a0
lea eax, [esp + 0x15c]
mov edx, dword [eax]
jmp 0x1012d4f3
lea ecx, [esp + 0x1b0]
call fcn.10129d40
jmp 0x1012d542
mov ecx, esi
call fcn.10129d80
jmp 0x1012d6df
lea eax, [ebx - 1]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
cmp ecx, dword [eax + 0x178]
jge 0x101351e8
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x190]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x14], 0
mov dword [esp + 0x30], eax
cmp dword [eax + 8], 0
je 0x10134dfe
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp dword [eax], 2
jge 0x10134e0e
inc dword [esp + 0x20]
cmp dword [esp + 0x14], 0
je 0x10134db9
jmp 0x1012d640
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 0x10134e6f
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x20]
mov dword [esp + 0x28], eax
and dword [esp + 0x28], 0x10000000
and eax, 0xefffffff
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 8]
mov dword [esp + 0x14], eax
call dword [section..00cfg]
push dword [esp + 0x2c]
push dword [esp + 0x18]
call ecx
add esp, 8
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
or dword [ecx + 0x20], eax
mov ecx, dword [esp + 0x30]
call fcn.10166a40
jmp 0x10134dfe
xor eax, eax
mov dword [edi + 8], eax
mov dword [esi + 0x34], eax
mov ecx, edi
call fcn.10166a40
jmp 0x10133d1e
lea edx, [esp + 0x160]
push ecx
push eax
push str.max_rootpage___u__disagrees_with_header___u_
push edx
call fcn.1016a4a0
add esp, 0x10
jmp 0x1013457a
test al, 1
jne 0x10135226
test al, 8
jne 0x101355b9
test al, 0x12
je 0x1012ce5e
call fcn.10166f30
jmp 0x101355bd
xor esi, esi
jmp 0x1012d758
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 0x10135479
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.1000bc00
add esp, 4
test eax, eax
jne 0x10133db9
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 0x10134f00
mov ebx, dword [esp + 0xc]
mov ecx, edi
mov edi, dword [esp + 0x2c]
mov esi, ecx
mov edx, dword [esp + 0x28]
jmp 0x1012d818
mov eax, dword [ebx + 0x1f0]
add eax, dword [ebx + 0x1f4]
mov dword [esp + 0x20], eax
xor edi, edi
mov ebx, dword [esp + 0xc]
cmp edi, dword [ebx + 0x178]
jge 0x1012d765
mov eax, dword [ebx + 0x190]
mov eax, dword [eax + edi*4]
mov dword [esp + 8], 0
cmp dword [eax + 8], 0
je 0x10134f9a
mov ebx, eax
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp dword [eax], 2
jge 0x10134fa7
inc edi
cmp dword [esp + 8], 0
je 0x10134f67
jmp 0x10136e23
mov ecx, dword [esp + 0x20]
lea edx, [ecx + 1]
mov ecx, ebx
inc dword [ebx + 0xc]
mov eax, dword [eax + 0x50]
mov dword [ebx + 0x14], edx
mov dword [esp + 8], 0
mov dword [esp + 0x2c], eax
test eax, eax
je 0x10135011
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x20]
mov eax, ecx
and eax, 0x10000000
mov dword [esp + 0x28], eax
and ecx, 0xefffffff
mov dword [edx + 0x20], ecx
mov eax, dword [ebx + 8]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x2c]
call dword [section..00cfg]
push dword [esp + 0x20]
push dword [esp + 0xc]
call ecx
add esp, 8
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
or dword [ecx + 0x20], eax
mov ecx, ebx
call fcn.10166a40
jmp 0x10134f9a
xor ecx, ecx
jmp 0x1012d7f6
mov dword [esp + 0x2c], edi
mov edi, esi
mov esi, ecx
mov eax, dword [ebx + 4]
test eax, eax
je 0x1013504b
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 0x10135030
mov ebx, dword [esp + 0xc]
mov ecx, ebx
call fcn.1015c3c0
or byte [ebx + 0x18], 1
mov ecx, esi
mov esi, edi
mov edi, dword [esp + 0x2c]
jmp 0x1012d99f
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 0x1012d9e2
jmp 0x1012cf68
push esi
push dword [esp + 0x34]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x1012eaf3
mov byte [ecx + 0x55], 0
mov byte [ecx + 0x5d], 1
jmp 0x1012eb07
mov eax, dword [edx + 0x18]
mov dword [ebx + 0x1e4], eax
mov ecx, ebx
call fcn.10129dd0
dec dword [ebx + 0x1f0]
jmp 0x1012d9a7
movsd xmm0, qword [edi]
movsd xmm1, qword [0x101b11d0]
ucomisd xmm1, xmm0
jbe 0x101353be
mov ecx, ebx
and ecx, 1
add ebx, ecx
dec ebx
jmp 0x10134a2f
mov ecx, dword [ecx + ebx*4 + 4]
test ecx, ecx
je 0x1012eb4a
add edx, 0x28
dec ecx
mov ebx, ecx
jmp 0x1012bff1
test al, 2
jne 0x10135434
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0x3c]
jmp 0x1012e17b
xor eax, eax
xor edi, edi
mov ecx, dword [esp + 4]
jmp 0x1012c308
movzx eax, word [esi + 0x10]
test al, 4
je 0x1012e896
and eax, 0xffffffdb
or eax, 0x20
mov word [esi + 0x10], ax
jmp 0x1012e896
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 0x1012d8ed
cmp byte [edi + 4], 0
je 0x1012d8ed
mov ecx, dword [edi + 0x2c]
mov dword [esp + 0x20], ecx
call fcn.101371c0
mov eax, dword [esp + 0x20]
movsd xmm0, qword [eax + 0x20]
movsd qword [edi + 0x40], xmm0
jmp 0x1012d8ed
lea ecx, [edi + ebx*8]
call fcn.101680a0
jmp 0x1012ddb4
push esi
call sym.nss3.dll_sqlite3_value_text
add esp, 4
push eax
push 0x101cd1ea
push dword [esp + 0x24]
call fcn.10157f80
add esp, 0xc
mov ebx, dword [esp + 0x1c4]
jmp 0x10134b88
mov ecx, esi
call fcn.1015c790
test eax, eax
jne 0x1012bf36
mov edi, esi
add ebx, dword [esi]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
jmp 0x101343e1
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 0x30]
jmp 0x1012d60f
mov ecx, edi
mov edx, esi
push 0x4000
call fcn.101680c0
add esp, 4
jmp 0x1012db27
mov ecx, dword [esp + 4]
test byte [ecx + 2], 2
je 0x1012db50
and eax, 0xf7ff
mov word [edi + 0x10], ax
jmp 0x1012db50
mov ebx, dword [esp + 4]
cmp dword [ebx + 0xc], 0
jne 0x1012c25e
jmp case.0x1012bfd3.89
mov ecx, esi
call fcn.101680a0
jmp 0x1012db85
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 0x101352af
mov eax, dword [esp + 0xc]
mov byte [eax + 0x55], 1
mov ecx, dword [esp + 0x1c]
call fcn.10138390
cmp eax, 5
je 0x101352df
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x24]
test ecx, ecx
jne 0x101353a7
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 0x1012d9a7
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.10157f80
add esp, 8
xor ebx, ebx
inc ebx
cmp byte [edi + 0x94], 0
cmovs ebx, esi
jmp 0x1013530b
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x54]
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 0x10135356
mov ecx, dword [esp + 0x1c]
add dword [ecx + 0xb4], edx
cmp dword [ecx + 0xa0], 0
jne 0x101353a0
mov ecx, dword [esp + 0x218]
xor ecx, ebp
call fcn.10157a00
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 0x1013532b
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 0x1013531a
mov ecx, 9
xor eax, eax
dec eax
mov dword [esp + 0x48], eax
jmp 0x10133dbb
call fcn.1000a300
jmp 0x1013533e
mov ebx, dword [esp + 0xc]
mov byte [ebx + 0x55], 0
jmp 0x10130679
push 0x2000
jmp 0x10134cb5
mov dl, 1
ucomisd xmm0, qword [0x101b10f8]
jae 0x10135428
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 0x10135a02
and dl, bl
movzx ecx, dl
add ebx, ecx
jmp 0x10134a2f
and esi, 0x2e
cmp esi, 2
jne 0x10135452
mov ecx, dword [esp + 8]
xor edx, edx
call fcn.1001a930
mov eax, dword [esp + 0x20]
movzx eax, word [eax]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
and eax, 0x2e
cmp ax, 2
jne 0x10135115
mov ebx, dword [esp + 0x3c]
mov ecx, ebx
xor edx, edx
call fcn.1001a930
mov edi, dword [esp + 8]
jmp 0x1012e17b
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov eax, edi
mov edi, dword [esp + 0x2c]
mov esi, eax
jmp 0x1012d993
xor eax, eax
jmp 0x1012dd69
mov ecx, esi
call fcn.101680a0
jmp 0x1012dd4c
sub esp, 0x10
movapd xmm0, xmmword [0x101b11b0]
movupd xmmword [esp], xmm0
mov ecx, esi
mov edx, edi
call fcn.10030650
add esp, 0x10
test eax, eax
jne 0x10135537
movzx eax, word [esi + 0x10]
mov ecx, dword [esp + 8]
lea ecx, [ecx + ebx*8]
add ecx, 0x12
test al, 2
jne 0x1013583c
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 0x10135510
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x10135510
mov ecx, dword [esp + 0xc]
call fcn.10129dd0
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 0x1012dd7b
push str.string_or_blob_too_big
push dword [esp + 0x20]
call fcn.10157f80
add esp, 8
mov ecx, 0x12
jmp 0x10133dbb
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 0x10135580
mov edx, ebx
mov ebx, ecx
and eax, 0x80
test ax, ax
je 0x1012de9f
mov ecx, 0x101b199a
mov edx, dword [esp + 0x30]
push dword [esp + 8]
call fcn.10003a50
add esp, 4
jmp case.0x1012bfd3.89
movzx eax, byte [eax + 0x101b25c6]
test eax, eax
jne 0x1012deb3
jmp 0x10135580
mov edx, dword [esp + 0x10]
lea ecx, [edx + ecx*8]
mov edi, dword [ecx]
jmp 0x1012e00a
movsd xmm0, qword [ecx]
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
mov ebx, dword [esp + 4]
jne case.0x1012bfd3.89
jnp 0x1012c25e
jmp case.0x1012bfd3.89
movzx edx, byte [esp + 0x1b]
mov ecx, edi
push 1
call fcn.1001ca10
add esp, 4
mov eax, 0xfffff240
mov ecx, dword [esp + 0x38]
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 + 0x44]
cmp dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x28]
cmove ecx, eax
mov dword [esp + 0x28], ecx
movzx eax, cx
jmp 0x1012e16e
movzx edx, byte [esp + 0x1b]
mov ecx, ebx
push 1
call fcn.1001ca10
add esp, 4
mov eax, 0xfffff240
mov ecx, dword [esp + 0x20]
and eax, dword [ecx]
mov ecx, dword [esp + 0x28]
and ecx, 0xdbf
or ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x1012e17b
mov dword [esp + 0x38], esi
mov ebx, dword [esp + 0x20]
mov eax, ebx
or eax, edx
je 0x1013701d
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.10157cd0
jmp 0x1012ed3e
mov ecx, esi
call fcn.101680a0
jmp 0x1012e2ca
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.10166e20
mov dword [esp + 0x14], 0
test ebx, ebx
je 0x1012e317
jmp 0x10136961
mov ecx, edi
call fcn.100188b0
mov ebx, eax
test eax, eax
jne 0x10136961
cmp byte [edi + 2], 0
jne 0x10135c4d
mov ebx, dword [edi + 0x2c]
jmp 0x1012e303
mov ecx, esi
call fcn.101680a0
jmp 0x1012e3d3
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0xd0]
mov edx, dword [esp + 0x10]
test ecx, ecx
je 0x1013572a
mov edx, ecx
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x1013571e
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov ecx, edi
call fcn.1015c880
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 0x10133dbb
test byte [ebx + 8], 2
jne 0x10133dbb
mov edx, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
cmp dword [esp + 8], edx
mov eax, dword [esp + 0x20]
sbb eax, ecx
jl 0x101357aa
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 0x1012e476
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.10139bd0
add esp, 0xc
mov ecx, dword [edi]
test eax, eax
jne 0x10135813
test ecx, ecx
jne 0x10135813
mov edi, dword [esp + 8]
lea edx, [edi + 1]
cmp edi, 0x63
mov dword [esp + 8], edx
jb 0x101357bc
test eax, eax
jne 0x10135827
mov dword [esp + 0x14], 0
test ecx, ecx
jne 0x1012e480
test eax, eax
mov ecx, 0xd
cmovne ecx, eax
jmp 0x10133dbb
push eax
jmp 0x10133e74
mov dl, byte [esp + 0x1b]
cmp byte [ecx], dl
je 0x101354dd
movzx edx, byte [esp + 0x1b]
mov ecx, esi
call fcn.10144ee0
test eax, eax
jne 0x1012bf36
movzx eax, word [esi + 0x10]
jmp 0x101354dd
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.10157f80
add esp, 8
mov ebx, dword [esp + 0xc]
mov ecx, esi
jmp 0x10130679
mov eax, dword [esp + 4]
sub eax, dword [esp + 0x54]
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 0x1013530f
mov eax, dword [edx + 0x18]
mov dword [esi + 0x1e4], eax
mov ecx, esi
call fcn.10129dd0
jmp 0x1012e831
or byte [ebx + 8], 2
jmp 0x1012e45f
cmp dword [ebx + 0x50], 0
mov esi, 0
je 0x1013590d
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.10166e20
jmp 0x1013390a
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x20]
mov edi, eax
and edi, 0x10000000
mov dword [esp + 0x30], edi
and eax, 0xefffffff
mov dword [edx + 0x20], eax
mov edi, dword [esi + 8]
call dword [section..00cfg]
push dword [esp + 8]
push edi
call ecx
add esp, 8
mov edi, eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
or dword [ecx + 0x20], eax
jmp 0x1012da4c
push 0x101db30a
push 0x11e7c
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 0x1012ca85
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.10157f80
add esp, 8
xor ebx, ebx
inc ebx
cmp byte [edi + 0x94], 0
mov edi, dword [esp + 0x48]
cmovs ebx, esi
jmp 0x1013530f
test byte [esi + 8], 8
jne 0x1012eb8b
movsx eax, word [esi + 0x3c]
cmp dword [edi + 8], eax
jg 0x1012eb8b
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.1001a470
add esp, 4
test eax, eax
je 0x1012ec58
jmp 0x10133db9
mov edi, eax
jmp 0x1012ec36
cmp edi, eax
sbb ecx, dword [esp + 0x20]
jl 0x101350e9
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 0x10135428
ucomisd xmm1, xmm0
ja 0x101350e9
xor edx, edx
jmp 0x10135428
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 0x1012c594
test edx, edx
mov edi, esi
mov esi, ebx
mov ebx, dword [esp + 0x20]
jns 0x1012e29c
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 + 0x58], eax
mov eax, esi
adc eax, 0
cmp dword [esp + 0x58], ecx
sbb eax, dword [esp + 0x44]
jge 0x1012e29c
jmp 0x10135aef
test ecx, ecx
js 0x10136164
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 0x10136c89
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 0x10136cac
test al, 0x24
je 0x10136cb9
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 0x10136cd3
xorpd xmm1, xmm1
movsd xmm2, qword [esp + 0x20]
ucomisd xmm2, xmm1
jne 0x10135b6a
jnp 0x1013701d
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 0x10135baa
and eax, 0xfffff
or eax, dword [esp + 0xa0]
jne 0x1013701d
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.0x1012bfd3.89
xor esi, esi
dec esi
sub esi, edi
mov ebx, closesocket
sbb ebx, ecx
add esi, 2
adc ebx, 0
mov dword [esp + 0x58], 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 + 0x58]
sbb dword [esp + 0x44], esi
jge 0x1012ed36
jmp 0x10135aef
mov ecx, dword [esp + 0x1c]
push 3
push 1
call fcn.100089a0
add esp, 8
test eax, eax
je 0x1012bf36
mov dword [eax + 0x24], 0
mov byte [eax + 4], 1
or byte [eax + 8], 8
mov dword [eax + 0x2c], 0x101f433c
jmp 0x1012eddf
mov word [esi + 0x10], 1
jmp 0x1012bf9a
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x1f8]
or eax, dword [ecx + 0x1fc]
jne case.0x1012bfd3.89
mov ecx, dword [esp + 0xc]
jmp 0x1012ef5c
movzx edx, byte [esp + 0x1b]
mov ecx, esi
push 1
call fcn.1001ca10
add esp, 4
movzx eax, word [esi + 0x10]
jmp 0x1012e8d4
mov esi, 5
mov eax, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x10135881
mov ecx, dword [0x101f1044]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
jmp 0x1012ee84
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
jmp 0x1012ee31
mov eax, dword [esp + 4]
cmp word [eax + 2], 0
je 0x1012f101
mov eax, 0x10000001
mov ecx, dword [esp + 0xc]
and eax, dword [ecx + 0x20]
cmp eax, 1
je 0x1012f101
push 0x101db30a
push 0x17b87
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 0x10133dbb
mov dword [esp + 0x58], edi
mov ecx, esi
call fcn.10168840
mov ecx, esi
mov esi, eax
mov dword [esp + 0x20], ecx
movzx eax, byte [ecx + 0x3b]
test eax, eax
je 0x10135d57
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.10166c10
test esi, esi
cmove esi, eax
dec edi
add ebx, 0xffffffb8
cmp edi, 1
ja 0x10135d42
test esi, esi
jne 0x1013391a
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, 0x10168b10
mov edx, 0x10168bf0
cmove edx, ecx
cmp al, 1
mov eax, 0x10168a00
cmovne eax, edx
movzx ecx, byte [esi + 0x3b]
mov dword [esp + 0x30], 0
mov edi, 0
test ecx, ecx
je 0x10135e60
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 [0x101b12b0]
xor esi, esi
movdqa xmm2, xmmword [0x101b12c0]
movdqa xmm3, xmm0
pxor xmm3, xmm2
pxor xmm2, xmm1
pcmpgtd xmm2, xmm3
movd ebx, xmm2
not ebx
test bl, 1
je 0x10135df0
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 0x10135e0d
mov edi, dword [esp + 0x20]
mov dword [edi + esi + 0xa8], eax
pextrw ebx, xmm3, 4
test bl, 1
je 0x10135e22
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 0x10135e3f
mov edi, dword [esp + 0x20]
mov dword [edi + esi + 0x138], eax
paddd xmm1, xmmword [0x101b1310]
add esi, 0x120
cmp edx, esi
jne 0x10135dc5
xor edi, edi
cmp cl, 2
jae 0x1013693b
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 0x1013626d
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 0x10135e9f
inc dword [esp + 0x30]
test ebx, ebx
je 0x10135e6b
jmp 0x10136951
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 0x10135f53
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 0x10135ee1
xor eax, eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b0], eax
cmp edx, 0x10
jle 0x10135f63
mov ecx, 0x10
call fcn.10169620
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 0x10135f81
cmp dword [esp + 0x44], 0
jne 0x1013675e
jmp 0x10135f81
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.101696a0
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x101360f8
mov eax, dword [esp + 0x150]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x44]
call fcn.10166bd0
jmp 0x10135e92
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.101696a0
add esp, 8
test eax, eax
jne 0x10136814
mov edx, dword [esp + 0x15c]
lea eax, [esp + 0x160]
mov ecx, dword [esp + 0x3c]
push eax
call fcn.101692f0
add esp, 4
mov ebx, eax
cmp dword [esp + 8], 0xffffffff
je 0x101360ab
xor eax, eax
inc eax
mov dword [esp + 0x2c], eax
mov eax, esi
shl dword [esp + 0x2c], 4
dec eax
jne 0x1013600f
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x44]
test ebx, ebx
jne 0x10136cf6
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 0x1013606d
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 0x10136027
jmp 0x101360b7
mov ecx, 0x10
call fcn.10169620
test eax, eax
je 0x10136cf1
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.101692f0
add esp, 4
test eax, eax
jne 0x10137093
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
jmp 0x1013604f
mov ecx, dword [esp + 0x44]
test ebx, ebx
jne 0x10136cf6
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 0x10135fa2
test edi, edi
jne 0x10136a70
xor ebx, ebx
mov edi, dword [esp + 0x150]
jmp 0x10135e92
mov ecx, esi
call fcn.1015c790
test eax, eax
jne 0x10133db9
jmp 0x1012f35b
lea ecx, [ecx + eax*8]
jmp 0x101326fd
test al, 1
jne 0x101363db
test al, 8
jne 0x1013663a
xorpd xmm0, xmm0
test al, 0x12
je 0x1013663e
call fcn.10166f30
jmp 0x1013663e
mov ecx, edi
call fcn.1015c790
test eax, eax
je 0x1012f582
jmp 0x1012bf36
xor eax, eax
dec eax
add eax, 1
mov edx, closesocket
adc edx, 0
xor esi, eax
xor ecx, edx
mov eax, esi
jmp 0x1012ed3c
mov ecx, esi
call fcn.101680a0
jmp 0x1012f5d0
push dword [esp + 8]
call sym.nss3.dll_sqlite3_value_text
add esp, 4
push eax
push 0x101cd1ea
push dword [esp + 0x24]
call fcn.10157f80
add esp, 0xc
mov eax, dword [edi + 0x14]
mov dword [esp + 0x20], eax
jmp 0x1012dbf3
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x10]
mov ecx, esi
shl ecx, 4
push dword [eax + ecx + 0xc]
call fcn.10017540
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.10039c30
add esp, 8
or byte [ebx + 0x18], 1
mov edi, eax
mov eax, dword [esp + 0x1c]
and byte [eax + 0x98], 0xfc
jmp 0x1012f6e7
push 0x101db30a
push 0x17d50
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 0x1012f6d7
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x11], 0x90
je 0x101365dd
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + eax*8]
jmp 0x101326fd
xor edx, edx
push 0
jmp 0x10133e74
mov eax, dword [ebx]
mov edi, dword [esi + 0x14]
add edi, dword [eax + 0x6c]
jmp 0x1012f7df
mov ecx, esi
call fcn.101680a0
jmp 0x1012f811
mov ecx, esi
call fcn.101680a0
jmp 0x1012f8ed
mov ecx, dword [esp + 0x20]
cmp byte [ecx + 0x39], 0
je 0x10136a0a
dec eax
lea esi, [eax + eax*8]
mov eax, dword [esp + 0x20]
cmp dword [eax + esi*8 + 0x4c], 0
je 0x10136672
cmp dword [esp + 0x60], 0
je 0x101366b3
mov ecx, dword [esp + 0x60]
mov edx, 0x38
push 0
call fcn.10158fd0
add esp, 4
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x2c], 0
je 0x101363b0
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.101692f0
add esp, 4
test eax, eax
jne 0x101363a9
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 0x10136364
xor eax, eax
mov ecx, 0x30
mov esi, dword [edi + 0xc]
mov esi, dword [esi + ecx]
test esi, esi
je 0x10136358
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 0x10136330
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 0x10136a38
lea eax, [ecx + 0x38]
mov dword [esp + 0x30], eax
add ecx, dword [edi + 0xc]
xor edx, edx
inc edx
call fcn.10169390
mov ebx, eax
xor esi, esi
mov ecx, dword [esp + 0x30]
test eax, eax
je 0x1013636d
jmp 0x1013695a
mov ebx, eax
jmp 0x1013695a
mov eax, dword [esp + 0x20]
mov dword [eax + 0x10], 0
mov ebx, 7
mov esi, edi
jmp 0x1013695a
mov ecx, dword [edi + 8]
call fcn.1016af90
mov dword [edi + 8], eax
movzx eax, word [edi + 0x1a]
jmp 0x1012f856
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
jmp 0x1012f52f
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov dword [ebx + esi*8 + 8], 0
xor eax, eax
jmp 0x101310aa
call fcn.101680a0
jmp 0x1012f9e2
xor ecx, ecx
cmp ecx, dword [edi + 0x50]
sbb ecx, dword [edi + 0x54]
mov esi, ebx
jl 0x1012fa22
jmp 0x1012fa20
movzx edx, byte [esp + 0x1b]
mov ecx, edi
call fcn.10144ee0
mov eax, dword [esp + 8]
jmp 0x101310c2
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x2c]
call fcn.10167260
test eax, eax
jne 0x1012e339
jmp 0x1012bf8c
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 0x1013673b
mov ecx, ebx
call fcn.10129d80
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 0x1012fbfc
mov dword [esp + 0x14], 0
mov al, byte [esp + 0x1b]
cmp byte [edx + 0x12], al
je case.0x1012bfd3.89
mov ecx, edx
movzx edx, byte [esp + 0x1b]
call fcn.10144ee0
jmp case.0x1012bfd3.89
test byte [esi + 0x11], 0x90
jne 0x10136508
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x20]
cmp dword [eax + ecx*8 + 0x18], 0
je 0x1013650f
mov ecx, esi
call fcn.10129d40
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.1015c790
test eax, eax
je 0x1012fc6c
jmp 0x1012bf36
mov ecx, esi
call fcn.101680a0
jmp 0x1012fc45
add eax, 0x1c
jmp 0x1012ff9c
mov dword [edi + 0x24], 0xffffffff
cmp byte [ecx], 0
jne 0x1012fd5e
jmp case.0x1012bfd3.89
test byte [ecx + 1], 8
je 0x1012fd5e
mov word [edi + 2], 0
mov dword [edi + 0x20], 0
jmp 0x1012bf9a
mov ecx, edi
xor edx, edx
mov esi, dword [esp + 8]
push esi
push eax
call fcn.100041c0
mov ecx, dword [esp + 0x38]
add esp, 8
test eax, eax
je 0x1012fe57
jmp 0x10133db9
mov ecx, edi
call fcn.101680a0
jmp 0x1012fde8
mov ecx, ebx
call fcn.10020150
mov eax, dword [esp + 0x20]
jmp 0x10130047
call fcn.1015c790
test eax, eax
jne 0x1012bf36
jmp 0x101300f4
mov ecx, dword [esp + 0x10]
jmp 0x101304b5
mov edx, esi
push ebx
call fcn.10166ff0
add esp, 4
jmp 0x1012ceed
call fcn.100134e0
mov esi, eax
mov eax, dword [esp + 0x2c]
movzx eax, word [eax + 0x10]
jmp 0x101301ec
mov dword [esp + 0x14], 0
mov ecx, esi
call fcn.10020150
cmp byte [esi + 9], 0
mov edi, dword [esi + 4]
jne 0x101302bb
mov eax, dword [edi + 0x4c]
jmp 0x101307e0
mov ecx, esi
call fcn.10020120
jmp 0x10130325
movsd xmm0, qword [ecx]
xorpd xmm1, xmm1
cmpneqsd xmm1, xmm0
movd eax, xmm1
and eax, 1
jmp 0x1012f52f
mov edx, dword [eax]
mov ecx, dword [esi]
call fcn.10166300
mov edi, 0x106
xor ebx, ebx
jmp 0x10130316
mov edi, 7
jmp 0x10130316
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.10158370
mov dword [ebx], eax
test eax, eax
je 0x101363bb
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 0x1013628e
mov ecx, 0x38
xor edx, edx
call fcn.10142fa0
jmp 0x101362ac
mov ecx, dword [0x101f1044]
call dword [section..00cfg]
push ebx
jmp 0x101366eb
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x1012fef6
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x1012ff49
xor eax, eax
dec eax
mov ecx, eax
jmp 0x10130afc
mov dword [esp + 0x30], edx
mov edx, dword [esp + 8]
cmp dword [ecx + 4], edx
mov edx, dword [esp + 0x30]
jne 0x101307d9
cmp byte [ecx + 8], bl
je 0x101307d9
mov edx, dword [edx]
mov ecx, dword [esi]
call fcn.10166300
cmp bl, 2
jne 0x1013672f
or byte [edi + 0x18], 0x80
xor ebx, ebx
mov edi, 0x106
jmp 0x10130316
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax*8]
add eax, 0x10
mov word [eax], 1
jmp 0x10136484
cmp dword [ecx + 0x18], 0
jne 0x10130011
jmp 0x10130018
neg esi
mov dword [esp + 0x28], 0
mov dword [esp + 0x8c], 0
jmp 0x10135fa2
mov eax, dword [esp + 0x20]
test byte [edx + eax*8 + 0x11], 0x90
je 0x101369e5
mov ecx, dword [esp + 0x44]
jmp 0x101326fd
mov eax, edi
mov edi, ecx
movzx edx, byte [esp + 0x1b]
mov ecx, eax
push 0
call fcn.1001ca10
add esp, 4
jmp 0x101367b2
mov eax, edi
mov edi, ecx
mov ecx, eax
call fcn.1015c790
test eax, eax
jne 0x1012bf36
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 0x10130881
movzx edx, byte [esp + 0x1b]
push 0
call fcn.1001ca10
add esp, 4
jmp 0x101367f5
call fcn.1015c790
test eax, eax
jne 0x1012bf36
mov eax, dword [esp + 0x60]
movzx eax, word [eax]
and eax, 0xfffffffd
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x30]
jmp 0x101308a5
mov ebx, eax
jmp 0x10135f94
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.101670d0
add esp, 4
test eax, eax
je 0x10130b0a
jmp 0x10133db9
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 0x10130afc
jmp 0x10136854
mov ecx, esi
call fcn.101680a0
jmp 0x10130b3a
mov ebx, 2
test al, 1
jne 0x10130b7e
test al, 8
jne 0x10136b98
xorpd xmm0, xmm0
test al, 0x12
je 0x10136b9c
call fcn.10166f30
jmp 0x10136b9c
mov edx, 2
test al, 1
jne 0x10130ba5
test al, 8
jne 0x10136bb1
xorpd xmm0, xmm0
test al, 0x12
je 0x10136bb5
call fcn.10166f30
jmp 0x10136bb5
mov ecx, 0xfffff240
mov edx, dword [esp + 0x10]
and ecx, dword [edx + eax*8 + 0x10]
jmp 0x1012ef2d
cmp eax, 5
jne 0x10133db9
mov dword [esp + 0x1b0], 1
xor edx, edx
inc edx
jmp 0x10130caa
mov eax, edx
sar eax, 0x1f
mov ecx, esi
push eax
call fcn.10166ff0
add esp, 4
jmp 0x10130cd8
mov eax, edx
sar eax, 0x1f
mov ecx, edi
push eax
call fcn.10166ff0
add esp, 4
jmp 0x10130cfa
mov eax, edx
sar eax, 0x1f
push eax
call fcn.10166ff0
add esp, 4
jmp 0x1012bf9a
call fcn.10169620
mov edi, eax
test eax, eax
jne 0x10135e60
xor edi, edi
mov ebx, 7
mov ecx, edi
call fcn.10166bd0
xor esi, esi
mov ecx, esi
call fcn.10166bd0
mov ecx, ebx
jmp 0x10133dbb
test byte [edx + edi*8 + 0x11], 0x90
je 0x10136b74
mov ecx, esi
jmp 0x101326fd
test al, 1
jne 0x10136abc
test al, 8
jne 0x10136bd3
xorpd xmm0, xmm0
test al, 0x12
je 0x10136bd7
call fcn.10166f30
jmp 0x10136bd7
mov ecx, esi
jmp 0x10136241
mov ecx, edi
mov edx, dword [esp + 0xc]
call fcn.10167800
test eax, eax
je 0x10136b88
mov ecx, eax
mov esi, dword [esp + 0x28]
jmp 0x10131064
mov ecx, edi
mov edx, 2
call fcn.100143b0
mov esi, dword [esp + 0x14]
jmp 0x10130e37
mov eax, esi
mov esi, dword [esp + 0x28]
jmp 0x10131064
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
jmp 0x1013703f
mov ecx, esi
call fcn.1015c790
mov ecx, dword [esp + 0x30]
test eax, eax
je 0x10130f0a
jmp 0x1012bf36
mov ecx, dword [esp + 0x6c]
mov edx, edi
push 0
call fcn.101694c0
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x20]
mov dword [eax + 0x14], edi
test ebx, ebx
jne 0x10136958
mov eax, dword [esp + 0x58]
mov byte [eax + 2], 0
jmp 0x1012bf9a
mov ecx, dword [esp + 0x2c]
mov edx, 2
call fcn.101693c0
mov ebx, eax
jmp 0x10136a23
xor eax, eax
mov edx, dword [esp + 0x10]
cmp dword [edx + ecx*8 + 8], 0
mov edx, 0
je 0x1012e135
mov ecx, esi
call fcn.10166f90
movzx edi, word [esi + 0x10]
jmp 0x1012e135
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.101692f0
add esp, 4
mov ebx, eax
jmp 0x10135e92
push dword [esi]
call sym.nss3.dll_sqlite3_value_text
add esp, 4
push eax
push 0x101cd1ea
push dword [esp + 0x24]
call fcn.10157f80
add esp, 0xc
mov edi, dword [esi + 0x14]
jmp 0x1012ffc0
xor eax, eax
jmp 0x10130dd8
lea ecx, [ecx + eax*8]
call fcn.10129d80
jmp 0x1012bf9a
test edi, edi
jns 0x1012f323
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 0x10135aef
xor ecx, dword [esp + 0x38]
xor eax, dword [esp + 0x3c]
or eax, ecx
je 0x10135aef
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.10157bb0
cmp eax, ebx
sbb edx, edi
jae 0x1012f323
jmp 0x10135aef
mov dword [esp + 0x14], 0
cmp eax, 0x10
mov ebx, dword [esp + 4]
jne 0x10133db9
jmp 0x1012c25e
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 0x10131298
jmp 0x10136b5a
mov eax, dword [esp + 0x10]
lea eax, [eax + edi*8]
add eax, 0x10
mov word [eax], 1
jmp case.0x1012bfd3.89
mov ecx, edi
mov edx, dword [esp + 0x28]
call fcn.100143b0
jmp 0x10130e3f
movsd xmm0, qword [ecx]
xorpd xmm1, xmm1
cmpneqsd xmm1, xmm0
movd ebx, xmm1
and ebx, 1
jmp 0x10130b7e
movsd xmm0, qword [ecx]
xorpd xmm1, xmm1
cmpneqsd xmm1, xmm0
movd edx, xmm1
and edx, 1
jmp 0x10130ba5
and byte [esi + 0x1a], 0xfe
jmp 0x1013133b
movsd xmm0, qword [ecx]
xorpd xmm1, xmm1
cmpneqsd xmm1, xmm0
movd eax, xmm1
and eax, 1
jmp 0x10130dd8
xor edx, edx
inc edx
push 0
call fcn.10166ff0
add esp, 4
jmp 0x10130001
xor ecx, ecx
jmp 0x101312de
mov ecx, esi
call fcn.101680a0
jmp 0x10131422
xor eax, eax
inc eax
mov dword [esp + 0x5c], eax
mov edi, dword [esp + 0x38]
jmp 0x1012e682
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 0x101314b2
jmp 0x10136c27
mov ecx, esi
call fcn.10129d40
jmp 0x1013157e
push 0x101db30a
push 0x11c5e
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 0x101317a5
test al, 0x24
je 0x10136ef2
mov eax, dword [esp + 0x28]
fild qword [eax]
fstp qword [esp + 0xc0]
movsd xmm0, qword [esp + 0xc0]
jmp 0x10135b10
mov eax, dword [esp + 0x2c]
movsd xmm0, qword [eax]
jmp 0x10135b44
xorpd xmm0, xmm0
test al, 0x12
je 0x10135b44
mov ecx, dword [esp + 0x2c]
call fcn.10166f30
jmp 0x10135b44
cmp eax, 0x6c
jne 0x10136e64
movsd xmm1, qword [esp + 0x20]
mulsd xmm1, xmm0
movsd qword [esp + 0x20], xmm1
jmp 0x10135b76
mov ebx, 7
mov ecx, dword [esp + 0x160]
call fcn.10166c80
jmp 0x10135f94
push 0x101db30a
push 0x11e7c
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 0x101300ba
cmp byte [eax + 0x39], 0
je 0x10136f7f
mov eax, dword [eax + 0x10]
mov edi, dword [eax + 0x20]
add eax, 0x14
jmp 0x101315e5
mov eax, dword [esp + 0x10]
lea ecx, [eax + ebx*8]
mov edx, esi
push 0
call fcn.101374f0
add esp, 4
test eax, eax
jne 0x10136d74
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + ebx*8 + 0x10]
mov eax, dword [eax + ebx*8 + 8]
jmp 0x10131618
mov ecx, 7
jmp 0x10133dbb
mov ecx, edi
call fcn.1015c790
test eax, eax
jne 0x10133db9
jmp 0x1013167c
mov ecx, esi
call fcn.1015caa0
test eax, eax
je 0x101315b0
jmp 0x1012bf36
mov eax, dword [esp + 0x30]
inc dword [eax + 0xc]
cmp byte [eax + 0xa], 0
jne 0x1013170f
mov ecx, dword [esp + 0x30]
call fcn.10020150
jmp 0x1013170f
xor edx, edx
push 0
call fcn.10007a70
add esp, 4
mov dword [esp + 8], eax
test eax, eax
jne 0x101317a5
mov eax, dword [edi + 8]
test eax, eax
je 0x1013176c
and byte [eax + 1], 0xfb
mov eax, dword [eax + 0x18]
jmp 0x10136de0
mov eax, dword [esp + 0x30]
dec dword [eax + 0xc]
jne 0x101317b3
mov ecx, dword [esp + 0x30]
call fcn.10020120
jmp 0x101317b3
mov dword [esp + 0x14], 0
cmp dword [esp + 8], 0x65
mov ebx, dword [esp + 4]
je 0x1012c25e
mov ecx, dword [esp + 8]
jmp 0x10133dbb
mov eax, dword [esp + 4]
mov eax, dword [eax - 4]
add eax, 4
mov dword [esp + 0x30], eax
jmp 0x101317e1
mov ecx, dword [esp + 0x10]
test byte [ecx + ebx*8 + 0x10], 1
jne 0x10136e5d
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
test byte [ecx + edx*8 + 0x10], 1
je 0x1013187d
neg eax
jmp 0x1013187d
cmp eax, 0x6b
jne 0x10136f12
subsd xmm0, qword [esp + 0x20]
jmp 0x10135b70
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 8]
mov eax, dword [eax + ecx*4]
jmp 0x10131824
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 0x10131815
jmp case.0x1012bfd3.89
je 0x10136f91
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xc]
jmp 0x1012c261
cmp byte [esi + 0x39], 0
jne 0x10136f30
lea edx, [esp + 0x1b0]
mov dword [edx], 0
mov ecx, dword [esi + 0x14]
call fcn.10169fd0
test eax, eax
jne 0x1012dcfc
cmp dword [esp + 0x1b0], 0
jne 0x101318fc
jmp 0x1012dcfc
xorpd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
test al, 0x12
je 0x10135b16
mov ecx, dword [esp + 0x28]
call fcn.10166f30
jmp 0x10135b10
cmp eax, 0x6a
jne 0x10136fae
movsd xmm1, qword [esp + 0x20]
addsd xmm1, xmm0
movsd qword [esp + 0x20], xmm1
jmp 0x10135b76
mov ecx, dword [esi + 0x10]
call fcn.10169ab0
test eax, eax
jne 0x1012dcfc
mov eax, dword [esi + 0x10]
cmp dword [eax + 0x18], 0
jne 0x1012ceaf
jmp 0x101318fc
lea edx, [esp + 0x160]
mov ecx, dword [esp + 8]
call fcn.10004db0
lea ecx, [esp + 0x160]
cmp dword [ecx + 4], 0
jne 0x1013704f
mov ecx, dword [esp + 0x160]
jmp 0x10131ae5
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx + 8]
imul eax, dword [eax + 4], 0x38
add eax, dword [ecx + 0xc]
jmp 0x10136d40
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x54]
lea eax, [ecx + eax*4]
add eax, 0xffffffec
mov dword [esp + 4], eax
jmp 0x1012dace
mov ecx, dword [esp + 0x28]
call fcn.1015c880
mov esi, eax
mov ebx, edx
mov ecx, dword [esp + 0x2c]
call fcn.1015c880
mov dword [esp + 0x20], eax
mov eax, esi
or esi, ebx
je 0x1013701d
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.10157cd0
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 0x10135b70
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
test byte [eax + ecx*8 + 0x11], 0x90
je 0x10137037
mov ecx, edx
jmp 0x101326fd
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
lea eax, [eax + ecx*8]
add eax, 0x10
mov word [eax], 1
jmp case.0x1012bfd3.89
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 0x1012cbc3
mov ecx, dword [esp + 0x10]
cmp dword [ecx + eax*8 + 8], 0
mov eax, 0
mov edx, 0
je 0x10130426
mov ecx, esi
call fcn.10166f90
movzx edi, word [esi + 0x10]
jmp 0x10130426
mov ebx, eax
jmp 0x10136cf6
mov eax, dword [esp + 0x1b0]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x1b4]
jmp 0x10131c09
mov eax, str.no_more_rows_available
jmp 0x101370d6
movzx ecx, bl
mov eax, str.unknown_error
cmp ecx, 0x1c
ja 0x101370d6
mov edx, 0x1410004
bt edx, ecx
jb 0x101370d6
mov eax, dword [ecx*4 + 0x101b6f20]
push eax
push 0x101cd1ea
push dword [esp + 0x24]
call fcn.10157f80
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x24], ebx
cmp ebx, 0xc0a
je 0x10137129
mov eax, ebx
and eax, 0xfb
cmp eax, 0xa
jne 0x10137129
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
mov ecx, dword [esi + 0x44]
xor eax, eax
test ecx, ecx
je 0x10137122
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 + 0x54]
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 0x10137168
mov ecx, dword [esp + 0x1c]
call fcn.10138390
cmp ebx, 0xb
je 0x10137180
cmp ebx, 0xc0a
jne 0x10137192
mov ecx, dword [esp + 0xc]
call fcn.10157fd0
jmp 0x10137192
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x55], 0
jne 0x10137192
mov eax, dword [esp + 0xc]
or byte [eax + 0x24], 2
xor ebx, ebx
inc ebx
cmp byte [esp + 0x74], 0
je 0x101371b0
movzx edx, byte [esp + 0x74]
dec edx
mov ecx, dword [esp + 0xc]
call fcn.10159310
jmp 0x1013530b
mov dword [esp + 0x74], 0
jmp 0x1013530b