Function at 0x43d15c
Capabilities:
Enumerate pe sections
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x130
mov eax, dword [0x4c93e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov ebx, ecx
mov ecx, dword [ebx + 4]
xor eax, eax
mov dword [ebp - 0x110], ecx
mov esi, dword [ebx]
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
mov cl, byte [ecx + 0x4d]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd0], eax
mov byte [ebp - 0xf5], al
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x114], eax
mov eax, dword [esi + 0x20]
mov byte [ebp - 0xf4], cl
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x100], eax
mov eax, dword [esi + 0x24]
mov edi, ebx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xfc], eax
call fcn.00405911
cmp dword [ebx + 0x58], 7
je 0x4426bf
xor eax, eax
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x14], eax
mov ecx, dword [esi + 0xe0]
mov dword [esi + 0x1b4], eax
test ecx, ecx
jne 0x4427e2
cmp dword [esi + 0x114], eax
mov eax, dword [ebx + 0x54]
setne cl
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x11c], ecx
mov esi, dword [ebp - 0xd4]
cmp byte [esi + 0x36], 0
jne 0x4426bf
mov edi, dword [ebp - 0xdc]
imul edi, edi, 0x14
add edi, dword [ebp - 0x110]
cmp dword [ebp - 0x11c], 0
mov dword [ebp - 0xec], edi
je 0x43d283
mov eax, dword [esi + 0x11c]
cmp eax, dword [ebp - 0x10c]
jne 0x43d27d
push dword [esi + 0x118]
call dword [esi + 0x114]
pop ecx
test eax, eax
jne 0x4425fe
and dword [ebp - 0x10c], eax
inc dword [ebp - 0x10c]
test byte [edi + 2], 2
je 0x43d2b4
mov esi, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
mov eax, 0x2460
mov dword [ebp - 0xe0], esi
test word [esi + 0x1c], ax
je 0x43d2ad
mov eax, esi
call fcn.0040b4ed
push 4
pop eax
mov word [esi + 0x1c], ax
movzx eax, byte [edi]
dec eax
cmp eax, 0x93
ja case.default.0x43d2c3
jmp dword [eax*4 + 0x4427fc]
mov esi, dword [ebp - 0xd4]
mov eax, dword [esi + 0xe0]
test eax, eax
jne 0x4427e2
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp case.default.0x43d2c3
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd8]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xdc]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xdc], eax
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
imul eax, eax, 0x28
mov eax, dword [eax + ecx + 0x10]
jmp 0x43d311
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
push 4
pop eax
mov word [edi + 0x1c], ax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xdc]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov eax, dword [ebp - 0xcc]
jmp 0x43d311
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xd8]
imul eax, eax, 0x28
test byte [eax + ecx + 0x1c], 1
je case.default.0x43d2c3
cmp dword [edi + 4], 0
jne 0x44260d
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x44260d
mov edx, dword [eax + 4]
dec dword [ebx + 0xb0]
mov ecx, dword [ebx + 0x68]
mov dword [ebx + 0xa8], edx
mov edx, dword [ebp - 0xd4]
add dword [edx + 0x48], ecx
mov dword [edx + 0x44], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 0x10]
mov dword [ecx + 0xc0], edx
mov edx, dword [eax + 0x38]
mov dword [ecx + 0xbc], edx
mov edx, dword [eax + 8]
mov dword [ecx + 4], edx
mov edx, dword [eax + 0x30]
mov dword [ecx + 0x1c], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x34]
mov dword [ecx + 0x18], edx
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x40], edx
mov dx, word [eax + 0x28]
mov word [ecx + 0x2e], dx
mov edx, dword [ecx]
mov esi, dword [eax + 0x20]
mov dword [edx + 0x20], esi
mov esi, dword [eax + 0x24]
mov dword [edx + 0x24], esi
mov edx, dword [eax + 0x44]
mov dword [ecx + 0x68], edx
cmp dword [edi + 8], 4
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0x20]
mov eax, dword [eax + 0x2c]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], ecx
jne 0x43d432
mov ecx, dword [ebx + 4]
imul eax, eax, 0x14
mov eax, dword [eax + ecx + 8]
dec eax
mov dword [ebp - 0xdc], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x110], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xd8], eax
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x43d2c3
mov edi, dword [edi + 0x10]
mov ecx, dword [edi]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], ecx
mov ecx, dword [edi + 4]
mov dword [eax + 0x14], ecx
jmp case.default.0x43d2c3
mov eax, dword [ebp - 0xe0]
push 8
pop ecx
mov word [eax + 0x1c], cx
mov ecx, dword [edi + 0x10]
fld qword [ecx]
fstp qword [eax + 8]
jmp case.default.0x43d2c3
mov ecx, dword [edi + 0x10]
mov byte [edi], 9
call fcn.00401a55
cmp byte [ebp - 0xf4], 1
mov dword [edi + 4], eax
je 0x43d52d
mov edx, dword [ebp - 0xe0]
push 1
push ecx
xor eax, eax
or ecx, 0xffffffff
call fcn.0041623a
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
cmp eax, 0x12
je 0x43deee
movzx eax, byte [ebp - 0xf4]
mov esi, dword [ebp - 0xe0]
push eax
mov eax, esi
call fcn.004161a3
pop ecx
test eax, eax
jne 0x4426b9
and dword [esi + 0x24], eax
mov ax, word [esi + 0x1c]
mov ecx, 0xfbff
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [esi + 0x1c], ax
cmp byte [edi + 1], 0xff
jne 0x43d51d
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp - 0xd4]
call fcn.00401901
mov byte [edi + 1], 0xff
mov eax, dword [esi + 4]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 4], eax
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
cmp eax, dword [ecx + 0x4c]
jg 0x43deee
mov eax, dword [ebp - 0xe0]
mov ecx, 0xa02
mov word [eax + 0x1c], cx
mov ecx, dword [edi + 0x10]
mov dword [eax + 4], ecx
mov ecx, dword [edi + 4]
mov dword [eax + 0x18], ecx
mov cl, byte [ebp - 0xf4]
mov byte [eax + 0x1f], cl
jmp case.default.0x43d2c3
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 8]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xcc], eax
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0xcc], 0
jle case.default.0x43d2c3
mov esi, ecx
add esi, 0x28
mov eax, 0x2460
test word [esi + 0x1c], ax
je 0x43d5a5
mov eax, esi
call fcn.0040b4ed
xor eax, eax
inc eax
mov word [esi + 0x1c], ax
dec dword [ebp - 0xcc]
cmp dword [ebp - 0xcc], 0
jg 0x43d590
mov dword [ebp - 0xe0], esi
jmp case.default.0x43d2c3
mov esi, dword [ebp - 0xe0]
mov ecx, dword [edi + 4]
push 0
push dword [edi + 0x10]
xor eax, eax
mov edx, esi
call fcn.0041623a
mov al, byte [ebp - 0xf4]
pop ecx
pop ecx
mov byte [esi + 0x1f], al
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x44]
imul eax, eax, 0x28
lea esi, [eax + ecx - 0x28]
mov ecx, esi
mov dword [ebp - 0xcc], esi
call fcn.0040584f
test eax, eax
jne 0x43deee
push 0x800
push esi
mov ebx, dword [ebp - 0xe0]
call fcn.0040b660
pop ecx
pop ecx
mov ebx, dword [ebp - 0xe4]
inc dword [ebp - 0xdc]
cmp dword [ebp - 0xd0], 0
je 0x43d226
jmp 0x43df0d
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0xc8], ecx
mov eax, dword [edi + 4]
mov dword [ebp - 0xc4], eax
imul eax, eax, 0x28
mov edi, dword [edi + 8]
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], edi
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
mov esi, eax
mov dword [ebp - 0xe0], edi
test ecx, ecx
je 0x43d6b3
dec dword [ebp - 0xc8]
mov eax, dword [edi + 0x24]
mov dword [ebp - 0xcc], eax
and dword [edi + 0x24], 0
mov ebx, esi
mov eax, edi
call fcn.0040b6aa
mov eax, dword [ebp - 0xcc]
mov dword [esi + 0x24], eax
add esi, 0x28
add edi, 0x28
cmp dword [ebp - 0xc8], 0
jne 0x43d673
mov ebx, dword [ebp - 0xe4]
mov dword [ebp - 0xe0], edi
dec dword [ebp - 0xc8]
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov ebx, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xd8]
mov esi, 0x1000
push esi
push eax
mov dword [ebp - 0xe0], ebx
call fcn.0040b660
pop ecx
pop ecx
test word [ebx + 0x1c], si
je 0x43d61c
mov eax, ebx
call fcn.0041088b
mov ebx, dword [ebp - 0xe4]
test eax, eax
jne 0x4426b9
jmp case.default.0x43d2c3
mov ebx, dword [edi + 8]
mov eax, dword [edi + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xd8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
push 0x1000
mov dword [ebp - 0xe0], ebx
push eax
jmp 0x43d615
xor esi, esi
push esi
mov eax, ebx
call fcn.00416780
pop ecx
mov dword [ebp - 0xd0], eax
cmp eax, esi
jne case.default.0x43d2c3
push 1
push ebx
call fcn.004217d6
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
cmp eax, esi
jne case.default.0x43d2c3
mov eax, dword [ebx + 0x50]
add eax, 2
or eax, 1
mov dword [ebx + 0x50], eax
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], esi
mov dword [ebx + 0x14], eax
mov dword [ebp - 0xcc], eax
cmp dword [edi + 8], esi
jle 0x43d7f4
mov eax, dword [ebp - 0xc8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xcc]
mov ecx, 0x1000
test word [eax + 0x1c], cx
je 0x43d7bb
call fcn.0041088b
test eax, eax
jne 0x4426b9
mov eax, dword [ebp - 0xc8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xcc]
call fcn.0040b4a3
mov ecx, dword [ebp - 0xc8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xcc]
call fcn.004060a5
inc dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
cmp eax, dword [edi + 8]
jl 0x43d794
mov esi, dword [ebp - 0xd4]
cmp byte [esi + 0x36], 0
jne 0x4426bf
mov eax, dword [ebp - 0xdc]
inc eax
push 0x64
mov dword [ebx + 0x54], eax
pop edi
jmp 0x43df6d
mov ecx, dword [edi + 4]
mov esi, dword [edi + 8]
imul ecx, ecx, 0x28
mov edi, dword [edi + 0xc]
imul esi, esi, 0x28
add ecx, dword [ebp - 0xd8]
imul edi, edi, 0x28
add esi, dword [ebp - 0xd8]
movzx eax, word [ecx + 0x1c]
mov dl, byte [esi + 0x1c]
add edi, dword [ebp - 0xd8]
or dl, al
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xe0], edi
test dl, 1
je 0x43d85e
call fcn.0040580c
jmp case.default.0x43d2c3
test eax, 0x4000
je 0x43d878
mov eax, dword [ebp - 0xf0]
call fcn.0040b450
mov ecx, dword [ebp - 0xf0]
jmp 0x43d87a
xor eax, eax
test eax, eax
jne 0x4426b9
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43d89c
mov eax, esi
call fcn.0040b450
mov ecx, dword [ebp - 0xf0]
jmp 0x43d89e
xor eax, eax
test eax, eax
jne 0x4426b9
test byte [ecx + 0x1c], 0x12
jne 0x43d8ce
movzx eax, byte [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0xf0]
call fcn.004161c6
pop ecx
test eax, eax
jne 0x4426b9
mov ecx, dword [ebp - 0xf0]
test byte [esi + 0x1c], 0x12
jne 0x43d8f2
movzx eax, byte [ebp - 0xf4]
push eax
mov eax, esi
call fcn.004161c6
pop ecx
test eax, eax
jne 0x4426b9
mov ecx, dword [ebp - 0xf0]
mov eax, dword [esi + 0x18]
add eax, dword [ecx + 0x18]
cdq
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], edx
mov eax, dword [eax + 0x4c]
cdq
cmp dword [ebp - 0xc8], edx
jg 0x43deee
jl 0x43d929
cmp dword [ebp - 0xcc], eax
ja 0x43deee
mov ax, word [edi + 0x1c]
mov ecx, 0xbf02
and ax, cx
or ax, 2
mov word [edi + 0x1c], ax
xor eax, eax
cmp edi, esi
sete al
push eax
mov eax, dword [ebp - 0xcc]
add eax, 2
call fcn.0040b393
pop ecx
test eax, eax
jne 0x4426b9
cmp edi, esi
je 0x43d971
push dword [esi + 0x18]
push dword [esi + 4]
push dword [edi + 4]
call fcn.00485200
add esp, 0xc
mov eax, dword [ebp - 0xf0]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [esi + 0x18]
add eax, dword [edi + 4]
push eax
call fcn.00485200
mov ecx, dword [ebp - 0xcc]
mov eax, dword [edi + 4]
mov byte [ecx + eax], 0
mov ecx, dword [ebp - 0xcc]
mov eax, dword [edi + 4]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
add esp, 0xc
or word [edi + 0x1c], ax
mov eax, dword [ebp - 0xcc]
mov dword [edi + 0x18], eax
mov al, byte [ebp - 0xf4]
mov byte [edi + 0x1f], al
jmp case.default.0x43d2c3
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
mov dword [ebp - 0xf0], esi
call fcn.004060d0
mov esi, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
mov dword [ebp - 0xe8], esi
call fcn.004060d0
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xf0]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
movzx ecx, word [ecx + 0x1c]
mov dword [ebp - 0xe0], eax
mov eax, esi
movzx eax, word [eax + 0x1c]
or eax, ecx
mov dword [ebp - 0xcc], eax
test al, 1
jne 0x43dcb3
mov eax, esi
mov al, byte [eax + 0x1c]
mov esi, dword [ebp - 0xf0]
and al, byte [esi + 0x1c]
test al, 4
je 0x43db71
mov eax, dword [esi + 0x10]
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xc4], eax
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0xc0], ecx
mov edx, dword [edx + 0x10]
mov dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0xe8]
mov edx, dword [edx + 0x14]
mov dword [ebp - 0xb8], edx
movzx edx, byte [edi]
sub edx, 0x56
je 0x43db3e
dec edx
je 0x43db29
dec edx
je 0x43db0e
dec edx
mov edx, eax
je 0x43dac3
or edx, ecx
je 0x43dcb3
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x43daae
xor eax, eax
inc eax
xor ecx, ecx
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], ecx
push ecx
push eax
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
call fcn.00484ff0
jmp 0x43db00
or edx, ecx
je 0x43dcb3
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x43daed
cmp dword [ebp - 0xbc], 0
jne 0x43daed
cmp dword [ebp - 0xb8], 0x80000000
je 0x43db71
push ecx
push eax
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
call fcn.00484f40
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], edx
jmp 0x43db51
push ecx
push eax
lea esi, [ebp - 0xbc]
call fcn.00402551
pop ecx
pop ecx
test eax, eax
je 0x43db51
mov esi, dword [ebp - 0xf0]
jmp 0x43db71
push ecx
push eax
lea eax, [ebp - 0xbc]
call fcn.00402503
pop ecx
pop ecx
test eax, eax
jne 0x43db71
jmp 0x43db51
push ecx
push eax
lea edi, [ebp - 0xbc]
call fcn.00402481
pop ecx
pop ecx
test eax, eax
jne 0x43db6b
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xb8]
jmp 0x43e13d
mov edi, dword [ebp - 0xec]
mov eax, esi
call fcn.004056c2
fstp qword [ebp - 0xb4]
mov eax, dword [ebp - 0xe8]
call fcn.004056c2
fst qword [ebp - 0xac]
movzx eax, byte [edi]
sub eax, 0x56
je 0x43dc52
dec eax
je 0x43dc4a
dec eax
je 0x43dc42
dec eax
fld qword [ebp - 0xb4]
je 0x43dc2f
call fcn.00484ec6
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
call fcn.00484ec6
mov ecx, dword [ebp - 0xc4]
or ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], edx
je 0x43dcb3
mov ecx, dword [ebp - 0xc4]
and ecx, dword [ebp - 0xc0]
cmp ecx, 0xffffffff
jne 0x43dc08
and dword [ebp - 0xc0], 0
mov dword [ebp - 0xc4], 1
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
push edx
push eax
call fcn.00484ff0
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
fild qword [ebp - 0x128]
jmp 0x43dc58
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43dcb1
fdiv qword [ebp - 0xb4]
jmp 0x43dc58
fmul qword [ebp - 0xb4]
jmp 0x43dc58
fsub qword [ebp - 0xb4]
jmp 0x43dc58
fadd qword [ebp - 0xb4]
fstp qword [ebp - 0xac]
push ecx
fld qword [ebp - 0xac]
push ecx
fstp qword [esp]
call fcn.00401a2c
add esp, 8
test eax, eax
jne 0x43dcb3
mov eax, dword [ebp - 0xe0]
fld qword [ebp - 0xac]
mov cx, word [eax + 0x1c]
fstp qword [eax + 8]
mov edx, 0xbf08
and cx, dx
or cx, 8
mov word [eax + 0x1c], cx
test byte [ebp - 0xcc], 8
jne case.default.0x43d2c3
mov esi, eax
call fcn.00405705
jmp case.default.0x43d2c3
fstp st(0)
mov edi, dword [ebp - 0xe0]
jmp 0x43d854
mov edi, dword [edi + 4]
test edi, edi
je case.default.0x43d2c3
push 0
push 0
mov esi, edi
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
call fcn.0040b5a2
pop ecx
pop ecx
jmp case.default.0x43d2c3
movzx ecx, byte [edi + 3]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], ecx
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
and dword [ebp - 0xcc], 0
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xc8], eax
test ecx, ecx
jle 0x43dd7b
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0xcc]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xc8]
mov ecx, 0x1000
test word [eax + 0x1c], cx
je 0x43dd50
call fcn.0041088b
test eax, eax
jne 0x4426b9
mov ecx, dword [ebp - 0xc8]
call fcn.004060a5
inc dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
add eax, 0x28
mov dword [ebp - 0xc8], eax
cmp ecx, dword [ebp - 0x80]
jl 0x43dd23
cmp byte [edi + 1], 0xfb
mov eax, dword [edi + 0x10]
jne 0x43dd8d
and dword [ebp - 0xc0], 0
jmp 0x43dd95
mov dword [ebp - 0xc0], eax
mov eax, dword [eax]
and dword [ebp - 0x9c], 0
and dword [ebp - 0x98], 0
mov dword [ebp - 0xc4], eax
xor eax, eax
inc eax
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xbc], eax
mov ebx, esi
lea eax, [ebp - 0xbc]
call fcn.0040b6aa
mov eax, dword [ebp - 0xa0]
and dword [ebp - 0x8c], 0
and eax, 0xbf01
or eax, 1
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0xc4]
test byte [eax + 3], 8
je 0x43ddfd
mov eax, dword [edi - 4]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x100]
mov ebx, dword [ebp - 0xd4]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebx + 0x24], eax
push dword [ebp - 0x84]
lea eax, [ebp - 0xc4]
push dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0xc4]
call dword [eax + 0xc]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x100], eax
mov eax, dword [ebx + 0x24]
add esp, 0xc
cmp dword [ebp - 0xc0], 0
mov dword [ebp - 0xfc], eax
je 0x43de6e
push dword [edi + 4]
mov edi, dword [ebp - 0xc0]
call fcn.00405a1a
mov eax, dword [ebp - 0xec]
pop ecx
mov ecx, dword [ebp - 0xc0]
mov dword [eax + 0x10], ecx
mov byte [eax + 1], 0xf9
cmp byte [ebx + 0x36], 0
jne 0x4426a6
cmp dword [ebp - 0x8c], 0
je 0x43deb8
push 1
lea esi, [ebp - 0xbc]
call fcn.00416391
mov edi, dword [ebp - 0xe4]
push eax
push 0x4aef10
push ebx
add edi, 0x34
call fcn.00414cd2
mov eax, dword [ebp - 0x8c]
mov esi, dword [ebp - 0xe0]
add esp, 0x10
mov dword [ebp - 0xd0], eax
movzx eax, byte [ebp - 0xf4]
push eax
lea eax, [ebp - 0xbc]
call fcn.004161a3
pop ecx
lea ebx, [ebp - 0xbc]
mov eax, esi
call fcn.0040b6aa
mov ecx, esi
call fcn.0040584f
mov ebx, dword [ebp - 0xe4]
test eax, eax
je case.default.0x43d2c3
push str.string_or_blob_too_big
push dword [ebp - 0xd4]
lea edi, [ebx + 0x34]
call fcn.00414cd2
mov dword [ebp - 0xd0], 0x12
pop ecx
pop ecx
push dword [ebx + 0x34]
mov esi, dword [ebp - 0xd0]
push dword [ebx + 0xa0]
mov dword [ebx + 0x58], esi
push dword [ebp - 0xdc]
push str.statement_aborts_at__d:___s___s
push esi
call fcn.0040f2b4
add esp, 0x14
mov eax, ebx
call fcn.0042ea89
cmp esi, 0xc0a
jne 0x43df4c
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x36], 1
xor edi, edi
inc edi
cmp byte [ebp - 0xf5], 0
jbe 0x43df6d
movzx eax, byte [ebp - 0xf5]
mov esi, dword [ebp - 0xd4]
dec eax
push eax
call fcn.0041765d
pop ecx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x100]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0xfc]
mov dword [eax + 0x24], ecx
call fcn.00405964
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004815fa
leave
ret
mov ecx, dword [edi + 8]
mov esi, dword [edi + 4]
imul ecx, ecx, 0x28
mov eax, dword [edi + 0xc]
imul esi, esi, 0x28
add ecx, dword [ebp - 0xd8]
imul eax, eax, 0x28
add esi, dword [ebp - 0xd8]
mov dl, byte [ecx + 0x1c]
add eax, dword [ebp - 0xd8]
or dl, byte [esi + 0x1c]
mov dword [ebp - 0xe0], eax
test dl, 1
je 0x43dfd7
mov edi, eax
jmp 0x43d854
call fcn.00405667
mov ecx, esi
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], edx
call fcn.00405667
mov esi, eax
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xb8], edx
mov al, byte [edi]
mov byte [ebp - 0xb4], al
cmp al, 0x52
jne 0x43e01a
and dword [ebp - 0xcc], esi
and dword [ebp - 0xc8], edx
jmp 0x43e128
cmp al, 0x53
jne 0x43e02f
or dword [ebp - 0xcc], esi
or dword [ebp - 0xc8], edx
jmp 0x43e128
mov ecx, esi
or ecx, edx
je 0x43e128
xor edi, edi
cmp edx, edi
jg 0x43e081
jl 0x43e045
cmp esi, edi
jae 0x43e076
mov cl, 0xa9
sub cl, al
mov al, cl
mov byte [ebp - 0xb4], al
cmp edx, 0xffffffff
jl 0x43e065
jg 0x43e05d
cmp esi, 0xffffffc0
jbe 0x43e065
neg esi
adc edx, edi
neg edx
jmp 0x43e06a
push 0x40
pop esi
xor edx, edx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xbc], esi
cmp edx, edi
jl 0x43e0ad
jg 0x43e081
cmp esi, 0x40
jb 0x43e0ad
cmp dword [ebp - 0xc8], edi
jg 0x43e09c
jl 0x43e093
cmp dword [ebp - 0xcc], edi
jae 0x43e09c
cmp al, 0x54
je 0x43e09c
or eax, 0xffffffff
jmp 0x43e09e
xor eax, eax
cdq
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], edx
jmp 0x43e128
mov edx, dword [ebp - 0xc8]
cmp al, 0x54
mov eax, dword [ebp - 0xcc]
mov ecx, esi
jne 0x43e0d2
call fcn.004858e0
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
jmp 0x43e110
call fcn.00485b40
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
cmp dword [ebp - 0xc8], edi
jg 0x43e110
jl 0x43e0f5
cmp dword [ebp - 0xcc], edi
jae 0x43e110
push 0x40
pop ecx
or edx, 0xffffffff
sub ecx, esi
mov eax, edx
call fcn.004858e0
or dword [ebp - 0xc4], eax
or dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x14], ecx
mov cx, word [eax + 0x1c]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.default.0x43d2c3
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
call fcn.0040575d
mov eax, dword [edi + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.default.0x43d2c3
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
call fcn.004060d0
test byte [esi + 0x1c], 8
je 0x43e195
call fcn.00405705
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x43e1b7
mov edi, dword [edi + 8]
test edi, edi
jne 0x43d2e1
mov dword [ebp - 0xd0], 0x14
jmp 0x442795
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.default.0x43d2c3
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
test byte [edi + 0x1c], 4
je case.default.0x43d2c3
mov esi, edi
call fcn.00405781
jmp case.default.0x43d2c3
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.default.0x43d2c3
push dword [ebp - 0xf4]
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
push 0x61
mov eax, edi
mov word [edi + 0x1c], cx
call fcn.00416cfa
mov eax, 0x4000
pop ecx
pop ecx
test word [edi + 0x1c], ax
je 0x43e23b
mov eax, edi
call fcn.0040b450
mov dword [ebp - 0xd0], eax
jmp 0x43e242
and dword [ebp - 0xd0], 0
mov eax, 0xbfe3
and word [edi + 0x1c], ax
jmp case.default.0x43d2c3
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
movzx eax, word [edi + 0x1c]
test al, 1
jne case.default.0x43d2c3
test al, 0x10
jne 0x43e28f
push dword [ebp - 0xf4]
mov eax, edi
push 0x61
call fcn.00416cfa
mov ax, word [edi + 0x1c]
pop ecx
pop ecx
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
jmp 0x43e294
and eax, 0xff10
mov word [edi + 0x1c], ax
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
call fcn.004057a2
jmp case.default.0x43d2c3
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
test byte [edi + 0x1c], 1
jne case.default.0x43d2c3
mov esi, edi
call fcn.0040575d
jmp case.default.0x43d2c3
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
test byte [edi + 0x1c], 1
jne case.default.0x43d2c3
jmp 0x43e1de
mov esi, dword [edi + 4]
mov ecx, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd8]
mov ax, word [esi + 0x1c]
mov word [ebp - 0xc6], ax
mov ax, word [ecx + 0x1c]
mov word [ebp - 0xc4], ax
or al, byte [ebp - 0xc6]
mov dword [ebp - 0xf0], ecx
test al, 1
mov al, byte [edi + 3]
je 0x43e386
test al, al
jns 0x43e34e
mov al, byte [ebp - 0xc4]
and al, byte [ebp - 0xc6]
push 0
test al, 1
pop eax
sete al
jmp 0x43e40e
test al, 0x10
je 0x43e379
mov edi, dword [edi + 8]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
mov ecx, 0xbf01
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [ebp - 0xe0], edi
or ax, 1
jmp 0x43e294
test al, 8
je case.default.0x43d2c3
jmp 0x43d2de
and al, 0x67
mov byte [ebp - 0xc8], al
je 0x43e3cd
push dword [ebp - 0xf4]
mov eax, esi
push dword [ebp - 0xc8]
call fcn.00416cfa
push dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf0]
push dword [ebp - 0xc8]
call fcn.00416cfa
mov eax, dword [ebp - 0xd4]
add esp, 0x10
cmp byte [eax + 0x36], 0
jne 0x4426b9
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43e3df
mov eax, esi
call fcn.0040b450
mov ecx, dword [ebp - 0xf0]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x43e3f7
mov eax, ecx
call fcn.0040b450
push dword [edi + 0x10]
mov edx, dword [ebp - 0xf0]
mov eax, esi
call fcn.0041b212
pop ecx
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xcc], eax
movzx edx, byte [edi]
sub edx, 0x4b
je 0x43e455
dec edx
je 0x43e44c
dec edx
je 0x43e443
dec edx
je 0x43e43a
dec edx
je 0x43e431
xor edx, edx
test eax, eax
setns dl
jmp 0x43e45c
xor edx, edx
test eax, eax
sets dl
jmp 0x43e45c
xor edx, edx
test eax, eax
setle dl
jmp 0x43e45c
xor edx, edx
test eax, eax
setg dl
jmp 0x43e45c
xor edx, edx
test eax, eax
sete dl
jmp 0x43e45c
xor edx, edx
test eax, eax
setne dl
mov dword [ebp - 0xcc], edx
test byte [edi + 3], 0x10
je 0x43e49d
mov edi, dword [edi + 8]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
mov edx, 0xbf04
mov ax, word [edi + 0x1c]
and ax, dx
or ax, 4
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xcc]
cdq
mov dword [ebp - 0xe0], edi
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x43e4b0
cmp dword [ebp - 0xcc], 0
je 0x43e4b0
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
mov al, byte [ebp - 0xc6]
mov byte [esi + 0x1c], al
mov al, byte [ebp - 0xc4]
mov byte [ecx + 0x1c], al
jmp case.default.0x43d2c3
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x114], eax
jmp case.default.0x43d2c3
mov edx, dword [edi + 0xc]
mov dword [ebp - 0xcc], edx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xbc], ecx
mov eax, dword [edi + 4]
mov dword [ebp - 0xc4], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0xc0], eax
xor eax, eax
mov dword [ebp - 0xc8], eax
test edx, edx
jle 0x43e596
mov edi, dword [ebp - 0x114]
jmp 0x43e517
mov ecx, dword [ebp - 0xbc]
test edi, edi
je 0x43e520
mov edx, dword [edi + eax*4]
jmp 0x43e522
mov edx, eax
mov dword [ebp - 0xb8], edx
mov esi, dword [ecx + eax*4 + 0xc]
mov dword [ebp - 0xb4], esi
mov ecx, dword [ecx + 8]
movzx eax, byte [ecx + eax]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xc0]
add eax, edx
add edx, dword [ebp - 0xc4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xd8]
push esi
call fcn.0041b212
pop ecx
mov dword [ebp - 0x108], eax
test eax, eax
jne 0x43e587
mov eax, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0xcc]
jl 0x43e511
jmp 0x43e596
cmp dword [ebp - 0xb0], 0
je 0x43e596
neg dword [ebp - 0x108]
and dword [ebp - 0x114], 0
jmp case.default.0x43d2c3
cmp dword [ebp - 0x108], 0
jge 0x43e5b3
mov edi, dword [edi + 4]
jmp 0x43d2e1
je 0x43d2de
mov edi, dword [edi + 0xc]
jmp 0x43d2e1
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd8]
xor esi, esi
inc esi
test byte [ecx + 0x1c], 1
je 0x43e5db
push 2
pop eax
jmp 0x43e5ea
call fcn.00405667
or eax, edx
je 0x43e5e8
mov eax, esi
jmp 0x43e5ea
xor eax, eax
mov dword [ebp - 0xcc], eax
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd8]
test byte [ecx + 0x1c], 1
je 0x43e60e
mov dword [ebp - 0xc8], 2
jmp 0x43e62c
call fcn.00405667
or eax, edx
mov eax, dword [ebp - 0xcc]
je 0x43e625
mov dword [ebp - 0xc8], esi
jmp 0x43e62c
and dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xc8]
imul eax, eax, 3
cmp byte [edi], 0x45
jne 0x43e644
movzx eax, byte [eax + ecx + 0x4abe9c]
jmp 0x43e64c
movzx eax, byte [eax + ecx + 0x4abed0]
mov dword [ebp - 0xcc], eax
mov edi, dword [edi + 0xc]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], edi
cmp eax, 2
jne 0x43e67d
mov ax, word [edi + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, si
jmp 0x43e294
cdq
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
mov ecx, 0xbf04
and ax, cx
mov dword [edi + 0x14], edx
or ax, 4
jmp 0x43e294
mov ecx, dword [edi + 4]
mov edi, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd8]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
test byte [ecx + 0x1c], 1
mov dword [ebp - 0xe0], edi
jne 0x43d854
call fcn.00405667
or eax, edx
jne 0x43e6cd
inc eax
jmp 0x43e6cf
xor eax, eax
cdq
push edx
push eax
mov esi, edi
jmp 0x43dcd8
mov ecx, dword [edi + 4]
mov edi, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd8]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
test byte [ecx + 0x1c], 1
mov dword [ebp - 0xe0], edi
jne 0x43d854
call fcn.00405667
not eax
not edx
jmp 0x43e6d0
mov eax, dword [ebx + 0xc0]
mov ecx, dword [edi + 4]
cmp byte [eax + ecx], 0
jne 0x43d2de
mov byte [eax + ecx], 1
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
test byte [eax + 0x1c], 1
je 0x43e73f
mov eax, dword [edi + 0xc]
jmp 0x43e772
call fcn.004056c2
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x43e75b
mov dword [ebp - 0xcc], 1
jmp 0x43e762
and dword [ebp - 0xcc], 0
cmp byte [edi], 0x1c
jne 0x43e778
xor eax, eax
cmp dword [ebp - 0xcc], eax
sete al
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
jmp 0x43e37b
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
imul eax, eax, 0x28
test byte [eax + ecx + 0x1c], 1
jmp 0x43e37b
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
imul eax, eax, 0x28
test byte [eax + ecx + 0x1c], 1
jne case.default.0x43d2c3
jmp 0x43d2de
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0xbc], eax
mov eax, dword [edi + 8]
and dword [ebp - 0xb4], 0
mov dword [ebp - 0xb8], eax
xor eax, eax
push 0xa
pop ecx
lea edi, [ebp - 0x8c]
rep stosd dword es:[edi], eax
mov esi, dword [edx + 0xc]
and dword [ebp - 0xb0], eax
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebx + 0x40]
mov dword [ebp - 0x90], esi
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xb4], eax
mov ecx, dword [eax]
mov dword [ebp - 0xac], ecx
test ecx, ecx
je 0x43e8ab
mov esi, eax
call fcn.0042cccd
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x442795
mov eax, dword [ebp - 0xb4]
cmp byte [eax + 0x1c], 0
je 0x43e84f
and dword [ebp - 0xcc], 0
mov esi, dword [ebp - 0x90]
jmp 0x43e8ff
mov ecx, dword [eax + 0x50]
cmp ecx, dword [ebx + 0x50]
jne 0x43e874
mov ecx, dword [eax + 0x54]
mov esi, dword [ebp - 0x90]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0xb0], ecx
jmp 0x43e8f5
cmp byte [eax + 0x1f], 0
je 0x43e893
mov eax, dword [ebp - 0xac]
lea edi, [ebp - 0xc4]
call fcn.00405454
mov eax, dword [ebp - 0xc4]
jmp 0x43e8a3
mov edi, dword [ebp - 0xac]
mov esi, edi
call fcn.0040542e
mov eax, dword [edi + 0x34]
mov dword [ebp - 0xcc], eax
jmp 0x43e8e0
mov ecx, dword [eax + 0x10]
test ecx, ecx
jle 0x43e8ee
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x48], ecx
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0xcc], esi
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xb0], ecx
test byte [edx + 3], 0x20
je 0x43e8da
xor ecx, ecx
jmp 0x43e8dd
mov ecx, dword [ebx + 0x50]
mov dword [eax + 0x50], ecx
mov esi, dword [ebp - 0x90]
mov eax, dword [ebp - 0xb4]
jmp 0x43e8f5
and dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0xcc]
test ecx, ecx
jne 0x43e914
mov ax, word [esi + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, 1
jmp 0x43e1bf
mov edx, dword [ebp - 0xd4]
cmp ecx, dword [edx + 0x4c]
ja 0x43deee
mov edx, dword [eax + 0x14]
mov dword [ebp - 0xa0], edx
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0xa8], ecx
mov edi, dword [eax + 0x50]
cmp edi, dword [ebx + 0x50]
jne 0x43e94b
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0xa4], eax
jmp 0x43eb7f
and dword [ebp - 0x50], 0
lea ecx, [ecx + edx*4]
mov dword [ebp - 0xa4], ecx
mov dword [eax + 0x5c], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0x54], ecx
mov eax, dword [ebx + 0x50]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0xb0]
test eax, eax
je 0x43e988
mov dword [ebp - 0x94], eax
jmp 0x43e9e6
mov eax, dword [ebp - 0xb4]
cmp byte [eax + 0x1f], 0
mov esi, dword [ebp - 0xac]
je 0x43e9a5
xor eax, eax
cmp byte [esi + 0x5b], 1
jne 0x43e9ba
push eax
jmp 0x43e9af
xor eax, eax
cmp byte [esi + 0x5b], 1
jne 0x43e9ba
push 1
lea eax, [ebp - 0x50]
push eax
call fcn.0040547a
pop ecx
pop ecx
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x94], eax
cmp ecx, dword [ebp - 0x50]
ja 0x43e9dc
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xb0], eax
mov dword [ecx + 0x60], eax
jmp 0x43e9e6
mov eax, dword [ebp - 0xb4]
and dword [eax + 0x60], 0
mov ecx, dword [ebp - 0x94]
mov al, byte [ecx]
cmp al, 0x80
jae 0x43e9fd
movzx eax, al
mov dword [ebp - 0x5c], eax
xor eax, eax
inc eax
jmp 0x43ea08
lea edi, [ebp - 0x5c]
call fcn.004023c2
movzx eax, al
cmp dword [ebp - 0x5c], 0x18003
movzx eax, al
mov dword [ebp - 0x54], eax
jbe 0x43ea21
push 0x109d0
jmp 0x43ed41
mov ecx, dword [ebp - 0xa0]
imul ecx, ecx, 5
add ecx, 3
mov dword [ebp - 0x9c], ecx
cmp ecx, dword [ebp - 0x5c]
jle 0x43ea41
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x9c], ecx
xor eax, eax
cmp dword [ebp - 0xb0], eax
jne 0x43eaa5
cmp dword [ebp - 0x50], ecx
jge 0x43eaa5
xor edx, edx
mov word [ebp - 0x70], dx
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x8c], eax
movzx edx, byte [edx + 0x1f]
push edx
push eax
mov ebx, ecx
mov ecx, dword [ebp - 0xac]
lea eax, [ebp - 0x8c]
call fcn.0042c88e
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x43d61c
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0xe4]
mov dword [ebp - 0x94], eax
jmp 0x43eaab
mov eax, dword [ebp - 0x94]
add ecx, eax
mov dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0x54]
add ecx, eax
xor eax, eax
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0xa0], eax
jle 0x43eb33
mov ecx, dword [ebp - 0x60]
cmp dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0xa4]
jae 0x43ebd9
mov edx, dword [ebp - 0x5c]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebp - 0x64]
mov al, byte [ecx]
cmp al, 0x80
jae 0x43eaf5
movzx eax, al
inc ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x64], ecx
jmp 0x43eb03
lea edi, [ebp - 0x4c]
call fcn.004023c2
movzx eax, al
add dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x4c]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x4c]
call fcn.00405b34
add dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x5c], eax
jae 0x43ebdd
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x8c]
push eax
call fcn.0040b547
xor eax, eax
pop ecx
mov ecx, dword [ebp - 0x64]
inc eax
mov word [ebp - 0x70], ax
cmp ecx, dword [ebp - 0x60]
ja 0x43ed3c
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0xcc]
ja 0x43ed3c
cmp ecx, dword [ebp - 0x60]
jne 0x43eb73
cmp eax, dword [ebp - 0xcc]
jne 0x43ed3c
mov esi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xa4]
cmp dword [edx + eax*4], 0
je 0x43ecb7
cmp dword [ebp - 0xb0], 0
je 0x43ebfb
mov eax, 0x2460
test word [esi + 0x1c], ax
je 0x43ebbc
mov eax, esi
call fcn.0040b4ed
mov esi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xb8]
push dword [ecx + eax*4]
mov ecx, dword [ebp - 0xa4]
mov ecx, dword [ecx + eax*4]
add ecx, dword [ebp - 0xb0]
jmp 0x43eca0
and dword [ecx + eax*4], 0
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
cmp eax, dword [ebp - 0xa0]
jl 0x43eac8
jmp 0x43eb33
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x4c], eax
mov cl, byte [ecx + 3]
test cl, 0xc0
je 0x43ec2b
cmp eax, 0xc
jb 0x43ec18
test al, 1
je 0x43ec1c
test cl, cl
jns 0x43ec2b
cmp eax, 0xc
sbb ecx, ecx
lea edx, [ebp - 0xc4]
and ecx, edx
jmp 0x43ec99
call fcn.00405b34
mov dword [ebp - 0x9c], eax
mov ebx, esi
lea eax, [ebp - 0x8c]
call fcn.0040b6aa
mov eax, dword [ebp - 0xb4]
movzx eax, byte [eax + 0x1f]
mov ecx, dword [ebp - 0xb8]
mov ebx, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0xa4]
push dword [eax + ecx*4]
mov ecx, dword [ebp - 0xac]
lea eax, [ebp - 0x8c]
call fcn.0042c88e
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x43d61c
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x90]
mov ebx, dword [ebp - 0xe4]
mov dword [ebp - 0x94], ecx
push eax
call fcn.00405bda
mov eax, dword [ebp - 0x90]
pop ecx
mov cl, byte [ebp - 0xf4]
mov byte [eax + 0x1f], cl
jmp 0x43ecf0
mov eax, dword [ebp - 0xec]
cmp byte [eax + 1], 0xf8
jne 0x43ecdc
push 0x800
push dword [eax + 0x10]
mov ebx, esi
call fcn.0040b660
mov ebx, dword [ebp - 0xe4]
pop ecx
pop ecx
jmp 0x43ecf0
mov ax, word [esi + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, 1
mov word [esi + 0x1c], ax
cmp dword [ebp - 0x68], 0
je 0x43ed2f
mov eax, dword [ebp - 0x90]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [ebp - 0x90]
mov ecx, 0x200
or word [eax + 0x1c], cx
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x90]
call fcn.0041088b
jmp 0x43ed47
push 0x10a20
call fcn.0041479f
pop ecx
mov dword [ebp - 0xd0], eax
jmp case.default.0x43d2c3
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xcc], eax
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
jmp 0x43ed9f
inc dword [ebp - 0xcc]
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x43ed81
mov eax, edi
call fcn.0040b450
push dword [ebp - 0xf4]
mov eax, edi
push dword [ebp - 0xc8]
call fcn.00416cfa
mov eax, dword [ebp - 0xcc]
pop ecx
pop ecx
add edi, 0x28
mov al, byte [eax]
mov byte [ebp - 0xc8], al
test al, al
jne 0x43ed69
inc dword [ebp - 0xcc]
jmp case.default.0x43d2c3
xor eax, eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xac], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x98], eax
imul eax, eax, 0x28
mov ecx, dword [edi + 0x10]
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0x94], ecx
movzx ecx, byte [ebx + 0x61]
mov esi, eax
mov dword [ebp - 0xa0], esi
mov eax, dword [edi + 8]
mov dword [ebp - 0x98], eax
imul eax, eax, 0x28
lea eax, [eax + esi - 0x28]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x90], ecx
mov edi, dword [edi + 0xc]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
cmp esi, eax
mov dword [ebp - 0xe0], edi
jmp 0x43eef1
cmp dword [ebp - 0x94], 0
je 0x43ee63
push dword [ebp - 0xf4]
mov eax, esi
sub eax, dword [ebp - 0xa0]
push 0x28
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x94]
movzx eax, byte [eax + ecx]
push eax
mov eax, esi
call fcn.00416cfa
mov esi, dword [ebp - 0xc8]
pop ecx
pop ecx
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x43ee81
cmp dword [esi + 0x18], 0
jle 0x43ee81
mov eax, esi
call fcn.0040b450
mov esi, dword [ebp - 0xc8]
push dword [ebp - 0x90]
mov edx, esi
call fcn.00405a5b
mov dword [ebp - 0xa4], eax
call fcn.00405b34
mov dword [ebp - 0x88], eax
cdq
add dword [ebp - 0xc4], eax
push 0
push dword [ebp - 0xa4]
adc dword [ebp - 0xc0], edx
call fcn.00402423
add dword [ebp - 0xbc], eax
mov eax, 0x4000
add esp, 0xc
test word [esi + 0x1c], ax
je 0x43eed8
mov eax, dword [esi + 0x10]
add dword [ebp - 0xac], eax
jmp 0x43eee8
cmp dword [ebp - 0x88], 0
je 0x43eee8
and dword [ebp - 0xac], 0
add esi, 0x28
cmp esi, dword [ebp - 0x9c]
mov dword [ebp - 0xc8], esi
jbe 0x43ee2c
mov eax, dword [ebp - 0xbc]
cdq
push edx
push eax
call fcn.00402423
mov esi, eax
add dword [ebp - 0xbc], esi
mov eax, dword [ebp - 0xbc]
cdq
push edx
push eax
mov dword [ebp - 0xa8], esi
call fcn.00402423
add esp, 0x10
cmp esi, eax
jge 0x43ef34
inc dword [ebp - 0xbc]
mov eax, dword [ebp - 0xac]
cdq
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xf0], edx
cdq
mov esi, eax
sub esi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xd4]
mov ecx, edx
sbb ecx, dword [ebp - 0xf0]
add esi, dword [ebp - 0xc4]
adc ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xb0], ecx
mov eax, dword [eax + 0x4c]
cdq
cmp ecx, edx
jg 0x43deee
jl 0x43ef92
cmp esi, eax
ja 0x43deee
push 0
mov eax, esi
call fcn.0040b393
pop ecx
test eax, eax
jne 0x4426b9
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edi + 4]
mov esi, 0x80
mov dword [ebp - 0xcc], ecx
cmp eax, esi
jae 0x43efc3
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x43efc8
call fcn.00402207
movzx eax, al
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xc8], eax
jmp 0x43f030
push dword [ebp - 0x90]
mov edx, dword [ebp - 0xc8]
call fcn.00405a5b
pop ecx
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xa4], eax
cmp eax, esi
jae 0x43f00f
mov edx, dword [ebp - 0x8c]
mov byte [edx + ecx], al
xor eax, eax
inc eax
jmp 0x43f01a
add ecx, dword [ebp - 0x8c]
call fcn.00402207
movzx eax, al
add dword [ebp - 0x8c], eax
add dword [ebp - 0xc8], 0x28
mov eax, dword [ebp - 0xc8]
cmp eax, dword [ebp - 0x9c]
jbe 0x43efdf
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0x9c]
ja 0x43f098
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xb4]
push dword [ebp - 0x90]
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0xcc]
lea ebx, [eax + ecx]
mov eax, dword [ebp - 0xc8]
call fcn.00405b47
add dword [ebp - 0x8c], eax
add dword [ebp - 0xc8], 0x28
mov eax, dword [ebp - 0xc8]
pop ecx
pop ecx
cmp eax, dword [ebp - 0x9c]
jbe 0x43f04c
mov ebx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xb4]
and dword [edi + 0x20], 0
mov dword [edi + 0x18], eax
mov eax, 0x410
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x43f0c4
mov dword [edi + 0x10], eax
mov eax, 0x4410
mov word [edi + 0x1c], ax
mov byte [edi + 0x1f], 1
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x43f0f7
lea ecx, [ebp - 0xcc]
push ecx
call fcn.0042aca9
pop ecx
mov dword [ebp - 0xd0], eax
jmp 0x43f105
and dword [ebp - 0xcc], 0
and dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xc8]
jmp 0x43d46f
mov eax, dword [edi + 4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xc8], ecx
test eax, eax
jne 0x43f21a
mov edx, dword [ebp - 0xd4]
cmp dword [edx + 0x84], eax
jle 0x43f152
push str.cannot_open_savepoint___SQL_statements_in_progress
push edx
jmp 0x43f296
call fcn.00401a55
mov dword [ebp - 0xc4], eax
mov eax, dword [edx + 0x1e4]
add eax, dword [edx + 0x1e0]
mov edi, edx
push eax
push 0
call fcn.00407ca9
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x442795
mov eax, dword [ebp - 0xc4]
add eax, 0x19
push eax
mov esi, edi
call fcn.004093cb
pop ecx
mov dword [ebp - 0xc0], eax
test eax, eax
je case.default.0x43d2c3
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc4]
inc eax
push eax
push dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc0]
push dword [eax]
call fcn.00485200
add esp, 0xc
cmp byte [esi + 0x34], 0
je 0x43f1d6
mov byte [esi + 0x34], 0
mov byte [esi + 0x3b], 1
jmp 0x43f1dc
inc dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1d8]
mov edx, dword [ebp - 0xc0]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0xc0]
mov eax, dword [esi + 0x1e8]
mov dword [esi + 0x1d8], ecx
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x1ec]
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 0xc], eax
jmp case.default.0x43d2c3
and dword [ebp - 0xb4], 0
mov esi, dword [ebp - 0xd4]
mov edi, dword [esi + 0x1d8]
mov dword [ebp - 0xbc], edi
test edi, edi
je 0x43f263
push dword [ebp - 0xc8]
push dword [edi]
call fcn.00401aca
pop ecx
pop ecx
test eax, eax
je 0x43f25d
inc dword [ebp - 0xb4]
mov edi, dword [edi + 0x10]
mov dword [ebp - 0xbc], edi
test edi, edi
jne 0x43f237
xor eax, eax
cmp edi, eax
jne 0x43f27f
push dword [ebp - 0xc8]
lea edi, [ebx + 0x34]
push str.no_such_savepoint:__s
push esi
call fcn.00414cd2
add esp, 0xc
jmp 0x43f520
cmp dword [esi + 0x84], eax
jle 0x43f2af
cmp dword [ebp - 0xcc], 1
jne 0x43f2af
push str.cannot_release_savepoint___SQL_statements_in_progress
push esi
lea edi, [ebx + 0x34]
call fcn.00414cd2
pop ecx
pop ecx
mov dword [ebp - 0xd0], 5
jmp case.default.0x43d2c3
cmp dword [edi + 0x10], eax
jne 0x43f307
cmp byte [esi + 0x3b], al
je 0x43f307
xor eax, eax
inc eax
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xcc], eax
jne 0x43f30d
push eax
mov eax, ebx
call fcn.00416780
mov edi, eax
pop ecx
test edi, edi
jne 0x43df6d
mov eax, ebx
mov byte [esi + 0x34], 1
call fcn.0042ea89
push 5
pop edi
cmp eax, edi
je 0x4426e0
mov byte [esi + 0x3b], 0
mov eax, dword [ebx + 0x58]
mov dword [ebp - 0xd0], eax
mov edi, esi
jmp 0x43f413
mov dword [ebp - 0xe8], eax
mov ecx, dword [esi + 0x1e0]
sub ecx, dword [ebp - 0xb4]
dec ecx
cmp dword [ebp - 0xcc], 2
mov dword [ebp - 0xb4], ecx
jne 0x43f365
and dword [ebp - 0xb0], 0
cmp dword [esi + 0x14], 0
jle 0x43f365
mov eax, dword [ebp - 0xb0]
mov ecx, dword [esi + 0x10]
add eax, eax
push 4
push dword [ecx + eax*8 + 4]
call fcn.00425c57
inc dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb0]
pop ecx
pop ecx
cmp eax, dword [esi + 0x14]
jl 0x43f336
mov ecx, dword [ebp - 0xb4]
xor eax, eax
mov dword [ebp - 0xb0], eax
cmp dword [esi + 0x14], eax
jle 0x43f3bb
jmp 0x43f37a
mov ecx, dword [ebp - 0xb4]
push ecx
push dword [ebp - 0xcc]
mov ecx, esi
mov ecx, dword [ecx + 0x10]
add eax, eax
mov ebx, dword [ecx + eax*8 + 4]
call fcn.0042176b
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x44278f
mov eax, dword [ebp - 0xb0]
inc eax
mov ecx, esi
mov dword [ebp - 0xb0], eax
cmp eax, dword [ecx + 0x14]
jl 0x43f374
mov ebx, dword [ebp - 0xe4]
cmp dword [ebp - 0xcc], 2
jne 0x43f300
mov edi, dword [ebp - 0xd4]
mov esi, 0x200
test dword [edi + 0x18], esi
je 0x43f413
mov eax, edi
call fcn.00405e43
mov eax, edi
call fcn.00417686
or dword [edi + 0x18], esi
jmp 0x43f413
mov eax, dword [edi + 0x1d8]
mov dword [ebp - 0xb8], eax
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1d8], eax
mov edx, dword [ebp - 0xb8]
mov ecx, edi
call fcn.00401901
dec dword [edi + 0x1e0]
mov eax, dword [ebp - 0xbc]
cmp dword [edi + 0x1d8], eax
jne 0x43f3eb
cmp dword [ebp - 0xcc], 1
jne 0x43f45b
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1d8], eax
mov edx, dword [ebp - 0xbc]
mov ecx, edi
call fcn.00401901
cmp dword [ebp - 0xe8], 0
jne case.default.0x43d2c3
mov edi, dword [ebp - 0xd4]
dec dword [edi + 0x1e0]
jmp 0x43f480
cmp dword [ebp - 0xe8], 0
mov ecx, dword [eax + 8]
mov dword [edi + 0x1e8], ecx
mov eax, dword [eax + 0xc]
mov dword [edi + 0x1ec], eax
jne case.default.0x43d2c3
mov edi, dword [ebp - 0xd4]
push dword [ebp - 0xb4]
push dword [ebp - 0xcc]
call fcn.00407ca9
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x442795
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xcc], eax
mov edi, dword [edi + 8]
mov dword [ebp - 0xc8], edi
test eax, eax
je 0x43f4e8
cmp byte [esi + 0x34], 0
jne 0x43f4e8
mov dword [ebp - 0xc4], 1
test edi, edi
jne 0x43f4ef
cmp dword [esi + 0x84], edi
jle 0x43f4ef
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x43f295
and dword [ebp - 0xc4], 0
movzx ecx, byte [esi + 0x34]
cmp eax, ecx
jne 0x4426f5
test eax, eax
jne 0x43f506
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x43f514
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x43f514
mov eax, str.cannot_commit___no_transaction_is_active
push eax
push esi
lea edi, [ebx + 0x34]
call fcn.00414cd2
pop ecx
pop ecx
mov dword [ebp - 0xd0], 1
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xcc], eax
test eax, eax
je case.default.0x43d2c3
push dword [edi + 8]
mov edi, eax
call fcn.004292f8
pop ecx
push 5
pop edi
mov dword [ebp - 0xd0], eax
cmp eax, edi
je 0x44275b
xor esi, esi
cmp eax, esi
jne 0x442795
mov eax, dword [ebp - 0xec]
cmp dword [eax + 8], esi
je case.default.0x43d2c3
cmp byte [ebx + 0x63], 0
je case.default.0x43d2c3
mov edi, dword [ebp - 0xd4]
cmp byte [edi + 0x34], 0
je 0x43f5a7
cmp dword [edi + 0x80], 1
jle case.default.0x43d2c3
cmp dword [ebx + 0x74], esi
jne 0x43f5c1
mov ecx, dword [edi + 0x1e0]
inc dword [edi + 0x1e4]
add ecx, dword [edi + 0x1e4]
mov dword [ebx + 0x74], ecx
mov eax, dword [ebx + 0x74]
dec eax
push eax
push esi
call fcn.00407ca9
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
cmp eax, esi
jne 0x43f611
mov eax, dword [ebp - 0xcc]
mov edi, dword [ebx + 0x74]
mov esi, dword [eax + 4]
mov dword [ebp - 0xe8], eax
call fcn.00404d3a
mov esi, dword [esi]
push edi
call fcn.0040a9b0
mov esi, dword [ebp - 0xe8]
pop ecx
mov edi, eax
call fcn.00404dc2
mov dword [ebp - 0xd0], edi
mov edi, dword [ebp - 0xd4]
mov eax, dword [edi + 0x1e8]
mov dword [ebx + 0x98], eax
mov eax, dword [edi + 0x1ec]
mov dword [ebx + 0x9c], eax
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 0xc]
lea ecx, [ebp - 0xcc]
push ecx
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], edi
mov ecx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
push edi
call fcn.0040556b
pop ecx
pop ecx
mov eax, dword [ebp - 0xcc]
jmp 0x43d44c
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
shl eax, 4
add eax, dword [ecx + 0x10]
mov dword [ebp - 0xcc], eax
mov esi, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
call fcn.0040575d
push dword [esi + 0x10]
mov eax, dword [ebp - 0xcc]
push dword [edi + 8]
mov ebx, dword [eax + 4]
call fcn.0041b035
mov dword [ebp - 0xd0], eax
mov eax, dword [edi + 8]
pop ecx
pop ecx
cmp eax, 1
jne 0x43f6d0
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, dword [ebp - 0xd4]
or dword [eax + 0x18], 0x200
jmp 0x43f6e4
cmp eax, 2
jne 0x43f6e4
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 0xc]
mov cl, byte [esi + 0x10]
mov byte [eax + 0x4c], cl
cmp dword [edi + 4], 1
jne 0x43d61c
mov eax, dword [ebp - 0xd4]
call fcn.00405e43
mov eax, dword [ebp - 0xe4]
mov byte [eax + 0x5f], 0
mov ebx, eax
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xd4]
mov ecx, dword [esi + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x43f747
lea ecx, [ebp - 0xcc]
push ecx
push 1
call fcn.0040556b
mov eax, dword [edi + 4]
pop ecx
pop ecx
mov ecx, dword [esi + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x43f750
and dword [ebp - 0xcc], 0
xor eax, eax
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], eax
cmp ecx, dword [edi + 8]
jne 0x43f76a
cmp eax, dword [edi + 0xc]
je case.default.0x43d2c3
mov edx, dword [ebx + 0x34]
mov ecx, esi
call fcn.00401901
push str.database_schema_has_changed
mov edx, esi
call fcn.00409502
mov dword [ebx + 0x34], eax
mov edi, dword [edi + 4]
mov eax, edi
add eax, eax
pop ecx
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + eax*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xcc]
je 0x43f7a9
mov esi, dword [ebp - 0xd4]
push edi
call fcn.0041765d
pop ecx
mov byte [ebx + 0x5f], 1
mov dword [ebp - 0xd0], 0x11
jmp case.default.0x43d2c3
cmp byte [ebx + 0x5f], 0
je 0x43f7d1
mov dword [ebp - 0xd0], 4
jmp case.default.0x43d2c3
mov edx, dword [ebp - 0xd4]
xor esi, esi
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xc8], esi
mov ecx, dword [edi + 8]
mov dword [ebp - 0xc4], ecx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc0], eax
shl eax, 4
add eax, dword [edx + 0x10]
mov dword [ebp - 0xb0], eax
mov edx, dword [eax + 4]
mov dword [ebp - 0xb8], edx
cmp byte [edi], 0x28
jne 0x43f82b
mov dword [ebp - 0xbc], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [ebx + 0x61]
jae 0x43f831
mov byte [ebx + 0x61], al
jmp 0x43f831
and dword [ebp - 0xbc], esi
cmp byte [edi + 3], 0
je 0x43f85f
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd8]
mov esi, ecx
call fcn.0040575d
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xc4], esi
cmp esi, 2
jl 0x442766
mov esi, dword [ebp - 0xcc]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x43f88a
mov eax, dword [edi + 0x10]
mov ecx, dword [ebx]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0xc]
mov cl, byte [ecx + 0x4d]
mov byte [eax + 4], cl
mov eax, dword [ebp - 0xc8]
movzx esi, word [eax + 6]
inc esi
jmp 0x43f891
cmp al, 0xf2
jne 0x43f897
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xcc], esi
mov edx, dword [edi + 4]
push 1
push dword [ebp - 0xc0]
mov eax, ebx
push esi
call fcn.0042ced7
add esp, 0xc
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x4426b9
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xb4]
mov byte [eax + 0x20], 1
push dword [ebp - 0xc8]
mov eax, dword [ebp - 0xb4]
push dword [ebp - 0xc4]
mov eax, dword [eax]
mov ebx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb8]
call fcn.00405397
pop ecx
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xb4]
pop ecx
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 8], ecx
cmp byte [edi + 1], 0xfa
mov ecx, dword [ebp - 0xb4]
setne al
mov byte [ecx + 0x1e], al
mov eax, dword [ebp - 0xb4]
cmp byte [eax + 0x1e], 0
sete cl
mov byte [eax + 0x1f], cl
jmp 0x43d61c
mov edx, dword [edi + 4]
push 1
push 0xffffffffffffffff
push dword [edi + 8]
mov eax, ebx
call fcn.0042ced7
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x4426b9
mov byte [eax + 0x1c], 1
movzx eax, byte [edi + 3]
mov ecx, dword [ebp - 0xcc]
push 0x41e
or eax, 5
push eax
mov eax, dword [ebp - 0xd4]
push eax
push dword [eax]
add ecx, 4
xor edx, edx
call fcn.0042bc2a
add esp, 0x10
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x43fa95
mov eax, dword [ebp - 0xcc]
mov edi, dword [eax + 4]
push 1
call fcn.004292f8
mov edi, dword [ebp - 0xec]
pop ecx
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x43fa95
cmp dword [edi + 0x10], eax
je 0x43fa61
movzx esi, byte [edi + 3]
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 4]
or esi, 2
mov dword [ebp - 0xe8], eax
call fcn.00404d3a
push esi
mov esi, dword [ebp - 0xe8]
lea eax, [ebp - 0x118]
push eax
push esi
call fcn.00426f34
add esp, 0xc
mov dword [ebp - 0xe8], eax
call fcn.00404dc2
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x43fa55
push dword [edi + 0x10]
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ecx]
push dword [ebp - 0x118]
mov ecx, dword [ecx + 4]
xor ebx, ebx
inc ebx
call fcn.00405397
mov ebx, dword [ebp - 0xe4]
mov dword [ebp - 0xd0], eax
mov eax, dword [edi + 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx + 8]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1e], 0
jmp 0x43fa8f
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
xor ebx, ebx
push 0
push 1
inc ebx
call fcn.00405397
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
pop ecx
mov byte [eax + 0x1e], bl
mov ebx, dword [ebp - 0xe4]
pop ecx
mov edi, dword [ebp - 0xec]
cmp byte [edi + 3], 8
mov ecx, dword [ebp - 0xcc]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1e], 0
sete cl
jmp 0x43d560
mov edx, dword [edi + 4]
push 1
push 0xffffffffffffffff
push dword [edi + 8]
mov eax, ebx
call fcn.0042ced7
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x4426b9
mov ecx, dword [edi + 0x10]
push dword [ebp - 0xd4]
mov dword [eax + 8], ecx
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xcc]
mov al, byte [eax + 0x4d]
mov ecx, dword [ecx + 8]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x21], 1
mov eax, dword [ebp - 0xcc]
call fcn.00410cd6
jmp 0x43ed46
mov edx, dword [edi + 4]
push 0
push 0xffffffffffffffff
push dword [edi + 0xc]
mov eax, ebx
call fcn.0042ced7
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x4426b9
mov byte [eax + 0x1c], 1
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1f], 0
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx + eax*4]
call fcn.0042cc86
mov ecx, dword [ebp - 0xe4]
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 0x40]
and dword [ecx + eax*4], 0
jmp 0x43d61c
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx + eax*4]
xor esi, esi
mov dword [ebp - 0xc4], eax
cmp dword [eax], esi
je 0x43d2de
movzx ecx, byte [edi]
mov dword [ebp - 0xc8], ecx
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 0xc4]
cmp byte [ecx + 0x1e], 0
je 0x43fda8
mov esi, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
call fcn.004060d0
mov ecx, esi
call fcn.00405667
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x98], edx
mov byte [eax + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x43fd38
test al, 8
je 0x43d2de
cmp dword [ebp - 0x9c], 0
jne 0x43fce8
mov eax, 0x80000000
cmp dword [ebp - 0x98], eax
jne 0x43fce8
and dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], eax
fild qword [ebp - 0x130]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x43fc47
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x43fce8
fldz
mov dword [ebp - 0xcc], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x43fcaf
cmp dword [ebp - 0xc8], 0x30
jl 0x43d2de
mov eax, dword [ebp - 0xc4]
mov esi, dword [eax]
mov eax, esi
call fcn.004299cc
test eax, eax
jne 0x43fc9c
cmp byte [esi + 0x5b], al
jne 0x43fc8e
mov dword [ebp - 0xcc], 1
jmp 0x43fc9c
and dword [ebp - 0xcc], 0
mov eax, esi
call fcn.00429ac8
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x442795
jmp 0x43e778
cmp dword [ebp - 0xc8], 0x2f
jg 0x43d2de
mov eax, dword [ebp - 0xc4]
mov esi, dword [eax]
lea edi, [ebp - 0xcc]
call fcn.00429b70
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x442795
mov edi, dword [ebp - 0xec]
jmp 0x43e778
cmp dword [ebp - 0xc8], 0x2e
je 0x43fd1a
cmp dword [ebp - 0xc8], 0x30
je 0x43fd1a
fild qword [ebp - 0x9c]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x43fd38
add dword [ebp - 0x9c], 0xffffffff
adc dword [ebp - 0x98], 0xffffffff
jmp 0x43fd38
fild qword [ebp - 0x9c]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x43fd38
add dword [ebp - 0x9c], 1
adc dword [ebp - 0x98], 0
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
mov ebx, dword [eax]
push 0
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
push 0
call fcn.00429ba9
add esp, 0x14
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x44278f
xor ebx, ebx
cmp dword [ebp - 0xcc], ebx
jne 0x43fe33
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 0x44], eax
jmp 0x43fe33
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xa4], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xbc], eax
mov ax, word [ebp - 0xa4]
mov word [ebp - 0xb8], ax
mov al, byte [ebp - 0xc8]
and al, 1
mov byte [ebp - 0xb6], al
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
mov edx, 0x4000
mov dword [ebp - 0xac], eax
test word [eax + 0x1c], dx
je 0x43fdfe
call fcn.0040b450
mov ecx, dword [ebp - 0xc4]
mov ebx, dword [ecx]
lea eax, [ebp - 0xcc]
push eax
push esi
push esi
lea eax, [ebp - 0xbc]
push esi
push eax
call fcn.00429ba9
add esp, 0x14
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x44278f
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x19], 0
xor ebx, ebx
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1d], bl
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x50], ebx
cmp dword [ebp - 0xc8], 0x30
jl 0x43fe82
cmp dword [ebp - 0xcc], ebx
jl 0x43fe6c
jne 0x43fe61
cmp dword [ebp - 0xc8], 0x31
je 0x43fe6c
mov dword [ebp - 0xcc], ebx
jmp 0x43d61c
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.0042c27a
jmp 0x43fec2
cmp dword [ebp - 0xcc], ebx
jg 0x43feae
jne 0x43fe95
cmp dword [ebp - 0xc8], 0x2e
je 0x43feae
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax]
xor ecx, ecx
cmp byte [eax + 0x5b], 1
setne cl
mov dword [ebp - 0xcc], ecx
jmp 0x43fedd
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc4]
push dword [eax]
call fcn.0042c37c
pop ecx
mov dword [ebp - 0xd0], eax
pop ecx
cmp eax, ebx
jne 0x44278f
mov eax, dword [ebp - 0xc4]
xor ebx, ebx
mov byte [eax + 0x19], bl
cmp dword [ebp - 0xcc], ebx
je 0x43d61c
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
jmp 0x43d61c
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xcc], eax
cmp dword [eax], 0
je case.default.0x43d2c3
mov byte [eax + 0x1c], 0
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd8]
call fcn.00405667
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1d], 1
jmp case.default.0x43d2c3
mov edx, dword [ebx + 0x40]
xor ecx, ecx
mov dword [ebp - 0xcc], ecx
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xc8], eax
mov esi, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
cmp dword [eax], ecx
je 0x440078
cmp dword [edi + 0x10], ecx
jle 0x43ffaf
mov edx, dword [eax + 8]
mov dword [ebp - 0xb4], edx
mov dx, word [edi + 0x10]
mov word [ebp - 0xb0], dx
lea edx, [ebp - 0xb4]
mov dword [ebp - 0xa4], esi
mov byte [ebp - 0xae], 2
mov dword [ebp - 0xbc], edx
jmp 0x440007
mov edi, dword [eax + 8]
push 0x97
lea ebx, [ebp - 0xc0]
lea edx, [ebp - 0x9c]
call fcn.0040bc88
pop ecx
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x4426b3
mov ebx, dword [esi + 4]
push eax
push dword [esi + 0x18]
mov eax, dword [ebp - 0xc8]
push dword [eax + 8]
call fcn.00405d82
mov eax, dword [ebp - 0xbc]
or byte [eax + 6], 2
mov eax, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xec]
add esp, 0xc
xor ecx, ecx
mov ebx, dword [eax]
lea edx, [ebp - 0xc4]
push edx
push ecx
push ecx
push ecx
push dword [ebp - 0xbc]
call fcn.00429ba9
add esp, 0x14
cmp dword [edi + 0x10], 0
mov dword [ebp - 0xd0], eax
jne 0x44003e
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xd4]
call fcn.00401901
cmp dword [ebp - 0xd0], 0
mov ebx, dword [ebp - 0xe4]
jne case.default.0x43d2c3
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0xc4], eax
sete cl
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x50], eax
xor ecx, ecx
cmp byte [edi], 0x34
jne 0x440088
cmp dword [ebp - 0xcc], ecx
jmp 0x43e37b
cmp dword [ebp - 0xcc], ecx
jmp 0x43e7ab
mov eax, dword [edi + 0x10]
mov esi, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
imul esi, esi, 0x28
mov ecx, dword [ebx + 0x40]
add esi, dword [ebp - 0xd8]
mov dword [ebp - 0xbc], eax
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
and dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xc8]
and dword [eax + 0x50], 0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
mov ecx, dword [eax + 8]
mov cx, word [ecx + 6]
xor edx, edx
mov word [ebp - 0xcc], dx
cmp dx, cx
mov edx, dword [ebp - 0xbc]
mov word [ebp - 0xc0], cx
jae 0x440139
movzx ecx, word [ebp - 0xcc]
imul ecx, ecx, 0x28
test byte [ecx + edx + 0x1c], 1
jne 0x440128
mov cx, word [ebp - 0xc0]
inc word [ebp - 0xcc]
cmp word [ebp - 0xcc], cx
jb 0x4400fe
jmp 0x440139
mov ecx, dword [edi + 8]
dec ecx
and dword [ebp - 0xc4], 0
mov dword [ebp - 0xdc], ecx
cmp dword [ebp - 0xc4], 0
je case.default.0x43d2c3
mov eax, dword [eax + 8]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xc0]
inc eax
mov word [ebp - 0xb0], ax
mov byte [ebp - 0xae], 4
mov dword [ebp - 0xa4], edx
call fcn.0040575d
mov eax, dword [esi + 0x10]
mov ebx, dword [ebp - 0xc4]
mov dword [ebp - 0x9c], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc8]
add eax, 0x4c
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0xb4]
push eax
call fcn.00429ba9
add esp, 0x14
test byte [ebp - 0xae], 4
mov dword [ebp - 0xd0], eax
jne 0x43fee9
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x9c]
jne 0x4401d8
mov ecx, dword [ebp - 0xa8]
cmp ecx, dword [ebp - 0x98]
je 0x43fee9
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xa8]
mov dword [esi + 0x14], eax
jmp 0x43d61c
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 4]
imul esi, esi, 0x28
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx + eax*4]
add esi, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je 0x4402b3
and dword [ebp - 0xc4], 0
mov eax, dword [esi + 0x10]
lea edx, [ebp - 0xc4]
push edx
mov dword [ebp - 0xbc], eax
mov ebx, dword [esi + 0x14]
push 0
push ebx
push eax
mov dword [ebp - 0xb8], ebx
push 0
mov ebx, ecx
call fcn.00429ba9
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x40], eax
mov ecx, dword [ebp - 0xcc]
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x44], eax
mov edx, dword [ebp - 0xcc]
xor eax, eax
add esp, 0x14
cmp dword [ebp - 0xc4], eax
sete cl
mov byte [edx + 0x19], cl
mov ecx, dword [ebp - 0xcc]
mov byte [ecx + 0x1c], al
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 0x50], eax
mov ecx, dword [ebp - 0xcc]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0xc4]
cmp ecx, eax
je 0x4402a5
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x4c], ecx
jmp 0x43d61c
mov edi, dword [edi + 8]
dec edi
and dword [eax + 0x4c], 0
mov dword [ebp - 0xdc], edi
jmp case.default.0x43d2c3
mov ecx, dword [ebx + 0x40]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov edx, dword [eax + 0x30]
mov ecx, dword [ebp - 0xe0]
mov dword [ecx + 0x10], edx
mov eax, dword [eax + 0x34]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx + eax*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.default.0x43d2c3
mov ecx, dword [ebx + 0x40]
xor edx, edx
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc0], edx
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax]
cmp ecx, edx
je 0x43f105
cmp byte [eax + 0x1b], dl
jne 0x4404bf
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0xcc], edx
mov ecx, dword [ecx + 0x24]
or edx, ecx
mov dword [ebp - 0xc8], ecx
jne 0x4403d3
mov esi, dword [eax]
lea edi, [ebp - 0xc0]
call fcn.00429b70
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x442795
mov eax, dword [ebp - 0xc4]
xor esi, esi
cmp dword [ebp - 0xc0], esi
je 0x440384
mov dword [ebp - 0xcc], 1
mov dword [ebp - 0xc8], esi
jmp 0x4403cd
mov eax, dword [eax]
lea edi, [ebp - 0xcc]
call fcn.00405454
cmp dword [ebp - 0xc8], 0x7fffffff
mov dword [ebp - 0xd0], eax
jl 0x4403ba
jg 0x4403ae
cmp dword [ebp - 0xcc], 0xffffffff
jb 0x4403ba
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1b], 1
jmp 0x4403c7
add dword [ebp - 0xcc], 1
adc dword [ebp - 0xc8], esi
mov eax, dword [ebp - 0xc4]
mov edi, dword [ebp - 0xec]
mov esi, dword [edi + 0xc]
test esi, esi
je 0x440469
mov eax, dword [ebx + 0xa8]
test eax, eax
jne 0x44048e
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
mov dword [ebp - 0xb8], esi
call fcn.0040575d
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
cmp ecx, 0xffffffff
jne 0x44041d
cmp edx, 0x7fffffff
je 0x442779
mov esi, dword [ebp - 0xc4]
cmp byte [esi + 0x1b], 0
jne 0x442779
add ecx, 1
adc edx, 0
cmp dword [ebp - 0xc8], edx
jg 0x440451
jl 0x440445
cmp dword [ebp - 0xcc], ecx
jae 0x440451
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], edx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
cmp edx, 0x7fffffff
jg 0x4404a9
mov ecx, dword [ebp - 0xcc]
jl 0x440484
cmp ecx, 0xffffffff
jae 0x4404a9
add ecx, 1
adc edx, 0
jmp 0x4404ad
mov eax, ecx
mov dword [ebp - 0xb4], eax
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x44048c
mov esi, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [eax + 0xc]
jmp 0x4403f5
xor ecx, ecx
xor edx, edx
push edx
push ecx
mov ecx, dword [eax]
call fcn.00405409
mov eax, dword [ebp - 0xc4]
add esp, 8
cmp byte [eax + 0x1b], 0
je 0x4405d3
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ebp - 0x100]
push 0
pop edi
mov esi, 0x3fffffff
and ecx, esi
add edx, 1
lea ebx, [ebp - 0xc0]
push ebx
adc ecx, edi
push edi
push ecx
push edx
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xbc], edi
mov ebx, dword [eax]
push edi
call fcn.00429ba9
add esp, 0x14
mov dword [ebp - 0xd0], eax
cmp eax, edi
jne 0x4405c7
cmp dword [ebp - 0xc0], edi
jne 0x4405b3
inc dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], 0x64
jge 0x4405b3
lea eax, [ebp - 0xcc]
push eax
push 8
call fcn.004097c4
cmp dword [ebp - 0xbc], 5
pop ecx
pop ecx
jge 0x44055f
and dword [ebp - 0xcc], 0xffffff
mov dword [ebp - 0xc8], edi
jmp 0x440571
mov eax, dword [ebp - 0xcc]
and dword [ebp - 0xc8], esi
mov dword [ebp - 0xcc], eax
add dword [ebp - 0xcc], 1
lea eax, [ebp - 0xc0]
push eax
adc dword [ebp - 0xc8], edi
mov eax, dword [ebp - 0xc4]
mov ebx, dword [eax]
push edi
push dword [ebp - 0xc8]
push dword [ebp - 0xcc]
push edi
call fcn.00429ba9
add esp, 0x14
xor edi, edi
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x440519
cmp dword [ebp - 0xd0], edi
jne 0x4405c7
cmp dword [ebp - 0xc0], edi
je 0x442785
mov eax, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xe4]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc4]
and dword [eax + 0x50], 0
jmp 0x43f105
mov esi, dword [edi + 8]
mov ecx, dword [ebx + 0x40]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], esi
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xbc], eax
cmp byte [edi], 0x39
jne 0x440636
mov ecx, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xc4], eax
mov edx, dword [ecx + 0x14]
jmp 0x440640
mov eax, dword [edi + 0xc]
cdq
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
test byte [edi + 3], 1
je 0x44064f
inc dword [ebx + 0x68]
test byte [edi + 3], 2
je 0x440679
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x20], eax
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 0x24], eax
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0xfc], edx
test byte [esi + 0x1c], 1
je 0x440693
and dword [esi + 4], 0
mov eax, dword [ebp - 0xcc]
and dword [eax + 0x18], 0
mov esi, dword [ebp - 0xcc]
test byte [edi + 3], 0x10
je 0x4406aa
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0xb4], eax
jmp 0x4406b1
and dword [ebp - 0xb4], 0
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x4406c7
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xb8], eax
jmp 0x4406ce
and dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax]
xor esi, esi
push esi
push esi
call fcn.00405409
push dword [ebp - 0xb4]
movzx eax, byte [edi + 3]
and eax, 8
push eax
push dword [ebp - 0xb8]
mov eax, dword [ebp - 0xcc]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xc0]
mov eax, dword [eax]
push dword [ebp - 0xc4]
push esi
call fcn.0042c481
mov ecx, dword [ebp - 0xbc]
mov byte [ecx + 0x19], 0
mov ecx, dword [ebp - 0xbc]
mov byte [ecx + 0x1d], 0
mov ecx, dword [ebp - 0xbc]
add esp, 0x28
mov dword [ebp - 0xd0], eax
mov dword [ecx + 0x50], esi
cmp eax, esi
jne case.default.0x43d2c3
mov ecx, dword [ebp - 0xd4]
cmp dword [ecx + 0xb8], esi
je case.default.0x43d2c3
cmp dword [edi + 0x10], esi
je case.default.0x43d2c3
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax + 0xc]
mov edx, dword [ecx + 0x10]
push dword [ebp - 0xc0]
add eax, eax
mov esi, dword [edx + eax*8]
push dword [ebp - 0xc4]
mov dword [ebp - 0xb0], esi
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xac], edx
mov al, byte [edi + 3]
and al, 4
movzx eax, al
neg eax
sbb eax, eax
push edx
and eax, 5
add eax, 0x12
push esi
push eax
mov dword [ebp - 0xa8], eax
push dword [ecx + 0xb4]
call dword [ecx + 0xb8]
add esp, 0x18
jmp case.default.0x43d2c3
mov edx, dword [ebx + 0x40]
xor eax, eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], esi
cmp dword [ecx + 0xb8], eax
je 0x4407ff
cmp dword [edi + 0x10], eax
je 0x4407ff
mov eax, dword [esi + 0x40]
mov dword [ebp - 0xcc], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xc8], eax
call fcn.0042cccd
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x442795
push eax
push eax
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax]
call fcn.00405409
mov eax, dword [ebp - 0xc4]
mov esi, dword [eax]
add esp, 8
call fcn.0042c63e
mov ecx, dword [ebp - 0xc4]
and dword [ecx + 0x50], 0
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x440887
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 0xb8]
test edx, edx
je 0x440887
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x440887
push dword [ebp - 0xc8]
mov esi, dword [eax + 0x10]
push dword [ebp - 0xcc]
push ecx
mov ecx, dword [ebp - 0xc4]
mov ecx, dword [ecx + 0xc]
add ecx, ecx
push dword [esi + ecx*8]
push 9
push dword [eax + 0xb4]
call edx
add esp, 0x18
test byte [edi + 8], 1
je case.default.0x43d2c3
inc dword [ebx + 0x68]
jmp case.default.0x43d2c3
mov eax, dword [ebx + 0x68]
mov ecx, dword [ebp - 0xd4]
add dword [ecx + 0x48], eax
mov dword [ecx + 0x44], eax
and dword [ebx + 0x68], 0
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xcc], eax
mov esi, dword [edi + 0xc]
mov ecx, dword [eax + 0x48]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
lea edx, [ebp - 0x120]
call fcn.004061c1
lea ecx, [ebp - 0xc8]
push ecx
push dword [ebp - 0x120]
mov ecx, eax
push dword [esi + 0x18]
mov eax, dword [ebp - 0xcc]
push dword [esi + 4]
push 1
call fcn.0041bb7e
and dword [ebp - 0xd0], 0
add esp, 0x14
cmp dword [ebp - 0xc8], 0
jmp 0x43e37b
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebx + 0x40]
add ecx, dword [ebp - 0xd8]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xcc], eax
call fcn.0040c217
jmp 0x43ed47
mov eax, dword [edi + 8]
mov ecx, dword [ebx + 0x40]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], eax
mov eax, dword [edi + 4]
mov esi, dword [ecx + eax*4]
mov dword [ebp - 0xcc], esi
mov eax, dword [esi]
mov dword [ebp - 0xc8], eax
call fcn.0042cccd
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x442795
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1f], 0
je 0x4409c6
mov eax, dword [ebp - 0xc8]
lea edi, [ebp - 0xbc]
call fcn.00405454
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x4c]
cdq
mov ecx, eax
cmp dword [ebp - 0xb8], edx
jg 0x43deee
mov eax, dword [ebp - 0xbc]
jl 0x4409be
cmp eax, ecx
ja 0x43deee
mov dword [ebp - 0xc4], eax
jmp 0x4409eb
mov edi, dword [ebp - 0xc8]
mov esi, edi
call fcn.0040542e
mov eax, dword [edi + 0x34]
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], eax
cmp eax, dword [ecx + 0x4c]
ja 0x43deee
mov edi, dword [ebp - 0xe0]
push 0
call fcn.0040b393
pop ecx
test eax, eax
jne 0x4426b9
mov eax, dword [ebp - 0xc4]
mov esi, edi
mov dword [esi + 0x18], eax
mov ax, word [esi + 0x1c]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1f], 0
je 0x440a47
mov eax, dword [esi + 4]
push 0
push eax
push dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
push 0
call fcn.00425e06
jmp 0x440a5d
push dword [esi + 4]
push dword [ebp - 0xc4]
push 0
push dword [ebp - 0xc8]
call fcn.0042c23d
mov dword [ebp - 0xd0], eax
add esp, 0x10
mov byte [esi + 0x1f], 1
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov esi, dword [ecx + eax*4]
mov dword [ebp - 0xcc], esi
cmp byte [esi + 0x1c], 0
je 0x440a96
mov ecx, dword [ebp - 0xe0]
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
jmp case.default.0x43d2c3
cmp byte [esi + 0x1d], 0
je 0x440aaa
mov eax, dword [esi + 0x38]
mov dword [ebp - 0xc4], eax
mov eax, dword [esi + 0x3c]
jmp 0x440b12
cmp dword [esi + 0x24], 0
je 0x440ae7
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
mov eax, dword [eax]
lea ecx, [ebp - 0xc4]
push ecx
mov dword [ebp - 0xb8], eax
push dword [esi + 0x24]
call dword [eax + 0x30]
mov esi, dword [ebp - 0xbc]
pop ecx
pop ecx
mov edi, ebx
mov dword [ebp - 0xd0], eax
call fcn.0040bf95
jmp 0x440b2d
call fcn.0042cccd
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x442795
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x19], 0
je 0x440b1a
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax + 0x44]
mov dword [ebp - 0xc0], eax
jmp 0x440b2d
mov eax, dword [eax]
lea edi, [ebp - 0xc4]
call fcn.00405454
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xc0]
jmp 0x43d46f
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xcc], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xcc]
mov esi, dword [eax]
test esi, esi
je case.default.0x43d2c3
call fcn.00404f36
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xcc], eax
mov esi, dword [eax]
and dword [ebp - 0xc4], 0
mov dword [ebp - 0xc8], esi
test esi, esi
je 0x440bbd
lea edi, [ebp - 0xc4]
call fcn.00429b70
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
mov cl, byte [ebp - 0xc4]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xcc]
and dword [eax + 0x50], 0
mov edi, dword [edi + 8]
test edi, edi
jle case.default.0x43d2c3
cmp dword [ebp - 0xc4], 0
je case.default.0x43d2c3
jmp 0x43d2e1
inc dword [ebx + 0x7c]
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc4], 1
cmp dword [eax + 0x48], 0
je 0x440c41
lea ecx, [ebp - 0xc4]
push ecx
push eax
push dword [ebp - 0xd4]
call fcn.00421c1e
add esp, 0xc
mov dword [ebp - 0xd0], eax
jmp 0x440caa
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov esi, eax
call fcn.004299cc
test eax, eax
jne 0x440c73
cmp byte [esi + 0x5b], al
jne 0x440c65
mov dword [ebp - 0xc4], 1
jmp 0x440c73
and dword [ebp - 0xc4], 0
mov eax, esi
call fcn.00429ac8
cmp dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
sete al
mov byte [ecx + 0x1a], al
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xcc]
and dword [eax + 0x50], 0
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x19], 0
mov al, byte [ebp - 0xc4]
mov ecx, dword [ebp - 0xcc]
mov byte [ecx + 0x1c], al
cmp dword [ebp - 0xc4], 0
jmp 0x43e37b
mov esi, dword [ebp - 0xd4]
mov eax, dword [esi + 0xe0]
test eax, eax
jne 0x4427e2
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xcc], eax
test eax, eax
je case.default.0x43d2c3
cmp dword [eax + 0x48], 0
lea ecx, [ebp - 0xc8]
push ecx
je 0x440d09
push eax
push esi
call fcn.0041c004
add esp, 0xc
jmp 0x440d1a
mov dword [ebp - 0xc8], 1
push dword [eax]
call dword [edi + 0x10]
pop ecx
pop ecx
mov cl, byte [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0xcc]
and dword [eax + 0x50], 0
cmp dword [ebp - 0xc8], 0
jne 0x440d5c
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xdc], eax
mov al, byte [edi + 3]
test al, al
je 0x440d5c
movzx eax, al
lea eax, [ebx + eax*4 + 0x74]
inc dword [eax]
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x19], 0
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0xcc], ecx
mov esi, dword [edi + 8]
mov eax, dword [ecx]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], eax
test eax, eax
je case.default.0x43d2c3
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x440db8
mov eax, esi
call fcn.0040b450
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
xor edx, edx
jmp 0x440dc0
xor edx, edx
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], edx
jne case.default.0x43d2c3
cmp dword [ecx + 0x48], edx
je 0x440dec
push ecx
push dword [ebp - 0xd4]
mov ebx, esi
call fcn.0041bedc
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
jmp 0x43d61c
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xc4], eax
mov esi, dword [esi + 4]
mov dword [ebp - 0xc0], esi
test byte [edi + 3], 0x10
je 0x440e09
mov ecx, dword [ecx + 0x4c]
jmp 0x440e0b
xor ecx, ecx
push ecx
push dword [edi + 0xc]
push edx
push edx
cdq
push 0x4bc62e
push edx
push eax
mov eax, dword [ebp - 0xc8]
push esi
call fcn.0042c481
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
add esp, 0x20
and dword [eax + 0x50], 0
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je case.default.0x43d2c3
mov eax, dword [eax + 8]
mov dword [ebp - 0xbc], eax
mov ax, word [edi + 0xc]
mov word [ebp - 0xb8], ax
mov byte [ebp - 0xb6], 0
mov eax, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
mov ebx, ecx
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xc4]
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00429ba9
add esp, 0x14
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x440ec9
cmp dword [ebp - 0xc4], eax
jne 0x440ec9
mov esi, dword [ebp - 0xc8]
call fcn.0042c63e
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
and dword [eax + 0x50], 0
jmp 0x43d61c
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0xcc], 0
je case.default.0x43d2c3
mov esi, dword [ebp - 0xc8]
call fcn.0042cccd
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x442795
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1c], 0
jne case.default.0x43d2c3
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xcc]
call fcn.0042cd69
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x442795
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xc0]
push 4
mov dword [eax + 0x14], ecx
pop ecx
jmp 0x43e150
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov esi, dword [ecx + eax*4]
mov dword [ebp - 0xcc], esi
cmp dword [esi], 0
je case.default.0x43d2c3
mov eax, dword [esi + 8]
mov dword [ebp - 0xc4], eax
mov ax, word [edi + 0x10]
mov word [ebp - 0xc0], ax
cmp byte [edi + 3], 0
setne al
add al, 2
mov byte [ebp - 0xbe], al
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.0042ce4c
cmp byte [edi], 0x64
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
jne 0x440fe9
neg dword [ebp - 0xc8]
jmp 0x440fef
inc dword [ebp - 0xc8]
cmp dword [ebp - 0xc8], 0
jle case.default.0x43d2c3
jmp 0x43d2de
mov eax, dword [ebp - 0xd4]
and dword [ebp - 0xc8], 0
mov eax, dword [eax + 4]
jmp 0x441031
cmp dword [eax + 0x30], 0xbdf20da3
jne 0x44102e
cmp byte [eax + 0x62], 2
jae 0x44102e
cmp dword [eax + 0x54], 0
jl 0x44102e
inc dword [ebp - 0xc8]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xc4], eax
test eax, eax
jne 0x441013
mov ecx, dword [ebp - 0xe0]
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0xc8], eax
jle 0x441063
mov dword [ebp - 0xd0], 6
mov byte [ebx + 0x5c], 2
jmp case.default.0x43d2c3
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc0], eax
mov ecx, dword [edi + 4]
mov dword [ebp - 0xe8], ecx
mov ecx, dword [ebp - 0xd4]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov esi, dword [ecx + eax*8 + 4]
mov eax, esi
call fcn.00404d3a
lea eax, [ebp - 0xcc]
push eax
push dword [ebp - 0xe8]
push esi
call fcn.0042ab17
add esp, 0xc
mov dword [ebp - 0xe8], eax
call fcn.00404dc2
mov ecx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe8]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xcc]
cdq
mov dword [ebp - 0xd0], esi
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
test esi, esi
jne case.default.0x43d2c3
mov esi, dword [ebp - 0xcc]
test esi, esi
je case.default.0x43d2c3
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xd4]
mov edi, dword [edi + 4]
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x10]
jmp 0x441112
mov edx, dword [ecx + 8]
cmp dword [edx + 0x14], esi
jne 0x441110
mov dword [edx + 0x14], edi
mov ecx, dword [ecx]
test ecx, ecx
jne 0x441105
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x20]
jmp 0x44112b
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x28], esi
jne 0x441129
mov dword [ecx + 0x28], edi
mov eax, dword [eax]
test eax, eax
jne 0x44111e
mov al, byte [ebp - 0xc0]
inc al
mov byte [ebp - 0xf5], al
jmp case.default.0x43d2c3
and dword [ebp - 0xcc], 0
mov eax, dword [edi + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0xcc]
and eax, ecx
mov ecx, dword [ebp - 0xd4]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [edi + 8]
push dword [edi + 4]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
call fcn.0042aacb
cmp dword [edi + 0xc], 0
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
je case.default.0x43d2c3
mov eax, dword [ebp - 0xcc]
add dword [ebx + 0x68], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.default.0x43d2c3
mov ecx, dword [ebp - 0xd8]
imul edi, edi, 0x28
cdq
lea ecx, [edi + ecx + 0x10]
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.default.0x43d2c3
and dword [ebp - 0xcc], 0
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
shl eax, 4
add eax, dword [ecx + 0x10]
xor ecx, ecx
mov dword [ebp - 0xc4], eax
cmp byte [edi], 0x69
setne cl
lea edi, [ecx + 1]
mov dword [ebp - 0xc8], edi
mov esi, dword [eax + 4]
mov eax, esi
call fcn.00404d3a
push edi
lea eax, [ebp - 0xcc]
push eax
push esi
call fcn.00426f34
add esp, 0xc
mov edi, eax
call fcn.00404dc2
mov dword [ebp - 0xd0], edi
jmp 0x43f65e
mov eax, dword [edi + 4]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], str.sqlite_temp_master
cmp eax, 1
je 0x44122d
mov dword [ebp - 0xc8], str.sqlite_master
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], esi
mov ecx, dword [edi + 4]
mov dword [ebp - 0xb8], ecx
lea ecx, [ebx + 0x34]
mov dword [ebp - 0xbc], ecx
push dword [edi + 0x10]
mov ecx, dword [esi + 0x10]
push dword [ebp - 0xc8]
add eax, eax
push dword [ecx + eax*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.0040f0f8
add esp, 0x10
mov dword [ebp - 0xc4], eax
test eax, eax
jne 0x44127f
mov dword [ebp - 0xd0], 7
jmp 0x4412d6
xor edi, edi
push edi
lea eax, [ebp - 0xc0]
push eax
mov byte [esi + 0x7d], 1
push fcn.0043d03c
push dword [ebp - 0xc4]
mov dword [ebp - 0xb4], edi
push esi
call fcn.00443337
add esp, 0x14
mov dword [ebp - 0xd0], eax
cmp eax, edi
jne 0x4412bd
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xd0], eax
mov edx, dword [ebp - 0xc4]
mov ecx, esi
call fcn.00401901
mov byte [esi + 0x7d], 0
cmp dword [ebp - 0xd0], edi
je 0x4412dd
mov eax, esi
call fcn.00417686
cmp dword [ebp - 0xd0], 7
je 0x4426b9
jmp case.default.0x43d2c3
mov ecx, dword [edi + 4]
mov eax, dword [ebp - 0xd4]
call fcn.00411703
jmp 0x43ed47
mov ecx, dword [edi + 0x10]
mov edi, dword [edi + 4]
mov esi, dword [ebp - 0xd4]
shl edi, 4
add edi, dword [esi + 0x10]
push 0
call fcn.00401a55
push eax
mov eax, dword [edi + 0xc]
add eax, 8
mov edi, ecx
call fcn.0040992c
push eax
push esi
call fcn.00411aef
add esp, 0x10
or dword [esi + 0x18], 0x200
jmp case.default.0x43d2c3
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xd4]
call fcn.0040ccf1
jmp 0x43d61c
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xd4]
call fcn.0040d621
jmp case.default.0x43d2c3
mov eax, dword [edi + 8]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xcc], eax
lea eax, [eax*4 + 4]
push eax
call fcn.004093cb
pop ecx
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x4426b9
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
xor ecx, ecx
mov dword [ebp - 0xb8], eax
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], ecx
cmp dword [ebp - 0xcc], ecx
jle 0x4413f2
imul ecx, ecx, 0x28
add ecx, esi
call fcn.00405667
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xc4]
inc ecx
mov dword [ebp - 0xc4], ecx
cmp ecx, dword [ebp - 0xcc]
jl 0x4413c4
mov eax, dword [ebp - 0xc8]
and dword [eax + ecx*4], 0
lea eax, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xb8]
push dword [eax + 0x10]
movzx eax, byte [edi + 3]
push dword [ebp - 0xcc]
mov edi, dword [ebp - 0xd4]
mov ecx, dword [edi + 0x10]
push dword [ebp - 0xc8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00427952
mov edx, dword [ebp - 0xc8]
add esp, 0x10
mov ecx, edi
mov dword [ebp - 0xbc], eax
call fcn.00401901
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xb8]
cdq
sub dword [ecx + 0x10], eax
mov edi, esi
sbb dword [ecx + 0x14], edx
call fcn.0040580c
cmp dword [ebp - 0xc0], 0
je 0x44148f
cmp dword [ebp - 0xbc], 0
je 0x4426b9
push 1
push dword [ebp - 0xbc]
mov eax, fcn.004018a3
or ecx, 0xffffffff
mov edx, esi
call fcn.0041623a
pop ecx
pop ecx
movzx eax, byte [ebp - 0xf4]
push eax
mov eax, esi
call fcn.004161a3
jmp 0x43dcde
mov esi, dword [edi + 4]
mov edi, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
test byte [esi + 0x1c], 0x20
mov dword [ebp - 0xe8], edi
jne 0x4414de
mov edi, esi
call fcn.0040b601
test byte [esi + 0x1c], 0x20
je 0x4426b9
mov edi, dword [ebp - 0xe8]
push dword [edi + 0x14]
push dword [edi + 0x10]
mov eax, dword [esi + 0x10]
call fcn.00409e84
jmp 0x43dcdd
mov esi, dword [ebp - 0xd4]
mov eax, dword [esi + 0xe0]
test eax, eax
jne 0x4427e2
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
test byte [esi + 0x1c], 0x20
je 0x441543
mov eax, dword [esi + 0x10]
lea edi, [ebp - 0xcc]
call fcn.00403e54
test eax, eax
je 0x441543
push dword [ebp - 0xc8]
mov eax, dword [ebp - 0xec]
push dword [ebp - 0xcc]
mov esi, dword [eax + 0xc]
jmp 0x43dccf
mov edi, esi
call fcn.0040580c
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 8]
jmp 0x43d310
mov esi, dword [edi + 4]
mov eax, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xcc], ecx
test byte [esi + 0x1c], 0x20
mov dword [ebp - 0xf0], eax
jne 0x4415a8
mov edi, esi
call fcn.0040b601
test byte [esi + 0x1c], 0x20
je 0x4426b9
mov ecx, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xec]
mov eax, dword [ebp - 0xf0]
test ecx, ecx
je 0x4415e6
js 0x4415b3
and ecx, 0xf
jmp 0x4415b8
mov ecx, 0xff
push dword [eax + 0x14]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
push ecx
call fcn.00409ed4
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x43d2de
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xf0]
test ecx, ecx
js case.default.0x43d2c3
push dword [eax + 0x14]
push dword [eax + 0x10]
jmp 0x4414e4
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xb4], ecx
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], eax
cmp byte [edi + 3], 0
je 0x44164b
mov edx, dword [ebx + 0xa8]
mov esi, dword [ecx + 0x14]
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xb8], edx
test edx, edx
je 0x44164b
cmp dword [edx + 0x18], esi
je 0x441643
mov edx, dword [edx + 4]
mov dword [ebp - 0xb8], edx
test edx, edx
jne 0x441631
test edx, edx
jne case.default.0x43d2c3
mov edx, dword [ebx + 0xb0]
mov esi, dword [ebp - 0xd4]
cmp edx, dword [esi + 0x74]
jl 0x441679
push str.too_many_levels_of_trigger_recursion
push esi
lea edi, [ebx + 0x34]
mov dword [ebp - 0xd0], 1
call fcn.00414cd2
jmp 0x43dcdd
test byte [eax + 0x1c], 0x40
jne 0x4417e6
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov dword [ebp - 0xcc], eax
imul eax, eax, 0xa
add eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [ecx + eax*4 + 0x48]
mov dword [ebp - 0xc8], eax
push eax
mov eax, esi
call fcn.0040e516
pop ecx
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x4426bf
push dword [ebp - 0xc4]
call fcn.0040b547
pop ecx
mov ecx, dword [ebp - 0xc4]
push 0x40
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xb8]
mov dword [eax], ebx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0x3c], ecx
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xdc]
mov dword [eax + 0x2c], ecx
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0xc], eax
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x34], eax
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x14], eax
mov ax, word [ebx + 0x2e]
mov ecx, dword [ebp - 0xb8]
mov word [ecx + 0x28], ax
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x18], eax
mov eax, dword [ebx + 0xc0]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx + 0xbc]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x3c]
imul ecx, ecx, 0x28
lea edx, [ecx + eax + 0x48]
lea ecx, [eax + 0x48]
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xc0], ecx
cmp ecx, edx
je 0x4417ef
mov eax, 0x80
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc0]
mov dword [eax], esi
mov ecx, dword [ebp - 0xc0]
add ecx, 0x28
mov dword [ebp - 0xc0], ecx
cmp ecx, dword [ebp - 0xbc]
jne 0x4417b6
mov eax, dword [ebp - 0xb8]
jmp 0x4417ef
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xb8], eax
inc dword [ebx + 0xb0]
mov ecx, dword [ebx + 0xa8]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x100]
mov dword [eax + 0x20], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xfc]
mov dword [eax + 0x24], ecx
mov eax, dword [ebx + 0x68]
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0xb8]
and dword [ebx + 0x68], 0
lea ecx, [eax + 0x20]
mov dword [ebx + 0xa8], eax
mov dword [ebx + 8], ecx
mov edx, dword [eax + 0x3c]
mov dword [ebx + 0x18], edx
mov ax, word [eax + 0x40]
mov word [ebx + 0x2e], ax
mov eax, edx
inc eax
imul eax, eax, 0x28
or dword [ebp - 0xdc], 0xffffffff
add eax, ecx
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0xb4]
mov dword [ebx + 0x40], eax
mov edx, dword [ecx]
mov dword [ebx + 4], edx
mov dword [ebp - 0x110], edx
mov edx, dword [ecx + 4]
mov dword [ebx + 0x1c], edx
movzx edx, word [ebx + 0x2e]
lea eax, [eax + edx*4]
mov dword [ebx + 0xc0], eax
mov ecx, dword [ecx + 0x10]
push ecx
push 0
push eax
mov dword [ebx + 0xbc], ecx
call fcn.00485850
add esp, 0xc
jmp case.default.0x43d2c3
mov ebx, dword [ebx + 0xa8]
mov dword [ebp - 0xcc], ebx
mov eax, dword [ebx + 0x2c]
mov ecx, dword [ebx + 8]
imul eax, eax, 0x14
mov eax, dword [eax + ecx + 4]
add eax, dword [edi + 4]
push 0x1000
imul eax, eax, 0x28
add eax, dword [ebx + 0xc]
mov dword [ebp - 0xc8], eax
push eax
jmp 0x43d60f
cmp dword [edi + 4], 0
mov eax, dword [edi + 8]
cdq
je 0x4418f6
mov ecx, dword [ebp - 0xd4]
add dword [ecx + 0x1e8], eax
adc dword [ecx + 0x1ec], edx
jmp case.default.0x43d2c3
add dword [ebx + 0x90], eax
adc dword [ebx + 0x94], edx
jmp case.default.0x43d2c3
cmp dword [edi + 4], 0
je 0x441924
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x1e8]
or ecx, dword [eax + 0x1ec]
jmp 0x43e7ab
mov eax, dword [ebx + 0x90]
or eax, dword [ebx + 0x94]
jmp 0x43e7ab
mov eax, dword [ebx + 0xa8]
test eax, eax
jne 0x441994
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], esi
call fcn.0040575d
mov esi, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
call fcn.0040575d
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 0xcc]
mov esi, dword [esi + 0x14]
cmp dword [eax + 0x14], esi
jg case.default.0x43d2c3
jl 0x441987
cmp dword [eax + 0x10], ecx
jae case.default.0x43d2c3
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], esi
jmp case.default.0x43d2c3
mov eax, ecx
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x441992
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [eax + 0xc]
jmp 0x44194b
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
imul eax, eax, 0x28
cmp dword [eax + ecx + 0x14], 0
jl case.default.0x43d2c3
jg 0x43d2de
cmp dword [eax + ecx + 0x10], 0
jbe case.default.0x43d2c3
jmp 0x43d2de
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
imul eax, eax, 0x28
cmp dword [eax + ecx + 0x14], 0
jg case.default.0x43d2c3
jl 0x43d2de
cmp dword [eax + ecx + 0x10], 0
jae case.default.0x43d2c3
jmp 0x43d2de
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd8]
cdq
add dword [ecx + 0x10], eax
mov eax, dword [ecx + 0x10]
adc dword [ecx + 0x14], edx
or eax, dword [ecx + 0x14]
jmp 0x43e7ab
movzx ecx, byte [edi + 3]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0xcc], ecx
mov eax, dword [edi + 8]
and dword [ebp - 0xc8], 0
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0xc0], eax
test ecx, ecx
jle 0x441a8e
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0xc8]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0xc0]
call fcn.004060a5
inc dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc8]
add eax, 0x28
mov dword [ebp - 0xc0], eax
cmp ecx, dword [ebp - 0xcc]
jl 0x441a54
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xbc], eax
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
xor esi, esi
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x8c], eax
inc dword [eax + 0x18]
xor eax, eax
inc eax
mov word [ebp - 0x98], ax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x80], esi
test byte [eax + 3], 8
je 0x441b00
mov ecx, dword [edi - 4]
mov dword [ebp - 0x88], ecx
push dword [ebp - 0x7c]
lea ecx, [ebp - 0xbc]
push dword [ebp - 0xcc]
push ecx
call dword [eax + 0x10]
add esp, 0xc
cmp dword [ebp - 0x84], esi
je 0x441b56
push 1
lea esi, [ebp - 0xb4]
call fcn.00416391
push eax
push 0x4aef10
push dword [ebp - 0xd4]
lea edi, [ebx + 0x34]
call fcn.00414cd2
mov eax, dword [ebp - 0x84]
mov edi, dword [ebp - 0xec]
add esp, 0x10
mov dword [ebp - 0xd0], eax
xor esi, esi
cmp dword [ebp - 0x80], esi
je 0x441b7e
mov edi, dword [edi - 0x10]
mov dword [ebp - 0xc8], edi
cmp edi, esi
je 0x441b7e
mov esi, edi
imul esi, esi, 0x28
add esi, dword [ebp - 0xd8]
push 0
push 1
call fcn.0040b5a2
pop ecx
pop ecx
lea eax, [ebp - 0xb4]
push eax
call fcn.0040b547
jmp 0x43dcde
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], ecx
mov eax, dword [edi + 0x10]
call fcn.004055c8
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x441bd5
push dword [ebp - 0xcc]
call fcn.004167f6
push eax
push 0x4aef10
push dword [ebp - 0xd4]
lea edi, [ebx + 0x34]
call fcn.00414cd2
add esp, 0x10
movzx eax, byte [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0xcc]
call fcn.004161a3
pop ecx
mov ecx, dword [ebp - 0xcc]
call fcn.0040584f
jmp 0x43dee6
and dword [ebp - 0xc8], 0
or dword [ebp - 0xc0], 0xffffffff
or dword [ebp - 0xc4], 0xffffffff
mov ebx, dword [ebp - 0xd4]
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xc4]
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.0042b934
add esp, 0x10
mov dword [ebp - 0xd0], eax
cmp eax, 5
jne 0x441c4c
and dword [ebp - 0xd0], 0
mov dword [ebp - 0xc8], 1
and dword [ebp - 0xcc], 0
mov edi, dword [edi + 0xc]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
mov dword [ebp - 0xbc], edi
mov eax, dword [ebp - 0xcc]
mov eax, dword [ebp + eax*4 - 0xc8]
cdq
push edx
push eax
mov esi, edi
call fcn.0040b5a2
mov edi, dword [ebp - 0xbc]
inc dword [ebp - 0xcc]
add edi, 0x28
cmp dword [ebp - 0xcc], 3
pop ecx
pop ecx
mov dword [ebp - 0xbc], edi
jl 0x441c65
jmp 0x43d61c
mov ecx, dword [edi + 0xc]
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], ecx
mov eax, dword [edi + 4]
mov esi, dword [edx + 0x10]
add eax, eax
mov eax, dword [esi + eax*8 + 4]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov dword [ebp - 0xc8], edi
movzx eax, byte [edi + 5]
mov dword [ebp - 0xc0], eax
cmp ecx, 0xffffffff
jne 0x441ce2
mov dword [ebp - 0xc4], eax
cmp byte [edi + 0xf], 3
jae 0x441cfd
mov esi, dword [edi + 0x40]
xor ecx, ecx
cmp dword [esi], ecx
je 0x441d03
cmp dword [edi + 0x4c], ecx
jl 0x441d03
jg 0x441cfd
cmp dword [edi + 0x48], ecx
jbe 0x441d03
mov dword [ebp - 0xc4], eax
cmp byte [edi + 0xe], 0
mov ecx, 0x4bc62e
jne 0x441d14
mov ecx, dword [edi + 0x90]
push 5
pop esi
mov dword [ebp - 0xbc], ecx
cmp dword [ebp - 0xc4], esi
jne 0x441d45
call fcn.00401a55
test eax, eax
je 0x441d39
mov eax, edi
call fcn.0040457f
test eax, eax
jne 0x441d45
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0xc4], eax
je 0x441de7
cmp eax, esi
je 0x441d67
cmp dword [ebp - 0xc4], esi
jne 0x441de7
cmp byte [edx + 0x34], 0
je 0x441e3d
cmp dword [edx + 0x80], 1
jg 0x441e3d
cmp eax, esi
jne 0x441da6
mov eax, edi
call fcn.0042bab7
mov edi, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x441df0
mov ecx, dword [ebp - 0xc4]
call fcn.00428e31
jmp 0x441dc2
cmp eax, 4
jne 0x441db9
push 2
pop ecx
call fcn.00428e31
mov edi, dword [ebp - 0xc8]
cmp dword [ebp - 0xd0], 0
jne 0x441df0
xor eax, eax
cmp dword [ebp - 0xc4], esi
sete al
inc eax
push eax
mov eax, dword [ebp - 0xcc]
call fcn.0042ada0
mov edi, dword [ebp - 0xc8]
pop ecx
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x441dfc
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
call fcn.00428e31
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 8]
imul edx, edx, 0x28
add edx, dword [ebp - 0xd8]
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xe0], edx
cmp eax, 6
jne 0x441e6d
xor ecx, ecx
jmp 0x441e74
mov dword [ebp - 0xd0], 1
mov eax, str.into
cmp dword [ebp - 0xc4], esi
je 0x441e59
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push edx
lea edi, [ebx + 0x34]
call fcn.00414cd2
jmp 0x44189a
mov ecx, dword [eax*4 + 0x4ac31c]
mov dword [edx + 4], ecx
call fcn.00401a55
mov dword [edx + 0x18], eax
movzx eax, byte [ebp - 0xf4]
push eax
mov byte [edx + 0x1f], 1
mov eax, edx
jmp 0x441499
push dword [ebp - 0xd4]
lea eax, [ebx + 0x34]
push eax
call fcn.0043cb96
pop ecx
jmp 0x43ed46
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xcc], eax
call fcn.004296aa
mov dword [ebp - 0xd0], eax
cmp eax, 0x65
jne case.default.0x43d2c3
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xdc], edi
and dword [ebp - 0xd0], 0
jmp case.default.0x43d2c3
cmp dword [edi + 4], 0
jne 0x441eff
mov eax, dword [ebp - 0xd4]
call fcn.00405e43
jmp case.default.0x43d2c3
mov byte [ebx + 0x5f], 1
jmp case.default.0x43d2c3
mov al, byte [edi + 0xc]
test al, al
jne 0x441f22
mov ecx, dword [ebp - 0xd4]
test dword [ecx + 0x18], 0x80000
jne case.default.0x43d2c3
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
mov esi, dword [ecx + 0x10]
mov ecx, dword [edi + 8]
add edx, edx
mov edx, dword [esi + edx*8 + 4]
call fcn.0040b347
mov dword [ebp - 0xd0], eax
cmp al, 6
jne case.default.0x43d2c3
push dword [edi + 0x10]
push str.database_table_is_locked:__s
push dword [ebp - 0xd4]
jmp 0x441e60
mov edi, dword [edi + 0x10]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xcc], edi
call fcn.0040d78c
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
test eax, eax
je case.default.0x43d2c3
mov esi, dword [eax + 8]
mov edi, ebx
call fcn.0040bf95
jmp case.default.0x43d2c3
mov ecx, dword [ebp - 0xd4]
lea eax, [ebx + 0x34]
push eax
push dword [edi + 0x10]
mov eax, dword [edi + 4]
call fcn.0041418a
jmp 0x441ea1
mov ecx, dword [ebp - 0xd4]
mov byte [ebx + 0x62], 2
push dword [edi + 0x10]
mov eax, dword [edi + 4]
call fcn.00407be9
pop ecx
mov dword [ebp - 0xd0], eax
mov byte [ebx + 0x62], 0
jmp case.default.0x43d2c3
and dword [ebp - 0xcc], 0
and dword [ebp - 0xc8], 0
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax]
push edx
push eax
mov dword [ebp - 0xc0], ecx
call dword [ecx + 0x18]
mov esi, dword [ebp - 0xc4]
pop ecx
pop ecx
mov edi, ebx
mov dword [ebp - 0xd0], eax
call fcn.0040bf95
cmp dword [ebp - 0xd0], 0
jne case.default.0x43d2c3
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
mov dword [ecx], eax
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 4]
push 0
push 0xffffffffffffffff
push 0
mov eax, ebx
call fcn.0042ced7
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x442074
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 0x28], eax
jmp case.default.0x43d2c3
mov eax, dword [ebp - 0xd4]
mov byte [eax + 0x36], 1
push dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc0]
call dword [eax + 0x1c]
jmp 0x43dcde
mov eax, dword [edi + 0xc]
mov esi, dword [ebx + 0x40]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], eax
lea edx, [eax + 0x28]
mov dword [ebp - 0xbc], edx
mov ecx, dword [edi + 4]
mov ecx, dword [esi + ecx*4]
mov dword [ebp - 0xb0], ecx
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0xb8], ecx
mov esi, dword [ecx]
mov dword [ebp - 0xb4], esi
mov esi, dword [esi]
mov dword [ebp - 0xc4], esi
mov esi, dword [edx + 0x10]
mov dword [ebp - 0xcc], esi
mov eax, dword [eax + 0x10]
and dword [ebp - 0xac], 0
and dword [ebp - 0xa8], 0
mov dword [ebp - 0xc8], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xa4], eax
test esi, esi
jle 0x44214f
jmp 0x44210a
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xa8]
lea ecx, [eax + 1]
imul ecx, ecx, 0x28
add ecx, edx
mov edx, dword [ebp - 0xa4]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xa4]
mov ecx, dword [ecx + eax*4]
call fcn.004060a5
inc dword [ebp - 0xa8]
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0xcc]
jl 0x442104
mov ecx, dword [ebp - 0xb8]
push dword [ebp - 0xa4]
mov eax, dword [ebp - 0xc4]
push dword [ebp - 0xcc]
mov byte [ebx + 0x62], 1
push dword [edi + 0x10]
push dword [ebp - 0xc8]
push ecx
call dword [eax + 0x20]
mov esi, dword [ebp - 0xb4]
add esp, 0x14
mov edi, ebx
mov dword [ebp - 0xd0], eax
mov byte [ebx + 0x62], 0
call fcn.0040bf95
cmp dword [ebp - 0xd0], 0
jne 0x4421ab
push dword [ebp - 0xb8]
mov eax, dword [ebp - 0xc4]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
je 0x4421c4
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x1c], 0
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov esi, dword [ecx + eax*4]
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], eax
cmp byte [esi + 0x1c], 0
jne 0x43dfd0
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
push 0x40
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xbc]
push 0
push eax
call fcn.00485850
mov ebx, dword [ebp - 0xc4]
lea eax, [ebp - 0xb4]
call fcn.0040b6aa
mov eax, dword [ebp - 0x98]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x98], ax
push dword [edi + 8]
lea eax, [ebp - 0xbc]
push eax
push dword [esi + 0x24]
mov eax, dword [ebp - 0xc8]
call dword [eax + 0x2c]
mov esi, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xe4]
add esp, 0x18
mov dword [ebp - 0xd0], eax
call fcn.0040bf95
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x442281
mov dword [ebp - 0xd0], eax
movzx eax, byte [ebp - 0xf4]
push eax
lea eax, [ebp - 0xb4]
call fcn.004161a3
mov eax, dword [ebp - 0xc4]
pop ecx
lea ebx, [ebp - 0xb4]
call fcn.0040b6aa
mov ecx, dword [ebp - 0xc4]
call fcn.0040584f
mov ebx, edi
jmp 0x43dee6
and dword [ebp - 0xc4], 0
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc0], eax
cmp byte [eax + 0x1c], 0
jne case.default.0x43d2c3
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xc8], ecx
mov byte [ebx + 0x62], 1
push dword [eax + 0x24]
call dword [ecx + 0x24]
mov esi, dword [ebp - 0xcc]
pop ecx
mov edi, ebx
mov dword [ebp - 0xd0], eax
mov byte [ebx + 0x62], 0
call fcn.0040bf95
cmp dword [ebp - 0xd0], 0
jne 0x44232f
mov eax, dword [ebp - 0xc0]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xc8]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
jne case.default.0x43d2c3
jmp 0x44154a
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xcc], eax
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd8]
push 1
mov eax, edi
mov dword [ebp - 0xc8], edi
call fcn.004161a3
pop ecx
mov dword [ebp - 0xd0], eax
test eax, eax
jne case.default.0x43d2c3
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
push dword [edx + 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
mov esi, dword [ebp - 0xcc]
pop ecx
pop ecx
mov edi, ebx
mov dword [ebp - 0xd0], eax
call fcn.0040bf95
mov byte [ebx + 0x5f], 0
jmp case.default.0x43d2c3
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov edx, dword [edi + 8]
mov dword [ebp - 0xc4], edx
cmp dword [eax + 0x34], 0
je case.default.0x43d2c3
mov eax, dword [ebp - 0xd4]
mov al, byte [eax + 0x3a]
mov byte [ebp - 0x101], al
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xb4], eax
mov ecx, dword [edi + 0xc]
and dword [ebp - 0xc0], 0
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xb0], ecx
test edx, edx
jle 0x442443
call fcn.004060a5
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xb4]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xb0]
add ecx, 0x28
inc dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xb0], ecx
cmp eax, dword [ebp - 0xc4]
jl 0x442406
mov al, byte [edi + 3]
mov esi, dword [ebp - 0xd4]
mov byte [esi + 0x3a], al
lea eax, [ebp - 0xbc]
push eax
push dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc8]
push dword [ebp - 0xc4]
push dword [ebp - 0xcc]
call dword [eax + 0x34]
mov dword [ebp - 0xd0], eax
mov al, byte [ebp - 0x101]
mov byte [esi + 0x3a], al
mov esi, dword [ebp - 0xcc]
add esp, 0x10
mov edi, ebx
call fcn.0040bf95
cmp dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0xec]
jne 0x4424d3
cmp dword [ecx + 4], 0
je 0x440891
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xfc], edx
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x100], eax
mov dword [edx + 0x20], eax
mov eax, dword [ebp - 0xb8]
mov dword [edx + 0x24], eax
cmp dword [ebp - 0xd0], 0x13
jne 0x440891
mov eax, dword [ecx + 0x10]
cmp byte [eax + 0x10], 0
je 0x440891
mov al, byte [ecx + 3]
cmp al, 4
je 0x441edd
cmp al, 5
jne 0x442501
push 2
pop eax
jmp 0x442504
movzx eax, al
mov byte [ebx + 0x5c], al
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp - 0xe0]
and dword [eax + 0x14], 0
mov dword [eax + 0x10], ecx
jmp case.default.0x43d2c3
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
mov edi, dword [edi + 0xc]
mov ecx, dword [ecx + 0x10]
and dword [ebp - 0xe8], 0
add eax, eax
mov esi, dword [ecx + eax*8 + 4]
test edi, edi
je 0x44256c
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0xe8], eax
cmp eax, edi
jae 0x44256c
mov dword [ebp - 0xe8], edi
mov eax, esi
call fcn.00404d3a
mov ecx, dword [ebp - 0xe8]
mov eax, dword [esi + 4]
mov eax, dword [eax]
test ecx, ecx
jle 0x442588
mov dword [eax + 0x84], ecx
mov edi, dword [eax + 0x84]
call fcn.00404dc2
mov eax, edi
jmp 0x43d44c
mov eax, dword [ebp - 0xd4]
cmp dword [eax + 0x94], 0
je case.default.0x43d2c3
mov edi, dword [edi + 0x10]
mov ecx, edi
test edi, edi
jne 0x4425bc
mov ecx, dword [ebx + 0xa0]
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je case.default.0x43d2c3
push ebx
call fcn.00416a09
mov esi, dword [ebp - 0xd4]
push eax
mov dword [ebp - 0xc8], eax
push dword [esi + 0x98]
call dword [esi + 0x94]
mov edx, dword [ebp - 0xc8]
add esp, 0xc
mov ecx, esi
call fcn.00401901
jmp case.default.0x43d2c3
mov dword [ebp - 0xd0], 9
jmp 0x43df0d
mov eax, dword [edi + 4]
mov dword [ebx + 0x58], eax
mov al, byte [edi + 8]
mov byte [ebx + 0x5c], al
mov eax, dword [ebp - 0xdc]
mov dword [ebx + 0x54], eax
mov eax, dword [edi + 0x10]
test eax, eax
je 0x442664
push eax
push 0x4aef10
push dword [ebp - 0xd4]
lea edi, [ebx + 0x34]
call fcn.00414cd2
mov eax, dword [ebp - 0xec]
push dword [eax + 0x10]
push dword [ebx + 0xa0]
push dword [ebp - 0xdc]
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.0040f2b4
add esp, 0x20
jmp 0x442686
cmp dword [ebx + 0x58], 0
je 0x442686
push dword [ebx + 0xa0]
push dword [ebp - 0xdc]
push str.constraint_failed_at__d_in___s_
push dword [edi + 4]
call fcn.0040f2b4
add esp, 0x10
mov eax, ebx
call fcn.0042ea89
push 5
pop edi
cmp eax, edi
je 0x4426ed
mov edi, dword [ebx + 0x58]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x43df6d
lea eax, [ebp - 0xbc]
push eax
call fcn.0040b547
pop ecx
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd4]
push 0x4aa720
push esi
lea edi, [ebx + 0x34]
mov byte [esi + 0x36], 1
call fcn.00414cd2
mov dword [ebp - 0xd0], 7
jmp 0x43df0b
mov eax, dword [ebp - 0xdc]
mov dword [ebx + 0x54], eax
mov byte [esi + 0x34], 0
mov dword [ebx + 0x58], edi
jmp 0x43df6d
test edi, edi
je 0x44271a
push 0x204
mov eax, esi
call fcn.0042b88d
pop ecx
mov byte [esi + 0x34], 1
mov esi, dword [ebp - 0xd4]
call fcn.00408899
jmp 0x442694
push 1
mov eax, ebx
call fcn.00416780
mov edi, eax
pop ecx
test edi, edi
jne 0x43df6d
mov al, byte [ebp - 0xcc]
mov byte [esi + 0x34], al
mov eax, ebx
call fcn.0042ea89
push 5
pop edi
cmp eax, edi
jne 0x44270a
mov eax, dword [ebp - 0xdc]
mov dword [ebx + 0x54], eax
mov al, 1
sub al, byte [ebp - 0xcc]
mov byte [esi + 0x34], al
jmp 0x4426ed
mov eax, dword [ebp - 0xdc]
mov dword [ebx + 0x54], eax
jmp 0x4426ed
push 0x10d49
call fcn.0041479f
pop ecx
mov dword [ebp - 0xd0], eax
jmp 0x442795
mov dword [ebp - 0xd0], 0xd
jmp 0x442795
mov dword [ebp - 0xd0], 0xd
mov ebx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
cmp byte [eax + 0x36], 0
je 0x4427ab
mov dword [ebp - 0xd0], 7
cmp dword [ebp - 0xd0], 0xc0a
je 0x43df0d
mov ecx, dword [ebp - 0xd0]
call fcn.0040896d
push eax
push 0x4aef10
push dword [ebp - 0xd4]
lea edi, [ebx + 0x34]
call fcn.00414cd2
add esp, 0xc
jmp 0x43df0d
push 9
pop ecx
mov dword [ebp - 0xd0], ecx
mov dword [ebx + 0x58], ecx
call fcn.0040896d
push eax
push 0x4aef10
push esi
jmp 0x4427d2