Function at 0x1007b6a0
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x34c
mov eax, dword [0x100bdc68]
xor eax, esp
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x350]
xor cl, cl
push ebx
push ebp
push esi
mov ebp, dword [eax]
xorps xmm0, xmm0
mov esi, dword [eax + 0x68]
mov byte [esp + 0x63], cl
push edi
mov cl, byte [ebp + 0x54]
xor edi, edi
mov byte [esp + 0x48], cl
mov byte [esp + 0x9c], cl
mov ecx, dword [eax + 0x58]
push eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x60], edi
movlpd qword [esp + 0x84], xmm0
mov dword [esp + 0x2c], ecx
call fcn.1007b600
mov ecx, dword [esp + 0x18]
add esp, 4
cmp dword [ebp + 0x174], edi
je 0x1007b730
mov ebx, dword [ebp + 0x17c]
xor edx, edx
mov eax, dword [ecx + 0xb4]
div ebx
sub ebx, edx
xor eax, eax
jmp 0x1007b736
or ebx, 0xffffffff
or eax, 0xffffffff
cmp dword [ecx + 0x24], 7
mov dword [esp + 0x7c], eax
mov dword [esp + 0x70], ebx
je 0x10083a6a
mov dword [ecx + 0x24], edi
mov dword [ecx + 0x38], edi
mov dword [ecx + 0x3c], edi
mov dword [ecx + 0x78], edi
mov dword [ebp + 0x1c8], edi
cmp dword [ebp + 0x128], edi
jne 0x10083a47
mov eax, dword [ecx + 0x20]
xorps xmm0, xmm0
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x84]
movsd qword [esp + 0xa0], xmm0
lea eax, [eax + eax*4]
mov dword [esp + 0x8c], ebx
lea esi, [esi + eax*4]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x80]
add eax, 1
mov dword [esp + 0x10], esi
mov dword [esp + 0x20], eax
adc edx, 0
mov dword [esp + 0x88], edx
mov dl, byte [esi]
movzx ebx, dl
cmp ebx, 0xb5
ja case.0x1007b7c8.89
jmp dword [ebx*4 + 0x10083cdc]
mov edx, dword [esp + 0x10]
mov ecx, edx
mov ebx, dword [esp + 0x28]
sub ecx, dword [esp + 0x24]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, 4
mov word [ebx + esi*8 + 0x10], ax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
jmp case.0x1007b7c8.9
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 4
je 0x1007b8b9
mov eax, dword [ebx + eax*8]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea esi, [edx + eax*4]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [ebx + ecx*8], eax
mov eax, 4
mov dword [ebx + ecx*8 + 4], edx
mov word [ebx + ecx*8 + 0x10], ax
cmp dword [esi + 8], 0
jne 0x1007f47f
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x24]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea esi, [edx + eax*4]
xor eax, eax
mov word [ebx + ecx*8 + 0x10], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
sub edx, dword [esp + 0x24]
lea esi, [eax + eax*4]
mov eax, 4
mov word [ebx + esi*8 + 0x10], ax
mov eax, 0x66666667
mov ecx, dword [ebx + esi*8]
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x24]
mov dword [ebx + esi*8 + 4], edx
lea esi, [ecx + eax*4]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
je 0x1007b8b9
mov edx, dword [ecx + 0xd0]
test edx, edx
je 0x100833ed
cmp dword [esi + 4], 0
jne 0x100833ed
mov eax, dword [edx + 4]
mov dword [ecx + 0xd0], eax
dec dword [ecx + 0xd8]
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x6c], ecx
add dword [ebp + 0x70], eax
push edx
adc dword [ebp + 0x74], ecx
call fcn.100845e0
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x14]
cmp dword [ecx + 8], 4
jne 0x1007b991
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x68]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov ebx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov ecx, dword [edx + 0x58]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x14]
lea esi, [ebx + eax*4]
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x1007ba0e
push ecx
call fcn.1003ae00
mov esi, dword [esp + 0x14]
mov ecx, eax
mov eax, dword [esp + 0x14]
add esp, 4
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x1007ba6b
push edx
call fcn.1003ae00
add esp, 4
mov edx, eax
jmp 0x1007ba74
mov eax, 4
mov word [edx + 0x10], ax
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edx], ecx
mov ecx, dword [esp + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x1007baca
push ecx
call fcn.1003ae00
add esp, 4
mov ecx, eax
mov esi, dword [esp + 0x10]
mov eax, 8
mov word [ecx + 0x10], ax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [esp + 0x20]
movsd qword [ecx], xmm0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1007bb29
push esi
call fcn.1003ae00
add esp, 4
mov esi, eax
jmp 0x1007bb32
mov eax, 4
mov word [esi + 0x10], ax
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x1007bb3d
xor ecx, ecx
jmp 0x1007bb55
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007bb42
sub ecx, edi
mov edi, dword [esp + 0x18]
and ecx, 0x3fffffff
cmp byte [esp + 0x48], 1
mov dword [ebx + 4], ecx
je 0x1007bbef
push 0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
push esi
call fcn.10085d80
mov edi, eax
add esp, 0x18
mov dword [esp + 0x18], edi
test edi, edi
jne 0x100836ba
test byte [esi + 0x10], 2
mov al, byte [esp + 0x48]
jne 0x1007bb92
mov byte [esi + 0x12], al
jmp 0x1007bbac
cmp byte [esi + 0x12], al
je 0x1007bbac
push dword [esp + 0x48]
push esi
call fcn.10086380
add esp, 8
test eax, eax
jne 0x1007dc10
mov ecx, dword [esp + 0x10]
mov eax, 0x2000
mov dword [esi + 0x18], 0
or word [esi + 0x10], ax
cmp byte [ecx + 1], 0xfa
jne 0x1007bbdb
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x1007bbdb
push eax
push ebp
call fcn.10053c30
mov ecx, dword [esp + 0x18]
add esp, 8
mov ebx, dword [esp + 0x10]
mov byte [ecx + 1], 0xfa
mov eax, dword [esi + 8]
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 4], ecx
cmp ecx, dword [ebp + 0x78]
jg 0x100836ba
mov byte [ebx], 0x49
jmp 0x1007bc01
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x1007bc27
push ecx
call fcn.1003ae00
add esp, 4
mov ecx, eax
mov eax, 0x2202
mov word [ecx + 0x10], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0xc], eax
mov al, byte [esp + 0x48]
mov byte [ecx + 0x12], al
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x1007bd29
mov ebx, dword [esp + 0x28]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 2]
cdq
cmp dword [ebx + esi*8], eax
jne 0x1007ba24
cmp dword [ebx + esi*8 + 4], edx
jne 0x1007bd29
mov esi, dword [esp + 0x10]
mov eax, 0x2210
mov word [ecx + 0x10], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x1007bcc5
push edx
call fcn.1003ae00
add esp, 4
mov edx, eax
jmp 0x1007bcce
mov eax, 4
mov word [edx + 0x10], ax
cmp dword [ebx + 4], 0
lea esi, [edx + 0x10]
mov edi, dword [ebx + 0xc]
mov eax, 1
mov ecx, dword [ebx + 8]
mov ebx, 0x101
cmovne eax, ebx
sub edi, ecx
movzx ebx, ax
mov word [esi], bx
mov dword [edx + 0xc], 0
test edi, edi
jle 0x1007bd29
mov eax, 0x9000
test word [esi + 0x28], ax
lea esi, [esi + 0x28]
je 0x1007bd1a
lea eax, [esi - 0x10]
push eax
call fcn.10097910
add esp, 4
mov eax, 0x9000
dec edi
mov word [esi], bx
mov dword [esi - 4], 0
test edi, edi
jg 0x1007bd00
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [esi + 4]
mov edx, 0xffc1
mov ebx, dword [esp + 0x28]
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 0x10]
and ax, dx
or ax, 1
jmp 0x1007b8b0
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1007bd99
push esi
call fcn.1003ae00
mov esi, eax
add esp, 4
mov eax, 0x9000
jmp 0x1007bda2
mov ecx, 4
mov word [esi + 0x10], cx
mov ecx, dword [edi + 0x10]
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x1007be1b
test word [esi + 0x10], ax
jne 0x1007bdb7
cmp dword [esi + 0x18], ecx
je 0x1007bdc0
push esi
call fcn.100978d0
add esp, 4
mov eax, 0x410
mov word [esi + 0x10], ax
xor eax, eax
test edi, edi
mov dword [esi + 0xc], 0
push esi
cmovns eax, edi
mov dword [esi], eax
mov byte [esi + 0x12], 1
mov dword [esi + 8], 0
call fcn.10085610
add esp, 4
test eax, eax
jne 0x1007dc10
mov al, byte [esp + 0x48]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov byte [esi + 0x12], al
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
push 0
push 0
mov eax, edi
cdq
push edx
push eax
push ecx
push esi
call fcn.10085d80
mov al, byte [esp + 0x60]
add esp, 0x18
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov byte [esi + 0x12], al
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x14]
lea edi, [eax + eax*4]
mov ebx, dword [edx + 0x64]
movzx eax, word [ebx + edi*8 - 0x18]
test al, 0x12
je 0x1007be8a
mov ecx, dword [ebx + edi*8 - 0x1c]
test eax, 0x400
je 0x1007be7d
add ecx, dword [ebx + edi*8 - 0x28]
mov eax, dword [ebx + edi*8 - 0x14]
cmp ecx, dword [eax + 0x78]
jg 0x100836be
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1007beaf
push esi
call fcn.10097910
add esp, 4
movups xmm0, xmmword [ebx + edi*8 - 0x28]
mov ecx, 0xafff
movups xmmword [esi], xmm0
mov eax, dword [ebx + edi*8 - 0x18]
mov edi, dword [esp + 0x18]
mov dword [esi + 0x10], eax
and ax, cx
mov ecx, 0x2040
or ax, cx
mov ecx, dword [esp + 0x14]
mov word [esi + 0x10], ax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
nop
mov eax, 0x9000
test word [esi + 0x10], ax
jne 0x1007bf21
cmp dword [esi + 0x18], 0
je 0x1007bf2a
push esi
call fcn.100978d0
add esp, 4
movups xmm0, xmmword [edi]
mov eax, 1
movups xmmword [esi], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [esi + 0x20], xmm0
mov word [edi + 0x10], ax
mov dword [edi + 0x18], 0
movzx eax, word [esi + 0x10]
test eax, 0x4000
je 0x1007bfa1
test al, 0x12
je 0x1007bf98
test eax, 0x400
je 0x1007bf79
push esi
call fcn.10085610
add esp, 4
test eax, eax
jne 0x1007dc10
cmp dword [esi + 0x18], 0
je 0x1007bf87
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x20]
je 0x1007bf98
push esi
call fcn.10097880
add esp, 4
test eax, eax
jne 0x1007dc10
mov eax, 0xbfff
and word [esi + 0x10], ax
add edi, 0x28
add esi, 0x28
sub ebx, 1
jne 0x1007bf10
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov ebx, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1007c00c
push 0x4000
push edi
push esi
call fcn.10096db0
add esp, 0xc
jmp 0x1007c03b
movups xmm0, xmmword [edi]
movups xmmword [esi], xmm0
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov eax, 0x2000
test word [edi + 0x10], ax
jne 0x1007c03b
mov ax, word [esi + 0x10]
mov ecx, 0xcfff
and ax, cx
mov ecx, 0x4000
or ax, cx
mov word [esi + 0x10], ax
movzx eax, word [esi + 0x10]
mov ecx, eax
test ecx, 0x4000
je 0x1007c093
test cl, 0x12
je 0x1007c086
test ecx, 0x400
je 0x1007c067
push esi
call fcn.10085610
add esp, 4
test eax, eax
jne 0x1007dc10
cmp dword [esi + 0x18], 0
je 0x1007c075
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x20]
je 0x1007c086
push esi
call fcn.10097880
add esp, 4
test eax, eax
jne 0x1007dc10
mov eax, 0xbfff
and word [esi + 0x10], ax
movzx eax, word [esi + 0x10]
movzx eax, ax
test eax, 0x800
je 0x1007c0b0
mov ecx, dword [esp + 0x10]
test byte [ecx + 2], 2
je 0x1007c0b0
and eax, 0xf7ff
mov word [esi + 0x10], ax
mov eax, ebx
dec ebx
test eax, eax
je 0x1007bd29
add esi, 0x28
add edi, 0x28
jmp 0x1007bff0
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x1007c119
push 0x4000
push edx
push ecx
call fcn.10096db0
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
movups xmm0, xmmword [edx]
mov esi, dword [esp + 0x10]
mov ebx, 0x2000
movups xmmword [ecx], xmm0
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
test word [edx + 0x10], bx
jne 0x1007b8b5
mov edx, 0xcfff
and ax, dx
mov edx, 0x4000
or ax, dx
mov word [ecx + 0x10], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
mov edx, dword [ebx + eax*8]
mov eax, dword [ebx + eax*8 + 4]
mov ebx, 0x9000
test word [ecx + 0x10], bx
je 0x1007c1b2
push eax
push edx
push ecx
call fcn.10098b40
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov esi, dword [esp + 0x10]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov eax, 4
mov word [ecx + 0x10], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
push 0
push ecx
call fcn.1007af70
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083aaf
mov ecx, dword [esp + 0x14]
mov edi, eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
movzx ecx, word [ebx + eax*8 + 0x10]
lea ebp, [ebx + eax*8]
mov eax, dword [edi + 8]
mov dword [esp + 0x74], ecx
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov al, byte [edi + 0x10]
or al, cl
test al, 1
je 0x1007c2a9
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1007c27d
push esi
call fcn.10097910
add esp, 4
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x18]
mov eax, 1
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov word [esi + 0x10], ax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
test cl, 0x12
jne 0x1007c2db
mov ebx, dword [esp + 0x6c]
push 0
push ebx
push ebp
call fcn.10086130
add esp, 0xc
test eax, eax
jne 0x1007dc0c
mov ax, word [ebp + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx ecx, ax
mov dword [esp + 0x74], ecx
jmp 0x1007c30b
test ecx, 0x400
je 0x1007c307
push ebp
call fcn.10085610
add esp, 4
test eax, eax
jne 0x1007dc0c
mov ax, word [ebp + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [esp + 0x74], eax
mov ebx, dword [esp + 0x6c]
movzx eax, word [edi + 0x10]
mov dword [esp + 0x34], eax
test al, 0x12
jne 0x1007c325
push 0
push ebx
push edi
call fcn.10086130
add esp, 0xc
jmp 0x1007c335
test eax, 0x400
je 0x1007c350
push edi
call fcn.10085610
add esp, 4
test eax, eax
jne 0x1007dc0c
mov ax, word [edi + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [esp + 0x34], eax
mov ecx, dword [edi + 0xc]
add ecx, dword [ebp + 0xc]
mov eax, ecx
cdq
mov ebx, eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x78]
cdq
cmp dword [esp + 0x38], edx
jg 0x100836ba
jl 0x1007c37b
cmp ebx, eax
ja 0x100836ba
xor eax, eax
cmp esi, edi
sete al
push eax
lea eax, [ecx + 2]
push eax
push esi
call fcn.10085840
add esp, 0xc
test eax, eax
jne 0x1007dc0c
mov ax, word [esi + 0x10]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [esi + 0x10], ax
cmp esi, edi
je 0x1007c3c9
push dword [edi + 0xc]
push dword [edi + 8]
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x40]
add esp, 0xc
mov word [edi + 0x10], ax
push dword [ebp + 0xc]
mov eax, dword [esi + 8]
push dword [ebp + 8]
add eax, dword [edi + 0xc]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov cl, byte [esp + 0x54]
add esp, 0xc
mov eax, dword [esp + 0x74]
mov word [ebp + 0x10], ax
cmp cl, 1
jbe 0x1007c3fa
mov eax, dword [esp + 0x38]
and ebx, 0xfffffffe
mov dword [esp + 0x30], eax
mov eax, dword [esi + 8]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov byte [ebx + eax], 0
mov eax, dword [esi + 8]
mov byte [eax + ebx + 1], 0
mov eax, 0x200
or word [esi + 0x10], ax
mov eax, dword [esp + 0x20]
mov dword [esi + 0xc], ebx
mov byte [esi + 0x12], cl
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
movzx edx, word [ecx + eax*8 + 0x10]
lea esi, [ecx + eax*8]
mov eax, dword [edi + 8]
mov ebx, edx
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ebp, [ecx + eax*8]
mov eax, dword [edi + 0xc]
movzx ecx, word [ebp + 0x10]
mov dword [esp + 0x3c], ebp
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x34], eax
mov al, cl
and al, bl
test al, 4
jne 0x1007c4c5
or cl, bl
test cl, 1
jne 0x1007c852
and edx, 0x2d
je 0x1007c499
mov ebx, edx
jmp 0x1007c4a5
push esi
call fcn.10024700
add esp, 4
movzx ebx, ax
mov ax, word [ebp + 0x10]
and ax, 0x2d
jne 0x1007c4b8
push ebp
call fcn.10024700
add esp, 4
movzx eax, ax
and al, bl
test al, 4
je 0x1007c669
mov eax, dword [esp + 0x10]
mov ebx, dword [ebp]
mov edi, dword [esi]
mov ebp, dword [ebp + 4]
movzx eax, byte [eax]
mov esi, dword [esi + 4]
add eax, 0xffffff96
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebp
cmp eax, 3
ja case.default.0x1007c4f1
jmp dword [eax*4 + 0x10083fb4]
push esi
lea eax, [esp + 0x84]
push edi
push eax
call fcn.10048320
add esp, 0xc
test eax, eax
jne 0x1007c661
mov ebp, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
jmp 0x1007c80f
test edi, edi
jne 0x1007c54c
cmp esi, 0x80000000
jne 0x1007c54c
test ebp, ebp
jg 0x1007c661
jl 0x1007c543
test ebx, ebx
jae 0x1007c661
sub ebx, edi
sbb ebp, esi
jmp 0x1007c80f
neg edi
adc esi, 0
neg esi
jmp case.0x1007c4f1.106
test esi, esi
jl 0x1007c5b2
jg 0x1007c55f
test edi, edi
je 0x1007c5a8
push esi
push edi
push 0x7fffffff
push 0xffffffffffffffff
call fcn.100aaca0
cmp ebp, edx
jg 0x1007c661
jl 0x1007c57f
cmp ebx, eax
ja 0x1007c661
push esi
push edi
push 0x80000000
push 0
call fcn.100aaca0
cmp ebp, edx
jg 0x1007c628
jl 0x1007c661
cmp ebx, eax
jae 0x1007c628
jmp 0x1007c661
test esi, esi
jg 0x1007c628
jl 0x1007c5b2
test edi, edi
jae 0x1007c628
test ebp, ebp
jl 0x1007c5e7
jg 0x1007c5bc
test ebx, ebx
je 0x1007c5dd
push ebp
push ebx
push 0x80000000
push 0
call fcn.100aaca0
cmp esi, edx
jg 0x1007c628
jl 0x1007c661
cmp edi, eax
jae 0x1007c628
jmp 0x1007c661
test ebp, ebp
jg 0x1007c628
jl 0x1007c5e7
test ebx, ebx
jae 0x1007c628
test edi, edi
jne 0x1007c5f3
cmp esi, 0x80000000
je 0x1007c661
test ebx, ebx
jne 0x1007c5ff
cmp ebp, 0x80000000
je 0x1007c661
push esi
push edi
push 0x80000000
push 1
call fcn.100aaca0
mov ecx, ebx
neg ecx
mov dword [esp + 0x2c], ecx
mov ecx, ebp
adc ecx, 0
neg ecx
cmp ecx, edx
jg 0x1007c661
jl 0x1007c628
cmp dword [esp + 0x2c], eax
ja 0x1007c661
push ebp
push ebx
push esi
push edi
call fcn.100aad50
jmp 0x1007c80b
mov eax, edi
or eax, esi
je 0x1007c852
mov eax, edi
and eax, esi
cmp eax, 0xffffffff
jne 0x1007c7e1
test ebx, ebx
jne 0x1007c7e1
cmp ebp, 0x80000000
jne 0x1007c7e1
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x38]
movzx eax, word [ebx + 0x10]
test al, 8
je 0x1007c68a
movsd xmm0, qword [ebx]
movsd qword [esp + 0x2c], xmm0
movsd xmm0, qword [esp + 0xa0]
jmp 0x1007c6e0
test al, 0x24
je 0x1007c6a9
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
call fcn.100ab060
movsd qword [esp + 0x2c], xmm0
movsd xmm0, qword [esp + 0xa0]
jmp 0x1007c6e0
test al, 0x12
je 0x1007c6d1
push ebx
call fcn.10037b40
fstp qword [esp + 0x30]
movsd xmm0, qword [esp + 0x30]
add esp, 4
movsd qword [esp + 0x2c], xmm0
movsd xmm0, qword [esp + 0xa0]
jmp 0x1007c6e0
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp + 0x2c], xmm0
movzx eax, word [ebp + 0x10]
test al, 8
je 0x1007c6ef
movsd xmm0, qword [ebp]
jmp 0x1007c717
test al, 0x24
je 0x1007c700
mov edx, dword [ebp + 4]
mov ecx, dword [ebp]
call fcn.100ab060
jmp 0x1007c717
test al, 0x12
je 0x1007c717
push ebp
call fcn.10037b40
fstp qword [esp + 0x44]
movsd xmm0, qword [esp + 0x44]
add esp, 4
movzx eax, byte [edi]
add eax, 0xffffff96
cmp eax, 3
ja case.default.0x1007c722
jmp dword [eax*4 + 0x10083fc4]
addsd xmm0, qword [esp + 0x2c]
jmp 0x1007c79d
subsd xmm0, qword [esp + 0x2c]
jmp 0x1007c79d
mulsd xmm0, qword [esp + 0x2c]
jmp 0x1007c79d
movsd xmm1, qword [esp + 0x2c]
ucomisd xmm1, qword [esp + 0xa0]
lahf
test ah, 0x44
jnp 0x1007c852
divsd xmm0, xmm1
jmp 0x1007c79d
push ebx
call fcn.10084c90
push ebp
mov esi, eax
mov edi, edx
call fcn.10084c90
mov ecx, esi
add esp, 8
or ecx, edi
je 0x1007c852
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x1007c78d
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.100aad90
mov ecx, eax
call fcn.100ab060
movsd qword [esp + 0x2c], xmm0
mov ecx, dword [esp + 0x30]
mov eax, ecx
and eax, 0x7ff00000
cmp eax, 0x7ff00000
jne 0x1007c7c7
mov eax, dword [esp + 0x2c]
and ecx, 0xfffff
or eax, ecx
jne 0x1007c852
mov ecx, dword [esp + 0x34]
mov edx, 0xf248
movsd qword [ecx], xmm0
mov ax, word [ecx + 0x10]
and ax, dx
or ax, 8
jmp 0x1007c828
push esi
push edi
push ebp
push ebx
call fcn.100aaca0
jmp 0x1007c80b
mov eax, edi
or eax, esi
je 0x1007c852
mov eax, edi
and eax, esi
cmp eax, 0xffffffff
jne 0x1007c802
mov edi, 1
xor esi, esi
push esi
push edi
push ebp
push ebx
call fcn.100aad90
mov ebx, eax
mov ebp, edx
mov ecx, dword [esp + 0x34]
mov edx, 0xf244
mov dword [ecx], ebx
mov dword [ecx + 4], ebp
mov ax, word [ecx + 0x10]
and ax, dx
or ax, 4
movzx eax, ax
mov word [ecx + 0x10], ax
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [esp + 0x34]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x1007c867
push eax
jmp 0x1007c252
mov ecx, 1
mov word [eax + 0x10], cx
jmp 0x1007c25a
mov eax, dword [esi + 4]
test eax, eax
je 0x1007b8b9
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
push 0
push 0
lea eax, [ecx + eax*8]
push eax
call fcn.10085c30
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ebp, [ebx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 0xc]
movzx edx, word [ecx + 0x10]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov al, byte [ebp + 0x10]
or al, dl
mov dword [esp + 0x2c], ebx
test al, 1
je 0x1007c909
mov eax, 0x9000
test word [ebx + 0x10], ax
je 0x1007c8fb
push ebx
call fcn.10097910
add esp, 4
jmp 0x1007c25e
mov eax, 1
mov word [ebx + 0x10], ax
jmp 0x1007c25e
mov eax, edx
test al, 0x24
je 0x1007c924
mov edi, dword [ecx]
mov esi, dword [ecx + 4]
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], esi
jmp 0x1007c991
test al, 8
je 0x1007c950
movsd xmm0, qword [ecx]
sub esp, 8
movsd qword [esp], xmm0
call fcn.100272e0
mov edi, eax
mov esi, edx
add esp, 8
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], esi
jmp 0x1007c991
test al, 0x12
je 0x1007c977
cmp dword [ecx + 8], 0
je 0x1007c977
push ecx
call fcn.10037b10
mov edi, eax
mov esi, edx
add esp, 4
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], esi
jmp 0x1007c991
xorps xmm0, xmm0
movlpd qword [esp + 0x90], xmm0
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x90]
movzx eax, word [ebp + 0x10]
test al, 0x24
je 0x1007c9a1
mov ebx, dword [ebp]
mov edx, dword [ebp + 4]
jmp 0x1007c9e6
test al, 8
je 0x1007c9be
movsd xmm0, qword [ebp]
sub esp, 8
movsd qword [esp], xmm0
call fcn.100272e0
add esp, 8
mov ebx, eax
jmp 0x1007c9e6
test al, 0x12
je 0x1007c9d5
cmp dword [ebp + 8], 0
je 0x1007c9d5
push ebp
call fcn.10037b10
add esp, 4
mov ebx, eax
jmp 0x1007c9e6
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
mov cl, byte [eax]
cmp cl, 0x66
jne 0x1007c9f7
and edi, ebx
and esi, edx
jmp 0x1007ca5d
cmp cl, 0x67
jne 0x1007ca02
or edi, ebx
or esi, edx
jmp 0x1007ca5d
mov eax, ebx
or eax, edx
je 0x1007ca5d
test edx, edx
jg 0x1007ca36
jl 0x1007ca12
test ebx, ebx
jae 0x1007ca2b
mov al, 0xd1
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x1007ca36
jg 0x1007ca24
cmp ebx, 0xffffffc0
jbe 0x1007ca36
neg ebx
adc edx, 0
neg edx
test edx, edx
jl 0x1007ca7b
jg 0x1007ca36
cmp ebx, 0x40
jb 0x1007ca7b
test esi, esi
jg 0x1007ca4c
jl 0x1007ca40
test edi, edi
jae 0x1007ca4c
cmp cl, 0x68
je 0x1007ca4c
or edi, 0xffffffff
or esi, edi
jmp 0x1007ca5d
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
mov edx, 0xf244
mov dword [ecx], edi
mov dword [ecx + 4], esi
mov ax, word [ecx + 0x10]
and ax, dx
or ax, 4
jmp 0x1007c82b
movq xmm1, qword [esp + 0x90]
movd xmm0, ebx
cmp cl, 0x68
jne 0x1007ca99
psllq xmm1, xmm0
movq qword [esp + 0x40], xmm1
jmp 0x1007ca55
psrlq xmm1, xmm0
movq qword [esp + 0x40], xmm1
test esi, esi
jg 0x1007ca55
jl 0x1007caad
test edi, edi
jae 0x1007ca55
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, ebx
or edx, 0xffffffff
call fcn.100aae50
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
or edi, eax
or esi, edx
jmp 0x1007ca5d
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.10085990
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
mov eax, dword [esp + 0x20]
adc dword [esi + 4], edx
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [esi + 0x10]
mov eax, ecx
test cl, 4
jne 0x1007cb71
test cl, 8
jne 0x1007cb45
test cl, 2
je 0x1007cb40
push 1
push esi
call fcn.1001c570
movzx eax, word [esi + 0x10]
add esp, 8
movzx ecx, ax
jmp 0x1007cb52
push esi
call fcn.10084ce0
movzx ecx, word [esi + 0x10]
add esp, 4
movzx eax, cx
test cl, 4
jne 0x1007cb71
mov ebp, dword [esp + 0x10]
cmp dword [ebp + 8], 0
je 0x100834a6
mov ecx, dword [esp + 0x14]
jmp 0x1007f487
mov ecx, dword [esp + 0x14]
and eax, 0xf244
or eax, 4
mov word [esi + 0x10], ax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 0x24
lea eax, [edx + eax*8]
je 0x1007b8b9
push eax
call fcn.10085b60
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x400
test word [esi + 0x10], ax
je 0x1007cc03
push esi
call fcn.10085610
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1008361c
push dword [esp + 0x6c]
movzx eax, byte [edi + 8]
push eax
push esi
call fcn.10085480
add esp, 0xc
mov edx, eax
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1008361c
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 0xc]
movzx edx, word [edi + 0x10]
mov dword [esp + 0x34], edx
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x10]
mov dword [esp + 0x2c], eax
and eax, edx
test al, 4
je 0x1007cd42
mov ecx, dword [esi + 4]
mov eax, dword [edi + 4]
mov ebp, dword [esi]
mov edx, dword [edi]
cmp ecx, eax
jl 0x1007ccce
jg 0x1007cc8a
cmp ebp, edx
jbe 0x1007ccc4
mov eax, dword [0x100bc1f8]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp byte [ebx + eax], 0
jne 0x1007f483
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x5c], 1
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
cmp ecx, eax
jg 0x1007cd08
jl 0x1007ccce
cmp ebp, edx
jae 0x1007cd08
mov eax, dword [0x100bc1f0]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp byte [ebx + eax], 0
jne 0x1007f483
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x5c], 0xffffffff
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [0x100bc1f4]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp byte [ebx + eax], 0
jne 0x1007f483
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x5c], 0
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
or ecx, edx
test cl, 1
je 0x1007cdc6
mov ecx, dword [esp + 0x10]
movzx ecx, word [ecx + 2]
test cl, cl
jns 0x1007cd96
test al, 1
je 0x1007cd83
test ebx, 0x100
jne 0x1007cd83
mov eax, dword [esp + 0x10]
mov dword [esp + 0x5c], 0
movzx ecx, byte [eax]
mov eax, dword [0x100bc1f4]
mov al, byte [ecx + eax]
jmp 0x1007cef7
mov eax, ebx
not eax
and eax, 1
lea eax, [eax*2 - 1]
jmp 0x1007ce91
mov edi, dword [esp + 0x18]
test cl, 0x10
mov ecx, dword [esp + 0x14]
jne 0x1007f483
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x5c], 1
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov ebp, dword [esp + 0x10]
mov al, byte [ebp + 2]
and al, 0x47
cmp al, 0x43
jb 0x1007ce0c
test cl, 2
je 0x1007ce80
mov al, dl
and al, 0x2e
cmp al, 2
jne 0x1007cdf3
push 0
push edi
call fcn.1001c570
movzx ebx, word [esi + 0x10]
add esp, 8
mov al, bl
and al, 0x2e
cmp al, 2
jne 0x1007ce80
push 0
push esi
call fcn.1001c570
add esp, 8
jmp 0x1007ce80
cmp al, 0x42
jne 0x1007ce80
test dl, 2
jne 0x1007ce51
test dl, 0x2c
je 0x1007ce51
push 1
push dword [esp + 0x70]
push edi
call fcn.10086130
mov ax, word [edi + 0x10]
mov ecx, 0xdbf
xor ax, word [esp + 0x40]
add esp, 0xc
and ax, cx
xor ax, word [edi + 0x10]
movzx edx, ax
mov dword [esp + 0x34], edx
cmp edi, esi
jne 0x1007ce51
mov eax, edx
or eax, 2
movzx ebx, ax
test bl, 2
jne 0x1007ce80
test bl, 0x2c
je 0x1007ce80
push 1
push dword [esp + 0x70]
push esi
call fcn.10086130
mov ax, word [esi + 0x10]
mov ecx, 0xdbf
xor ax, bx
add esp, 0xc
and ax, cx
xor ax, word [esi + 0x10]
movzx ebx, ax
push dword [ebp + 0x10]
push edi
push esi
call fcn.10065fe0
mov edx, dword [esp + 0x40]
add esp, 0xc
mov ebp, eax
mov dword [esp + 0x5c], eax
movzx eax, bx
movzx ecx, dx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], ecx
test ebp, ebp
jge 0x1007ceba
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax]
mov eax, dword [0x100bc1f0]
mov al, byte [ecx + eax]
jmp 0x1007cef7
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
movzx edx, dx
movzx ebx, ax
movzx ecx, byte [ecx]
mov dword [esp + 0x5c], ebp
test ebp, ebp
jne 0x1007cedd
mov eax, dword [0x100bc1f4]
mov al, byte [ecx + eax]
jmp 0x1007cef7
mov eax, dword [0x100bc1f8]
mov dword [esp + 0x5c], ebp
mov al, byte [ecx + eax]
mov ecx, dword [esp + 0x38]
movzx edx, cx
mov ecx, dword [esp + 0x2c]
movzx ebx, cx
mov word [esi + 0x10], bx
mov word [edi + 0x10], dx
mov edi, dword [esp + 0x18]
test al, al
je 0x1007c25e
jmp 0x1007f47f
cmp dword [esp + 0x5c], 0
je 0x1007f483
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
test byte [edx + 2], 1
jne 0x1007cf38
xor ebp, ebp
jmp 0x1007cf3e
mov ebp, dword [edx - 4]
add ebp, 4
mov esi, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
mov edx, dword [edx + 0x10]
mov dword [esp + 0x34], eax
mov ecx, dword [esi + 4]
mov dword [esp + 0x40], ecx
mov ecx, dword [esi + 8]
xor esi, esi
mov dword [esp + 0x38], edx
mov dword [esp + 0x2c], ecx
test eax, eax
jle 0x1007c25e
lea edi, [edx + 0x14]
nop dword [eax + eax]
test ebp, ebp
je 0x1007cf7a
mov ecx, dword [ebp + esi*4]
jmp 0x1007cf7c
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [esp + 0x28]
push dword [edi]
movzx ebx, byte [eax + esi]
mov eax, dword [esp + 0x30]
and ebx, 1
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [esp + 0x44]
add eax, ecx
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0x2c]
push edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [esp + 0x80], eax
call fcn.10065fe0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x5c], edx
test edx, edx
jne 0x1007cfda
mov edx, dword [esp + 0x38]
inc esi
add edi, 4
cmp esi, dword [esp + 0x34]
jl 0x1007cf70
jmp 0x1007c82f
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x10]
test byte [esi + eax], 2
je 0x1007d001
mov eax, dword [esp + 0x74]
test byte [eax + 0x10], 1
jne 0x1007cffb
mov eax, dword [esp + 0x60]
test byte [eax + 0x10], 1
je 0x1007d001
neg edx
mov dword [esp + 0x5c], edx
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
test ebx, ebx
je case.0x1007b7c8.89
neg edx
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x10]
test ebx, ebx
jns 0x1007d061
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
lea esi, [eax - 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
jne 0x1007d086
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
lea esi, [eax - 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
lea esi, [eax - 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x1007d101
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jne 0x1007d140
xor esi, esi
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
movzx eax, word [ecx + 0x10]
test al, 0x24
je 0x1007d147
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jne 0x1007d18a
xor eax, eax
cmp byte [edx], 0x2c
lea eax, [eax + esi*2]
jne 0x1007d194
mov dl, byte [esi + eax + 0x100ac9f8]
jmp 0x1007d19b
test al, 1
je 0x1007d10c
mov esi, 2
jmp 0x1007d0cb
test al, 8
je 0x1007d116
movsd xmm0, qword [ecx]
jmp 0x1007d131
test al, 0x12
je 0x1007d0c9
push ecx
call fcn.10037b40
mov edx, dword [esp + 0x14]
add esp, 4
fstp qword [esp + 0x2c]
movsd xmm0, qword [esp + 0x2c]
ucomisd xmm0, qword [esp + 0xa0]
lahf
test ah, 0x44
jnp 0x1007d0c9
mov esi, 1
jmp 0x1007d0cb
test al, 1
je 0x1007d152
mov eax, 2
jmp 0x1007d0e9
test al, 8
je 0x1007d15c
movsd xmm0, qword [ecx]
jmp 0x1007d177
test al, 0x12
je 0x1007d0e7
push ecx
call fcn.10037b40
mov edx, dword [esp + 0x14]
add esp, 4
fstp qword [esp + 0x2c]
movsd xmm0, qword [esp + 0x2c]
ucomisd xmm0, qword [esp + 0xa0]
lahf
test ah, 0x44
jnp 0x1007d0e7
mov eax, 1
jmp 0x1007d0e9
mov dl, byte [esi + eax + 0x100aca04]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea ecx, [eax + eax*4]
cmp dl, 2
jne 0x1007d1de
mov ax, word [ebx + ecx*8 + 0x10]
mov edx, 0xf241
mov esi, dword [esp + 0x10]
and ax, dx
or ax, 1
movzx eax, ax
mov word [ebx + ecx*8 + 0x10], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov esi, dword [esp + 0x10]
movzx eax, dl
cdq
mov dword [ebx + ecx*8], eax
mov dword [ebx + ecx*8 + 4], edx
mov edx, 0xf244
mov ax, word [ebx + ecx*8 + 0x10]
and ax, dx
or ax, 4
movzx eax, ax
mov word [ebx + ecx*8 + 0x10], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
push dword [edx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
push eax
call fcn.1007ad90
mov ecx, dword [esp + 0x18]
xor eax, dword [ecx + 0x10]
cdq
push edx
push eax
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
push eax
call fcn.10085c30
mov esi, dword [esp + 0x24]
add esp, 0x14
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
lea ecx, [edx + eax*8]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
jne 0x1007d302
push 0
push ecx
call fcn.1007ad90
add esp, 8
mov ecx, 0x9000
neg eax
sbb eax, eax
inc eax
test word [esi + 0x10], cx
je 0x1007d2d5
push 0
push eax
push esi
call fcn.10098b40
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov ecx, dword [esp + 0x14]
mov dword [esi], eax
mov eax, 4
mov dword [esi + 4], 0
mov word [esi + 0x10], ax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1007d331
push esi
call fcn.10097910
mov esi, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov ecx, dword [esp + 0x14]
mov eax, 1
mov word [esi + 0x10], ax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, edx
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1007d38b
push esi
call fcn.10097910
mov ecx, dword [esp + 0x18]
add esp, 4
jmp 0x1007d394
mov eax, 1
mov word [esi + 0x10], ax
test byte [edi + 0x10], 1
jne 0x1007e933
mov eax, 4
push edi
mov word [esi + 0x10], ax
call fcn.10084c90
mov edi, dword [esp + 0x1c]
not eax
mov ecx, dword [esp + 0x18]
not edx
mov dword [esi], eax
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esi + 4], edx
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x14]
mov edi, dword [edx + 0xd0]
test edi, edi
je 0x1007d450
mov ecx, dword [esp + 0x10]
mov eax, 0x66666667
sub ecx, dword [edx + 0x68]
mov edi, dword [edi + 0x18]
imul ecx
mov eax, 1
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov esi, ecx
and ecx, 7
shr esi, 3
shl eax, cl
movzx edx, byte [esi + edi]
test edx, eax
jne 0x1007f9e1
bts edx, ecx
mov byte [esi + edi], dl
mov edx, dword [esp + 0x14]
mov ecx, edx
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
mov eax, dword [edx + 0x68]
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [edx + 0x68]
mov edi, dword [esp + 0x10]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 4]
je 0x100833c5
mov eax, dword [edx + 0x68]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
push dword [edx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.1007ad90
add esp, 8
test eax, eax
jne 0x1007f47f
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
cmp dword [edx + 0xc], eax
sete al
push eax
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.1007ad90
add esp, 8
test eax, eax
jne 0x1007ba24
jmp 0x1007f47f
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
jne 0x1007f483
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 4]
test ecx, ecx
js 0x1007d573
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, edx
mov edx, dword [eax + 0xc]
movzx eax, word [ecx + 0x3e]
cmp edx, eax
jge 0x1007d56a
mov eax, dword [ecx + edx*4 + 0x58]
cmp eax, 0xc
jb 0x1007d561
test al, 1
mov eax, 0
sete al
lea eax, [eax*4 + 4]
jmp 0x1007d599
movzx eax, byte [eax + 0x100aca10]
jmp 0x1007d59c
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
jmp 0x1007d590
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
movzx eax, word [ecx + eax*8 + 0x10]
and eax, 0x3f
movzx ecx, byte [eax + 0x100ac408]
dec ecx
mov eax, 1
shl ax, cl
movzx eax, ax
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test word [esi + 2], ax
jne 0x1007f483
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
jne 0x1007d614
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
jne 0x1007d614
mov eax, dword [edx + 8]
push 0
push 0
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
push eax
call fcn.10085c30
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [esp + 0x10]
mov edx, 0x9000
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
test word [ebx + eax*8 + 0x10], dx
lea eax, [ebx + eax*8]
je 0x1007d651
push eax
call fcn.10097910
mov esi, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov esi, dword [esp + 0x10]
mov edx, 1
mov word [eax + 0x10], dx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
je 0x1007f483
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x1007b8b5
cmp byte [eax + 2], 0
je 0x1007b8b5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x1007d6e2
push eax
call fcn.10097910
add esp, 4
jmp 0x1007f47f
mov ecx, 1
mov word [eax + 0x10], cx
jmp 0x1007f47f
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, dword [edi + 8]
mov dword [esp + 0x50], ecx
nop dword [eax + eax]
mov eax, dword [esi + 0x20]
mov ebp, dword [esi + 0x48]
mov dword [esp + 0x4c], ebp
cmp eax, dword [edx + 0x1c]
je 0x1007d750
cmp byte [esi + 2], 0
jne 0x1007d7c9
cmp byte [esi + 3], 0
mov edi, dword [esi + 0x2c]
je 0x1007d749
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1007d77d
mov eax, dword [eax + ecx*4 + 4]
test eax, eax
je 0x1007d77d
mov esi, dword [esi + 0x28]
lea ecx, [eax - 1]
jmp 0x1007d704
cmp byte [edi], 0
je 0x1007d794
jmp 0x1007d75c
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
je 0x1007d8aa
push esi
call fcn.10084c50
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x14]
jmp 0x1007d710
push esi
call fcn.10084560
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
push edi
call fcn.10031000
mov eax, dword [edi + 0x2c]
add esp, 4
mov dword [esi + 0x50], eax
mov eax, dword [edi + 0x74]
movzx ecx, word [edi + 0x30]
mov eax, dword [eax + 0x3c]
sub eax, dword [edi + 0x28]
cmp ecx, eax
jle 0x1007d7bd
xor edx, edx
mov ecx, eax
test eax, eax
cmovs ecx, edx
mov edx, dword [esp + 0x14]
mov dword [esi + 0x54], ecx
mov ecx, dword [edi + 0x28]
jmp 0x1007d7f2
cmp byte [esi], 3
jne 0x1007d872
mov eax, dword [esi + 0x24]
test eax, eax
jle 0x1007d872
mov ebx, dword [esp + 0x28]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8 + 0xc]
mov dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
mov ecx, dword [ebx + ecx*8 + 8]
mov dword [esi + 0x4c], ecx
lea ebx, [esi + 0x34]
mov eax, dword [edx + 0x1c]
mov dword [esi + 0x20], eax
movzx eax, byte [ecx]
mov dword [ebp], eax
mov dword [esp + 0x38], ebx
cmp eax, 0x80
jae 0x1007d816
mov eax, 1
jmp 0x1007d825
push ebp
push dword [esi + 0x4c]
call fcn.10061ac0
add esp, 8
movzx eax, al
mov dword [ebx], eax
lea edi, [esi + 0x3e]
xor eax, eax
mov dword [esp + 0x54], edi
mov word [edi], ax
mov eax, dword [esi + 0x54]
cmp eax, dword [ebp]
jae 0x1007d866
mov dword [esi + 0x4c], 0
mov dword [esi + 0x54], 0
mov eax, dword [ebp]
cmp eax, 0x18003
ja 0x1007daa0
cmp eax, dword [esi + 0x50]
ja 0x1007daa0
mov ecx, dword [esp + 0x50]
jmp 0x1007d8ad
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x60], edx
jmp 0x1007d92b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x1007d89c
push eax
call fcn.10097910
add esp, 4
jmp 0x1007c82f
mov ecx, 1
mov word [eax + 0x10], cx
jmp 0x1007c82f
lea edi, [esi + 0x3e]
movzx eax, word [edi]
cmp eax, ecx
ja 0x1007db72
mov eax, dword [esi + 0x34]
lea ebx, [esi + 0x34]
mov dword [esp + 0x38], ebx
cmp eax, dword [ebp]
jae 0x1007dac1
mov edx, dword [esi + 0x4c]
mov dword [esp + 0x60], edx
test edx, edx
jne 0x1007d923
xorps xmm0, xmm0
lea eax, [esp + 0x154]
push eax
movups xmmword [esp + 0x158], xmm0
movups xmmword [esp + 0x168], xmm0
movq qword [esp + 0x178], xmm0
push dword [ebp]
push dword [esi + 0x2c]
call fcn.100857e0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
mov edx, dword [esp + 0x15c]
mov dword [esp + 0x60], edx
jmp 0x1007d927
mov dword [esp + 0x38], ebx
mov dword [esp + 0x54], edi
movzx ecx, word [edi]
mov eax, dword [esp + 0x4c]
mov edi, dword [ebx]
add edi, edx
mov dword [esp + 0x2c], ecx
mov ebp, dword [ebp + ecx*4]
mov eax, dword [eax]
add eax, edx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x74], eax
lea eax, [ecx + 0x16]
lea eax, [esi + eax*4]
mov dword [esp + 0x34], eax
nop dword [eax + eax]
movzx ebx, byte [edi]
mov dword [esp + 0x40], ebx
mov dword [eax], ebx
cmp ebx, 0x80
jae 0x1007d982
movzx eax, byte [ebx + 0x100b1a10]
inc edi
cdq
add ebp, eax
adc dword [esp + 0x3c], edx
jmp 0x1007d9c6
lea eax, [esp + 0x40]
push eax
push edi
call fcn.10061ac0
mov ebx, dword [esp + 0x48]
add esp, 8
movzx eax, al
add edi, eax
mov eax, dword [esp + 0x34]
mov dword [eax], ebx
cmp ebx, 0x80
jb 0x1007d9ae
lea eax, [ebx - 0xc]
shr eax, 1
jmp 0x1007d9b5
movzx eax, byte [ebx + 0x100b1a10]
mov edx, dword [esp + 0x3c]
add ebp, eax
mov ecx, dword [esp + 0x2c]
adc edx, 0
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x4c]
inc ecx
mov eax, dword [esp + 0x34]
add eax, 4
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], eax
mov dword [edx + ecx*4], ebp
mov edx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x50]
ja 0x1007d9f7
cmp edi, dword [esp + 0x74]
jb 0x1007d960
mov eax, dword [esp + 0x74]
jmp 0x1007d9ff
mov eax, dword [esp + 0x74]
cmp edi, eax
jb 0x1007da58
cmp edi, eax
ja 0x1007da63
cmp ebp, dword [esi + 0x50]
jne 0x1007da63
test edx, edx
jne 0x1007da63
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
sub edi, dword [esp + 0x60]
mov word [eax], cx
mov eax, dword [esp + 0x38]
mov dword [eax], edi
cmp dword [esi + 0x4c], 0
jne 0x1007da4e
test dword [esp + 0x164], 0x9000
jne 0x1007da3e
cmp dword [esp + 0x16c], 0
je 0x1007da4e
lea eax, [esp + 0x154]
push eax
call fcn.100978d0
add esp, 4
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
jmp 0x1007dac3
test edx, edx
jb 0x1007da0c
ja 0x1007da63
cmp ebp, dword [esi + 0x50]
jbe 0x1007da0c
mov ebp, dword [esp + 0x4c]
cmp dword [ebp], 0
jne 0x1007da73
xor ecx, ecx
mov edi, eax
jmp 0x1007da10
cmp dword [esi + 0x4c], 0
jne 0x1007daa0
test dword [esp + 0x164], 0x9000
jne 0x1007da90
cmp dword [esp + 0x16c], 0
je 0x1007daa0
lea eax, [esp + 0x154]
push eax
call fcn.100978d0
add esp, 4
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x100834b0
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ebx + eax*4]
mov dword [esp + 0x10], edi
jmp 0x1007c82f
xor ebx, ebx
movzx eax, word [edi]
cmp eax, ecx
ja 0x1007db76
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
cmp byte [edi + 1], 0xf6
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, 0x9000
jne 0x1007db54
mov edx, dword [edi + 0x10]
test word [ecx + 0x10], ax
je 0x1007db07
push 0x2000
push edx
push ecx
call fcn.10096db0
add esp, 0xc
jmp 0x1007c82f
movups xmm0, xmmword [edx]
mov ebp, dword [esp + 0x1c]
mov ebx, 0x2000
movups xmmword [ecx], xmm0
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
test word [edx + 0x10], bx
jne 0x1008019c
mov edi, dword [esp + 0x18]
mov edx, 0xafff
mov esi, dword [esp + 0x10]
and ax, dx
or ax, bx
mov word [ecx + 0x10], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
test word [ecx + 0x10], ax
je 0x1007db68
push ecx
call fcn.10097910
add esp, 4
jmp 0x1007c82f
mov eax, 1
jmp 0x1007c82b
mov ebx, dword [esi + ecx*4 + 0x58]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, 0x9000
test word [edi + 0x10], ax
je 0x1007dba3
push edi
call fcn.10097910
mov ecx, dword [esp + 0x54]
add esp, 4
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x54]
cmp eax, dword [ebp + ecx*4 + 4]
jb 0x1007dc78
mov eax, dword [esp + 0x4c]
mov ebp, dword [esi + 0x4c]
add ebp, dword [eax + ecx*4]
cmp ebx, 0xc
jae 0x1007dbcf
push edi
push ebx
push ebp
call fcn.10087630
add esp, 0xc
jmp 0x1007c82f
mov al, byte [esp + 0x48]
lea esi, [ebx - 0xc]
shr esi, 1
mov dword [edi + 0xc], esi
mov byte [edi + 0x12], al
lea eax, [esi + 2]
cmp dword [edi + 0x18], eax
jge 0x1007dc42
mov ecx, dword [esp + 0x1c]
cmp esi, dword [ecx + 0x78]
jg 0x100836ba
push 0
push eax
mov ecx, 1
push edi
mov word [edi + 0x10], cx
call fcn.10085840
add esp, 0xc
test eax, eax
je 0x1007dc48
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
push ebp
call fcn.100664c0
mov esi, dword [esp + 0x18]
push str.out_of_memory
push esi
call fcn.1007b670
mov eax, dword [esp + 0x28]
mov edx, 7
mov ebx, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x18], edx
jmp 0x10083671
mov eax, dword [edi + 0x20]
mov dword [edi + 8], eax
push esi
push ebp
push dword [edi + 8]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [edi + 8]
add esp, 0xc
and ebx, 1
mov byte [esi + eax], 0
mov eax, dword [edi + 8]
mov byte [esi + eax + 1], 0
mov ax, word [ebx*2 + 0x100aca1c]
mov word [edi + 0x10], ax
jmp 0x1007c82f
mov al, byte [esp + 0x48]
mov byte [edi + 0x12], al
movzx eax, word [edx + 2]
test al, 0xc0
je 0x1007dc95
cmp ebx, 0xc
jb 0x1007dc91
test bl, 1
je 0x1007dcaf
test al, al
js 0x1007dcaf
cmp ebx, 0x80
jb 0x1007dca4
lea eax, [ebx - 0xc]
shr eax, 1
jmp 0x1007dcab
movzx eax, byte [ebx + 0x100b1a10]
test eax, eax
jne 0x1007dcc3
push edi
push ebx
push 0x100b10a8
call fcn.10087630
add esp, 0xc
jmp 0x1007c82f
mov edx, dword [esp + 0x1c]
cmp eax, dword [edx + 0x78]
jg 0x100836ba
push edi
push eax
push dword [ebp + ecx*4]
push dword [esi + 0x2c]
call fcn.10085710
mov edx, eax
add esp, 0x10
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
push edi
push ebx
push dword [edi + 8]
call fcn.10087630
mov eax, 0xbfff
add esp, 0xc
and word [edi + 0x10], ax
jmp 0x1007c82f
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov edx, dword [edx + 0x10]
mov dword [esp + 0x40], edx
lea eax, [eax + eax*4]
mov ebx, dword [edx + 4]
lea esi, [ecx + eax*8]
xor ecx, ecx
mov dword [esp + 0x34], ebx
xor eax, eax
mov dword [esp + 0x38], ecx
cmp ax, word [edx + 0x22]
jge 0x1007ba24
add ebx, 8
mov dword [esp + 0x2c], ebx
movzx eax, word [ebx + 6]
test al, 0x60
je 0x1007dd64
test al, 0x20
jne 0x1007de20
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xc], 0
jne 0x1007de1d
push dword [esp + 0x6c]
movzx eax, byte [ebx]
push eax
push esi
call fcn.1001c500
movzx ecx, word [esi + 0x10]
add esp, 0xc
mov ebp, ecx
mov edi, ecx
test cl, 1
jne case.default.0x1007dd9b
mov eax, dword [ebx - 4]
shr eax, 4
and eax, 0xf
lea edx, [eax - 2]
cmp edx, 4
ja case.default.0x1007dd9b
jmp dword [edx*4 + 0x10083fd4]
test cl, 0x10
jmp 0x1007de0f
test cl, 4
jmp 0x1007de0f
test cl, 2
jmp 0x1007de0f
test cl, 4
je 0x1007de0c
mov edi, dword [esi]
mov edx, edi
mov ebx, dword [esi + 4]
add edx, 0
mov eax, ebx
adc eax, 0x8000
cmp eax, 0xffff
ja 0x1007ddea
jb 0x1007ddd5
cmp edx, 0xffffffff
ja 0x1007ddea
or ecx, 0x20
movzx eax, cx
and eax, 0xfffb
mov word [esi + 0x10], ax
mov ebx, dword [esp + 0x2c]
jmp case.default.0x1007dd9b
mov edx, ebx
mov ecx, edi
call fcn.100ab060
or ebp, 8
movsd qword [esi], xmm0
movzx eax, bp
and eax, 0xfffb
mov word [esi + 0x10], ax
mov ebx, dword [esp + 0x2c]
jmp case.default.0x1007dd9b
test cl, 0x28
je 0x100834c8
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
add esi, 0x28
movsx eax, word [edx + 0x22]
inc ecx
add ebx, 0x10
mov dword [esp + 0x38], ecx
mov dword [esp + 0x2c], ebx
cmp ecx, eax
jl 0x1007dd46
jmp 0x1007c82f
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov al, byte [ebx]
push dword [esp + 0x6c]
mov byte [esp + 0xb4], al
push dword [esp + 0xb4]
push esi
call fcn.1001c500
add esp, 0xc
cmp byte [ebx], 0x45
jne 0x1007dec5
movzx ecx, word [esi + 0x10]
mov edi, ecx
test cl, 4
je 0x1007dec5
mov ebp, dword [esi]
mov edx, ebp
mov eax, dword [esi + 4]
add edx, 0
adc eax, 0x8000
cmp eax, 0xffff
ja 0x1007deaa
jb 0x1007de9b
cmp edx, 0xffffffff
ja 0x1007deaa
and ecx, 0xfffb
or ecx, 0x20
mov word [esi + 0x10], cx
jmp 0x1007dec5
mov edx, dword [esi + 4]
mov ecx, ebp
call fcn.100ab060
and edi, 0xfffb
movsd qword [esi], xmm0
or edi, 8
mov word [esi + 0x10], di
mov al, byte [ebx + 1]
inc ebx
test al, al
je 0x10080198
add esi, 0x28
jmp 0x1007de53
mov edx, dword [esp + 0x10]
xorps xmm0, xmm0
mov esi, dword [esp + 0x28]
xor ecx, ecx
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 0x3c], ecx
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x10]
movlpd qword [esp + 0x74], xmm0
lea eax, [eax + eax*4]
lea ebx, [esi + eax*8]
mov eax, dword [edx + 8]
mov dword [esp + 0x38], ebx
lea ebp, [eax + eax*4]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x2c], ebp
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x54], eax
test edi, edi
je 0x1007df76
mov al, byte [edi]
lea esi, [ebx + 0x10]
mov ebp, dword [esp + 0x6c]
mov byte [esp + 0x9c], al
push ebp
push dword [esp + 0xa0]
lea eax, [esi - 0x10]
push eax
call fcn.1001c500
add esp, 0xc
cmp byte [edi], 0x45
jne 0x1007df5c
movzx eax, word [esi]
test al, 4
je 0x1007df5c
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
mov al, byte [edi + 1]
inc edi
add esi, 0x28
mov byte [esp + 0x9c], al
test al, al
jne 0x1007df31
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x78]
lea ebp, [ebp*8 - 0xc]
mov edi, dword [esp + 0x44]
add ebp, ebx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x74], eax
movzx ebx, word [ebp - 0xc]
mov dword [esp + 0x60], ebp
test bl, 1
je 0x1007dfc2
and ebx, 0x400
neg ebx
sbb ebx, ebx
and ebx, 0xa
inc ecx
mov dword [ebp], ebx
jmp 0x1007e1fc
test bl, 0x24
je 0x1007e14b
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
test eax, eax
jg 0x1007dfe3
jl 0x1007dfdb
test esi, esi
jae 0x1007dfe3
mov ecx, esi
not eax
not ecx
jmp 0x1007dfe5
mov ecx, esi
inc dword [esp + 0x3c]
test eax, eax
ja 0x1007e0cd
jb 0x1007dff8
cmp ecx, 0x7f
ja 0x1007e042
mov eax, esi
xor ebx, ebx
and eax, 1
cmp eax, esi
jne 0x1007e024
cmp ebx, dword [ebp - 0x18]
jne 0x1007e024
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x93], 4
jb 0x1007e024
lea eax, [ecx + 8]
mov ecx, dword [esp + 0x3c]
mov dword [ebp], eax
jmp 0x1007e200
mov ecx, dword [esp + 0x3c]
add edx, 1
mov eax, 1
mov dword [esp + 0x4c], edx
adc edi, ebx
mov dword [ebp], eax
mov dword [esp + 0x50], edi
jmp 0x1007e200
test eax, eax
ja 0x1007e0cd
jb 0x1007e054
cmp ecx, 0x7fff
ja 0x1007e073
mov ecx, dword [esp + 0x3c]
add edx, 2
mov eax, 2
mov dword [esp + 0x4c], edx
adc edi, 0
mov dword [ebp], eax
mov dword [esp + 0x50], edi
jmp 0x1007e200
test eax, eax
ja 0x1007e0cd
jb 0x1007e081
cmp ecx, 0x7fffff
ja 0x1007e0a0
mov ecx, dword [esp + 0x3c]
add edx, 3
mov eax, 3
mov dword [esp + 0x4c], edx
adc edi, 0
mov dword [ebp], eax
mov dword [esp + 0x50], edi
jmp 0x1007e200
test eax, eax
ja 0x1007e0cd
jb 0x1007e0ae
cmp ecx, 0x7fffffff
ja 0x1007e0cd
mov ecx, dword [esp + 0x3c]
add edx, 4
mov eax, 4
mov dword [esp + 0x4c], edx
adc edi, 0
mov dword [ebp], eax
mov dword [esp + 0x50], edi
jmp 0x1007e200
cmp eax, 0x7fff
ja 0x1007e0fa
jb 0x1007e0db
cmp ecx, 0xffffffff
ja 0x1007e0fa
mov ecx, dword [esp + 0x3c]
add edx, 6
mov eax, 5
mov dword [esp + 0x4c], edx
adc edi, 0
mov dword [ebp], eax
mov dword [esp + 0x50], edi
jmp 0x1007e200
add edx, 8
mov dword [esp + 0x4c], edx
adc edi, 0
mov dword [esp + 0x50], edi
test bl, 0x20
je 0x1007e13a
mov edx, dword [ebp - 0x18]
mov ecx, esi
call fcn.100ab060
mov ecx, dword [esp + 0x3c]
and ebx, 0xffdf
movsd qword [ebp - 0x1c], xmm0
or ebx, 8
mov eax, 7
mov word [ebp - 0xc], bx
mov dword [ebp], eax
jmp 0x1007e200
mov ecx, dword [esp + 0x3c]
mov eax, 6
mov dword [ebp], eax
jmp 0x1007e200
test bl, 8
je 0x1007e16b
inc ecx
mov dword [ebp], 7
add edx, 8
mov dword [esp + 0x4c], edx
adc edi, 0
mov dword [esp + 0x50], edi
jmp 0x1007e1fc
mov edi, dword [ebp - 0x10]
mov eax, ebx
shr eax, 1
and eax, 1
lea ebp, [edi + 6]
lea ebp, [eax + ebp*2]
test ebx, 0x400
je 0x1007e1bc
mov esi, dword [esp + 0x60]
mov eax, edx
add esi, 0xffffffe4
or eax, dword [esp + 0x50]
mov ecx, dword [esi]
lea ebp, [ebp + ecx*2]
je 0x1007e1ad
push esi
call fcn.10085610
add esp, 4
test eax, eax
jne 0x1007dc0c
add edi, dword [esi]
jmp 0x1007e1b8
mov eax, ecx
cdq
add dword [esp + 0x74], eax
adc dword [esp + 0x34], edx
mov edx, dword [esp + 0x4c]
add edx, edi
mov esi, 1
mov edi, dword [esp + 0x50]
mov dword [esp + 0x4c], edx
adc edi, 0
mov edx, ebp
mov dword [esp + 0x50], edi
shr edx, 7
xor ecx, ecx
mov eax, edx
or eax, ecx
je 0x1007e1ee
nop
shrd edx, ecx, 7
inc esi
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x1007e1e0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x3c]
add ecx, esi
mov dword [eax], ebp
mov ebp, eax
mov dword [esp + 0x3c], ecx
lea eax, [ebp - 0x1c]
cmp eax, dword [esp + 0x38]
je 0x1007e215
mov edx, dword [esp + 0x4c]
sub ebp, 0x28
jmp 0x1007df9f
cmp ecx, 0x7e
jle 0x1007e276
mov eax, ecx
mov ebx, 1
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x1007e23f
shrd esi, edx, 7
inc ebx
shr edx, 7
mov eax, esi
or eax, edx
jne 0x1007e231
mov eax, dword [esp + 0x3c]
mov edi, 1
add eax, ebx
mov dword [esp + 0x3c], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x1007e26e
nop
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x1007e260
mov ecx, dword [esp + 0x3c]
cmp ebx, edi
jge 0x1007e27b
inc ecx
mov dword [esp + 0x3c], ecx
mov esi, dword [esp + 0x4c]
mov eax, ecx
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
cdq
add esi, eax
mov dword [esp + 0x40], eax
mov edi, dword [edi + 0x18]
mov ebp, edx
adc ebx, ebp
mov ecx, esi
add ecx, dword [esp + 0x74]
mov eax, edi
cdq
adc ebx, dword [esp + 0x34]
cmp ebx, edx
jg 0x1007e2ba
jl 0x1007e2ae
cmp ecx, eax
ja 0x1007e2ba
mov edx, dword [esp + 0x54]
mov eax, dword [edx + 0x20]
mov dword [edx + 8], eax
jmp 0x1007e304
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x78]
cdq
cmp ebx, edx
jg 0x100836ba
jl 0x1007e2d4
cmp ecx, eax
ja 0x100836ba
cmp edi, esi
jge 0x1007e2f5
push 0
push esi
push dword [esp + 0x5c]
call fcn.10085840
add esp, 0xc
test eax, eax
jne 0x1007dc0c
mov edx, dword [esp + 0x54]
jmp 0x1007e304
mov edx, dword [esp + 0x54]
mov eax, dword [edx + 0x20]
mov dword [edx + 8], eax
and word [edx + 0x10], 0x2d
mov ecx, dword [esp + 0x74]
mov eax, 0x10
mov dword [edx + 0xc], esi
mov word [edx + 0x10], ax
mov eax, ecx
or eax, dword [esp + 0x34]
je 0x1007e327
mov eax, 0x400
mov dword [edx], ecx
or word [edx + 0x10], ax
mov eax, dword [esp + 0x3c]
mov ebx, dword [edx + 8]
lea esi, [ebx + eax]
cmp eax, 0x80
jge 0x1007e33d
mov byte [ebx], al
inc ebx
jmp 0x1007e34d
push ebp
push dword [esp + 0x44]
push ebx
call fcn.1006e9b0
add esp, 0xc
add ebx, eax
mov edi, dword [esp + 0x38]
add edi, 0xc
mov edx, dword [edi + 0x10]
cmp edx, 7
ja 0x1007e393
mov byte [ebx], dl
inc ebx
test edx, edx
je 0x1007e3ce
movzx edx, byte [edx + 0x100b1a10]
mov ecx, dword [edi - 0xc]
mov ebp, edx
mov eax, dword [edi - 8]
sub edx, 1
mov byte [edx + esi], cl
je 0x1007e38f
nop word [eax + eax]
shrd ecx, eax, 8
shr eax, 8
sub edx, 1
mov byte [edx + esi], cl
jne 0x1007e380
add esi, ebp
jmp 0x1007e3ce
cmp edx, 0x80
jae 0x1007e3ab
mov byte [ebx], dl
inc ebx
cmp edx, 0xe
jb 0x1007e3ce
mov eax, dword [edi]
test eax, eax
jle 0x1007e3ce
jmp 0x1007e3bf
push 0
push edx
push ebx
call fcn.1006e9b0
add ebx, eax
add esp, 0xc
mov eax, dword [edi]
test eax, eax
je 0x1007e3ce
push eax
push dword [edi - 4]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, dword [edi]
mov eax, dword [esp + 0x2c]
lea eax, [eax*8 - 0x1c]
add eax, dword [esp + 0x38]
cmp edi, eax
je 0x10080198
add edi, 0x28
jmp 0x1007e354
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp dword [edx + 0xc], 0
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x2c]
push esi
je 0x1007e419
call fcn.1004e730
add esp, 4
mov ebx, eax
mov ebp, edx
jmp 0x1007e54b
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
movlpd qword [esp + 0x44], xmm0
call fcn.10038010
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
cmp edx, 0x10
jne 0x1007e457
xorps xmm0, xmm0
xor edi, edi
movlpd qword [esp + 0x2c], xmm0
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x18], edi
jmp 0x1007e54b
test edx, edx
jne 0x1007e537
mov ebp, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
nop word [eax + eax]
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x128], 0
jne 0x1007e537
mov edi, dword [esi + 0x74]
mov cl, byte [edi + 8]
test cl, cl
jne 0x1007e490
cmp byte [edi + 1], cl
jne 0x1007e4ea
movzx eax, word [edi + 0x18]
cdq
add ebx, eax
adc ebp, edx
test cl, cl
je 0x1007e4ea
nop dword [eax]
mov dl, byte [esi + 0x44]
test dl, dl
je 0x1007e581
movsx ecx, dl
xor eax, eax
mov word [esi + 0x32], ax
dec dl
and byte [esi + 1], 0xf9
mov ax, word [esi + ecx*2 + 0x46]
mov word [esi + 0x46], ax
mov byte [esi + 0x44], dl
mov eax, dword [esi + ecx*4 + 0x74]
mov dword [esi + 0x74], eax
push dword [edi + 0x48]
call fcn.10068500
mov edi, dword [esi + 0x74]
add esp, 4
movzx eax, word [esi + 0x46]
cmp ax, word [edi + 0x18]
jae 0x1007e4a0
inc eax
mov word [esi + 0x46], ax
movzx ecx, word [esi + 0x46]
movzx eax, word [edi + 0x18]
cmp ecx, eax
jne 0x1007e503
movzx ecx, byte [edi + 9]
mov eax, dword [edi + 0x38]
mov eax, dword [ecx + eax + 8]
jmp 0x1007e51d
mov eax, dword [edi + 0x40]
mov ax, word [eax + ecx*2]
mov ch, al
mov cl, ah
movzx eax, word [edi + 0x1a]
movzx ecx, cx
and ecx, eax
mov eax, dword [edi + 0x38]
mov eax, dword [ecx + eax]
bswap eax
push eax
push esi
call fcn.10037e30
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
je 0x1007e470
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test edx, edx
jne 0x10083661
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea eax, [eax + ecx*8]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x1007e592
push eax
call fcn.1003ae00
add esp, 4
mov dword [eax], ebx
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x1c]
jmp 0x100812d7
push esi
call fcn.10038010
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
jmp 0x1007e53f
mov ecx, 4
mov word [eax + 0x10], cx
mov dword [eax], ebx
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x1c]
jmp 0x100812d7
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 4]
mov ebx, dword [edx + 0x10]
mov dword [esp + 0x54], edi
test edi, edi
jne 0x1007e686
cmp dword [ebp + 0xc4], edi
jg 0x10083517
test ebx, ebx
jne 0x1007e5d3
xor esi, esi
jmp 0x1007e5e7
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x1007e5d8
sub esi, ecx
and esi, 0x3fffffff
mov eax, dword [ebp + 0x1fc]
add eax, dword [ebp + 0x1f8]
push eax
push 0
push ebp
call fcn.10088ec0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
push edx
lea eax, [esi + 0x21]
push eax
push ebp
call fcn.10053d40
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1007e922
lea ecx, [esi + 1]
push ecx
lea edx, [edi + 0x20]
push ebx
push edx
mov dword [edi], edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [ebp + 0x55], 0
je 0x1007e648
mov byte [ebp + 0x55], 0
mov byte [ebp + 0x5d], 1
jmp 0x1007e64e
inc dword [ebp + 0x1f8]
mov eax, dword [ebp + 0x1ec]
mov dword [edi + 0x18], eax
mov dword [ebp + 0x1ec], edi
mov eax, dword [ebp + 0x200]
mov ecx, dword [ebp + 0x204]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov eax, dword [ebp + 0x208]
mov ecx, dword [ebp + 0x20c]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
jmp 0x1007e922
mov eax, dword [esp + 0x1c]
xor ebp, ebp
mov esi, dword [eax + 0x1ec]
test esi, esi
je 0x1007e6b1
push ebx
push dword [esi]
call fcn.100762a0
add esp, 8
test eax, eax
je 0x1007e6ca
mov esi, dword [esi + 0x18]
inc ebp
test esi, esi
jne 0x1007e696
mov ecx, dword [esp + 0x14]
push ebx
push str.no_such_savepoint:__s
push ecx
call fcn.1007b670
add esp, 0xc
mov edx, 1
jmp 0x1008365d
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
cmp dword [edx + 0xc4], 0
jle 0x1007e6e4
cmp ecx, 1
je 0x1008352f
cmp dword [esi + 0x18], 0
jne 0x1007e758
cmp byte [edx + 0x5d], 0
je 0x1007e758
mov edi, 1
mov dword [esp + 0x34], edi
cmp ecx, edi
jne 0x1007e760
mov ebx, dword [esp + 0x14]
push edi
push ebx
call fcn.1007af70
mov ecx, eax
add esp, 8
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x10083c28
mov eax, dword [esp + 0x1c]
push ebx
mov byte [eax + 0x55], 1
call fcn.10084860
add esp, 4
cmp eax, 5
je 0x10083562
mov edx, dword [ebx + 0x24]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083553
mov byte [eax + 0x5d], dl
lea ebx, [eax + 0x1f8]
mov dword [esp + 0x34], edi
jmp 0x1007e866
mov dword [esp + 0x34], 0
lea eax, [edx + 0x1f8]
mov dword [esp + 0x2c], eax
mov eax, dword [eax]
sub eax, ebp
lea ebp, [eax - 1]
cmp ecx, 2
jne 0x1007e7ce
mov eax, dword [edx + 0x18]
xor ebx, ebx
and eax, 1
mov dword [esp + 0x38], eax
cmp dword [edx + 0x14], ebx
jle 0x1007e7d4
xor eax, 1
xor edi, edi
mov dword [esp + 0x40], eax
push eax
mov eax, dword [edx + 0x10]
push 0x204
push dword [edi + eax + 4]
call fcn.1004f410
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
mov edx, dword [esp + 0x1c]
inc ebx
mov eax, dword [esp + 0x40]
add edi, 0x10
cmp ebx, dword [edx + 0x14]
jl 0x1007e790
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x54]
jmp 0x1007e7d4
xor eax, eax
mov dword [esp + 0x38], eax
xor ebx, ebx
cmp dword [edx + 0x14], ebx
jle 0x1007e818
xor edi, edi
jmp 0x1007e7e2
mov edx, eax
mov eax, dword [edx + 0x10]
push ebp
push ecx
push dword [edi + eax + 4]
call fcn.1004e7a0
mov edx, eax
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1007e90d
mov ecx, dword [esp + 0x54]
inc ebx
add edi, 0x10
cmp ebx, dword [eax + 0x14]
jl 0x1007e7e0
mov eax, dword [esp + 0x38]
jmp 0x1007e81c
mov edx, dword [esp + 0x18]
test eax, eax
je 0x1007e85a
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1007e849
nop dword [eax + eax]
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x1007e830
push ebx
call fcn.1006f780
mov edx, dword [esp + 0x1c]
add esp, 4
or dword [ebx + 0x18], 1
mov ebx, dword [esp + 0x2c]
test edx, edx
jne 0x10083661
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi + 0x1ec]
cmp ecx, esi
je 0x1007e893
mov eax, dword [ecx + 0x18]
push ecx
push edi
mov dword [edi + 0x1ec], eax
call fcn.10053c30
dec dword [ebx]
add esp, 8
mov ecx, dword [edi + 0x1ec]
cmp ecx, esi
jne 0x1007e874
mov edi, dword [esp + 0x54]
cmp edi, 1
jne 0x1007e8be
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi + 0x18]
push esi
push ecx
mov dword [ecx + 0x1ec], eax
call fcn.10053c30
add esp, 8
cmp dword [esp + 0x34], 0
jne 0x1007e91e
dec dword [ebx]
jmp 0x1007e8f2
cmp dword [esp + 0x34], 0
mov edx, dword [esp + 0x1c]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [edx + 0x200], eax
mov dword [edx + 0x204], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [edx + 0x208], eax
mov dword [edx + 0x20c], ecx
je 0x1007e8f2
cmp edi, 2
jne 0x1007e91a
push ebp
mov ebp, dword [esp + 0x20]
push edi
push ebp
call fcn.10088ec0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
je 0x1007e922
mov eax, ebp
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
jmp 0x1008366d
mov ebp, edx
jmp 0x1007e922
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x95], 3
je 0x10083597
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x38], 0
mov edi, dword [ebx + 8]
test edi, edi
je 0x1007e979
mov edx, dword [ebp + 0x20]
mov eax, edx
mov ecx, dword [ebp + 0x24]
and eax, 0x100000
and ecx, 2
or eax, ecx
jne 0x100835a5
mov eax, dword [esp + 0x1c]
mov ebp, dword [ebx + 4]
shl ebp, 4
add ebp, dword [eax + 0x10]
mov esi, dword [ebp + 4]
test esi, esi
je 0x1007ea91
lea eax, [esp + 0x38]
push eax
push edi
push esi
call fcn.1004b9d0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x100835dc
mov edx, dword [esp + 0x14]
test byte [edx + 0x98], 0x20
je 0x1007eaa1
cmp dword [ebx + 8], eax
je 0x1007eaa1
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x55], al
je 0x1007e9de
cmp dword [ecx + 0xc0], 1
jle 0x1007eaa1
mov eax, dword [edx + 0x30]
test eax, eax
jne 0x1007e9fa
inc dword [ecx + 0x1fc]
mov eax, dword [ecx + 0x1f8]
add eax, dword [ecx + 0x1fc]
mov dword [edx + 0x30], eax
dec eax
push eax
push 0
push ecx
call fcn.10088ec0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1007ea65
cmp byte [esi + 9], 0
mov eax, dword [esp + 0x14]
mov ebx, dword [esi + 4]
mov edi, dword [eax + 0x30]
je 0x1007ea31
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x1007ea31
push esi
call fcn.1001fc10
add esp, 4
mov eax, dword [ebx]
cmp edi, dword [eax + 0x68]
jle 0x1007ea4a
cmp byte [eax + 6], 0
je 0x1007ea4a
push edi
push eax
call fcn.1003b7e0
add esp, 8
jmp 0x1007ea4c
xor eax, eax
cmp byte [esi + 9], 0
mov dword [esp + 0x18], eax
je 0x1007ea65
add dword [esi + 0xc], 0xffffffff
jne 0x1007ea65
push esi
call fcn.10094650
add esp, 4
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [edx + 0x200]
mov ecx, dword [edx + 0x204]
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], ecx
mov eax, dword [edx + 0x208]
mov ecx, dword [edx + 0x20c]
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x54], ecx
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x10083661
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
cmp word [edi + 2], 0
je 0x1007c25a
mov eax, dword [esp + 0x38]
cmp eax, dword [edi + 0xc]
jne 0x1007eac8
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 0x10]
je 0x1007c82f
mov eax, dword [edx + 0x7c]
test eax, eax
je 0x1007eadc
push eax
push dword [esp + 0x20]
call fcn.10053c30
add esp, 8
push 0
push 0x1c
push dword [esp + 0x24]
call fcn.10053d40
add esp, 0xc
test eax, eax
je 0x1007eb10
movups xmm0, xmmword [str.database_schema_has_changed]
movups xmmword [eax], xmm0
movq xmm0, qword [0x100b3234]
movq qword [eax + 0x10], xmm0
mov ecx, dword [0x100b323c]
mov dword [eax + 0x18], ecx
mov esi, dword [esp + 0x14]
mov dword [esi + 0x7c], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [edi + 4]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [esp + 0x38]
je 0x1007eb3e
push edx
push dword [esp + 0x20]
call fcn.1006f800
add esp, 8
mov eax, dword [esi + 0x98]
mov edx, 0x11
mov ebx, dword [esp + 0x24]
and eax, 0xffffffed
or eax, 1
mov dword [esp + 0x18], edx
mov dword [esi + 0x98], eax
mov eax, dword [esp + 0x1c]
jmp 0x10083671
mov edx, dword [esp + 0x10]
lea eax, [esp + 0xdc]
push eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [edx + 4]
push dword [edx + 0xc]
add ecx, ecx
push dword [eax + ecx*8 + 4]
call fcn.1004caf0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x1007ebdb
push ecx
call fcn.1003ae00
mov esi, dword [esp + 0x14]
mov ecx, eax
mov eax, dword [esp + 0xe0]
add esp, 4
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov esi, dword [esp + 0x10]
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [esp + 0xdc]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
mov esi, dword [edi + 4]
push dword [edi + 0xc]
shl esi, 4
add esi, dword [ebp + 0x10]
push dword [edi + 8]
push dword [esi + 4]
call fcn.1004f500
mov dword [esp + 0x24], eax
add esp, 0xc
mov eax, dword [edi + 8]
cmp eax, 1
jne 0x1007ecc2
movzx eax, word [edi + 2]
mov ecx, dword [edi + 0xc]
sub ecx, eax
mov eax, dword [esi + 0xc]
mov dword [eax], ecx
or dword [ebp + 0x18], 1
mov ecx, dword [edi + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov edi, dword [eax + 0x10]
test edi, edi
je 0x1007eca0
nop
mov esi, dword [edi + 8]
cmp byte [esi + 0x2b], 0
jne 0x1007ec9a
mov esi, dword [esi + 0x30]
test esi, esi
je 0x1007ec9a
push dword [esi + 0x1c]
push ebp
call fcn.1002e6b0
mov dword [esi + 0x1c], 0
push dword [esi + 0x20]
push ebp
call fcn.1002e6b0
mov dword [esi + 0x20], 0
add esp, 0x10
mov esi, dword [esi + 4]
test esi, esi
jne 0x1007ec70
mov edi, dword [edi]
test edi, edi
jne 0x1007ec60
mov edi, dword [esp + 0x10]
cmp dword [edi + 4], 1
jne 0x1007ecd2
push 0
push ebp
call fcn.100562f0
mov ecx, dword [esp + 0x1c]
add esp, 8
and dword [ecx + 0x98], 0xfffffffc
jmp 0x1007ecd6
cmp eax, 2
jne 0x1007eca4
mov ecx, dword [esi + 0xc]
mov al, byte [edi + 0xc]
mov byte [ecx + 0x4c], al
jmp 0x1007eca4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x10083ab3
mov esi, dword [esp + 0x10]
mov edi, edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x1007ed32
mov eax, dword [esi + 0x38]
cmp eax, dword [edi + 8]
jne 0x1007ed32
push dword [esi + 0x2c]
call fcn.1004bce0
mov edx, dword [esp + 0x1c]
add esp, 4
jmp 0x1007ee27
mov edi, dword [esp + 0x10]
jmp 0x1007ed36
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x98]
and al, 3
cmp al, 1
je 0x10083613
mov ecx, dword [esp + 0x1c]
xor ebp, ebp
mov eax, dword [edi + 0xc]
mov ebx, dword [edi + 8]
mov dword [esp + 0x40], eax
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
cmp dl, 0x71
jne 0x1007ed8c
mov eax, dword [eax + 0xc]
movzx edi, word [edi + 2]
mov ecx, dword [esp + 0x14]
and edi, 8
or edi, 4
mov al, byte [eax + 0x4c]
cmp al, byte [ecx + 0x93]
jae 0x1007ed8e
mov byte [ecx + 0x93], al
jmp 0x1007ed8e
xor edi, edi
mov ecx, dword [esp + 0x10]
test byte [ecx + 2], 0x10
je 0x1007edb1
mov ecx, dword [esp + 0x28]
lea eax, [ebx + ebx*4]
lea esi, [ecx + eax*8]
push esi
call fcn.10085990
mov ebx, dword [esi]
add esp, 4
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 1]
cmp al, 0xf8
jne 0x1007edc1
mov ebp, dword [ecx + 0x10]
movzx eax, word [ebp + 8]
jmp 0x1007edcc
cmp al, 0xfd
jne 0x1007edca
mov eax, dword [ecx + 0x10]
jmp 0x1007edcc
mov eax, ebp
push 0
push eax
push dword [ecx + 4]
push dword [esp + 0x20]
call fcn.1001aad0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1007dc0c
mov eax, dword [esp + 0x40]
mov byte [esi + 1], al
mov byte [esi + 2], 1
or dword [esi + 8], 4
mov dword [esi + 0x38], ebx
push dword [esi + 0x2c]
push ebp
push edi
push ebx
push dword [esp + 0x48]
call fcn.1004c580
mov edi, dword [esp + 0x24]
add esp, 0x14
mov dword [esi + 0x30], ebp
mov edx, eax
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
cmp byte [edi + 1], 0xf8
setne al
mov byte [esi + 4], al
mov cl, byte [edi + 2]
mov eax, dword [esi + 0x2c]
and cl, 3
mov byte [eax + 3], cl
test edx, edx
jne 0x1008361c
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
push 0
mov ecx, dword [edx + 8]
mov eax, dword [ebx + 0x60]
mov edi, dword [eax + ecx*4]
movsx eax, word [edi + 0x3c]
push eax
push dword [edx + 4]
push ebx
call fcn.1001aad0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1007dc10
mov byte [esi + 2], 1
mov edx, dword [esi + 8]
or edx, 1
mov dword [esi + 8], edx
mov eax, dword [edi + 0x30]
mov dword [esi + 0x30], eax
mov al, byte [edi + 4]
mov byte [esi + 4], al
mov eax, dword [edi + 0x38]
mov dword [esi + 0x38], eax
mov ecx, dword [edi + 8]
xor ecx, edx
and ecx, 4
xor ecx, edx
mov dword [esi + 8], ecx
or ecx, 8
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov dword [esi + 8], ecx
or dword [edi + 8], 8
push dword [esi + 0x2c]
push dword [esi + 0x30]
push 4
push dword [esi + 0x38]
push dword [esi + 0x10]
call fcn.1004c580
mov edi, eax
add esp, 0x14
mov dword [esp + 0x18], edi
mov esi, dword [esp + 0x10]
mov ecx, ebx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x1007ef21
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov dword [ecx + eax*8 + 0xc], 0
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
mov dword [ecx + eax*8 + 8], 0x100b342a
mov edx, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [edx + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x1007ef99
test byte [esi + 8], 8
jne 0x1007ef99
movsx eax, word [esi + 0x3c]
cmp dword [edi + 8], eax
jg 0x1007ef99
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
push 0
push dword [esi + 0x38]
push dword [esi + 0x10]
call fcn.1004bd60
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
mov dword [esp + 0x2c], edx
test edx, edx
jne 0x1008361c
mov ecx, dword [esp + 0x14]
mov edi, eax
mov eax, dword [esp + 0x20]
mov byte [esi + 2], 1
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
push 0
push dword [edi + 8]
push ecx
push edx
call fcn.1001aad0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1007dc14
mov eax, dword [esp + 0x10]
lea edi, [esi + 0x10]
or dword [esi + 8], 1
push 0x41e
movzx eax, word [eax + 2]
or eax, 5
push eax
push edi
push ebp
push 0
push dword [ebp]
call fcn.1004dc40
mov edx, eax
add esp, 0x18
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
push eax
push 1
push dword [edi]
call fcn.1004b9d0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1007f071
mov eax, dword [esp + 0x10]
lea ebx, [esi + 0x38]
mov ebp, dword [eax + 0x10]
mov dword [esi + 0x30], ebp
test ebp, ebp
je 0x1007f04a
movzx eax, word [eax + 2]
or eax, 2
push eax
push ebx
push dword [edi]
call fcn.1004c530
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1007f044
push dword [esi + 0x2c]
push ebp
push 4
push dword [ebx]
push dword [edi]
call fcn.1004c580
mov edx, eax
add esp, 0x14
mov dword [esp + 0x18], edx
mov byte [esi + 4], 0
jmp 0x1007f06d
mov dword [ebx], 1
push dword [esi + 0x2c]
push 0
push 4
push 1
push dword [edi]
call fcn.1004c580
mov edx, eax
mov byte [esi + 4], 1
add esp, 0x14
mov dword [esp + 0x18], edx
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp word [eax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [esi + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 8], ecx
test edx, edx
jne 0x1008362a
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov byte [esi + 2], 1
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
push 1
push dword [edi + 8]
push dword [edi + 4]
push ecx
call fcn.1001aad0
add esp, 0x10
test eax, eax
je 0x1007dc14
mov ecx, dword [edi + 0x10]
push eax
mov dword [eax + 0x30], ecx
push dword [edi + 0xc]
push ebp
call fcn.10087a40
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083ab3
mov esi, dword [esp + 0x10]
mov edi, eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x18]
mov ecx, edi
mov esi, dword [edx + 0x1c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x18], ecx
mov ecx, dword [esp + 0x14]
adc eax, 0
or edi, esi
mov dword [edx + 0x1c], eax
mov edi, dword [esp + 0x18]
jne 0x1007ccad
jmp 0x1007f483
mov edx, dword [esp + 0x10]
push 3
push dword [edx + 0xc]
push dword [edx + 4]
push ecx
call fcn.1001aad0
add esp, 0x10
test eax, eax
je 0x1007dc10
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
mov byte [eax + 2], 1
mov ecx, dword [ecx + 8]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x14]
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x100bdf2c
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x60]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x1007f1c5
push eax
push edx
call fcn.100846a0
mov edx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [edx + 0x60]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], 0
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x38], edx
mov byte [edx + 2], 0
mov byte [edx + 3], 0
mov dword [edx + 0x20], 0
cmp byte [edx + 4], 0
je 0x1007f355
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x10]
mov dword [esp + 0x2c], eax
and al, 0x2e
cmp al, 2
jne 0x1007f24d
push 0
push esi
call fcn.1001c570
add esp, 8
movzx eax, word [esi + 0x10]
test al, 0x24
je 0x1007f25c
mov edi, dword [esi]
mov ebp, dword [esi + 4]
jmp 0x1007f2a4
test al, 8
je 0x1007f27a
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp], xmm0
call fcn.100272e0
add esp, 8
mov edi, eax
mov ebp, edx
jmp 0x1007f2a4
test al, 0x12
je 0x1007f293
cmp dword [esi + 8], 0
je 0x1007f293
push esi
call fcn.10037b10
add esp, 4
mov edi, eax
mov ebp, edx
jmp 0x1007f2a4
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
movzx eax, word [esi + 0x10]
mov ecx, dword [esp + 0x2c]
mov word [esi + 0x10], cx
test al, 0x24
jne 0x1007f31a
test al, 8
jne 0x1007f2f0
test al, 1
jne 0x1007f9e1
cmp ebx, 0x17
jae 0x1007f9e1
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x68]
push eax
push dword [esi + 0x2c]
call fcn.1004db50
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
jmp 0x1007f4ce
movsd xmm0, qword [esi]
sub esp, 8
movsd qword [esp], xmm0
push ebp
push edi
call fcn.10064340
add esp, 0x10
test eax, eax
jle 0x1007f312
test bl, 1
jne 0x1007f31a
dec ebx
jmp 0x1007f31a
jns 0x1007f31a
test bl, 1
je 0x1007f31a
inc ebx
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x68]
push eax
push 0
add esi, 0x2c
push ebp
push edi
push dword [esi]
call fcn.1004ed40
mov edx, eax
add esp, 0x14
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], edx
mov dword [eax + 0x40], edi
mov edi, dword [esp + 0x10]
mov dword [eax + 0x44], ebp
test edx, edx
jne 0x10083ab3
jmp 0x1007f3f7
mov eax, dword [edx + 0x2c]
lea esi, [edx + 0x2c]
mov ecx, dword [edi + 0x10]
mov al, byte [eax + 3]
and al, 2
mov byte [esp + 0x5b], al
mov eax, 0
setne al
mov dword [esp + 0x34], eax
mov eax, dword [edx + 0x30]
mov dword [esp + 0x20c], eax
lea eax, [ebx - 1]
test al, 1
mov word [esp + 0x220], cx
mov ecx, dword [esp + 0x28]
sete al
lea eax, [eax*2 - 1]
mov byte [esp + 0x222], al
mov eax, dword [edi + 0xc]
mov byte [esp + 0x226], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x210], eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x210]
push eax
push dword [esi]
call fcn.1004cba0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1008361c
cmp byte [esp + 0x5b], al
je 0x1007f3f7
mov eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
cmp byte [esp + 0x226], dl
je 0x1007f4ce
mov eax, dword [esp + 0x68]
cmp ebx, 0x17
jl 0x1007f4b6
test eax, eax
js 0x1007f44a
jne 0x1007f40f
cmp ebx, 0x18
je 0x1007f44a
mov dword [esp + 0x68], 0
cmp dword [esp + 0x34], 0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
je 0x100801a0
add dword [esp + 0x10], 0x14
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
push 0
push dword [esi]
mov dword [esp + 0x70], 0
call fcn.1004dbe0
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
je 0x1007f417
cmp edx, 0x65
jne 0x1008361c
mov dword [esp + 0x68], 1
xor edi, edi
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebp, [edx + eax*4]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
test eax, eax
jg 0x1007f4de
jne 0x1007f4c1
cmp ebx, 0x15
je 0x1007f4de
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov dword [esp + 0x68], ecx
cmp dword [esp + 0x68], 0
jne 0x1007f9e1
jmp 0x1007f417
push 0
push dword [esi]
mov dword [esp + 0x70], 0
call fcn.1004e530
jmp 0x1007f45b
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x18]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebx + 0x2c]
cmp byte [eax], 0
jne 0x1007ba24
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x29c], eax
mov byte [esp + 0x2b2], 0
mov ax, word [ecx + 0x24]
mov edi, dword [ecx + 4]
mov word [esp + 0x2b0], ax
mov eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x2a0], eax
nop word [eax + eax]
mov esi, dword [ebx + 0x2c]
push esi
call fcn.10031000
mov edx, dword [esi + 0x2c]
xor eax, eax
add esp, 4
mov ecx, edx
add ecx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x1008363a
jb 0x1007f57f
cmp ecx, 0x7ffffffe
ja 0x1008363a
xor eax, eax
mov dword [esp + 0x260], ebp
mov word [esp + 0x25c], ax
mov dword [esp + 0x264], eax
lea eax, [esp + 0x24c]
push eax
push edx
push esi
call fcn.100857e0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
push eax
lea eax, [esp + 0x2a0]
push eax
push dword [esp + 0x25c]
push dword [esp + 0x264]
call fcn.10086bc0
add esp, 0x10
mov esi, eax
cmp dword [esp + 0x264], 0
je 0x1007f5f2
lea eax, [esp + 0x24c]
push eax
call fcn.100978d0
add esp, 4
mov dword [esp + 0x18], 0
test esi, esi
jle 0x1007f60b
mov eax, dword [esp + 0x10]
cmp word [eax + 2], 0
je 0x1007f67d
test esi, esi
jns 0x1007f9e1
test edi, edi
jle 0x1008019c
mov ecx, dword [ebx + 0x2c]
xor eax, eax
dec edi
mov word [ecx + 0x32], ax
and byte [ecx + 1], 0xf9
cmp byte [ecx], al
je 0x1007f633
push ecx
call fcn.1001fd90
jmp 0x1007f663
movzx eax, word [ecx + 0x46]
mov edx, dword [ecx + 0x74]
mov esi, eax
inc eax
mov word [ecx + 0x46], ax
cmp ax, word [edx + 0x18]
jb 0x1007f653
push ecx
mov word [ecx + 0x46], si
call fcn.1001fd90
jmp 0x1007f663
cmp byte [edx + 8], 0
jne 0x1007f550
push ecx
call fcn.10037eb0
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
je 0x1007f550
cmp edx, 0x65
jne 0x10083661
add dword [esp + 0x10], 0x14
jmp 0x1007f479
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
movzx edx, word [eax + 0xc]
mov ecx, dword [ecx + 8]
cmp edx, ecx
jge 0x1007f6c6
mov esi, dword [esp + 0x10]
mov word [eax + 0xc], cx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + 0xc]
cmp edx, ecx
jle 0x1007b8b5
mov word [eax + 0xc], cx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
test eax, eax
je case.0x1007b7c8.9
cmp byte [eax + 2], 0
je 0x1007b8b5
jmp case.0x1007b7c8.9
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [edx + 0x60]
mov eax, dword [eax + ecx*4]
movzx eax, word [eax + 0xc]
cmp eax, dword [esi + 0x10]
jge 0x100833d8
jmp 0x1007f738
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov eax, dword [edx + 0x60]
mov ecx, dword [edi + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x180], ecx
movzx eax, word [edi + 0x10]
mov word [esp + 0x190], ax
test ax, ax
je 0x1007f79b
mov eax, dword [esi + 0x30]
lea ebx, [esi + 0x24]
mov dword [esp + 0x17c], eax
lea eax, [esp + 0x17c]
push ebx
push eax
mov byte [esp + 0x19a], 0
push dword [esi + 0x2c]
call fcn.1004cba0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
jmp 0x1007f809
mov eax, 0x400
test word [ecx + 0x10], ax
je 0x1007f7b7
push ecx
call fcn.10085610
add esp, 4
test eax, eax
jne 0x1007dc14
push dword [esi + 0x30]
call fcn.1007ace0
mov edi, eax
add esp, 4
test edi, edi
je 0x1007dc10
mov ecx, dword [esp + 0x180]
push edi
push dword [ecx + 8]
push dword [ecx + 0xc]
push dword [esi + 0x30]
call fcn.10087420
lea ebx, [esi + 0x24]
mov byte [edi + 0x16], 0
push ebx
push edi
push dword [esi + 0x2c]
call fcn.1004cba0
push edi
push ebp
mov dword [esp + 0x3c], eax
call fcn.10053c30
mov edx, dword [esp + 0x3c]
add esp, 0x24
mov edi, dword [esp + 0x10]
test edx, edx
jne 0x10083ab3
mov ecx, dword [ebx]
test ecx, ecx
setne al
mov byte [esi + 2], al
mov byte [esi + 3], dl
mov dword [esi + 0x20], edx
mov al, byte [edi]
cmp al, 0x1d
jne 0x1007f84e
test ecx, ecx
je 0x1007f9e1
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
test ecx, ecx
jne 0x1007f9e1
cmp al, 0x1b
jne 0x1007f8a4
movzx edx, word [esp + 0x190]
test edx, edx
je 0x1008019c
mov eax, dword [esp + 0x180]
add eax, 0x10
test byte [eax], 1
jne 0x1007f9e1
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x1007f874
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov ecx, dword [esp + 0x14]
cmp al, 0x1a
jne 0x100801a0
mov ax, word [edi + 0x10]
mov edi, dword [esp + 0x18]
mov word [esi + 0xc], ax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 0x24
jne 0x1007f96f
movups xmm0, xmmword [ebx + eax*8]
movups xmmword [esp + 0x1e4], xmm0
movups xmm1, xmmword [ebx + eax*8 + 0x10]
movups xmmword [esp + 0x1f4], xmm1
movq xmm0, qword [ebx + eax*8 + 0x20]
movd eax, xmm1
movq qword [esp + 0x204], xmm0
test al, 4
jne 0x1007f95b
test al, 8
jne 0x1007f938
test al, 2
je 0x1007f953
lea eax, [esp + 0x1e4]
push 1
push eax
call fcn.1001c570
add esp, 8
jmp 0x1007f948
lea eax, [esp + 0x1e4]
push eax
call fcn.10084ce0
add esp, 4
mov ecx, dword [esp + 0x14]
mov al, byte [esp + 0x1f4]
test al, 4
je 0x1007f483
mov edi, dword [esp + 0x1e4]
mov ebx, dword [esp + 0x1e8]
jmp 0x1007f980
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
mov edi, dword [ebx + eax*8]
mov ebx, dword [ebx + eax*8 + 4]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], 0
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
lea eax, [esp + 0x2c]
push eax
push 0
push ebx
push edi
push dword [esi + 0x2c]
call fcn.1004ed40
mov dword [esi + 0x40], edi
mov edx, eax
mov eax, dword [esp + 0x40]
add esp, 0x14
mov dword [esi + 0x44], ebx
mov byte [esi + 2], 0
mov dword [esi + 0x20], 0
mov byte [esi + 3], 0
mov dword [esp + 0x18], edx
mov dword [esi + 0x24], eax
test eax, eax
je 0x1007f9ea
mov edi, dword [esp + 0x10]
cmp dword [edi + 8], 0
je 0x10083685
mov edi, dword [esp + 0x18]
jmp 0x1007f47f
test edx, edx
jne 0x10083661
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x1007fa3d
push edx
call fcn.1003ae00
add esp, 4
mov edx, eax
jmp 0x1007fa46
mov eax, 4
mov word [edx + 0x10], ax
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x60]
mov esi, dword [esp + 0x10]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
add dword [eax + 0x18], 1
adc dword [eax + 0x1c], 0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
xorps xmm0, xmm0
mov esi, dword [esp + 0x14]
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 0x34], 0
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
mov dword [esp + 0x2c], edx
test word [edx + 0x10], ax
je 0x1007facd
push edx
call fcn.1003ae00
add esp, 4
mov dword [esp + 0x2c], eax
jmp 0x1007fad6
mov eax, 4
mov word [edx + 0x10], ax
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x60]
mov ebp, dword [eax + ecx*4]
test byte [ebp + 8], 2
jne 0x1007fb59
lea eax, [esp + 0x34]
push eax
push dword [ebp + 0x2c]
call fcn.1004db50
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083ab7
cmp dword [esp + 0x34], eax
je 0x1007fb1a
mov edi, 1
xor esi, esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], esi
jmp 0x1007fb61
mov esi, dword [ebp + 0x2c]
push esi
call fcn.10031000
mov edi, dword [esi + 0x20]
add esp, 4
mov esi, dword [esi + 0x24]
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], esi
cmp esi, 0x7fffffff
jl 0x1007fb49
jg 0x1007fb43
cmp edi, 0xffffffff
jb 0x1007fb49
or dword [ebp + 8], 2
jmp 0x1007fb61
add edi, 1
mov dword [esp + 0x40], edi
adc esi, 0
mov dword [esp + 0x44], esi
jmp 0x1007fb61
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x1007fbed
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xd0]
test edx, edx
je 0x1007fb99
mov eax, dword [edx + 4]
test eax, eax
je 0x1007fb8e
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x1007fb85
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea ebx, [eax + ecx*8]
jmp 0x1007fba3
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x28]
lea ebx, [ecx + eax*8]
push ebx
call fcn.10085990
mov eax, dword [ebx]
add esp, 4
mov ecx, dword [ebx + 4]
cmp eax, 0xffffffff
jne 0x1007fbc2
cmp ecx, 0x7fffffff
je 0x1007fc4b
test byte [ebp + 8], 2
jne 0x1007fc4b
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x1007fbe8
jl 0x1007fbdc
cmp edi, eax
jae 0x1007fbe8
mov edi, eax
mov esi, ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], esi
mov dword [ebx], edi
mov dword [ebx + 4], esi
test byte [ebp + 8], 2
je 0x1007fc55
xor ebx, ebx
lea eax, [esp + 0x40]
push eax
push 8
call sym.sqlite3.dll_sqlite3_randomness
mov esi, dword [esp + 0x4c]
lea eax, [esp + 0x3c]
mov edi, dword [esp + 0x48]
and esi, 0x3fffffff
push eax
add edi, 1
push 0
adc esi, 0
mov dword [esp + 0x50], edi
push esi
push edi
push dword [ebp + 0x2c]
mov dword [esp + 0x60], esi
call fcn.1004ed40
mov edx, eax
add esp, 0x1c
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
cmp dword [esp + 0x34], eax
jne 0x1007fc55
inc ebx
cmp ebx, 0x64
jl 0x1007fbf5
mov edx, 0xd
jmp 0x1008365d
mov eax, dword [esp + 0x2c]
mov byte [ebp + 3], 0
mov dword [ebp + 0x20], 0
mov dword [eax], edi
mov dword [eax + 4], esi
jmp 0x1007c82f
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov edi, dword [ebx + eax*8]
mov ebx, dword [ebx + eax*8 + 4]
mov dword [esp + 0x134], edi
mov dword [esp + 0x138], ebx
cmp byte [ecx + 1], 0xfb
jne 0x1007fcce
cmp dword [ebp + 0xfc], 0
je 0x1007fcce
movsx ecx, byte [esi + 1]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov ebp, dword [ecx + 0x10]
jmp 0x1007fcd4
xor ebp, ebp
mov dword [esp + 0x2c], ebp
test byte [ecx + 2], 1
je 0x1007fcf4
mov eax, dword [esp + 0x14]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov ebx, dword [esp + 0x138]
mov edi, dword [esp + 0x134]
test byte [ecx + 2], 0x20
je 0x1007fd04
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x28], edi
mov dword [eax + 0x2c], ebx
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
mov eax, dword [ebx + edx*8 + 8]
mov dword [esp + 0x13c], eax
mov eax, dword [ebx + edx*8 + 0xc]
mov dword [esp + 0x148], eax
test byte [edi + 2], 0x10
je 0x1007fd2d
mov ecx, dword [esi + 0x24]
jmp 0x1007fd2f
xor ecx, ecx
mov eax, 0x400
test word [ebx + edx*8 + 0x10], ax
je 0x1007fd47
mov eax, dword [ebx + edx*8]
mov dword [esp + 0x14c], eax
jmp 0x1007fd52
mov dword [esp + 0x14c], 0
mov dword [esp + 0x12c], 0
movzx eax, word [edi + 2]
push ecx
and eax, 0x8a
push eax
lea eax, [esp + 0x134]
push eax
push dword [esi + 0x2c]
call fcn.1004d040
mov edx, eax
mov byte [esi + 3], 0
add esp, 0x10
mov dword [esp + 0x18], edx
mov dword [esi + 0x20], 0
test edx, edx
jne 0x10083ab3
test ebp, ebp
je 0x10080198
push dword [esp + 0x138]
test byte [edi + 2], 4
mov ecx, 0x17
push dword [esp + 0x138]
mov eax, 0x12
push dword [ebp]
mov ebp, dword [esp + 0x28]
cmovne eax, ecx
push dword [esp + 0x38]
push eax
push dword [ebp + 0xf8]
mov eax, dword [ebp + 0xfc]
call eax
mov edi, dword [esp + 0x30]
add esp, 0x18
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
mov ecx, dword [ecx + 0x60]
mov eax, dword [edi + 4]
mov edx, dword [ecx + eax*4]
mov eax, dword [edi + 8]
mov esi, dword [ecx + eax*4]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1007fe21
mov ebx, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov ecx, dword [ebx + eax*8]
mov eax, dword [ebx + eax*8 + 4]
jmp 0x1007fe32
xorps xmm0, xmm0
movlpd qword [esp + 0x2c], xmm0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
push eax
push ecx
push dword [esi + 0x2c]
push dword [edx + 0x2c]
call fcn.1004f020
add esp, 0x10
jmp 0x1007cc15
mov edx, dword [esp + 0x10]
lea ebx, [ebp + 0xfc]
cmp byte [edx + 1], 0xfb
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
jne 0x1007feb1
cmp dword [ebx], 0
je 0x1007feb1
movsx ecx, byte [edi + 1]
mov eax, dword [ebp + 0x10]
add ecx, ecx
test byte [edx + 2], 2
mov ebp, dword [edx + 0x10]
mov esi, dword [eax + ecx*8]
mov dword [esp + 0x2c], esi
je 0x1007feb5
cmp byte [edi + 4], 0
je 0x1007feb5
mov esi, dword [edi + 0x2c]
push esi
call fcn.10031000
mov eax, dword [esi + 0x20]
add esp, 4
mov ecx, dword [esi + 0x24]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], ecx
jmp 0x1007feb5
xor esi, esi
xor ebp, ebp
movzx eax, byte [edx + 2]
push eax
push dword [edi + 0x2c]
call fcn.1004c5f0
mov edx, eax
mov dword [edi + 0x20], 0
add esp, 8
mov dword [esp + 0x18], edx
mov dword [edi + 0x24], 0
test edx, edx
jne 0x10083661
test byte [esp + 0x40], 1
mov ecx, dword [esp + 0x14]
je 0x10080179
add dword [ecx + 0x28], 1
adc dword [ecx + 0x2c], eax
mov eax, dword [ebx]
test eax, eax
je 0x10080179
test ebp, ebp
je 0x10080179
test byte [ebp + 0x1c], 0x80
jne 0x10080179
push dword [edi + 0x44]
push dword [edi + 0x40]
push dword [ebp]
mov ebp, dword [esp + 0x28]
push esi
push 9
push dword [ebp + 0xf8]
call eax
add esp, 0x18
jmp 0x1007cc23
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x6c], ecx
add dword [ebp + 0x70], eax
mov eax, dword [esp + 0x20]
adc dword [ebp + 0x74], ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 0
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [edx + 0x10]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edi, dword [ecx + 0x2c]
mov ebx, dword [ecx + 0x30]
lea eax, [eax + eax*4]
mov dword [esp + 0x2c], eax
mov ebp, dword [edi + 0x20]
test ebp, ebp
jne 0x1007ffaf
push ebx
call fcn.1007ace0
mov ebp, eax
add esp, 4
mov dword [edi + 0x20], ebp
test ebp, ebp
je 0x10080072
mov word [ebp + 0x14], si
lea eax, [esp + 0xcc]
push eax
push edi
call fcn.10099880
push ebp
push eax
push dword [esp + 0xdc]
push ebx
call fcn.10087420
add esp, 0x18
xor ecx, ecx
test esi, esi
jle 0x1007fff1
mov eax, dword [ebp + 4]
add eax, 0x10
nop dword [eax + eax]
test byte [eax], 1
jne 0x1007f479
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x1007ffe0
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
push 0
push ebp
push dword [ebx + eax*8 + 8]
push dword [ebx + eax*8 + 0xc]
call fcn.10086bc0
xor edx, edx
add esp, 0x10
mov dword [esp + 0x18], edx
test eax, eax
jne 0x1007f9e1
mov dword [esp + 0x18], edx
jmp 0x1007c82f
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, dword [edx + 4]
lea eax, [esp + 0xd0]
push eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
push dword [eax + 0x2c]
call fcn.10099880
mov edi, dword [esp + 0xd8]
add esp, 8
mov ebx, eax
cmp dword [esi + 0x18], edi
jge 0x1008007c
push 0
push edi
push esi
call fcn.10085840
add esp, 0xc
test eax, eax
je 0x10080087
mov edx, 7
jmp 0x1008365d
mov eax, dword [esi + 0x20]
mov dword [esi + 8], eax
and word [esi + 0x10], 0x2d
mov dword [esi + 0xc], edi
mov ecx, 0xf250
mov ax, word [esi + 0x10]
and ax, cx
push edi
or ax, 0x10
mov word [esi + 0x10], ax
push ebx
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov esi, dword [esp + 0x10]
xor edi, edi
mov dword [esp + 0x18], edi
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x20], edi
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x1008010c
push esi
call fcn.1003ae00
add esp, 4
mov esi, eax
jmp 0x10080115
mov eax, 4
mov word [esi + 0x10], ax
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
mov edi, dword [eax + 0x2c]
push edi
call fcn.10031000
mov eax, dword [edi + 0x2c]
add esp, 4
cmp eax, dword [ebp + 0x78]
ja 0x100836ba
push esi
push eax
push edi
call fcn.100857e0
mov edi, dword [esp + 0x1c]
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083ab3
cmp dword [edi + 0xc], eax
jne 0x1008019c
mov eax, 0x4000
test word [esi + 0x10], ax
je 0x1008019c
push esi
call fcn.10085a10
add esp, 4
test eax, eax
jne 0x1007dc14
jmp 0x1007cc23
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x14]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x58]
lea edi, [eax + ecx*8]
mov eax, 0x9000
test word [edi + 0x10], ax
je 0x100801eb
push edi
call fcn.1003ae00
mov edx, dword [esp + 0x18]
add esp, 4
mov edi, eax
jmp 0x100801f4
mov eax, 4
mov word [edi + 0x10], ax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [edx + 0x60]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 2], 0
je 0x10080215
mov eax, 1
mov word [edi + 0x10], ax
jmp 0x1007cc23
cmp byte [esi + 3], 0
je 0x10080239
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa8], eax
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x1007cc23
cmp byte [esi], 2
mov ecx, dword [esi + 0x2c]
jne 0x10080289
mov esi, dword [ecx]
lea edx, [esp + 0xa8]
push edx
push ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
push esi
mov esi, dword [esp + 0x20]
push esi
mov dword [esp + 0x28], eax
call fcn.10088bf0
mov edx, dword [esp + 0x28]
add esp, 0x10
test edx, edx
jne 0x1008350e
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x1007cc23
cmp byte [ecx], 0
je 0x100802a7
push esi
call fcn.10084c50
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
jmp 0x100802ad
xor eax, eax
mov dword [esp + 0x18], eax
cmp byte [esi + 2], 0
je 0x100802c1
mov eax, 1
mov word [edi + 0x10], ax
jmp 0x1007cc23
mov esi, dword [esi + 0x2c]
push esi
call fcn.10031000
mov eax, dword [esi + 0x20]
add esp, 4
mov ecx, dword [esi + 0x24]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa8], eax
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x1007cc23
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [edx + 0x60]
mov eax, dword [eax + ecx*4]
test eax, eax
jne 0x10080328
push 3
push 1
push ecx
push edx
call fcn.1001aad0
add esp, 0x10
test eax, eax
je 0x1007dc10
mov dword [eax + 0x24], 0
mov byte [eax + 4], 1
or dword [eax + 8], 8
mov dword [eax + 0x2c], 0x100bdf2c
mov byte [eax + 2], 1
mov dword [eax + 0x20], 0
cmp byte [eax], 0
jne 0x1007b8b5
push dword [eax + 0x2c]
call fcn.1004bce0
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], 0
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x2c]
cmp dl, 0x89
jne 0x1008038f
mov dword [esi + 0x24], 0xffffffff
cmp byte [eax], 0
je 0x1007cc23
lea ecx, [esp + 0x2c]
push ecx
push eax
call fcn.1004db50
mov edx, eax
add esp, 8
mov eax, dword [esp + 0x2c]
mov byte [esi + 2], al
mov byte [esi + 3], 0
mov dword [esp + 0x18], edx
mov dword [esi + 0x20], 0
test edx, edx
jne 0x10083ab3
cmp dword [edi + 8], edx
jle 0x1007bd29
test eax, eax
je 0x1007bd29
mov edi, edx
jmp 0x1007f47f
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x2c]
push esi
call fcn.10038010
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1008040f
push esi
xor ebx, ebx
call fcn.10037eb0
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
jmp 0x1008042b
cmp edx, 0x10
jne 0x10080424
mov dword [esp + 0x8c], 1
jmp 0x1007f479
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x8c], ebx
mov edi, edx
test edx, edx
jne 0x10083661
mov eax, edi
mov dword [esp + 0x18], eax
test ebx, ebx
jne 0x1007f9e1
push esi
call fcn.1004e730
add esp, 4
test edx, edx
jl 0x10080481
jg 0x1008045d
test eax, eax
jb 0x10080481
push edx
push eax
call fcn.10065880
mov esi, dword [esp + 0x18]
add esp, 8
cwde
cmp eax, dword [esi + 0xc]
jge 0x10080485
mov dword [esp + 0x8c], 1
jmp 0x1007f47b
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
inc dword [ecx + 0xac]
mov edx, dword [esp + 0x10]
mov ebx, 1
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
mov esi, dword [edi + 0x2c]
cmp byte [edi], bl
jne 0x1008051c
xor eax, eax
mov dword [esp + 0x18], eax
cmp byte [esi + 0x38], al
jne 0x100804f3
cmp dword [esi + 0x24], 0
lea eax, [esi + 0x24]
je 0x10080550
push eax
lea eax, [esi + 0x40]
xor ebx, ebx
push eax
call fcn.10099b90
add esp, 8
mov dword [esp + 0x18], eax
jmp 0x10080550
push esi
call fcn.100990f0
push eax
push esi
call fcn.10099210
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x10080550
push esi
call fcn.100998e0
add esp, 4
mov dword [esp + 0x18], eax
xor ebx, ebx
jmp 0x10080550
push esi
call fcn.10038010
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1008053a
push esi
xor ebx, ebx
call fcn.10037eb0
add esp, 4
jmp 0x10080541
cmp eax, 0x10
jne 0x10080545
xor eax, eax
mov dword [esp + 0x18], eax
mov byte [edi + 3], 0
mov dword [edi + 0x20], 0
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x10083661
mov ecx, dword [esp + 0x14]
mov byte [edi + 2], bl
mov edi, edx
test ebx, ebx
je 0x1007ccad
jmp 0x1007f483
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + ecx*4]
mov edi, dword [ebx + 0x2c]
cmp byte [edi + 0x38], 0
je 0x10080610
cmp byte [edi + 0x39], 0
je 0x100805d2
push dword [edi + 0x10]
call fcn.100982d0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1008064a
mov eax, dword [edi + 0x10]
cmp dword [eax + 0x18], 0
jne 0x1008064a
mov edi, dword [esp + 0x10]
mov eax, 0x65
mov esi, dword [esp + 0x14]
mov edx, eax
mov dword [esp + 0x18], eax
jmp 0x1008069b
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
push eax
push dword [edi + 0x14]
call fcn.10097cc0
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1008064a
cmp dword [esp + 0x2c], eax
je 0x1008064a
mov edi, dword [esp + 0x10]
mov eax, 0x65
mov esi, dword [esp + 0x14]
mov edx, eax
mov dword [esp + 0x18], eax
jmp 0x1008069b
mov ecx, dword [edi + 0x24]
mov eax, dword [ecx + 4]
mov dword [edi + 0x24], eax
mov dword [ecx + 4], 0
cmp dword [edi + 0x28], 0
jne 0x10080639
mov esi, dword [ecx + 4]
push ecx
push ebp
call fcn.10053c30
add esp, 8
mov ecx, esi
test esi, esi
jne 0x10080626
xor ecx, ecx
mov eax, 0x65
cmp dword [edi + 0x24], ecx
cmovne eax, ecx
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
jmp 0x1008069b
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x60]
push dword [edi + 0xc]
mov ebx, dword [eax + ecx*4]
push dword [ebx + 0x2c]
call fcn.1004e530
jmp 0x10080692
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x60]
push dword [edi + 0xc]
mov ebx, dword [eax + ecx*4]
push dword [ebx + 0x2c]
call fcn.1004dbe0
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
mov dword [ebx + 0x20], 0
test edx, edx
jne 0x100806bd
mov byte [ebx + 2], dl
movzx eax, word [edi + 2]
mov edi, dword [esp + 0x18]
inc dword [esi + eax*4 + 0xa4]
jmp 0x1008146e
cmp edx, 0x65
jne 0x10083ab7
xor edi, edi
mov byte [ebx + 2], 1
mov dword [esp + 0x18], edi
jmp 0x100812d7
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x60]
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
je 0x10080705
add dword [edx + 0x28], 1
adc dword [edx + 0x2c], 0
mov eax, 0x400
test word [esi + 0x10], ax
je 0x1008072b
push esi
call fcn.10085610
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
cdq
mov dword [esp + 0x304], eax
mov dword [esp + 0x308], edx
mov eax, dword [esi + 8]
mov dword [esp + 0x2fc], eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0x310], eax
mov ax, word [ecx + 0x10]
mov word [esp + 0x314], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x10080770
mov ecx, dword [edi + 0x24]
jmp 0x10080772
xor ecx, ecx
push ecx
and eax, 0x8a
push eax
lea eax, [esp + 0x304]
push eax
push dword [edi + 0x2c]
call fcn.1004d040
mov edx, eax
mov dword [edi + 0x20], 0
add esp, 0x10
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
jmp 0x1007cc23
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x400
test word [esi + 0x10], ax
je 0x100807e6
push esi
call fcn.10085610
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
push esi
push edi
call fcn.10087eb0
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
jmp 0x1007cc23
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x2bc], eax
mov ax, word [edx + 0xc]
mov word [esp + 0x2d0], ax
mov byte [esp + 0x2d2], 0
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x2c0], eax
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x2c0]
push eax
push edi
call fcn.1004cba0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
cmp dword [esp + 0xd4], eax
jne 0x1008089d
push 4
push edi
call fcn.1004c5f0
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
jmp 0x1007cc23
mov edi, dword [esp + 0x10]
cmp word [edi + 2], 0
je 0x100808b9
mov eax, dword [ebp + 0x20]
and eax, 0x10000001
cmp eax, 1
jne 0x100836d3
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
jmp 0x1007cc23
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x60]
mov ebp, dword [eax + ecx*4]
mov eax, dword [ebp + 0x2c]
cmp byte [eax], 0
je 0x10080900
push ebp
call fcn.10084c50
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083ab7
mov edi, eax
jmp 0x10080906
xor edi, edi
mov dword [esp + 0x18], edi
cmp byte [ebp + 2], 0
jne 0x10080a8b
mov esi, dword [ebp + 0x2c]
push esi
call fcn.10031000
mov eax, dword [esi + 0x2c]
xor ecx, ecx
mov word [esp + 0x1d0], cx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1d4], ecx
lea ecx, [esp + 0x1c0]
push ecx
push eax
push esi
mov dword [esp + 0x1e4], 0
call fcn.100857e0
mov edx, eax
add esp, 0x10
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
mov ebx, dword [esp + 0x1c4]
movzx esi, byte [ebx]
mov dword [esp + 0x2c], esi
cmp esi, 0x80
jb 0x10080984
lea eax, [esp + 0x2c]
push eax
push ebx
call fcn.10061ac0
mov esi, dword [esp + 0x34]
add esp, 8
cmp esi, 3
jb 0x10083701
mov edi, dword [esp + 0x1c8]
cmp esi, edi
ja 0x10083701
lea eax, [ebx - 1]
add eax, esi
movzx ecx, byte [eax]
mov dword [esp + 0x2c], ecx
cmp ecx, 0x80
jb 0x100809c2
lea ecx, [esp + 0x2c]
push ecx
push eax
call fcn.10061ac0
mov ecx, dword [esp + 0x34]
add esp, 8
lea eax, [ecx - 1]
cmp eax, 8
ja 0x10083701
cmp ecx, 7
je 0x10083701
movzx edx, byte [ecx + 0x100b1a10]
lea eax, [edx + esi]
cmp edi, eax
jb 0x10083701
lea eax, [esp + 0x324]
sub edi, edx
push eax
push ecx
add edi, ebx
push edi
call fcn.10087630
add esp, 0xc
cmp dword [esp + 0x1d4], 0
je 0x10080a19
lea eax, [esp + 0x1bc]
push eax
call fcn.100978d0
add esp, 4
mov eax, dword [esp + 0x10]
xor edi, edi
mov dword [esp + 0x18], edi
cmp byte [eax], 0x8d
jne 0x10080a66
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x324]
mov ecx, dword [esp + 0x328]
mov byte [edx + 2], 0
mov dword [edx + 0x40], eax
mov eax, dword [esp + 0x10]
mov dword [edx + 0x44], ecx
mov byte [edx + 3], 1
mov dword [edx + 0x20], edi
mov eax, dword [eax + 0x10]
mov dword [edx + 0x10], eax
mov dword [edx + 0x28], ebp
jmp 0x1007c833
push eax
push dword [esp + 0x18]
call fcn.1003adc0
mov ecx, dword [esp + 0x32c]
add esp, 8
mov edx, dword [esp + 0x328]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x1007c833
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x10080ab5
push eax
call fcn.10097910
add esp, 4
jmp 0x1007c833
mov ecx, 1
mov word [eax + 0x10], cx
jmp 0x1007c833
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 3], 0
je 0x1007b8b5
push eax
call fcn.10084560
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
mov ecx, dword [esp + 0x14]
mov edi, eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
cmp dl, 0x2a
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov esi, dword [ecx + 0x2c]
mov dword [esp + 0x2dc], eax
mov ax, word [edi + 0x10]
mov word [esp + 0x2f0], ax
sbb al, al
mov byte [esp + 0x2f2], al
mov eax, dword [edi + 0xc]
push esi
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x2e4], eax
call fcn.10031000
mov eax, dword [esi + 0x2c]
add esp, 4
test eax, eax
je 0x1008372a
cmp eax, 0x7fffffff
ja 0x1008372a
xor ecx, ecx
mov dword [esp + 0x288], ebp
mov word [esp + 0x284], cx
mov dword [esp + 0x28c], ecx
lea ecx, [esp + 0x274]
push ecx
push eax
push esi
call fcn.100857e0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083ab3
push eax
lea eax, [esp + 0x2e0]
push eax
push dword [esp + 0x284]
push dword [esp + 0x28c]
call fcn.10086bc0
add esp, 0x10
mov esi, eax
cmp dword [esp + 0x28c], 0
je 0x10080be6
lea eax, [esp + 0x274]
push eax
call fcn.100978d0
add esp, 4
test byte [edi], 1
jne 0x10080bef
neg esi
jmp 0x10080bf0
inc esi
test esi, esi
jg 0x1007f9e1
jmp 0x1007cc23
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edi, [eax + ecx*8]
mov eax, 0x9000
test word [edi + 0x10], ax
je 0x10080c2b
push edi
call fcn.1003ae00
mov edx, dword [esp + 0x14]
add esp, 4
mov edi, eax
mov eax, 1
mov word [edi + 0x10], ax
mov eax, dword [ebp + 0xcc]
inc eax
cmp dword [ebp + 0xc0], eax
jg 0x1008374e
mov eax, dword [edx + 0xc]
mov ebx, eax
mov ebp, dword [edx + 4]
add ebx, ebx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], 0
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ebx*8 + 4]
cmp byte [esi + 9], 0
je 0x10080c80
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x10080c80
push esi
call fcn.1001fc10
add esp, 4
lea eax, [esp + 0x2c]
push eax
push ebp
push esi
call fcn.1001f580
add esp, 0xc
mov dword [esp + 0x18], eax
cmp byte [esi + 9], 0
je 0x10080ca8
add dword [esi + 0xc], 0xffffffff
jne 0x10080ca8
push esi
call fcn.10094650
add esp, 4
mov esi, dword [esp + 0x2c]
mov eax, 4
mov word [edi + 0x10], ax
mov eax, esi
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x10083661
mov ebp, dword [esp + 0x1c]
test esi, esi
je 0x1007bd29
mov eax, dword [esp + 0x10]
mov edi, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov eax, dword [edi + ebx*8 + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x10080d01
nop word [eax + eax]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x10080cfb
mov dword [ecx + 0x14], edx
mov eax, dword [eax]
test eax, eax
jne 0x10080cf0
mov eax, dword [edi + ebx*8 + 0xc]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x10080d21
nop dword [eax]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x2c], esi
jne 0x10080d1b
mov dword [ecx + 0x2c], edx
mov eax, dword [eax]
test eax, eax
jne 0x10080d10
mov cl, byte [esp + 0x40]
inc cl
mov byte [esp + 0x67], cl
jmp 0x1007cc23
mov edi, dword [esp + 0x10]
lea eax, [esp + 0xbc]
xorps xmm0, xmm0
movlpd qword [esp + 0xbc], xmm0
push eax
mov ecx, dword [edi + 8]
mov eax, dword [ebp + 0x10]
add ecx, ecx
push dword [edi + 4]
push dword [eax + ecx*8 + 4]
call fcn.1004bd60
mov ecx, dword [esp + 0x20]
add esp, 0xc
cmp dword [edi + 0xc], 0
mov edx, eax
mov dword [esp + 0x18], edx
je 0x10080daa
mov eax, dword [esp + 0xbc]
add dword [ecx + 0x28], eax
mov eax, dword [esp + 0xc0]
adc dword [ecx + 0x2c], eax
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x10080daa
mov ebx, dword [esp + 0x28]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0xbc]
add dword [ebx + ecx*8], eax
mov eax, dword [esp + 0xc0]
adc dword [ebx + ecx*8 + 4], eax
mov ecx, dword [esp + 0x14]
test edx, edx
jne 0x10083ab3
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax], 1
jne 0x10080e0a
push dword [eax + 0x2c]
push ebp
call fcn.10087c60
mov esi, dword [esp + 0x18]
add esp, 8
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [eax + 0x2c]
push 0
push dword [eax + 0x40]
push dword [eax + 8]
call fcn.1004bd60
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1008350e
jmp 0x1007cc23
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x10080e5c
push esi
call fcn.1003ae00
add esp, 4
mov esi, eax
jmp 0x10080e65
mov eax, 4
mov word [esi + 0x10], ax
mov eax, dword [edi + 4]
lea ecx, [esp + 0x2c]
push dword [edi + 0xc]
shl eax, 4
add eax, dword [ebp + 0x10]
push ecx
mov dword [esp + 0x34], 0
push dword [eax + 4]
call fcn.1004c530
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x1008361c
mov eax, dword [esp + 0x2c]
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x1007cc23
mov edi, dword [esp + 0x10]
inc byte [ebp + 0x60]
push 0
push 0
push 0
push dword [edi + 0x10]
push ebp
call sym.sqlite3.dll_sqlite3_exec
add esp, 0x14
dec byte [ebp + 0x60]
jmp 0x1007cc15
mov edi, dword [esp + 0x10]
cmp dword [edi + 0x10], 0
mov esi, dword [edi + 4]
jne 0x10080f18
mov eax, dword [ebp + 0x10]
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.10070fa0
and dword [ebp + 0x18], 0xffffffef
movzx eax, word [edi + 2]
push eax
mov eax, dword [esp + 0x1c]
add eax, 0x7c
push eax
push esi
push ebp
call fcn.10062af0
mov ecx, dword [esp + 0x28]
mov edx, eax
or dword [ebp + 0x18], 1
add esp, 0x14
mov dword [esp + 0x18], edx
and dword [ecx + 0x98], 0xfffffffc
jmp 0x1008100d
mov dword [esp + 0xf0], esi
lea eax, [ecx + 0x7c]
mov dword [esp + 0xe8], ebp
add esi, esi
mov dword [esp + 0xec], eax
mov dword [esp + 0xf8], 0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + esi*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x100], eax
push dword [edi + 0x10]
mov eax, dword [ebp + 0x10]
push str.sqlite_master
push dword [eax + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push ebp
call fcn.10065ac0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x10083792
push 0
lea eax, [esp + 0xec]
mov byte [ebp + 0xb1], 1
push eax
push fcn.10062860
push esi
push ebp
mov dword [esp + 0x108], 0
mov dword [esp + 0x110], 0
call sym.sqlite3.dll_sqlite3_exec
add esp, 0x14
mov dword [esp + 0x18], eax
test eax, eax
jne 0x10080ff4
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x10080ff4
cmp dword [esp + 0xfc], eax
jne 0x10080ff4
push 0x100b85cc
push 0x1791f
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.sqlite3.dll_sqlite3_log
mov eax, 0xb
add esp, 0x14
mov dword [esp + 0x18], eax
push esi
push ebp
call fcn.10053c30
mov edx, dword [esp + 0x20]
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [ebp + 0xb1], 0
test edx, edx
jne 0x10083767
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
push dword [edi + 4]
push ebp
call fcn.10049b40
add esp, 8
jmp 0x1007cc15
mov edx, dword [esp + 0x10]
push 0
mov eax, dword [edx + 4]
push dword [edx + 0x10]
shl eax, 4
add eax, dword [ebp + 0x10]
mov eax, dword [eax + 0xc]
add eax, 8
push eax
call fcn.10061d50
add esp, 0xc
test eax, eax
je 0x10081083
cmp dword [ebp + 0x210], 0
jne 0x10081079
add dword [eax + 0x18], 0xffffffff
jne 0x10081083
push eax
push ebp
call fcn.10026fc0
add esp, 8
or dword [ebp + 0x18], 1
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x10]
push 0
mov ecx, dword [edx + 4]
push dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
add eax, 0x18
push eax
call fcn.10061d50
mov esi, eax
add esp, 0xc
test esi, esi
je 0x10081083
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + 8]
cmp ecx, esi
jne 0x10081102
mov eax, dword [esi + 0x14]
push esi
push ebp
mov dword [edx + 8], eax
call fcn.1005e050
mov esi, dword [esp + 0x18]
add esp, 8
or dword [ebp + 0x18], 1
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
test ecx, ecx
je 0x10081141
lea edx, [ecx + 0x14]
mov ecx, dword [edx]
cmp ecx, esi
je 0x1008113c
test ecx, ecx
jne 0x10081106
push esi
push ebp
call fcn.1005e050
mov esi, dword [esp + 0x18]
add esp, 8
or dword [ebp + 0x18], 1
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [esi + 0x14]
mov dword [edx], eax
push esi
push ebp
call fcn.1005e050
mov esi, dword [esp + 0x18]
add esp, 8
or dword [ebp + 0x18], 1
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x10]
push 0
mov ecx, dword [edx + 4]
push dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
add eax, 0x28
push eax
call fcn.10061d50
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1007bd2d
mov eax, dword [esi + 0x18]
cmp dword [esi + 0x14], eax
jne 0x100811fb
push 0
push dword [esi + 4]
add eax, 8
push eax
call fcn.1002be90
add esp, 0xc
mov edx, dword [eax + 8]
test edx, edx
je 0x100811fb
mov eax, dword [edx + 0x38]
add edx, 0x38
test eax, eax
je 0x100811fb
nop
cmp eax, esi
je 0x100811f6
lea edx, [eax + 0x20]
mov eax, dword [edx]
test eax, eax
jne 0x100811c0
push esi
push ebp
call fcn.10054d70
mov esi, dword [esp + 0x18]
add esp, 8
or dword [ebp + 0x18], 1
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [eax + 0x20]
mov dword [edx], eax
push esi
push ebp
call fcn.10054d70
mov esi, dword [esp + 0x18]
add esp, 8
or dword [ebp + 0x18], 1
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
lea edi, [eax + eax*4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
lea eax, [esp + 0xd8]
push eax
mov eax, dword [ebx + edi*8]
inc eax
push eax
push dword [edx + 8]
lea eax, [ecx + 4]
movzx ecx, word [edx + 2]
push eax
mov eax, dword [ebp + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 4]
push ebp
call fcn.1004d580
mov ebx, eax
add esp, 0x18
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x10081280
push esi
call fcn.10097910
add esp, 4
jmp 0x10081289
mov eax, 1
mov word [esi + 0x10], ax
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x100812be
test ebx, ebx
je 0x1007dc10
mov ecx, dword [esp + 0x28]
dec eax
push sym.sqlite3.dll_sqlite3_free
push 1
push 0xffffffffffffffff
cdq
sub dword [ecx + edi*8], eax
push 0xffffffffffffffff
sbb dword [ecx + edi*8 + 4], edx
push ebx
push esi
call fcn.10085d80
add esp, 0x18
test byte [esi + 0x10], 2
jne 0x10081373
mov eax, dword [esp + 0x48]
mov byte [esi + 0x12], al
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
cmp dword [ebp + 0x128], 0
jne 0x10083a60
mov ecx, dword [esp + 0x7c]
cmp dword [esp + 0x88], ecx
jb 0x1007bd29
mov ebx, dword [esp + 0x70]
ja 0x10081310
mov eax, dword [esp + 0x20]
cmp eax, ebx
jb 0x100831ae
nop word [eax + eax]
mov eax, dword [ebp + 0x174]
test eax, eax
je 0x100831aa
add ebx, dword [ebp + 0x17c]
push dword [ebp + 0x178]
adc ecx, 0
mov dword [esp + 0x74], ebx
mov dword [esp + 0x80], ecx
call eax
add esp, 4
test eax, eax
jne 0x10083867
mov ecx, dword [esp + 0x7c]
cmp dword [esp + 0x88], ecx
ja 0x10081310
mov eax, dword [esp + 0x20]
jb 0x1008135c
cmp eax, ebx
jae 0x10081310
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov al, byte [esp + 0x48]
cmp byte [esi + 0x12], al
je 0x100812cf
push dword [esp + 0x48]
push esi
call fcn.10086380
add esp, 8
jmp 0x100812cf
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 0x10
lea esi, [ebx + eax*8]
mov eax, dword [edx + 8]
lea edi, [eax + eax*4]
jne 0x100813c1
push esi
call fcn.10085ca0
add esp, 4
test eax, eax
jne 0x1007dc10
push dword [ebx + edi*8 + 4]
push dword [ebx + edi*8]
push dword [esi + 8]
call fcn.10070200
add esp, 0xc
jmp 0x1007cc23
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x10], 0x10
lea edi, [ecx + eax*8]
je 0x10081452
mov esi, dword [edi + 8]
movzx eax, word [esi + 0x1a]
test al, 2
jne 0x10081412
test al, 1
jne 0x1008140d
push dword [esi + 8]
call fcn.100450b0
add esp, 4
mov dword [esi + 8], eax
or word [esi + 0x1a], 3
mov eax, dword [esi + 8]
test eax, eax
je 0x10081452
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
test eax, eax
jne 0x10081431
push esi
call fcn.10070190
add esp, 4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
push ebx
push edi
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.10085c30
add esp, 0xc
jmp 0x100812cf
mov eax, 0x9000
test word [edi + 0x10], ax
je 0x1008148b
push edi
call fcn.10097910
add esp, 4
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [ecx + eax*4]
mov dword [esp + 0x10], eax
jmp 0x100812d7
mov eax, 1
mov word [edi + 0x10], ax
jmp 0x10081466
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x10]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x10], 0x10
lea esi, [ecx + eax*8]
mov eax, dword [edx + 0xc]
lea edi, [eax + eax*4]
jne 0x100814cc
push esi
call fcn.10085ca0
add esp, 4
test eax, eax
jne 0x1007dc10
mov ecx, dword [esp + 0x28]
test ebx, ebx
je 0x100814ed
push dword [ecx + edi*8 + 4]
push dword [ecx + edi*8]
push ebx
push dword [esi + 8]
call fcn.10070290
add esp, 0x10
test eax, eax
jne 0x1007f9e1
test ebx, ebx
js 0x1007bd29
mov ebx, dword [esp + 0x28]
jmp 0x100813c1
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x2c], ebx
lea eax, [eax + eax*4]
lea ebp, [ecx + eax*8]
mov eax, dword [esp + 0x10]
cmp word [eax + 2], 0
je 0x10081540
mov eax, dword [edx + 0xd0]
mov ecx, dword [ebx + 0x14]
test eax, eax
je 0x10081540
cmp dword [eax + 0x1c], ecx
je 0x100833d0
mov eax, dword [eax + 4]
test eax, eax
jne 0x10081530
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx + 0xd8]
cmp eax, dword [ecx + 0xa0]
jge 0x100837a0
test byte [ebp + 0x10], 0x10
jne 0x1008167a
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
add eax, ecx
test ecx, ecx
lea edi, [eax + 1]
cmovne edi, eax
lea eax, [edi + edi*4]
lea ecx, [ecx + eax*2]
mov eax, dword [ebx + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x10081585
add eax, 7
sar eax, 3
lea ecx, [ecx + 0x16]
lea ebx, [eax + ecx*4]
mov eax, ebx
cdq
push edx
push eax
push dword [esp + 0x24]
call fcn.10053d40
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1007dc0c
push ebx
push 0
push esi
call sub.VCRUNTIME140.dll_memset
mov eax, 0x9000
add esp, 0xc
test word [ebp + 0x10], ax
jne 0x100815c6
cmp dword [ebp + 0x18], 0
je 0x100815cf
push ebp
call fcn.100978d0
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, 0x1010
mov word [ebp + 0x10], ax
mov eax, dword [esp + 0x14]
sub ecx, dword [esp + 0x24]
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], ebx
mov ebx, dword [esp + 0x2c]
mov dword [ebp + 0x24], 0x100845c0
mov dword [esi], eax
mov dword [esi + 0x3c], edi
mov eax, dword [ebx + 0xc]
mov dword [esi + 0x40], eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
mov dword [esi + 0x30], eax
mov eax, dword [edx + 0x58]
mov dword [esi + 0x10], eax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x38], eax
mov eax, dword [edx + 0x60]
mov dword [esi + 0x14], eax
mov eax, dword [edx + 0x18]
mov dword [esi + 0x2c], eax
mov eax, dword [edx + 0x68]
mov dword [esi + 8], eax
mov eax, dword [edx + 0x6c]
mov dword [esi + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x1c], eax
lea eax, [edi*4 + 0xb]
add eax, edi
lea ecx, [esi + eax*8]
lea eax, [esi + 0x58]
cmp eax, ecx
je 0x10081674
mov edx, dword [esp + 0x1c]
nop dword [eax]
xor edi, edi
mov word [eax + 0x10], di
mov dword [eax + 0x14], edx
add eax, 0x28
cmp eax, ecx
jne 0x10081660
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
jmp 0x1008167d
mov esi, dword [ebp + 8]
inc dword [edx + 0xd8]
mov eax, dword [edx + 0xd0]
mov ebp, dword [esp + 0x1c]
mov dword [esi + 4], eax
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x2c]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], ecx
mov eax, dword [edx]
mov ecx, dword [eax + 0x68]
mov eax, dword [eax + 0x6c]
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], eax
mov eax, dword [edx + 0xe4]
mov dword [esi + 0x28], eax
lea eax, [esi + 0x58]
mov dword [edx + 0xe4], 0
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0xd0], esi
mov dword [edx + 0x58], eax
mov ecx, dword [esi + 0x3c]
mov dword [edx + 0x14], ecx
mov dword [esp + 0x28], eax
movzx eax, word [esi + 0x40]
mov dword [edx + 0x18], eax
lea eax, [ecx*4 + 0xb]
add eax, ecx
lea ecx, [esi + eax*8]
mov dword [edx + 0x60], ecx
mov eax, dword [ebx + 0xc]
lea ecx, [ecx + eax*4]
mov dword [esi + 0x18], ecx
mov eax, dword [ebx + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
mov esi, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [ebx]
mov dword [esp + 0x24], ecx
mov dword [esi + 0x68], ecx
mov eax, dword [ebx + 4]
mov dword [esi + 0x6c], eax
lea eax, [ecx - 0x14]
mov dword [esp + 0x10], eax
jmp 0x100812d7
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x10081772
push esi
call fcn.1003ae00
add esp, 4
mov esi, eax
jmp 0x1008177b
mov eax, 4
mov word [esi + 0x10], ax
mov edx, dword [ebx + 0xd0]
mov eax, dword [edx + 0x30]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [esp + 0x10]
add eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x100817d1
push 0x4000
push ecx
push esi
call fcn.10096db0
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x20]
mov ecx, ebx
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x10], eax
mov eax, 0x2000
test word [ecx + 0x10], ax
jne 0x1007eee0
mov ax, word [esi + 0x10]
mov ecx, 0xcfff
and ax, cx
mov ecx, 0x4000
or ax, cx
mov ecx, ebx
mov word [esi + 0x10], ax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [ebp + 0x20]
and eax, 0x80000
or eax, 0
mov eax, dword [esp + 0x10]
mov esi, eax
je 0x10081853
mov eax, dword [eax + 8]
cdq
add dword [ebp + 0x208], eax
mov eax, dword [esp + 0x20]
adc dword [ebp + 0x20c], edx
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
cdq
je 0x1008187c
add dword [ebp + 0x200], eax
mov eax, dword [esp + 0x20]
adc dword [ebp + 0x204], edx
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
add dword [ecx + 0x40], eax
mov eax, dword [esp + 0x20]
adc dword [ecx + 0x44], edx
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
cmp dword [esi + 4], 0
je 0x100818d2
mov eax, dword [ebp + 0x200]
or eax, dword [ebp + 0x204]
jne 0x1007b8b9
mov eax, dword [ebp + 0x208]
or eax, dword [ebp + 0x20c]
je 0x1007f483
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [ecx + 0x40]
or eax, dword [ecx + 0x44]
jmp 0x100818a7
mov edx, dword [ecx + 0xd0]
test edx, edx
je 0x1008190f
mov eax, dword [edx + 4]
test eax, eax
je 0x100818f9
nop dword [eax + eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x100818f0
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x10081920
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
push edi
call fcn.10085990
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
push esi
call fcn.10085990
mov ecx, dword [esi + 4]
add esp, 8
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x1007bd29
jl 0x100802e1
cmp dword [edi], eax
jae 0x100831a6
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x1007cc23
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea esi, [eax + eax*4]
mov edi, dword [ebx + esi*8 + 4]
mov ecx, dword [ebx + esi*8]
test edi, edi
jl 0x1007bd29
jg 0x10081989
test ecx, ecx
je 0x1007bd29
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
mov dword [ebx + esi*8], ecx
sbb edi, edx
mov dword [ebx + esi*8 + 4], edi
mov edi, dword [esp + 0x18]
jmp 0x1007f47f
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
lea edi, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ebx, [eax + eax*4]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x100819dd
push esi
call fcn.1003ae00
add esp, 4
mov esi, eax
jmp 0x100819e6
mov eax, 4
mov word [esi + 0x10], ax
mov edx, dword [esp + 0x28]
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
test eax, eax
jl 0x10081a59
jg 0x10081a09
test ecx, ecx
je 0x10081a59
mov ecx, dword [edx + ebx*8 + 4]
mov eax, dword [edx + ebx*8]
test ecx, ecx
jl 0x10081a1a
jg 0x10081a2b
test eax, eax
jne 0x10081a2b
xorps xmm0, xmm0
movlpd qword [esp + 0x2c], xmm0
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
push ecx
push eax
lea eax, [esp + 0xcc]
push eax
call fcn.10048320
add esp, 0xc
test eax, eax
jne 0x10081a59
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x1007cc23
mov dword [esi], 0xffffffff
mov dword [esi + 4], 0xffffffff
jmp 0x1007cc23
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov ecx, dword [ebx + esi*8]
mov eax, ecx
mov edx, dword [ebx + esi*8 + 4]
or eax, edx
je 0x1007ba24
test edx, edx
jl 0x1007f47f
jg 0x10081a9c
test ecx, ecx
je 0x1007f47f
sub ecx, 1
mov dword [ebx + esi*8], ecx
sbb edx, 0
mov dword [ebx + esi*8 + 4], edx
jmp 0x1007f47f
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea edx, [eax + eax*4]
mov ecx, dword [ebx + edx*8 + 4]
mov eax, dword [ebx + edx*8]
cmp ecx, 0x80000000
jl 0x10081ade
jg 0x10081ad1
test eax, eax
je 0x10081ade
sub eax, 1
mov dword [ebx + edx*8], eax
sbb ecx, 0
mov dword [ebx + edx*8 + 4], ecx
or eax, ecx
mov ecx, dword [esp + 0x14]
je 0x1007f483
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
push 0
movzx ebx, word [edi + 2]
lea eax, [ebx*4 + 0x44]
push eax
push ebp
call fcn.10053d40
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1007dc14
mov dword [esi + 8], 0
lea ecx, [ebx + 7]
lea ecx, [esi + ecx*4]
mov eax, 1
mov dword [esi], ecx
mov word [ecx + 0x10], ax
mov dword [ecx + 0x14], ebp
mov dword [ecx + 0x18], 0
mov ecx, edi
mov eax, dword [edi + 0x10]
sub ecx, dword [esp + 0x24]
mov dword [esi + 4], eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0xc], eax
mov al, byte [esp + 0x48]
mov byte [esi + 0x19], 0
mov dword [esi + 0x14], 0
mov byte [esi + 0x18], al
mov byte [esi + 0x1a], bl
mov byte [edi + 1], 0xf1
mov dword [edi + 0x10], esi
mov byte [edi], 0xa3
jmp 0x10081b94
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
mov ebx, dword [esp + 0x28]
mov esi, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
cmp dword [esi + 8], edi
je 0x10081bda
mov dword [esi + 8], edi
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
js 0x10081bda
mov ebp, dword [esp + 0x10]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
nop
mov eax, dword [ebp + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x10081bc0
mov ebp, dword [esp + 0x1c]
inc dword [edi + 0xc]
lea eax, [esi + 0x1c]
mov edi, dword [esp + 0x10]
movzx edx, byte [esi + 0x1a]
mov ecx, dword [esi + 4]
push eax
cmp dword [edi + 4], 0
push edx
push esi
je 0x10081bf9
mov eax, dword [ecx + 0x1c]
jmp 0x10081bfc
mov eax, dword [ecx + 0x10]
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x100831a6
jle 0x10081c62
mov ecx, dword [esi]
test ecx, ecx
jne 0x10081c18
xor eax, eax
jmp 0x10081c49
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x10081c35
cmp byte [ecx + 0x12], 1
jne 0x10081c35
mov eax, dword [ecx + 8]
jmp 0x10081c49
test dl, 1
je 0x10081c3e
xor eax, eax
jmp 0x10081c49
push 1
push ecx
call fcn.10096ab0
add esp, 8
push eax
push 0x100b3c00
push dword [esp + 0x1c]
call fcn.1007b670
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x18], eax
cmp byte [esi + 0x19], 0
je 0x10081c86
mov eax, dword [edi - 0x10]
test eax, eax
je 0x10081c82
push 0
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
push 1
push eax
call fcn.10085c30
add esp, 0xc
mov byte [esi + 0x19], 0
mov eax, dword [esi]
mov ecx, 0x9000
test word [eax + 0x10], cx
jne 0x10081c99
cmp dword [eax + 0x18], 0
je 0x10081ca2
push eax
call fcn.100978d0
add esp, 4
mov eax, dword [esi]
mov ecx, 1
mov edx, dword [esp + 0x18]
mov word [eax + 0x10], cx
mov dword [esi + 0x14], 0
jmp 0x1007cc1b
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov ebx, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x10081d60
lea eax, [eax + eax*4]
xorps xmm0, xmm0
lea edi, [ecx + eax*8]
mov eax, 0x9000
movups xmmword [esp + 0x19c], xmm0
movups xmmword [esp + 0x1ac], xmm0
test word [edi + 0x10], ax
je 0x10081d0b
push edi
call fcn.10097910
add esp, 4
jmp 0x10081d14
mov eax, 1
mov word [edi + 0x10], ax
mov dword [esp + 0x19c], edi
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a0], ebx
mov eax, dword [esi + 0x14]
mov al, byte [eax + 0x54]
mov byte [esp + 0x1b4], al
lea eax, [esp + 0x19c]
push eax
mov eax, dword [ebx + 0x18]
call eax
mov edi, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1b0]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
jmp 0x10081d6c
push ebx
push esi
call fcn.10085670
add esp, 8
mov edx, eax
mov dword [esp + 0x18], edx
test edx, edx
jne 0x100837c1
test byte [esi + 0x10], 2
jne 0x10081d8a
mov eax, dword [esp + 0x48]
mov byte [esi + 0x12], al
jmp 0x1007cc23
mov al, byte [esp + 0x48]
cmp byte [esi + 0x12], al
je 0x100831a6
push dword [esp + 0x48]
push esi
call fcn.10086380
add esp, 8
jmp 0x1007cc23
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x354]
push eax
lea eax, [esp + 0x354]
mov dword [esp + 0x350], 0
push eax
push dword [edi + 8]
mov dword [esp + 0x360], 0xffffffff
push dword [edi + 4]
mov dword [esp + 0x360], 0xffffffff
push ebp
call fcn.1004f7c0
mov edx, eax
add esp, 0x14
mov dword [esp + 0x18], edx
test edx, edx
je 0x10081e11
cmp edx, 5
jne 0x1008361c
xor eax, eax
mov dword [esp + 0x34c], 1
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0xc]
xor edi, edi
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, 0x9000
lea ebp, [edi + 4]
nop dword [eax + eax]
mov eax, dword [esp + edi*4 + 0x34c]
cdq
test word [esi + 0x10], cx
je 0x10081e50
push edx
push eax
push esi
call fcn.10098b40
add esp, 0xc
mov ecx, 0x9000
jmp 0x10081e59
mov dword [esi], eax
mov dword [esi + 4], edx
mov word [esi + 0x10], bp
inc edi
add esi, 0x28
cmp edi, 3
jl 0x10081e30
jmp 0x1007c82f
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea eax, [eax + ecx*8]
mov ecx, 0x9000
mov dword [esp + 0x2c], eax
test word [eax + 0x10], cx
je 0x10081e99
push eax
call fcn.1003ae00
add esp, 4
mov dword [esp + 0x2c], eax
jmp 0x10081ea2
mov ecx, 4
mov word [eax + 0x10], cx
mov ecx, dword [ebx + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov edx, dword [ebx + 0xc]
cmp edx, 0xffffffff
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x40], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
movzx ebp, byte [esi + 5]
mov ebx, ebp
cmovne ebx, edx
cmp byte [esi + 0x11], 3
jae 0x10081ee2
mov eax, dword [esi + 0x44]
cmp dword [eax], 0
je 0x10081ee4
cmp dword [esi + 0x54], 0
jg 0x10081ee2
jl 0x10081ee4
cmp dword [esi + 0x50], 0
jbe 0x10081ee4
mov ebx, ebp
cmp byte [esi + 0xf], 0
mov ecx, 0x100b19fc
jne 0x10081ef5
mov ecx, dword [esi + 0xb8]
cmp ebx, 5
jne 0x10081f35
test ecx, ecx
je 0x10081f2e
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10081f01
sub ecx, edx
test ecx, 0x3fffffff
je 0x10081f2e
cmp byte [esi + 0xd], 0
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
jne 0x10081f2e
cmp byte [esi + 4], 0
jne 0x10081f35
cmp dword [eax], 2
jl 0x10081f2e
cmp dword [eax + 0x34], 0
jne 0x10081f35
mov ebx, ebp
jmp 0x1008207f
cmp ebx, ebp
je 0x1008207f
cmp ebp, 5
je 0x10081f4b
cmp ebx, 5
jne 0x1008207f
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x55], 0
je 0x100837eb
cmp dword [eax + 0xc0], 1
jg 0x100837eb
cmp ebp, 5
jne 0x1008204f
xor edi, edi
cmp dword [esi + 0xe8], edi
jne 0x10081fd1
push 1
push esi
mov dword [esp + 0xc0], edi
call fcn.1003b790
mov edi, eax
add esp, 8
test edi, edi
jne 0x10082039
mov eax, dword [esi]
lea ecx, [esp + 0xb8]
push ecx
push edi
push dword [esi + 0xec]
push eax
mov eax, dword [eax + 0x20]
call eax
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x10082039
cmp dword [esp + 0xb8], eax
je 0x10081fd1
push esi
call fcn.1003b900
mov edi, eax
add esp, 4
test edi, edi
jne 0x10082039
cmp dword [esi + 0xe8], 0
je 0x10082039
push esi
call fcn.1003b5c0
mov edi, eax
add esp, 4
test edi, edi
jne 0x10082039
push dword [esi + 0xe0]
movzx eax, byte [esi + 0xb]
push dword [esi + 0xa8]
push eax
push dword [esp + 0x28]
push dword [esi + 0xe8]
call fcn.100895d0
push esi
mov edi, eax
mov dword [esp + 0x30], eax
mov dword [esi + 0xe8], 0
call fcn.1003b640
add esp, 0x18
test edi, edi
je 0x10082039
cmp byte [esi + 4], 0
jne 0x10082039
push 1
push esi
call fcn.1003c220
add esp, 8
jmp 0x10082083
mov eax, edi
mov dword [esp + 0x18], eax
test edi, edi
jne 0x10082083
push ebx
push esi
call fcn.10067ed0
add esp, 8
jmp 0x10082063
cmp ebp, 4
jne 0x1008205f
push 2
push esi
call fcn.10067ed0
add esp, 8
test edi, edi
jne 0x10082083
xor eax, eax
cmp ebx, 5
sete al
inc eax
push eax
push dword [esp + 0x44]
call fcn.1004ecb0
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
je 0x10082085
mov ebx, ebp
push ebx
push esi
call fcn.10067ed0
mov ebx, dword [esp + 0x34]
add esp, 8
mov ecx, 0x2202
mov word [ebx + 0x10], cx
cmp eax, 6
jne 0x100820ac
mov dword [ebx + 8], 0
xor ecx, ecx
jmp 0x100820cf
mov ecx, dword [eax*4 + 0x100ad448]
mov dword [ebx + 8], ecx
test ecx, ecx
je 0x100820cf
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100820c0
sub ecx, edx
and ecx, 0x3fffffff
mov al, 1
mov dword [ebx + 0xc], ecx
mov byte [ebx + 0x12], al
cmp byte [esp + 0x48], al
je 0x100820ea
push dword [esp + 0x48]
push ebx
call fcn.10086380
add esp, 8
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x10083661
jmp 0x1007c82f
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 8]
test eax, eax
je 0x10082112
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
jmp 0x10082114
xor eax, eax
push eax
push dword [edi + 4]
lea eax, [ecx + 0x7c]
push ebp
push eax
call fcn.100708a0
mov edx, eax
add esp, 0x10
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083ab3
jmp 0x1007cc23
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x10]
mov ecx, dword [edx + 4]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
cmp byte [esi + 9], 0
mov edi, dword [esi + 4]
je 0x10082163
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x10082163
push esi
call fcn.1001fc10
add esp, 4
cmp byte [edi + 0x11], 0
jne 0x10082173
mov eax, 0x65
jmp 0x1008222a
mov eax, dword [edi + 0xc]
mov ebp, dword [edi + 0x30]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + 0x24]
bswap ebx
push ebx
push ebp
push edi
call fcn.1002bba0
add esp, 0xc
mov dword [esp + 0x2c], eax
cmp ebp, eax
jb 0x10082203
cmp ebx, ebp
jae 0x10082203
test ebx, ebx
je 0x100821fc
mov eax, dword [edi + 8]
test eax, eax
je 0x100821b8
push 0
push 0
push eax
call fcn.100454c0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100821f6
push edi
call fcn.10032cf0
push 0
push ebp
push dword [esp + 0x38]
push edi
call fcn.10032450
add esp, 0x14
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100821f6
mov eax, dword [edi + 0xc]
push dword [eax + 0x48]
call fcn.10068560
mov ecx, dword [edi + 0x30]
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0xc]
bswap ecx
mov eax, dword [eax + 0x38]
mov dword [eax + 0x1c], ecx
mov ebp, dword [esp + 0x1c]
jmp 0x1008222e
mov eax, 0x65
jmp 0x10082226
push 0x100b85cc
push 0x119d9
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.sqlite3.dll_sqlite3_log
add esp, 0x14
mov eax, 0xb
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
cmp byte [esi + 9], 0
je 0x10082243
add dword [esi + 0xc], 0xffffffff
jne 0x10082243
push esi
call fcn.10094650
add esp, 4
mov edx, dword [esp + 0x18]
test edx, edx
je 0x1007bd29
cmp edx, 0x65
jne 0x10083661
jmp 0x1007f479
cmp dword [esi + 4], 0
jne 0x10082286
push dword [esi + 8]
push ebp
call fcn.100562f0
mov ecx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [esi + 8]
inc eax
xor eax, dword [ecx + 0x98]
and eax, 3
xor dword [ecx + 0x98], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x2c]
or byte [eax + 1], 0x40
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x2c]
and byte [eax + 1], 0xbf
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov ebx, dword [esp + 0x10]
mov bl, byte [ebx + 0xc]
test bl, bl
jne 0x1008231f
mov eax, dword [ebp + 0x20]
and eax, 0x400
mov dword [esp + 0x2c], eax
jne 0x1007ccad
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x18], edx
mov ecx, dword [eax + 4]
mov edi, dword [eax + 8]
add ecx, ecx
mov eax, dword [ebp + 0x10]
mov esi, dword [eax + ecx*8 + 4]
cmp byte [esi + 9], dl
je 0x100823f0
inc dword [esi + 0xc]
inc bl
mov byte [esp + 0xb4], bl
cmp byte [esi + 0xa], dl
jne 0x1008235b
push esi
call fcn.1001fc10
add esp, 4
push dword [esp + 0xb4]
push edi
push esi
call fcn.100407a0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
test edx, edx
jne 0x100823d7
mov ebp, dword [esi + 4]
mov ecx, dword [ebp + 0x4c]
test ecx, ecx
je 0x10082390
cmp dword [ecx + 4], edi
jne 0x10082389
cmp dword [ecx], esi
je 0x100823be
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x10082380
push 0
push 0x10
call fcn.10065ae0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100823ca
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 4], edi
mov dword [ecx], esi
mov eax, dword [ebp + 0x4c]
mov dword [ecx + 0xc], eax
mov dword [ebp + 0x4c], ecx
cmp bl, byte [ecx + 8]
jbe 0x100823c6
mov byte [ecx + 8], bl
xor edx, edx
jmp 0x100823cf
mov edx, 7
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
cmp byte [esi + 9], 0
je 0x100823f0
add dword [esi + 0xc], 0xffffffff
jne 0x100823f0
push esi
call fcn.10094650
mov edx, dword [esp + 0x1c]
add esp, 4
test edx, edx
je 0x1007cc23
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
cmp dl, 6
jne 0x10083ab7
push dword [edi + 0x10]
push str.database_table_is_locked:__s
push esi
call fcn.1007b670
mov edx, dword [esp + 0x24]
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
jmp 0x10083671
mov edi, dword [esp + 0x10]
xor eax, eax
mov edx, dword [ebp + 0x180]
mov dword [esp + 0x18], eax
mov esi, dword [edi + 0x10]
test edx, edx
jle 0x1008246b
cmp dword [ebp + 0x198], eax
jne 0x1008246b
mov dword [esp + 0x2c], 6
mov edx, 6
mov dword [esp + 0x18], edx
lea eax, [esi + 8]
test esi, esi
je 0x1008361c
jmp 0x10082526
test esi, esi
jne 0x1008248c
mov esi, dword [esp + 0x10]
xor edi, edi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [esi + 8]
mov ebx, dword [eax]
cmp dword [ebx + 0x38], 0
je 0x1008251f
xor ecx, ecx
test edx, edx
jle 0x100824b7
mov eax, dword [ebp + 0x198]
cmp dword [eax], esi
je 0x10082546
inc ecx
add eax, 4
cmp ecx, edx
jl 0x100824a7
push ebp
call fcn.10031d90
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1008251f
push dword [esi + 8]
mov eax, dword [ebx + 0x38]
call eax
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x1008251f
mov ecx, dword [ebp + 0x180]
mov eax, dword [ebp + 0x198]
mov edx, dword [ebp + 0x1fc]
add edx, dword [ebp + 0x1f8]
mov dword [eax + ecx*4], esi
inc dword [ebp + 0x180]
inc dword [esi + 0xc]
test edx, edx
je 0x1008251f
cmp dword [ebx + 0x50], 0
je 0x1008251f
lea eax, [edx - 1]
mov dword [esi + 0x14], edx
push eax
push dword [esi + 8]
mov eax, dword [ebx + 0x50]
call eax
add esp, 8
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x10]
lea eax, [esi + 8]
push dword [eax]
mov esi, dword [esp + 0x18]
push esi
call fcn.10088bf0
mov edx, dword [esp + 0x20]
add esp, 8
test edx, edx
jne 0x10083979
jmp 0x1007cc23
xor eax, eax
jmp 0x1008251b
mov edi, dword [esp + 0x10]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x28]
movups xmmword [esp + 0x114], xmm0
mov dword [esp + 0x118], ebp
movups xmmword [esp + 0x104], xmm0
movq qword [esp + 0x124], xmm0
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
lea eax, [esp + 0x108]
push eax
call fcn.100855a0
mov dword [esp + 0x20], eax
add esp, 8
mov eax, dword [esp + 0x114]
and eax, 0x202
cmp eax, 0x202
jne 0x100825b9
cmp byte [esp + 0x116], 1
jne 0x100825b9
mov edx, dword [esp + 0x10c]
jmp 0x100825db
test byte [esp + 0x114], 1
jne 0x100826a7
lea eax, [esp + 0x104]
push 1
push eax
call fcn.10096ab0
add esp, 8
mov edx, eax
test edx, edx
je 0x100826a7
mov ecx, dword [edi + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov esi, dword [esp + 0x14]
add esi, 0x7c
push dword [eax + ecx*8]
push edx
push ebp
call fcn.1005c250
mov ebx, eax
push 0
mov ecx, dword [ebx + 0x30]
mov edi, dword [ecx]
lea ecx, [ebp + 0x184]
push edi
push ecx
call fcn.1002be90
add esp, 0x18
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x10082689
mov eax, dword [ecx]
mov edx, dword [eax + 4]
test edx, edx
je 0x10082689
cmp dword [eax + 0x14], 0
je 0x10082689
push esi
push edx
push ecx
push ebx
push ebp
call fcn.1009a250
add esp, 0x14
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100826a3
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x100826a3
cmp dword [eax], ebp
je 0x10082654
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x10082647
jmp 0x100826a3
push ebp
call fcn.10031d90
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100826a3
push ebx
push ebp
call fcn.10061900
mov edx, dword [ebp + 0x180]
add esp, 8
mov ecx, dword [ebp + 0x198]
mov dword [ecx + edx*4], eax
inc dword [ebp + 0x180]
inc dword [eax + 0xc]
jmp 0x100826a3
push edi
push str.no_such_module:__s
push ebp
call fcn.10065ac0
mov dword [esi], eax
add esp, 0xc
mov eax, 1
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x10]
test dword [esp + 0x114], 0x9000
jne 0x100826be
cmp dword [esp + 0x11c], 0
je 0x100826ce
lea eax, [esp + 0x104]
push eax
call fcn.100978d0
add esp, 4
mov edx, dword [esp + 0x18]
jmp 0x1007cc1b
mov edx, dword [esp + 0x10]
xor eax, eax
inc dword [ebp + 0xcc]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [edx + 4]
add ecx, ecx
push dword [eax + ecx*8]
push dword [edx + 0x10]
push ebp
call fcn.1005c250
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1008277b
cmp byte [edi + 0x2b], 1
jne 0x1008277b
mov ecx, dword [edi + 0x34]
test ecx, ecx
je 0x1008277b
mov eax, dword [ecx + 8]
cmp dword [eax + 4], 0
jg 0x10083825
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x10082711
push edi
push ebp
call fcn.1009a770
mov esi, eax
add esp, 8
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x10082740
mov ecx, dword [eax + 0x10]
inc dword [edi + 0x18]
push dword [esi + 8]
call ecx
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x10082762
mov dword [esi + 8], eax
push esi
mov dword [edi + 0x34], eax
call fcn.10088fc0
add esp, 4
cmp dword [ebp + 0x210], 0
jne 0x10082771
add dword [edi + 0x18], 0xffffffff
jne 0x1008277b
push edi
push ebp
call fcn.10026fc0
add esp, 8
dec dword [ebp + 0xcc]
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x10083661
mov dword [esp + 0x18], edx
jmp 0x1007cc23
mov edi, dword [esp + 0x10]
mov dword [esp + 0x98], 0
mov eax, dword [edi + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x1008384d
mov edi, dword [esi]
test edi, edi
je 0x10083849
lea eax, [esp + 0x98]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ebx, dword [esp + 0x1c]
push esi
push ebx
mov dword [esp + 0x28], eax
call fcn.10088bf0
mov edx, dword [esp + 0x28]
add esp, 0x10
test edx, edx
jne 0x10083aa4
mov eax, dword [esp + 0x98]
push 2
push edx
mov dword [eax], esi
mov eax, dword [esp + 0x18]
push dword [eax + 4]
push ebx
call fcn.1001aad0
add esp, 0x10
test eax, eax
je 0x10083835
mov ecx, dword [esp + 0x98]
mov edi, dword [esp + 0x18]
mov dword [eax + 0x2c], ecx
mov ecx, ebx
inc dword [esi + 4]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + ecx*4]
call sym.sqlite3.dll_sqlite3_initialize
test eax, eax
jne 0x1007dc14
push eax
push 8
call fcn.10065ae0
mov edi, eax
add esp, 8
test edi, edi
je 0x1007dc10
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x2c]
mov edx, dword [esp + 0x28]
mov dword [edi], ecx
mov ecx, dword [eax + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [edi + 4], ecx
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x100828a5
push esi
call fcn.1003ae00
add esp, 4
mov esi, eax
mov eax, 1
push esi
mov word [esi + 0x10], ax
call fcn.100978d0
mov dword [esi], str.ValueList
mov eax, 0x1a01
mov dword [esi + 8], edi
add esp, 4
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov word [esi + 0x10], ax
mov eax, dword [esp + 0x20]
mov byte [esi + 0x13], 0x70
mov dword [esi + 0x24], sym.sqlite3.dll_sqlite3_free
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
lea ebx, [ebp + 0x28]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x60]
mov edi, dword [ebx + edx*8]
lea ebx, [ebx + edx*8]
movd xmm0, ebx
mov dword [esp + 0x2c], ebx
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x5c]
mov dword [esp + 0x60], eax
pshufd xmm3, xmm0, 0
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x38], ecx
mov eax, dword [ecx]
mov dword [esp + 0x74], eax
mov ecx, dword [eax]
mov dword [esp + 0x34], ecx
mov ecx, dword [ebp + edx*8]
mov dword [esp + 0x40], ecx
xor ecx, ecx
test edi, edi
jle 0x10082a3b
cmp edi, 0x10
jb 0x10082a23
cmp dword [0x100be26c], 2
jl 0x10082a23
movaps xmm2, xmmword [0x100b8770]
mov eax, edi
and eax, 0x8000000f
jns 0x10082979
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [str.____]
lea edx, [ebx + 0x20]
mov ebp, edi
mov esi, 8
sub ebp, eax
nop dword [eax]
movd xmm0, ecx
lea eax, [esi - 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
add ecx, 0x10
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [esi + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, esi
add esi, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x40], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x30], xmm0
cmp ecx, ebp
jl 0x10082990
cmp ecx, edi
jge 0x10082a3b
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, edi
jl 0x10082a30
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x38]
push ebx
push edi
push dword [eax + 0x10]
mov edi, dword [esp + 0x40]
push dword [esp + 0x4c]
push esi
mov eax, dword [edi + 0x20]
call eax
push dword [esp + 0x88]
mov dword [esp + 0x30], eax
push dword [esp + 0x2c]
call fcn.10088bf0
mov edx, dword [esp + 0x34]
add esp, 0x1c
test edx, edx
jne 0x10083661
mov eax, dword [edi + 0x28]
push esi
call eax
mov ecx, dword [esp + 0x64]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
je 0x1007c25a
mov edi, dword [esp + 0x18]
jmp 0x1007f47f
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
mov eax, edx
mov ecx, dword [esp + 0x28]
cmp byte [edi + 2], 0
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
je 0x10082ae8
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x10082ada
push esi
call fcn.10097910
add esp, 4
jmp 0x1007cc23
mov eax, 1
mov word [esi + 0x10], ax
jmp 0x1007cc23
mov eax, dword [edi + 0x2c]
xorps xmm0, xmm0
mov ebx, dword [eax]
mov al, byte [esp + 0x48]
mov ebp, dword [ebx]
movups xmmword [esp + 0x23c], xmm0
mov byte [esp + 0x244], al
mov eax, dword [esp + 0x10]
movups xmmword [esp + 0x22c], xmm0
mov dword [esp + 0x22c], esi
test byte [eax + 2], 1
je 0x10082b43
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x10082b32
push esi
call fcn.10097910
add esp, 4
mov eax, 0x401
mov word [esi + 0x10], ax
mov dword [esi], 0
jmp 0x10082b57
mov ax, word [esi + 0x10]
mov ecx, 0xf241
and ax, cx
or ax, 1
mov word [esi + 0x10], ax
mov eax, dword [esp + 0x10]
push dword [eax + 8]
lea eax, [esp + 0x230]
push eax
push dword [edi + 0x2c]
mov eax, dword [ebp + 0x2c]
call eax
push ebx
mov ebx, dword [esp + 0x24]
push ebx
mov dword [esp + 0x2c], eax
call fcn.10088bf0
add esp, 0x14
lea edi, [esi + 0x12]
cmp dword [esp + 0x240], 0
jle 0x10082bd7
movzx ecx, word [esi + 0x10]
mov eax, ecx
and eax, 0x202
cmp eax, 0x202
jne 0x10082ba9
cmp byte [edi], 1
jne 0x10082ba9
mov eax, dword [esi + 8]
jmp 0x10082bbd
test cl, 1
je 0x10082bb2
xor eax, eax
jmp 0x10082bbd
push 1
push esi
call fcn.10096ab0
add esp, 8
push eax
push 0x100b3c00
push ebx
call fcn.1007b670
mov eax, dword [esp + 0x24c]
add esp, 0xc
mov dword [esp + 0x18], eax
test byte [esi + 0x10], 2
jne 0x10082be5
mov eax, dword [esp + 0x48]
mov byte [edi], al
jmp 0x10082bfa
mov al, byte [esp + 0x48]
cmp byte [edi], al
je 0x10082bfa
push dword [esp + 0x48]
push esi
call fcn.10086380
add esp, 8
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x10083aa4
mov ebp, dword [esp + 0x1c]
mov edi, edx
mov esi, dword [esp + 0x10]
mov ecx, ebx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x1007bd29
mov eax, dword [edi + 0x2c]
push eax
mov esi, dword [eax]
mov ebx, dword [esi]
mov eax, dword [ebx + 0x24]
call eax
push esi
mov esi, dword [esp + 0x1c]
push esi
mov dword [esp + 0x24], eax
call fcn.10088bf0
mov edx, dword [esp + 0x24]
add esp, 0xc
test edx, edx
jne 0x1008350e
push dword [edi + 0x2c]
mov eax, dword [ebx + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x100812d3
mov edi, dword [esp + 0x18]
jmp 0x1008146e
mov ebx, dword [ebp + 0x20]
or dword [ebp + 0x20], 0x4000000
and ebx, 0x4000000
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [ebp + 0x24], eax
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x10], 2
lea esi, [ecx + eax*8]
jne 0x10082cc1
mov byte [esi + 0x12], 1
jmp 0x10082ce0
cmp byte [esi + 0x12], 1
je 0x10082ce0
push 1
push esi
call fcn.10086380
mov edx, eax
add esp, 8
mov dword [esp + 0x18], edx
test edx, edx
jne 0x10083661
mov eax, dword [edi]
push dword [esi + 8]
push edi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [esp + 0x18], eax
test ebx, ebx
jne 0x10082d03
and dword [ebp + 0x20], 0xfbffffff
mov eax, dword [ebp + 0x24]
mov dword [ebp + 0x24], eax
push edi
push dword [esp + 0x18]
call fcn.10088bf0
mov ecx, dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x18]
and dword [ecx + 0x98], 0xfffffffc
test edx, edx
jne 0x10083a99
mov esi, dword [esp + 0x10]
mov edi, edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
xorps xmm0, xmm0
movlpd qword [esp + 0xe0], xmm0
cmp byte [ebp + 0x57], 0
jne 0x1007dc10
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 8]
test edi, edi
je 0x100838a8
mov ebx, dword [edi]
test ebx, ebx
je 0x100838a8
cmp dword [ebx + 0x34], 0
mov edx, dword [edx + 8]
je 0x1007e933
mov al, byte [ebp + 0x5c]
mov esi, dword [ecx + 0x5c]
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x5b], al
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test edx, edx
jle 0x10082dab
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x10082da0
mov eax, dword [esp + 0x10]
mov al, byte [eax + 2]
mov byte [ebp + 0x5c], al
lea eax, [esp + 0xe0]
push eax
mov eax, dword [ebx + 0x34]
push esi
push edx
push edi
call eax
mov esi, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov al, byte [esp + 0x6b]
push edi
push esi
mov byte [ebp + 0x5c], al
call fcn.10088bf0
mov edx, dword [esp + 0x30]
add esp, 0x18
mov edi, dword [esp + 0x10]
test edx, edx
jne 0x10082e30
cmp dword [edi + 4], edx
je 0x10082e03
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x2c], ecx
mov ecx, esi
add dword [ecx + 0x28], 1
adc dword [ecx + 0x2c], 0
test edx, edx
jne 0x10083a8a
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
cmp dl, 0x13
jne 0x10082e03
mov eax, dword [edi + 0x10]
cmp byte [eax + 0x10], 0
je 0x10082e03
movzx ecx, word [edi + 2]
cmp ecx, 4
jne 0x10083887
mov esi, dword [esp + 0x10]
xor edi, edi
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x10082e98
push edx
call fcn.1003ae00
add esp, 4
mov edx, eax
jmp 0x10082ea1
mov eax, 4
mov word [edx + 0x10], ax
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [edx], eax
mov eax, dword [esp + 0x20]
mov dword [edx + 4], 0
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
lea ebx, [eax + ecx*8]
mov eax, 0x9000
test word [ebx + 0x10], ax
je 0x10082f0b
push ebx
call fcn.1003ae00
mov edx, dword [esp + 0x14]
add esp, 4
mov ebx, eax
jmp 0x10082f14
mov eax, 4
mov word [ebx + 0x10], ax
mov ecx, dword [edx + 4]
xor edi, edi
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x10082f34
mov eax, dword [esi + 4]
mov edi, dword [eax + 0x30]
cmp edi, ecx
cmovb edi, ecx
cmp byte [esi + 9], 0
je 0x10082f4c
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x10082f4c
push esi
call fcn.1001fc10
add esp, 4
mov eax, dword [esi + 4]
mov eax, dword [eax]
test edi, edi
je 0x10082f5b
mov dword [eax + 0xa0], edi
cmp byte [esi + 9], 0
mov edi, dword [eax + 0xa0]
je 0x10082f76
add dword [esi + 0xc], 0xffffffff
jne 0x10082f76
push esi
call fcn.10094650
add esp, 4
mov dword [ebx], edi
mov dword [ebx + 4], 0
jmp 0x1007cc23
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 0x10]
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], ebx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
cmp dword [ebx], esi
je 0x10082fe1
mov al, byte [esp + 0x48]
mov dword [ebx + 0xc], ecx
mov dword [ebx], esi
mov byte [ebx + 0x18], al
movzx ecx, byte [ebx + 0x1a]
sub ecx, 1
js 0x10082fe1
mov ebp, dword [esp + 0x10]
lea edx, [ebx + 0x1c]
mov edi, dword [esp + 0x28]
lea edx, [edx + ecx*4]
mov eax, dword [ebp + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + 4], eax
jns 0x10082fc3
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ax, word [esi + 0x10]
mov ecx, 0xf241
and ax, cx
or ax, 1
mov word [esi + 0x10], ax
lea eax, [ebx + 0x1c]
mov ecx, dword [ebx + 4]
push eax
movzx eax, byte [ebx + 0x1a]
push eax
mov eax, dword [ecx + 0x10]
push ebx
call eax
mov eax, dword [ebx + 0x14]
add esp, 0xc
test eax, eax
je 0x100831aa
jle 0x10083061
movzx ecx, word [esi + 0x10]
mov eax, ecx
and eax, 0x202
cmp eax, 0x202
jne 0x10083034
cmp byte [esi + 0x12], 1
jne 0x10083034
mov eax, dword [esi + 8]
jmp 0x10083048
test cl, 1
je 0x1008303d
xor eax, eax
jmp 0x10083048
push 1
push esi
call fcn.10096ab0
add esp, 8
push eax
push 0x100b3c00
push dword [esp + 0x1c]
call fcn.1007b670
mov eax, dword [ebx + 0x14]
add esp, 0xc
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
lea edi, [ecx + 0xe4]
mov esi, dword [edi]
mov ebx, dword [ebx + 0x10]
mov ebp, dword [eax + 4]
test esi, esi
je 0x10083172
nop
test ebx, ebx
js 0x100830a7
cmp dword [esi], ebx
jne 0x1008309f
mov ecx, dword [esi + 4]
test ecx, ecx
js 0x1008309f
cmp ecx, 0x1f
jg 0x100830a7
mov eax, 1
shl eax, cl
test ebp, eax
je 0x100830a7
lea edi, [esi + 0x10]
jmp 0x10083164
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100830b6
push dword [esi + 8]
call eax
add esp, 4
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi + 0x10]
mov dword [edi], eax
cmp esi, dword [ecx + 0x164]
jae 0x100830fa
cmp esi, dword [ecx + 0x15c]
jb 0x100830e2
mov eax, dword [ecx + 0x158]
mov dword [esi], eax
mov dword [ecx + 0x158], esi
jmp 0x10083164
cmp esi, dword [ecx + 0x160]
jb 0x100830fa
mov eax, dword [ecx + 0x150]
mov dword [esi], eax
mov dword [ecx + 0x150], esi
jmp 0x10083164
cmp dword [ecx + 0x210], 0
je 0x1008310f
push esi
push ecx
call fcn.10037ab0
add esp, 8
jmp 0x10083164
cmp dword [0x100bc0d8], 0
je 0x1008315a
mov eax, dword [0x100bdd58]
test eax, eax
je 0x1008312b
push eax
call dword [0x100bc128]
add esp, 4
push esi
call dword [0x100bc104]
sub dword [0x100bdcf8], eax
dec dword [0x100bdd1c]
push esi
call dword [0x100bc0fc]
mov eax, dword [0x100bdd58]
add esp, 8
test eax, eax
je 0x10083164
push eax
call dword [0x100bc130]
jmp 0x10083161
push esi
call dword [0x100bc0fc]
add esp, 4
mov esi, dword [edi]
test esi, esi
jne 0x10083080
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x10083661
mov ebp, dword [esp + 0x1c]
mov edi, edx
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov eax, dword [esi + 4]
mov ebx, 0xf7ff
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
and word [edx + eax*8 + 0x10], bx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
push edx
push ebx
mov eax, dword [edx + 4]
lea edi, [eax + eax*4]
call fcn.1002b8e0
add esp, 8
mov esi, eax
mov eax, dword [ebx + edi*8 + 0xc]
mov ecx, edx
cdq
push edx
push eax
push ecx
push esi
call fcn.100aaee0
mov esi, eax
and eax, 7
shrd esi, edx, 3
mov edx, dword [ebx + edi*8 + 8]
movsx ecx, byte [esi + edx]
bts ecx, eax
mov byte [esi + edx], cl
jmp 0x1007cc23
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
push edx
push edi
mov eax, dword [edx + 4]
lea ebx, [eax + eax*4]
call fcn.1002b8e0
add esp, 8
mov esi, eax
mov eax, dword [edi + ebx*8 + 0xc]
mov ecx, edx
cdq
push edx
push eax
push ecx
push esi
call fcn.100aaee0
mov edi, eax
mov eax, dword [esp + 0x28]
mov esi, edi
and edi, 7
shrd esi, edx, 3
mov ecx, dword [eax + ebx*8 + 8]
mov eax, 1
movsx edx, byte [esi + ecx]
mov ecx, edi
mov edi, dword [esp + 0x18]
shl eax, cl
mov ecx, dword [esp + 0x14]
test eax, edx
jne 0x10083293
inc dword [ecx + 0xc4]
jmp 0x1007f483
inc dword [ecx + 0xc0]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov cl, byte [ebp + 0x5e]
mov edx, dword [esp + 0x14]
test cl, 0x41
je 0x10083368
cmp byte [edx + 0x93], 0xfe
je 0x10083368
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x100832e2
mov eax, dword [edx + 0xc8]
test eax, eax
je 0x10083368
push eax
test cl, 0x40
je 0x1008330e
push edx
call fcn.10083ff0
mov ecx, dword [ebp + 0xd8]
mov esi, eax
push esi
push dword [ebp + 0xdc]
call ecx
push esi
call sym.sqlite3.dll_sqlite3_free
mov esi, dword [esp + 0x24]
add esp, 0x14
jmp 0x10083364
cmp dword [ebp + 0xc8], 1
jle 0x10083350
push str.____s
push ebp
call fcn.10065ac0
mov ecx, dword [ebp + 0xd8]
mov esi, eax
push esi
push dword [esp + 0x24]
push dword [ebp + 0xdc]
push 1
call ecx
add esp, 0x1c
test esi, esi
je 0x1008334a
push esi
push ebp
call fcn.10053c30
add esp, 8
mov esi, dword [esp + 0x10]
jmp 0x10083364
mov eax, dword [ebp + 0xd8]
push edx
push dword [ebp + 0xdc]
push 1
call eax
add esp, 0x10
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 4]
cmp eax, dword [0x100bc1e4]
jl 0x100833ae
cmp byte [esi], 0xb5
je 0x1007b8b5
mov ebx, dword [esp + 0x14]
mov edx, 1
cmp dword [ebx + 0x6c], edx
jle 0x100833aa
mov eax, 0x14
nop
mov ecx, dword [ebx + 0x68]
cmp byte [eax + ecx], 0xf
jne 0x100833a1
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [ebx + 0x6c]
jl 0x10083390
xor eax, eax
mov edx, ebx
mov ebp, dword [esp + 0x10]
inc eax
mov ecx, dword [esp + 0x14]
mov dword [ebp + 4], eax
inc dword [edx + 0xbc]
jmp 0x1007f487
mov edi, dword [esp + 0x18]
mov ecx, edx
jmp 0x1007f483
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov ecx, edx
mov edx, dword [esp + 0x88]
add esi, 0x14
jmp 0x1007b7a2
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov dword [esi + 0x24], ecx
mov al, byte [edi + 8]
mov byte [esi + 0x92], al
test ecx, ecx
je 0x1008348a
movzx eax, word [edi + 2]
test ax, ax
je 0x10083448
push dword [eax*4 + 0x100ac9bc]
push str._s_constraint_failed
push esi
call fcn.1007b670
mov eax, dword [edi + 0x10]
add esp, 0xc
test eax, eax
je 0x10083459
push eax
push dword [esi + 0x7c]
push str._z:__s
push ebp
call fcn.10065ac0
add esp, 0x10
mov dword [esi + 0x7c], eax
jmp 0x10083459
push dword [edi + 0x10]
push 0x100b3c00
push esi
call fcn.1007b670
add esp, 0xc
push dword [esi + 0x7c]
mov ecx, edi
mov eax, 0x66666667
sub ecx, dword [esp + 0x28]
push dword [esi + 0xc8]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.abort_at__d_in___s_:__s
push dword [edi + 4]
call sym.sqlite3.dll_sqlite3_log
add esp, 0x14
push esi
call fcn.10084860
mov ebp, eax
add esp, 4
cmp ebp, 5
jne 0x100839ed
mov dword [esi + 0x24], eax
jmp 0x10083c32
mov edx, 0x14
jmp 0x1008365d
push 0x16a6a
call fcn.100523f0
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
jmp 0x10083665
mov ecx, dword [esp + 0x38]
and edi, 0x3f
mov edx, dword [esp + 0x34]
add ecx, ecx
mov esi, dword [esp + 0x14]
push dword [edx + ecx*8]
mov ecx, dword [esp + 0x44]
push dword [ecx]
push dword [eax*4 + 0x100bc1fc]
movzx eax, byte [edi + 0x100ac408]
push dword [eax*4 + 0x100bcabc]
push str.cannot_store__s_value_in__s_column__s._s
push esi
call fcn.1007b670
mov edx, 0xc13
add esp, 0x18
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x24]
jmp 0x10083669
push str.cannot_open_savepoint___SQL_statements_in_progress
push ecx
call fcn.1007b670
add esp, 8
mov edx, 5
jmp 0x1008365d
mov esi, dword [esp + 0x14]
push str.cannot_release_savepoint___SQL_statements_in_progress
push esi
call fcn.1007b670
mov ebx, dword [esp + 0x2c]
mov edx, 5
add esp, 8
mov dword [esp + 0x18], edx
jmp 0x10083669
mov esi, ebx
mov byte [eax + 0x55], 0
mov ebx, dword [esp + 0x24]
jmp 0x1008366d
mov edi, dword [esp + 0x10]
mov eax, 0x66666667
mov ecx, edi
mov esi, ebx
sub ecx, dword [esp + 0x24]
mov ebp, 5
imul ecx
mov ecx, dword [esp + 0x1c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x20], eax
mov byte [ecx + 0x55], 0
mov dword [esi + 0x24], ebp
jmp 0x10083c36
mov esi, dword [esp + 0x14]
mov ebp, 0x65
jmp 0x10083c2e
mov eax, dword [esp + 0x1c]
and edx, 0x100000
or edx, 0
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
je 0x100835ce
mov edx, 8
mov dword [esp + 0x18], edx
jmp 0x10083671
mov edx, 0xb
mov dword [esp + 0x18], edx
jmp 0x10083671
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
cmp dl, 5
jne 0x10083979
mov ebp, dword [esp + 0x18]
mov ecx, edi
sub ecx, dword [esp + 0x24]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ebp
jmp 0x10083c32
mov edx, 0x204
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
jmp 0x10083671
push dword [edi]
call fcn.1004be00
mov edx, dword [esp + 0x1c]
add esp, 4
jmp 0x10083661
push 0x100b85cc
push 0x15428
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.sqlite3.dll_sqlite3_log
add esp, 0x14
mov edx, 0xb
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
cmp byte [eax + 0x57], 0
je 0x10083ac4
mov edx, 7
jmp 0x10083aef
push 0x100b85cc
push 0x1732d
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.sqlite3.dll_sqlite3_log
mov eax, dword [esp + 0x30]
mov edx, 0xb
mov esi, dword [esp + 0x28]
add esp, 0x14
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
jmp 0x10083671
mov edx, dword [esp + 0x14]
push str.string_or_blob_too_big
push edx
call fcn.1007b670
add esp, 8
mov edx, 0x12
jmp 0x1008365d
push str.index_corruption
push 0x17756
push 0x30b
call fcn.1006f750
mov esi, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
jmp 0x10083671
cmp dword [esp + 0x1d4], 0
je 0x1008371b
lea eax, [esp + 0x1bc]
push eax
call fcn.100978d0
add esp, 4
push 0x100b85cc
push 0x15407
jmp 0x10083644
push 0x17823
call fcn.100523f0
mov esi, dword [esp + 0x18]
mov edx, eax
mov eax, dword [esp + 0x20]
add esp, 4
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
jmp 0x10083671
mov ebx, dword [esp + 0x24]
mov edx, 6
mov dword [esp + 0x18], edx
mov byte [esi + 0x92], 2
jmp 0x10083669
push ebp
call fcn.1006f780
mov edx, dword [esp + 0x1c]
add esp, 4
cmp edx, 7
je 0x1007dc14
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
jmp 0x10083671
push ebp
call fcn.1006f780
add esp, 4
jmp 0x1007dc14
mov eax, 1
push str.too_many_levels_of_trigger_recursion
push edx
mov dword [esp + 0x20], eax
call fcn.1007b670
add esp, 8
mov edx, 1
jmp 0x10083661
push esi
call sym.sqlite3.dll_sqlite3_value_text
mov esi, dword [esp + 0x18]
push eax
push 0x100b3c00
push esi
call fcn.1007b670
mov edx, dword [esp + 0x28]
add esp, 0x10
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
jmp 0x10083671
mov esi, dword [esp + 0x14]
mov eax, 1
mov dword [esp + 0x18], eax
mov ecx, str.out_of
cmp ebx, 5
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push esi
call fcn.1007b670
mov ebx, dword [esp + 0x30]
add esp, 0xc
mov edx, 1
jmp 0x10083669
dec dword [ebp + 0xcc]
mov edx, 6
jmp 0x1008365d
push dword [esp + 0x98]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
jmp 0x1007dc10
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov edx, 6
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
jmp 0x10083671
or ebx, 0xffffffff
mov edx, 9
or eax, 0xffffffff
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x18], edx
jmp 0x10083669
mov ebx, 2
movzx eax, cl
cmp ecx, 5
cmove eax, ebx
mov ebx, dword [esp + 0x24]
mov byte [esi + 0x92], al
mov eax, dword [esp + 0x1c]
jmp 0x10083671
mov edx, 6
jmp 0x1008365d
mov eax, dword [ecx + 0x1c]
mov edi, dword [esp + 0x10]
add eax, 2
mov edx, dword [esp + 0x28]
or eax, 1
mov dword [ecx + 0x1c], eax
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ecx + 0x78], eax
cmp byte [ebp + 0x57], 0
jne 0x1007dc14
test byte [ebp + 0x5e], 4
je 0x100838f8
mov eax, dword [ebp + 0xd8]
push 0
push ecx
push dword [ebp + 0xdc]
push 4
call eax
add esp, 0x10
mov esi, dword [esp + 0x14]
mov ecx, edi
sub ecx, dword [esp + 0x24]
mov eax, 0x66666667
imul ecx
mov ebp, 0x64
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [esi + 0x20], eax
jmp 0x10083c32
mov edi, dword [esp + 0x10]
movzx eax, byte [ebp + 0x55]
mov ebx, dword [edi + 4]
mov ecx, dword [edi + 8]
cmp ebx, eax
je 0x10083a09
test ecx, ecx
je 0x10083951
push 0x204
push ebp
call fcn.10070050
mov esi, dword [esp + 0x1c]
add esp, 8
mov al, 1
jmp 0x100839a5
test ebx, ebx
je 0x10083986
cmp dword [ebp + 0xc4], 0
jle 0x10083986
mov esi, dword [esp + 0x14]
push str.cannot_commit_transaction___SQL_statements_in_progress
push esi
call fcn.1007b670
mov edx, 5
add esp, 8
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
jmp 0x10083671
mov esi, dword [esp + 0x14]
push 1
push esi
call fcn.1007af70
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x10083c32
mov ebp, dword [esp + 0x1c]
mov al, bl
push esi
mov byte [ebp + 0x55], al
call fcn.10084860
add esp, 4
cmp eax, 5
jne 0x100839e4
mov ecx, edi
mov eax, 0x66666667
sub ecx, dword [esp + 0x24]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x20], eax
mov al, 1
sub al, bl
mov byte [ebp + 0x55], al
mov ebp, 5
mov dword [esi + 0x24], ebp
jmp 0x10083c32
push ebp
call fcn.1004fe30
add esp, 4
cmp dword [esi + 0x24], 0
mov ecx, 0x65
mov eax, 1
cmovne ecx, eax
mov dword [esp + 0x18], ecx
mov ebp, ecx
jmp 0x10083c32
test ebx, ebx
jne 0x10083a14
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x10083a23
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov edx, str.cannot_commit___no_transaction_is_active
cmove eax, edx
mov esi, dword [esp + 0x14]
push eax
push esi
call fcn.1007b670
mov eax, dword [esp + 0x24]
mov edx, 1
mov ebx, dword [esp + 0x2c]
add esp, 8
mov dword [esp + 0x18], edx
jmp 0x10083671
mov eax, dword [esp + 0x84]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
mov edx, 9
jmp 0x1008365d
mov eax, dword [esp + 0x84]
mov edi, esi
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
jmp 0x1007dc14
mov eax, dword [esp + 0x1c]
mov esi, ecx
mov ebx, dword [esp + 0x24]
jmp 0x10083671
mov ebx, dword [esp + 0x24]
mov esi, ecx
jmp 0x10083669
mov esi, ebx
mov ebx, dword [esp + 0x24]
jmp 0x10083669
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
jmp 0x10083671
cmp edx, 0x210a
jne 0x10083af3
push 0x100b85cc
push 0x180b7
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.sqlite3.dll_sqlite3_log
add esp, 0x14
mov edx, 0xb
mov dword [esp + 0x18], edx
cmp dword [esi + 0x7c], 0
jne 0x10083b5b
cmp edx, 0xc0a
je 0x10083b5b
mov eax, edx
mov ecx, str.unknown_error
sub eax, 0x64
je 0x10083b3e
sub eax, 1
je 0x10083b37
sub eax, 0x19f
je 0x10083b30
movzx eax, dl
cmp eax, 0x1d
jae 0x10083b43
mov eax, dword [eax*4 + 0x100ac298]
test eax, eax
je 0x10083b43
mov ecx, eax
jmp 0x10083b43
mov ecx, str.abort_due_to_ROLLBACK
jmp 0x10083b43
mov ecx, str.no_more_rows_available
jmp 0x10083b43
mov ecx, str.another_row_available
push ecx
push 0x100b3c00
push esi
call fcn.1007b670
mov edx, dword [esp + 0x24]
add esp, 0xc
mov dword [esi + 0x24], edx
jmp 0x10083b66
mov dword [esi + 0x24], edx
cmp edx, 0xc0a
je 0x10083b95
movzx eax, dl
cmp eax, 0xe
je 0x10083b73
cmp eax, 0xa
jne 0x10083b95
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x10083b8c
push 0
push 0
push eax
call ecx
add esp, 0xc
jmp 0x10083b8e
xor eax, eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x4c], eax
push dword [esi + 0x7c]
mov ecx, edi
mov eax, 0x66666667
push dword [esi + 0xc8]
sub ecx, ebx
mov ebx, dword [esp + 0x20]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push ebx
call sym.sqlite3.dll_sqlite3_log
add esp, 0x14
cmp byte [esi + 0x95], 2
jne 0x10083bd8
push esi
call fcn.10084860
add esp, 4
cmp ebx, 0xc0a
jne 0x10083c0d
push dword [esp + 0x1c]
call fcn.100664c0
add esp, 4
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0x67]
mov ebp, 1
test al, al
je 0x10083c36
movzx eax, al
dec eax
push eax
push ecx
call fcn.1006f800
add esp, 8
jmp 0x10083c32
cmp ebx, 0xb
jne 0x10083bec
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x55], 0
jne 0x10083bf0
mov eax, dword [ecx + 0x20]
mov dword [ecx + 0x20], eax
or dword [ecx + 0x24], 2
jmp 0x10083bf0
mov ebp, dword [esp + 0x18]
mov esi, ebx
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x7c]
nop word [eax + eax]
cmp dword [esp + 0x88], ebx
jb 0x10083ca1
mov edx, dword [esp + 0x70]
ja 0x10083c55
cmp dword [esp + 0x20], edx
jb 0x10083ca1
mov eax, dword [ecx + 0x174]
test eax, eax
je 0x10083ca1
add edx, dword [ecx + 0x17c]
push dword [ecx + 0x178]
mov dword [esp + 0x74], edx
adc ebx, 0
call eax
mov ecx, dword [esp + 0x20]
add esp, 4
test eax, eax
je 0x10083c40
or ebx, 0xffffffff
mov edx, 9
or eax, 0xffffffff
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x7c], eax
mov eax, ecx
mov dword [esp + 0x18], edx
jmp 0x10083671
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add dword [edx + 0xb4], ecx
cmp dword [edx + 0xa0], 0
je 0x10083cc1
push edx
call fcn.10097820
add esp, 4
mov ecx, dword [esp + 0x358]
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100aac86
add esp, 0x34c
ret