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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2d4
mov eax, dword [0x1822b00c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ecx, ecx
mov esi, ecx
mov byte [ebp - 0x69], cl
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xa0], ecx
mov eax, dword [edi + 0x68]
mov ebx, eax
mov dword [ebp - 0x5c], eax
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xac], ecx
mov ecx, edi
mov dword [ebp - 0x48], edi
mov al, byte [eax + 0x4e]
mov byte [ebp - 0x60], al
mov eax, dword [edi + 0x58]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], eax
call fcn.1810010a
mov edx, dword [ebp - 0x14]
xor eax, eax
cmp dword [edx + 0x158], eax
je 0x18104a84
mov ecx, dword [edx + 0x160]
xor edx, edx
mov eax, dword [edi + 0xb4]
div ecx
sub ecx, edx
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x7c], eax
jmp 0x18104a90
or dword [ebp - 0x7c], 0xffffffff
or eax, 0xffffffff
mov dword [ebp - 0x74], eax
xor eax, eax
cmp dword [edi + 0x28], 7
je 0x18109c12
mov dword [edi + 0x28], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x78], eax
mov dword [edx + 0x1ac], eax
cmp dword [edx + 0x110], eax
jne 0x18109a2a
imul ebx, dword [edi + 0x24], 0x14
xor ecx, ecx
fldz
xor edx, edx
push 2
fstp qword [ebp - 0x1b0]
pop eax
add ebx, dword [ebp - 0x5c]
inc ecx
add dword [ebp - 0xa0], ecx
mov cl, byte [ebx]
adc dword [ebp - 0xac], edx
movzx edx, cl
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x39], cl
mov dword [ebp - 0x34], edx
cmp edx, 0xab
ja case.0x18104af1.85
jmp dword [edx*4 + 0x18109d4d]
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
push 0x14
pop edi
add ecx, dword [ebp - 0x20]
mov word [ecx + 8], ax
mov eax, ebx
sub eax, dword [ebp - 0x5c]
cdq
idiv edi
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor edx, edx
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x5c]
add ebx, 0xffffffec
add ebx, eax
jmp 0x18104b6e
imul eax, dword [ebx + 4], 0x28
mov ecx, 0x80
add eax, dword [ebp - 0x20]
imul ebx, dword [eax], 0x14
add ebx, dword [ebp - 0x5c]
mov word [eax + 8], cx
push 2
pop eax
xor edx, edx
xor ecx, ecx
inc ecx
push 0x14
pop edi
add ebx, edi
mov edi, dword [ebp - 0x48]
jmp 0x18104acf
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
push 4
add ecx, dword [ebp - 0x20]
dec eax
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor edx, edx
pop eax
mov word [ecx + 8], ax
cmp dword [ebx + 8], edx
jne 0x18104b19
push 2
pop eax
jmp 0x18104b42
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x20]
lea ebx, [edx - 0x14]
imul eax, dword [ecx], 0x14
imul eax, dword [eax + edx + 8], 0x14
add ebx, eax
mov eax, 0x80
mov word [ecx + 8], ax
jmp 0x18104b3d
imul esi, dword [ebx + 4], 0x28
sub ebx, dword [ebp - 0x5c]
push 4
pop eax
push 0x14
add esi, dword [ebp - 0x20]
mov ecx, dword [esi]
mov word [esi + 8], ax
mov eax, ebx
pop ebx
cdq
idiv ebx
imul ebx, ecx, 0x14
add ebx, dword [ebp - 0x5c]
cdq
mov dword [esi + 4], edx
mov dword [esi], eax
mov esi, dword [ebp - 0x18]
jmp 0x18104b3d
imul eax, dword [ebx + 0xc], 0x28
xor edx, edx
mov ecx, dword [ebp - 0x20]
inc edx
test byte [eax + ecx + 8], dl
je 0x18104b3d
mov eax, ebx
sub eax, dword [ebp - 0x5c]
push 0x14
pop ecx
cdq
idiv ecx
mov ecx, dword [ebx + 4]
mov edx, eax
mov dword [ebp - 0x1c], edx
test ecx, ecx
jne 0x181097a1
mov eax, dword [edi + 0xc8]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x181097a1
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x14]
dec dword [edi + 0xd0]
mov dword [edi + 0xc8], eax
mov eax, dword [edi + 0x2c]
add dword [ecx + 0x68], eax
mov dword [ecx + 0x64], eax
mov ecx, dword [ebp - 0x2c]
call fcn.181009fa
mov edx, dword [edi + 0x68]
push 4
pop ecx
mov dword [ebp - 0x5c], edx
cmp dword [ebx + 8], ecx
jne 0x18104c3d
imul eax, eax, 0x14
mov eax, dword [eax + edx + 8]
dec eax
mov ecx, dword [edi + 0x58]
imul ebx, eax, 0x14
mov dword [ebp - 0x20], ecx
add ebx, edx
jmp 0x18104b3d
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x18104b3d
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov edx, dword [ebx + 0x10]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
jmp 0x18104b3d
mov edx, ebx
mov ecx, edi
call fcn.181049dc
push 8
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebx + 0x10]
fld qword [ecx]
fstp qword [eax]
jmp 0x18104b3d
mov edx, ebx
mov ecx, edi
call fcn.181049dc
cmp dword [ebx + 0x10], 0
mov dword [ebp - 0x4c], eax
jne 0x18104cb5
xor edx, edx
mov ecx, edx
jmp 0x18104ccb
push dword [ebx + 0x10]
call fcn.1817e400
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x4c]
and ecx, 0x3fffffff
xor edx, edx
cmp byte [ebp - 0x60], 1
mov dword [ebx + 4], ecx
je 0x18104d4e
xor ecx, ecx
push edx
mov edx, dword [ebx + 0x10]
inc ecx
push ecx
push 0xffffffffffffffff
mov ecx, eax
call fcn.180fed5c
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x18], esi
test esi, esi
jne 0x18108d84
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 8], 2
je 0x18104d18
mov al, byte [ebp - 0x60]
cmp byte [ecx + 0xa], al
je 0x18104d18
mov dl, al
call fcn.180e88b2
test eax, eax
jne 0x18109c12
mov ecx, dword [ebp - 0x4c]
xor eax, eax
mov dword [ecx + 0x18], eax
mov eax, 0x800
or word [ecx + 8], ax
cmp byte [ebx + 1], 0xf9
jne 0x18104d3e
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x18104d3e
mov ecx, dword [ebp - 0x14]
call fcn.180e676a
mov ecx, dword [ebp - 0x4c]
mov byte [ebx + 1], 0xf9
mov eax, dword [ecx + 0x10]
mov dword [ebx + 0x10], eax
mov ecx, dword [ecx + 0xc]
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x14]
cmp ecx, dword [eax + 0x6c]
jg 0x18108d84
mov byte [ebx], 0x47
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov edi, eax
mov eax, 0xa02
mov dword [ebp - 0x2c], edi
mov word [edi + 8], ax
mov ecx, dword [ebx + 0x10]
mov al, byte [ebp - 0x60]
mov dword [edi + 0x10], ecx
mov ecx, dword [ebx + 4]
mov dword [edi + 0xc], ecx
mov byte [edi + 0xa], al
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x1810966e
mov edi, dword [ebp - 0x20]
imul ecx, eax, 0x28
movzx eax, word [ebx + 2]
cdq
cmp dword [ecx + edi], eax
mov edi, dword [ebp - 0x2c]
jne 0x1810966e
mov eax, dword [ebp - 0x20]
push 2
cmp dword [ecx + eax + 4], edx
jne 0x18109670
mov eax, 0xa10
mov word [edi + 8], ax
jmp 0x18104b3f
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebx + 4]
lea edi, [eax + 8]
neg ecx
sbb ecx, ecx
and dword [eax + 0xc], 0
mov eax, dword [ebp - 0x4c]
and ecx, 0x100
inc ecx
sub eax, edx
movzx ecx, cx
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov word [edi], cx
mov dword [ebp - 0x4c], eax
test eax, eax
jle 0x18109669
mov ebx, 0x2400
lea edi, [edi + 0x28]
test word [edi], bx
je 0x18104e24
lea ecx, [edi - 8]
call fcn.180fe6c5
mov eax, dword [ebp - 0x4c]
xor edx, edx
mov ecx, dword [ebp - 0x2c]
dec eax
mov word [edi], cx
mov dword [edi + 4], edx
mov dword [ebp - 0x4c], eax
test eax, eax
jg 0x18104e0c
mov ebx, dword [ebp - 0x38]
jmp 0x18104b6e
imul ecx, dword [ebx + 4], 0x28
mov edx, 0xff41
add ecx, dword [ebp - 0x20]
mov ax, word [ecx + 8]
and ax, dx
xor edx, edx
inc edx
or ax, dx
jmp 0x18104b8f
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov edx, dword [ebx + 0x10]
mov esi, eax
xor eax, eax
mov ecx, esi
push eax
push eax
push dword [ebx + 4]
call fcn.180fed5c
mov al, byte [ebp - 0x60]
add esp, 0xc
mov byte [esi + 0xa], al
jmp 0x18104bbc
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [edi + 0x64]
add ecx, 0xffffffd8
add eax, ecx
mov ecx, eax
mov dword [ebp - 0x2c], eax
call fcn.180fec3b
test eax, eax
jne 0x18108d84
imul edi, dword [ebx + 8], 0x28
mov eax, 0x2400
add edi, dword [ebp - 0x20]
test word [edi + 8], ax
je 0x18104eb9
mov ecx, edi
call fcn.180fe6c5
push 0x14
pop eax
push eax
push dword [ebp - 0x2c]
push edi
call fcn.18175220
mov ax, word [edi + 8]
mov ecx, 0xebff
and ax, cx
add esp, 0xc
mov ecx, 0x840
or ax, cx
mov word [edi + 8], ax
jmp 0x18104b3d
mov eax, dword [ebx + 0xc]
imul ecx, dword [ebx + 4], 0x28
mov dword [ebp - 0x50], eax
imul eax, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov edx, ecx
mov ecx, eax
call fcn.180fed35
mov eax, dword [ebp - 0x24]
mov ecx, 0x1000
test word [eax + 8], cx
je 0x18104f29
mov ecx, eax
call fcn.180fe4e6
test eax, eax
jne 0x18109c12
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
add eax, 0x28
add ecx, 0x28
mov dword [ebp - 0x24], eax
sub dword [ebp - 0x50], 1
mov dword [ebp - 0x1c], ecx
jne 0x18104f00
jmp 0x18104b3d
mov eax, dword [ebx + 0xc]
imul esi, dword [ebx + 8], 0x28
mov dword [ebp - 0x1c], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x20]
add esi, dword [ebp - 0x20]
mov ecx, 0x1000
mov dword [ebp - 0x24], eax
push ecx
mov edx, eax
mov ecx, esi
call fcn.180fec7f
mov eax, 0x1000
pop ecx
test word [esi + 8], ax
je 0x18104f84
mov ecx, esi
call fcn.180fe4e6
test eax, eax
jne 0x18109c12
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
dec ecx
mov dword [ebp - 0x1c], ecx
test eax, eax
je 0x1810966e
mov eax, dword [ebp - 0x24]
add esi, 0x28
add eax, 0x28
jmp 0x18104f57
imul edx, dword [ebx + 4], 0x28
mov eax, 0x1000
imul ecx, dword [ebx + 8], 0x28
push eax
add edx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x20]
call fcn.180fec7f
pop ecx
jmp 0x18104b3d
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
mov edi, dword [ebp - 0x20]
add ecx, edi
mov edx, dword [eax + edi]
mov eax, dword [eax + edi + 4]
mov edi, 0x2400
test word [ecx + 8], di
je 0x18104fe8
push eax
push edx
call fcn.180feb48
pop ecx
jmp 0x18104fb9
mov dword [ecx], edx
mov dword [ecx + 4], eax
push 4
pop eax
jmp 0x18104b8f
imul edx, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x20]
imul ecx, dword [ebx + 8], 0x28
imul edi, dword [ebx + 0xc], 0x28
add edx, eax
mov dword [ebp - 0x34], edx
add ecx, eax
add edi, eax
mov dword [ebp - 0x38], ecx
movzx eax, word [edx + 8]
mov dword [ebp - 0x40], eax
mov al, byte [ecx + 8]
or al, byte [ebp - 0x40]
test al, 1
je 0x18105049
mov eax, 0x2400
test word [edi + 8], ax
je 0x18105038
mov ecx, edi
call fcn.180fe6c5
jmp 0x18104b3d
xor ecx, ecx
inc ecx
mov word [edi + 8], cx
push 2
pop eax
xor edx, edx
jmp 0x18104b45
mov eax, dword [ebp - 0x40]
test al, 0x12
jne 0x1810507e
mov dl, byte [ebp - 0x60]
xor eax, eax
mov ecx, dword [ebp - 0x34]
push eax
call fcn.180fe595
pop ecx
test eax, eax
jne 0x18109c0f
mov eax, dword [ebp - 0x34]
mov ecx, 0xfffd
mov ax, word [eax + 8]
and ax, cx
movzx edx, ax
mov dword [ebp - 0x40], edx
jmp 0x181050a9
test eax, 0x4000
je 0x181050ac
mov ecx, edx
call fcn.180fe52c
test eax, eax
jne 0x18109c0f
mov eax, dword [ebp - 0x34]
mov ecx, 0xfffd
mov ax, word [eax + 8]
and ax, cx
movzx eax, ax
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x38]
movzx eax, word [ecx + 8]
mov dword [ebp - 0x24], eax
test al, 0x12
jne 0x181050e2
mov dl, byte [ebp - 0x60]
xor eax, eax
push eax
call fcn.180fe595
pop ecx
test eax, eax
jne 0x18109c0f
mov edx, dword [ebp - 0x38]
mov ecx, 0xfffd
mov ax, word [edx + 8]
and ax, cx
movzx eax, ax
mov dword [ebp - 0x24], eax
jmp 0x181050f2
bt eax, 0xe
jae 0x181050ef
call fcn.180fe52c
jmp 0x181050c3
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x14]
add ecx, dword [edx + 0xc]
mov dword [ebp - 0x2c], ecx
cmp ecx, dword [eax + 0x6c]
jg 0x18108d81
xor eax, eax
cmp edi, edx
lea edx, [ecx + 3]
mov ecx, edi
sete al
push eax
call fcn.180fe389
pop ecx
test eax, eax
jne 0x18109c0f
mov ax, word [edi + 8]
mov ecx, 0x3e40
and ax, cx
push 2
pop ecx
or ax, cx
mov word [edi + 8], ax
mov eax, dword [ebp - 0x38]
cmp edi, eax
je 0x1810515f
push dword [eax + 0xc]
push dword [eax + 0x10]
push dword [edi + 0x10]
call fcn.18175220
mov edx, dword [ebp - 0x38]
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov word [edx + 8], ax
jmp 0x18105162
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [edi + 0x10]
add eax, dword [edx + 0xc]
push eax
call fcn.18175220
mov eax, dword [ebp - 0x34]
xor edx, edx
mov ecx, dword [ebp - 0x40]
add esp, 0xc
mov word [eax + 8], cx
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0x2c]
mov byte [ecx + eax], dl
mov eax, dword [edi + 0x10]
mov byte [eax + ecx + 1], dl
mov eax, dword [edi + 0x10]
mov byte [eax + ecx + 2], dl
mov eax, 0x200
or word [edi + 8], ax
mov al, byte [ebp - 0x60]
mov dword [edi + 0xc], ecx
mov byte [edi + 0xa], al
jmp 0x18104b6e
imul eax, dword [ebx + 4], 0x28
mov edi, dword [ebp - 0x20]
add eax, edi
mov ecx, eax
mov dword [ebp - 0x40], eax
call fcn.181049ad
mov esi, dword [ebp - 0x38]
movzx ebx, ax
imul eax, dword [esi + 8], 0x28
add eax, edi
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.181049ad
movzx ecx, ax
imul eax, dword [esi + 0xc], 0x28
and cl, bl
mov esi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x38]
push 4
pop edx
add eax, edi
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
mov ax, word [edi + 8]
or ax, word [esi + 8]
movzx eax, ax
test dl, cl
je 0x181053ff
mov eax, esi
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, edi
mov edi, dword [eax]
mov ecx, dword [eax + 4]
movzx eax, byte [ebx]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xa4], ecx
sub eax, 0x69
je 0x18105362
sub eax, 1
je 0x181052b2
sub eax, 1
je 0x181052a3
sub eax, 1
mov eax, edx
je 0x18105279
or eax, esi
je 0x1810546b
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x1810525f
xor eax, eax
mov esi, eax
lea edx, [eax + 1]
push esi
push edx
push ecx
push edi
call fcn.18199cd0
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
jmp 0x181053e7
or eax, esi
je 0x1810546b
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x18105298
xor eax, eax
cmp edi, eax
jne 0x18105298
cmp ecx, 0x80000000
je 0x181052c9
push esi
push edx
push ecx
push edi
call fcn.18199c20
jmp 0x18105268
push esi
push edx
lea ecx, [ebp - 0xa8]
call fcn.180ea111
jmp 0x181052bf
push esi
push edx
lea ecx, [ebp - 0xa8]
call fcn.180ea0c3
pop ecx
pop ecx
test eax, eax
je 0x181053e7
mov edi, dword [ebp - 0x34]
mov esi, dword [ebp - 0x40]
mov ecx, esi
call fcn.180fe81b
fstp qword [ebp - 0x30]
mov ecx, edi
call fcn.180fe81b
movzx eax, byte [ebx]
sub eax, 0x69
je 0x1810542b
sub eax, 1
je 0x18105426
sub eax, 1
je 0x18105421
sub eax, 1
je 0x1810540b
mov ecx, esi
fstp st(0)
call fcn.180fe7ae
mov ecx, dword [ebp - 0x34]
mov esi, eax
mov edi, edx
call fcn.180fe7ae
mov ecx, esi
mov dword [ebp - 0xa8], eax
or ecx, edi
mov dword [ebp - 0xa4], edx
je 0x1810546b
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x18105342
xor ecx, ecx
mov edi, ecx
lea esi, [ecx + 1]
push edi
push esi
push edx
push eax
call fcn.18199cd0
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], edx
fild qword [ebp - 0x150]
jmp 0x1810542e
xor eax, eax
cmp esi, eax
jl 0x18105398
jg 0x1810536e
cmp edx, eax
jb 0x18105398
cmp ecx, eax
jl 0x181053d7
jg 0x18105378
cmp edi, eax
jbe 0x181053d7
or ecx, 0xffffffff
mov eax, 0x7fffffff
sub ecx, edi
sbb eax, dword [ebp - 0x44]
cmp eax, esi
jg 0x181053d4
jl 0x181052c9
cmp ecx, edx
jae 0x181053d4
jmp 0x181052c9
cmp ecx, eax
jg 0x181053d7
jl 0x181053a2
cmp edi, eax
jae 0x181053d7
xor eax, eax
mov ecx, 0x80000000
inc eax
sub eax, edi
mov edi, edx
mov dword [ebp - 0x2c], eax
sbb ecx, dword [ebp - 0x44]
xor eax, eax
inc eax
add edi, eax
mov eax, esi
adc eax, 0
cmp ecx, eax
jg 0x181052c9
jl 0x181053d1
cmp dword [ebp - 0x2c], edi
ja 0x181052c9
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x44]
add edx, edi
mov dword [ebp - 0xa8], edx
adc esi, ecx
mov dword [ebp - 0xa4], esi
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xa8]
push 4
mov dword [ecx], eax
mov eax, dword [ebp - 0xa4]
mov dword [ecx + 4], eax
jmp 0x1810544b
xor ecx, ecx
inc ecx
test cl, al
jne 0x1810546e
jmp 0x181052cf
fld qword [ebp - 0x30]
fld qword [ebp - 0x1b0]
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x18105467
fdivp st(1)
jmp 0x1810542e
fmul qword [ebp - 0x30]
jmp 0x1810542e
fsub qword [ebp - 0x30]
jmp 0x1810542e
fadd qword [ebp - 0x30]
push ecx
push ecx
fst qword [ebp - 0x30]
fstp qword [esp]
call fcn.180e8e6d
pop ecx
pop ecx
test eax, eax
jne 0x1810546b
mov ecx, dword [ebp - 0x24]
fld qword [ebp - 0x30]
push 8
fstp qword [ecx]
mov ax, word [ecx + 8]
mov edx, 0x3e40
and ax, dx
pop edx
or ax, dx
movzx eax, ax
mov word [ecx + 8], ax
jmp 0x18104bbc
fstp st(1)
fstp st(0)
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, 0x2400
test word [eax + 8], dx
je 0x18105488
mov ecx, eax
call fcn.180fe6c5
jmp 0x18104bbc
mov word [eax + 8], cx
mov esi, dword [ebp - 0x18]
jmp 0x1810503f
mov eax, dword [ebx + 4]
test eax, eax
je 0x18104b3d
imul eax, eax, 0x28
mov ecx, 0x2400
add eax, dword [ebp - 0x20]
test word [eax + 8], cx
je 0x181054bb
xor ecx, ecx
push ecx
push ecx
mov ecx, eax
jmp 0x18104fe0
push 4
xor edx, edx
pop ecx
mov dword [eax], edx
mov dword [eax + 4], edx
mov word [eax + 8], cx
jmp 0x18104b6e
imul ecx, dword [ebx + 8], 0x28
imul edi, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x20]
imul edx, dword [ebx + 0xc], 0x28
add ecx, eax
add edi, eax
add edx, eax
mov al, byte [ecx + 8]
or al, byte [edi + 8]
mov dword [ebp - 0x24], edx
test al, 1
je 0x18105506
mov eax, 0x2400
test word [edx + 8], ax
je 0x18107d2d
mov ecx, edx
jmp 0x1810502e
call fcn.180fe7ae
mov ecx, edi
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], edx
call fcn.180fe7ae
mov cl, byte [ebx]
mov edi, eax
mov byte [ebp - 0x39], cl
cmp cl, 0x65
jne 0x1810553b
and dword [ebp - 0x90], edi
and dword [ebp - 0x8c], edx
jmp 0x18105663
cmp cl, 0x66
jne 0x18105551
or dword [ebp - 0x90], edi
or dword [ebp - 0x8c], edx
jmp 0x18105663
mov eax, edi
or eax, edx
je 0x18105663
xor eax, eax
cmp edx, eax
jg 0x18105590
jl 0x18105567
cmp edi, eax
jae 0x18105585
mov al, 0xcf
sub al, cl
mov byte [ebp - 0x39], al
mov cl, al
cmp edx, 0xffffffff
jl 0x18105590
jg 0x1810557c
cmp edi, 0xffffffc0
jbe 0x18105590
neg edi
push 0
pop eax
adc edx, eax
neg edx
cmp edx, eax
jl 0x181055c5
jg 0x18105590
cmp edi, 0x40
jb 0x181055c5
xor edx, edx
cmp dword [ebp - 0x8c], edx
jg 0x181055b0
jl 0x181055a4
cmp dword [ebp - 0x90], edx
jae 0x181055b0
cmp cl, 0x67
je 0x181055b0
or eax, 0xffffffff
or ecx, eax
jmp 0x181055b4
mov eax, edx
mov ecx, edx
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], ecx
jmp 0x18105665
push 8
pop eax
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.18175220
mov eax, dword [ebp - 0xb8]
add esp, 0xc
cmp byte [ebp - 0x39], 0x67
mov ecx, edi
mov edx, dword [ebp - 0xb4]
jne 0x181055fa
call fcn.18199e70
jmp 0x1810563d
call fcn.18199e90
mov dword [ebp - 0x2c], eax
mov ecx, edx
mov dword [ebp - 0xb8], eax
xor eax, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xb4], ecx
cmp dword [ebp - 0x8c], eax
jg 0x18105649
jl 0x18105627
cmp dword [ebp - 0x90], eax
jae 0x18105649
push 0x40
pop ecx
sub ecx, edi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.18199e70
or eax, dword [ebp - 0x2c]
or edx, dword [ebp - 0x1c]
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb8], eax
push 8
pop eax
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.18175220
add esp, 0xc
xor edx, edx
mov ecx, dword [ebp - 0x24]
mov edi, 0x3e40
mov eax, dword [ebp - 0x90]
push 4
mov dword [ecx], eax
mov eax, dword [ebp - 0x8c]
mov dword [ecx + 4], eax
mov ax, word [ecx + 8]
and ax, di
pop edi
or ax, di
mov word [ecx + 8], ax
jmp 0x18104b6e
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x20]
mov ecx, esi
call fcn.180fe8e7
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x18104bbc
imul eax, dword [ebx + 4], 0x28
push 4
pop edx
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
movzx eax, word [eax + 8]
mov ecx, eax
test dl, al
jne 0x181056fd
push dword [ebp - 0x60]
mov ecx, dword [ebp - 0x24]
mov dl, 0x43
call fcn.1810489b
mov eax, dword [ebp - 0x24]
pop ecx
push 4
pop edx
movzx eax, word [eax + 8]
mov ecx, eax
test dl, al
jne 0x181056fd
xor edx, edx
cmp dword [ebx + 8], edx
jne 0x18104b19
push 0x14
pop eax
mov ecx, eax
mov dword [ebp - 0x18], ecx
jmp 0x18108f57
mov eax, 0x3e40
and ecx, eax
push 4
pop eax
or ecx, eax
mov eax, dword [ebp - 0x24]
jmp 0x18104b39
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x20]
test byte [ecx + 8], 0x24
je case.0x18104af1.85
call fcn.180fe90c
jmp 0x18104b3d
imul esi, dword [ebx + 4], 0x28
mov eax, 0x4000
add esi, dword [ebp - 0x20]
test word [esi + 8], ax
je 0x18105752
mov ecx, esi
call fcn.180fe52c
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
push dword [ebp - 0x60]
mov dl, byte [ebx + 8]
mov ecx, esi
call fcn.180fea37
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
jmp 0x18104bbc
imul ecx, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
mov edx, dword [ebp - 0x20]
add ecx, edx
add edx, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x38], edx
movzx eax, word [ecx + 8]
movzx edi, word [edx + 8]
mov ecx, edi
mov dword [ebp - 0x40], eax
mov edx, ecx
mov dword [ebp - 0x34], ecx
or edx, eax
xor eax, eax
inc eax
test al, dl
je 0x18105810
movzx eax, word [ebx + 2]
mov edx, 0x80
test dl, al
je 0x181057db
mov al, byte [ebp - 0x34]
xor edx, edx
and al, byte [ebp - 0x40]
inc edx
test dl, al
je 0x181057cb
test ecx, 0x100
jne 0x181057cb
xor eax, eax
jmp 0x18105933
not ecx
and ecx, edx
lea ecx, [ecx*2 - 1]
jmp 0x18105935
test al, 0x20
je 0x18105800
imul ecx, dword [ebx + 8], 0x28
xor edx, edx
inc edx
mov edi, 0x3e40
mov dword [ebp - 0x9c], edx
add ecx, dword [ebp - 0x20]
mov ax, word [ecx + 8]
and ax, di
jmp 0x18104e50
push 0x10
pop ecx
test cl, al
jne 0x18104b17
jmp 0x18104b3d
mov al, byte [ebx + 2]
and al, 0x47
cmp al, 0x43
jb 0x181058a9
mov ecx, edi
mov edi, dword [ebp - 0x44]
test dl, 2
je 0x18105863
mov al, byte [ebp - 0x40]
and al, 0x2e
cmp al, 2
jne 0x18105843
xor edx, edx
mov ecx, edi
call fcn.1810481c
mov ecx, dword [ebp - 0x38]
movzx eax, word [ecx + 8]
mov dword [ebp - 0x34], eax
mov al, byte [ebp - 0x34]
movzx ecx, word [ebp - 0x34]
and al, 0x2e
cmp al, 2
jne 0x18105863
mov ecx, dword [ebp - 0x38]
xor edx, edx
call fcn.1810481c
mov eax, dword [ebp - 0x38]
movzx ecx, word [eax + 8]
jmp 0x18105866
mov eax, dword [ebp - 0x38]
and cl, byte [edi + 8]
push 4
pop edx
test dl, cl
je 0x18105925
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 4]
jl 0x181058a1
jg 0x18105884
cmp ecx, dword [edi]
jbe 0x1810588e
xor eax, eax
lea ecx, [eax + 1]
jmp 0x18105935
cmp eax, dword [edi + 4]
jg 0x181057c4
jl 0x181058a1
cmp ecx, dword [edi]
jae 0x181057c4
or ecx, 0xffffffff
jmp 0x18105935
mov edi, dword [ebp - 0x44]
cmp al, 0x42
jne 0x18105925
mov al, byte [ebp - 0x40]
test al, 2
jne 0x181058f3
test al, 0x2c
je 0x181058f3
mov dl, byte [ebp - 0x60]
xor eax, eax
inc eax
mov ecx, edi
push eax
call fcn.180fe595
mov ax, word [edi + 8]
xor ax, word [ebp - 0x40]
pop ecx
mov ecx, 0x3e40
and ax, cx
mov ecx, dword [ebp - 0x38]
xor word [ebp - 0x40], ax
cmp edi, ecx
jne 0x181058f6
mov eax, dword [ebp - 0x40]
or eax, 2
movzx eax, ax
mov dword [ebp - 0x34], eax
jmp 0x181058f6
mov ecx, dword [ebp - 0x38]
mov al, byte [ebp - 0x34]
test al, 2
jne 0x18105925
test al, 0x2c
je 0x18105925
mov dl, byte [ebp - 0x60]
xor eax, eax
inc eax
push eax
call fcn.180fe595
mov eax, dword [ebp - 0x38]
pop ecx
mov ecx, 0x3e40
mov ax, word [eax + 8]
xor ax, word [ebp - 0x34]
and ax, cx
xor word [ebp - 0x34], ax
push dword [ebx + 0x10]
mov ecx, dword [ebp - 0x38]
mov edx, edi
call fcn.18101fc4
pop ecx
mov ecx, eax
movzx eax, byte [ebx]
test ecx, ecx
jns 0x18105944
mov al, byte [eax + str.SQLite_format_3]
jmp 0x18105954
jne 0x1810594e
mov al, byte [eax + 0x181e6bd8]
jmp 0x18105954
mov al, byte [eax + 0x181e5ec8]
mov edi, dword [ebp - 0x38]
movzx edx, al
mov ax, word [ebp - 0x34]
mov word [edi + 8], ax
mov edi, dword [ebp - 0x44]
mov ax, word [ebp - 0x40]
mov word [edi + 8], ax
movzx eax, word [ebx + 2]
test al, 0x20
je 0x181059b3
mov dword [ebp - 0x9c], ecx
test al, 8
je 0x1810598f
xor eax, eax
cmp byte [ebx], 0x35
sete al
cmp eax, edx
je 0x1810966e
imul esi, dword [ebx + 8], 0x28
mov eax, 0x3e40
push 4
add esi, dword [ebp - 0x20]
mov cx, word [esi + 8]
and cx, ax
pop eax
or cx, ax
mov eax, edx
mov word [esi + 8], cx
jmp 0x18104bb6
test edx, edx
jmp 0x18105805
xor edx, edx
cmp dword [ebp - 0x9c], edx
jne 0x18104b19
jmp 0x18104b42
xor eax, eax
inc eax
test byte [ebx + 2], al
jne 0x181059d9
xor eax, eax
jmp 0x181059e1
mov eax, dword [ebx - 4]
push 4
pop ecx
add eax, ecx
mov edi, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x70], edi
mov edi, dword [ebx + 8]
mov dword [ebp - 0x4c], edi
xor edi, edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x50], ecx
test edx, edx
jle 0x18104b3d
lea edx, [ecx + 0x14]
mov dword [ebp - 0x1c], edx
test eax, eax
je 0x18105a18
mov ecx, dword [eax + edi*4]
mov dword [ebp - 0x64], ecx
jmp 0x18105a1d
mov ecx, edi
mov dword [ebp - 0x64], edi
mov eax, dword [ebp - 0x50]
push dword [edx]
mov eax, dword [eax + 0x10]
movzx eax, byte [eax + edi]
and eax, 1
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x4c]
add eax, ecx
imul edx, eax, 0x28
mov eax, dword [ebp - 0x70]
add eax, ecx
imul ecx, eax, 0x28
add edx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x20]
call fcn.18101fc4
mov edx, eax
mov dword [ebp - 0x9c], edx
pop ecx
test edx, edx
jne 0x18105a70
mov edx, dword [ebp - 0x1c]
inc edi
push 4
pop eax
add edx, eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
cmp edi, dword [ebp - 0x2c]
jl 0x18105a0c
jmp 0x18104b3d
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x10]
test byte [edi + eax], 2
je 0x18105aaa
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x64]
add eax, ecx
mov edi, dword [ebp - 0x20]
imul eax, eax, 0x28
test byte [eax + edi + 8], 1
jne 0x18105aa2
mov eax, dword [ebp - 0x4c]
add eax, ecx
xor ecx, ecx
imul eax, eax, 0x28
inc ecx
test byte [eax + edi + 8], cl
je 0x18105aaa
neg edx
mov dword [ebp - 0x9c], edx
xor ecx, ecx
push 2
pop eax
cmp dword [ebp - 0x38], ecx
je 0x1810968f
neg edx
mov dword [ebp - 0x9c], edx
xor edx, edx
jmp 0x18104b44
mov edx, dword [ebp - 0x9c]
test edx, edx
jns 0x18105ad7
imul ebx, dword [ebx + 4], 0x14
jmp 0x18105ae3
jne 0x18105adf
imul ebx, dword [ebx + 8], 0x14
jmp 0x18105ae3
imul ebx, dword [ebx + 0xc], 0x14
add ebx, dword [ebp - 0x5c]
add ebx, 0xffffffec
jmp case.0x18104af1.85
imul ecx, dword [ebx + 4], 0x28
mov edx, eax
add ecx, dword [ebp - 0x20]
call fcn.180fe849
imul ecx, dword [ebx + 8], 0x28
mov edi, eax
push 2
pop edx
add ecx, dword [ebp - 0x20]
call fcn.180fe849
cmp byte [ebx], 0x2c
mov edx, eax
jne 0x18105b20
imul ecx, edi, 3
mov dl, byte [ecx + edx + 0x181e5f24]
jmp 0x18105b2a
imul eax, edi, 3
mov dl, byte [eax + edx + 0x181e62b4]
imul edi, dword [ebx + 0xc], 0x28
mov ecx, 0x3e40
add edi, dword [ebp - 0x20]
mov ax, word [edi + 8]
and ax, cx
movzx ecx, ax
cmp dl, 2
jne 0x18105b4a
xor eax, eax
inc eax
jmp 0x18105b56
movzx eax, dl
cdq
push 4
mov dword [edi], eax
mov dword [edi + 4], edx
pop eax
or ecx, eax
movzx eax, cx
jmp 0x18104edd
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, dword [ebp - 0x20]
call fcn.180fe849
imul ecx, dword [ebx + 8], 0x28
mov edi, 0x2400
xor eax, dword [ebx + 0x10]
cdq
add ecx, dword [ebp - 0x20]
test word [ecx + 8], di
je 0x18105b8c
push edx
push eax
jmp 0x18104fe0
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x18104fed
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
imul edi, dword [ebx + 8], 0x28
inc edx
add ecx, dword [ebp - 0x20]
add edi, dword [ebp - 0x20]
test byte [ecx + 8], dl
jne 0x18105be1
xor edx, edx
call fcn.180fe849
neg eax
mov ecx, 0x2400
sbb eax, eax
inc eax
test word [edi + 8], cx
je 0x18105bce
xor ecx, ecx
push ecx
push eax
mov ecx, edi
jmp 0x18104fe0
push 4
mov dword [edi], eax
xor edx, edx
pop eax
mov dword [edi + 4], edx
mov word [edi + 8], ax
jmp 0x18104b6e
mov ecx, 0x2400
test word [edi + 8], cx
jne 0x1810502c
xor ecx, ecx
inc ecx
mov word [edi + 8], cx
jmp 0x18105042
imul edi, dword [ebx + 8], 0x28
mov ecx, 0x2400
imul eax, dword [ebx + 4], 0x28
add edi, dword [ebp - 0x20]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
test word [edi + 8], cx
je 0x18105c27
mov ecx, edi
call fcn.180fe6c5
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
inc ecx
jmp 0x18105c2e
xor ecx, ecx
inc ecx
mov word [edi + 8], cx
test byte [eax + 8], cl
jne 0x18109683
push 4
pop ecx
mov word [edi + 8], cx
mov ecx, eax
call fcn.180fe7ae
not eax
not edx
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x18104b3d
cmp dword [edi + 0xc8], 0
je 0x18105ca0
mov eax, ebx
sub eax, dword [edi + 0x68]
cdq
push 0x14
pop ecx
idiv ecx
mov edx, dword [edi + 0xc8]
mov ecx, eax
shr eax, 3
mov dword [ebp - 0x2c], eax
and ecx, 7
mov edx, dword [edx + 0x18]
mov dword [ebp - 0x1c], edx
movzx eax, byte [eax + edx]
xor edx, edx
inc edx
shl edx, cl
test eax, edx
jne 0x18104b17
mov edx, dword [ebp - 0x1c]
bts eax, ecx
mov ecx, dword [ebp - 0x2c]
mov byte [ecx + edx], al
mov ecx, dword [edi + 0x68]
jmp 0x18105caf
mov ecx, dword [edi + 0x68]
mov eax, dword [ecx + 4]
cmp eax, dword [ebx + 4]
je 0x18104b17
mov eax, dword [ecx + 4]
mov dword [ebx + 4], eax
jmp 0x18104b3d
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, dword [ebp - 0x20]
call fcn.180fe849
xor edx, edx
test eax, eax
jmp 0x18104b6c
xor edx, edx
xor eax, eax
cmp dword [ebx + 0xc], eax
sete dl
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x20]
call fcn.180fe849
xor edx, edx
test eax, eax
je 0x18104b19
jmp 0x18104b6e
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [ebp - 0x20]
inc edx
test byte [eax + ecx + 8], dl
jmp 0x18105805
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [ebp - 0x20]
inc edx
test byte [eax + ecx + 8], dl
je 0x18104b17
jmp 0x18104b3d
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x18104b3d
imul eax, dword [ebx + 0xc], 0x28
mov ecx, 0x2400
add eax, dword [ebp - 0x20]
test word [eax + 8], cx
je 0x18105d54
mov ecx, eax
call fcn.180fe6c5
jmp 0x18104b17
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
jmp 0x18104b17
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x94]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x94], eax
call fcn.18101974
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
imul edi, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x48]
add edi, dword [ebp - 0x20]
mov eax, dword [ecx + 0x24]
mov esi, dword [ecx + 0x50]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], esi
cmp eax, dword [edx + 0x20]
je 0x18105eab
cmp byte [ecx + 2], 0
je 0x18105dff
cmp byte [ecx], 3
jne 0x18105de1
imul edx, dword [ecx + 0x28], 0x28
add edx, dword [ebp - 0x20]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x5c], eax
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + 0x5c]
mov dword [ecx + 0x58], eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x54], ecx
mov ecx, dword [ebp - 0x58]
jmp 0x18105e3a
mov eax, 0x2400
test word [edi + 8], ax
je 0x18105df3
mov ecx, edi
jmp 0x1810547e
xor ecx, ecx
inc ecx
mov word [edi + 8], cx
jmp 0x1810548c
mov esi, dword [ecx + 0x30]
mov ecx, esi
call fcn.180f7f29
mov eax, dword [ebp - 0x58]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0x58], ecx
mov ecx, esi
mov edx, dword [ebp - 0x58]
lea edx, [edx + 0x5c]
call fcn.180f83a7
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x14]
mov dword [ecx + 0x54], eax
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + 0x58]
cmp eax, dword [edx + 0x6c]
ja 0x18108d81
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x48]
mov edx, 0x80
mov eax, dword [eax + 0x20]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 0x54]
mov al, byte [ecx]
cmp al, dl
jae 0x18105e5e
movzx eax, al
mov dword [esi], eax
xor eax, eax
inc eax
jmp 0x18105e65
mov edx, esi
call fcn.180e9e73
movzx ecx, al
mov eax, dword [ebp - 0x58]
mov dword [eax + 0x38], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x58]
mov word [eax + 0x42], cx
mov ecx, dword [ebp - 0x58]
mov eax, dword [esi]
cmp dword [ecx + 0x5c], eax
jae 0x18105f1e
xor eax, eax
mov dword [ecx + 0x54], eax
xor ecx, ecx
mov eax, dword [ebp - 0x58]
mov dword [eax + 0x5c], ecx
mov eax, dword [esi]
cmp eax, 0x18003
ja 0x18106056
mov ecx, dword [ebp - 0x58]
cmp eax, dword [ecx + 0x58]
ja 0x18106056
movzx eax, word [ecx + 0x42]
mov esi, dword [ebp - 0x94]
cmp eax, esi
ja 0x181060e9
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
cmp dword [ecx + 0x38], eax
jae 0x181060ba
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0x54], edx
test edx, edx
jne 0x18105f26
xor eax, eax
push 0x28
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.181757a0
mov ecx, dword [ebp - 0x58]
lea eax, [ebp - 0x210]
mov esi, dword [ebp - 0x34]
add esp, 0xc
mov ecx, dword [ecx + 0x30]
mov edx, dword [esi]
push eax
call fcn.180fef6a
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f54
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x54], eax
mov eax, dword [esi]
jmp 0x18105f29
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0x54], edx
jmp 0x18105f29
mov esi, dword [ebp - 0x34]
movzx edx, word [ecx + 0x42]
xor ebx, ebx
mov dword [ebp - 0x4c], edx
mov edi, dword [esi + edx*4]
lea edx, [edx*4 + 0x60]
mov esi, dword [ecx + 0x38]
add esi, dword [ebp - 0x54]
add eax, dword [ebp - 0x54]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x24], edx
movzx eax, byte [esi]
mov dword [ebp - 0x68], eax
mov dword [ecx + edx], eax
mov ecx, 0x80
mov eax, dword [ebp - 0x68]
cmp eax, ecx
jae 0x18105f7a
movzx eax, al
movzx eax, byte [eax + 0x181e7a00]
cdq
add edi, eax
adc ebx, edx
mov edx, dword [ebp - 0x24]
xor eax, eax
inc eax
jmp 0x18105fba
lea edx, [ebp - 0x68]
mov ecx, esi
call fcn.180e9e73
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x68]
movzx eax, al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x58]
mov dword [eax + edx], ecx
mov ecx, 0x80
mov eax, dword [ebp - 0x68]
cmp eax, ecx
jb 0x18105fa9
add eax, 0xfffffff4
shr eax, 1
jmp 0x18105fb0
movzx eax, byte [eax + 0x181e7a00]
add edi, eax
push 0
pop eax
adc ebx, eax
mov eax, dword [ebp - 0x2c]
push 4
pop ecx
add edx, ecx
add esi, eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x4c], eax
mov dword [ecx + edx - 0x60], edi
cmp eax, dword [ebp - 0x94]
ja 0x18105fe7
cmp esi, dword [ebp - 0x44]
jae 0x18105fe7
mov ecx, dword [ebp - 0x58]
jmp 0x18105f4e
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x38]
mov dword [ebp - 0x40], edi
mov edi, dword [ebp - 0x1c]
cmp esi, edx
jb 0x18106010
ja 0x18106024
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x58]
jne 0x18106024
mov edx, dword [ebp - 0x24]
test edx, edx
jne 0x18106021
jmp 0x18106016
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x24]
test edx, edx
jb 0x18106071
ja 0x18106021
cmp ecx, dword [eax + 0x58]
jbe 0x18106071
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x34]
xor ecx, ecx
cmp dword [esi], ecx
jne 0x18106031
mov esi, edx
jmp 0x18106074
cmp dword [eax + 0x54], ecx
jne 0x18106056
mov eax, 0x2400
test dword [ebp - 0x208], eax
jne 0x1810604b
cmp dword [ebp - 0x1f8], ecx
je 0x18106056
lea ecx, [ebp - 0x210]
call fcn.180fe6fa
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x18109852
imul eax, eax, 0x14
lea ebx, [edx - 0x14]
add ebx, eax
jmp 0x18104bbc
mov ecx, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
mov word [eax + 0x42], cx
mov eax, dword [ebp - 0x58]
mov dword [eax + 0x38], esi
xor eax, eax
mov ecx, dword [ebp - 0x58]
cmp dword [ecx + 0x54], eax
jne 0x181060af
mov eax, 0x2400
test dword [ebp - 0x208], eax
jne 0x181060a1
cmp dword [ebp - 0x1f8], 0
je 0x181060af
lea ecx, [ebp - 0x210]
call fcn.180fe6fa
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x94]
mov edx, dword [ebp - 0x68]
jmp 0x181060c1
xor eax, eax
mov edx, eax
mov dword [ebp - 0x68], edx
movzx eax, word [ecx + 0x42]
cmp eax, esi
ja 0x181060f0
cmp byte [ebx + 1], 0xf5
jne 0x18105de1
mov edx, dword [ebx + 0x10]
mov eax, 0x800
push eax
mov ecx, edi
call fcn.180fec7f
pop ecx
jmp 0x18104bbc
mov edx, dword [ecx + esi*4 + 0x60]
mov dword [ebp - 0x68], edx
mov eax, 0x2400
test word [edi + 8], ax
je 0x1810610e
mov ecx, edi
call fcn.180fe6c5
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x94]
mov edx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x34]
mov eax, dword [ecx + 0x5c]
cmp eax, dword [edi + esi*4 + 4]
mov edi, dword [ebp - 0x1c]
jb 0x181061ae
mov eax, dword [ecx + 0x54]
mov ecx, dword [ebp - 0x34]
add eax, dword [ecx + esi*4]
mov dword [ebp - 0x2c], eax
cmp edx, 0xc
jae 0x1810613c
mov ecx, eax
push edi
call fcn.18101b28
jmp 0x181060e3
mov al, byte [ebp - 0x60]
lea esi, [edx - 0xc]
shr esi, 1
mov dword [edi + 0xc], esi
mov byte [edi + 0xa], al
lea edx, [esi + 2]
cmp dword [edi + 0x18], edx
jge 0x18106171
xor eax, eax
mov ecx, edi
inc eax
mov word [edi + 8], ax
xor eax, eax
push eax
call fcn.180fe389
pop ecx
test eax, eax
jne 0x18109c0f
mov eax, dword [edi + 0x10]
jmp 0x18106177
mov eax, dword [edi + 0x14]
mov dword [edi + 0x10], eax
push esi
push dword [ebp - 0x2c]
push eax
call fcn.18175220
mov eax, dword [edi + 0x10]
xor edx, edx
xor ecx, ecx
add esp, 0xc
inc ecx
mov byte [esi + eax], dl
mov eax, dword [edi + 0x10]
push 2
mov byte [eax + esi + 1], dl
mov eax, dword [ebp - 0x68]
and eax, ecx
mov ax, word [eax*2 + 0x181e6510]
mov word [edi + 8], ax
jmp 0x1810763a
mov al, byte [ebp - 0x60]
mov byte [edi + 0xa], al
movzx eax, word [ebx + 2]
mov edx, dword [ebp - 0x68]
test al, 0xc0
je 0x181061d4
cmp edx, 0xc
jb 0x181061cb
xor ecx, ecx
inc ecx
test cl, dl
je 0x181061ef
mov ecx, 0x80
test cl, al
jne 0x181061ef
mov eax, 0x80
cmp edx, eax
jb 0x181061e4
lea eax, [edx - 0xc]
shr eax, 1
jmp 0x181061eb
movzx eax, byte [edx + 0x181e7a00]
test eax, eax
jne 0x181061f9
mov ecx, 0x181e6a30
jmp 0x18106134
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x58]
push edi
push eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ecx + 0x30]
mov edx, dword [eax + edx*4]
call fcn.180feede
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f54
mov edx, dword [ebp - 0x68]
mov ecx, dword [edi + 0x10]
push edi
call fcn.18101b28
mov eax, 0xefff
and word [edi + 8], ax
pop ecx
jmp 0x18104bbc
imul esi, dword [ebx + 4], 0x28
mov edi, dword [ebx + 0x10]
add esi, dword [ebp - 0x20]
mov al, byte [edi]
push dword [ebp - 0x60]
mov dl, al
mov ecx, esi
call fcn.1810489b
cmp byte [edi], 0x45
pop ecx
jne 0x181062ae
movzx ecx, word [esi + 8]
push 4
pop eax
test al, cl
je 0x181062ae
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov dword [ebp - 0x158], edx
add edx, 0
mov dword [ebp - 0x154], eax
adc eax, 0x8000
cmp eax, 0xffff
ja 0x18106297
jb 0x1810628c
cmp edx, 0xffffffff
ja 0x18106297
and ecx, 0xfffb
or ecx, 0x20
jmp 0x181062aa
fild qword [ebp - 0x158]
push 8
and ecx, 0xfffb
pop eax
or ecx, eax
fstp qword [esi]
mov word [esi + 8], cx
inc edi
mov al, byte [edi]
test al, al
je 0x1810966e
add esi, 0x28
jmp 0x18106248
xor eax, eax
mov ecx, dword [ebx + 0x10]
mov edx, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x50], eax
imul eax, dword [ebx + 4], 0x28
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x1c], ecx
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
imul eax, dword [ebx + 8], 0x28
mov edi, dword [ebp - 0x24]
add edi, 0xffffffd8
add eax, edi
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x2c], eax
mov al, byte [edi + 0x93]
mov byte [ebp - 0x39], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x70], eax
test ecx, ecx
je 0x1810634f
mov edi, dword [ebp - 0x24]
mov ebx, ecx
add edi, 8
mov al, byte [ebx]
push dword [ebp - 0x60]
lea ecx, [edi - 8]
mov dl, al
call fcn.1810489b
cmp byte [ebx], 0x45
pop ecx
jne 0x1810633c
movzx eax, word [edi]
push 4
pop ecx
test cl, al
je 0x1810633c
and eax, 0xfffb
or eax, 0x20
mov word [edi], ax
inc ebx
add edi, 0x28
mov al, byte [ebx]
test al, al
jne 0x18106314
mov ebx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x2c]
add eax, 0x1c
movzx ecx, word [eax - 0x14]
mov dword [ebp - 0x34], eax
test cl, 1
je 0x18106383
mov eax, 0x4000
and ecx, eax
movzx eax, cx
mov ecx, dword [ebp - 0x34]
neg eax
sbb eax, eax
and eax, 0xa
mov dword [ecx], eax
mov ecx, dword [ebp - 0x40]
inc ecx
mov dword [ebp - 0x40], ecx
jmp 0x1810657c
test cl, 0x24
je 0x181064bb
mov edx, dword [eax - 0x1c]
mov eax, dword [eax - 0x18]
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x134], eax
test eax, eax
jg 0x181063b9
jl 0x181063a8
test edx, edx
jae 0x181063b9
mov eax, edx
not eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax - 0x18]
not eax
jmp 0x181063bc
mov dword [ebp - 0x4c], edx
inc dword [ebp - 0x40]
test eax, eax
ja 0x18106406
jb 0x181063cb
cmp dword [ebp - 0x4c], 0x7f
ja 0x18106406
xor ecx, ecx
mov eax, edx
inc ecx
and eax, ecx
cmp eax, edx
jne 0x181063f3
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp ecx, dword [eax - 0x18]
jne 0x181063f3
push 4
pop eax
cmp byte [ebp - 0x39], al
jb 0x181063f3
mov eax, dword [ebp - 0x4c]
add eax, 8
jmp 0x18106574
xor edx, edx
inc edx
add dword [ebp - 0x44], edx
push 0
pop eax
adc dword [ebp - 0x54], eax
mov eax, edx
jmp 0x18106574
xor edx, edx
cmp eax, edx
ja 0x1810642a
jb 0x18106419
mov edx, dword [ebp - 0x4c]
cmp edx, 0x7fff
ja 0x1810642d
push 2
pop eax
add dword [ebp - 0x44], eax
push 0
pop ecx
adc dword [ebp - 0x54], ecx
jmp 0x18106574
mov edx, dword [ebp - 0x4c]
test eax, eax
ja 0x1810646a
jb 0x1810643b
cmp edx, 0x7fffff
ja 0x18106449
add dword [ebp - 0x44], 3
push 0
pop eax
adc dword [ebp - 0x54], eax
push 3
jmp 0x181064b5
test eax, eax
ja 0x1810646a
jb 0x18106457
cmp edx, 0x7fffffff
ja 0x1810646a
push 4
pop ecx
add dword [ebp - 0x44], ecx
push 0
pop eax
adc dword [ebp - 0x54], eax
mov eax, ecx
jmp 0x18106574
cmp eax, 0x7fff
ja 0x18106486
jb 0x18106478
cmp edx, 0xffffffff
ja 0x18106486
add dword [ebp - 0x44], 6
push 0
pop eax
adc dword [ebp - 0x54], eax
push 5
jmp 0x181064b5
push 8
pop edx
add dword [ebp - 0x44], edx
push 0
pop eax
adc dword [ebp - 0x54], eax
test cl, 0x20
je 0x181064b3
fild qword [ebp - 0x138]
mov eax, dword [ebp - 0x34]
and ecx, 0xffdf
or ecx, edx
push 7
fstp qword [eax - 0x1c]
mov word [eax - 0x14], cx
jmp 0x181064b5
push 6
pop eax
jmp 0x18106574
test cl, 8
je 0x181064dc
mov ecx, dword [ebp - 0x40]
inc ecx
mov dword [eax], 7
add dword [ebp - 0x44], 8
mov dword [ebp - 0x40], ecx
adc edx, 0
mov dword [ebp - 0x54], edx
jmp 0x1810657f
mov edx, dword [eax - 0x10]
mov eax, ecx
shr eax, 1
and eax, 1
mov dword [ebp - 0x1c], edx
lea eax, [eax + edx*2]
add eax, 0xc
mov dword [ebp - 0x4c], eax
test ecx, 0x4000
je 0x18106537
mov ecx, dword [ebp - 0x34]
add ecx, 0xffffffe4
mov edx, dword [ecx]
lea eax, [eax + edx*2]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 0x54]
je 0x18106528
call fcn.180fe52c
test eax, eax
jne 0x18109c12
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x1c]
add edx, dword [eax - 0x1c]
jmp 0x18106534
mov eax, edx
cdq
add dword [ebp - 0x64], eax
adc dword [ebp - 0x50], edx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4c]
add dword [ebp - 0x44], edx
push 0
pop edx
adc dword [ebp - 0x54], edx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
mov ecx, eax
shr ecx, 7
mov eax, ecx
or eax, edx
je 0x18106568
mov edi, dword [ebp - 0x1c]
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
jne 0x18106554
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
add eax, 0xffffffe4
cmp eax, dword [ebp - 0x24]
je 0x18106595
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x54]
sub eax, 0x28
jmp 0x18106355
cmp ecx, 0x7e
jle 0x18106616
xor eax, eax
inc eax
mov dword [ebp - 0x4c], eax
mov eax, ecx
cdq
shrd eax, edx, 7
shr edx, 7
mov ecx, eax
or ecx, edx
mov dword [ebp - 0x1c], eax
je 0x181065cf
mov ebx, dword [ebp - 0x4c]
mov edi, eax
shrd edi, edx, 7
inc ebx
shr edx, 7
mov eax, edi
or eax, edx
jne 0x181065b8
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
xor ecx, ecx
add eax, dword [ebp - 0x4c]
inc ecx
mov dword [ebp - 0x40], eax
cdq
shrd eax, edx, 7
mov dword [ebp - 0x1c], ecx
shr edx, 7
mov ecx, eax
or ecx, edx
mov dword [ebp - 0x34], eax
je 0x1810660b
mov ebx, dword [ebp - 0x1c]
mov edi, eax
shrd edi, edx, 7
inc ebx
shr edx, 7
mov eax, edi
or eax, edx
jne 0x181065f4
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x1c], ebx
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x1c]
jge 0x1810661a
inc ecx
mov dword [ebp - 0x40], ecx
mov eax, ecx
cdq
mov ecx, edx
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x44]
add edx, eax
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x54]
adc eax, ecx
mov dword [ebp - 0x44], edx
mov ecx, edx
add ecx, dword [ebp - 0x64]
adc eax, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x18]
cdq
cmp dword [ebp - 0x54], edx
jg 0x1810665a
jl 0x1810664f
cmp ecx, eax
ja 0x1810665a
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
jmp 0x1810668f
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x6c]
cdq
cmp dword [ebp - 0x54], edx
jg 0x18108d84
jl 0x18106674
cmp ecx, eax
ja 0x18108d84
mov eax, dword [ebp - 0x44]
mov edx, eax
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x44], eax
call fcn.180fe484
test eax, eax
jne 0x18109c12
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x64]
mov dword [ecx + 0xc], eax
push 0x10
pop eax
mov word [ecx + 8], ax
mov eax, edx
or eax, dword [ebp - 0x50]
je 0x181066b1
mov eax, 0x4010
mov dword [ecx], edx
mov word [ecx + 8], ax
mov edi, dword [ecx + 0x10]
mov edx, 0x80
mov ecx, dword [ebp - 0x40]
lea eax, [edi + ecx]
mov dword [ebp - 0x1c], eax
cmp ecx, edx
jae 0x181066cf
mov byte [edi], cl
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x181066e4
push dword [ebp - 0x4c]
mov ecx, edi
push dword [ebp - 0x34]
call fcn.180e9cae
pop ecx
pop ecx
xor ecx, ecx
inc ecx
lea edx, [ecx + 0x7f]
mov ebx, dword [ebp - 0x24]
movzx eax, al
add edi, eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x24], eax
cmp eax, edx
jae 0x181066fc
mov byte [edi], al
mov eax, ecx
jmp 0x18106709
xor ecx, ecx
push ecx
push eax
mov ecx, edi
call fcn.180e9cae
pop ecx
pop ecx
push dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
mov edx, ebx
movzx eax, al
add edi, eax
call fcn.181019d4
add dword [ebp - 0x1c], eax
add ebx, 0x28
pop ecx
push 1
pop ecx
lea edx, [ecx + 0x7f]
cmp ebx, dword [ebp - 0x2c]
jbe 0x181066ec
mov ebx, dword [ebp - 0x38]
jmp 0x18104b3d
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov edx, dword [eax + 0x30]
xor eax, eax
cmp dword [ebx + 0xc], eax
je 0x1810675d
mov ecx, edx
call fcn.180f8a49
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], edx
jmp 0x18106788
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0xe0]
push eax
call fcn.180fca41
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
mov esi, eax
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov ecx, dword [ebp - 0xe0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [eax + 4], ecx
xor edx, edx
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x110], edx
jne 0x18109a2a
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x7c]
jb 0x18109669
mov edx, dword [ebp - 0x74]
ja 0x181067d3
cmp dword [ebp - 0xa0], edx
jb 0x1810966e
mov eax, dword [ecx + 0x158]
test eax, eax
je 0x1810966e
add edx, dword [ecx + 0x160]
push 0
mov dword [ebp - 0x74], edx
pop edx
push dword [ecx + 0x15c]
adc dword [ebp - 0x7c], edx
call eax
pop ecx
test eax, eax
jne 0x18109a22
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x7c]
ja 0x181067d3
jb 0x18104b3d
cmp dword [ebp - 0xa0], edx
jae 0x181067d3
jmp 0x18104b3d
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x1c], eax
test ecx, ecx
jne 0x18106916
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp dword [ecx + 0xb8], edx
jg 0x1810987d
test eax, eax
jne 0x18106855
mov esi, edx
mov dword [ebp - 0x2c], edx
jmp 0x18106867
push eax
call fcn.1817e400
mov esi, eax
and esi, 0x3fffffff
pop ecx
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [eax + 0x1e0]
add ecx, dword [eax + 0x1dc]
push ecx
mov ecx, eax
call fcn.1813589d
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
push ecx
mov ecx, dword [ebp - 0x14]
lea eax, [esi + 0x21]
push eax
call fcn.180e69f7
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x1810966e
mov ecx, dword [ebp - 0x2c]
lea edx, [esi + 0x20]
inc ecx
mov dword [esi], edx
push ecx
push dword [ebp - 0x1c]
push edx
call fcn.18175220
mov ecx, dword [ebp - 0x14]
add esp, 0xc
cmp byte [ecx + 0x4f], 0
je 0x181068d3
xor edx, edx
xor eax, eax
inc eax
mov byte [ecx + 0x4f], dl
mov byte [ecx + 0x57], al
jmp 0x181068db
inc dword [ecx + 0x1dc]
xor edx, edx
mov eax, dword [ecx + 0x1d0]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + 0x1e8]
mov dword [ecx + 0x1d0], esi
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x1ec]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x1f0]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0x1f4]
mov dword [esi + 0x14], eax
mov esi, dword [ebp - 0x18]
jmp 0x18104b6e
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x14]
mov esi, dword [ecx + 0x1d0]
mov dword [ebp - 0x2c], esi
test esi, esi
je 0x181098b8
mov ecx, dword [esi]
mov edx, eax
call fcn.180e90b3
test eax, eax
je 0x18106947
inc dword [ebp - 0x34]
mov esi, dword [esi + 0x18]
mov eax, dword [ebp - 0x1c]
jmp 0x18106924
mov ecx, dword [ebp - 0x14]
xor eax, eax
mov edx, dword [ebp - 0x38]
cmp dword [ecx + 0xb8], eax
jle 0x18106960
inc eax
cmp edx, eax
je 0x18109891
lea eax, [esi + 0x18]
cmp dword [eax], 0
mov dword [ebp - 0x70], eax
jne 0x18106a48
cmp byte [ecx + 0x57], 0
je 0x18106a48
xor eax, eax
inc eax
mov dword [ebp - 0x24], eax
cmp edx, eax
jne 0x18106a4d
mov edx, eax
mov ecx, edi
call fcn.18101328
mov esi, eax
test esi, esi
jne 0x18109cce
mov esi, dword [ebp - 0x14]
inc eax
mov ecx, edi
mov byte [esi + 0x4f], al
call fcn.18101383
push 5
pop ecx
cmp eax, ecx
je 0x18109898
mov ecx, dword [edi + 0x28]
xor eax, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x181069c4
mov byte [esi + 0x4f], al
jmp 0x181069c7
mov byte [esi + 0x57], al
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
test ecx, ecx
jne 0x18108f57
mov ecx, dword [edx + 0x1d0]
cmp ecx, esi
je 0x18106a0a
mov edi, dword [ebp - 0x14]
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, edi
mov dword [edi + 0x1d0], eax
call fcn.180e676a
mov ecx, dword [edi + 0x1d0]
dec dword [edi + 0x1dc]
cmp ecx, esi
jne 0x181069e2
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
xor eax, eax
inc eax
cmp ecx, eax
jne 0x18106b60
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [edx + 0x1d0], eax
mov edx, esi
call fcn.180e676a
cmp dword [ebp - 0x24], 0
jne 0x1810966e
mov ecx, dword [ebp - 0x14]
dec dword [ecx + 0x1dc]
mov ecx, dword [ebp - 0x38]
jmp 0x18106b95
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 0x1dc]
sub eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 0x14]
cmp edx, 2
jne 0x18106ac9
mov ecx, dword [ecx + 0x18]
and dword [ebp - 0x2c], 0
and ecx, 1
mov dword [ebp - 0x50], ecx
test eax, eax
jle 0x18106ac5
xor eax, eax
inc eax
xor ecx, eax
xor eax, eax
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x1c], eax
jmp 0x18106a85
mov eax, dword [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0x14]
mov edx, 0x204
mov ecx, dword [ecx + 0x10]
mov ecx, dword [eax + ecx + 4]
call fcn.180f7ba3
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
mov ecx, dword [ebp - 0x2c]
push 0x10
pop eax
add dword [ebp - 0x1c], eax
inc ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], ecx
mov eax, dword [eax + 0x14]
cmp ecx, eax
mov ecx, dword [ebp - 0x64]
jl 0x18106a82
mov edx, dword [ebp - 0x38]
xor ecx, ecx
jmp 0x18106ace
xor ecx, ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x2c], ecx
test eax, eax
jle 0x18106b1a
mov eax, ecx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x14]
push dword [ebp - 0x34]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [eax + ecx + 4]
call fcn.180f7d20
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
inc edx
add eax, 0x10
mov dword [ebp - 0x2c], edx
cmp edx, dword [edi + 0x14]
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
jl 0x18106ada
jmp 0x18106b1d
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x50], 0
je 0x181069ca
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 4]
jmp 0x18106b44
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 0x18106b2f
mov ecx, edx
call fcn.18118bb0
mov edx, dword [ebp - 0x14]
xor eax, eax
mov ecx, dword [ebp - 0x18]
inc eax
or dword [edx + 0x18], eax
jmp 0x181069cd
cmp dword [ebp - 0x24], 0
mov eax, dword [esi + 8]
mov dword [edx + 0x1e8], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 0x1ec], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x1f0], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x1f4], eax
je 0x18106b95
push 2
pop eax
cmp ecx, eax
jne 0x18109671
push dword [ebp - 0x34]
mov edx, ecx
mov ecx, dword [ebp - 0x14]
call fcn.1813589d
jmp 0x1810575f
mov edx, dword [ebx + 8]
xor ecx, ecx
mov dword [ebp - 0x98], ecx
test edx, edx
je 0x18106bc9
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20]
and eax, 0x100000
or eax, ecx
jne 0x181098d1
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 4]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x18106c8b
lea eax, [ebp - 0x98]
mov ecx, esi
push eax
call fcn.180f70c4
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x181098d8
test byte [edi + 0x98], 0x40
je 0x18106c8e
xor edx, edx
cmp dword [ebx + 8], edx
mov edx, dword [ebp - 0x14]
je 0x18106c91
cmp byte [edx + 0x4f], al
je 0x18106c21
inc eax
cmp dword [edx + 0xb4], eax
jle 0x18106c91
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x18106c3d
mov eax, dword [edx + 0x1dc]
inc dword [edx + 0x1e0]
add eax, dword [edx + 0x1e0]
mov dword [edi + 0x30], eax
mov ecx, dword [ebp - 0x14]
dec eax
push eax
xor edx, edx
call fcn.1813589d
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18106c62
mov edx, dword [edi + 0x30]
mov ecx, esi
call fcn.180f7cea
mov ecx, eax
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x1e8]
mov dword [edi + 0x48], eax
mov eax, dword [edx + 0x1ec]
mov dword [edi + 0x4c], eax
mov eax, dword [edx + 0x1f0]
mov dword [edi + 0x50], eax
mov eax, dword [edx + 0x1f4]
mov dword [edi + 0x54], eax
jmp 0x18106c91
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
xor eax, eax
cmp word [ebx + 2], ax
je 0x18105765
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebx + 0xc]
jne 0x181098fa
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [ebx + 0x10]
jne 0x181098fa
mov ecx, dword [ebp - 0x18]
jmp 0x18105765
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x114]
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.180fc9a4
pop ecx
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov ecx, eax
mov eax, dword [ebp - 0x114]
jmp 0x18104c5b
mov eax, dword [ebp - 0x14]
mov esi, dword [ebx + 4]
push dword [ebx + 0xc]
mov edx, dword [ebx + 8]
shl esi, 4
add esi, dword [eax + 0x10]
mov ecx, dword [esi + 4]
call fcn.180fc9e6
xor edx, edx
pop ecx
inc edx
mov ecx, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebx + 8], edx
jne 0x18106d42
movzx eax, word [ebx + 2]
mov ecx, dword [ebx + 0xc]
sub ecx, eax
mov eax, dword [esi + 0xc]
mov dword [eax], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
or dword [eax + 0x18], edx
jmp 0x18106d57
cmp dword [ebx + 8], 2
jne 0x18106d54
mov ecx, dword [esi + 0xc]
mov al, byte [ebx + 0xc]
mov byte [ecx + 0x4c], al
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp dword [ebx + 4], edx
jne 0x18105765
mov edx, dword [eax + 4]
jmp 0x18106d7a
mov eax, dword [edx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [edx + 0x98], eax
mov edx, dword [edx + 8]
test edx, edx
jne 0x18106d65
and dword [edi + 0x98], 0xfffffffc
jmp 0x18105765
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x18106da3
mov eax, dword [esi + 0x3c]
cmp eax, dword [ebx + 8]
je 0x18106ea1
mov cl, byte [ebp - 0x39]
mov eax, dword [edi + 0x98]
xor edx, edx
and al, 3
inc edx
cmp al, dl
je 0x18109958
mov edx, dword [ebx + 8]
xor eax, eax
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x24], eax
mov eax, esi
shl eax, 4
add eax, dword [edx + 0x10]
mov dword [ebp - 0x50], esi
mov edx, dword [eax + 4]
mov dword [ebp - 0x70], edx
mov edx, dword [ebp - 0x1c]
cmp cl, 0x61
jne 0x18106e09
mov eax, dword [eax + 0xc]
movzx ecx, word [ebx + 2]
and ecx, 8
or ecx, 4
mov al, byte [eax + 0x4c]
mov dword [ebp - 0x2c], ecx
cmp al, byte [edi + 0x93]
jae 0x18106e0e
mov byte [edi + 0x93], al
jmp 0x18106e0e
xor eax, eax
mov dword [ebp - 0x2c], eax
push 0x10
pop eax
test byte [ebx + 2], al
je 0x18106e2b
imul esi, edx, 0x28
add esi, dword [ebp - 0x20]
mov ecx, esi
call fcn.180fe8e7
mov eax, dword [esi]
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x1c], eax
mov al, byte [ebx + 1]
cmp al, 0xf7
jne 0x18106e3e
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x24], eax
movzx eax, word [eax + 8]
jmp 0x18106e4a
cmp al, 0xfd
jne 0x18106e47
mov eax, dword [ebx + 0x10]
jmp 0x18106e4a
mov eax, dword [ebp - 0x64]
mov edx, dword [ebx + 4]
xor ecx, ecx
push ecx
push esi
push eax
mov ecx, edi
call fcn.181046f4
mov esi, eax
add esp, 0xc
test esi, esi
je 0x18109c12
mov ecx, dword [ebp - 0x70]
xor eax, eax
inc eax
push 4
mov byte [esi + 2], al
pop eax
push dword [esi + 0x30]
or dword [esi + 8], eax
push dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov edx, eax
push dword [ebp - 0x2c]
mov dword [esi + 0x3c], eax
call fcn.180f7e72
mov dword [ebp - 0x18], eax
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov dword [esi + 0x34], eax
cmp byte [ebx + 1], 0xf7
setne al
mov byte [esi + 4], al
mov cl, byte [ebx + 2]
mov eax, dword [esi + 0x30]
and cl, 3
mov byte [eax + 3], cl
jmp 0x18106cc4
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
push ecx
mov dword [ebp - 0x2c], eax
mov ecx, edi
push 0xffffffffffffffff
movsx eax, word [eax + 0x40]
push eax
call fcn.181046f4
mov esi, eax
add esp, 0xc
test esi, esi
je 0x18109c12
mov edi, dword [ebp - 0x2c]
xor eax, eax
push dword [esi + 0x30]
inc eax
or dword [esi + 8], eax
mov byte [esi + 2], al
mov ecx, dword [edi + 0x34]
mov dword [esi + 0x34], ecx
mov al, byte [edi + 4]
mov byte [esi + 4], al
mov edx, dword [edi + 0x3c]
mov dword [esi + 0x3c], edx
mov eax, dword [edi + 8]
xor eax, dword [esi + 8]
push ecx
and eax, 4
xor dword [esi + 8], eax
mov ecx, dword [edi + 0x10]
push 4
pop eax
push eax
call fcn.180f7e72
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x18], esi
jmp 0x18104b3d
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x18106f45
mov ecx, dword [ebp - 0x20]
xor edx, edx
imul eax, eax, 0x28
mov dword [eax + ecx + 0xc], edx
imul eax, dword [ebx + 0xc], 0x28
mov dword [eax + ecx + 0x10], 0x181f4ba4
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + edx*4]
test esi, esi
je 0x18106f78
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x18106f78
mov edx, dword [esi + 0x3c]
xor eax, eax
push eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x24], eax
call fcn.180fc79b
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
jmp 0x1810708b
xor eax, eax
mov ecx, edi
push eax
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.181046f4
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x2c], esi
test esi, esi
je 0x18109c12
xor eax, eax
xor edx, edx
inc eax
or dword [esi + 8], eax
lea eax, [esi + 0x10]
movzx ecx, word [ebx + 2]
push 0x41e
or ecx, 5
mov dword [ebp - 0x1c], eax
push ecx
push eax
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [eax]
call fcn.180f643a
add esp, 0x10
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x1810706e
mov ecx, dword [esi + 0x10]
lea edx, [eax + 1]
push eax
call fcn.180f70c4
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
jne 0x1810706e
mov eax, dword [ebx + 0x10]
lea ecx, [esi + 0x3c]
mov dword [ebp - 0x50], eax
mov dword [esi + 0x34], eax
mov dword [ebp - 0x24], ecx
test eax, eax
je 0x1810704b
mov eax, dword [ebp - 0x1c]
movzx esi, word [ebx + 2]
or esi, 2
mov edi, dword [eax]
mov ecx, edi
call fcn.180f4c9d
mov edx, dword [ebp - 0x24]
mov ecx, edi
push esi
call fcn.180fc3ed
pop ecx
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x18], esi
call fcn.180f4d16
test esi, esi
mov esi, dword [ebp - 0x2c]
jne 0x18107044
push dword [esi + 0x30]
mov edx, dword [esi + 0x3c]
push dword [ebp - 0x50]
mov ecx, dword [esi + 0x10]
push 4
pop eax
push eax
call fcn.180f7e72
add esp, 0xc
mov dword [ebp - 0x18], eax
mov edi, dword [ebp - 0x48]
xor eax, eax
jmp 0x1810706b
push dword [esi + 0x30]
xor eax, eax
xor edx, edx
push eax
push 4
inc edx
pop eax
mov dword [ecx], edx
mov ecx, dword [esi + 0x10]
push eax
call fcn.180f7e72
mov dword [ebp - 0x18], eax
add esp, 0xc
xor eax, eax
inc eax
mov byte [esi + 4], al
xor ecx, ecx
push 8
pop eax
cmp word [ebx + 2], ax
mov eax, dword [esi + 8]
setne cl
and eax, 0xfffffffb
shl ecx, 2
or ecx, eax
mov dword [esi + 8], ecx
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x18108f57
inc ecx
mov byte [esi + 2], cl
jmp 0x1810548c
mov edx, dword [ebx + 4]
xor eax, eax
inc eax
mov ecx, edi
push eax
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.181046f4
add esp, 0xc
test eax, eax
je 0x18109c12
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x34], ecx
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x14]
push eax
call fcn.1810aed7
jmp 0x1810575f
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
xor eax, eax
inc eax
mov edi, dword [edx + 0x18]
mov ecx, edi
mov esi, dword [edx + 0x1c]
add ecx, eax
mov eax, esi
mov dword [edx + 0x18], ecx
adc eax, 0
or edi, esi
mov esi, dword [ebp - 0x18]
mov dword [edx + 0x1c], eax
jmp 0x18105d18
mov edx, dword [ebx + 4]
mov ecx, edi
push 3
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.181046f4
add esp, 0xc
test eax, eax
je 0x18109c12
xor ecx, ecx
inc ecx
mov byte [eax + 2], cl
mov ecx, dword [ebx + 8]
mov dword [eax + 0x28], ecx
xor ecx, ecx
inc ecx
mov dword [eax + 0x30], 0x18235121
mov byte [eax + 4], cl
jmp 0x1810503f
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x60]
mov edx, dword [edx + eax*4]
call fcn.1810094e
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x60]
mov dword [eax + ecx*4], edx
jmp 0x18104b6e
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x50], eax
mov word [ecx + 2], ax
mov dword [ecx + 0x24], eax
cmp byte [ecx + 4], al
je 0x181072a5
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], ecx
movzx eax, word [ecx + 8]
mov dword [ebp - 0x1c], eax
and al, 0x2e
cmp al, 2
jne 0x18107198
xor edx, edx
call fcn.1810481c
mov ecx, dword [ebp - 0x2c]
call fcn.180fe7ae
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x1c]
movzx edx, word [ecx + 8]
mov word [ecx + 8], ax
test dl, 0x24
jne 0x1810725e
test dl, 8
jne 0x1810721f
xor eax, eax
inc eax
test al, dl
jne 0x18104b17
cmp dword [ebp - 0x34], 0x18
jae 0x18104b17
mov esi, dword [ebp - 0x24]
lea edx, [ebp - 0x78]
mov ecx, dword [esi + 0x30]
call fcn.180f862c
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
mov esi, dword [ebp - 0x18]
xor edx, edx
cmp dword [ebp - 0x78], 0
jne 0x18104b19
xor ecx, ecx
cmp dword [ebp - 0x50], ecx
je 0x1810968a
mov esi, dword [ebp - 0x18]
push 0x14
pop eax
push 2
add ebx, eax
pop eax
jmp 0x18104b44
fild qword [ebp - 0xe8]
fstp qword [ebp - 0x30]
fld qword [ebp - 0x30]
fld qword [ecx]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x18107247
mov eax, dword [ebp - 0x34]
xor ecx, ecx
inc ecx
fstp st(0)
fstp st(0)
test cl, al
je 0x1810725e
dec eax
jmp 0x1810725b
fcompp
fnstsw ax
test ah, 0x41
jne 0x1810725e
mov eax, dword [ebp - 0x34]
xor ecx, ecx
inc ecx
test cl, al
jne 0x1810725e
inc eax
mov dword [ebp - 0x34], eax
mov esi, dword [ebp - 0x24]
lea eax, [ebp - 0x78]
push eax
xor eax, eax
xor edx, edx
push eax
push dword [ebp - 0xe4]
mov ecx, dword [esi + 0x30]
push dword [ebp - 0xe8]
call fcn.180f8680
mov ecx, eax
add esp, 0x10
mov eax, dword [ebp - 0xe8]
mov dword [esi + 0x48], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x18], ecx
mov dword [esi + 0x4c], eax
test ecx, ecx
jne 0x18108f57
jmp 0x18107336
mov eax, dword [ecx + 0x30]
push 0
mov al, byte [eax + 3]
and al, 2
mov byte [ebp - 0x39], al
pop eax
setne al
mov dword [ebp - 0x50], eax
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x130], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x128], ax
mov eax, edx
xor edx, edx
inc edx
and al, dl
neg al
sbb al, al
xor edx, edx
and al, 0xfe
mov byte [ebp - 0x122], dl
inc al
mov byte [ebp - 0x126], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x78]
mov ecx, dword [ecx + 0x30]
push eax
push edx
push edx
push edx
lea edx, [ebp - 0x130]
call fcn.180f8680
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
cmp byte [ebp - 0x39], al
je 0x18107333
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
cmp byte [ebp - 0x122], cl
je 0x181071f5
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x78]
cmp eax, 0x18
jl 0x1810738e
test ecx, ecx
js 0x18107356
jne 0x1810734c
cmp eax, 0x19
je 0x18107356
xor edx, edx
mov dword [ebp - 0x78], edx
jmp 0x18107204
xor eax, eax
push eax
mov dword [ebp - 0x78], eax
push dword [esi + 0x30]
call fcn.180f8b89
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x181071f5
cmp ecx, 0x65
jne 0x18108f57
xor edx, edx
xor eax, eax
mov esi, edx
inc eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x78], eax
jmp 0x181071fa
test ecx, ecx
jg 0x181073ab
jne 0x18107399
cmp eax, 0x16
je 0x181073ab
mov eax, dword [esi + 0x30]
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov dword [ebp - 0x78], ecx
jmp 0x181071f5
xor eax, eax
push eax
mov dword [ebp - 0x78], eax
push dword [esi + 0x30]
call fcn.180f8c9b
jmp 0x18107364
mov ecx, dword [ebx + 0x18]
mov eax, dword [edi + 0x60]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x2c], edx
mov eax, dword [edx + 0x30]
cmp byte [eax], cl
jne 0x18109799
mov eax, dword [edx + 0x34]
mov esi, dword [ebx + 4]
mov dword [ebp - 0x184], eax
mov ax, word [ebx + 0x24]
mov word [ebp - 0x17c], ax
imul eax, dword [ebx + 0x20], 0x28
mov byte [ebp - 0x17a], cl
mov dword [ebp - 0x100], ecx
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.18102aba
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
mov eax, dword [ebp - 0x100]
test eax, eax
jg 0x18107470
je 0x18109243
test esi, esi
jle 0x1810966e
xor eax, eax
dec esi
push eax
mov eax, dword [ebp - 0x2c]
push dword [eax + 0x30]
call fcn.180f8b89
mov edx, dword [ebp - 0x2c]
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x18107404
cmp ecx, 0x65
jne 0x18108f57
xor edx, edx
mov eax, edx
mov dword [ebp - 0x18], eax
jmp 0x18107472
xor edx, edx
push 0x14
pop eax
add ebx, eax
mov esi, dword [ebp - 0x18]
jmp 0x18104b19
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
movzx eax, word [ecx + 0xc]
cmp eax, dword [ebx + 8]
jge 0x1810749e
mov ax, word [ebx + 8]
mov word [ecx + 0xc], ax
jmp 0x18104b3d
xor edx, edx
push 2
cmp eax, dword [ebx + 0xc]
jle 0x18104b70
mov ax, word [ebx + 0xc]
mov word [ecx + 0xc], ax
jmp 0x18104b70
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x60]
cmp dword [eax + ecx*4], edx
je 0x18109396
jmp 0x18104b6e
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
movzx eax, word [eax + 0xc]
cmp eax, dword [ebx + 0x10]
jge 0x18104b3d
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul esi, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x1c], eax
add esi, dword [ebp - 0x20]
cmp dword [ebx + 0x10], ecx
jle 0x18107528
mov eax, dword [eax + 0x34]
lea edx, [ebp - 0x1c0]
mov dword [ebp - 0x1c0], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x1b8], ax
xor eax, eax
mov dword [ebp - 0x1bc], esi
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
jmp 0x18107574
mov ecx, 0x4000
test word [esi + 8], cx
je 0x18107545
mov ecx, esi
call fcn.180fe52c
test eax, eax
jne 0x18109c12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x34]
call fcn.18101ca8
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x18109c12
mov edx, dword [esi + 0xc]
push eax
push dword [esi + 0x10]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [esi + 0x34]
call fcn.18101cfe
mov edx, dword [ebp - 0x24]
xor eax, eax
pop ecx
pop ecx
mov byte [edx + 0xa], al
cmp byte [ebx], 0x1c
mov dword [ebp - 0x1c], eax
jne 0x181075a8
mov ecx, eax
movzx eax, word [edx + 8]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x181075a8
mov eax, dword [edx + 4]
add eax, 8
test byte [eax], 1
jne 0x181075a2
inc ecx
add eax, 0x28
cmp ecx, dword [ebp - 0x24]
jl 0x18107592
jmp 0x181075a8
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x104]
push eax
xor eax, eax
push eax
push eax
push eax
call fcn.180f8680
mov ecx, eax
add esp, 0x10
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], ecx
test eax, eax
je 0x181075d8
mov ecx, dword [ebp - 0x14]
mov edx, eax
call fcn.180e676a
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x18108f57
mov eax, dword [ebp - 0x104]
mov dword [esi + 0x28], eax
mov eax, dword [ebp - 0x104]
test eax, eax
sete cl
test eax, eax
setne al
xor edx, edx
mov byte [esi + 2], al
mov byte [esi + 3], dl
mov dword [esi + 0x24], edx
mov al, byte [ebx]
cmp al, 0x1e
jne 0x18107614
mov esi, dword [ebp - 0x18]
test ecx, ecx
jmp 0x18104b6c
cmp dword [ebp - 0x1c], edx
jne 0x18107477
test ecx, ecx
je 0x18107477
xor ecx, ecx
inc ecx
push 2
cmp al, 0x1b
jne 0x18109680
mov ax, word [ebx + 0x10]
mov word [esi + 0xc], ax
mov esi, dword [ebp - 0x18]
pop eax
jmp 0x18104b45
imul esi, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x20]
add esi, ecx
test byte [esi + 8], 0x24
jne 0x18107691
push 0xa
pop ecx
push dword [ebp - 0x60]
lea edi, [ebp - 0x2a8]
mov dl, 0x43
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x2a8]
call fcn.1810489b
pop ecx
push 4
pop eax
test byte [ebp - 0x2a0], al
je 0x18109243
mov edx, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x2a4]
mov edi, dword [ebp - 0x48]
jmp 0x1810769c
mov ecx, dword [ebp - 0x20]
imul eax, dword [ebx + 0xc], 0x28
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
xor eax, eax
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0xd4]
push eax
xor eax, eax
push eax
push dword [ebp - 0x1c]
push edx
xor edx, edx
call fcn.180f8680
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2c]
add esp, 0x10
mov dword [esi + 0x48], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x4c], eax
mov word [esi + 2], dx
mov dword [esi + 0x24], edx
mov eax, dword [ebp - 0xd4]
mov dword [esi + 0x28], eax
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0xd4], edx
je 0x18107727
cmp dword [ebx + 8], edx
jne 0x18107477
push 0x1821dd04
push 0x1614a
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.180e855e
add esp, 0x14
push 0xb
jmp 0x18109952
test ecx, ecx
jne 0x18108f57
jmp 0x1810690e
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov ecx, dword [edi + 0x60]
mov edx, dword [ebx + 4]
push 0
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x18]
mov dword [eax], ecx
mov ecx, dword [edx + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
pop edx
mov eax, dword [eax + ecx*4]
xor ecx, ecx
inc ecx
add dword [eax + 0x18], ecx
adc dword [eax + 0x1c], edx
push 2
jmp 0x1810763d
xor eax, eax
mov edx, ebx
mov ecx, edi
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0xc4], eax
call fcn.181049dc
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
mov dword [ebp - 0x2c], eax
mov esi, dword [ecx + edx*4]
mov dword [ebp - 0x4c], esi
test byte [esi + 8], 2
jne 0x1810781d
mov ecx, dword [esi + 0x30]
lea edx, [ebp - 0xc4]
call fcn.180f862c
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
cmp dword [ebp - 0xc4], eax
je 0x181077d3
inc eax
mov dword [ebp - 0x88], eax
xor eax, eax
mov dword [ebp - 0x84], eax
jmp 0x1810781d
mov esi, dword [esi + 0x30]
mov ecx, esi
call fcn.180f7f29
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], ecx
cmp ecx, 0x7fffffff
jl 0x18107807
jg 0x181077fe
cmp eax, 0xffffffff
jb 0x18107807
mov eax, dword [ebp - 0x4c]
or dword [eax + 8], 2
jmp 0x1810781d
xor edx, edx
inc edx
add eax, edx
push 0
pop edx
adc ecx, edx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], ecx
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x181078b2
mov eax, dword [edi + 0xc8]
test eax, eax
jne 0x18107892
imul esi, edx, 0x28
add esi, dword [ebp - 0x20]
mov ecx, esi
call fcn.180fe8e7
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x18107855
cmp edx, 0x7fffffff
je 0x1810792b
mov eax, dword [ebp - 0x4c]
test byte [eax + 8], 2
jne 0x1810792b
xor eax, eax
inc eax
add ecx, eax
push 0
pop eax
adc edx, eax
cmp dword [ebp - 0x84], edx
jg 0x181078a1
jl 0x18107880
mov eax, dword [ebp - 0x88]
cmp eax, ecx
jae 0x181078a7
mov eax, ecx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x88], eax
jmp 0x181078a7
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x18107890
imul esi, edx, 0x28
add esi, dword [eax + 0x10]
jmp 0x18107838
mov eax, dword [ebp - 0x88]
mov dword [esi], eax
mov eax, dword [ebp - 0x84]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x4c]
test byte [eax + 8], 2
je 0x18107935
xor eax, eax
mov esi, eax
lea eax, [ebp - 0x88]
push eax
push 8
pop eax
push eax
call fcn.180e8593
mov eax, dword [ebp - 0x84]
xor edx, edx
mov ecx, dword [ebp - 0x88]
inc edx
push 0
and eax, 0x3fffffff
add ecx, edx
pop edx
adc eax, edx
mov dword [ebp - 0x88], ecx
lea edx, [ebp - 0xc4]
mov dword [ebp - 0x84], eax
push edx
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x4c]
push ecx
mov ecx, dword [eax + 0x30]
call fcn.180f8680
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
cmp dword [ebp - 0xc4], eax
jne 0x18107932
inc esi
cmp esi, 0x64
jl 0x181078bf
push 0xd
jmp 0x18109952
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov byte [eax + 3], dl
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x88]
mov dword [ecx], eax
mov eax, dword [ebp - 0x84]
mov dword [ecx + 4], eax
jmp 0x1810690e
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul esi, dword [ebx + 8], 0x28
mov edx, dword [ebp - 0x20]
mov ecx, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
add esi, edx
mov dword [ebp - 0x2c], ecx
cmp byte [ebx + 1], 0xfa
mov edx, dword [eax + edx]
mov dword [ebp - 0x1e0], edx
mov dword [ebp - 0x50], edx
mov edx, dword [ebp - 0x20]
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x1dc], eax
jne 0x181079b2
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp dword [eax + 0xf0], edx
je 0x181079b2
movsx ecx, byte [ecx + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x1c], ecx
jmp 0x181079b7
xor eax, eax
mov dword [ebp - 0x1c], eax
xor ecx, ecx
mov dword [ebp - 0x24], eax
movzx eax, word [ebx + 2]
inc ecx
mov edx, eax
test cl, al
je 0x181079ce
inc dword [edi + 0x2c]
movzx edx, word [ebx + 2]
movzx ecx, dx
test dl, 0x20
je 0x181079e9
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x50]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x64]
mov dword [ecx + 0x2c], eax
movzx ecx, word [ebx + 2]
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x1d8], eax
mov eax, dword [esi + 0xc]
push 0x10
mov dword [ebp - 0x1cc], eax
pop eax
test al, cl
je 0x18107a0a
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x28]
jmp 0x18107a0e
xor eax, eax
mov edx, eax
mov eax, 0x4000
test word [esi + 8], ax
push 0
pop eax
je 0x18107a28
mov eax, dword [esi]
mov dword [ebp - 0x1c8], eax
xor eax, eax
jmp 0x18107a2e
mov dword [ebp - 0x1c8], eax
mov esi, dword [ebp - 0x2c]
and ecx, 0xa
push edx
mov dword [ebp - 0x1e8], eax
lea edx, [ebp - 0x1e8]
push ecx
mov ecx, dword [esi + 0x30]
call fcn.180fbd51
pop ecx
pop ecx
mov ecx, eax
xor edx, edx
mov dword [ebp - 0x18], ecx
mov byte [esi + 3], dl
mov dword [esi + 0x24], edx
test ecx, ecx
jne 0x18108f57
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x18109669
push dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x14]
push dword [ebp - 0x1e0]
push dword [eax]
mov al, byte [ebx + 2]
push dword [ebp - 0x24]
push 4
pop ecx
and al, cl
movzx eax, al
neg eax
push 5
pop ecx
sbb eax, eax
and eax, ecx
add eax, 0x12
push eax
push dword [edi + 0xec]
call dword [edi + 0xf0]
add esp, 0x18
jmp 0x18104bbc
cmp byte [ebx + 1], 0xfa
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x50], eax
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x2c], esi
jne 0x18107b0f
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp dword [eax + 0xf0], ecx
je 0x18107b0f
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
test byte [ebx + 2], 2
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x1c], eax
je 0x18107b17
cmp byte [esi + 4], 0
je 0x18107b17
mov esi, dword [esi + 0x30]
mov ecx, esi
call fcn.180f7f29
mov ecx, dword [ebp - 0x2c]
mov eax, dword [esi + 0x20]
mov dword [ecx + 0x48], eax
mov eax, dword [esi + 0x24]
mov esi, ecx
mov dword [esi + 0x4c], eax
jmp 0x18107b17
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], eax
mov dl, byte [ebx + 2]
mov ecx, dword [esi + 0x30]
call fcn.180fc0ed
mov ecx, eax
xor edx, edx
mov dword [ebp - 0x18], ecx
mov dword [esi + 0x24], edx
mov dword [esi + 0x28], edx
test ecx, ecx
jne 0x18108f57
inc ecx
test byte [ebp - 0x50], cl
je 0x1810967e
mov edx, dword [ebp - 0x14]
inc dword [edi + 0x2c]
mov eax, dword [edx + 0xf0]
test eax, eax
je 0x18109683
mov ecx, dword [ebp - 0x1c]
test byte [ecx + 0x24], 0x80
jne 0x1810966e
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [ecx]
push dword [ebp - 0x24]
push 9
push dword [edx + 0xec]
call eax
jmp 0x18107aa4
mov ecx, dword [ebp - 0x14]
mov eax, dword [edi + 0x2c]
add dword [ecx + 0x68], eax
xor edx, edx
mov dword [ecx + 0x64], eax
mov dword [edi + 0x2c], edx
jmp 0x18104b6e
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul edx, dword [ebx + 0xc], 0x28
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0x108], eax
lea eax, [ebp - 0x108]
add edx, dword [ebp - 0x20]
push eax
push dword [ebx + 0x10]
call fcn.1810c7d2
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
xor edx, edx
mov esi, eax
cmp dword [ebp - 0x108], edx
jmp 0x18104b6c
imul edx, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
add edx, dword [ebp - 0x20]
mov ecx, dword [eax + ecx*4]
call fcn.1810c77c
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
mov ecx, dword [ebx + 0xc]
xor edx, edx
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x24], edx
jmp 0x1810690e
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov edx, dword [ebx + 4]
mov esi, eax
mov ecx, dword [edi + 0x60]
mov ecx, dword [ecx + edx*4]
mov eax, dword [ecx + 0x30]
mov ecx, eax
mov dword [ebp - 0x2c], eax
call fcn.180f7f29
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov edx, dword [ecx + 0x2c]
cmp edx, dword [eax + 0x6c]
ja 0x18108d84
push esi
call fcn.180fef6a
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
xor edx, edx
cmp dword [ebx + 0xc], edx
jne 0x18109669
mov eax, 0x1000
test word [esi + 8], ax
je 0x18109669
mov ecx, esi
call fcn.180fe4e6
test eax, eax
jne 0x18109c12
jmp 0x18104bbc
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
mov dword [ebp - 0x2c], eax
mov edi, dword [ecx + edx*4]
cmp byte [edi + 2], 0
je 0x18107ca8
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
jmp 0x1810503f
cmp byte [edi + 3], 0
je 0x18107cbf
mov ecx, dword [edi + 0x48]
mov dword [ebp - 0xf0], ecx
mov eax, dword [edi + 0x4c]
jmp 0x18107d52
cmp byte [edi], 2
jne 0x18107cfd
mov ecx, dword [edi + 0x30]
lea edx, [ebp - 0xf0]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
call dword [eax + 0x30]
mov edi, dword [ebp - 0x48]
mov edx, esi
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0x18], eax
call fcn.18102c39
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x18108f57
mov ecx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0x18]
jmp 0x18107d58
mov eax, dword [edi + 0x30]
cmp byte [eax], 0
je 0x18107d1d
mov ecx, edi
call fcn.1810193a
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18109962
mov esi, eax
jmp 0x18107d24
xor eax, eax
mov esi, eax
mov dword [ebp - 0x18], esi
cmp byte [edi + 2], 0
je 0x18107d39
mov edx, dword [ebp - 0x2c]
xor ecx, ecx
inc ecx
mov word [edx + 8], cx
jmp 0x1810503f
mov esi, dword [edi + 0x30]
mov ecx, esi
call fcn.180f7f29
mov ecx, dword [esi + 0x20]
mov dword [ebp - 0xf0], ecx
mov eax, dword [esi + 0x24]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0xec], eax
mov edx, dword [ebp - 0x2c]
mov dword [edx], ecx
mov eax, dword [ebp - 0xec]
mov dword [edx + 4], eax
jmp 0x18104b3d
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
xor ecx, ecx
inc ecx
mov byte [esi + 2], cl
mov dword [esi + 0x24], edx
cmp byte [esi], dl
jne 0x1810967e
mov esi, dword [esi + 0x30]
push dword [esi + 0x10]
call fcn.180e66fc
pop ecx
xor edx, edx
xor ecx, ecx
inc ecx
mov dword [esi + 0x10], edx
mov byte [esi], cl
mov esi, dword [ebp - 0x18]
jmp 0x18107766
mov ecx, dword [ebx + 4]
xor edx, edx
cmp byte [ebp - 0x39], 0x82
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0xd0], edx
jne 0x18107dcb
or dword [esi + 0x28], 0xffffffff
cmp byte [ecx], dl
je 0x18109669
lea edx, [ebp - 0xd0]
call fcn.180f862c
mov ecx, eax
xor edx, edx
mov al, byte [ebp - 0xd0]
mov dword [ebp - 0x18], ecx
mov byte [esi + 2], al
mov byte [esi + 3], dl
mov dword [esi + 0x24], edx
test ecx, ecx
jne 0x18108f57
cmp dword [ebx + 8], edx
jle 0x18109669
cmp dword [ebp - 0xd0], edx
mov esi, ecx
jmp 0x18104b6c
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xcc]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x30]
mov ecx, esi
call fcn.180f8600
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
cmp dword [ebp - 0xcc], eax
jne 0x18109243
mov ecx, esi
call fcn.180f8a49
xor ecx, ecx
cmp edx, ecx
jl 0x18107e6b
jg 0x18107e4f
cmp eax, ecx
jb 0x18107e6b
push edx
push eax
call fcn.180ea279
cwde
pop ecx
pop ecx
cmp eax, dword [ebx + 0xc]
jge 0x18107e6b
xor ecx, ecx
inc ecx
mov eax, ecx
mov dword [ebp - 0xcc], eax
jmp 0x18107e74
mov eax, dword [ebp - 0xcc]
xor ecx, ecx
inc ecx
mov esi, dword [ebp - 0x18]
xor edx, edx
test eax, eax
jne 0x18104b19
jmp 0x18107766
inc dword [edi + 0xac]
mov eax, dword [edi + 0x60]
lea edx, [ebp - 0xc0]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
inc eax
mov dword [ebp - 0xc0], eax
cmp byte [esi], al
jne 0x18107eb3
mov ecx, esi
call fcn.1810c675
xor edx, edx
jmp 0x18107ec3
mov ecx, dword [esi + 0x30]
call fcn.180f8600
xor edx, edx
mov byte [esi + 3], dl
mov dword [esi + 0x24], edx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
mov al, byte [ebp - 0xc0]
mov byte [esi + 2], al
mov esi, ecx
cmp dword [ebp - 0xc0], ecx
jmp 0x18104b6c
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x2c], esi
call fcn.1810c6c5
jmp 0x18107f15
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
push dword [ebx + 0xc]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x2c], esi
push dword [esi + 0x30]
call dword [ebx + 0x10]
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
xor edx, edx
mov dword [esi + 0x24], edx
test ecx, ecx
jne 0x18107f38
mov byte [esi + 2], dl
mov esi, ecx
movzx eax, word [ebx + 2]
inc dword [edi + eax*4 + 0xa4]
jmp 0x18109396
cmp ecx, 0x65
jne 0x18108f57
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov esi, edx
inc ecx
mov dword [ebp - 0x18], esi
mov byte [eax + 2], cl
jmp 0x181067a4
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul esi, dword [ebx + 8], 0x28
mov ecx, dword [eax + ecx*4]
xor eax, eax
inc eax
mov dword [ebp - 0x2c], ecx
add esi, dword [ebp - 0x20]
test byte [ebx + 2], al
je 0x18107f72
inc dword [edi + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x18107f94
mov ecx, esi
call fcn.180fe52c
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
mov ecx, dword [ebp - 0x2c]
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], edx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x280], eax
imul eax, dword [ebx + 0xc], 0x28
push 0x10
pop edx
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x26c], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x268], ax
movzx eax, word [ebx + 2]
test dl, al
je 0x18107fd5
mov ecx, dword [ecx + 0x28]
jmp 0x18107fd7
xor ecx, ecx
mov esi, dword [ebp - 0x2c]
lea edx, [ebp - 0x280]
push ecx
and eax, 0xa
push eax
mov ecx, dword [esi + 0x30]
call fcn.180fbd51
pop ecx
pop ecx
mov ecx, eax
xor edx, edx
mov dword [ebp - 0x18], ecx
mov dword [esi + 0x24], edx
jmp 0x18107727
imul esi, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
add esi, dword [ebp - 0x20]
mov eax, dword [eax + ecx*4]
mov ecx, 0x4000
mov dword [ebp - 0x2c], eax
test word [esi + 8], cx
je 0x18108033
mov ecx, esi
call fcn.180fe52c
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
mov eax, dword [ebp - 0x2c]
mov edx, esi
mov ecx, eax
call fcn.1810baaa
jmp 0x18105760
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0x194], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x18c], ax
imul eax, dword [ebx + 8], 0x28
mov byte [ebp - 0x18a], dl
mov dword [ebp - 0x2c], ecx
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x118]
push eax
push edx
push edx
push edx
lea edx, [ebp - 0x194]
call fcn.180f8680
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
cmp dword [ebp - 0x118], eax
jne 0x181080c4
mov ecx, dword [ebp - 0x2c]
push 4
pop eax
mov dl, al
call fcn.180fc0ed
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
xor edx, edx
jmp 0x181080d0
xor edx, edx
cmp word [ebx + 2], dx
jne 0x1810996a
mov dword [esi + 0x24], edx
mov dword [esi + 0x28], edx
jmp 0x1810690e
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ecx + 0x30]
cmp byte [eax], 0
je 0x1810810a
call fcn.1810193a
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x181056f5
mov ecx, dword [ebp - 0x2c]
mov esi, eax
xor edx, edx
jmp 0x18108111
xor edx, edx
mov esi, edx
mov dword [ebp - 0x18], esi
cmp byte [ecx + 2], 0
jne 0x181081a2
mov dword [ebp - 0xf8], edx
lea eax, [ebp - 0xf8]
mov dword [ebp - 0xf4], edx
mov edx, dword [ecx + 0x30]
mov ecx, dword [ebp - 0x14]
push eax
call fcn.181029c2
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
cmp byte [ebx], 0x86
jne 0x18108183
mov eax, dword [edi + 0x60]
xor edx, edx
mov ecx, dword [ebx + 0xc]
mov ecx, dword [eax + ecx*4]
mov byte [ecx + 2], dl
mov eax, dword [ebp - 0xf8]
mov dword [ecx + 0x48], eax
mov eax, dword [ebp - 0xf4]
mov dword [ecx + 0x4c], eax
xor eax, eax
inc eax
mov byte [ecx + 3], al
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 0x2c], eax
jmp 0x1810690e
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov ecx, dword [ebp - 0xf8]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 4], ecx
jmp 0x18104bbc
imul eax, dword [ebx + 8], 0x28
mov ecx, 0x2400
add eax, dword [ebp - 0x20]
test word [eax + 8], cx
je 0x181081bb
mov ecx, eax
jmp 0x1810502e
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
jmp 0x18107766
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 3], 0
je 0x18104b3d
call fcn.181018f8
jmp 0x18105760
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
cmp byte [ebp - 0x39], 0x28
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x1a4], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x19c], ax
sbb al, al
mov byte [ebp - 0x19a], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x1a0], eax
mov esi, dword [ecx + 0x30]
mov ecx, esi
call fcn.180f7f29
mov edx, dword [esi + 0x2c]
test edx, edx
je 0x18109974
cmp edx, 0x7fffffff
ja 0x18109974
xor eax, eax
mov ecx, esi
mov word [ebp - 0x230], ax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x218], eax
xor eax, eax
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x238]
push eax
call fcn.180fef6a
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
mov edx, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x22c]
push eax
lea eax, [ebp - 0x1a4]
push eax
call fcn.18102254
mov esi, eax
mov eax, 0x2400
pop ecx
pop ecx
test dword [ebp - 0x230], eax
jne 0x181082a4
cmp dword [ebp - 0x220], 0
je 0x181082af
lea ecx, [ebp - 0x238]
call fcn.180fe6fa
xor ecx, ecx
inc ecx
test byte [ebx], cl
jne 0x181082ba
neg esi
jmp 0x181082bb
inc esi
xor edx, edx
test esi, esi
mov esi, dword [ebp - 0x18]
jg 0x18104b19
jmp 0x18107766
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov esi, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], eax
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0xc0]
inc ecx
cmp dword [esi + 0xb4], ecx
jg 0x18109983
mov eax, dword [ebx + 0xc]
xor ecx, ecx
mov esi, dword [ebx + 4]
mov dword [ebp - 0xc8], ecx
mov ecx, eax
mov dword [ebp - 0x2c], eax
add ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
mov edi, dword [eax + ecx*8 + 4]
mov ecx, edi
call fcn.180f4c9d
lea eax, [ebp - 0xc8]
mov edx, esi
push eax
mov ecx, edi
call fcn.180fc7f2
pop ecx
mov ecx, edi
mov dword [ebp - 0x18], eax
call fcn.180f4d16
mov ecx, dword [ebp - 0x1c]
push 4
pop eax
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xc8]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x18108f54
cmp dword [ebp - 0xc8], ecx
je 0x1810966e
push dword [ebx + 4]
mov edx, dword [ebp - 0x2c]
push dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x14]
call fcn.1811aef5
mov al, byte [ebp - 0x2c]
pop ecx
inc al
pop ecx
mov byte [ebp - 0x69], al
jmp 0x18104bbc
mov edx, dword [ebx + 4]
lea ecx, [ebp - 0xfc]
xor eax, eax
mov dword [ebp - 0xfc], eax
mov eax, dword [ebx + 0xc]
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [ebp - 0x14]
push eax
mov eax, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.180fc79b
pop ecx
xor edx, edx
mov ecx, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebx + 0xc], edx
je 0x18107727
mov eax, dword [ebp - 0xfc]
add dword [edi + 0x2c], eax
mov edx, dword [ebx + 0xc]
test edx, edx
jle 0x181083eb
mov esi, dword [ebp - 0x20]
imul ecx, edx, 0x28
cdq
add dword [ecx + esi], eax
adc dword [ecx + esi + 4], edx
mov ecx, dword [ebp - 0x18]
xor edx, edx
jmp 0x18107727
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
xor eax, eax
inc eax
cmp byte [ecx], al
jne 0x18108412
mov edx, dword [ecx + 0x30]
mov ecx, dword [ebp - 0x14]
call fcn.1810b222
jmp 0x18104b3d
mov ecx, dword [ecx + 0x30]
xor eax, eax
push eax
mov edx, dword [ecx + 0x40]
mov ecx, dword [ecx + 8]
call fcn.180fc79b
jmp 0x1810575f
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xb0]
push dword [ebx + 0xc]
mov esi, eax
shl ecx, 4
xor eax, eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x14]
add ecx, dword [eax + 0x10]
mov ecx, dword [ecx + 4]
call fcn.180fc60a
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
mov eax, dword [ebp - 0xb0]
xor edx, edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x1810690e
mov eax, dword [ebp - 0x14]
xor ecx, ecx
push ecx
push ecx
push ecx
inc byte [eax + 0x5a]
push dword [ebx + 0x10]
push eax
call fcn.1812551f
mov esi, dword [ebp - 0x14]
add esp, 0x14
dec byte [esi + 0x5a]
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f5a
jmp 0x18104bbc
mov esi, dword [ebx + 4]
xor edx, edx
cmp dword [ebx + 0x10], edx
jne 0x181084fb
mov eax, dword [ebp - 0x14]
mov ecx, esi
add ecx, ecx
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8 + 0xc]
call fcn.1811ddad
mov eax, dword [ebp - 0x14]
mov edx, esi
mov esi, dword [ebp - 0x14]
pop ecx
mov ecx, esi
and dword [eax + 0x18], 0xffffffef
xor eax, eax
inc eax
push eax
lea eax, [edi + 0x7c]
push eax
call fcn.18128e16
pop ecx
pop ecx
mov ecx, eax
xor eax, eax
inc eax
mov dword [ebp - 0x18], ecx
or dword [esi + 0x18], eax
and dword [edi + 0x98], 0xfffffffc
xor edx, edx
jmp 0x181085c7
mov ecx, dword [ebp - 0x14]
lea eax, [edi + 0x7c]
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x16c], esi
add esi, esi
mov dword [ebp - 0x170], eax
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x164], edx
mov ecx, dword [ecx + esi*8 + 4]
call fcn.180f62aa
mov ecx, dword [ebp - 0x14]
push dword [ebx + 0x10]
mov dword [ebp - 0x15c], eax
push str.sqlite_master
mov eax, dword [ecx + 0x10]
push dword [eax + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push ecx
call fcn.180e83c0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x18109995
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
mov byte [eax + 0xa5], cl
xor ecx, ecx
push ecx
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x160], ecx
lea ecx, [ebp - 0x174]
push ecx
push fcn.18128bd8
push esi
push eax
call fcn.1812551f
add esp, 0x14
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x181085b0
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x181085b0
cmp dword [ebp - 0x160], eax
jne 0x181085b0
mov ecx, 0x1670d
call fcn.1814817b
mov dword [ebp - 0x18], eax
mov edx, esi
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.180e676a
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov byte [esi + 0xa5], dl
test ecx, ecx
jne 0x1810999b
jmp 0x1810690e
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x14]
call fcn.1811752a
jmp 0x18105760
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x14]
call fcn.18118db9
jmp 0x18104fb9
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x14]
call fcn.18118a4b
jmp 0x18104fb9
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x14]
call fcn.18131ad5
jmp 0x18104fb9
imul eax, dword [ebx + 0xc], 0x28
imul edx, dword [ebx + 4], 0x28
mov ecx, dword [ebx + 0x10]
add eax, dword [ebp - 0x20]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], edx
lea edx, [ebp - 0x11c]
mov eax, dword [eax]
push edx
inc eax
push eax
push dword [ebx + 8]
lea eax, [ecx + 4]
mov ecx, dword [ebp - 0x14]
push eax
movzx eax, word [ebx + 2]
add eax, eax
mov edx, dword [ecx + 0x10]
mov edx, dword [edx + eax*8 + 4]
call fcn.180fd36e
mov ecx, dword [ebp - 0x1c]
add esp, 0x10
mov dword [ebp - 0x2c], eax
call fcn.180feaff
mov eax, dword [ebp - 0x11c]
test eax, eax
je 0x181086a0
cmp dword [ebp - 0x2c], 0
je 0x18109c12
mov ecx, dword [ebp - 0x24]
dec eax
cdq
push fcn.180e66fc
sub dword [ecx], eax
sbb dword [ecx + 4], edx
xor eax, eax
mov edx, dword [ebp - 0x2c]
inc eax
mov ecx, dword [ebp - 0x1c]
push eax
push 0xffffffffffffffff
call fcn.180fed5c
add esp, 0xc
movzx edx, byte [ebp - 0x60]
mov ecx, dword [ebp - 0x1c]
call fcn.180fe374
jmp 0x181067a2
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
push 0x10
pop edx
add eax, dword [ebp - 0x20]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], ecx
test byte [eax + 8], dl
jne 0x181086e2
mov ecx, eax
call fcn.180febca
test eax, eax
jne 0x18109c12
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
push dword [ecx + 4]
push dword [ecx]
mov ecx, dword [eax + 0x10]
call fcn.180ee605
jmp 0x18104fe5
imul eax, dword [ebx + 4], 0x28
push 0x10
pop ecx
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
test byte [eax + 8], cl
je 0x1810873a
mov ecx, dword [eax + 0x10]
lea edx, [ebp - 0x140]
call fcn.180ee822
test eax, eax
je 0x18108737
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0x13c]
push dword [ebp - 0x140]
add ecx, dword [ebp - 0x20]
call fcn.180feb6a
pop ecx
pop ecx
jmp 0x181067a2
mov eax, dword [ebp - 0x2c]
mov ecx, eax
call fcn.180feaff
jmp case.0x18104af1.11
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 0xc], 0x28
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x2c], edx
add eax, dword [ebp - 0x20]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], ecx
test byte [eax + 8], 0x10
jne 0x1810877e
mov ecx, eax
call fcn.180febca
test eax, eax
jne 0x18109c12
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
test edx, edx
je 0x181087a2
push dword [ecx + 4]
push dword [ecx]
mov ecx, dword [eax + 0x10]
call fcn.180ee87a
pop ecx
pop ecx
test eax, eax
jne 0x18104b17
cmp dword [ebp - 0x2c], eax
jl 0x1810966e
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
push dword [eax + 4]
mov ecx, dword [ecx + 0x10]
push dword [eax]
jmp 0x181086ea
imul eax, dword [ebx + 0xc], 0x28
xor ecx, ecx
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x38], edx
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
cmp word [ebx + 2], cx
je 0x181087eb
mov ecx, dword [edx + 0x14]
mov eax, dword [edi + 0xc8]
test eax, eax
je 0x181087e8
cmp dword [eax + 0x1c], ecx
je 0x18104b3d
mov eax, dword [eax + 4]
jmp 0x181087d6
mov eax, dword [ebp - 0x24]
mov ecx, dword [edi + 0xd0]
mov edi, dword [ebp - 0x14]
cmp ecx, dword [edi + 0x94]
mov edi, dword [ebp - 0x48]
jge 0x181099b4
test byte [eax + 8], 0x10
jne 0x1810890a
mov eax, dword [ebp - 0x38]
mov edx, dword [edx + 0xc]
mov eax, dword [eax + 8]
add eax, edx
mov dword [ebp - 0x2c], eax
test edx, edx
jne 0x18108823
inc eax
mov dword [ebp - 0x2c], eax
add eax, 2
imul ecx, eax, 0xa
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 4]
add ecx, edx
add eax, 7
mov eax, eax
test eax, eax
jns 0x1810883d
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x50], eax
cdq
push edx
push eax
call fcn.180e699a
mov dword [ebp - 0x1c], eax
pop ecx
pop ecx
test eax, eax
je 0x18109c12
mov ecx, dword [ebp - 0x24]
call fcn.180fe728
mov eax, dword [ebp - 0x24]
mov ecx, 0x410
mov edx, dword [ebp - 0x1c]
sub ebx, dword [ebp - 0x5c]
push 0x14
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x50]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x10], edx
mov dword [eax + 0x24], 0x1810025e
mov eax, dword [ebp - 0x38]
mov dword [edx + 0x3c], ecx
mov dword [edx], edi
mov eax, dword [eax + 0xc]
mov dword [edx + 0x40], eax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x38]
mov dword [edx + 0x30], eax
mov eax, dword [edi + 0x58]
mov dword [edx + 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [edx + 0x38], eax
mov eax, dword [edi + 0x60]
mov dword [edx + 0x14], eax
mov eax, dword [edi + 0x1c]
mov dword [edx + 0x2c], eax
mov eax, dword [edi + 0x68]
mov dword [edx + 8], eax
mov eax, dword [edi + 0x6c]
mov dword [edx + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [edx + 0x1c], eax
lea eax, [ecx + 2]
imul ecx, eax, 0x28
lea eax, [edx + 0x50]
add ecx, edx
cmp eax, ecx
je 0x18108902
mov edi, dword [ebp - 0x14]
mov edx, 0x80
mov word [eax + 8], dx
mov dword [eax + 0x20], edi
add eax, 0x28
cmp eax, ecx
jne 0x181088eb
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x38]
mov ecx, dword [edi + 0xd0]
jmp 0x18108910
mov edx, dword [eax + 0x10]
mov ebx, dword [ebp - 0x38]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x14]
mov dword [edi + 0xd0], eax
mov eax, dword [edi + 0xc8]
mov dword [edx + 4], eax
mov eax, dword [ecx + 0x28]
mov dword [edx + 0x20], eax
mov eax, dword [ecx + 0x2c]
mov dword [edx + 0x24], eax
mov eax, dword [edi + 0x2c]
mov dword [edx + 0x44], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
mov dword [edx + 0x48], eax
mov eax, dword [edi + 0xdc]
mov dword [edx + 0x28], eax
xor eax, eax
mov dword [edi + 0xdc], eax
mov dword [edi + 0x2c], eax
lea eax, [edx + 0x50]
mov dword [edi + 0x58], eax
mov dword [edi + 0xc8], edx
mov ecx, dword [edx + 0x3c]
mov dword [edi + 0x18], ecx
imul ecx, ecx, 0x28
mov dword [ebp - 0x20], eax
movzx eax, word [edx + 0x40]
mov dword [edi + 0x1c], eax
add ecx, 0x50
add ecx, edx
mov dword [edi + 0x60], ecx
mov eax, dword [ebx + 0xc]
lea ecx, [ecx + eax*4]
mov dword [edx + 0x18], ecx
mov eax, dword [ebx + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
xor eax, eax
push eax
push ecx
call fcn.181757a0
mov ecx, dword [ebx]
add esp, 0xc
mov dword [edi + 0x68], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x5c], ecx
mov dword [edi + 0x6c], eax
lea ebx, [ecx - 0x14]
jmp 0x181067a2
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov esi, dword [edi + 0xc8]
mov ecx, 0x1000
push ecx
imul edx, dword [esi + 0x30], 0x14
mov ecx, dword [esi + 8]
mov ecx, dword [edx + ecx + 4]
add ecx, dword [ebx + 4]
imul edx, ecx, 0x28
mov ecx, eax
add edx, dword [esi + 0x10]
jmp 0x181060de
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ecx + 0x20]
and eax, 0x80000
or eax, edx
mov eax, dword [ebx + 8]
je 0x18108a0b
cdq
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
jmp 0x18104b3d
cmp dword [ebx + 4], edx
push 2
cdq
je 0x18108a24
add dword [ecx + 0x1e8], eax
adc dword [ecx + 0x1ec], edx
jmp 0x18104b3f
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp 0x18104b3f
xor edx, edx
cmp dword [ebx + 4], edx
je 0x18108a5c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x1e8]
or eax, dword [ecx + 0x1ec]
jne 0x18104b6e
mov eax, dword [ecx + 0x1f0]
or eax, dword [ecx + 0x1f4]
jmp 0x18105cec
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jne 0x18104b6e
mov ecx, dword [ebp - 0x14]
jmp 0x18108a4b
mov eax, dword [edi + 0xc8]
test eax, eax
jne 0x18108ab7
imul edi, dword [ebx + 4], 0x28
add edi, dword [ebp - 0x20]
mov ecx, edi
call fcn.180fe8e7
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x20]
mov ecx, esi
call fcn.180fe8e7
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x1810966e
jl 0x18108aab
cmp dword [edi], eax
jae 0x1810966e
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x18104bbc
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x18108ab5
imul edi, dword [ebx + 4], 0x28
add edi, dword [eax + 0x10]
jmp 0x18108a7e
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
add ecx, dword [ebp - 0x20]
mov edi, dword [ecx]
cmp dword [ecx + 4], edx
jl 0x18104b6e
jg 0x18108ae5
cmp edi, edx
jbe 0x18104b6e
mov eax, dword [ebx + 0xc]
cdq
sub edi, eax
mov eax, dword [ecx + 4]
mov dword [ecx], edi
sbb eax, edx
mov dword [ecx + 4], eax
jmp 0x18104b17
imul eax, dword [ebx + 0xc], 0x28
mov edx, ebx
imul esi, dword [ebx + 4], 0x28
mov ecx, edi
add eax, dword [ebp - 0x20]
add esi, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
call fcn.181049dc
mov ecx, dword [esi + 4]
xor edx, edx
mov edi, eax
mov eax, dword [esi]
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], ecx
cmp ecx, edx
jl 0x18108b74
jg 0x18108b33
cmp eax, edx
jbe 0x18108b74
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
cmp ecx, edx
jl 0x18108b45
jg 0x18108b49
cmp eax, edx
ja 0x18108b49
mov eax, edx
mov ecx, edx
push ecx
push eax
lea ecx, [ebp - 0x110]
call fcn.180ea039
pop ecx
xor edx, edx
pop ecx
test eax, eax
jne 0x18108b74
mov eax, dword [ebp - 0x110]
mov dword [edi], eax
mov eax, dword [ebp - 0x10c]
mov dword [edi + 4], eax
jmp 0x1810690e
or dword [edi], 0xffffffff
or dword [edi + 4], 0xffffffff
jmp 0x1810690e
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov eax, edx
mov edi, dword [ecx + 4]
or eax, edi
je 0x18104b3d
xor eax, eax
cmp edi, eax
jl 0x18104b17
jg 0x18108baa
cmp edx, eax
jbe 0x18104b17
sub edx, 1
mov dword [ecx], edx
sbb edi, eax
mov dword [ecx + 4], edi
jmp 0x18104b17
imul edx, dword [ebx + 4], 0x28
add edx, dword [ebp - 0x20]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
cmp ecx, 0x80000000
jl 0x18108be3
jg 0x18108bd7
xor edi, edi
cmp eax, edi
jbe 0x18108be3
jmp 0x18108bd9
xor edi, edi
sub eax, 1
mov dword [edx], eax
sbb ecx, edi
mov dword [edx + 4], ecx
or eax, ecx
jmp 0x18105d18
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
push ecx
mov ecx, dword [ebp - 0x14]
lea eax, [eax*4 + 0x44]
push eax
call fcn.180e69f7
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x18109c12
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x2c]
add eax, 7
lea ecx, [esi + eax*4]
xor eax, eax
inc eax
mov dword [esi], ecx
push eax
call fcn.180feaeb
mov eax, dword [ebx + 0x10]
mov dword [esi + 4], eax
mov eax, ebx
sub eax, dword [ebp - 0x5c]
pop ecx
cdq
push 0x14
pop ecx
idiv ecx
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], eax
xor eax, eax
mov byte [esi + 0x18], al
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x2c]
mov byte [esi + 0x19], al
mov word [ebx], 0xf09c
mov dword [ebx + 0x10], esi
imul edx, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edx
cmp dword [esi + 8], edx
je 0x18108c9b
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi + 8], edx
js 0x18108c9b
lea edi, [ecx + 7]
push 4
lea edi, [esi + edi*4]
pop edx
mov eax, dword [ebx + 8]
add eax, ecx
imul eax, eax, 0x28
add eax, dword [ebp - 0x20]
mov dword [edi], eax
sub edi, edx
sub ecx, 1
jns 0x18108c81
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x2c]
inc dword [edx + 0xc]
lea eax, [esi + 0x1c]
cmp dword [ebx + 4], 0
movzx edx, byte [esi + 0x19]
mov ecx, dword [esi + 4]
push eax
push edx
push esi
je 0x18108cb6
call dword [ecx + 0x1c]
jmp 0x18108cb9
call dword [ecx + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x1810966e
jle 0x18108ce6
push dword [esi]
call fcn.18102f92
pop ecx
push eax
push 0x18218e0c
push edi
call fcn.180ff486
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp byte [esi + 0x18], 0
je 0x18108d0a
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x18108d05
xor ecx, ecx
push ecx
inc ecx
push ecx
imul ecx, eax, 0x28
add ecx, dword [ebp - 0x20]
call fcn.180feb6a
pop ecx
pop ecx
xor eax, eax
mov byte [esi + 0x18], al
mov ecx, dword [esi]
call fcn.180fe728
mov eax, dword [esi]
xor ecx, ecx
inc ecx
xor edx, edx
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x18]
mov dword [esi + 0x14], edx
jmp 0x18107727
imul edi, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebx + 0xc]
add edi, ecx
test eax, eax
je 0x18108d50
push dword [ebx + 0x10]
imul edx, eax, 0x28
add edx, ecx
mov ecx, edi
call fcn.180fe687
imul edi, dword [ebx + 0xc], 0x28
pop ecx
add edi, dword [ebp - 0x20]
jmp 0x18108d5a
mov edx, dword [ebx + 0x10]
mov ecx, edi
call fcn.180fe607
mov esi, eax
mov dword [ebp - 0x18], esi
test esi, esi
jne 0x181099cf
movzx edx, byte [ebp - 0x60]
mov ecx, edi
call fcn.180fe374
mov ecx, edi
call fcn.180fec3b
test eax, eax
je 0x18104b3d
mov edi, dword [ebp - 0x48]
push str.string_or_blob_too_big
push edi
call fcn.180ff486
pop ecx
pop ecx
push 0x12
jmp 0x18109952
mov edx, dword [ebx + 4]
xor eax, eax
mov ecx, dword [ebp - 0x14]
or dword [ebp - 8], 0xffffffff
or dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x10], eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebx + 8]
call fcn.181471aa
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x18108de1
push 5
pop eax
cmp ecx, eax
jne 0x18108f57
xor eax, eax
xor ecx, ecx
mov esi, eax
inc ecx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x10], ecx
jmp 0x18108de6
mov esi, dword [ebp - 0x18]
xor eax, eax
imul edi, dword [ebx + 0xc], 0x28
mov ebx, eax
add edi, dword [ebp - 0x20]
mov eax, dword [ebp + ebx*4 - 0x10]
mov ecx, edi
cdq
push edx
push eax
call fcn.180feb6a
inc ebx
add edi, 0x28
pop ecx
pop ecx
cmp ebx, 3
jl 0x18108def
jmp 0x1810672d
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov edx, dword [ebx + 4]
mov edi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x2c], eax
call fcn.180fcb1e
mov ecx, eax
mov dword [ebp - 0x38], eax
call fcn.180f2533
mov dword [ebp - 0x24], eax
cmp edi, 0xffffffff
jne 0x18108e49
mov edi, eax
mov ecx, dword [ebp - 0x38]
call fcn.180f2538
test eax, eax
jne 0x18108e58
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x38]
xor eax, eax
lea edx, [eax + 1]
call fcn.180f22f6
push 5
pop ecx
cmp edi, ecx
jne 0x18108e8b
mov ecx, eax
call fcn.180e8eaa
test eax, eax
je 0x18108e83
mov ecx, dword [ebp - 0x38]
call fcn.180f25ab
test eax, eax
jne 0x18108e88
mov edi, dword [ebp - 0x24]
jmp 0x18108f07
push 5
pop ecx
mov eax, dword [ebp - 0x24]
cmp edi, eax
je 0x18108f07
cmp eax, ecx
je 0x18108e9a
cmp edi, ecx
jne 0x18108f07
mov ecx, dword [ebp - 0x14]
cmp byte [ecx + 0x4f], 0
je 0x181099ea
xor edx, edx
inc edx
cmp dword [ecx + 0xb4], edx
jg 0x181099ea
cmp eax, 5
jne 0x18108ed9
mov esi, dword [ebp - 0x38]
mov edx, ecx
mov ecx, esi
call fcn.180f2684
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x18108f0b
mov edx, edi
mov ecx, esi
call fcn.180f2466
jmp 0x18108eef
push 4
pop ecx
cmp eax, ecx
jne 0x18108eeb
mov ecx, dword [ebp - 0x38]
push 2
pop edx
call fcn.180f2466
test esi, esi
jne 0x18108f0b
mov ecx, dword [ebp - 0x2c]
xor edx, edx
push 5
pop eax
cmp edi, eax
sete dl
inc edx
call fcn.180fd837
mov esi, eax
mov dword [ebp - 0x18], esi
test esi, esi
je 0x18108f0e
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x38]
mov edx, edi
call fcn.180f2466
mov esi, dword [ebp - 0x1c]
mov ecx, 0xa02
mov word [esi + 8], cx
mov ecx, eax
call fcn.181260fb
mov ecx, eax
mov dword [esi + 0x10], eax
call fcn.180e8eaa
movzx edx, byte [ebp - 0x60]
mov ecx, esi
mov dword [esi + 0xc], eax
xor eax, eax
inc eax
mov byte [esi + 0xa], al
call fcn.180fe374
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x18104bbc
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp - 0x14]
cmp byte [esi + 0x51], 0
je 0x18109c31
push 7
pop ecx
jmp 0x18109c45
mov eax, dword [ebx + 8]
test eax, eax
je 0x18108f7b
imul eax, eax, 0x28
add eax, dword [ebp - 0x20]
jmp 0x18108f7d
xor eax, eax
mov edx, dword [ebp - 0x14]
lea ecx, [edi + 0x7c]
push eax
push dword [ebx + 4]
call fcn.1813465f
pop ecx
jmp 0x1810575f
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 4]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + ecx*8 + 4]
call fcn.180f7823
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x1810966e
cmp ecx, 0x65
jne 0x18108f57
xor edx, edx
mov esi, edx
mov dword [ebp - 0x18], esi
jmp 0x18104b19
xor edx, edx
cmp dword [ebx + 4], edx
jne 0x18108fdb
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x14]
call fcn.18102b4e
jmp 0x18104b3d
mov eax, dword [ebx + 8]
inc eax
xor eax, dword [edi + 0x98]
and eax, 3
xor dword [edi + 0x98], eax
jmp 0x18104b6e
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x30]
call fcn.180f7f5f
jmp 0x18104b3d
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x30]
call fcn.180f7f64
jmp 0x18104b3d
mov al, byte [ebx + 0xc]
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 0x120], al
test al, al
jne 0x18109042
mov eax, dword [ecx + 0x20]
and eax, 0x400
mov dword [ebp - 0x30], eax
jne 0x18104b3d
xor edx, edx
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
push dword [ebp - 0x120]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.180fd790
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x18104bbc
cmp cl, 6
jne 0x18108f57
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x181099df
mov esi, dword [ebx + 0x10]
mov edx, esi
mov ecx, dword [ebp - 0x14]
call fcn.181357e3
mov ecx, eax
mov dword [ebp - 0x18], ecx
test esi, esi
je 0x18105765
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.18102c39
jmp 0x18106cc4
xor eax, eax
push 0x28
push eax
lea eax, [ebp - 0x2d0]
push eax
call fcn.181757a0
imul edx, dword [ebx + 8], 0x28
lea ecx, [ebp - 0x2d0]
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 0x2b0], eax
add edx, dword [ebp - 0x20]
call fcn.180fecd2
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x2d0]
push eax
call fcn.18102f92
pop ecx
test eax, eax
je 0x18109101
mov edx, dword [ebx + 4]
lea ecx, [edi + 0x7c]
push ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.18135445
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x2d0]
call fcn.180fe728
jmp 0x18106cc4
mov eax, dword [ebp - 0x14]
mov ecx, eax
inc dword [eax + 0xc0]
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.181356e9
mov esi, dword [ebp - 0x14]
pop ecx
dec dword [esi + 0xc0]
jmp 0x18108495
xor eax, eax
mov dword [ebp - 0xbc], eax
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x18109a1b
mov eax, dword [esi]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x18109a1b
lea ecx, [ebp - 0xbc]
push ecx
push esi
call dword [eax + 0x18]
pop ecx
pop ecx
mov edx, esi
mov dword [ebp - 0x18], eax
mov ecx, edi
call fcn.18102c39
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x18108f57
mov eax, dword [ebp - 0xbc]
mov ecx, edi
push 2
push 0xffffffffffffffff
mov dword [eax], esi
xor eax, eax
mov edx, dword [ebx + 4]
push eax
call fcn.181046f4
add esp, 0xc
test eax, eax
je 0x18109a09
mov ecx, dword [ebp - 0xbc]
mov dword [eax + 0x30], ecx
inc dword [esi + 4]
jmp 0x18104bbc
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul edx, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x64], eax
add edx, dword [ebp - 0x20]
mov esi, dword [eax + 0x30]
mov ecx, dword [edx + 0x28]
mov eax, dword [esi]
mov dword [ebp - 0x50], eax
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [edx]
mov dword [ebp - 0x24], eax
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0x2c], eax
xor eax, eax
test ecx, ecx
jle 0x181091fa
mov edi, dword [ebp - 0x2c]
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x181091ec
mov edi, dword [ebp - 0x48]
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
push ecx
push dword [ebx + 0x10]
push dword [ebp - 0x24]
push esi
call dword [eax + 0x20]
mov edx, dword [ebp - 0x50]
add esp, 0x14
mov ecx, edi
mov dword [ebp - 0x18], eax
call fcn.18102c39
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x18108f57
mov eax, dword [ebp - 0x1c]
push esi
call dword [eax + 0x28]
pop ecx
mov ecx, dword [ebp - 0x64]
xor edx, edx
mov byte [ecx + 2], dl
test eax, eax
je 0x1810690e
jmp 0x18107477
mov esi, dword [ebp - 0x18]
jmp 0x18104b17
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul edi, dword [ebx + 0xc], 0x28
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x2c], ecx
add edi, dword [ebp - 0x20]
cmp byte [ecx + 2], 0
je 0x18109270
mov ecx, edi
call fcn.180feaff
jmp 0x18104b3d
mov eax, dword [ecx + 0x30]
push 0x20
mov esi, dword [eax]
mov eax, dword [esi]
mov dword [ebp - 0x1c], eax
xor eax, eax
push eax
lea eax, [ebp - 0x258]
push eax
call fcn.181757a0
xor ecx, ecx
mov dword [ebp - 0x258], edi
inc ecx
add esp, 0xc
test byte [ebx + 2], cl
je 0x181092ae
mov ecx, edi
call fcn.180feaff
xor eax, eax
mov dword [edi], eax
mov eax, 0x4001
jmp 0x181092c0
mov ax, word [edi + 8]
mov edx, 0x3e40
and ax, dx
or ax, cx
movzx eax, ax
mov word [edi + 8], ax
lea eax, [ebp - 0x258]
push dword [ebx + 8]
push eax
mov eax, dword [ebp - 0x2c]
push dword [eax + 0x30]
mov eax, dword [ebp - 0x1c]
call dword [eax + 0x2c]
add esp, 0xc
mov dword [ebp - 0x18], eax
mov edx, esi
mov esi, dword [ebp - 0x48]
mov ecx, esi
call fcn.18102c39
cmp dword [ebp - 0x244], 0
jle 0x18109314
push edi
call fcn.18102f92
pop ecx
push eax
push 0x18218e0c
push esi
call fcn.180ff486
mov eax, dword [ebp - 0x244]
add esp, 0xc
mov dword [ebp - 0x18], eax
movzx edx, byte [ebp - 0x60]
mov ecx, edi
call fcn.180fe374
mov ecx, edi
call fcn.180fec3b
test eax, eax
jne 0x18109a47
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x18104bbc
mov edi, esi
jmp 0x18108f57
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2c], eax
cmp byte [eax + 2], 0
jne 0x18104b3d
mov eax, dword [eax + 0x30]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x1c], ecx
call dword [ecx + 0x24]
pop ecx
mov edx, esi
mov dword [ebp - 0x18], eax
mov ecx, edi
call fcn.18102c39
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x18108f57
mov eax, dword [ebp - 0x2c]
push dword [eax + 0x30]
mov eax, dword [ebp - 0x1c]
call dword [eax + 0x28]
mov esi, dword [ebp - 0x18]
pop ecx
test eax, eax
jne 0x181067a2
xor edx, edx
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x5c]
add ebx, 0xffffffec
add ebx, eax
jmp 0x181067a4
mov ecx, dword [ebp - 0x14]
mov edx, 0x4000000
mov eax, dword [ecx + 0x20]
or dword [ecx + 0x20], edx
and eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [ebx + 0x10]
imul esi, dword [ebx + 4], 0x28
mov eax, dword [eax + 8]
mov dword [ebp - 0x2c], eax
xor eax, eax
add esi, dword [ebp - 0x20]
mov ecx, esi
lea edx, [eax + 1]
call fcn.180fe374
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
mov ecx, dword [ebp - 0x2c]
push dword [esi + 0x10]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x4c]
cmp dword [ebp - 0x1c], 0
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
jne 0x18109410
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
mov edx, dword [ebp - 0x2c]
mov ecx, edi
call fcn.18102c39
and dword [edi + 0x98], 0xfffffffc
jmp 0x18106cc4
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x51], 0
jne 0x18109c15
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 8]
mov dword [ebp - 0x1c], edx
test edx, edx
je 0x18109a1b
mov ecx, dword [edx]
mov dword [ebp - 0x50], ecx
test ecx, ecx
je 0x18109a1b
mov eax, dword [ebx + 8]
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ecx + 0x34], eax
je 0x18104b3d
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov esi, dword [ebp - 0x24]
mov al, byte [eax + 0x56]
mov byte [ebp - 0x39], al
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0x2c], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x20]
test esi, esi
jle 0x18109492
mov edx, dword [ebp - 0x2c]
mov dword [edx + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, esi
jl 0x18109484
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov al, byte [ebx + 2]
mov byte [ecx + 0x56], al
lea eax, [ebp - 0x148]
push eax
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x50]
push esi
push edx
call dword [eax + 0x34]
mov ecx, dword [ebp - 0x14]
add esp, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov al, byte [ebp - 0x39]
mov byte [ecx + 0x56], al
mov ecx, edi
call fcn.18102c39
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x181094eb
mov esi, dword [ebp - 0x14]
xor edx, edx
cmp dword [ebx + 4], edx
je 0x1810951a
mov eax, dword [ebp - 0x148]
mov dword [esi + 0x28], eax
mov eax, dword [ebp - 0x144]
mov dword [esi + 0x2c], eax
jmp 0x1810951a
cmp cl, 0x13
jne 0x18109515
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x18109515
movzx eax, word [ebx + 2]
push 4
pop edx
cmp ax, dx
jne 0x18109a31
xor edx, edx
mov esi, edx
mov dword [ebp - 0x18], esi
jmp 0x18104b6e
mov esi, dword [ebp - 0x14]
xor edx, edx
inc dword [edi + 0x2c]
test ecx, ecx
jne 0x18108f5a
jmp 0x1810690e
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov edx, dword [ebx + 4]
mov esi, eax
mov eax, dword [ebp - 0x14]
add edx, edx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
call fcn.180f62aa
jmp 0x1810846c
mov edx, ebx
mov ecx, edi
call fcn.181049dc
mov edx, dword [ebx + 4]
mov dword [ebp - 0x2c], eax
add edx, edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov edi, dword [ecx + edx*8 + 4]
xor ecx, ecx
mov eax, ecx
cmp dword [ebx + 0xc], ecx
je 0x18109581
mov ecx, edi
call fcn.180f62aa
cmp eax, dword [ebx + 0xc]
jae 0x18109581
mov eax, dword [ebx + 0xc]
mov edx, eax
mov ecx, edi
call fcn.180f6ccd
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x18104b6e
imul ecx, dword [ebx + 0xc], 0x28
mov edi, dword [ebx + 0x10]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
cmp dword [edi], ecx
je 0x181095db
movzx edx, byte [edi + 0x19]
sub edx, 1
mov eax, dword [ebp - 0x48]
mov dword [edi + 0xc], eax
mov dword [edi], ecx
js 0x181095db
lea ecx, [edx + 7]
lea ecx, [edi + ecx*4]
mov eax, dword [ebx + 8]
add eax, edx
imul eax, eax, 0x28
push 4
add eax, dword [ebp - 0x20]
mov dword [ecx], eax
pop eax
sub ecx, eax
sub edx, 1
jns 0x181095c1
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 8]
mov edx, 0x3e40
and ax, dx
xor edx, edx
inc edx
or ax, dx
mov word [ecx + 8], ax
lea eax, [edi + 0x1c]
mov ecx, dword [edi + 4]
push eax
movzx eax, byte [edi + 0x19]
push eax
push edi
call dword [ecx + 0x10]
mov eax, dword [edi + 0x14]
add esp, 0xc
test eax, eax
je 0x1810965a
jle 0x1810962d
push dword [ebp - 0x1c]
call fcn.18102f92
pop ecx
push eax
push 0x18218e0c
push dword [ebp - 0x48]
call fcn.180ff486
mov eax, dword [edi + 0x14]
add esp, 0xc
mov dword [ebp - 0x18], eax
push dword [ebx + 4]
mov edx, dword [ebp - 0x48]
push dword [edi + 0x10]
mov ecx, dword [ebp - 0x14]
lea edx, [edx + 0xdc]
call fcn.1810179b
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [edi + 0x14], edx
test ecx, ecx
jne 0x18108f54
mov esi, ecx
jmp 0x1810965c
xor edx, edx
mov edi, dword [ebp - 0x1c]
test byte [edi + 8], 0x12
jne 0x18108d67
push 2
pop eax
jmp 0x18109673
push 2
pop eax
xor edx, edx
xor ecx, ecx
inc ecx
mov esi, dword [ebp - 0x18]
jmp 0x18104b45
push 2
pop eax
jmp 0x18109676
push 2
pop eax
xor edx, edx
jmp 0x18109676
push 2
pop eax
jmp 0x18109675
xor edx, edx
jmp 0x18109675
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + 0x58]
test cl, 0x41
je 0x18109746
cmp byte [edi + 0x95], 0
jne 0x18109746
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x181096c4
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x18109746
test cl, 0x40
je 0x181096ef
mov edx, eax
mov ecx, edi
call fcn.181043e4
mov esi, eax
mov eax, dword [ebp - 0x14]
push esi
push dword [eax + 0xd0]
call dword [eax + 0xcc]
push esi
call fcn.180e66fc
add esp, 0xc
jmp 0x18109730
mov ecx, dword [ebp - 0x14]
xor edx, edx
inc edx
push eax
cmp dword [ecx + 0xbc], edx
jle 0x18109735
push str.____s
push ecx
call fcn.180e83c0
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
push esi
push edi
push dword [eax + 0xd0]
push ecx
call dword [eax + 0xcc]
mov ecx, dword [ebp - 0x14]
add esp, 0x10
mov edx, esi
call fcn.180e67b9
mov esi, dword [ebp - 0x18]
jmp 0x18109746
push edi
push dword [ecx + 0xd0]
push edx
call dword [ecx + 0xcc]
add esp, 0x10
mov eax, dword [ebx + 4]
cmp eax, dword [0x1822bef4]
jl 0x18109788
cmp byte [ebx], 0xab
je 0x18104b3d
xor eax, eax
inc eax
mov edx, eax
cmp dword [edi + 0x6c], eax
jle 0x18109782
push 0x14
pop eax
push eax
pop ebx
mov ecx, dword [edi + 0x68]
cmp byte [eax + ecx], 0x11
jne 0x18109777
and dword [eax + ecx + 4], 0
inc edx
add eax, ebx
cmp edx, dword [edi + 0x6c]
jl 0x18109769
mov ebx, dword [ebp - 0x38]
xor edx, edx
mov eax, edx
jmp 0x1810978a
xor edx, edx
inc eax
mov dword [ebx + 4], eax
inc dword [edi + 0xbc]
jmp 0x18104b19
push 2
pop eax
jmp 0x18105ac0
mov dword [edi + 0x28], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x92], al
mov dword [edi + 0x24], edx
test ecx, ecx
je 0x18109820
movzx eax, word [ebx + 2]
test ax, ax
je 0x181097f3
push dword [eax*4 + 0x181e6350]
push str._s_constraint_failed
push edi
call fcn.180ff486
add esp, 0xc
cmp dword [ebx + 0x10], 0
je 0x18109804
push dword [ebx + 0x10]
push dword [edi + 0x7c]
push str._z:__s
push dword [ebp - 0x14]
call fcn.180e83c0
add esp, 0x10
mov dword [edi + 0x7c], eax
jmp 0x18109804
push dword [ebx + 0x10]
push 0x18218e0c
push edi
call fcn.180ff486
add esp, 0xc
push dword [edi + 0x7c]
push dword [edi + 0xc0]
push dword [ebp - 0x1c]
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.180e855e
add esp, 0x14
mov ecx, edi
call fcn.18101383
mov edx, dword [ebp - 0x14]
mov esi, eax
push 5
pop eax
cmp esi, eax
jne 0x1810983b
mov dword [edi + 0x28], eax
jmp 0x18109cd1
mov ecx, dword [edi + 0x28]
neg ecx
sbb ecx, ecx
and ecx, 0xffffff9c
add ecx, 0x65
mov dword [ebp - 0x18], ecx
mov esi, ecx
jmp 0x18109cd1
push 0x1821dd04
push 0x15975
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
pop eax
push eax
mov dword [ebp - 0x18], eax
call fcn.180e855e
add esp, 0x14
push 0xb
pop ecx
jmp 0x18108f54
push str.cannot_open_savepoint___SQL_statements_in_progress
push edi
call fcn.180ff486
pop ecx
pop ecx
push 5
jmp 0x181056f2
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x18109882
mov eax, ebx
sub eax, dword [ebp - 0x5c]
push 0x14
cdq
pop esi
idiv esi
mov dword [edi + 0x24], eax
xor eax, eax
mov edx, dword [ebp - 0x14]
mov esi, ecx
mov byte [edx + 0x4f], al
mov dword [edi + 0x28], ecx
jmp 0x18109cd1
push eax
push str.no_such_savepoint:__s
push edi
call fcn.180ff486
add esp, 0xc
xor eax, eax
lea ecx, [eax + 1]
jmp 0x181056f5
push 8
jmp 0x181056f2
cmp cl, 5
jne 0x18108f57
mov eax, ebx
mov dword [edi + 0x28], ecx
sub eax, dword [ebp - 0x5c]
push 0x14
pop esi
cdq
idiv esi
mov esi, dword [ebp - 0x18]
mov dword [edi + 0x24], eax
jmp 0x18109cce
mov edx, dword [edi + 0x7c]
test edx, edx
je 0x18109909
mov ecx, dword [ebp - 0x14]
call fcn.180e676a
mov ecx, dword [ebp - 0x14]
mov edx, str.database_schema_has_changed
call fcn.180e6bd2
mov dword [edi + 0x7c], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebx + 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 [ebp - 0x98]
je 0x1810993c
mov ecx, dword [ebp - 0x14]
call fcn.18118b5a
mov eax, dword [edi + 0x98]
xor ecx, ecx
and eax, 0xfffffffd
inc ecx
or eax, ecx
mov dword [edi + 0x98], eax
push 0x11
pop ecx
jmp 0x181056f5
mov ecx, 0x204
jmp 0x181056f5
mov dword [ebp - 0x18], ecx
jmp 0x18108f54
mov ecx, 0x30b
jmp 0x181056f5
push 0x1821dd04
push 0x16610
jmp 0x1810770c
push 6
pop ecx
mov dword [ebp - 0x18], ecx
mov byte [edi + 0x92], 2
jmp 0x18108f5a
push 7
pop eax
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x14]
call fcn.18118bb0
mov ecx, dword [ebp - 0x18]
cmp ecx, 7
je 0x18109c12
jmp 0x18108f57
xor eax, eax
inc eax
push str.too_many_levels_of_trigger_recursion
push edi
mov dword [ebp - 0x18], eax
call fcn.180ff486
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
jmp 0x18108f57
push edi
call fcn.18102f92
pop ecx
push eax
push 0x18218e0c
mov edi, dword [ebp - 0x48]
push edi
call fcn.180ff486
add esp, 0xc
jmp 0x181099c7
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
push 5
pop eax
cmp edi, eax
mov eax, str.into
je 0x18109a01
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x181099dc
mov eax, dword [ebp - 0x2c]
push dword [ebp - 0xbc]
call dword [eax + 0x1c]
pop ecx
jmp 0x18109c12
push 6
jmp 0x18109952
or dword [ebp - 0x74], 0xffffffff
or dword [ebp - 0x7c], 0xffffffff
push 9
jmp 0x18109952
push 5
pop edx
cmp ax, dx
jne 0x18109a3c
push 2
pop eax
mov byte [edi + 0x92], al
jmp 0x18108f57
mov edi, esi
jmp 0x18108d84
xor edx, edx
mov ecx, edi
call fcn.18101328
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x18108f57
mov eax, dword [edi]
xor edx, edx
cmp dword [eax + 0x1e0], edx
je 0x18109a83
cmp dword [edi + 0x30], edx
je 0x18109a83
xor eax, eax
mov ecx, edi
lea edx, [eax + 1]
call fcn.18101232
xor edx, edx
mov eax, dword [edi + 0x20]
xor ecx, ecx
add eax, 2
mov dword [ebp - 0xb0], edx
inc ecx
or eax, ecx
mov dword [edi + 0x20], eax
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x20]
mov dword [edi + 0x78], esi
cmp dword [ebx + 8], edx
jle 0x18109af2
mov eax, 0x1000
test word [esi + 8], ax
je 0x18109ac0
mov ecx, esi
call fcn.180fe4e6
test eax, eax
jne 0x18109c12
mov ax, word [esi + 8]
mov ecx, 0x202
and ax, cx
push 2
pop ecx
cmp ax, cx
jne 0x18109adb
mov ecx, esi
call fcn.180fe4a0
mov eax, dword [ebp - 0xb0]
add esi, 0x28
inc eax
mov dword [ebp - 0xb0], eax
cmp eax, dword [ebx + 8]
jl 0x18109aa6
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x51], 0
jne 0x18109c15
push 4
pop ecx
test byte [eax + 0x58], cl
je 0x18109b19
push edx
push edi
push dword [eax + 0xd0]
push ecx
call dword [eax + 0xcc]
add esp, 0x10
mov eax, ebx
sub eax, dword [ebp - 0x5c]
push 0x14
pop ecx
cdq
idiv ecx
push 0x64
inc eax
mov dword [edi + 0x24], eax
pop esi
jmp 0x18109cce
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebx + 4]
mov esi, dword [ebx + 8]
mov dword [ebp - 0x98], ecx
movzx eax, byte [edx + 0x4f]
cmp ecx, eax
je 0x18109be8
test esi, esi
je 0x18109b65
mov esi, dword [ebp - 0x14]
mov edx, 0x204
mov ecx, esi
call fcn.18146758
xor ecx, ecx
inc ecx
mov al, cl
jmp 0x18109ba2
test ecx, ecx
je 0x18109b7d
xor eax, eax
cmp dword [edx + 0xb8], eax
jle 0x18109b7d
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x18109882
xor eax, eax
mov ecx, edi
lea edx, [eax + 1]
call fcn.18101328
mov esi, eax
test esi, esi
jne 0x18109cce
mov al, byte [ebp - 0x98]
mov esi, dword [ebp - 0x14]
mov byte [ebp - 0x98], al
mov ecx, edi
mov byte [esi + 0x4f], al
call fcn.18101383
push 5
pop ecx
cmp eax, ecx
jne 0x18109bcf
mov eax, ebx
sub eax, dword [ebp - 0x5c]
cdq
push 0x14
pop esi
idiv esi
mov dword [edi + 0x24], eax
xor eax, eax
inc eax
sub al, byte [ebp - 0x98]
jmp 0x181098a8
mov ecx, esi
call fcn.181462a9
mov esi, dword [edi + 0x28]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x18109cce
test ecx, ecx
jne 0x18109bf3
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x18109c01
mov eax, str.cannot_rollback___no_transaction_is_active
test esi, esi
jne 0x18109c01
mov eax, str.cannot_commit___no_transaction_is_active
push eax
push edi
call fcn.180ff486
pop ecx
pop ecx
jmp 0x181098c7
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
push eax
call fcn.180e6cd2
mov dword [esp], str.out_of_memory
push edi
call fcn.180ff486
pop ecx
pop ecx
push 7
jmp 0x18109952
cmp ecx, 0x210a
jne 0x18109c48
mov ecx, 0x16e39
call fcn.1814817b
mov ecx, eax
mov dword [ebp - 0x18], ecx
xor eax, eax
cmp dword [edi + 0x7c], eax
jne 0x18109c6b
cmp ecx, 0xc0a
je 0x18109c6b
call fcn.18146861
push eax
push 0x18218e0c
push edi
call fcn.180ff486
add esp, 0xc
mov esi, dword [ebp - 0x18]
mov edx, esi
mov ecx, dword [ebp - 0x14]
mov dword [edi + 0x28], esi
call fcn.180e8f14
push dword [edi + 0x7c]
mov eax, ebx
push dword [edi + 0xc0]
sub eax, dword [ebp - 0x5c]
push 0x14
pop ecx
cdq
idiv ecx
push eax
push str.statement_aborts_at__d:___s___s
push esi
call fcn.180e855e
add esp, 0x14
mov ecx, edi
call fcn.18101383
cmp esi, 0xc0a
jne 0x18109cb6
push dword [ebp - 0x14]
call fcn.180e6cd2
pop ecx
xor eax, eax
lea esi, [eax + 1]
mov al, byte [ebp - 0x69]
test al, al
je 0x18109cce
mov ecx, dword [ebp - 0x14]
movzx edx, al
dec edx
call fcn.18118b5a
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x7c]
jb 0x18109d29
mov ecx, dword [ebp - 0x74]
ja 0x18109ce9
cmp dword [ebp - 0xa0], ecx
jb 0x18109d29
mov eax, dword [edx + 0x158]
test eax, eax
je 0x18109d29
add ecx, dword [edx + 0x160]
push 0
mov dword [ebp - 0x74], ecx
pop ecx
push dword [edx + 0x15c]
adc dword [ebp - 0x7c], ecx
call eax
mov edx, dword [ebp - 0x14]
pop ecx
test eax, eax
je 0x18109cd1
push 9
or eax, 0xffffffff
mov esi, edx
or dword [ebp - 0x7c], 0xffffffff
pop ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x18], ecx
jmp 0x18108f5a
mov ecx, dword [ebp - 0xa0]
add dword [edi + 0xb4], ecx
mov ecx, edi
call fcn.181001aa
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.181605f4
leave
ret