Function at 0x180fc816
Capabilities:
Encrypt data using speck
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x26c
mov eax, dword [0x1820f00c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov esi, ebx
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x14], esi
mov byte [ebp - 0x75], bl
mov eax, dword [edi + 0x58]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x4c], eax
mov eax, dword [edi]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
mov al, byte [eax + 0x46]
mov byte [ebp - 0x64], al
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0x1c], eax
call fcn.180f814b
xor eax, eax
inc eax
cmp dword [edi + 0x28], 7
mov dword [ebp - 0x134], eax
je 0x180fe0be
mov ecx, dword [ebp - 0x18]
mov dword [edi + 0x38], ebx
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x68], ebx
mov dword [ecx + 0x18c], ebx
cmp dword [ecx + 0x100], ebx
jne 0x181012d4
cmp dword [ecx + 0x138], ebx
je 0x180fc8bc
mov ecx, dword [ecx + 0x140]
xor edx, edx
mov eax, dword [edi + 0xb0]
div ecx
xor eax, eax
sub ecx, edx
inc eax
mov dword [ebp - 0xc4], ecx
jmp 0x180fc8c3
or dword [ebp - 0xc4], 0xffffffff
imul ebx, dword [edi + 0x24], 0x14
fldz
fstp qword [ebp - 0x1c0]
mov dword [ebp - 0x130], 0x3e00
add ebx, dword [ebp - 0x60]
mov cl, byte [ebx]
inc dword [ebp - 0x9c]
movzx edx, cl
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 0x21], cl
mov dword [ebp - 0x34], edx
cmp edx, 0xa7
ja case.0x180fc8fc.83
jmp dword [edx*4 + 0x181012fe]
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
push 0x14
pop edi
add ecx, dword [ebp - 0x1c]
mov word [ecx + 8], ax
mov eax, ebx
sub eax, dword [ebp - 0x60]
cdq
idiv edi
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x18100e3c
imul eax, dword [ebx + 4], 0x28
mov ecx, 0x80
add eax, dword [ebp - 0x1c]
imul ebx, dword [eax], 0x14
add ebx, dword [ebp - 0x60]
mov word [eax + 8], cx
jmp 0x180fc9b0
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
push 4
add ecx, dword [ebp - 0x1c]
dec eax
cdq
mov dword [ecx], eax
pop eax
mov word [ecx + 8], ax
xor eax, eax
mov dword [ecx + 4], edx
cmp dword [ebx + 8], eax
jne 0x18100e3c
jmp 0x180fc9b0
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x60]
add ecx, dword [ebp - 0x1c]
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 0x180fc9b0
imul esi, dword [ebx + 4], 0x28
sub ebx, dword [ebp - 0x60]
push 4
pop eax
push 0x14
add esi, dword [ebp - 0x1c]
pop edi
mov word [esi + 8], ax
mov eax, ebx
cdq
idiv edi
mov ecx, dword [esi]
imul ebx, ecx, 0x14
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x14]
xor eax, eax
inc eax
mov edi, dword [ebp - 0x70]
push 0x14
pop ecx
add ebx, ecx
jmp 0x180fc8dc
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x1c]
test byte [eax + ecx + 8], 1
je 0x180fc9b0
mov eax, ebx
sub eax, dword [ebp - 0x60]
push 0x14
pop ecx
cdq
idiv ecx
mov ecx, dword [ebx + 4]
mov edx, eax
mov dword [ebp - 0x54], edx
test ecx, ecx
jne 0x18100e4d
mov eax, dword [edi + 0xc4]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x18100e4d
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x18]
dec dword [edi + 0xcc]
mov dword [edi + 0xc4], eax
mov eax, dword [edi + 0x2c]
add dword [ecx + 0x60], eax
mov dword [ecx + 0x5c], eax
mov ecx, dword [ebp - 0x2c]
call fcn.180f8914
mov edx, dword [edi + 0x58]
push 4
pop ecx
mov dword [ebp - 0x60], edx
cmp dword [ebx + 8], ecx
jne 0x180fca33
imul eax, eax, 0x14
mov eax, dword [eax + edx + 8]
dec eax
mov ecx, dword [edi + 0x5c]
imul ebx, eax, 0x14
mov dword [ebp - 0x1c], ecx
add ebx, edx
jmp 0x180fc9b0
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x180fc9b0
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
mov edx, dword [ebx + 0x10]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
jmp 0x180fc9b0
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
push 8
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebx + 0x10]
fld qword [ecx]
fstp qword [eax]
jmp 0x180fc9b0
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
cmp dword [ebx + 0x10], 0
mov dword [ebp - 0x34], eax
mov byte [ebx], 0x45
jne 0x180fcaac
xor ecx, ecx
jmp 0x180fcac0
push dword [ebx + 0x10]
call fcn.1816ad40
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x34]
and ecx, 0x3fffffff
xor edx, edx
mov dword [ebx + 4], ecx
inc edx
cmp byte [ebp - 0x64], dl
je 0x180fcb3c
xor ecx, ecx
push ecx
push edx
mov edx, dword [ebx + 0x10]
mov ecx, eax
push 0xffffffffffffffff
call fcn.180f6f63
mov ecx, dword [ebp - 0x34]
add esp, 0xc
mov esi, eax
mov dword [ebp - 0x14], esi
test byte [ecx + 8], 2
je 0x180fcb06
mov al, byte [ebp - 0x64]
cmp byte [ecx + 0xa], al
je 0x180fcb06
mov dl, al
call fcn.180e18d0
test eax, eax
jne 0x180fe0be
mov ecx, dword [ebp - 0x34]
xor eax, eax
mov dword [ecx + 0x18], eax
mov eax, 0x800
or word [ecx + 8], ax
cmp byte [ebx + 1], 0xf9
jne 0x180fcb2c
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x180fcb2c
mov ecx, dword [ebp - 0x18]
call fcn.180dfba4
mov ecx, dword [ebp - 0x34]
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 - 0x18]
cmp ecx, dword [eax + 0x64]
jg 0x18100426
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
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 - 0x64]
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 0x18100d2d
mov edi, dword [ebp - 0x1c]
imul ecx, eax, 0x28
movzx eax, word [ebx + 2]
cdq
cmp dword [ecx + edi], eax
mov edi, dword [ebp - 0x2c]
jne 0x18100d2d
mov eax, dword [ebp - 0x1c]
cmp dword [ecx + eax + 4], edx
jne 0x18100d2d
mov eax, 0xa10
mov word [edi + 8], ax
jmp 0x180fc9b0
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebx + 4]
lea edi, [eax + 8]
neg ecx
sbb ecx, ecx
and dword [eax + 0xc], 0
mov eax, dword [ebp - 0x34]
and ecx, 0x100
inc ecx
sub eax, edx
movzx ecx, cx
mov dword [ebp - 0x2c], ecx
mov word [edi], cx
mov dword [ebp - 0x34], eax
test eax, eax
jle 0x18100d2d
xor edx, edx
mov ebx, 0x2460
lea edi, [edi + 0x28]
test word [edi], bx
je 0x180fcc0d
lea ecx, [edi - 8]
call fcn.180f6909
mov eax, dword [ebp - 0x34]
xor edx, edx
mov ecx, dword [ebp - 0x2c]
dec eax
mov word [edi], cx
mov dword [edi + 4], edx
mov dword [ebp - 0x34], eax
test eax, eax
jg 0x180fcbf5
mov ebx, dword [ebp - 0x4c]
jmp 0x180fc9b0
imul ecx, dword [ebx + 4], 0x28
mov edx, 0xff61
add ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 8]
and ax, dx
xor edx, edx
inc edx
or ax, dx
jmp 0x180fc980
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
mov edx, dword [ebx + 0x10]
mov esi, eax
xor eax, eax
mov ecx, esi
push eax
push eax
push dword [ebx + 4]
call fcn.180f6f63
mov al, byte [ebp - 0x64]
add esp, 0xc
mov byte [esi + 0xa], al
jmp 0x180fc9ad
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [edi + 0x74]
add ecx, 0xffffffd8
add eax, ecx
mov ecx, eax
mov dword [ebp - 0x2c], eax
call fcn.180f6e42
test eax, eax
jne 0x18100426
mov edx, dword [ebp - 0x2c]
mov eax, 0x800
imul ecx, dword [ebx + 8], 0x28
push eax
add ecx, dword [ebp - 0x1c]
call fcn.180f6e86
pop ecx
jmp 0x180fc9b0
mov eax, dword [ebx + 0xc]
imul ecx, dword [ebx + 4], 0x28
mov dword [ebp - 0x40], eax
imul eax, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ecx
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
mov edx, ecx
mov ecx, eax
call fcn.180f6f3c
mov eax, dword [ebp - 0x38]
mov ecx, 0x1000
test word [eax + 8], cx
je 0x180fcce7
mov ecx, eax
call fcn.180f6737
test eax, eax
jne 0x180fe0be
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x20]
add eax, 0x28
add ecx, 0x28
mov dword [ebp - 0x38], eax
sub dword [ebp - 0x40], 1
mov dword [ebp - 0x20], ecx
jne 0x180fccbe
jmp 0x180fc9b0
mov eax, dword [ebx + 0xc]
imul esi, dword [ebx + 8], 0x28
mov dword [ebp - 0x20], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x1c]
add esi, dword [ebp - 0x1c]
mov ecx, 0x1000
mov dword [ebp - 0x40], eax
push ecx
mov edx, eax
mov ecx, esi
call fcn.180f6e86
mov eax, 0x1000
pop ecx
test word [esi + 8], ax
je 0x180fcd42
mov ecx, esi
call fcn.180f6737
test eax, eax
jne 0x180fe0be
mov ecx, dword [ebp - 0x20]
mov eax, ecx
dec ecx
mov dword [ebp - 0x20], ecx
test eax, eax
je 0x18100d2d
mov eax, dword [ebp - 0x40]
add esi, 0x28
add eax, 0x28
jmp 0x180fcd15
imul edx, dword [ebx + 4], 0x28
mov eax, 0x1000
add edx, dword [ebp - 0x1c]
jmp 0x180fcc91
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
mov edi, dword [ebp - 0x1c]
add ecx, edi
mov edx, dword [eax + edi]
mov eax, dword [eax + edi + 4]
mov edi, 0x2460
test word [ecx + 8], di
je 0x180fcd9b
push eax
push edx
call fcn.180f6d50
pop ecx
jmp 0x180fcc9e
mov dword [ecx], edx
mov dword [ecx + 4], eax
push 4
pop eax
jmp 0x180fc980
imul eax, dword [ebx + 4], 0x28
imul edx, dword [ebx + 8], 0x28
imul ecx, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
movzx eax, word [eax + 8]
mov dword [ebp - 0x20], eax
mov al, byte [edx + 8]
or al, byte [ebp - 0x20]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
test al, 1
je 0x180fcdf8
mov eax, 0x2460
test word [ecx + 8], ax
je 0x180fcdec
call fcn.180f6909
jmp 0x180fc9b0
xor eax, eax
inc eax
mov word [ecx + 8], ax
jmp case.0x180fc8fc.83
mov eax, 0x4000
test dword [ebp - 0x20], eax
je 0x180fce1a
mov ecx, dword [ebp - 0x34]
call fcn.180f677d
test eax, eax
jne 0x180fe0be
mov edx, dword [ebp - 0x44]
mov eax, 0x4000
test word [edx + 8], ax
je 0x180fce2f
mov ecx, edx
call fcn.180f677d
test eax, eax
jne 0x180fe0be
mov eax, dword [ebp - 0x34]
test byte [eax + 8], 0x12
jne 0x180fce4e
mov dl, byte [ebp - 0x64]
xor ecx, ecx
push ecx
mov ecx, eax
call fcn.180f67e0
pop ecx
test eax, eax
jne 0x180fe0be
mov eax, dword [ebp - 0x44]
test byte [eax + 8], 0x12
jne 0x180fce70
mov dl, byte [ebp - 0x64]
xor ecx, ecx
push ecx
mov ecx, eax
call fcn.180f67e0
pop ecx
test eax, eax
jne 0x180fe0be
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x34]
mov eax, dword [eax + 0xc]
mov ecx, dword [ecx + 0xc]
add eax, ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
cmp eax, dword [ecx + 0x64]
jg 0x18100426
mov ecx, dword [ebp - 0x40]
xor eax, eax
cmp ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x20]
sete al
add edx, 2
push eax
call fcn.180f660b
pop ecx
test eax, eax
jne 0x180fe0be
mov edi, dword [ebp - 0x40]
mov ecx, 0x3e00
push 2
mov ax, word [edi + 8]
and ax, cx
pop ecx
or ax, cx
mov word [edi + 8], ax
mov eax, dword [ebp - 0x44]
cmp edi, eax
je 0x180fcedb
push dword [eax + 0xc]
push dword [eax + 0x10]
push dword [edi + 0x10]
call fcn.18161b60
add esp, 0xc
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x44]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [edi + 0x10]
add eax, dword [edx + 0xc]
push eax
call fcn.18161b60
mov eax, dword [edi + 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x20]
add esp, 0xc
mov byte [ecx + eax], dl
mov eax, dword [edi + 0x10]
mov byte [eax + ecx + 1], dl
mov eax, 0x200
or word [edi + 8], ax
mov al, byte [ebp - 0x64]
mov dword [edi + 0xc], ecx
mov byte [edi + 0xa], al
jmp 0x180fc9b0
imul eax, dword [ebx + 4], 0x28
mov edi, dword [ebp - 0x1c]
add eax, edi
mov ecx, eax
mov dword [ebp - 0x4c], eax
call fcn.180fc7c2
movzx eax, ax
mov dword [ebp - 0x40], eax
imul eax, dword [ebx + 8], 0x28
add eax, edi
mov ecx, eax
mov dword [ebp - 0x48], eax
call fcn.180fc7c2
mov edx, dword [ebp - 0x4c]
movzx eax, ax
mov dword [ebp - 0x20], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, edi
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x68], eax
mov ax, word [edi + 8]
or ax, word [edx + 8]
movzx ecx, ax
mov al, byte [ebp - 0x20]
and al, byte [ebp - 0x40]
test al, 4
je 0x180fd196
mov eax, edx
mov byte [ebp - 0x21], 1
mov edx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xa4], eax
movzx eax, byte [ebx]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0xa8], ecx
sub eax, 0x58
je 0x180fd0de
sub eax, 1
je 0x180fd022
sub eax, 1
je 0x180fd013
sub eax, 1
mov eax, edx
je 0x180fcfe6
or eax, edi
je 0x180fd224
mov eax, edx
and eax, edi
cmp eax, 0xffffffff
jne 0x180fcfd0
xor edx, edx
inc edx
xor eax, eax
mov edi, eax
push edi
push edx
push dword [ebp - 0x3c]
push ecx
call fcn.18186600
mov dword [ebp - 0xa8], eax
jmp 0x180fd168
or eax, edi
je 0x180fd224
mov eax, edx
and eax, edi
cmp eax, 0xffffffff
jne 0x180fd006
xor eax, eax
cmp ecx, eax
jne 0x180fd006
cmp dword [ebp - 0x3c], 0x80000000
je 0x180fd039
push edi
push edx
push dword [ebp - 0x3c]
push ecx
call fcn.18186550
jmp 0x180fcfdb
push edi
push edx
lea ecx, [ebp - 0xa8]
call fcn.180e2ef8
jmp 0x180fd02f
push edi
push edx
lea ecx, [ebp - 0xa8]
call fcn.180e2eaa
pop ecx
pop ecx
test eax, eax
je 0x180fd16e
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x4c]
mov ecx, edx
call fcn.180f6a81
fstp qword [ebp - 0x30]
mov ecx, edi
call fcn.180f6a81
movzx eax, byte [ebx]
sub eax, 0x58
je 0x180fd1c8
sub eax, 1
je 0x180fd1c3
sub eax, 1
je 0x180fd1be
fld qword [ebp - 0x30]
sub eax, 1
je 0x180fd1ab
call fcn.18186910
mov edi, eax
mov dword [ebp - 0x2c], edx
call fcn.18186910
mov ecx, edx
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0xa4], ecx
mov ecx, edi
or ecx, edx
mov dword [ebp - 0xa8], eax
je 0x180fd224
mov eax, edi
and eax, edx
cmp eax, 0xffffffff
jne 0x180fd0ba
xor edi, edi
inc edi
xor eax, eax
mov edx, eax
push edx
push edi
push dword [ebp - 0x54]
push dword [ebp - 0x6c]
call fcn.18186600
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], edx
fild qword [ebp - 0x150]
jmp 0x180fd1cb
xor eax, eax
cmp edi, eax
jl 0x180fd119
jg 0x180fd0ea
cmp edx, eax
jb 0x180fd119
cmp dword [ebp - 0x3c], eax
jl 0x180fd15b
jg 0x180fd0f5
cmp ecx, eax
jbe 0x180fd15b
or eax, 0xffffffff
sub eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, 0x7fffffff
sbb eax, dword [ebp - 0x3c]
cmp eax, edi
jg 0x180fd15b
jl 0x180fd039
cmp dword [ebp - 0x2c], edx
jae 0x180fd15b
jmp 0x180fd039
cmp dword [ebp - 0x3c], eax
jg 0x180fd15b
jl 0x180fd124
cmp ecx, eax
jae 0x180fd15b
mov eax, edx
mov ecx, edi
add eax, 1
mov dword [ebp - 0x54], eax
push 0
pop eax
adc ecx, eax
inc eax
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
mov eax, 0x80000000
sbb eax, dword [ebp - 0x3c]
cmp eax, ecx
jg 0x180fd039
jl 0x180fd158
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x54]
ja 0x180fd039
mov ecx, dword [ebp - 0x38]
add ecx, edx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xa8], ecx
adc edx, edi
mov dword [ebp - 0xa4], edx
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0xa8]
mov dword [ecx], eax
mov eax, dword [ebp - 0xa4]
mov dword [ecx + 4], eax
mov edx, 0x3e00
mov ax, word [ecx + 8]
push 4
and ax, dx
pop edx
jmp 0x180fcc39
xor eax, eax
inc eax
test al, cl
jne 0x180fd227
xor eax, eax
mov byte [ebp - 0x21], al
jmp 0x180fd03f
fld qword [ebp - 0x1c0]
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x180fd220
fdivp st(1)
jmp 0x180fd1cb
fmul qword [ebp - 0x30]
jmp 0x180fd1cb
fsub qword [ebp - 0x30]
jmp 0x180fd1cb
fadd qword [ebp - 0x30]
fst qword [ebp - 0x30]
fld qword [ebp - 0x30]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x30]
fld qword [ebp - 0x58]
fucompp
fnstsw ax
test ah, 0x44
jp 0x180fd222
mov ecx, dword [ebp - 0x68]
mov edx, 0x3e00
push 8
mov ax, word [ecx + 8]
and ax, dx
pop edx
or ax, dx
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x20]
or al, byte [ebp - 0x40]
fstp qword [ecx]
test dl, al
jne 0x18100d2d
cmp byte [ebp - 0x21], 0
jne 0x18100d2d
call fcn.180f6ae0
jmp 0x180fc9b0
fstp st(0)
fstp st(0)
xor eax, eax
inc eax
mov ecx, dword [ebp - 0x68]
mov edx, 0x2460
test word [ecx + 8], dx
je 0x180fcdef
jmp 0x180fcde2
mov eax, dword [ebx + 4]
test eax, eax
je 0x180fc9b0
imul eax, eax, 0x28
mov ecx, 0x2460
add eax, dword [ebp - 0x1c]
test word [eax + 8], cx
je 0x180fd265
xor ecx, ecx
push ecx
push ecx
mov ecx, eax
jmp 0x180fcd90
xor edx, edx
push 4
mov dword [eax], edx
mov dword [eax + 4], edx
pop ecx
jmp 0x180fc939
imul ecx, dword [ebx + 8], 0x28
imul edi, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x1c]
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 - 0x20], edx
test al, 1
je 0x180fd2b4
mov eax, 0x2460
test word [edx + 8], ax
je 0x180fd2a8
mov ecx, edx
jmp 0x180fcde2
xor eax, eax
inc eax
mov word [edx + 8], ax
jmp case.0x180fc8fc.83
call fcn.180f6a1a
mov ecx, edi
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], edx
call fcn.180f6a1a
mov cl, byte [ebx]
mov edi, eax
mov byte [ebp - 0x21], cl
cmp cl, 0x54
jne 0x180fd2e9
and dword [ebp - 0x90], edi
and dword [ebp - 0x8c], edx
jmp 0x180fd415
cmp cl, 0x55
jne 0x180fd2ff
or dword [ebp - 0x90], edi
or dword [ebp - 0x8c], edx
jmp 0x180fd415
mov eax, edi
or eax, edx
je 0x180fd415
xor eax, eax
cmp edx, eax
jg 0x180fd340
jl 0x180fd315
cmp edi, eax
jae 0x180fd333
mov al, 0xad
sub al, cl
mov byte [ebp - 0x21], al
mov cl, al
cmp edx, 0xffffffff
jl 0x180fd340
jg 0x180fd32a
cmp edi, 0xffffffc0
jbe 0x180fd340
neg edi
push 0
pop eax
adc edx, eax
neg edx
cmp edx, eax
jl 0x180fd375
jg 0x180fd340
push 0x40
pop eax
cmp edi, eax
jb 0x180fd375
xor edx, edx
cmp dword [ebp - 0x8c], edx
jg 0x180fd360
jl 0x180fd354
cmp dword [ebp - 0x90], edx
jae 0x180fd360
cmp cl, 0x56
je 0x180fd360
or eax, 0xffffffff
or ecx, eax
jmp 0x180fd364
mov eax, edx
mov ecx, edx
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], ecx
jmp 0x180fd415
push 8
pop eax
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.18161b60
mov eax, dword [ebp - 0xb8]
add esp, 0xc
cmp byte [ebp - 0x21], 0x56
mov ecx, edi
mov edx, dword [ebp - 0xb4]
jne 0x180fd3aa
call fcn.181867a0
jmp 0x180fd3ef
call fcn.181867c0
mov dword [ebp - 0x2c], eax
mov ecx, edx
mov dword [ebp - 0xb8], eax
xor eax, eax
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0xb4], ecx
cmp dword [ebp - 0x8c], eax
jg 0x180fd3fb
jl 0x180fd3d7
cmp dword [ebp - 0x90], eax
jae 0x180fd3fb
push 0x40
pop eax
mov ecx, eax
or edx, 0xffffffff
sub ecx, edi
or eax, 0xffffffff
call fcn.181867a0
or eax, dword [ebp - 0x2c]
or edx, dword [ebp - 0x54]
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.18161b60
add esp, 0xc
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
mov dword [ecx], eax
mov eax, dword [ebp - 0x8c]
jmp 0x180fd17f
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.180f6b4d
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x180fc9ad
imul edi, dword [ebx + 4], 0x28
push 4
pop edx
add edi, dword [ebp - 0x1c]
movzx eax, word [edi + 8]
mov ecx, eax
test dl, al
jne 0x180fd48a
push dword [ebp - 0x64]
mov dl, 0x43
mov ecx, edi
call fcn.180fc6f2
movzx eax, word [edi + 8]
pop ecx
push 4
pop edx
mov ecx, eax
test dl, al
jne 0x180fd48a
xor edx, edx
cmp dword [ebx + 8], edx
jne 0x18100e3c
push 0x14
pop esi
mov ecx, esi
mov dword [ebp - 0x14], ecx
jmp 0x180fd4fc
mov eax, 0x3e00
and ecx, eax
push 4
pop eax
or ecx, eax
mov word [edi + 8], cx
jmp 0x180fc9b0
imul ecx, dword [ebx + 4], 0x28
push 4
pop edx
add ecx, dword [ebp - 0x1c]
test byte [ecx + 8], dl
je case.0x180fc8fc.83
call fcn.180f6b72
jmp 0x180fc9b0
imul edi, dword [ebx + 4], 0x28
mov eax, 0x4000
add edi, dword [ebp - 0x1c]
test word [edi + 8], ax
je 0x180fd4d7
mov ecx, edi
call fcn.180f677d
jmp 0x180fd4d9
xor eax, eax
push dword [ebp - 0x64]
mov dl, byte [ebx + 8]
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x14], esi
call fcn.180f6c50
pop ecx
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x180fc9ad
xor edx, edx
push 0x14
pop esi
mov ebx, dword [ebp - 0x18]
cmp byte [ebx + 0x49], 0
je 0x180fd50b
push 7
pop ecx
mov dword [ebp - 0x14], ecx
mov edi, dword [ebp - 0x70]
mov ebx, 0xc0a
cmp dword [edi + 0x6c], edx
jne 0x180fd533
cmp ecx, ebx
je 0x180fd533
call fcn.1813358e
push eax
push 0x181fd470
push edi
call fcn.180f7609
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov dword [edi + 0x28], ecx
mov edx, ecx
mov ecx, dword [ebp - 0x18]
call fcn.180e1f0a
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x60]
cdq
idiv esi
push dword [edi + 0x6c]
mov esi, dword [ebp - 0x14]
push dword [edi + 0xbc]
push eax
push str.statement_aborts_at__d:___s___s
push esi
call fcn.180e15af
add esp, 0x14
mov ecx, edi
call fcn.180f9292
cmp esi, ebx
mov esi, dword [ebp - 0x18]
jne 0x180fd579
mov ecx, esi
call fcn.180e0066
mov al, byte [ebp - 0x75]
xor ebx, ebx
inc ebx
test al, al
je 0x18100f83
movzx edx, al
mov ecx, esi
dec edx
call fcn.1810d974
jmp 0x18100f83
imul ecx, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
mov edx, dword [ebp - 0x1c]
add ecx, edx
add edx, eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x48], edx
movzx eax, word [ecx + 8]
movzx edi, word [edx + 8]
mov edx, edi
mov dword [ebp - 0x44], eax
mov ecx, edx
mov dword [ebp - 0x4c], edx
or ecx, eax
test cl, 1
je 0x180fd625
movzx eax, word [ebx + 2]
mov ecx, 0x80
test cl, al
je 0x180fd5f9
mov al, byte [ebp - 0x4c]
xor ecx, ecx
and al, byte [ebp - 0x44]
inc ecx
test cl, al
je 0x180fd5f1
test edx, 0x100
jne 0x180fd5f1
mov edi, dword [ebp - 0x3c]
xor eax, eax
jmp 0x180fd728
mov edi, dword [ebp - 0x3c]
jmp 0x180fd72a
test al, 0x20
je 0x180fd61e
imul ecx, dword [ebx + 8], 0x28
xor edx, edx
inc edx
mov edi, 0x3e00
mov dword [ebp - 0xa0], edx
add ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 8]
and ax, di
jmp 0x180fcc39
test al, 0x10
jmp 0x180fc95c
mov al, byte [ebx + 2]
and al, 0x47
cmp al, 0x43
jb 0x180fd6b7
mov edx, edi
mov edi, dword [ebp - 0x3c]
test cl, 2
je 0x180fd678
mov al, byte [ebp - 0x44]
and al, 0xe
cmp al, 2
jne 0x180fd65a
xor edx, edx
mov ecx, edi
call fcn.180fc663
mov ecx, dword [ebp - 0x48]
movzx eax, word [ecx + 8]
mov dword [ebp - 0x4c], eax
jmp 0x180fd65d
mov ecx, dword [ebp - 0x48]
mov al, byte [ebp - 0x4c]
movzx edx, word [ebp - 0x4c]
and al, 0xe
cmp al, 2
jne 0x180fd678
xor edx, edx
call fcn.180fc663
mov eax, dword [ebp - 0x48]
movzx edx, word [eax + 8]
mov al, byte [edi + 8]
push 4
and al, dl
pop ecx
test cl, al
je 0x180fd71a
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 4]
jl 0x180fd6ae
jg 0x180fd69b
cmp ecx, dword [edi]
jbe 0x180fd6a3
xor ecx, ecx
inc ecx
jmp 0x180fd72a
cmp eax, dword [edi + 4]
jg 0x180fd6b3
jl 0x180fd6ae
cmp ecx, dword [edi]
jae 0x180fd6b3
or ecx, 0xffffffff
jmp 0x180fd72a
xor eax, eax
jmp 0x180fd728
mov edi, dword [ebp - 0x3c]
cmp al, 0x42
jne 0x180fd71a
mov al, byte [ebp - 0x44]
test al, 2
jne 0x180fd6ea
test al, 0xc
je 0x180fd6ea
mov dl, byte [ebp - 0x64]
mov ecx, edi
push 1
call fcn.180f67e0
mov ax, word [edi + 8]
xor ax, word [ebp - 0x44]
pop ecx
mov ecx, 0x3e00
and ax, cx
xor word [ebp - 0x44], ax
mov al, byte [ebp - 0x4c]
test al, 2
jne 0x180fd71a
test al, 0xc
je 0x180fd71a
mov dl, byte [ebp - 0x64]
mov ecx, dword [ebp - 0x48]
push 1
call fcn.180f67e0
mov eax, dword [ebp - 0x48]
pop ecx
mov ecx, 0x3e00
mov ax, word [eax + 8]
xor ax, word [ebp - 0x4c]
and ax, cx
xor word [ebp - 0x4c], ax
push dword [ebx + 0x10]
mov ecx, dword [ebp - 0x48]
mov edx, edi
call fcn.180f9fa6
pop ecx
mov ecx, eax
movzx eax, byte [ebx]
test ecx, ecx
jns 0x180fd739
mov al, byte [eax + 0x181d30e0]
jmp 0x180fd749
jne 0x180fd743
mov al, byte [eax + 0x181cfd40]
jmp 0x180fd749
mov al, byte [eax + 0x181cf7f4]
movzx edx, al
mov ax, word [ebp - 0x44]
mov word [edi + 8], ax
mov edi, dword [ebp - 0x48]
mov ax, word [ebp - 0x4c]
mov word [edi + 8], ax
movzx eax, word [ebx + 2]
test al, 0x20
je 0x180fd7ab
mov dword [ebp - 0xa0], ecx
test al, 8
je 0x180fd781
xor eax, eax
cmp byte [ebx], 0x35
sete al
cmp eax, edx
je 0x18100d2d
imul esi, dword [ebx + 8], 0x28
mov eax, 0x3e00
push 4
add esi, dword [ebp - 0x1c]
mov cx, word [esi + 8]
and cx, ax
pop eax
or cx, ax
mov eax, edx
cdq
mov word [esi + 8], cx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x180fc9ad
test edx, edx
jmp 0x180fc95c
cmp dword [ebp - 0xa0], 0
jne 0x18100e3c
jmp case.0x180fc8fc.83
test byte [ebx + 2], al
jne 0x180fd7cd
xor eax, eax
jmp 0x180fd7d5
mov eax, dword [ebx - 4]
push 4
pop ecx
add eax, ecx
mov edi, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x6c], edi
mov edi, dword [ebx + 8]
mov dword [ebp - 0x54], edi
xor edi, edi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x2c], edx
test ecx, ecx
jle 0x180fc9b0
add edx, 0x14
mov dword [ebp - 0x20], edx
test eax, eax
je 0x180fd809
mov ecx, dword [eax + edi*4]
jmp 0x180fd80b
mov ecx, edi
mov eax, dword [ebp - 0x2c]
push dword [edx]
mov eax, dword [eax + 0x10]
mov al, byte [edi + eax]
mov byte [ebp - 0x21], al
mov eax, dword [ebp - 0x54]
add eax, ecx
imul edx, eax, 0x28
mov eax, dword [ebp - 0x6c]
add eax, ecx
imul ecx, eax, 0x28
add edx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x1c]
call fcn.180f9fa6
pop ecx
mov ecx, eax
mov dword [ebp - 0xa0], ecx
test ecx, ecx
jne 0x180fd85a
mov edx, dword [ebp - 0x20]
inc edi
push 4
pop eax
add edx, eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x20], edx
cmp edi, dword [ebp - 0x38]
jl 0x180fd800
jmp 0x180fc9b0
xor eax, eax
cmp byte [ebp - 0x21], al
je 0x18100d2f
neg ecx
mov dword [ebp - 0xa0], ecx
jmp 0x180fc9b2
mov ecx, dword [ebp - 0xa0]
test ecx, ecx
jns 0x180fd882
imul ebx, dword [ebx + 4], 0x14
jmp 0x180fd88e
jne 0x180fd88a
imul ebx, dword [ebx + 8], 0x14
jmp 0x180fd88e
imul ebx, dword [ebx + 0xc], 0x14
add ebx, dword [ebp - 0x60]
add ebx, 0xffffffec
jmp case.0x180fc8fc.83
imul ecx, dword [ebx + 4], 0x28
push 2
pop edx
add ecx, dword [ebp - 0x1c]
call fcn.180f6aaf
imul ecx, dword [ebx + 8], 0x28
mov edi, eax
push 2
pop edx
add ecx, dword [ebp - 0x1c]
call fcn.180f6aaf
cmp byte [ebx], 0x2c
mov edx, eax
jne 0x180fd8cc
imul ecx, edi, 3
mov dl, byte [ecx + edx + 0x181d09e4]
jmp 0x180fd8d6
imul eax, edi, 3
mov dl, byte [eax + edx + 0x181d0704]
imul edi, dword [ebx + 0xc], 0x28
mov ecx, 0x3e00
add edi, dword [ebp - 0x1c]
mov ax, word [edi + 8]
and ax, cx
movzx ecx, ax
cmp dl, 2
jne 0x180fd8f6
or ecx, 1
jmp 0x180fd904
movzx eax, dl
cdq
push 4
mov dword [edi], eax
pop eax
mov dword [edi + 4], edx
or ecx, eax
movzx eax, cx
jmp 0x180fcba5
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, dword [ebp - 0x1c]
call fcn.180f6aaf
imul ecx, dword [ebx + 8], 0x28
mov edi, 0x2460
xor eax, dword [ebx + 0x10]
cdq
add ecx, dword [ebp - 0x1c]
test word [ecx + 8], di
je 0x180fd938
push edx
push eax
jmp 0x180fcd90
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x180fcda0
imul ecx, dword [ebx + 4], 0x28
imul edi, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0x1c]
add edi, dword [ebp - 0x1c]
test byte [ecx + 8], al
jne 0x180fd986
xor edx, edx
call fcn.180f6aaf
neg eax
mov ecx, 0x2460
sbb eax, eax
inc eax
test word [edi + 8], cx
je 0x180fd977
xor ecx, ecx
push ecx
push eax
mov ecx, edi
jmp 0x180fcd90
mov dword [edi], eax
xor eax, eax
push 4
mov dword [edi + 4], eax
pop eax
jmp 0x180fcba5
mov ecx, 0x2460
test word [edi + 8], cx
je 0x180fd998
mov ecx, edi
jmp 0x180fcde2
mov word [edi + 8], ax
jmp case.0x180fc8fc.83
imul edi, dword [ebx + 8], 0x28
mov ecx, 0x2460
imul eax, dword [ebx + 4], 0x28
add edi, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
test word [edi + 8], cx
je 0x180fd9cc
mov ecx, edi
call fcn.180f6909
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
inc ecx
jmp 0x180fd9d3
xor ecx, ecx
inc ecx
mov word [edi + 8], cx
test byte [eax + 8], cl
jne 0x18100d2d
push 4
pop ecx
mov word [edi + 8], cx
mov ecx, eax
call fcn.180f6a1a
not eax
not edx
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x180fc9b0
cmp dword [edi + 0xc4], 0
je 0x180fda45
mov eax, ebx
sub eax, dword [edi + 0x58]
cdq
push 0x14
pop ecx
idiv ecx
mov edx, dword [edi + 0xc4]
mov ecx, eax
shr eax, 3
mov dword [ebp - 0x2c], eax
and ecx, 7
mov edx, dword [edx + 0x18]
mov dword [ebp - 0x54], edx
movzx eax, byte [eax + edx]
xor edx, edx
inc edx
shl edx, cl
test eax, edx
jne 0x18100e3c
mov edx, dword [ebp - 0x54]
bts eax, ecx
mov ecx, dword [ebp - 0x2c]
mov byte [ecx + edx], al
mov ecx, dword [edi + 0x58]
jmp 0x180fda54
mov ecx, dword [edi + 0x58]
mov eax, dword [ecx + 4]
cmp eax, dword [ebx + 4]
je 0x18100e3c
mov eax, dword [ecx + 4]
mov dword [ebx + 4], eax
jmp 0x180fc9b0
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0xc]
add ecx, dword [ebp - 0x1c]
call fcn.180f6aaf
test eax, eax
jmp 0x180fc95c
xor edx, edx
xor eax, eax
cmp dword [ebx + 0xc], eax
sete dl
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x1c]
call fcn.180f6aaf
test eax, eax
je 0x18100e3c
jmp 0x180fc9b0
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x1c]
test byte [eax + ecx + 8], 1
jmp 0x180fc95c
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x1c]
test byte [eax + ecx + 8], 1
jmp 0x180fda8d
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x180fc9b0
imul eax, dword [ebx + 0xc], 0x28
mov ecx, 0x2460
add eax, dword [ebp - 0x1c]
test word [eax + 8], cx
je 0x180fdae8
mov ecx, eax
call fcn.180f6909
jmp 0x18100e3c
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
jmp 0x18100e3c
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x94]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x94], eax
call fcn.180f9858
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
mov ecx, dword [ebp - 0x5c]
imul esi, dword [ebx + 0xc], 0x28
mov eax, dword [ecx + 0x48]
mov dword [ebp - 0x3c], eax
add esi, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x44], esi
cmp eax, dword [edi + 0x20]
je 0x180fdc2e
cmp byte [ecx + 2], 0
je 0x180fdb82
cmp byte [ecx], 3
jne 0x180fde68
imul edx, dword [ecx + 0x20], 0x28
add edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x54], eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx + 0x54]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0x5c]
jmp 0x180fdbbd
mov ecx, esi
call fcn.180f6909
jmp 0x180fc9ad
mov esi, dword [ecx + 0x28]
mov ecx, esi
call fcn.180f0844
mov eax, dword [ebp - 0x5c]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0x50], ecx
mov ecx, esi
mov edx, dword [ebp - 0x5c]
lea edx, [edx + 0x54]
call fcn.180f0ca1
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x64]
ja 0x18100426
mov esi, dword [ebp - 0x44]
mov eax, dword [edi + 0x20]
mov edx, 0x80
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x4c]
mov al, byte [ecx]
cmp al, dl
mov edx, dword [ebp - 0x3c]
jae 0x180fdbe0
movzx eax, al
mov dword [edx], eax
mov al, 1
jmp 0x180fdbe8
call fcn.180e2c5a
mov edx, dword [ebp - 0x3c]
movzx ecx, al
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x5c]
mov word [eax + 0x3a], cx
mov ecx, dword [ebp - 0x5c]
mov eax, dword [edx]
cmp dword [ecx + 0x54], eax
jae 0x180fdcf9
xor eax, eax
mov dword [ecx + 0x4c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x54], ecx
mov eax, dword [edx]
cmp eax, 0x18003
ja 0x180fddd8
mov ecx, dword [ebp - 0x5c]
cmp eax, dword [ecx + 0x50]
ja 0x180fddd8
movzx eax, word [ecx + 0x3a]
mov edx, dword [ebp - 0x94]
cmp eax, edx
jg 0x180fde83
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
cmp dword [ecx + 0x30], eax
jae 0x180fde36
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0x74], edx
test edx, edx
jne 0x180fdca5
xor eax, eax
push 0x28
push eax
lea eax, [ebp - 0x1f8]
push eax
call fcn.181620e0
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x1f8]
add esp, 0xc
xor edx, edx
mov ecx, dword [ecx + 0x28]
push eax
mov eax, dword [ebp - 0x3c]
push dword [eax]
call fcn.180f7125
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
movzx edx, word [ecx + 0x3a]
mov ebx, dword [ebp - 0x3c]
add eax, dword [ebp - 0x74]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x68], eax
lea ebx, [ebx + edx*4]
xor edx, edx
mov edi, dword [ebx]
mov esi, edx
mov edx, dword [ecx + 0x30]
add edx, dword [ebp - 0x74]
push 0x58
pop eax
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x54], eax
movzx eax, byte [edx]
mov edx, 0x80
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x7c], eax
cmp eax, edx
jae 0x180fdd01
movzx eax, al
movzx eax, byte [eax + 0x181d0ab0]
cdq
add edi, eax
adc esi, edx
xor eax, eax
inc eax
jmp 0x180fdd3c
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0x74], edx
jmp 0x180fdca5
mov ecx, dword [ebp - 0x38]
lea edx, [ebp - 0x7c]
call fcn.180e2c5a
movzx eax, al
mov ecx, 0x80
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x20], eax
cmp eax, ecx
jb 0x180fdd28
add eax, 0xfffffff4
shr eax, 1
jmp 0x180fdd2f
movzx eax, byte [eax + 0x181d0ab0]
mov ecx, dword [ebp - 0x5c]
add edi, eax
push 0
pop eax
adc esi, eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x38]
add edx, eax
mov eax, dword [ebp - 0x54]
add eax, ecx
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x20]
push 4
mov dword [eax + ebx], ecx
mov eax, dword [ebp - 0x48]
pop ecx
add ebx, ecx
inc eax
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x48], eax
mov dword [ebx], edi
cmp eax, dword [ebp - 0x94]
jg 0x180fdd74
cmp edx, ecx
jae 0x180fdd74
mov ecx, dword [ebp - 0x5c]
jmp 0x180fdcd3
mov eax, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], edi
cmp edx, ecx
jb 0x180fdd93
ja 0x180fdda3
mov ecx, edi
cmp ecx, dword [eax + 0x50]
jne 0x180fdda3
test esi, esi
jne 0x180fdda3
jmp 0x180fdd96
mov ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x38], 0
jb 0x180fddf3
ja 0x180fdda3
cmp ecx, dword [eax + 0x50]
jbe 0x180fddf3
mov ecx, dword [ebp - 0x3c]
xor edx, edx
cmp dword [ecx], edx
jne 0x180fddb3
mov ecx, edx
mov edx, dword [ebp - 0x68]
jmp 0x180fddf6
cmp dword [eax + 0x4c], edx
jne 0x180fddd8
mov eax, 0x2460
test dword [ebp - 0x1f0], eax
jne 0x180fddcd
cmp dword [ebp - 0x1e0], edx
je 0x180fddd8
lea ecx, [ebp - 0x1f8]
call fcn.180f6966
mov edx, dword [ebp - 0x60]
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x18100ee8
imul eax, eax, 0x14
lea ebx, [edx - 0x14]
add ebx, eax
jmp 0x180fc9ad
mov ecx, dword [ebp - 0x48]
sub edx, dword [ebp - 0x74]
mov word [eax + 0x3a], cx
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x30], edx
xor eax, eax
mov ecx, dword [ebp - 0x5c]
cmp dword [ecx + 0x4c], eax
jne 0x180fde31
mov eax, 0x2460
test dword [ebp - 0x1f0], eax
jne 0x180fde23
cmp dword [ebp - 0x1e0], 0
je 0x180fde31
lea ecx, [ebp - 0x1f8]
call fcn.180f6966
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x7c]
jmp 0x180fde3d
xor eax, eax
mov edx, eax
mov dword [ebp - 0x7c], edx
movzx eax, word [ecx + 0x3a]
mov esi, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x94]
jg 0x180fde8a
cmp byte [ebx + 1], 0xf5
jne 0x180fde68
mov edx, dword [ebx + 0x10]
mov eax, 0x800
push eax
mov ecx, esi
call fcn.180f6e86
pop ecx
jmp 0x180fc9ad
mov eax, 0x2460
test word [esi + 8], ax
jne 0x180fdb76
xor eax, eax
inc eax
mov word [esi + 8], ax
jmp 0x180ff5d4
mov edx, dword [ecx + edx*4 + 0x58]
mov dword [ebp - 0x7c], edx
mov eax, 0x2460
test word [esi + 8], ax
je 0x180fdea2
mov ecx, esi
call fcn.180f6909
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x94]
mov esi, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x54]
cmp eax, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0x70]
mov esi, dword [ebp - 0x44]
jb 0x180fdf57
mov esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x94]
mov ecx, dword [ecx + 0x4c]
add ecx, dword [esi + eax*4]
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x2c], ecx
cmp edx, 0xc
jae 0x180fdee0
push esi
call fcn.180f9b00
jmp 0x180fde62
mov cl, byte [ebp - 0x64]
lea eax, [edx - 0xc]
shr eax, 1
mov dword [ebp - 0x20], eax
mov dword [esi + 0xc], eax
mov byte [esi + 0xa], cl
lea edx, [eax + 2]
cmp dword [esi + 0x18], edx
jge 0x180fdf1b
xor eax, eax
mov ecx, esi
inc eax
mov word [esi + 8], ax
xor eax, eax
push eax
call fcn.180f660b
pop ecx
test eax, eax
jne 0x180fe0be
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 0x20]
jmp 0x180fdf21
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x10], ecx
push eax
push dword [ebp - 0x2c]
push ecx
call fcn.18161b60
mov eax, dword [esi + 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x20]
add esp, 0xc
mov byte [ecx + eax], dl
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 1], dl
mov eax, dword [ebp - 0x7c]
and eax, 1
mov ax, word [eax*2 + 0x181d0e1c]
mov word [esi + 8], ax
jmp 0x180fc9ad
mov al, byte [ebp - 0x64]
mov byte [esi + 0xa], al
movzx eax, word [ebx + 2]
mov edx, dword [ebp - 0x7c]
test al, 0xc0
je 0x180fdf7b
cmp edx, 0xc
jb 0x180fdf72
test dl, 1
je 0x180fdf96
mov ecx, 0x80
test cl, al
jne 0x180fdf96
mov eax, 0x80
cmp edx, eax
jb 0x180fdf8b
lea eax, [edx - 0xc]
shr eax, 1
jmp 0x180fdf92
movzx eax, byte [edx + 0x181d0ab0]
test eax, eax
jne 0x180fdfa0
mov ecx, 0x18218a04
jmp 0x180fded8
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x5c]
push esi
push eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x28]
mov edx, dword [eax + edx*4]
call fcn.180f7125
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
mov edx, dword [ebp - 0x7c]
mov ecx, dword [esi + 0x10]
push esi
call fcn.180f9b00
mov eax, 0xefff
and word [esi + 8], ax
pop ecx
jmp 0x180fc9ad
mov eax, dword [ebx + 0x10]
imul edi, dword [ebx + 4], 0x28
mov ebx, eax
mov dword [ebp - 0x2c], eax
mov al, byte [ebx]
add edi, dword [ebp - 0x1c]
push dword [ebp - 0x64]
mov dl, al
mov ecx, edi
call fcn.180fc6f2
inc ebx
add edi, 0x28
pop ecx
mov al, byte [ebx]
test al, al
jne 0x180fdff4
jmp 0x180fcc1b
imul edx, dword [ebx + 4], 0x28
xor ecx, ecx
mov eax, ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x3c], eax
imul eax, dword [ebx + 8], 0x28
mov dword [ebp - 0x48], ecx
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x34], edx
add edx, 0xffffffd8
mov dword [ebp - 0x68], ecx
add eax, edx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebx + 0x10]
movzx edx, byte [edi + 0x8f]
mov dword [ebp - 0x2c], eax
imul eax, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x54], edx
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
test ecx, ecx
je 0x180fe07b
mov ebx, dword [ebp - 0x34]
mov edi, ecx
mov al, byte [ecx]
push dword [ebp - 0x64]
mov dl, al
mov ecx, ebx
call fcn.180fc6f2
add ebx, 0x28
inc edi
pop ecx
mov al, byte [edi]
test al, al
jne 0x180fe05e
mov edi, dword [ebp - 0x70]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0x40], eax
push ecx
mov ecx, eax
call fcn.180f989c
pop ecx
mov ecx, dword [ebp - 0x40]
mov edx, 0x4000
mov dword [ebp - 0x74], eax
test word [ecx + 8], dx
je 0x180fe0f0
test eax, eax
jne 0x180fe0ad
push 0xa
pop eax
mov dword [ebp - 0x74], eax
jmp 0x180fe0f0
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 0x48]
je 0x180fe0dc
call fcn.180f677d
test eax, eax
je 0x180fe0ed
mov eax, dword [ebp - 0x18]
mov ecx, eax
call fcn.180e0066
push str.out_of_memory
push edi
call fcn.180f7609
pop ecx
pop ecx
push 7
jmp 0x18100ff2
mov ecx, dword [ecx]
mov eax, ecx
cdq
add dword [ebp - 0x68], eax
adc dword [ebp - 0x38], edx
sub dword [ebp - 0xdc], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0xdc]
push 0
pop edx
adc dword [ebp - 0x48], edx
mov dword [ebp - 0x44], ecx
cmp eax, 0x7f
ja 0x180fe10c
xor eax, eax
inc eax
jmp 0x180fe138
mov ecx, eax
mov dword [ebp - 0x6c], 1
shr ecx, 7
mov eax, ecx
or eax, edx
je 0x180fe135
mov edi, dword [ebp - 0x6c]
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
jne 0x180fe121
mov dword [ebp - 0x6c], edi
mov edi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x74]
add ecx, eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x3c], ecx
mov dword [eax + 0x1c], edx
cmp eax, dword [ebp - 0x34]
je 0x180fe159
mov edx, dword [ebp - 0x54]
sub eax, 0x28
jmp 0x180fe07e
cmp ecx, 0x7e
jle 0x180fe1d6
mov eax, ecx
mov dword [ebp - 0x74], 1
cdq
shrd eax, edx, 7
shr edx, 7
mov ecx, eax
or ecx, edx
mov dword [ebp - 0x54], eax
je 0x180fe191
mov ebx, dword [ebp - 0x74]
mov edi, eax
shrd edi, edx, 7
inc ebx
shr edx, 7
mov eax, edi
or eax, edx
jne 0x180fe17d
mov edi, dword [ebp - 0x70]
mov dword [ebp - 0x74], ebx
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x74]
mov dword [ebp - 0x3c], eax
cdq
shrd eax, edx, 7
mov dword [ebp - 0x40], 1
shr edx, 7
mov ecx, eax
or ecx, edx
mov dword [ebp - 0x54], eax
je 0x180fe1cb
mov ebx, dword [ebp - 0x40]
mov edi, eax
shrd edi, edx, 7
inc ebx
shr edx, 7
mov eax, edi
or eax, edx
jne 0x180fe1b7
mov edi, dword [ebp - 0x70]
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x40]
jge 0x180fe1da
inc ecx
mov dword [ebp - 0x3c], ecx
mov eax, ecx
cdq
mov ecx, edx
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x44]
add edx, eax
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x48]
adc eax, ecx
mov dword [ebp - 0x44], edx
mov ecx, edx
add ecx, dword [ebp - 0x68]
adc eax, dword [ebp - 0x38]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x64]
cdq
cmp dword [ebp - 0x48], edx
jg 0x18100426
jl 0x180fe217
cmp ecx, eax
ja 0x18100426
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x20]
call fcn.180f66df
test eax, eax
jne 0x180fe0be
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x3c]
mov edi, dword [eax + 0x10]
mov eax, 0x80
cmp edx, eax
jae 0x180fe243
xor eax, eax
mov byte [edi], dl
inc eax
jmp 0x180fe252
push dword [ebp - 0x54]
mov ecx, edi
push dword [ebp - 0x40]
call fcn.180e2aac
pop ecx
pop ecx
movzx ebx, al
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x1c]
lea ecx, [ebx + edi]
mov edx, 0x80
mov dword [ebp - 0x54], eax
cmp eax, edx
jae 0x180fe271
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x180fe27c
xor edx, edx
push edx
push eax
call fcn.180e2aac
pop ecx
pop ecx
mov ecx, dword [ebp - 0x3c]
push dword [ebp - 0x54]
mov edx, dword [ebp - 0x34]
movzx eax, al
lea ecx, [ecx + edi]
add ebx, eax
call fcn.180f99bb
add dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x34]
add eax, 0x28
pop ecx
mov dword [ebp - 0x34], eax
cmp eax, dword [ebp - 0x2c]
jbe 0x180fe258
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x4c]
mov dword [ecx + 0xc], eax
push 0x10
pop eax
mov word [ecx + 8], ax
mov eax, edx
or eax, dword [ebp - 0x38]
je 0x18100d2d
mov dword [ecx], edx
mov eax, 0x4010
jmp 0x180fc980
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x108]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
xor eax, eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
call fcn.180f4e57
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
mov ecx, dword [ebp - 0x108]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x104]
mov dword [eax + 4], ecx
jmp 0x180fc9ad
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x20], eax
test ecx, ecx
jne 0x180fe405
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp dword [ecx + 0xac], edx
jg 0x18100f13
test eax, eax
jne 0x180fe34f
mov edi, edx
jmp 0x180fe35e
push eax
call fcn.1816ad40
mov edi, eax
pop ecx
and edi, 0x3fffffff
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [eax + 0x1c0]
add ecx, dword [eax + 0x1bc]
push ecx
mov ecx, eax
call fcn.181269ae
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
push ecx
mov ecx, dword [ebp - 0x18]
lea eax, [edi + 0x21]
push eax
call fcn.180dfde7
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x18100d2d
lea ecx, [edi + 1]
push ecx
push dword [ebp - 0x20]
lea edx, [esi + 0x20]
push edx
mov dword [esi], edx
call fcn.18161b60
mov ecx, dword [ebp - 0x18]
add esp, 0xc
cmp byte [ecx + 0x47], 0
je 0x180fe3c7
xor eax, eax
mov byte [ecx + 0x4f], 1
mov byte [ecx + 0x47], al
jmp 0x180fe3cd
inc dword [ecx + 0x1bc]
mov eax, dword [ecx + 0x1b4]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + 0x1c8]
mov dword [ecx + 0x1b4], esi
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x1cc]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x1d0]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0x1d4]
mov dword [esi + 0x14], eax
jmp 0x180fc9ad
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx + 0x1b4]
mov dword [ebp - 0x2c], esi
test esi, esi
je 0x18100f4e
mov ecx, dword [esi]
mov edx, eax
call fcn.180e206d
test eax, eax
je 0x180fe436
inc dword [ebp - 0x34]
mov esi, dword [esi + 0x18]
mov eax, dword [ebp - 0x20]
jmp 0x180fe413
mov ecx, dword [ebp - 0x18]
xor eax, eax
mov edx, dword [ebp - 0x44]
cmp dword [ecx + 0xac], eax
jle 0x180fe44f
cmp edx, 1
je 0x18100f2d
lea eax, [esi + 0x18]
cmp dword [eax], 0
mov dword [ebp - 0x6c], eax
jne 0x180fe4ac
cmp byte [ecx + 0x4f], 0
je 0x180fe4ac
xor eax, eax
inc eax
mov dword [ebp - 0x40], eax
cmp edx, eax
jne 0x180fe4b1
mov edx, eax
mov ecx, edi
call fcn.180f9237
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x18100f80
mov esi, dword [ebp - 0x18]
mov ecx, edi
mov byte [esi + 0x47], 1
call fcn.180f9292
push 5
pop ecx
cmp eax, ecx
je 0x18100f34
mov edx, esi
xor eax, eax
mov byte [edx + 0x4f], al
mov esi, dword [edi + 0x28]
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x2c]
jmp 0x180fe599
xor eax, eax
mov dword [ebp - 0x40], eax
mov eax, dword [ecx + 0x1bc]
sub eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 0x14]
cmp edx, 2
jne 0x180fe524
mov ecx, dword [ecx + 0x18]
xor edi, edi
and ecx, 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x20], ecx
test eax, eax
jle 0x180fe529
xor ecx, 1
xor eax, eax
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x18]
mov edx, 0x204
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.180f04e0
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
mov ecx, dword [ebp - 0x2c]
push 0x10
pop eax
add edi, eax
inc ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], ecx
mov eax, dword [eax + 0x14]
cmp ecx, eax
mov ecx, dword [ebp - 0x54]
jl 0x180fe4e0
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x44]
jmp 0x180fe529
xor ecx, ecx
mov dword [ebp - 0x20], ecx
xor edi, edi
mov dword [ebp - 0x2c], edi
test eax, eax
jle 0x180fe56e
xor eax, eax
mov eax, dword [ebp - 0x18]
push dword [ebp - 0x34]
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.180f065d
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x44]
inc eax
push 0x10
pop ecx
add edi, ecx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x18]
cmp eax, dword [ecx + 0x14]
jl 0x180fe534
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x180fe596
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 4]
jmp 0x180fe584
or dword [eax + 0x94], 1
mov eax, dword [eax + 8]
test eax, eax
jne 0x180fe57a
call fcn.1810d9c6
mov edx, dword [ebp - 0x18]
or dword [edx + 0x18], 1
jmp 0x180fe599
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx + 0x1b4]
cmp ecx, esi
je 0x180fe5ce
mov ebx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, ebx
mov dword [ebx + 0x1b4], eax
call fcn.180dfba4
mov ecx, dword [ebx + 0x1b4]
dec dword [ebx + 0x1bc]
cmp ecx, esi
jne 0x180fe5a6
mov ebx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x44]
cmp edi, 1
jne 0x180fe600
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [edx + 0x1b4], eax
mov edx, esi
call fcn.180dfba4
cmp dword [ebp - 0x40], 0
jne 0x180fd4ec
mov edx, dword [ebp - 0x18]
dec dword [edx + 0x1bc]
jmp 0x180fe633
cmp dword [ebp - 0x40], 0
mov eax, dword [esi + 8]
mov dword [edx + 0x1c8], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 0x1cc], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x1d0], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x1d4], eax
je 0x180fe633
cmp edi, 2
jne 0x180fd4ec
push dword [ebp - 0x34]
mov ecx, dword [ebp - 0x18]
mov edx, edi
call fcn.181269ae
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
jmp 0x180fd4ef
mov edx, dword [ebx + 8]
test edx, edx
je 0x180fe66a
mov ecx, dword [ebp - 0x18]
test dword [ecx + 0x1c], 0x100000
jne 0x18100f62
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebx + 4]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ecx*8 + 4]
mov dword [ebp - 0x2c], esi
test esi, esi
je 0x180fe752
mov ecx, esi
call fcn.180efa7b
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x18100f66
cmp dword [ebx + 8], eax
je 0x180fe724
test byte [edi + 0x94], 0x40
je 0x180fe724
mov edx, dword [ebp - 0x18]
cmp byte [edx + 0x47], al
je 0x180fe6bb
cmp dword [edx + 0xa8], 1
jle 0x180fe724
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x180fe6d7
mov eax, dword [edx + 0x1bc]
inc dword [edx + 0x1c0]
add eax, dword [edx + 0x1c0]
mov dword [edi + 0x30], eax
mov ecx, dword [ebp - 0x18]
dec eax
push eax
xor edx, edx
call fcn.181269ae
mov dword [ebp - 0x14], eax
pop ecx
test eax, eax
jne 0x180fe6fd
mov edx, dword [edi + 0x30]
mov ecx, esi
call fcn.180f0627
mov esi, eax
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x1c8]
mov dword [edi + 0x48], eax
mov eax, dword [ecx + 0x1cc]
mov dword [edi + 0x4c], eax
mov eax, dword [ecx + 0x1d0]
mov dword [edi + 0x50], eax
mov eax, dword [ecx + 0x1d4]
mov dword [edi + 0x54], eax
lea eax, [ebp - 0x98]
xor edx, edx
push eax
inc edx
mov ecx, esi
call fcn.180f4dba
mov eax, dword [ebp - 0x18]
pop ecx
mov ecx, dword [ebx + 4]
add ecx, ecx
xor edx, edx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x98]
jmp 0x180fe75e
xor edx, edx
mov eax, edx
mov ecx, edx
mov dword [ebp - 0x98], eax
cmp word [ebx + 2], dx
je 0x180fe776
cmp eax, dword [ebx + 0xc]
jne 0x18100fa7
cmp ecx, dword [ebx + 0x10]
jne 0x18100fa7
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x180fd4f9
jmp 0x180fc9ad
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x11c]
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.180f4dba
pop ecx
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
mov ecx, eax
mov eax, dword [ebp - 0x11c]
jmp 0x180fca51
mov eax, dword [ebp - 0x18]
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.180f4dfc
xor edx, edx
pop ecx
inc edx
mov ecx, eax
mov dword [ebp - 0x14], ecx
cmp dword [ebx + 8], edx
jne 0x180fe7f6
mov ecx, dword [esi + 0xc]
mov eax, dword [ebx + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
or dword [eax + 0x18], edx
jmp 0x180fe80b
cmp dword [ebx + 8], 2
jne 0x180fe808
mov ecx, dword [esi + 0xc]
mov al, byte [ebx + 0xc]
mov byte [ecx + 0x4c], al
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp dword [ebx + 4], edx
jne 0x180fd4ef
mov eax, dword [eax + 4]
jmp 0x180fe822
or dword [eax + 0x94], edx
mov eax, dword [eax + 8]
test eax, eax
jne 0x180fe819
and dword [edi + 0x94], 0xfffffffe
jmp 0x180fd4ef
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x180fe84b
mov eax, dword [edx + 0x34]
cmp eax, dword [ebx + 8]
je 0x180fe941
mov cl, byte [ebp - 0x21]
test byte [edi + 0x94], 1
jne 0x18100ff8
mov esi, dword [ebp - 0x18]
xor eax, eax
mov edx, dword [ebx + 8]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x40], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [ebp - 0x2c], edx
mov esi, dword [eax + 4]
mov dword [ebp - 0x6c], esi
mov esi, dword [ebp - 0x38]
cmp cl, 0x6b
jne 0x180fe8a9
mov eax, dword [eax + 0xc]
movzx ecx, word [ebx + 2]
and ecx, 8
or ecx, 4
mov al, byte [eax + 0x4c]
mov dword [ebp - 0x54], ecx
cmp al, byte [edi + 0x8f]
jae 0x180fe8ae
mov byte [edi + 0x8f], al
jmp 0x180fe8ae
xor eax, eax
mov dword [ebp - 0x54], eax
test byte [ebx + 2], 0x10
je 0x180fe8c9
imul esi, edx, 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.180f6b4d
mov eax, dword [esi]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
mov al, byte [ebx + 1]
cmp al, 0xf7
jne 0x180fe8dc
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0x38], esi
movzx eax, word [esi + 8]
jmp 0x180fe8e8
cmp al, 0xfd
jne 0x180fe8e5
mov eax, dword [ebx + 0x10]
jmp 0x180fe8e8
mov eax, dword [ebp - 0x20]
mov edx, dword [ebx + 4]
xor ecx, ecx
push ecx
push dword [ebp - 0x40]
mov ecx, edi
push eax
call fcn.180fc5a5
add esp, 0xc
mov dword [ebp - 0x20], eax
test eax, eax
je 0x180fe0be
mov edx, dword [ebp - 0x2c]
push 4
pop ecx
push dword [eax + 0x28]
or dword [eax + 8], ecx
mov ecx, dword [ebp - 0x6c]
push esi
push dword [ebp - 0x54]
mov byte [eax + 2], 1
mov dword [eax + 0x34], edx
call fcn.180f0797
mov edx, dword [ebp - 0x20]
mov esi, eax
mov eax, dword [ebp - 0x38]
add esp, 0xc
mov dword [ebp - 0x14], esi
mov dword [edx + 0x2c], eax
cmp byte [ebx + 1], 0xf7
setne al
mov byte [edx + 4], al
mov cl, byte [ebx + 2]
mov eax, dword [edx + 0x28]
and cl, 3
mov byte [eax + 3], cl
jmp 0x180fd4ec
mov ecx, dword [ebx + 8]
mov eax, dword [edi + 0x70]
mov edx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
push eax
push 0xffffffffffffffff
mov ecx, edi
movsx eax, word [esi + 0x38]
push eax
call fcn.180fc5a5
add esp, 0xc
test eax, eax
je 0x180fe0be
push dword [eax + 0x28]
xor ecx, ecx
inc ecx
or dword [eax + 8], ecx
mov byte [eax + 2], cl
mov edx, dword [esi + 0x2c]
mov dword [eax + 0x2c], edx
mov cl, byte [esi + 4]
push edx
mov byte [eax + 4], cl
xor edx, edx
mov ecx, dword [esi + 0xc]
inc edx
push 4
pop eax
push eax
call fcn.180f0797
add esp, 0xc
mov esi, eax
mov dword [ebp - 0x14], esi
jmp 0x180fc9b0
mov edx, dword [ebx + 4]
xor eax, eax
push eax
push 0xffffffffffffffff
push dword [ebx + 8]
mov ecx, edi
call fcn.180fc5a5
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x2c], esi
test esi, esi
je 0x180fe0be
xor ecx, ecx
lea eax, [esi + 8]
push 0x41e
inc ecx
mov dword [ebp - 0x20], eax
or dword [eax], ecx
lea edi, [esi + 0xc]
push 5
mov byte [esi + 2], cl
xor edx, edx
movzx eax, word [ebx + 2]
pop ecx
or eax, ecx
push eax
mov eax, dword [ebp - 0x18]
push edi
push eax
mov ecx, dword [eax]
call fcn.180eee40
mov ecx, eax
add esp, 0x10
xor edx, edx
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f9
mov ecx, dword [edi]
inc edx
call fcn.180efa7b
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x54], eax
mov dword [esi + 0x2c], eax
test eax, eax
je 0x180fea8d
movzx esi, word [ebx + 2]
mov edi, dword [edi]
or esi, 2
mov ecx, edi
call fcn.180ed781
push esi
lea edx, [ebp - 0x120]
mov ecx, edi
call fcn.180f4857
pop ecx
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x14], esi
call fcn.180ed7fa
mov ecx, esi
mov esi, dword [ebp - 0x2c]
test ecx, ecx
jne 0x180fea87
push dword [esi + 0x28]
mov edx, dword [ebp - 0x120]
push dword [ebp - 0x54]
mov ecx, dword [esi + 0xc]
push 4
pop eax
push eax
call fcn.180f0797
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x14], ecx
xor edx, edx
mov al, dl
jmp 0x180feaad
push dword [esi + 0x28]
mov ecx, dword [edi]
xor eax, eax
push eax
push 4
pop eax
xor edx, edx
push eax
inc edx
call fcn.180f0797
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x14], ecx
mov al, 1
xor edx, edx
mov byte [esi + 4], al
test ecx, ecx
jne 0x180fd4f9
mov edx, dword [ebp - 0x20]
push 8
pop eax
cmp word [ebx + 2], ax
mov eax, dword [edx]
setne cl
and eax, 0xfffffffb
shl ecx, 2
or ecx, eax
mov dword [edx], ecx
jmp 0x180fc9ad
mov edx, dword [ebx + 4]
mov ecx, edi
push eax
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.180fc5a5
add esp, 0xc
test eax, eax
je 0x180fe0be
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x2c], ecx
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x18]
push eax
call fcn.18102405
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
jmp 0x180fd4ef
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x10]
mov ecx, edi
mov esi, dword [edx + 0x14]
add ecx, 1
mov eax, esi
mov dword [edx + 0x10], ecx
adc eax, 0
or edi, esi
mov esi, dword [ebp - 0x14]
mov dword [edx + 0x14], eax
jmp 0x180fda8d
mov edx, dword [ebx + 4]
mov ecx, edi
push 3
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.180fc5a5
add esp, 0xc
test eax, eax
je 0x180fe0be
xor edx, edx
inc edx
mov byte [eax + 2], dl
mov ecx, dword [ebx + 8]
mov dword [eax + 0x20], ecx
mov byte [eax + 4], dl
mov dword [eax + 0x28], 0x182189a9
jmp 0x180fc9b0
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x70]
mov edx, dword [edx + eax*4]
call fcn.180f8868
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], edx
jmp 0x180fc9b0
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov byte [edi + 2], cl
cmp byte [edi + 4], cl
je 0x180fec5c
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], ecx
mov al, byte [ecx + 8]
and al, 0xe
cmp al, 2
jne 0x180febc5
xor edx, edx
call fcn.180fc663
mov ecx, dword [ebp - 0x2c]
call fcn.180f6a1a
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], edx
movzx eax, word [ecx + 8]
test al, 4
jne 0x180fec22
test al, 8
je 0x18100e3c
fild qword [ebp - 0x110]
fstp qword [ebp - 0x30]
fld qword [ebp - 0x30]
fld qword [ecx]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x180fec0e
mov eax, dword [ebp - 0x34]
fstp st(0)
fstp st(0)
test al, 1
je 0x180fec22
dec eax
jmp 0x180fec1f
fcompp
fnstsw ax
test ah, 0x41
jne 0x180fec22
mov eax, dword [ebp - 0x34]
test al, 1
jne 0x180fec22
inc eax
mov dword [ebp - 0x34], eax
mov esi, dword [ebp - 0x110]
lea eax, [ebp - 0x80]
mov ecx, dword [edi + 0x28]
push eax
xor eax, eax
push eax
push edx
push esi
xor edx, edx
call fcn.180f0f77
mov ecx, eax
mov dword [edi + 0x40], esi
mov eax, dword [ebp - 0x10c]
add esp, 0x10
mov dword [ebp - 0x14], ecx
mov dword [edi + 0x44], eax
test ecx, ecx
jne 0x180fd4f7
jmp 0x180fece1
mov eax, dword [edi + 0x28]
push 0
mov al, byte [eax + 3]
and al, 2
mov byte [ebp - 0x21], al
pop eax
setne al
mov dword [ebp - 0x38], eax
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x144], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x13c], ax
mov eax, edx
and al, 1
mov byte [ebp - 0x136], cl
neg al
lea edx, [ebp - 0x144]
sbb al, al
and al, 0xfe
inc al
mov byte [ebp - 0x13a], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x140], eax
lea eax, [ebp - 0x80]
push eax
push ecx
push ecx
push ecx
mov ecx, dword [edi + 0x28]
call fcn.180f0f77
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
cmp byte [ebp - 0x21], al
je 0x180fece1
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
cmp byte [ebp - 0x136], cl
je 0x180fed5b
mov eax, dword [ebp - 0x34]
xor edx, edx
mov byte [edi + 3], dl
mov dword [edi + 0x1c], edx
mov ecx, dword [ebp - 0x80]
cmp eax, 0x1a
jl 0x180fed33
test ecx, ecx
js 0x180fed04
jne 0x180fecff
cmp eax, 0x1b
je 0x180fed04
mov dword [ebp - 0x80], edx
jmp 0x180fed69
push edx
mov dword [ebp - 0x80], edx
push dword [edi + 0x28]
call fcn.180f145f
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x180fed5b
cmp ecx, 0x65
jne 0x180fd4f7
xor eax, eax
xor ecx, ecx
mov esi, eax
inc ecx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x80], ecx
jmp 0x180fed61
test ecx, ecx
jg 0x180fed4d
jne 0x180fed3e
cmp eax, 0x18
je 0x180fed4d
mov eax, dword [edi + 0x28]
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov dword [ebp - 0x80], ecx
jmp 0x180fed5e
push edx
mov dword [ebp - 0x80], edx
push dword [edi + 0x28]
call fcn.180f1573
jmp 0x180fed10
mov ecx, dword [ebp - 0x80]
mov esi, dword [ebp - 0x14]
test ecx, ecx
jne 0x18100e3c
cmp dword [ebp - 0x38], 0
je 0x18100d2d
push 0x14
pop eax
jmp 0x180fddec
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
imul esi, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x20], eax
add esi, dword [ebp - 0x1c]
cmp dword [ebx + 0x10], ecx
jle 0x180fedbf
mov eax, dword [eax + 0x2c]
lea edx, [ebp - 0x1d0]
mov dword [ebp - 0x1d0], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x1c8], ax
xor eax, eax
mov dword [ebp - 0x1cc], esi
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x54], eax
jmp 0x180fee0b
mov ecx, 0x4000
test word [esi + 8], cx
je 0x180feddc
mov ecx, esi
call fcn.180f677d
test eax, eax
jne 0x180fe0be
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x2c]
call fcn.180f9c80
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x54], eax
test eax, eax
je 0x180fe0be
mov edx, dword [esi + 0xc]
push eax
push dword [esi + 0x10]
mov esi, dword [ebp - 0x20]
mov ecx, dword [esi + 0x2c]
call fcn.180f9cd6
mov edx, dword [ebp - 0x2c]
xor eax, eax
pop ecx
pop ecx
mov byte [edx + 0xa], al
mov edi, eax
cmp byte [ebx], 0x1c
mov dword [ebp - 0x2c], edi
jne 0x180fee38
movzx edi, word [edx + 8]
mov ecx, eax
test edi, edi
je 0x180fee35
mov eax, dword [edx + 4]
add eax, 8
test byte [eax], 1
jne 0x180feea3
inc ecx
add eax, 0x28
cmp ecx, edi
jl 0x180fee28
mov edi, dword [ebp - 0x2c]
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0xf8]
push eax
xor eax, eax
push eax
push eax
push eax
call fcn.180f0f77
mov ecx, eax
add esp, 0x10
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x14], ecx
test eax, eax
je 0x180fee68
mov ecx, dword [ebp - 0x18]
mov edx, eax
call fcn.180dfba4
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x180fd4f7
mov eax, dword [ebp - 0xf8]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0xf8]
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 + 0x1c], edx
cmp byte [ebx], 0x1e
mov esi, dword [ebp - 0x14]
jne 0x180feea8
test ecx, ecx
jmp 0x180fc95c
xor edi, edi
inc edi
jmp 0x180fee38
test edi, edi
jne 0x18100e3c
test ecx, ecx
jmp 0x180fda8d
imul eax, dword [ebx + 0xc], 0x28
push 4
pop ecx
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
test byte [eax + 8], cl
jne case.0x180fc8fc.32
push dword [ebp - 0x64]
mov dl, 0x43
mov ecx, eax
call fcn.180fc6f2
mov eax, dword [ebp - 0x2c]
pop ecx
push 4
pop ecx
test byte [eax + 8], cl
je 0x18100e3c
mov eax, dword [edi + 0x70]
xor edx, edx
mov ecx, dword [ebx + 4]
mov edi, dword [ebp - 0x1c]
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebx + 0x28]
imul eax, dword [eax + 0xc], 0x28
mov dword [ebp - 0xd8], edx
mov esi, dword [eax + edi]
mov edi, dword [eax + edi + 4]
lea eax, [ebp - 0xd8]
push eax
push edx
push edi
push esi
call fcn.180f0f77
xor edx, edx
mov dword [ebx + 0x40], esi
mov ecx, eax
mov dword [ebx + 0x44], edi
mov word [ebx + 2], dx
add esp, 0x10
mov dword [ebx + 0x1c], edx
mov eax, dword [ebp - 0xd8]
mov dword [ebx + 0x20], eax
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0xd8], edx
je 0x180fef55
mov ebx, dword [ebp - 0x4c]
cmp dword [ebx + 8], edx
je 0x18101002
mov esi, dword [ebp - 0x14]
jmp 0x18100e3c
test ecx, ecx
jne 0x180fd4f9
mov ebx, dword [ebp - 0x4c]
jmp 0x180fc9ad
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
mov ecx, dword [edi + 0x70]
mov edx, dword [ebx + 4]
push 0
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x10]
mov dword [eax], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
pop ecx
add dword [eax + 0x10], 1
adc dword [eax + 0x14], ecx
jmp 0x180fc9b0
xor eax, eax
mov edx, ebx
mov ecx, edi
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0xc8], eax
call fcn.180fc7f1
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x70]
mov dword [ebp - 0x2c], eax
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x44], edx
cmp byte [edx + 4], 0
je 0x18101024
test byte [edx + 8], 2
jne 0x180ff05d
mov esi, dword [ebp - 0x44]
lea edx, [ebp - 0xc8]
mov ecx, dword [esi + 0x28]
call fcn.180f0f26
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
cmp dword [ebp - 0xc8], eax
je 0x180ff012
mov dword [ebp - 0x88], 1
mov dword [ebp - 0x84], eax
jmp 0x180ff05a
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.180f0844
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], ecx
cmp ecx, 0x7fffffff
jl 0x180ff046
jg 0x180ff03d
cmp eax, 0xffffffff
jb 0x180ff046
mov edx, dword [ebp - 0x44]
or dword [edx + 8], 2
jmp 0x180ff05d
add eax, 1
push 0
pop edx
adc ecx, edx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0x44]
mov esi, dword [ebx + 0xc]
test esi, esi
je 0x180ff0f0
mov eax, dword [edi + 0xc4]
test eax, eax
jne 0x180ff0d0
imul esi, esi, 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.180f6b4d
mov ecx, dword [esi]
mov edi, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x180ff095
cmp edi, 0x7fffffff
je 0x180ff164
mov edx, dword [ebp - 0x44]
test byte [edx + 8], 2
jne 0x180ff164
add ecx, 1
push 0
pop eax
adc edi, eax
cmp dword [ebp - 0x84], edi
jg 0x180ff0df
jl 0x180ff0be
mov eax, dword [ebp - 0x88]
cmp eax, ecx
jae 0x180ff0e5
mov eax, ecx
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x88], eax
jmp 0x180ff0e5
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x180ff0ce
imul esi, esi, 0x28
add esi, dword [eax + 0x10]
jmp 0x180ff078
mov eax, dword [ebp - 0x88]
mov dword [esi], eax
mov eax, dword [ebp - 0x84]
mov dword [esi + 4], eax
test byte [edx + 8], 2
je 0x180ff16e
mov esi, dword [ebp - 0x44]
xor eax, eax
mov edi, eax
lea eax, [ebp - 0x88]
push eax
push 8
pop eax
push eax
call fcn.180e15e2
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x88]
and eax, 0x3fffffff
push 0
add ecx, 1
pop edx
adc eax, edx
mov dword [ebp - 0x88], ecx
lea edx, [ebp - 0xc8]
mov dword [ebp - 0x84], eax
push edx
xor edx, edx
push edx
push eax
push ecx
mov ecx, dword [esi + 0x28]
call fcn.180f0f77
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
cmp dword [ebp - 0xc8], eax
jne 0x180ff16b
inc edi
cmp edi, 0x64
jl 0x180ff0fd
push 0xd
jmp 0x18100ff2
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x2c]
xor eax, eax
mov byte [edx + 3], al
mov dword [edx + 0x1c], eax
mov eax, dword [ebp - 0x88]
mov dword [ecx], eax
mov eax, dword [ebp - 0x84]
mov dword [ecx + 4], eax
jmp 0x180fc9ad
imul esi, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov edx, dword [ebp - 0x1c]
add esi, edx
cmp byte [ebp - 0x21], 0x76
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x20], ecx
jne 0x180ff1c3
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [eax + edx]
mov dword [ebp - 0x1b0], ecx
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x20]
jmp 0x180ff1d2
mov eax, dword [ebx + 0xc]
cdq
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1b0], eax
mov eax, edx
cmp byte [ebx + 1], 0xfa
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x54], eax
jne 0x180ff202
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp dword [eax + 0xe4], edx
je 0x180ff202
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 - 0x40], ecx
jmp 0x180ff207
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x6c], eax
movzx eax, word [ebx + 2]
mov edx, eax
test al, 1
je 0x180ff21b
inc dword [edi + 0x2c]
movzx edx, word [ebx + 2]
movzx ecx, dx
test dl, 0x20
je 0x180ff236
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x54]
mov dword [ecx + 0x24], eax
movzx ecx, word [ebx + 2]
mov eax, dword [esi + 0x10]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x1a8], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x19c], eax
test cl, 0x10
je 0x180ff255
mov edx, dword [edi + 0x20]
jmp 0x180ff259
xor eax, eax
mov edx, eax
mov eax, 0x4000
test word [esi + 8], ax
push 0
pop eax
je 0x180ff273
mov eax, dword [esi]
mov dword [ebp - 0x198], eax
xor eax, eax
jmp 0x180ff279
mov dword [ebp - 0x198], eax
push edx
and ecx, 0xa
mov dword [ebp - 0x1b8], eax
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x1b8]
call fcn.180f42b3
pop ecx
pop ecx
mov ecx, eax
xor edx, edx
mov dword [ebp - 0x14], ecx
mov byte [edi + 3], dl
mov dword [edi + 0x1c], edx
test ecx, ecx
jne 0x180fd4f9
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x18100d2d
push dword [ebp - 0x1ac]
push dword [ebp - 0x1b0]
push dword [eax]
mov al, byte [ebx + 2]
push dword [ebp - 0x6c]
push 4
pop ecx
and al, cl
movzx eax, al
neg eax
push 5
sbb eax, eax
pop edi
and eax, edi
add eax, 0x12
push eax
mov eax, dword [ebp - 0x18]
push dword [eax + 0xe0]
call dword [eax + 0xe4]
add esp, 0x18
jmp 0x180fc9ad
cmp byte [ebx + 1], 0xfa
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x40], eax
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x2c], esi
jne 0x180ff357
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp dword [eax + 0xe4], ecx
je 0x180ff357
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 - 0x20], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x54], eax
je 0x180ff35f
cmp byte [esi + 4], 0
je 0x180ff35f
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.180f0844
mov ecx, dword [ebp - 0x2c]
mov eax, dword [esi + 0x20]
mov dword [ecx + 0x40], eax
mov eax, dword [esi + 0x24]
mov esi, ecx
mov dword [esi + 0x44], eax
jmp 0x180ff35f
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x54], eax
mov dl, byte [ebx + 2]
mov ecx, dword [esi + 0x28]
call fcn.180f45a3
mov ecx, eax
xor edx, edx
mov dword [ebp - 0x14], ecx
mov dword [esi + 0x1c], edx
mov dword [esi + 0x20], edx
test ecx, ecx
jne 0x180fd4f9
inc eax
test byte [ebp - 0x40], al
je 0x180ff5d4
mov edx, dword [ebp - 0x18]
inc dword [edi + 0x2c]
mov eax, dword [edx + 0xe4]
test eax, eax
je 0x18100d2d
mov ecx, dword [ebp - 0x54]
test byte [ecx + 0x24], 0x20
jne 0x18100d2d
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [ecx]
push dword [ebp - 0x20]
push 9
push dword [edx + 0xe0]
call eax
jmp 0x180ff2ec
mov ecx, dword [ebp - 0x18]
mov eax, dword [edi + 0x2c]
add dword [ecx + 0x60], eax
mov dword [ecx + 0x5c], eax
xor eax, eax
mov dword [edi + 0x2c], eax
jmp 0x180fc9b0
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
imul edx, dword [ebx + 0xc], 0x28
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0xfc]
add edx, dword [ebp - 0x1c]
push eax
push dword [ebx + 0x10]
call fcn.18103c5b
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
cmp dword [ebp - 0xfc], eax
mov esi, eax
jmp 0x180fc95c
imul edx, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
add edx, dword [ebp - 0x1c]
mov ecx, dword [eax + ecx*4]
call fcn.18103c05
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 0x1c], ecx
jmp 0x180fc9ad
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
mov edx, dword [ebx + 4]
mov esi, eax
mov ecx, dword [edi + 0x70]
mov ecx, dword [ecx + edx*4]
mov eax, dword [ecx + 0x28]
mov ecx, eax
mov dword [ebp - 0x2c], eax
call fcn.180f0844
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [edx + 0x64]
ja 0x18100426
push esi
push eax
xor edx, edx
call fcn.180f7125
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
cmp dword [ebx + 0xc], eax
jne 0x18100d2d
mov eax, 0x1000
test word [esi + 8], ax
je 0x18100d2d
mov ecx, esi
call fcn.180f6737
test eax, eax
jne 0x180fe0be
jmp 0x180fc9ad
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x70]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0x54], ecx
cmp byte [ecx + 2], 0
je 0x180ff4ef
xor ecx, ecx
inc ecx
jmp 0x180fc939
cmp byte [ecx + 3], 0
je 0x180ff506
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0xe8], edx
mov eax, dword [ecx + 0x44]
jmp 0x180ff58f
cmp byte [ecx], 2
jne 0x180ff540
mov ecx, dword [ecx + 0x28]
lea edx, [ebp - 0xe8]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
call dword [eax + 0x30]
pop ecx
pop ecx
mov edx, esi
mov dword [ebp - 0x14], eax
mov ecx, edi
call fcn.180fab75
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x180fd4f7
mov edx, dword [ebp - 0xe8]
mov esi, ecx
jmp 0x180ff595
mov eax, dword [ecx + 0x28]
cmp byte [eax], 0
je 0x180ff561
call fcn.180f981e
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x18100f25
mov ecx, dword [ebp - 0x54]
mov esi, eax
jmp 0x180ff568
xor eax, eax
mov esi, eax
mov dword [ebp - 0x14], esi
cmp byte [ecx + 2], 0
je 0x180ff576
mov ecx, dword [ebp - 0x2c]
jmp 0x180fcdec
mov esi, dword [ecx + 0x28]
mov ecx, esi
call fcn.180f0844
mov edx, dword [esi + 0x20]
mov dword [ebp - 0xe8], edx
mov eax, dword [esi + 0x24]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], edx
mov eax, dword [ebp - 0xe4]
mov dword [ecx + 4], eax
jmp 0x180fc9b0
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
xor eax, eax
xor ecx, ecx
inc eax
mov byte [esi + 2], al
mov dword [esi + 0x1c], ecx
cmp byte [esi], cl
jne 0x180ff5d4
mov esi, dword [esi + 0x28]
push dword [esi + 0x10]
call fcn.180dfb36
xor eax, eax
mov dword [esi + 0x10], eax
inc eax
pop ecx
mov byte [esi], al
mov esi, dword [ebp - 0x14]
jmp case.0x180fc8fc.83
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
xor eax, eax
cmp byte [ebp - 0x21], 0x7f
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0xd4], eax
jne 0x180ff602
or dword [esi + 0x20], 0xffffffff
cmp byte [ecx], al
je 0x18100d2d
lea edx, [ebp - 0xd4]
call fcn.180f0f26
mov ecx, eax
xor edx, edx
mov al, byte [ebp - 0xd4]
mov dword [ebp - 0x14], ecx
mov byte [esi + 2], al
mov byte [esi + 3], dl
mov dword [esi + 0x1c], edx
test ecx, ecx
jne 0x180fd4f9
cmp dword [ebx + 8], edx
jle 0x18100d2d
cmp dword [ebp - 0xd4], edx
mov esi, ecx
jmp 0x180fc95c
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xe0]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.180f0efa
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
cmp dword [ebp - 0xe0], eax
jne 0x180fef4d
mov ecx, esi
call fcn.180f1350
xor ecx, ecx
cmp edx, ecx
jl 0x180ff6a0
jg 0x180ff686
cmp eax, ecx
jb 0x180ff6a0
push edx
push eax
call fcn.180e3060
cwde
pop ecx
pop ecx
cmp eax, dword [ebx + 0xc]
jge 0x180ff6a0
xor eax, eax
inc eax
mov dword [ebp - 0xe0], eax
jmp 0x180ff6a6
mov eax, dword [ebp - 0xe0]
mov esi, dword [ebp - 0x14]
jmp 0x180fda6e
inc dword [edi + 0xa8]
mov eax, dword [edi + 0x70]
lea edx, [ebp - 0xcc]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor eax, eax
inc eax
mov dword [ebp - 0xcc], eax
cmp byte [esi], al
jne 0x180ff6db
mov ecx, esi
call fcn.18103afe
xor edx, edx
jmp 0x180ff6eb
mov ecx, dword [esi + 0x28]
call fcn.180f0efa
xor edx, edx
mov byte [esi + 3], dl
mov dword [esi + 0x1c], edx
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f9
mov al, byte [ebp - 0xcc]
mov byte [esi + 2], al
mov esi, ecx
cmp dword [ebp - 0xcc], ecx
jmp 0x180fc95c
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x2c], esi
call fcn.18103b4e
jmp 0x180ff74e
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x70]
cmp dword [eax + ecx*4], edx
je 0x180fc9b0
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
push dword [ebx + 0xc]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x2c], esi
push dword [esi + 0x28]
call dword [ebx + 0x10]
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
xor edx, edx
mov dword [esi + 0x1c], edx
test ecx, ecx
jne 0x180ff76f
mov byte [esi + 2], dl
movzx eax, word [ebx + 2]
inc dword [edi + eax*4 + 0xa0]
jmp 0x181009c8
cmp ecx, 0x65
jne 0x180fd4f9
mov eax, dword [ebp - 0x2c]
mov esi, edx
mov dword [ebp - 0x14], esi
mov byte [eax + 2], 1
jmp 0x181009df
imul esi, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
add esi, dword [ebp - 0x1c]
test byte [ebx + 2], 1
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x2c], ecx
je 0x180ff7a5
inc dword [edi + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x180ff7c7
mov ecx, esi
call fcn.180f677d
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
mov ecx, dword [ebp - 0x2c]
mov eax, 0x80
cmp byte [ebx], al
jne 0x180ff7dd
mov edx, esi
call fcn.18102f80
mov ecx, eax
xor edx, edx
jmp 0x180ff83c
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], edx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x240], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x22c], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x228], ax
movzx eax, word [ebx + 2]
test al, 0x10
je 0x180ff81b
mov edx, dword [ecx + 0x20]
jmp 0x180ff81d
xor edx, edx
mov ecx, dword [ecx + 0x28]
and eax, 0xa
push edx
push eax
lea edx, [ebp - 0x240]
call fcn.180f42b3
pop ecx
pop ecx
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x1c], edx
mov dword [ebp - 0x14], ecx
jmp 0x180fe779
mov eax, dword [edi + 0x70]
lea edx, [ebp - 0x180]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0x180], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x178], ax
imul eax, dword [ebx + 8], 0x28
mov byte [ebp - 0x176], cl
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x17c], eax
lea eax, [ebp - 0x124]
push eax
push ecx
push ecx
push ecx
mov ecx, edi
call fcn.180f0f77
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
cmp dword [ebp - 0x124], eax
jne 0x180ff8c1
push 4
pop eax
mov dl, al
mov ecx, edi
call fcn.180f45a3
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
xor eax, eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
jmp 0x180fc9ad
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ecx + 0x28]
cmp byte [eax], 0
je 0x180ff8fd
call fcn.180f981e
mov ecx, eax
xor edx, edx
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x181010cc
mov ecx, dword [ebp - 0x2c]
mov esi, eax
jmp 0x180ff904
xor edx, edx
mov esi, edx
mov dword [ebp - 0x14], esi
cmp byte [ecx + 2], 0
jne 0x180ff990
mov dword [ebp - 0xf0], edx
lea eax, [ebp - 0xf0]
mov dword [ebp - 0xec], edx
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x18]
push eax
call fcn.180fa94a
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
cmp byte [ebx], 0x83
jne 0x180ff974
mov eax, dword [edi + 0x70]
mov ecx, dword [ebx + 0xc]
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov byte [ecx + 2], al
mov eax, dword [ebp - 0xf0]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0xec]
mov dword [ecx + 0x44], eax
mov byte [ecx + 3], 1
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 0x24], eax
jmp 0x180fc9ad
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
mov ecx, dword [ebp - 0xf0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xec]
jmp 0x180fe31a
imul eax, dword [ebx + 8], 0x28
mov ecx, 0x2460
add eax, dword [ebp - 0x1c]
test word [eax + 8], cx
je 0x180ff4e7
mov ecx, eax
jmp 0x180fcde2
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
cmp byte [ebp - 0x21], 0x28
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x18]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x190], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x188], ax
sbb al, al
mov byte [ebp - 0x186], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18c], eax
xor eax, eax
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.180faa3f
test byte [ebx], 1
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x14], ecx
jne 0x180ffa17
neg eax
jmp 0x180ffa18
inc eax
mov dword [ebp - 0xd0], eax
test ecx, ecx
jne 0x180fd4f7
mov esi, dword [ebp - 0x14]
test eax, eax
jg 0x18100e3c
jmp 0x180fc9b0
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
xor ecx, ecx
mov dword [ebp - 0x54], eax
inc ecx
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ecx + 0xb4]
inc ecx
cmp dword [eax + 0xa8], ecx
jg 0x18101030
mov eax, dword [ebx + 0xc]
xor ecx, ecx
mov esi, dword [ebx + 4]
mov dword [ebp - 0xbc], ecx
mov ecx, eax
mov dword [ebp - 0x2c], eax
add ecx, ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x10]
mov edi, dword [eax + ecx*8 + 4]
mov ecx, edi
call fcn.180ed781
lea eax, [ebp - 0xbc]
mov edx, esi
push eax
mov ecx, edi
call fcn.180f4c1c
pop ecx
mov ecx, edi
mov dword [ebp - 0x14], eax
call fcn.180ed7fa
mov ecx, dword [ebp - 0x54]
push 4
pop eax
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xbc]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x180fd4f7
cmp dword [ebp - 0xbc], ecx
je 0x18100d2d
push dword [ebx + 4]
mov edx, dword [ebp - 0x2c]
push dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x18]
call fcn.1810f5fc
mov al, byte [ebp - 0x2c]
pop ecx
inc al
pop ecx
mov byte [ebp - 0x75], al
jmp 0x180fc9ad
mov edx, dword [ebx + 4]
lea ecx, [ebp - 0xf4]
xor eax, eax
mov dword [ebp - 0xf4], eax
mov eax, dword [ebx + 0xc]
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [ebp - 0x18]
push eax
mov eax, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.180f4bc5
pop ecx
xor edx, edx
mov ecx, eax
mov dword [ebp - 0x14], ecx
cmp dword [ebx + 0xc], edx
je 0x180fe779
mov eax, dword [ebp - 0xf4]
add dword [edi + 0x2c], eax
mov edx, dword [ebx + 0xc]
test edx, edx
jle 0x180ffb54
mov edi, dword [ebp - 0x1c]
imul ecx, edx, 0x28
cdq
add dword [ecx + edi], eax
adc dword [ecx + edi + 4], edx
mov ecx, dword [ebp - 0x14]
xor edx, edx
jmp 0x180fe779
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x180ffb79
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x18]
call fcn.1810273c
jmp 0x180fc9b0
mov ecx, dword [ecx + 0x28]
xor eax, eax
push eax
mov edx, dword [ecx + 0x40]
mov ecx, dword [ecx + 8]
call fcn.180f4bc5
jmp 0x180feb03
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov edi, dword [ecx + edx*8 + 4]
mov ecx, edi
call fcn.180ed781
push esi
lea edx, [ebp - 0xac]
mov ecx, edi
call fcn.180f4857
pop ecx
mov ecx, edi
mov dword [ebp - 0x14], eax
call fcn.180ed7fa
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x180fd4f7
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x2c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x180fc9ad
mov eax, dword [ebp - 0x18]
xor ecx, ecx
push ecx
push ecx
push ecx
inc byte [eax + 0x52]
push dword [ebx + 0x10]
push eax
call fcn.18118d74
mov edx, dword [ebp - 0x18]
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0x14], ecx
dec byte [edx + 0x52]
jmp 0x180fd4ef
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0x6c]
mov ecx, dword [ebx + 4]
push dword [ebx + 0x10]
mov dword [ebp - 0x168], ecx
add ecx, ecx
mov dword [ebp - 0x16c], eax
mov eax, dword [esi + 0x10]
push str.sqlite_master
mov dword [ebp - 0x170], esi
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.180e1420
add esp, 0x14
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x18101042
xor ecx, ecx
mov byte [esi + 0x9d], 1
push ecx
mov dword [ebp - 0x164], ecx
lea ecx, [ebp - 0x170]
push ecx
push fcn.1811c0d8
push eax
push esi
call fcn.18118d74
mov esi, eax
add esp, 0x14
mov dword [ebp - 0x14], esi
test esi, esi
jne 0x180ffc97
mov esi, dword [ebp - 0x164]
mov dword [ebp - 0x14], esi
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
call fcn.180dfba4
mov ecx, dword [ebp - 0x18]
xor eax, eax
mov byte [ecx + 0x9d], al
test esi, esi
jne 0x1810104b
jmp 0x180fc9b0
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x18]
call fcn.1810c584
jmp 0x180feb04
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x18]
call fcn.1810dbbc
jmp 0x180fcc9e
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x18]
call fcn.1810d865
jmp 0x180fcc9e
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x18]
call fcn.18123cf6
jmp 0x180fcc9e
imul eax, dword [ebx + 0xc], 0x28
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0x10]
add edx, 4
add eax, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x54], eax
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp - 0x18]
inc eax
push eax
movzx eax, word [ebx + 2]
push dword [ebx + 8]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.180f5744
mov ecx, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp - 0x2c], eax
call fcn.180f6d07
mov eax, dword [ebp - 0x128]
test eax, eax
je 0x180ffd83
cmp dword [ebp - 0x2c], 0
je 0x180fe0be
mov ecx, dword [ebp - 0x54]
dec eax
cdq
push fcn.180dfb36
push 1
sub dword [ecx], eax
push 0xffffffffffffffff
sbb dword [ecx + 4], edx
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
call fcn.180f6f63
add esp, 0xc
movzx edx, byte [ebp - 0x64]
mov ecx, dword [ebp - 0x20]
call fcn.180f65f6
jmp 0x180fc9b0
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
add eax, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x54], ecx
test byte [eax + 8], 0x20
jne 0x180ffdc5
mov ecx, eax
call fcn.180f6dd3
mov eax, dword [ebp - 0x2c]
test byte [eax + 8], 0x20
je 0x180fe0be
mov ecx, dword [ebp - 0x54]
push dword [ecx + 4]
push dword [ecx]
mov ecx, dword [eax]
call fcn.180e72f9
jmp 0x180fcd95
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
test byte [eax + 8], 0x20
je 0x180ffe19
mov ecx, dword [eax]
lea edx, [ebp - 0x158]
call fcn.180e7516
test eax, eax
je 0x180ffe16
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0x154]
push dword [ebp - 0x158]
add ecx, dword [ebp - 0x1c]
call fcn.180f6d72
pop ecx
pop ecx
jmp 0x181009df
mov eax, dword [ebp - 0x2c]
mov ecx, eax
call fcn.180f6d07
jmp case.0x180fc8fc.13
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 - 0x1c]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x54], ecx
test byte [eax + 8], 0x20
jne 0x180ffe5f
mov ecx, eax
call fcn.180f6dd3
mov eax, dword [ebp - 0x20]
test byte [eax + 8], 0x20
je 0x180fe0be
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x2c]
test edx, edx
je 0x180ffe82
push dword [ecx + 4]
push dword [ecx]
mov ecx, dword [eax]
call fcn.180e756e
pop ecx
pop ecx
test eax, eax
jne 0x18100e3c
cmp dword [ebp - 0x2c], eax
jl 0x18100d2d
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x20]
push dword [eax + 4]
mov ecx, dword [ecx]
push dword [eax]
jmp 0x180ffdcc
imul eax, dword [ebx + 0xc], 0x28
xor edx, edx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x34], ecx
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
cmp word [ebx + 2], dx
je 0x180ffeca
mov edx, dword [ecx + 0x14]
mov eax, dword [edi + 0xc4]
test eax, eax
je 0x180ffec7
cmp dword [eax + 0x1c], edx
je 0x180fc9b0
mov eax, dword [eax + 4]
jmp 0x180ffeb5
mov eax, dword [ebp - 0x38]
mov edx, dword [edi + 0xcc]
mov edi, dword [ebp - 0x18]
cmp edx, dword [edi + 0x8c]
mov edi, dword [ebp - 0x70]
jge 0x18101061
test byte [eax + 8], 0x40
jne 0x180fffd8
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
add eax, edx
mov dword [ebp - 0x20], eax
test edx, edx
jne 0x180ffeff
inc eax
mov dword [ebp - 0x20], eax
add eax, 2
imul ecx, eax, 0xa
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
add ecx, edx
add eax, 7
mov eax, eax
test eax, eax
jns 0x180fff19
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x18]
cdq
push edx
push eax
call fcn.180dfd8e
mov edx, eax
mov dword [ebp - 0x68], edx
pop ecx
pop ecx
test edx, edx
je 0x180fe0be
mov ecx, dword [ebp - 0x38]
call fcn.180f6994
mov eax, dword [ebp - 0x38]
sub ebx, dword [ebp - 0x60]
push 0x40
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
push 0x14
mov dword [ecx + 0x3c], eax
mov eax, dword [ebp - 0x34]
mov dword [ecx], edi
mov eax, dword [eax + 0xc]
mov dword [ecx + 0x40], eax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov ebx, dword [ebp - 0x34]
mov dword [ecx + 0x30], eax
mov eax, dword [edi + 0x5c]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [ecx + 0x38], eax
mov eax, dword [edi + 0x70]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + 0x1c]
mov dword [ecx + 0x2c], eax
mov eax, dword [edi + 0x58]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x88]
mov dword [ecx + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x20]
add eax, 2
imul edx, eax, 0x28
lea eax, [ecx + 0x50]
add edx, ecx
cmp eax, edx
je 0x180fffd0
mov edi, dword [ebp - 0x18]
mov ecx, 0x80
mov word [eax + 8], cx
mov dword [eax + 0x20], edi
add eax, 0x28
cmp eax, edx
jne 0x180fffb9
mov edi, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x34]
mov edx, dword [edi + 0xcc]
jmp 0x180fffe0
mov ecx, dword [eax]
mov ebx, dword [ebp - 0x34]
mov dword [ebp - 0x68], ecx
lea eax, [edx + 1]
mov edx, dword [ebp - 0x18]
mov dword [edi + 0xcc], eax
mov eax, dword [edi + 0xc4]
mov dword [ecx + 4], eax
mov eax, dword [edx + 0x20]
mov dword [ecx + 0x20], eax
mov eax, dword [edx + 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [edi + 0x2c]
mov dword [ecx + 0x44], eax
mov eax, dword [edi]
mov edx, dword [ebp - 0x68]
mov eax, dword [eax + 0x5c]
mov dword [ecx + 0x48], eax
mov eax, dword [edi + 0xd8]
mov dword [ecx + 0x28], eax
xor eax, eax
mov dword [edi + 0xd8], eax
mov dword [edi + 0x2c], eax
lea eax, [ecx + 0x50]
mov dword [edi + 0x5c], eax
mov dword [edi + 0xc4], ecx
mov ecx, dword [ecx + 0x3c]
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x18], ecx
movzx eax, word [edx + 0x40]
mov dword [edi + 0x1c], eax
imul eax, ecx, 0x28
lea ecx, [edx + 0x50]
add ecx, eax
mov dword [edi + 0x70], 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.181620e0
mov edx, dword [ebx]
add esp, 0xc
mov dword [edi + 0x58], edx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x60], edx
mov dword [edi + 0x88], eax
lea ebx, [edx - 0x14]
jmp 0x180fc9b0
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
mov esi, dword [edi + 0xc4]
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 0x180fde5d
mov ecx, dword [ebp - 0x18]
test dword [ecx + 0x1c], 0x80000
je 0x181000dc
mov eax, dword [ebx + 8]
cdq
add dword [ecx + 0x1d0], eax
adc dword [ecx + 0x1d4], edx
jmp 0x180fc9b0
xor eax, eax
cmp dword [ebx + 4], eax
mov eax, dword [ebx + 8]
cdq
je 0x181000f8
add dword [ecx + 0x1c8], eax
adc dword [ecx + 0x1cc], edx
jmp 0x180fc9b0
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp 0x180fc9b0
xor eax, eax
cmp dword [ebx + 4], eax
je 0x18100130
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x1c8]
or eax, dword [ecx + 0x1cc]
jne 0x180fc9b0
mov eax, dword [ecx + 0x1d0]
or eax, dword [ecx + 0x1d4]
jmp 0x180fda8d
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jne 0x180fc9b0
mov ecx, dword [ebp - 0x18]
jmp 0x1810011f
mov eax, dword [edi + 0xc4]
test eax, eax
jne 0x1810018b
imul edi, dword [ebx + 4], 0x28
add edi, dword [ebp - 0x1c]
mov ecx, edi
call fcn.180f6b4d
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.180f6b4d
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x18100d2d
jl 0x1810017f
cmp dword [edi], eax
jae 0x18100d2d
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x180fc9ad
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x18100189
imul edi, dword [ebx + 4], 0x28
add edi, dword [eax + 0x10]
jmp 0x18100152
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
add ecx, dword [ebp - 0x1c]
mov edi, dword [ecx]
cmp dword [ecx + 4], edx
jl 0x180fc9b0
jg 0x181001b9
cmp edi, edx
jbe 0x180fc9b0
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 0x18100e3c
imul eax, dword [ebx + 0xc], 0x28
mov edx, ebx
imul esi, dword [ebx + 4], 0x28
mov ecx, edi
add eax, dword [ebp - 0x1c]
add esi, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
call fcn.180fc7f1
mov ecx, dword [esi + 4]
xor edx, edx
mov edi, eax
mov eax, dword [esi]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], ecx
cmp ecx, edx
jl 0x18100246
jg 0x18100207
cmp eax, edx
jbe 0x18100246
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
cmp ecx, edx
jl 0x18100219
jg 0x1810021d
cmp eax, edx
ja 0x1810021d
mov eax, edx
mov ecx, edx
push ecx
push eax
lea ecx, [ebp - 0x118]
call fcn.180e2e20
pop ecx
pop ecx
test eax, eax
jne 0x18100246
mov eax, dword [ebp - 0x118]
mov dword [edi], eax
mov eax, dword [ebp - 0x114]
mov dword [edi + 4], eax
jmp 0x180fc9ad
or dword [edi], 0xffffffff
or dword [edi + 4], 0xffffffff
jmp 0x180fc9ad
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
mov eax, edx
mov edi, dword [ecx + 4]
or eax, edi
je 0x180fc9b0
xor eax, eax
cmp edi, eax
jl 0x18100e3c
jg 0x1810027c
cmp edx, eax
jbe 0x18100e3c
sub edx, 1
mov dword [ecx], edx
sbb edi, eax
mov dword [ecx + 4], edi
jmp 0x18100e3c
imul edx, dword [ebx + 4], 0x28
add edx, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
cmp ecx, 0x80000000
jl 0x181002b5
jg 0x181002a9
xor edi, edi
cmp eax, edi
jbe 0x181002b5
jmp 0x181002ab
xor edi, edi
sub eax, 1
mov dword [edx], eax
sbb ecx, edi
mov dword [edx + 4], ecx
or eax, ecx
jmp 0x180fda8d
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
push ecx
mov ecx, dword [ebp - 0x18]
lea eax, [eax*4 + 0x44]
push eax
call fcn.180dfde7
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x180fe0be
mov edx, dword [ebp - 0x18]
xor eax, eax
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x2c]
add eax, 7
push 1
lea ecx, [esi + eax*4]
mov dword [esi], ecx
call fcn.180f6cf3
mov eax, dword [ebx + 0x10]
mov dword [esi + 4], eax
mov eax, ebx
sub eax, dword [ebp - 0x60]
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], 0xf097
mov dword [ebx + 0x10], esi
imul edx, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
cmp dword [esi + 8], edx
je 0x1810036b
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi + 8], edx
js 0x1810036b
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 - 0x1c]
mov dword [edi], eax
sub edi, edx
sub ecx, 1
jns 0x18100351
mov edi, dword [ebp - 0x70]
mov edx, dword [ebp - 0x2c]
inc dword [edx + 0xc]
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x19]
push eax
push esi
call dword [ecx + 0xc]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x18100d2d
jle 0x181003ab
push dword [esi]
call fcn.180fae9f
pop ecx
push eax
push 0x181fd470
push edi
call fcn.180f7609
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x14], eax
cmp byte [esi + 0x18], 0
je 0x181003cf
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x181003ca
xor ecx, ecx
push ecx
imul ecx, eax, 0x28
push 1
add ecx, dword [ebp - 0x1c]
call fcn.180f6d72
pop ecx
pop ecx
xor eax, eax
mov byte [esi + 0x18], al
mov ecx, dword [esi]
call fcn.180f6994
mov eax, dword [esi]
xor ecx, ecx
inc ecx
xor edx, edx
mov word [eax + 8], cx
mov dword [esi + 0x14], edx
jmp 0x180fe776
imul eax, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0x10]
add eax, dword [ebp - 0x1c]
mov ecx, eax
mov dword [ebp - 0x20], eax
call fcn.180f6889
mov esi, eax
mov dword [ebp - 0x14], esi
test esi, esi
jne 0x1810107d
movzx edx, byte [ebp - 0x64]
mov ecx, dword [ebp - 0x20]
call fcn.180f65f6
mov ecx, dword [ebp - 0x20]
call fcn.180f6e42
test eax, eax
je 0x180fc9b0
push str.string_or_blob_too_big
push edi
call fcn.180f7609
pop ecx
pop ecx
push 0x12
jmp 0x18100ff2
mov edx, dword [ebx + 4]
xor eax, eax
mov ecx, dword [ebp - 0x18]
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.18133df7
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x18100484
push 5
pop eax
cmp ecx, eax
jne 0x180fd4f7
xor eax, eax
mov dword [ebp - 0x10], 1
mov esi, eax
mov dword [ebp - 0x14], esi
jmp 0x18100489
mov esi, dword [ebp - 0x14]
xor eax, eax
imul edi, dword [ebx + 0xc], 0x28
mov ebx, eax
add edi, dword [ebp - 0x1c]
mov eax, dword [ebp + ebx*4 - 0x10]
mov ecx, edi
cdq
push edx
push eax
call fcn.180f6d72
inc ebx
add edi, 0x28
pop ecx
pop ecx
cmp ebx, 3
jl 0x18100492
jmp 0x180fcc1b
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
mov edx, dword [ebx + 4]
mov dword [ebp - 0x54], eax
add edx, edx
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x2c], eax
call fcn.180f4f19
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.180eb0fe
cmp dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x38], eax
jne 0x181004f1
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x34]
call fcn.180eb103
test eax, eax
jne 0x18100503
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x34]
xor edx, edx
inc edx
call fcn.180eaee6
push 5
mov ecx, eax
mov eax, dword [ebp - 0x48]
pop edx
cmp eax, edx
jne 0x1810053d
call fcn.180e1ea0
test eax, eax
je 0x1810052f
mov ecx, dword [ebp - 0x34]
call fcn.180eb176
test eax, eax
jne 0x18100537
mov eax, dword [ebp - 0x38]
jmp 0x181005b9
mov eax, dword [ebp - 0x48]
push 5
pop edx
mov ecx, dword [ebp - 0x38]
cmp eax, ecx
je 0x181005b9
cmp ecx, edx
je 0x1810054c
cmp eax, edx
jne 0x181005b9
mov edx, dword [ebp - 0x18]
cmp byte [edx + 0x47], 0
je 0x18101097
cmp dword [edx + 0xa8], 1
jg 0x18101097
push 5
pop edi
cmp ecx, edi
jne 0x1810058a
mov esi, dword [ebp - 0x34]
mov ecx, esi
call fcn.180eb24f
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x181005bd
mov edx, dword [ebp - 0x48]
mov ecx, esi
call fcn.180eb031
jmp 0x181005a0
push 4
pop eax
cmp ecx, eax
jne 0x1810059c
mov ecx, dword [ebp - 0x34]
push 2
pop edx
call fcn.180eb031
test esi, esi
jne 0x181005bd
mov ecx, dword [ebp - 0x2c]
xor edx, edx
cmp dword [ebp - 0x48], edi
sete dl
inc edx
call fcn.180f5b33
mov esi, eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], esi
test esi, esi
je 0x181005c0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov edx, eax
call fcn.180eb031
mov esi, dword [ebp - 0x54]
mov ecx, 0xa02
mov word [esi + 8], cx
mov ecx, eax
call fcn.18119951
mov ecx, eax
mov dword [esi + 0x10], eax
call fcn.180e1ea0
movzx edx, byte [ebp - 0x64]
mov ecx, esi
mov dword [esi + 0xc], eax
mov byte [esi + 0xa], 1
call fcn.180f65f6
jmp 0x180fd4ec
push dword [ebx + 4]
mov edx, dword [ebp - 0x18]
lea ecx, [edi + 0x6c]
call fcn.1812597e
jmp 0x180feb03
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebx + 4]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + ecx*8 + 4]
call fcn.180f0167
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x18100d2d
cmp ecx, 0x65
jne 0x180fd4f7
xor eax, eax
mov esi, eax
mov dword [ebp - 0x14], esi
jmp 0x18100e3c
xor ecx, ecx
cmp dword [ebx + 4], ecx
jne 0x1810065b
mov ecx, dword [ebp - 0x18]
call fcn.180faad5
jmp 0x180fc9b0
or dword [edi + 0x94], eax
jmp case.0x180fc8fc.83
mov al, byte [ebx + 0xc]
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 0x12c], al
test al, al
jne 0x18100683
test dword [ecx + 0x1c], 0x400
jne 0x180fc9b0
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
push dword [ebp - 0x12c]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.180f5a8c
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x180fc9ad
cmp cl, 6
jne 0x180fd4f7
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x1810108c
mov esi, dword [ebx + 0x10]
mov edx, esi
mov ecx, dword [ebp - 0x18]
call fcn.181268f4
mov ecx, eax
mov dword [ebp - 0x14], ecx
test esi, esi
je 0x180fd4ef
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.180fab75
jmp 0x180fd4ec
xor eax, eax
push 0x28
push eax
lea eax, [ebp - 0x268]
push eax
call fcn.181620e0
imul edx, dword [ebx + 8], 0x28
lea ecx, [ebp - 0x268]
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov dword [ebp - 0x248], eax
add edx, dword [ebp - 0x1c]
call fcn.180f6ed9
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x268]
push eax
call fcn.180fae9f
pop ecx
test eax, eax
je 0x18100742
mov edx, dword [ebx + 4]
lea ecx, [edi + 0x6c]
push ecx
mov ecx, dword [ebp - 0x18]
push eax
call fcn.18126584
pop ecx
pop ecx
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x268]
call fcn.180f6994
jmp 0x180fd4ec
mov eax, dword [ebp - 0x18]
mov ecx, eax
inc dword [eax + 0xb4]
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.18126813
mov edx, dword [ebp - 0x18]
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
dec dword [edx + 0xb4]
jmp 0x180fd4ef
mov eax, dword [ebx + 0x10]
xor edx, edx
mov dword [ebp - 0xc0], edx
mov esi, dword [eax + 8]
test esi, esi
je 0x181010c9
mov eax, dword [esi]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x181010c9
lea ecx, [ebp - 0xc0]
push ecx
push esi
call dword [eax + 0x18]
pop ecx
pop ecx
mov edx, esi
mov dword [ebp - 0x14], eax
mov ecx, edi
call fcn.180fab75
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x180fd4f7
mov eax, dword [ebp - 0xc0]
mov ecx, edi
push 2
push 0xffffffffffffffff
mov dword [eax], esi
xor eax, eax
mov edx, dword [ebx + 4]
push eax
call fcn.180fc5a5
add esp, 0xc
test eax, eax
je 0x181010b7
mov ecx, dword [ebp - 0xc0]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
jmp 0x180fc9ad
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
imul edx, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x6c], eax
add edx, dword [ebp - 0x1c]
mov esi, dword [eax + 0x28]
mov ecx, dword [edx + 0x28]
mov eax, dword [esi]
mov dword [ebp - 0x40], eax
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [edx]
mov dword [ebp - 0x20], eax
mov eax, dword [edi + 0x60]
mov dword [ebp - 0x2c], eax
xor eax, eax
test ecx, ecx
jle 0x18100840
mov edi, dword [ebp - 0x2c]
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x18100832
mov edi, dword [ebp - 0x70]
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x54]
push ecx
push dword [ebx + 0x10]
push dword [ebp - 0x20]
push esi
call dword [eax + 0x20]
mov edx, dword [ebp - 0x40]
add esp, 0x14
mov ecx, edi
mov dword [ebp - 0x14], eax
call fcn.180fab75
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x180fd4f7
mov eax, dword [ebp - 0x54]
push esi
call dword [eax + 0x28]
pop ecx
mov ecx, dword [ebp - 0x6c]
xor edx, edx
mov byte [ecx + 2], dl
test eax, eax
je 0x180fc9ad
jmp 0x180fef4d
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov edx, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x54], edx
add ecx, eax
cmp byte [edx + 2], 0
mov dword [ebp - 0x2c], ecx
je 0x181008b1
call fcn.180f6d07
jmp 0x180fc9b0
mov eax, dword [edx + 0x28]
push 0x20
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
xor eax, eax
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.181620e0
mov esi, dword [ebp - 0x2c]
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x218], esi
cmp word [ebx + 2], ax
je 0x181008f5
mov ecx, esi
call fcn.180f6d07
xor eax, eax
mov dword [esi], eax
mov eax, 0x4001
jmp 0x1810090a
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
xor ecx, ecx
inc ecx
or ax, cx
movzx eax, ax
mov word [esi + 8], ax
lea eax, [ebp - 0x218]
push dword [ebx + 8]
push eax
mov eax, dword [ebp - 0x54]
push dword [eax + 0x28]
mov eax, dword [ebp - 0x20]
call dword [eax + 0x2c]
mov edx, dword [ebp - 0x40]
add esp, 0xc
mov ecx, edi
mov dword [ebp - 0x14], eax
call fcn.180fab75
cmp dword [ebp - 0x204], 0
jle 0x1810095c
push esi
call fcn.180fae9f
pop ecx
push eax
push 0x181fd470
push edi
call fcn.180f7609
mov eax, dword [ebp - 0x204]
add esp, 0xc
mov dword [ebp - 0x14], eax
movzx edx, byte [ebp - 0x64]
mov ecx, esi
call fcn.180f65f6
mov ecx, esi
call fcn.180f6e42
test eax, eax
jne 0x18100426
jmp 0x180fd4ec
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2c], eax
cmp byte [eax + 2], 0
jne 0x180fc9b0
mov eax, dword [eax + 0x28]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x54], ecx
call dword [ecx + 0x24]
pop ecx
mov edx, esi
mov dword [ebp - 0x14], eax
mov ecx, edi
call fcn.180fab75
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x180fd4f7
mov eax, dword [ebp - 0x2c]
push dword [eax + 0x28]
mov eax, dword [ebp - 0x54]
call dword [eax + 0x28]
pop ecx
test eax, eax
jne 0x181009dc
mov esi, dword [ebp - 0x14]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x60]
add ebx, 0xffffffec
add ebx, eax
mov dword [ebp - 0x4c], ebx
jmp 0x181009df
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
xor eax, eax
cmp dword [ecx + 0x100], eax
jne 0x181012d4
mov edx, dword [ebp - 0x9c]
cmp edx, dword [ebp - 0xc4]
jb 0x18100d2d
mov ecx, dword [ecx + 0x138]
test ecx, ecx
je 0x18100d2d
mov eax, dword [ebp - 0x18]
mov edi, dword [eax + 0x140]
mov eax, edx
xor edx, edx
div edi
mov eax, dword [ebp - 0x18]
sub edi, edx
add edi, dword [ebp - 0x9c]
mov dword [ebp - 0xc4], edi
push dword [eax + 0x13c]
call ecx
pop ecx
test eax, eax
je 0x180fc9b0
push 9
jmp 0x18100ff2
imul esi, dword [ebx + 4], 0x28
xor edx, edx
mov eax, dword [ebx + 0x10]
inc edx
add esi, dword [ebp - 0x1c]
mov eax, dword [eax + 8]
mov ecx, esi
mov dword [ebp - 0x2c], eax
call fcn.180f65f6
mov ecx, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f7
mov ecx, dword [ebp - 0x2c]
push dword [esi + 0x10]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x4c]
mov edx, dword [ebp - 0x2c]
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0x14], eax
call fcn.180fab75
and dword [edi + 0x94], 0xfffffffe
jmp 0x180fd4ec
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 8]
mov dword [ebp - 0x54], edx
test edx, edx
je 0x181010ea
mov ecx, dword [edx]
mov dword [ebp - 0x40], ecx
test ecx, ecx
je 0x181010ea
mov eax, dword [ebx + 8]
mov dword [ebp - 0x20], eax
xor eax, eax
cmp dword [ecx + 0x34], eax
je 0x180fc9b0
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov esi, dword [ebp - 0x20]
mov al, byte [eax + 0x4e]
mov byte [ebp - 0x21], al
mov eax, dword [edi + 0x60]
mov dword [ebp - 0x2c], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x1c]
test esi, esi
jle 0x18100af5
mov edx, dword [ebp - 0x2c]
mov dword [edx + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, esi
jl 0x18100ae7
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x18]
mov al, byte [ebx + 2]
mov byte [ecx + 0x4e], al
lea eax, [ebp - 0x160]
push eax
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
push esi
push edx
call dword [eax + 0x34]
mov ecx, dword [ebp - 0x18]
add esp, 0x10
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x14], eax
mov al, byte [ebp - 0x21]
mov byte [ecx + 0x4e], al
mov ecx, edi
call fcn.180fab75
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x18100b56
xor edx, edx
cmp dword [ebx + 4], edx
je 0x18100b4e
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x160]
mov dword [edx + 0x20], eax
mov eax, dword [ebp - 0x15c]
mov dword [edx + 0x24], eax
xor edx, edx
inc dword [edi + 0x2c]
jmp 0x180fe779
cmp cl, 0x13
jne 0x18100b4c
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x18100b4c
movzx eax, word [ebx + 2]
push 4
pop edx
cmp ax, dx
jne 0x181010d4
xor eax, eax
jmp 0x180fe9a5
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
mov edx, dword [ebx + 4]
mov esi, eax
mov eax, dword [ebp - 0x18]
add edx, edx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
call fcn.180eec8b
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], eax
jmp 0x180fc9ad
mov edx, ebx
mov ecx, edi
call fcn.180fc7f1
mov edx, dword [ebx + 4]
mov dword [ebp - 0x2c], eax
add edx, edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov edi, dword [ecx + edx*8 + 4]
xor ecx, ecx
mov eax, ecx
cmp dword [ebx + 0xc], ecx
je 0x18100bd9
mov ecx, edi
call fcn.180eec8b
cmp eax, dword [ebx + 0xc]
jae 0x18100bd9
mov eax, dword [ebx + 0xc]
mov edx, eax
mov ecx, edi
call fcn.180ef69b
mov ecx, dword [ebp - 0x2c]
jmp 0x180fca51
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x54], eax
push ecx
mov ecx, dword [ebp - 0x18]
lea eax, [eax*4 + 0x1c]
push eax
call fcn.180dfde7
mov dword [ebp - 0x2c], eax
pop ecx
pop ecx
test eax, eax
je 0x180fe0be
xor ecx, ecx
mov dword [eax], ecx
mov ecx, dword [ebx + 0x10]
mov dword [eax + 4], ecx
mov eax, ebx
sub eax, dword [ebp - 0x60]
cdq
push 0x14
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x10], eax
xor eax, eax
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x54]
mov dword [ecx + 0xc], edi
mov byte [ecx + 0x19], al
add byte [ebx], 2
mov byte [ebx + 1], 0xf0
mov dword [ebx + 0x10], ecx
imul ecx, dword [ebx + 0xc], 0x28
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x38], edx
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x68], ecx
cmp dword [edx], ecx
je 0x18100c8e
movzx eax, byte [edx + 0x19]
sub eax, 1
mov dword [edx], ecx
mov dword [ebp - 0x2c], eax
js 0x18100c8e
lea ecx, [edx + 0x1c]
mov edi, eax
push 4
lea ecx, [ecx + eax*4]
pop edx
mov eax, dword [ebx + 8]
add eax, edi
imul eax, eax, 0x28
add eax, dword [ebp - 0x1c]
mov dword [ecx], eax
sub ecx, edx
sub edi, 1
jns 0x18100c71
mov edi, dword [ebp - 0x70]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x68]
mov ax, word [ecx + 8]
and ax, word [ebp - 0x130]
or ax, word [ebp - 0x134]
mov word [ecx + 8], ax
lea eax, [edx + 0x1c]
mov ecx, dword [edx + 4]
push eax
movzx eax, byte [edx + 0x19]
push eax
push edx
call dword [ecx + 0xc]
mov eax, dword [ebp - 0x38]
add esp, 0xc
mov eax, dword [eax + 0x14]
test eax, eax
je 0x18100d11
jle 0x18100ce6
push dword [ebp - 0x68]
call fcn.180fae9f
pop ecx
push eax
push 0x181fd470
push edi
call fcn.180f7609
mov esi, dword [ebp - 0x38]
add esp, 0xc
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x14], eax
jmp 0x18100ce9
mov esi, dword [ebp - 0x38]
push dword [ebx + 4]
mov ecx, dword [ebp - 0x18]
lea edx, [edi + 0xd8]
push dword [esi + 0x10]
call fcn.180f967f
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov dword [esi + 0x14], edx
test ecx, ecx
jne 0x180fd4f9
mov esi, ecx
mov eax, dword [ebp - 0x68]
test byte [eax + 8], 0x12
je 0x18100d2d
movzx edx, byte [ebp - 0x64]
mov ecx, eax
call fcn.180f65f6
mov ecx, dword [ebp - 0x68]
jmp 0x18100419
xor eax, eax
inc eax
jmp 0x180ff5d4
mov eax, dword [ebp - 0x18]
mov cl, byte [eax + 0x50]
test cl, 0x81
je 0x18100dee
test byte [edi + 0x94], 2
jne 0x18100dee
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x18100d66
mov eax, dword [edi + 0xbc]
test eax, eax
je 0x18100dee
test cl, cl
mov ecx, dword [ebp - 0x18]
jns 0x18100d9c
mov edi, dword [ecx + 0xc0]
mov edx, eax
mov ecx, dword [ebp - 0x70]
call fcn.180fc29e
mov esi, eax
mov eax, dword [ebp - 0x18]
push esi
push dword [eax + 0xc4]
call edi
push esi
call fcn.180dfb36
mov esi, dword [ebp - 0x14]
add esp, 0xc
mov edi, dword [ebp - 0x70]
jmp 0x18100dee
xor edx, edx
inc edx
push eax
cmp dword [ecx + 0xb0], edx
jle 0x18100ddd
push str.____s
push ecx
call fcn.180e1420
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x18]
push esi
push edi
push dword [eax + 0xc4]
push 1
call dword [eax + 0xc0]
mov ecx, dword [ebp - 0x18]
add esp, 0x10
mov edx, esi
call fcn.180dfbd5
mov esi, dword [ebp - 0x14]
jmp 0x18100dee
push edi
push dword [ecx + 0xc4]
push edx
call dword [ecx + 0xc0]
add esp, 0x10
mov eax, dword [ebx + 4]
cmp eax, dword [0x1820ff04]
jl 0x18100e32
cmp byte [ebx], 0xa7
je 0x180fc9b0
xor eax, eax
inc eax
mov ecx, eax
cmp dword [edi + 0x88], eax
jle 0x18100e30
push 0x14
pop eax
push eax
pop ebx
mov edx, dword [edi + 0x58]
cmp byte [eax + edx], 0x14
jne 0x18100e22
and dword [eax + edx + 4], 0
inc ecx
add eax, ebx
cmp ecx, dword [edi + 0x88]
jl 0x18100e14
mov ebx, dword [ebp - 0x4c]
xor eax, eax
inc eax
mov dword [ebx + 4], eax
inc dword [edi + 0xb8]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x60]
add ebx, 0xffffffec
add ebx, eax
jmp 0x180fc9b0
mov dword [edi + 0x28], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x8e], al
mov dword [edi + 0x24], edx
test ecx, ecx
je 0x18100ecc
movzx eax, word [ebx + 2]
test ax, ax
je 0x18100e9f
push dword [eax*4 + 0x181d0590]
push str._s_constraint_failed
push edi
call fcn.180f7609
add esp, 0xc
cmp dword [ebx + 0x10], 0
je 0x18100eb0
push dword [ebx + 0x10]
push dword [edi + 0x6c]
push str._z:__s
push dword [ebp - 0x18]
call fcn.180e1420
add esp, 0x10
mov dword [edi + 0x6c], eax
jmp 0x18100eb0
push dword [ebx + 0x10]
push 0x181fd470
push edi
call fcn.180f7609
add esp, 0xc
push dword [edi + 0x6c]
push dword [edi + 0xbc]
push dword [ebp - 0x54]
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.180e15af
add esp, 0x14
mov ecx, edi
call fcn.180f9292
mov ebx, eax
push 5
pop eax
cmp ebx, eax
jne 0x1810129b
mov dword [edi + 0x28], eax
jmp 0x18100f83
push 0x1820175c
push 0x14813
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
pop eax
push eax
mov dword [ebp - 0x14], eax
call fcn.180e15af
add esp, 0x14
push 0xb
pop ecx
jmp 0x180fd4f7
push str.cannot_open_savepoint___SQL_statements_in_progress
push edi
call fcn.180f7609
pop ecx
pop ecx
push 5
pop eax
mov ecx, eax
mov dword [ebp - 0x14], ecx
jmp 0x180fd4f7
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x18100f18
sub ebx, dword [ebp - 0x60]
mov eax, ebx
push 0x14
cdq
pop ebx
idiv ebx
mov dword [edi + 0x24], eax
xor eax, eax
mov byte [esi + 0x47], al
mov ebx, ecx
mov dword [edi + 0x28], ecx
jmp 0x18100f83
push eax
push str.no_such_savepoint:__s
push edi
call fcn.180f7609
add esp, 0xc
xor ecx, ecx
inc ecx
jmp 0x18100f25
push 8
jmp 0x18100f22
push 0x14
cmp cl, 5
jne 0x181012f5
sub ebx, dword [ebp - 0x60]
mov eax, ebx
mov dword [edi + 0x28], ecx
cdq
pop ebx
idiv ebx
mov dword [edi + 0x24], eax
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x9c]
mov ecx, edi
add dword [edi + 0xb0], eax
call fcn.180f81eb
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1814cf3d
leave
ret
mov edx, dword [edi + 0x6c]
test edx, edx
je 0x18100fb6
mov ecx, dword [ebp - 0x18]
call fcn.180dfba4
mov ecx, dword [ebp - 0x18]
mov edx, str.database_schema_has_changed
call fcn.180dff62
mov dword [edi + 0x6c], eax
mov eax, dword [ebp - 0x18]
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 0x18100fe9
mov ecx, dword [ebp - 0x18]
call fcn.1810d974
or dword [edi + 0x94], 1
push 0x11
pop ecx
jmp 0x18100f25
mov ecx, 0x204
jmp 0x18100f25
push 0x1820175c
push 0x14e1f
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.180e15af
add esp, 0x14
push 0xb
jmp 0x18100ff2
push 0x1820175c
push 0x14e57
jmp 0x1810100c
push 6
pop ecx
mov dword [ebp - 0x14], ecx
mov byte [edi + 0x8e], 2
jmp 0x180fd4f7
mov dword [ebp - 0x14], 7
mov ecx, esi
call fcn.1810d9c6
mov ecx, dword [ebp - 0x14]
cmp ecx, 7
je 0x180fe0be
jmp 0x180fd4f7
push str.too_many_levels_of_trigger_recursion
push edi
mov dword [ebp - 0x14], 1
call fcn.180f7609
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
jmp 0x180fd4f7
push dword [ebp - 0x20]
call fcn.180fae9f
pop ecx
push eax
push 0x181fd470
push edi
call fcn.180f7609
add esp, 0xc
jmp 0x18101075
push 5
pop ecx
cmp eax, ecx
mov dword [ebp - 0x14], 1
mov eax, str.into
je 0x181010af
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x1810108c
mov eax, dword [ebp - 0x2c]
push dword [ebp - 0xc0]
call dword [eax + 0x1c]
pop ecx
jmp 0x180fe0be
push 6
pop ecx
mov dword [ebp - 0x14], ecx
jmp 0x180fd4f9
push 5
pop edx
cmp ax, dx
jne 0x181010df
push 2
pop eax
mov byte [edi + 0x8e], al
jmp 0x180fd4f7
push 6
jmp 0x18100ff2
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x138]
test eax, eax
je 0x1810111d
mov edx, dword [ebp - 0x9c]
cmp edx, dword [ebp - 0xc4]
jb 0x1810111d
push dword [ecx + 0x13c]
call eax
pop ecx
test eax, eax
jne 0x18100a41
xor edx, edx
mov ecx, edi
call fcn.180f9237
mov ecx, eax
xor edx, edx
mov dword [ebp - 0x14], ecx
test ecx, ecx
jne 0x180fd4f9
mov eax, dword [edi]
cmp dword [eax + 0x1c0], edx
je 0x1810114e
cmp dword [edi + 0x30], edx
je 0x1810114e
inc edx
mov ecx, edi
call fcn.180f9141
xor edx, edx
mov eax, dword [edi + 0x20]
add eax, 2
mov dword [ebp - 0xac], edx
or eax, 1
mov dword [edi + 0x20], eax
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x1c]
mov dword [edi + 0x68], esi
cmp dword [ebx + 8], edx
jle 0x181011bb
mov eax, 0x1000
test word [esi + 8], ax
je 0x18101189
mov ecx, esi
call fcn.180f6737
test eax, eax
jne 0x180fe0be
mov ax, word [esi + 8]
mov ecx, 0x202
and ax, cx
push 2
pop ecx
cmp ax, cx
jne 0x181011a4
mov ecx, esi
call fcn.180f66fb
mov eax, dword [ebp - 0xac]
add esi, 0x28
inc eax
mov dword [ebp - 0xac], eax
cmp eax, dword [ebx + 8]
jl 0x1810116f
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x49], 0
jne 0x180fe0c1
push 4
pop ecx
test byte [eax + 0x50], cl
je 0x181011e2
push edx
push edi
push dword [eax + 0xc4]
push ecx
call dword [eax + 0xc0]
add esp, 0x10
sub ebx, dword [ebp - 0x60]
push 0x14
mov eax, ebx
pop ecx
cdq
idiv ecx
push 0x64
inc eax
mov dword [edi + 0x24], eax
pop ebx
jmp 0x18100f83
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebx + 4]
mov esi, dword [ebx + 8]
mov dword [ebp - 0x98], ecx
movzx eax, byte [edx + 0x47]
cmp ecx, eax
je 0x181012ad
test esi, esi
je 0x1810122b
mov esi, dword [ebp - 0x18]
mov edx, 0x204
mov ecx, esi
call fcn.18133493
mov al, 1
jmp 0x18101267
test ecx, ecx
je 0x18101243
xor eax, eax
cmp dword [edx + 0xac], eax
jle 0x18101243
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x18100f18
xor edx, edx
mov ecx, edi
inc edx
call fcn.180f9237
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x18100f80
mov al, byte [ebp - 0x98]
mov esi, dword [ebp - 0x18]
mov byte [ebp - 0x98], al
mov ecx, edi
mov byte [esi + 0x47], al
call fcn.180f9292
push 5
pop ecx
cmp eax, ecx
jne 0x18101294
sub ebx, dword [ebp - 0x60]
mov eax, ebx
cdq
push 0x14
pop ebx
idiv ebx
mov dword [edi + 0x24], eax
xor eax, eax
inc eax
sub al, byte [ebp - 0x98]
jmp 0x18100f44
mov ecx, esi
call fcn.1813304a
mov ebx, dword [edi + 0x28]
neg ebx
sbb ebx, ebx
and ebx, 0xffffff9c
add ebx, 0x65
jmp 0x18100f83
test ecx, ecx
jne 0x181012b8
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x181012c6
mov eax, str.cannot_rollback___no_transaction_is_active
test esi, esi
jne 0x181012c6
mov eax, str.cannot_commit___no_transaction_is_active
push eax
push edi
call fcn.180f7609
pop ecx
pop ecx
jmp 0x18100f5d
xor eax, eax
cmp byte [ecx + 0x49], al
sete al
lea eax, [eax*2 + 7]
mov ecx, eax
mov dword [ebp - 0x14], eax
mov dword [edi + 0x28], eax
call fcn.1813358e
jmp 0x18101086
xor edx, edx
jmp 0x180fd4fb