Function at 0x442f6f
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2ec
mov eax, dword [0x4b26f0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push edi
mov dword [ebp - 0x114], edi
mov esi, dword [edi]
mov eax, dword [edi + 4]
mov ebx, eax
mov dword [ebp - 0x118], eax
xor eax, eax
mov dword [ebp - 0x17c], eax
mov cl, byte [esi + 0x3e]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0x125], al
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x140], eax
mov eax, dword [esi + 0x20]
mov byte [ebp - 0x11c], cl
mov ecx, dword [edi + 8]
mov dword [ebp - 0x138], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0x134], eax
call fcn.00442f1f
pop ecx
push 7
pop eax
mov dword [ebp - 0x1bc], 0x14
cmp dword [edi + 0x50], eax
je 0x448081
and dword [edi + 0x50], 0
and dword [edi + 0x88], 0
and dword [edi + 0x8c], 0
and dword [edi + 0x14], 0
and dword [esi + 0x1c4], 0
cmp dword [esi + 0xf0], 0
push 9
pop eax
jne 0x448070
cmp dword [esi + 0x124], 0
je 0x443067
mov eax, dword [edi + 0x7c]
test eax, eax
jne 0x443059
mov eax, dword [esi + 0x12c]
mov dword [ebp - 0x130], eax
jmp 0x443067
xor edx, edx
div dword [esi + 0x12c]
mov dword [ebp - 0x130], edx
imul ebx, dword [edi + 0x4c], 0x14
mov dword [ebp - 0x188], 0xbe01
mov dword [ebp - 0x194], 0x10
add ebx, dword [ebp - 0x118]
mov dword [ebp - 0x108], ebx
cmp byte [esi + 0x41], 0
jne 0x448081
mov cl, byte [ebx]
inc dword [ebp - 0x13c]
movzx edx, cl
mov byte [ebp - 0xe9], cl
mov dword [ebp - 0xe8], edx
lea eax, [edx - 1]
cmp eax, 0x9a
ja case.default.0x4430ba
jmp dword [eax*4 + 0x44813f]
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
push 0x14
pop esi
add ecx, dword [ebp - 0xe0]
mov word [ecx + 8], ax
mov eax, ebx
sub eax, dword [ebp - 0x118]
cdq
idiv esi
cdq
mov dword [ecx], eax
jmp 0x4472f7
imul eax, dword [ebx + 4], 0x28
mov ecx, 0x80
add eax, dword [ebp - 0xe0]
imul ebx, dword [eax], 0x14
add ebx, dword [ebp - 0x118]
mov word [eax + 8], cx
jmp case.default.0x4430ba
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
push 4
add ecx, dword [ebp - 0xe0]
dec eax
cdq
mov dword [ecx], eax
pop eax
mov dword [ecx + 4], edx
mov word [ecx + 8], ax
cmp dword [ebx + 8], 0
je case.default.0x4430ba
imul eax, dword [ebx + 8], 0x14
mov ecx, dword [ebp - 0x118]
lea ebx, [ecx - 0x14]
add ebx, eax
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
push 0x14
pop edx
add ebx, edx
mov dword [ebp - 0x108], ebx
test eax, eax
je 0x44308b
jmp 0x4480a0
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x118]
add ecx, dword [ebp - 0xe0]
lea ebx, [edx - 0x14]
imul eax, dword [ecx], 0x14
imul eax, dword [eax + edx + 8], 0x14
add ebx, eax
mov eax, 0x80
mov word [ecx + 8], ax
jmp case.default.0x4430ba
imul esi, dword [ebx + 4], 0x28
sub ebx, dword [ebp - 0x118]
push 4
pop eax
push 0x14
add esi, dword [ebp - 0xe0]
mov word [esi + 8], ax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov ecx, dword [esi]
imul ebx, ecx, 0x14
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebx, dword [ebp - 0x118]
jmp 0x443136
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0xe0]
test byte [eax + ecx + 8], 1
je case.default.0x4430ba
mov eax, ebx
sub eax, dword [ebp - 0x118]
push 0x14
cdq
pop ecx
idiv ecx
xor edx, edx
mov dword [ebp - 0xf8], eax
cmp dword [ebx + 4], edx
jne 0x447e6a
mov ecx, dword [edi + 0xb0]
test ecx, ecx
je 0x447e6a
mov eax, dword [ecx + 4]
dec dword [edi + 0xb8]
mov dword [edi + 0xb0], eax
mov eax, dword [edi + 0x5c]
add dword [esi + 0x54], eax
push ecx
mov dword [esi + 0x50], eax
call fcn.0044873c
pop ecx
mov ecx, dword [esi + 0x20]
mov dword [ebp - 0x138], ecx
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x134], ecx
pop ecx
cmp dword [ebx + 8], ecx
jne 0x44323a
imul ecx, eax, 0x14
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax + 8]
dec eax
mov edx, dword [edi + 4]
mov ecx, dword [edi + 8]
imul ebx, eax, 0x14
mov dword [ebp - 0x118], edx
mov dword [ebp - 0xe0], ecx
add ebx, edx
jmp case.default.0x4430ba
push ebx
push edi
call fcn.00422455
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x4430ba
push ebx
push edi
call fcn.00422455
mov edx, dword [ebx + 0x10]
pop ecx
pop ecx
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
jmp case.default.0x4430ba
push ebx
push edi
call fcn.00422455
pop ecx
pop ecx
push 8
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebx + 0x10]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
jmp case.default.0x4430ba
push ebx
push edi
call fcn.00422455
push dword [ebx + 0x10]
mov edx, eax
mov byte [ebx], 0x1b
mov dword [ebp - 0xe8], edx
call fcn.0044033d
mov dword [ebx + 4], eax
add esp, 0xc
xor eax, eax
inc eax
cmp byte [ebp - 0x11c], al
je 0x443352
xor esi, esi
push esi
push eax
push 0xffffffffffffffff
push dword [ebx + 0x10]
push edx
call fcn.00449aa2
add esp, 0x14
mov dword [ebp - 0xd4], eax
cmp eax, 0x12
je 0x448051
movzx ecx, byte [ebp - 0x11c]
push ecx
push dword [ebp - 0xe8]
call fcn.00442a34
pop ecx
pop ecx
test eax, eax
jne 0x44807b
mov ecx, dword [ebp - 0xe8]
mov eax, 0x800
or word [ecx + 8], ax
mov dword [ecx + 0x18], esi
cmp byte [ebx + 1], 0xff
mov esi, dword [ebp - 0xe4]
jne 0x443342
push dword [ebx + 0x10]
push esi
call fcn.0042ed36
pop ecx
pop ecx
mov ecx, dword [ebp - 0xe8]
mov byte [ebx + 1], 0xff
mov eax, dword [ecx + 0x10]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 0xc]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x58]
jg 0x448057
push ebx
push edi
call fcn.00422455
mov edx, eax
mov eax, 0xa02
pop ecx
pop ecx
mov word [edx + 8], ax
mov ecx, dword [ebx + 0x10]
mov al, byte [ebp - 0x11c]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebx + 4]
mov dword [edx + 0xc], ecx
mov byte [edx + 0xa], al
cmp byte [ebx + 3], 0
je case.default.0x4430ba
imul ecx, dword [ebx + 0xc], 0x28
mov eax, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov eax, dword [ecx + eax]
or eax, dword [ecx + esi + 4]
mov esi, dword [ebp - 0xe4]
je case.default.0x4430ba
mov eax, 0xa10
mov word [edx + 8], ax
jmp case.default.0x4430ba
push ebx
push edi
call fcn.00422455
pop ecx
mov edx, eax
mov dword [ebp - 0xf8], 0x101
mov eax, dword [ebx + 0xc]
sub eax, dword [ebx + 8]
pop ecx
xor ecx, ecx
mov dword [ebp - 0xd8], edx
inc ecx
mov dword [ebp - 0xdc], eax
cmp dword [ebx + 4], 0
cmovne ecx, dword [ebp - 0xf8]
movzx ecx, cx
mov dword [ebp - 0xf8], ecx
mov word [edx + 8], cx
test eax, eax
jle case.default.0x4430ba
mov esi, eax
mov edi, edx
mov ebx, ecx
add edi, 0x28
push edi
call fcn.00449a0a
dec esi
mov word [edi + 8], bx
pop ecx
test esi, esi
jg 0x443412
mov ebx, dword [ebp - 0x108]
mov edi, dword [ebp - 0x114]
jmp 0x443136
imul ecx, dword [ebx + 4], 0x28
mov edx, 0xff7f
add ecx, dword [ebp - 0xe0]
mov ax, word [ecx + 8]
and ax, dx
xor edx, edx
inc edx
or ax, dx
jmp 0x44317c
push ebx
push edi
call fcn.00422455
mov esi, eax
xor eax, eax
push eax
push eax
push dword [ebx + 4]
push dword [ebx + 0x10]
push esi
call fcn.00449aa2
mov al, byte [ebp - 0x11c]
add esp, 0x1c
mov byte [esi + 0xa], al
jmp 0x443136
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [edi + 0x3c]
add ecx, 0xffffffd8
add eax, ecx
push eax
mov dword [ebp - 0xf8], eax
call fcn.00449d10
pop ecx
test eax, eax
jne 0x448057
push ebx
push edi
call fcn.00422455
mov ecx, 0x800
push ecx
push dword [ebp - 0xf8]
push eax
call fcn.00449c37
add esp, 0x14
jmp case.default.0x4430ba
mov eax, dword [ebx + 0xc]
imul ecx, dword [ebx + 4], 0x28
mov dword [ebp - 0xf4], eax
imul eax, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xd8], ecx
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], eax
push ecx
push eax
call fcn.0044989f
mov eax, dword [ebp - 0xe8]
pop ecx
pop ecx
mov ecx, 0x1000
test word [eax + 8], cx
je 0x44351b
push eax
call fcn.0044982b
pop ecx
test eax, eax
jne 0x448081
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xd8]
add eax, 0x28
add ecx, 0x28
mov dword [ebp - 0xe8], eax
dec dword [ebp - 0xf4]
mov dword [ebp - 0xd8], ecx
jne 0x4434ec
jmp case.default.0x4430ba
mov eax, dword [ebx + 0xc]
imul ecx, dword [ebx + 8], 0x28
mov dword [ebp - 0xd8], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xe0]
add ecx, dword [ebp - 0xe0]
mov edx, 0x1000
mov dword [ebp - 0xe8], ecx
push edx
push eax
push ecx
mov dword [ebp - 0xf4], eax
call fcn.00449c37
mov ecx, dword [ebp - 0xe8]
mov eax, 0x1000
add esp, 0xc
test word [ecx + 8], ax
je 0x44359f
push ecx
call fcn.0044982b
pop ecx
test eax, eax
jne 0x448081
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xd8]
mov eax, edx
dec edx
mov dword [ebp - 0xd8], edx
test eax, eax
je case.default.0x4430ba
mov eax, dword [ebp - 0xf4]
add ecx, 0x28
add eax, 0x28
jmp 0x44355d
mov ecx, dword [ebp - 0xe0]
mov eax, 0x1000
push eax
imul eax, dword [ebx + 4], 0x28
add eax, ecx
push eax
imul eax, dword [ebx + 8], 0x28
add eax, ecx
push eax
call fcn.00449c37
add esp, 0xc
jmp case.default.0x4430ba
mov eax, dword [esi + 0x124]
test eax, eax
je 0x443614
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0x130]
jb 0x443614
push dword [esi + 0x128]
call eax
pop ecx
test eax, eax
jne 0x447bcb
push 0
push edi
call fcn.00442bdd
mov dword [ebp - 0xd4], eax
pop ecx
pop ecx
test eax, eax
jne 0x443142
push 1
push edi
call fcn.00442cf0
mov dword [ebp - 0xd4], eax
pop ecx
pop ecx
test eax, eax
jne 0x443142
mov eax, dword [edi + 0x48]
push 2
pop ecx
add eax, ecx
or eax, 1
mov dword [edi + 0x48], eax
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xe0]
mov dword [edi + 0x14], esi
cmp dword [ebx + 8], 0
jle 0x44369b
mov eax, 0x1000
test word [esi + 8], ax
je 0x44367f
push esi
call fcn.0044982b
pop ecx
test eax, eax
jne 0x44807b
push esi
call fcn.004498c7
mov eax, dword [ebp - 0x17c]
add esi, 0x28
inc eax
pop ecx
mov dword [ebp - 0x17c], eax
cmp eax, dword [ebx + 8]
jl 0x443665
mov esi, dword [ebp - 0xe4]
cmp byte [esi + 0x41], 0
jne 0x448081
sub ebx, dword [ebp - 0x118]
push 0x14
mov eax, ebx
pop ecx
cdq
idiv ecx
push 0x64
inc eax
mov dword [edi + 0x4c], eax
pop esi
jmp 0x448101
imul eax, dword [ebx + 4], 0x28
imul edx, dword [ebx + 8], 0x28
imul ecx, dword [ebx + 0xc], 0x28
mov edi, dword [ebp - 0x114]
add eax, dword [ebp - 0xe0]
add edx, dword [ebp - 0xe0]
add ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], eax
movzx eax, word [eax + 8]
mov dword [ebp - 0xd8], eax
mov al, byte [edx + 8]
or al, byte [ebp - 0xd8]
mov dword [ebp - 0x100], edx
mov dword [ebp - 0x10c], ecx
test al, 1
je 0x44371e
push ecx
call fcn.00449a0a
pop ecx
jmp case.default.0x4430ba
mov ecx, 0x4000
test dword [ebp - 0xd8], ecx
je 0x443745
mov eax, dword [ebp - 0xe8]
push eax
call fcn.00449515
mov edx, dword [ebp - 0x100]
pop ecx
mov ecx, 0x4000
jmp 0x443747
xor eax, eax
test eax, eax
jne 0x448081
test word [edx + 8], cx
je 0x44375e
push edx
call fcn.00449515
pop ecx
jmp 0x443760
xor eax, eax
test eax, eax
jne 0x448081
mov eax, dword [ebp - 0xe8]
test byte [eax + 8], 0x12
jne 0x44378d
push 0
push dword [ebp - 0x11c]
push eax
call fcn.00449c82
add esp, 0xc
test eax, eax
jne 0x448081
mov eax, dword [ebp - 0x100]
test byte [eax + 8], 0x12
jne 0x4437b2
push 0
push dword [ebp - 0x11c]
push eax
call fcn.00449c82
add esp, 0xc
test eax, eax
jne 0x448081
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x100]
mov eax, dword [eax + 0xc]
add eax, dword [ecx + 0xc]
cdq
mov dword [ebp - 0xf0], eax
mov ecx, edx
mov eax, dword [esi + 0x58]
cdq
cmp ecx, edx
jg 0x448057
mov edx, dword [ebp - 0xf0]
jl 0x4437e9
cmp edx, eax
ja 0x448057
mov ecx, dword [ebp - 0x10c]
xor eax, eax
cmp ecx, dword [ebp - 0x100]
sete al
push eax
lea eax, [edx + 2]
push eax
push ecx
call fcn.0044969f
add esp, 0xc
test eax, eax
jne 0x448081
mov ecx, dword [ebp - 0x10c]
mov edx, 0xbe02
push 2
mov ax, word [ecx + 8]
and ax, dx
pop edx
or ax, dx
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x100]
cmp ecx, eax
je 0x44384d
push dword [eax + 0xc]
push dword [eax + 0x10]
push dword [ecx + 0x10]
call fcn.00463680
mov ecx, dword [ebp - 0x10c]
add esp, 0xc
mov eax, dword [ebp - 0xe8]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x100]
add eax, dword [ecx + 0xc]
push eax
call fcn.00463680
mov ecx, dword [ebp - 0x10c]
add esp, 0xc
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + 0x10]
mov byte [edx + eax], 0
mov eax, dword [ecx + 0x10]
mov byte [eax + edx + 1], 0
mov eax, 0x200
or word [ecx + 8], ax
mov al, byte [ebp - 0x11c]
mov dword [ecx + 0xc], edx
mov byte [ecx + 0xa], al
jmp case.default.0x4430ba
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xe0]
push eax
mov dword [ebp - 0x100], eax
call fcn.00421e9e
movzx eax, ax
mov dword [ebp - 0xd8], eax
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0xe0]
push eax
mov dword [ebp - 0xf0], eax
call fcn.00421e9e
movzx edx, ax
imul eax, dword [ebx + 0xc], 0x28
pop ecx
pop ecx
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0x108], edx
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0xf0]
mov al, byte [eax + 8]
or al, byte [ecx + 8]
test al, 1
jne 0x443ba4
mov al, dl
and al, byte [ebp - 0xd8]
push 4
pop edx
test dl, al
je 0x443a30
mov eax, ecx
mov byte [ebp - 0xe9], 1
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xf0]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x144], eax
movzx eax, byte [ebx]
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0x148], edi
mov edi, dword [ebp - 0x114]
sub eax, 0x59
je 0x4439f0
dec eax
je 0x4439e0
dec eax
je 0x4439d0
dec eax
mov eax, ecx
je 0x443999
or eax, edx
je 0x443ba4
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x443984
xor ecx, ecx
inc ecx
xor edx, edx
push edx
push ecx
push dword [ebp - 0x10c]
push dword [ebp - 0xe8]
call fcn.00468c00
jmp 0x443a11
or eax, edx
je 0x443ba4
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0xe8]
jne 0x4439c0
test eax, eax
jne 0x4439c0
cmp dword [ebp - 0x10c], 0x80000000
je 0x443a39
push edx
push ecx
push dword [ebp - 0x10c]
push eax
call fcn.00468a30
jmp 0x443a11
push edx
push ecx
lea eax, [ebp - 0x148]
push eax
call fcn.00437da9
jmp 0x4439fe
push edx
push ecx
lea eax, [ebp - 0x148]
push eax
call fcn.0044035f
jmp 0x4439fe
push edx
push ecx
lea eax, [ebp - 0x148]
push eax
call fcn.00428f4a
add esp, 0xc
test eax, eax
jne 0x443a39
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x104]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, 0xbe04
mov ax, word [ecx + 8]
push 4
and ax, dx
pop edx
jmp 0x44344f
mov byte [ebp - 0xe9], 0
jmp 0x443a3f
mov ecx, dword [ebp - 0x100]
push ecx
call fcn.0044a1d9
push dword [ebp - 0xf0]
fstp qword [ebp - 0xfc]
call fcn.0044a1d9
movzx eax, byte [ebx]
pop ecx
fstp qword [ebp - 0x124]
pop ecx
sub eax, 0x59
je 0x443b35
dec eax
je 0x443b23
dec eax
je 0x443b11
movsd xmm0, qword [ebp - 0xfc]
dec eax
je 0x443af1
call fcn.0046908f
movsd xmm0, qword [ebp - 0x124]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xdc], edx
call fcn.0046908f
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf8]
mov ecx, eax
mov dword [ebp - 0xf4], edx
mov edx, dword [ebp - 0xdc]
or ecx, edx
je 0x443ba4
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
jne 0x443ad1
xor eax, eax
inc eax
xor edx, edx
push edx
push eax
push dword [ebp - 0xf4]
push dword [ebp - 0x110]
call fcn.00468c00
mov ecx, eax
call fcn.0046922f
movapd xmm1, xmm0
jmp 0x443b45
ucomisd xmm0, qword [0x483c48]
lahf
test ah, 0x44
jnp 0x443ba4
movsd xmm1, qword [ebp - 0x124]
divsd xmm1, xmm0
jmp 0x443b45
movsd xmm1, qword [ebp - 0x124]
mulsd xmm1, qword [ebp - 0xfc]
jmp 0x443b45
movsd xmm1, qword [ebp - 0x124]
subsd xmm1, qword [ebp - 0xfc]
jmp 0x443b45
movsd xmm1, qword [ebp - 0x124]
addsd xmm1, qword [ebp - 0xfc]
push ecx
push ecx
movsd qword [esp], xmm1
call fcn.00436cdc
add esp, 8
test eax, eax
jne 0x443ba4
mov ecx, dword [ebp - 0x104]
mov edx, 0xbe08
push 8
mov ax, word [ecx + 8]
and ax, dx
movsd qword [ecx], xmm1
pop edx
or ax, dx
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x108]
or al, byte [ebp - 0xd8]
test dl, al
jne case.default.0x4430ba
cmp byte [ebp - 0xe9], 0
jne case.default.0x4430ba
push ecx
call fcn.00448d07
jmp 0x443718
mov ecx, dword [ebp - 0x104]
jmp 0x443712
mov eax, dword [ebx + 4]
test eax, eax
je case.default.0x4430ba
imul eax, eax, 0x28
push 0
push 0
add eax, dword [ebp - 0xe0]
push eax
call fcn.004499d4
jmp 0x4435e3
movzx eax, byte [ebx + 3]
xor edx, edx
imul ecx, dword [ebx + 0xc], 0x28
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x10c], eax
imul eax, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0xd8], edx
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xe8], edx
jle 0x443c7c
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x10c]
mov dword [esi + edx*4], eax
mov esi, 0x1000
test word [eax + 8], si
mov esi, dword [ebp - 0xe4]
je 0x443c5c
push eax
call fcn.0044982b
pop ecx
test eax, eax
jne 0x448081
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe8]
inc edx
add eax, 0x28
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xf4], eax
cmp edx, ecx
jl 0x443c21
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x110], ecx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x1b4], eax
mov eax, ebx
sub eax, dword [ebp - 0x118]
cdq
idiv dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x110]
push dword [ebp - 0x10c]
mov dword [ebp - 0x1a8], eax
push dword [ebp - 0xe8]
mov dword [ebp - 0xf8], eax
mov eax, 0xbe01
mov dword [ebp - 0x1ac], edi
mov cx, word [ecx + 8]
and cx, ax
xor eax, eax
inc eax
or cx, ax
mov eax, dword [ebp - 0x138]
mov word [edx + 8], cx
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x134]
mov dword [esi + 0x24], eax
lea eax, [ebp - 0x1b8]
push eax
mov eax, dword [ebp - 0x1b4]
mov byte [ebp - 0x19f], 0
call dword [eax + 0xc]
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [ebp - 0x19f], 0
mov dword [ebp - 0x138], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x134], eax
je 0x443d5a
cmp dword [ebp - 0x1a4], 0
je 0x443d48
push dword [ebp - 0x1b8]
call fcn.0040b5dd
push eax
push 0x483f6c
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0043f6e6
mov eax, dword [ebp - 0x1a4]
add esp, 0x14
mov dword [ebp - 0xd4], eax
push dword [ebx + 4]
push dword [ebp - 0xf8]
push edi
call fcn.00442e8a
add esp, 0xc
movzx eax, byte [ebp - 0x11c]
push eax
push dword [ebp - 0x1b8]
call fcn.00442a34
push dword [ebp - 0x1b8]
call fcn.00449d10
add esp, 0xc
test eax, eax
jne 0x448057
jmp case.default.0x4430ba
imul edx, dword [ebx + 8], 0x28
imul ecx, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
mov edi, dword [ebp - 0x114]
add edx, dword [ebp - 0xe0]
add ecx, dword [ebp - 0xe0]
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xd8], eax
mov al, byte [edx + 8]
or al, byte [ecx + 8]
mov dword [ebp - 0xf8], ecx
test al, 1
je 0x443dce
mov edx, dword [ebp - 0xd8]
push edx
jmp 0x443713
push edx
call fcn.00448ca5
push dword [ebp - 0xf8]
mov dword [ebp - 0x108], eax
mov dword [ebp - 0xf0], edx
call fcn.00448ca5
pop ecx
pop ecx
mov cl, byte [ebx]
mov dword [ebp - 0x104], eax
mov byte [ebp - 0xe9], cl
cmp cl, 0x55
jne 0x443e15
mov ecx, dword [ebp - 0x108]
and ecx, eax
mov eax, dword [ebp - 0xf0]
and eax, edx
jmp 0x443f58
cmp cl, 0x56
jne 0x443e2f
mov ecx, dword [ebp - 0x108]
or ecx, eax
mov eax, dword [ebp - 0xf0]
or eax, edx
jmp 0x443f58
or eax, edx
je 0x443f4c
xor ecx, ecx
cmp edx, ecx
jg 0x443e84
jl 0x443e49
mov eax, dword [ebp - 0x104]
cmp eax, ecx
jae 0x443e8a
mov al, 0xaf
sub al, byte [ebp - 0xe9]
mov byte [ebp - 0xe9], al
cmp edx, 0xffffffff
jl 0x443e77
mov eax, dword [ebp - 0x104]
jg 0x443e69
cmp eax, 0xffffffc0
jbe 0x443e77
neg eax
mov dword [ebp - 0x104], eax
adc edx, ecx
neg edx
jmp 0x443e8a
push 0x40
pop eax
mov dword [ebp - 0x104], eax
mov edx, ecx
jmp 0x443e8a
mov eax, dword [ebp - 0x104]
cmp edx, ecx
jl 0x443ec5
jg 0x443e97
push 0x40
pop edx
cmp eax, edx
jb 0x443ec5
cmp dword [ebp - 0xf0], ecx
jg 0x443eb5
jl 0x443ea9
cmp dword [ebp - 0x108], ecx
jae 0x443eb5
cmp byte [ebp - 0xe9], 0x57
je 0x443eb5
or ecx, 0xffffffff
mov eax, ecx
cdq
mov dword [ebp - 0x108], eax
mov eax, edx
jmp 0x443f52
cmp byte [ebp - 0xe9], 0x57
mov eax, dword [ebp - 0x108]
mov edx, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x104]
jne 0x443eeb
call fcn.00468cc0
mov ecx, eax
mov eax, edx
jmp 0x443f44
call fcn.00468e70
mov dword [ebp - 0xe8], eax
xor eax, eax
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 0xf0], eax
jg 0x443f38
jl 0x443f10
cmp dword [ebp - 0x108], eax
jae 0x443f38
push 0x40
pop eax
mov ecx, eax
or edx, 0xffffffff
sub ecx, dword [ebp - 0x104]
or eax, 0xffffffff
call fcn.00468cc0
mov ecx, dword [ebp - 0xe8]
or ecx, eax
mov eax, dword [ebp - 0x10c]
or eax, edx
jmp 0x443f44
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x108], ecx
jmp 0x443f52
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0xd8]
push 4
mov dword [edx + 4], eax
mov ax, word [edx + 8]
mov dword [edx], ecx
mov ecx, 0xbe04
and ax, cx
pop ecx
or ax, cx
jmp 0x4433b9
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xe0]
push esi
call fcn.004497ff
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
pop ecx
adc dword [esi + 4], edx
jmp 0x443136
imul ecx, dword [ebx + 4], 0x28
push 4
pop edx
add ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xf8], ecx
movzx eax, word [ecx + 8]
test dl, al
jne 0x443fe8
push dword [ebp - 0x11c]
push 0x43
push ecx
call fcn.0041389d
mov ecx, dword [ebp - 0xf8]
add esp, 0xc
movzx eax, word [ecx + 8]
push 4
pop edx
test dl, al
jne 0x443fe8
cmp dword [ebx + 8], 0
jne 0x443127
push 0x14
pop eax
jmp 0x447fff
and eax, 0xbe04
or eax, edx
jmp 0x44317c
imul eax, dword [ebx + 4], 0x28
push 4
pop ecx
add eax, dword [ebp - 0xe0]
test byte [eax + 8], cl
je case.default.0x4430ba
push eax
call fcn.00449959
jmp 0x443718
imul eax, dword [ebx + 4], 0x28
mov ecx, 0x4000
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf8], eax
test word [eax + 8], cx
je 0x44403f
push eax
call fcn.00449515
pop ecx
mov dword [ebp - 0xd4], eax
jmp 0x444046
and dword [ebp - 0xd4], 0
push dword [ebp - 0x11c]
movzx eax, byte [ebx + 8]
push eax
push dword [ebp - 0xf8]
call fcn.004493da
jmp 0x4435e3
imul eax, dword [ebx + 4], 0x28
imul edx, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xe0]
add edx, dword [ebp - 0xe0]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x104], edx
movzx ecx, word [eax + 8]
mov eax, ecx
mov dword [ebp - 0xf0], eax
movzx eax, word [edx + 8]
mov dword [ebp - 0x108], eax
or al, cl
test al, 1
mov al, byte [ebx + 3]
je 0x4440ec
mov ecx, 0x80
test cl, al
je 0x4440d3
xor ecx, ecx
inc ecx
test byte [ebp - 0xf0], cl
je 0x4440cc
mov eax, dword [ebp - 0x108]
test cl, al
je 0x4440cc
test eax, 0x100
jne 0x4440cc
xor edx, edx
jmp 0x444236
mov edx, ecx
jmp 0x444236
test al, 0x20
je 0x4440e5
imul ecx, dword [ebx + 8], 0x28
mov edx, 0xbe01
jmp 0x44343f
test al, 0x10
jmp 0x443125
and al, 0x47
cmp al, 0x43
jl 0x444130
push 2
and cl, 0xe
pop eax
cmp cl, al
jne 0x444111
push 0
push dword [ebp - 0x100]
call fcn.004138ff
mov edx, dword [ebp - 0x104]
pop ecx
pop ecx
mov al, byte [edx + 8]
push 2
and al, 0xe
pop ecx
cmp al, cl
jne 0x4441ce
push 0
push edx
call fcn.004138ff
pop ecx
pop ecx
jmp 0x4441ce
cmp al, 0x42
jne 0x4441ce
push 2
pop eax
test al, cl
jne 0x444186
test cl, 0xc
je 0x444186
push 1
push dword [ebp - 0x11c]
push dword [ebp - 0x100]
call fcn.00449c82
mov ecx, dword [ebp - 0x100]
mov edx, 0x1ff
add esp, 0xc
mov ax, word [ecx + 8]
xor ax, word [ebp - 0xf0]
and ax, dx
mov edx, dword [ebp - 0x104]
xor ax, word [ecx + 8]
movzx eax, ax
mov dword [ebp - 0xf0], eax
movzx eax, word [edx + 8]
push 2
pop ecx
test cl, al
jne 0x4441ce
test al, 0xc
je 0x4441ce
push 1
push dword [ebp - 0x11c]
push edx
call fcn.00449c82
mov ecx, dword [ebp - 0x104]
add esp, 0xc
mov edx, dword [ebp - 0x108]
mov ax, word [ecx + 8]
xor ax, dx
mov edx, 0x1ff
and ax, dx
xor ax, word [ecx + 8]
movzx eax, ax
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x100]
mov ecx, 0x4000
test word [eax + 8], cx
je 0x4441f5
push eax
call fcn.00449515
and dword [ebp - 0xf0], 0xbfff
pop ecx
mov ecx, 0x4000
mov eax, dword [ebp - 0x104]
test word [eax + 8], cx
je 0x444218
push eax
call fcn.00449515
and dword [ebp - 0x108], 0xbfff
mov eax, dword [ebp - 0x104]
pop ecx
cmp byte [esi + 0x41], 0
jne 0x448081
push dword [ebx + 0x10]
push dword [ebp - 0x100]
push eax
call fcn.00437b7c
add esp, 0xc
mov edx, eax
movzx ecx, byte [ebx]
xor eax, eax
sub ecx, 0x4e
je 0x44426f
dec ecx
je 0x444268
dec ecx
je 0x444261
dec ecx
je 0x44425a
dec ecx
je 0x444253
test edx, edx
setns al
jmp 0x444274
test edx, edx
sets al
jmp 0x444274
test edx, edx
setle al
jmp 0x444274
test edx, edx
setg al
jmp 0x444274
test edx, edx
sete al
jmp 0x444274
test edx, edx
setne al
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0xf0]
mov word [ecx + 8], dx
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0x108]
mov word [ecx + 8], dx
test byte [ebx + 3], 0x20
je 0x446647
imul esi, dword [ebx + 8], 0x28
mov edx, 0xbe04
push 4
add esi, dword [ebp - 0xe0]
mov cx, word [esi + 8]
and cx, dx
pop edx
or cx, dx
mov word [esi + 8], cx
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x443136
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x140], ecx
jmp case.default.0x4430ba
test byte [ebx + 3], 1
mov eax, dword [ebp - 0x140]
mov edx, dword [ebx + 0xc]
push 0
pop ecx
cmove eax, ecx
mov dword [ebp - 0x110], edx
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xdc], ecx
xor ecx, ecx
mov dword [ebp - 0x140], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xd8], ecx
test edx, edx
jle 0x4443bb
add eax, 0x14
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x444339
mov edx, dword [eax + ecx*4]
jmp 0x44433b
mov edx, ecx
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x10]
movzx eax, byte [eax + ecx]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0xe8]
push dword [eax]
mov eax, dword [ebp - 0xdc]
add eax, edx
imul eax, eax, 0x28
add eax, ecx
push eax
mov eax, dword [ebp - 0xf4]
add eax, edx
imul eax, eax, 0x28
add eax, ecx
push eax
call fcn.00437b7c
add esp, 0xc
mov dword [ebp - 0x164], eax
test eax, eax
jne 0x4443aa
mov ecx, dword [ebp - 0xd8]
push 4
inc ecx
pop eax
add dword [ebp - 0xe8], eax
mov dword [ebp - 0xd8], ecx
cmp ecx, dword [ebp - 0x110]
jl 0x44432a
jmp 0x4443bb
cmp dword [ebp - 0x10c], 0
je 0x4443bb
neg eax
mov dword [ebp - 0x164], eax
and dword [ebp - 0x140], 0
jmp case.default.0x4430ba
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x118]
test eax, eax
jns 0x4443e5
imul eax, dword [ebx + 4], 0x14
lea ebx, [ecx - 0x14]
add ebx, eax
jmp case.default.0x4430ba
jne 0x4443ed
imul eax, dword [ebx + 8], 0x14
jmp 0x4443db
imul eax, dword [ebx + 0xc], 0x14
jmp 0x4443db
imul eax, dword [ebx + 4], 0x28
xor edx, edx
inc edx
add eax, dword [ebp - 0xe0]
test byte [eax + 8], dl
je 0x444410
push 2
pop ecx
mov dword [ebp - 0xe8], ecx
jmp 0x444433
push eax
call fcn.00448ca5
or eax, edx
pop ecx
push 2
pop ecx
je 0x444429
xor edx, edx
inc edx
mov dword [ebp - 0xe8], edx
jmp 0x444433
and dword [ebp - 0xe8], 0
xor edx, edx
inc edx
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0xe0]
test byte [eax + 8], dl
jne 0x444459
push eax
call fcn.00448ca5
or eax, edx
pop ecx
je 0x444454
xor edx, edx
inc edx
mov ecx, edx
jmp 0x444459
xor edx, edx
xor ecx, ecx
inc edx
imul eax, dword [ebp - 0xe8], 3
cmp byte [ebx], 0x48
jne 0x44446f
movzx eax, byte [eax + ecx + 0x486c7c]
jmp 0x444477
movzx eax, byte [eax + ecx + 0x486c88]
imul ecx, dword [ebx + 0xc], 0x28
mov edi, dword [ebp - 0x114]
add ecx, dword [ebp - 0xe0]
cmp eax, 2
jne 0x44449c
mov ax, word [ecx + 8]
and ax, word [ebp - 0x188]
jmp 0x44344f
cdq
jmp 0x443a17
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf8], eax
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0xe0]
push eax
mov dword [ebp - 0xd8], eax
call fcn.00449a0a
pop ecx
mov ecx, dword [ebp - 0xf8]
test byte [ecx + 8], 1
jne case.default.0x4430ba
mov eax, dword [ebp - 0xd8]
push 4
pop edx
push ecx
mov word [eax + 8], dx
call fcn.00448ca5
or eax, edx
pop ecx
jne 0x4444f4
inc eax
jmp 0x4444f6
xor eax, eax
cdq
mov ecx, dword [ebp - 0xd8]
jmp 0x443265
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf8], eax
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0xe0]
push eax
mov dword [ebp - 0xd8], eax
call fcn.00449a0a
pop ecx
mov ecx, dword [ebp - 0xf8]
test byte [ecx + 8], 1
jne case.default.0x4430ba
mov eax, dword [ebp - 0xd8]
push 4
pop edx
push ecx
mov word [eax + 8], dx
call fcn.00448ca5
pop ecx
not eax
not edx
jmp 0x4444f7
mov eax, dword [edi + 0xc8]
mov ecx, dword [ebx + 4]
cmp byte [eax + ecx], 0
jne 0x443127
mov byte [eax + ecx], 1
jmp case.default.0x4430ba
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xe0]
test byte [eax + 8], 1
je 0x444584
mov ecx, dword [ebx + 0xc]
jmp 0x4445b8
push eax
call fcn.0044a1d9
fstp qword [ebp - 0x154]
movsd xmm0, qword [ebp - 0x154]
ucomisd xmm0, qword [0x483c48]
pop ecx
lahf
xor ecx, ecx
test ah, 0x44
jnp 0x4445aa
inc ecx
cmp byte [ebx], 0x2e
jne 0x4445b8
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
test ecx, ecx
jmp 0x443125
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xe0]
test byte [eax + ecx + 8], 1
jmp 0x443125
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xe0]
test byte [eax + ecx + 8], 1
je 0x443127
jmp case.default.0x4430ba
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
imul edx, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x100], eax
mov eax, dword [edi + 0x38]
add edx, dword [ebp - 0xe0]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x108], edx
cmp byte [esi + 0x1a], 0
mov eax, dword [esi + 0x50]
mov ecx, dword [esi]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xf0], ecx
je 0x444641
push esi
call fcn.0041f184
mov edx, dword [ebp - 0x108]
pop ecx
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xd4], eax
jmp 0x44465b
test ecx, ecx
je 0x444653
cmp byte [ecx + 0x49], 1
je 0x444653
push esi
call fcn.0041f1c9
jmp 0x44462c
xor eax, eax
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x447ff1
mov eax, dword [esi + 0x3c]
cmp eax, dword [edi + 0x48]
je 0x4447d9
cmp byte [esi + 0x19], 0
je 0x4446af
test ecx, ecx
jne 0x44469d
imul eax, dword [esi + 0x10], 0x28
add eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], ecx
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xe8], ecx
mov dword [esi + 0x4c], eax
jmp 0x444752
push edx
call fcn.00449a0a
pop ecx
mov ecx, dword [ebp - 0x108]
jmp 0x444b04
push 4
pop eax
test byte [esi + 0x1c], al
jne 0x4446f9
lea eax, [ebp - 0x1f0]
push eax
push ecx
call fcn.0042c16c
mov edx, dword [ebp - 0xf0]
pop ecx
pop ecx
movsx eax, word [edx + 0x4c]
mov ecx, dword [edx + 0x20]
mov eax, dword [edx + eax*4 + 0x78]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0xf0]
sub edx, ecx
movzx eax, word [eax + 0x28]
cmp eax, edx
mov dword [esi + 0x4c], ecx
cmovb edx, eax
mov eax, dword [ebp - 0x1f0]
mov dword [esi + 0x40], eax
jmp 0x44472e
push ecx
call fcn.0041edf3
mov edx, dword [ebp - 0xf0]
pop ecx
mov eax, dword [edx + 0x24]
mov dword [esi + 0x40], eax
movsx eax, word [edx + 0x4c]
mov ecx, dword [edx + 0x20]
mov eax, dword [edx + eax*4 + 0x78]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0xf0]
sub edx, ecx
movzx eax, word [eax + 0x28]
cmp eax, edx
mov dword [esi + 0x4c], ecx
cmovb edx, eax
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0xe8], edx
cmp ecx, edx
ja 0x444740
mov dword [esi + 0x44], ecx
jmp 0x444743
mov dword [esi + 0x44], edx
mov eax, dword [ebp - 0xe4]
cmp ecx, dword [eax + 0x58]
ja 0x44804d
mov ecx, dword [esi + 0x4c]
mov edx, 0x80
mov eax, dword [edi + 0x48]
mov dword [esi + 0x3c], eax
mov al, byte [ecx]
cmp al, dl
jae 0x444774
movzx ecx, al
xor eax, eax
mov dword [ebp - 0x15c], ecx
inc eax
jmp 0x44478c
lea eax, [ebp - 0x15c]
push eax
push ecx
call fcn.00435573
pop ecx
pop ecx
mov ecx, dword [ebp - 0x15c]
movzx eax, al
mov edx, dword [ebp - 0x104]
movzx eax, al
mov dword [esi + 0x48], eax
xor eax, eax
mov word [esi + 0x16], ax
mov dword [edx], ecx
cmp ecx, 0x18003
ja 0x4447bd
cmp ecx, dword [esi + 0x40]
ja 0x4447bd
cmp dword [ebp - 0xe8], ecx
jae 0x4447ef
and dword [esi + 0x4c], eax
and dword [esi + 0x44], eax
jmp 0x4447ef
push 0x121ab
call fcn.0042dd8f
pop ecx
mov dword [ebp - 0xd4], eax
mov esi, dword [ebp - 0xe4]
jmp 0x443142
movzx eax, word [esi + 0x16]
cmp eax, dword [ebp - 0x100]
jg 0x4449e8
mov edx, dword [ebp - 0x104]
mov eax, dword [esi + 0x48]
cmp eax, dword [edx]
jae 0x4449ad
mov eax, dword [esi + 0x4c]
mov dword [ebp - 0xf4], eax
test eax, eax
jne 0x444853
push 0xa
pop ecx
lea edi, [ebp - 0x2ec]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2ec]
push eax
mov eax, dword [esi + 0x1c]
shr eax, 2
not eax
and eax, 1
push eax
push dword [edx]
push 0
push dword [ebp - 0xf0]
call fcn.004495e0
add esp, 0x14
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x447e5f
mov edi, dword [ebp - 0x2dc]
mov dword [ebp - 0xf4], edi
jmp 0x444859
mov edi, dword [ebp - 0xf4]
movzx edx, word [esi + 0x16]
mov eax, dword [ebp - 0x104]
mov ecx, dword [esi + 0x48]
add ecx, edi
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0x10c], ecx
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x104]
mov eax, dword [eax]
add eax, edi
lea edi, [edx + 0x15]
lea edi, [esi + edi*4]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x110], edi
mov al, byte [ecx]
cmp al, 0x80
jae 0x4448ab
movzx eax, al
inc ecx
mov dword [ebp - 0x158], eax
jmp 0x4448d1
lea eax, [ebp - 0x158]
push eax
push ecx
call fcn.00435573
mov edx, dword [ebp - 0xdc]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10c]
movzx eax, al
add ecx, eax
mov eax, dword [ebp - 0x158]
push eax
mov dword [ebp - 0x10c], ecx
mov dword [edi], eax
call fcn.0044aa63
mov edi, dword [ebp - 0xe8]
add esp, 4
add edi, eax
mov dword [ebp - 0xe8], edi
cmp edi, eax
mov dword [ebp - 0x15c], edi
mov edi, dword [ebp - 0x114]
jb 0x444940
mov edi, dword [ebp - 0x104]
inc edx
push 4
pop eax
add dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xe8]
mov dword [edi + edx*4], eax
mov edi, dword [ebp - 0x114]
mov dword [ebp - 0xdc], edx
cmp edx, dword [ebp - 0x100]
jg 0x44494d
cmp ecx, dword [ebp - 0xd8]
jae 0x44494d
mov edi, dword [ebp - 0x110]
jmp 0x444899
mov ecx, dword [ebp - 0xd8]
inc ecx
mov dword [ebp - 0x10c], ecx
mov eax, ecx
mov word [esi + 0x16], dx
sub eax, dword [ebp - 0xf4]
cmp dword [esi + 0x4c], 0
mov dword [esi + 0x48], eax
jne 0x44497f
lea eax, [ebp - 0x2ec]
push eax
call fcn.00449982
xor eax, eax
pop ecx
mov ecx, dword [ebp - 0x10c]
inc eax
mov word [ebp - 0x2e4], ax
mov eax, dword [ebp - 0xd8]
cmp ecx, eax
jb 0x444998
ja 0x4449a3
mov eax, dword [ebp - 0xe8]
cmp eax, dword [esi + 0x40]
jne 0x4449a3
jmp 0x44499e
mov eax, dword [ebp - 0xe8]
cmp eax, dword [esi + 0x40]
jbe 0x4449ad
push 0x12201
jmp 0x4447c2
movzx eax, word [esi + 0x16]
cmp eax, dword [ebp - 0x100]
jg 0x4449e8
cmp byte [ebx + 1], 0xf8
jne 0x4449dc
mov eax, 0x800
push eax
push dword [ebx + 0x10]
mov eax, dword [ebp - 0x108]
push eax
call fcn.00449c37
add esp, 0xc
jmp 0x4446a4
mov eax, dword [ebp - 0x108]
push eax
jmp 0x44469e
mov edx, dword [ebp - 0x108]
mov eax, 0x2460
test word [edx + 8], ax
je 0x444a00
push edx
call fcn.00449a0a
pop ecx
mov eax, dword [ebp - 0x100]
mov edi, dword [ebp - 0x104]
mov edx, dword [ebp - 0x100]
mov ecx, dword [esi + eax*4 + 0x54]
mov eax, dword [esi + 0x44]
cmp eax, dword [edi + edx*4 + 4]
mov edi, dword [ebp - 0x114]
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0x158], ecx
jb 0x444a4d
mov eax, dword [esi + 0x4c]
push edx
mov edx, dword [ebp - 0x100]
push ecx
mov ecx, dword [ebp - 0x104]
add eax, dword [ecx + edx*4]
jmp 0x444a85
mov al, byte [ebx + 3]
test al, 0xc0
je 0x444a62
cmp ecx, 0xc
jb 0x444a5e
test cl, 1
je 0x444a75
test al, al
js 0x444a75
push ecx
call fcn.0044aa63
add esp, 4
mov dword [ebp - 0xf8], eax
test eax, eax
jne 0x444a96
push edx
xor edx, edx
lea eax, [ebp - 0x1f0]
cmp ecx, 0xd
push ecx
cmova eax, edx
push eax
call fcn.0044a7c1
mov ecx, dword [ebp - 0x108]
add esp, 0xc
jmp 0x444afb
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 0x100]
shr eax, 2
push edx
not eax
and eax, 1
push eax
mov eax, dword [ebp - 0x104]
push dword [ebp - 0xf8]
push dword [eax + ecx*4]
push dword [ebp - 0xf0]
call fcn.004495e0
add esp, 0x14
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4447ce
mov eax, dword [ebp - 0x108]
push eax
push dword [ebp - 0xdc]
push dword [eax + 0x10]
call fcn.0044a7c1
mov ecx, dword [ebp - 0x108]
mov eax, 0xefff
add esp, 0xc
and word [ecx + 8], ax
mov al, byte [ebp - 0x11c]
mov byte [ecx + 0xa], al
movzx esi, word [ecx + 8]
mov eax, 0x1000
test eax, esi
je 0x443136
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x443136
mov eax, dword [ecx + 0xc]
and esi, 0x12
mov dword [ebp - 0xdc], eax
add eax, 2
push eax
push ecx
call fcn.00449479
pop ecx
pop ecx
test eax, eax
jne 0x44807b
push dword [ebp - 0xdc]
mov eax, dword [ebp - 0x108]
push dword [ebp - 0xf8]
push dword [eax + 0x10]
call fcn.00463680
mov ecx, dword [ebp - 0x108]
add esp, 0xc
mov edx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0x10]
mov byte [edx + eax], 0
mov eax, dword [ecx + 0x10]
mov byte [edx + eax + 1], 0
mov eax, 0x200
or esi, eax
mov word [ecx + 8], si
jmp 0x443136
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xdc], ecx
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf8], eax
mov al, byte [ecx]
mov byte [ebp - 0x180], al
test al, al
je case.default.0x4430ba
mov edi, dword [ebp - 0xf8]
mov esi, ecx
push dword [ebp - 0x11c]
inc esi
push dword [ebp - 0x180]
push edi
call fcn.0041389d
mov al, byte [esi]
add esp, 0xc
add edi, 0x28
mov byte [ebp - 0x180], al
test al, al
jne 0x444bbf
jmp 0x44342b
imul edx, dword [ebx + 4], 0x28
xor eax, eax
mov ecx, dword [ebx + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0x104], eax
imul eax, dword [ebx + 8], 0x28
movlpd qword [ebp - 0x154], xmm0
add edx, dword [ebp - 0xe0]
movlpd qword [ebp - 0x16c], xmm0
mov dword [ebp - 0xf8], ecx
add eax, 0xffffffd8
mov dword [ebp - 0xe8], edx
add eax, edx
mov dword [ebp - 0x110], eax
movzx eax, byte [edi + 0x57]
mov dword [ebp - 0xd8], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf4], eax
test ecx, ecx
je 0x444c6a
mov bl, byte [ecx]
mov esi, edx
mov edi, ecx
push dword [ebp - 0x11c]
push ebx
push esi
call fcn.0041389d
add esp, 0xc
add esi, 0x28
inc edi
mov bl, byte [edi]
test bl, bl
jne 0x444c50
mov eax, dword [ebp - 0x154]
mov ebx, dword [ebp - 0x110]
mov edi, dword [ebp - 0x150]
mov esi, dword [ebp - 0xe8]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x10c], eax
push dword [ebp - 0xd8]
push ebx
call fcn.0044a98e
push eax
mov dword [ebp - 0xf8], eax
mov dword [ebx + 0x1c], eax
call fcn.0044aa63
mov ecx, 0x4000
mov dword [ebp - 0xdc], eax
add esp, 0xc
test word [ebx + 8], cx
je 0x444cff
mov ecx, dword [ebp - 0x100]
or ecx, edi
je 0x444ce8
push ebx
call fcn.00449515
mov eax, dword [ebp - 0xdc]
pop ecx
jmp 0x444cff
mov eax, dword [ebx]
cdq
add dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0xdc]
adc dword [ebp - 0xf0], edx
sub eax, dword [ebx]
cdq
add dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf8]
adc edi, edx
cmp eax, 0x7f
ja 0x444d18
xor ecx, ecx
inc ecx
jmp 0x444d24
push 0
push eax
call fcn.004427da
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x104]
sub ebx, 0x28
add eax, ecx
mov dword [ebp - 0x104], eax
cmp ebx, esi
jae 0x444ca0
mov ebx, dword [ebp - 0x108]
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xd8], edi
mov edi, dword [ebp - 0x114]
cmp eax, 0x7e
jle 0x444d8d
cdq
push edx
push eax
call fcn.004427da
mov esi, eax
mov eax, dword [ebp - 0x104]
add eax, esi
mov dword [ebp - 0x104], eax
cdq
push edx
push eax
call fcn.004427da
add esp, 0x10
cmp esi, eax
mov eax, dword [ebp - 0x104]
mov esi, dword [ebp - 0xe4]
jge 0x444d94
inc eax
mov dword [ebp - 0x104], eax
cdq
mov ecx, edx
mov dword [ebp - 0xdc], eax
mov edx, dword [ebp - 0x100]
add edx, eax
mov dword [ebp - 0xf8], ecx
mov eax, dword [ebp - 0xd8]
adc eax, ecx
mov dword [ebp - 0x100], edx
mov ecx, edx
add ecx, dword [ebp - 0x10c]
adc eax, dword [ebp - 0xf0]
mov dword [ebp - 0xd8], eax
mov eax, dword [esi + 0x58]
cdq
cmp dword [ebp - 0xd8], edx
jg 0x448057
jl 0x444de7
cmp ecx, eax
ja 0x448057
push dword [ebp - 0x100]
push dword [ebp - 0xf4]
call fcn.00449479
pop ecx
pop ecx
test eax, eax
jne 0x448081
mov eax, dword [ebp - 0xf4]
mov ecx, 0x80
mov ebx, dword [ebp - 0x104]
mov edi, dword [eax + 0x10]
cmp ebx, ecx
jae 0x444e21
xor eax, eax
mov byte [edi], bl
inc eax
jmp 0x444e3b
push dword [ebp - 0xf8]
push dword [ebp - 0xdc]
push edi
call fcn.0043cbcb
add esp, 0xc
mov ecx, 0x80
movzx esi, al
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0xf8], eax
cmp eax, ecx
jae 0x444e59
mov byte [esi + edi], al
xor eax, eax
inc eax
jmp 0x444e68
push 0
push eax
lea eax, [esi + edi]
push eax
call fcn.0043cbcb
add esp, 0xc
push dword [ebp - 0xf8]
movzx eax, al
push dword [ebp - 0xe8]
add esi, eax
lea eax, [ebx + edi]
push eax
call fcn.0044a931
add ebx, eax
add esp, 0xc
mov eax, dword [ebp - 0xe8]
mov ecx, 0x80
add eax, 0x28
mov dword [ebp - 0xe8], eax
cmp eax, dword [ebp - 0x110]
jbe 0x444e44
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0x10c]
mov ebx, dword [ebp - 0x108]
mov edi, dword [ebp - 0x114]
mov esi, dword [ebp - 0xe4]
mov dword [ecx + 0xc], eax
push 0x10
pop eax
mov word [ecx + 8], ax
mov eax, edx
or eax, dword [ebp - 0xf0]
je 0x444ee6
mov eax, 0x4010
mov dword [ecx], edx
mov word [ecx + 8], ax
mov byte [ecx + 0xa], 1
jmp case.default.0x4430ba
mov ecx, dword [ebx + 4]
xorps xmm0, xmm0
mov eax, dword [edi + 0x38]
movlpd qword [ebp - 0x16c], xmm0
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x16c]
push ecx
push dword [eax]
call fcn.0042b75f
push ebx
push edi
mov dword [ebp - 0xd4], eax
call fcn.00422455
mov ecx, dword [ebp - 0x16c]
add esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0x168]
jmp 0x443282
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0xd8], eax
test ecx, ecx
jne 0x445025
cmp dword [esi + 0x9c], ecx
jle 0x444f60
push str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x4450a4
push eax
call fcn.0044033d
mov ecx, dword [esi + 0x1f4]
add ecx, dword [esi + 0x1f0]
push ecx
push 0
push esi
mov dword [ebp - 0xdc], eax
call fcn.0044b8cd
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x447fff
mov eax, dword [ebp - 0xdc]
add eax, 0x21
push 0
push eax
push esi
call fcn.0042ed86
add esp, 0xc
mov dword [ebp - 0xf8], eax
test eax, eax
je case.default.0x4430ba
mov ecx, dword [ebp - 0xdc]
lea edx, [eax + 0x20]
inc ecx
mov dword [eax], edx
push ecx
push dword [ebp - 0xd8]
push edx
call fcn.00463680
add esp, 0xc
cmp byte [esi + 0x3f], 0
je 0x444fe1
mov byte [esi + 0x3f], 0
mov byte [esi + 0x46], 1
jmp 0x444fe7
inc dword [esi + 0x1f0]
mov ecx, dword [ebp - 0xf8]
mov eax, dword [esi + 0x1e8]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x1f8]
mov dword [esi + 0x1e8], ecx
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x1fc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x200]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x204]
mov dword [ecx + 0x14], eax
jmp case.default.0x4430ba
mov eax, dword [esi + 0x1e8]
and dword [ebp - 0xf0], 0
mov dword [ebp - 0x100], eax
test eax, eax
je 0x44531a
mov esi, dword [ebp - 0xd8]
mov edi, eax
mov ebx, dword [ebp - 0xf0]
push esi
push dword [edi]
call fcn.00410e4f
pop ecx
pop ecx
test eax, eax
je 0x445064
mov edi, dword [edi + 0x18]
inc ebx
test edi, edi
jne 0x44504e
mov esi, dword [ebp - 0xe4]
test edi, edi
mov dword [ebp - 0xf0], ebx
mov ebx, dword [ebp - 0x108]
mov dword [ebp - 0x100], edi
mov edi, dword [ebp - 0x114]
je 0x44531a
mov edx, dword [ebp - 0x104]
xor ecx, ecx
cmp dword [esi + 0x9c], ecx
jle 0x4450b8
cmp edx, 1
jne 0x4450b8
push str.cannot_release_savepoint___SQL_statements_in_progress
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0043f6e6
add esp, 0xc
push 5
jmp 0x445552
mov eax, dword [ebp - 0x100]
cmp dword [eax + 0x18], ecx
jne 0x445116
cmp byte [esi + 0x46], cl
je 0x445116
xor eax, eax
inc eax
mov dword [ebp - 0xd8], eax
cmp edx, eax
jne 0x44511c
push eax
push edi
call fcn.00442bdd
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x448101
mov esi, dword [ebp - 0xe4]
push edi
mov byte [esi + 0x3f], 1
call fcn.00448882
pop ecx
push 5
pop ecx
cmp eax, ecx
je 0x447f29
mov byte [esi + 0x46], 0
mov eax, dword [edi + 0x50]
mov dword [ebp - 0xd4], eax
jmp 0x44523a
mov dword [ebp - 0xd8], ecx
mov eax, dword [esi + 0x1f0]
sub eax, dword [ebp - 0xf0]
dec eax
mov dword [ebp - 0xf0], eax
cmp edx, 2
jne 0x4452b4
mov eax, dword [esi + 0x18]
shr eax, 1
and eax, 1
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0x110], eax
cmp dword [esi + 0x14], ecx
jle 0x4451b8
xor edx, edx
mov dword [ebp - 0xf4], ecx
test eax, eax
sete dl
mov dword [ebp - 0xf8], edx
mov eax, dword [esi + 0x10]
push edx
push 0x204
push dword [ecx + eax + 4]
call fcn.0042d01b
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x447fff
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xf4]
inc eax
push 0x10
pop edx
add ecx, edx
mov dword [ebp - 0xdc], eax
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0xf4], ecx
cmp eax, dword [esi + 0x14]
jl 0x445164
mov edx, dword [ebp - 0x104]
xor ecx, ecx
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xdc], ecx
cmp dword [esi + 0x14], ecx
jle 0x44521d
mov dword [ebp - 0xf4], ecx
push eax
mov eax, dword [esi + 0x10]
push edx
push dword [ecx + eax + 4]
call fcn.0042cd73
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x447fff
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xf4]
inc eax
push 0x10
pop edx
add ecx, edx
mov dword [ebp - 0xdc], eax
cmp eax, dword [esi + 0x14]
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xf4], ecx
jl 0x4451cf
cmp dword [ebp - 0x110], 0
je 0x44523a
push esi
call fcn.0043040b
push esi
call fcn.0043d26c
pop ecx
pop ecx
push 2
pop eax
or dword [esi + 0x18], eax
mov ecx, dword [ebp - 0x100]
cmp dword [esi + 0x1e8], ecx
je 0x44527c
mov edi, ecx
mov ecx, dword [esi + 0x1e8]
push ecx
push esi
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x1e8], eax
call fcn.0042ed36
dec dword [esi + 0x1f0]
pop ecx
pop ecx
cmp dword [esi + 0x1e8], edi
jne 0x44524a
mov edi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0x104]
cmp edx, 1
jne 0x4452bf
mov eax, dword [ecx + 0x18]
push ecx
push esi
mov dword [esi + 0x1e8], eax
call fcn.0042ed36
cmp dword [ebp - 0xd8], 0
pop ecx
pop ecx
jne case.default.0x4430ba
dec dword [esi + 0x1f0]
mov edx, dword [ebp - 0x104]
jmp 0x4452f7
mov dword [ebp - 0x110], ecx
jmp 0x4451be
cmp dword [ebp - 0xd8], 0
mov eax, dword [ecx + 8]
mov dword [esi + 0x1f8], eax
mov eax, dword [ecx + 0xc]
mov dword [esi + 0x1fc], eax
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x200], eax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x204], eax
je 0x4452f7
push 2
pop eax
cmp edx, eax
jne case.default.0x4430ba
push dword [ebp - 0xf0]
push edx
push esi
call fcn.0044b8cd
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x447fff
jmp 0x443142
push dword [ebp - 0xd8]
lea eax, [edi + 0x2c]
push str.no_such_savepoint:__s
push esi
push eax
call fcn.0043f6e6
add esp, 0x10
jmp 0x44539c
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov dword [ebp - 0xf8], ecx
test ecx, ecx
je 0x445360
cmp byte [esi + 0x3f], 0
jne 0x445360
test edx, edx
jne 0x445360
cmp dword [esi + 0x9c], edx
jle 0x445360
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x4450a4
movzx eax, byte [esi + 0x3f]
cmp ecx, eax
jne 0x447f48
xor edx, edx
mov eax, str.cannot_commit___no_transaction_is_active
test ecx, ecx
mov ecx, str.cannot_rollback___no_transaction_is_active
sete dl
cmp dword [ebx + 8], 0
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmove eax, ecx
push eax
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0043f6e6
add esp, 0xc
xor eax, eax
inc eax
mov dword [ebp - 0xd4], eax
jmp 0x443142
cmp dword [ebx + 8], 0
je 0x4453bd
test dword [esi + 0x18], 0x2000000
jne 0x447fc9
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x4454ed
push dword [ebx + 8]
push eax
call fcn.0042b1f2
pop ecx
pop ecx
push 5
pop ecx
mov dword [ebp - 0xd4], eax
cmp eax, ecx
je 0x447fd0
test eax, eax
jne 0x447fff
xor ecx, ecx
cmp dword [ebx + 8], ecx
je 0x4454bf
test byte [edi + 0x58], 0x20
je 0x4454bf
cmp byte [esi + 0x3f], cl
je 0x445422
cmp dword [esi + 0x98], 1
jle 0x4454bf
cmp dword [edi + 0x68], ecx
jne 0x44543c
mov eax, dword [esi + 0x1f0]
inc dword [esi + 0x1f4]
add eax, dword [esi + 0x1f4]
mov dword [edi + 0x68], eax
mov eax, dword [edi + 0x68]
dec eax
push eax
push ecx
push esi
call fcn.0044b8cd
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x44548f
mov eax, dword [ebp - 0xd8]
mov esi, dword [edi + 0x68]
push eax
mov edi, dword [eax + 4]
call fcn.0042badd
push esi
push dword [edi]
call fcn.0043915d
push dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
call fcn.0042c1dd
mov edi, dword [ebp - 0x114]
add esp, 0x10
mov esi, dword [ebp - 0xe4]
mov eax, dword [esi + 0x1f8]
mov dword [edi + 0x98], eax
mov eax, dword [esi + 0x1fc]
mov dword [edi + 0x9c], eax
mov eax, dword [esi + 0x200]
mov dword [edi + 0xa0], eax
mov eax, dword [esi + 0x204]
mov dword [edi + 0xa4], eax
lea eax, [ebp - 0x160]
push eax
push 1
push dword [ebp - 0xd8]
call fcn.0042bb7a
mov ecx, dword [ebx + 4]
add esp, 0xc
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x160]
jmp 0x4454f7
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x160], eax
cmp byte [ebx + 3], 0
je case.default.0x4430ba
cmp eax, dword [ebx + 0xc]
jne 0x44550f
cmp ecx, dword [ebx + 0x10]
je case.default.0x4430ba
push dword [edi + 0x2c]
push esi
call fcn.0042ed36
push str.database_schema_has_changed
push esi
call fcn.0042efa1
mov dword [edi + 0x2c], eax
add esp, 0x10
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [ebp - 0x160]
cmp dword [eax], ecx
je 0x44554a
push dword [ebx + 4]
push esi
call fcn.0043d2c0
pop ecx
pop ecx
push 8
pop eax
or dword [edi + 0x58], eax
push 0x11
pop eax
jmp 0x44539f
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0x198]
push eax
mov eax, dword [esi + 0x10]
add ecx, ecx
push dword [ebx + 0xc]
push dword [eax + ecx*8 + 4]
call fcn.0042bb7a
push ebx
push edi
call fcn.00422455
mov ecx, eax
add esp, 0x14
mov eax, dword [ebp - 0x198]
jmp 0x443264
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [ebp - 0xd8], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xe0]
push eax
mov dword [ebp - 0xf4], eax
call fcn.004497ff
mov eax, dword [ebp - 0xf4]
push dword [eax]
mov eax, dword [ebp - 0xd8]
push dword [ebx + 8]
push dword [eax + 4]
call fcn.0042d0d1
add esp, 0x10
mov dword [ebp - 0xd4], eax
xor edx, edx
inc edx
push 2
cmp dword [ebx + 8], edx
jne 0x4455f4
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax]
mov dword [ecx], eax
pop eax
or dword [esi + 0x18], eax
jmp 0x44560e
pop ecx
cmp dword [ebx + 8], ecx
jne 0x445614
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xf4]
mov al, byte [eax]
mov byte [ecx + 0x4c], al
mov eax, dword [ebp - 0xd4]
cmp dword [ebx + 4], edx
jne 0x443142
push esi
call fcn.0043040b
add esp, 4
and dword [edi + 0x58], 0xfffffff7
jmp case.default.0x4430ba
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x445648
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 8]
je 0x445784
mov cl, byte [ebp - 0xe9]
mov esi, dword [ebp - 0xe4]
test byte [edi + 0x58], 8
je 0x445664
mov eax, 0x204
jmp 0x44539f
mov eax, dword [ebx + 0xc]
and dword [ebp - 0xf8], 0
and dword [ebp - 0xd8], 0
mov edx, dword [ebx + 8]
mov dword [ebp - 0x110], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [ebp - 0xdc], edx
mov esi, dword [eax + 4]
mov dword [ebp - 0xe8], esi
cmp cl, 0x37
jne 0x4456b2
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xf4], 1
mov al, byte [eax + 0x4c]
cmp al, byte [edi + 0x57]
jae 0x4456b9
mov byte [edi + 0x57], al
jmp 0x4456b9
and dword [ebp - 0xf4], 0
push 4
pop eax
test byte [ebx + 3], al
je 0x4456e4
imul esi, edx, 0x28
add esi, dword [ebp - 0xe0]
push esi
call fcn.004497ff
mov edx, dword [esi]
pop ecx
push 2
pop eax
mov dword [ebp - 0xdc], edx
cmp edx, eax
jl 0x447fe6
mov al, byte [ebx + 1]
cmp al, 0xfa
jne 0x445700
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xd8], eax
movzx ecx, word [eax + 8]
movzx eax, word [eax + 6]
add ecx, eax
jmp 0x44570f
cmp al, 0xf2
jne 0x445709
mov ecx, dword [ebx + 0x10]
jmp 0x44570f
mov ecx, dword [ebp - 0xf8]
push 1
push dword [ebp - 0x110]
push ecx
push dword [ebx + 4]
push edi
call fcn.00412c82
mov esi, eax
add esp, 0x14
test esi, esi
je 0x44807b
push 8
pop eax
push dword [esi]
or dword [esi + 0x1c], eax
push dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
push dword [ebp - 0xf4]
mov byte [esi + 0x19], 1
push eax
push dword [ebp - 0xe8]
mov dword [esi + 0x20], eax
call fcn.0042b88d
mov dword [ebp - 0xd4], eax
add esp, 0x14
mov eax, dword [ebp - 0xd8]
mov dword [esi + 8], eax
xor eax, eax
cmp byte [ebx + 1], 0xfa
push 4
setne al
shl eax, 2
xor eax, dword [esi + 0x1c]
pop ecx
and eax, ecx
xor dword [esi + 0x1c], eax
mov cl, byte [ebx + 3]
mov eax, dword [esi]
and cl, 3
mov byte [eax + 0x4a], cl
jmp 0x443136
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
push dword [ebx + 4]
push edi
call fcn.00412c82
mov esi, eax
add esp, 0x14
test esi, esi
je 0x44807b
xor eax, eax
lea ecx, [esi + 4]
inc eax
or dword [esi + 0x1c], eax
mov byte [esi + 0x19], al
movzx eax, byte [ebx + 3]
push 0x41e
or eax, 5
push eax
mov eax, dword [ebp - 0xe4]
push ecx
push eax
push 0
push dword [eax]
call fcn.0042c646
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x445880
push 1
push dword [esi + 4]
call fcn.0042b1f2
mov dword [ebp - 0xd4], eax
pop ecx
pop ecx
test eax, eax
jne 0x445880
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x445860
movzx eax, byte [ebx + 3]
push 2
pop ecx
or eax, ecx
push eax
lea eax, [ebp - 0x184]
push eax
push dword [esi + 4]
call fcn.0042b861
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x44585a
push dword [esi]
mov eax, dword [ebp - 0xf8]
push eax
push 1
push dword [ebp - 0x184]
mov dword [esi + 8], eax
push dword [esi + 4]
call fcn.0042b88d
add esp, 0x14
mov dword [ebp - 0xd4], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x445880
push dword [esi]
xor eax, eax
push 0
inc eax
push eax
push eax
push dword [esi + 4]
call fcn.0042b88d
add esp, 0x14
mov dword [ebp - 0xd4], eax
push 4
pop eax
or dword [esi + 0x1c], eax
xor eax, eax
cmp byte [ebx + 3], 8
push 8
setne al
shl eax, 3
xor eax, dword [esi + 0x1c]
pop ecx
and eax, ecx
xor dword [esi + 0x1c], eax
jmp 0x443136
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
push dword [ebx + 4]
push edi
call fcn.00412c82
add esp, 0x14
test eax, eax
je 0x448081
mov ecx, dword [ebx + 0x10]
push eax
mov dword [eax + 8], ecx
push dword [ebx + 0xc]
push esi
call fcn.0044ac07
add esp, 0xc
jmp 0x44539f
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x28]
mov ecx, edi
mov esi, dword [edx + 0x2c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x28], ecx
adc eax, 0
or edi, esi
mov dword [edx + 0x2c], eax
mov edi, dword [ebp - 0x114]
je 0x443127
jmp 0x443136
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
push dword [ebx + 4]
push edi
call fcn.00412c82
add esp, 0x14
test eax, eax
je 0x448081
mov byte [eax + 0x19], 1
mov ecx, dword [ebx + 8]
push 4
mov dword [eax + 0x10], ecx
pop ecx
or dword [eax + 0x1c], ecx
jmp case.default.0x4430ba
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
push dword [eax + ecx*4]
push edi
call fcn.004487a6
mov eax, dword [edi + 0x38]
pop ecx
pop ecx
mov ecx, dword [ebx + 4]
and dword [eax + ecx*4], 0
jmp case.default.0x4430ba
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
push 4
mov eax, dword [eax + ecx*4]
pop ecx
mov dword [ebp - 0x10c], eax
mov byte [eax + 0x19], 0
test byte [eax + 0x1c], cl
je 0x445a62
imul ecx, dword [ebx + 0xc], 0x28
push 2
pop edx
add ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xd8], ecx
mov al, byte [ecx + 8]
and al, 0xe
cmp al, dl
jne 0x44599c
push 0
push ecx
call fcn.004138ff
pop ecx
pop ecx
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.00448ca5
pop ecx
mov ecx, dword [ebp - 0xd8]
push 4
mov dword [ebp - 0xf4], edx
pop edx
movzx ecx, word [ecx + 8]
mov dword [ebp - 0xdc], eax
test dl, cl
jne 0x445a0a
test cl, 8
je 0x443127
mov edx, dword [ebp - 0xf4]
mov ecx, eax
call fcn.0046922f
mov eax, dword [ebp - 0xd8]
movsd xmm1, qword [eax]
comisd xmm0, xmm1
jbe 0x4459f3
mov eax, dword [ebp - 0xe8]
test al, 1
je 0x445a0a
dec eax
jmp 0x445a04
comisd xmm1, xmm0
jbe 0x445a0a
mov eax, dword [ebp - 0xe8]
test al, 1
jne 0x445a0a
inc eax
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0x12c]
push eax
xor eax, eax
push eax
push dword [ebp - 0xf4]
push dword [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0x10c]
push dword [eax]
call fcn.0042c27a
mov ecx, dword [ebp - 0x10c]
add esp, 0x18
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xdc]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0xf4]
mov dword [ecx + 0x34], eax
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x447fff
jmp 0x445ae2
mov eax, dword [eax + 8]
mov ecx, 0x4000
mov dword [ebp - 0x230], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x22c], ax
mov eax, edx
and al, 1
neg al
sbb al, al
and al, 0xfe
inc al
mov byte [ebp - 0x22a], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0x228], eax
test word [eax + 8], cx
je 0x445aaa
push eax
call fcn.00449515
pop ecx
lea eax, [ebp - 0x12c]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0x230]
push eax
mov eax, dword [ebp - 0x10c]
push dword [eax]
call fcn.0042c27a
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x447fff
mov ecx, dword [ebp - 0x10c]
and dword [ecx + 0x3c], 0
mov eax, dword [ebp - 0xe8]
push 0x40
pop edx
mov byte [ecx + 0x1a], 0
cmp eax, edx
mov edx, dword [ebp - 0x12c]
jl 0x445b2b
test edx, edx
js 0x445b14
jne 0x445b08
cmp eax, 0x41
je 0x445b14
and dword [ebp - 0x12c], 0
jmp case.default.0x4430ba
and dword [ebp - 0x12c], 0
lea eax, [ebp - 0x12c]
push eax
push dword [ecx]
call fcn.0042c5db
jmp 0x445b64
test edx, edx
jg 0x445b4f
jne 0x445b36
cmp eax, 0x3e
je 0x445b4f
mov eax, dword [ecx]
xor ecx, ecx
cmp byte [eax + 0x49], 1
mov eax, dword [ebp - 0xd4]
setne cl
mov dword [ebp - 0x12c], ecx
jmp 0x445b74
and dword [ebp - 0x12c], 0
lea eax, [ebp - 0x12c]
push eax
push dword [ecx]
call fcn.0042cc17
mov dword [ebp - 0xd4], eax
pop ecx
pop ecx
test eax, eax
jne 0x447fff
cmp dword [ebp - 0x12c], 0
jne 0x443127
jmp 0x443142
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov byte [esi + 0x19], 0
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0xe0]
push eax
call fcn.00448ca5
pop ecx
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 1
jmp 0x443136
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
and dword [ebp - 0x110], 0
mov eax, dword [eax + ecx*4]
imul ecx, dword [ebx + 0xc], 0x28
mov dword [ebp - 0xf4], eax
add ecx, dword [ebp - 0xe0]
cmp dword [ebx + 0x10], 0
mov dword [ebp - 0xdc], ecx
jle 0x445c56
mov eax, dword [eax + 8]
mov dx, word [ebx + 0x10]
and dword [ebp - 0xf8], 0
mov dword [ebp - 0x21c], eax
xor eax, eax
mov word [ebp - 0x218], dx
mov dword [ebp - 0x214], ecx
cmp ax, dx
jae 0x445c4e
mov esi, dword [ebp - 0xf8]
xor edi, edi
mov ebx, 0x4000
lea eax, [edi + ecx]
test word [eax + 8], bx
je 0x445c31
push eax
call fcn.00449515
mov dx, word [ebp - 0x218]
pop ecx
mov ecx, dword [ebp - 0x214]
inc esi
movzx eax, dx
add edi, 0x28
cmp esi, eax
jl 0x445c14
mov ebx, dword [ebp - 0x108]
mov edi, dword [ebp - 0x114]
mov esi, dword [ebp - 0xe4]
lea ecx, [ebp - 0x21c]
jmp 0x445cc3
lea ecx, [ebp - 0x110]
push ecx
push 0xbf
lea ecx, [ebp - 0xc4]
push ecx
push dword [eax + 8]
call fcn.004429d4
add esp, 0x10
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x448081
mov eax, dword [ebp - 0xdc]
mov ecx, 0x4000
test word [eax + 8], cx
je 0x445ca0
push eax
call fcn.00449515
mov eax, dword [ebp - 0xdc]
pop ecx
push dword [ebp - 0xd8]
push dword [eax + 0x10]
push dword [eax + 0xc]
mov eax, dword [ebp - 0xf4]
push dword [eax + 8]
call fcn.0044a5d9
mov ecx, dword [ebp - 0xd8]
add esp, 0x10
xor eax, eax
mov byte [ecx + 6], al
cmp byte [ebx], 0x43
mov dword [ebp - 0xdc], eax
jne 0x445d13
movzx edx, word [ecx + 4]
mov dword [ebp - 0xd8], eax
test edx, edx
jle 0x445d13
mov edx, dword [ecx + 8]
add edx, 8
test byte [edx], 1
jne 0x445d09
movzx edi, word [ecx + 4]
add edx, 0x28
inc dword [ebp - 0xd8]
cmp dword [ebp - 0xd8], edi
mov edi, dword [ebp - 0x114]
jl 0x445ce7
jmp 0x445d13
mov dword [ebp - 0xdc], 1
lea edx, [ebp - 0x190]
push edx
push eax
push eax
push eax
mov eax, dword [ebp - 0xf4]
push ecx
push dword [eax]
call fcn.0042c27a
push dword [ebp - 0x110]
mov dword [ebp - 0xd4], eax
push esi
call fcn.0042ed36
mov eax, dword [ebp - 0xd4]
add esp, 0x20
test eax, eax
jne 0x443142
mov edx, dword [ebp - 0xf4]
xor ecx, ecx
mov eax, dword [ebp - 0x190]
test eax, eax
sete cl
and dword [edx + 0x3c], 0
mov dword [edx + 0xc], eax
mov al, 1
sub al, cl
mov byte [edx + 0x1a], 0
mov byte [edx + 0x19], al
cmp byte [ebx], 0x45
je 0x4445b8
cmp dword [ebp - 0xdc], 0
jne 0x443127
test ecx, ecx
jmp 0x4445e2
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
and dword [ebp - 0xdc], 0
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xe0]
imul eax, dword [eax + 0xc], 0x28
mov esi, dword [eax + ecx]
mov edi, dword [eax + ecx + 4]
lea eax, [ebp - 0xdc]
push eax
push 0
push edi
push esi
push 0
push dword [ebx]
call fcn.0042c27a
and dword [ebx + 0x3c], 0
add esp, 0x18
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xdc]
test eax, eax
mov dword [ebx + 0x34], edi
mov edi, dword [ebp - 0x114]
mov dword [ebx + 0x30], esi
mov word [ebx + 0x19], 0
mov dword [ebx + 0xc], eax
mov ebx, dword [ebp - 0x108]
jne 0x443127
jmp 0x443136
push ebx
push edi
call fcn.00422455
mov edx, dword [ebx + 4]
pop ecx
pop ecx
mov ecx, dword [edi + 0x38]
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x28]
mov dword [eax], ecx
mov ecx, dword [edx + 0x2c]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp case.default.0x4430ba
and dword [ebp - 0xe8], 0
xorps xmm0, xmm0
push ebx
push edi
movlpd qword [ebp - 0x124], xmm0
call fcn.00422455
mov edx, dword [ebx + 4]
pop ecx
pop ecx
mov ecx, dword [edi + 0x38]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0x100], ecx
cmp dword [ecx], 0
je 0x446079
push 2
pop eax
test byte [ecx + 0x1c], al
jne 0x445f08
lea eax, [ebp - 0xe8]
push eax
push dword [ecx]
call fcn.0042c18d
mov dword [ebp - 0xd4], eax
pop ecx
pop ecx
test eax, eax
jne 0x447fff
cmp dword [ebp - 0xe8], eax
je 0x445eb5
inc eax
xor esi, esi
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], esi
jmp 0x445f14
lea eax, [ebp - 0x124]
push eax
mov eax, dword [ebp - 0x100]
push dword [eax]
call fcn.0042c16c
mov esi, dword [ebp - 0x120]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0xf0], eax
pop ecx
pop ecx
cmp esi, 0x7fffffff
jl 0x445f00
jg 0x445ef2
cmp eax, 0xffffffff
jb 0x445f00
mov ecx, dword [ebp - 0x100]
push 2
pop edx
or dword [ecx + 0x1c], edx
jmp 0x445f1a
add eax, 1
adc esi, 0
jmp 0x445ea7
mov esi, dword [ebp - 0x120]
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0xf0], eax
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x445fc7
mov ecx, dword [edi + 0xb0]
test ecx, ecx
jne 0x445faa
imul eax, edx, 0x28
add eax, dword [ebp - 0xe0]
push eax
mov dword [ebp - 0xdc], eax
call fcn.004497ff
pop ecx
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
cmp edx, 0xffffffff
jne 0x445f60
cmp eax, 0x7fffffff
je 0x44605b
mov edi, dword [ebp - 0x100]
test byte [edi + 0x1c], 2
mov edi, dword [ebp - 0x114]
jne 0x44605b
add edx, 1
adc eax, 0
mov dword [ebp - 0xf8], eax
cmp esi, eax
jg 0x445fbc
jl 0x445f92
mov eax, dword [ebp - 0xf0]
cmp eax, edx
jae 0x445fc2
mov esi, dword [ebp - 0xf8]
mov eax, edx
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], esi
jmp 0x445fc2
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x445fa8
imul eax, edx, 0x28
add eax, dword [ecx + 0x10]
jmp 0x445f38
mov eax, dword [ebp - 0xf0]
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, dword [ebp - 0x100]
push 2
pop edx
test byte [ecx + 0x1c], dl
je 0x44606f
and dword [ebp - 0xdc], 0
lea eax, [ebp - 0x124]
push eax
push 8
pop eax
push eax
call fcn.0040f8a6
mov esi, dword [ebp - 0x120]
lea edx, [ebp - 0xe8]
mov ecx, dword [ebp - 0x124]
and esi, 0x3fffffff
push 0
pop eax
add ecx, 1
push edx
push eax
adc esi, eax
mov dword [ebp - 0xf0], ecx
push esi
push ecx
push eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x120], esi
push dword [eax]
call fcn.0042c27a
add esp, 0x20
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x446063
cmp dword [ebp - 0xe8], eax
jne 0x446063
mov eax, dword [ebp - 0xdc]
inc eax
mov dword [ebp - 0xdc], eax
cmp eax, 0x64
jl 0x445fe0
push 0xd
pop eax
jmp 0x447ff1
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xf0]
and dword [ecx + 0x3c], 0
mov byte [ecx + 0x1a], 0
jmp 0x446085
mov esi, dword [ebp - 0x120]
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0xd8]
mov dword [ecx], eax
mov dword [ecx + 4], esi
jmp 0x443136
imul edx, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
add edx, dword [ebp - 0xe0]
cmp byte [ebp - 0xe9], 0x4b
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xd8], eax
jne 0x4460e8
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [eax + ecx]
mov eax, dword [eax + esi + 4]
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0xf4], eax
jmp 0x446102
mov eax, dword [ebx + 0xc]
cdq
mov ecx, eax
mov dword [ebp - 0x110], eax
mov eax, edx
mov dword [ebp - 0xf4], edx
mov edx, dword [ebp - 0xf8]
test byte [ebx + 3], 1
je 0x44610b
inc dword [edi + 0x5c]
test byte [ebx + 3], 2
je 0x446123
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x134], eax
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], eax
movzx eax, word [edx + 8]
xor ecx, ecx
test al, 1
je 0x446133
mov dword [edx + 0x10], ecx
mov dword [edx + 0xc], ecx
mov al, byte [ebx + 3]
mov byte [ebp - 0xe9], al
test al, 0x10
movzx eax, word [edx + 8]
je 0x446159
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xdc], eax
movzx eax, word [edx + 8]
jmp 0x44615f
mov dword [ebp - 0xdc], ecx
test eax, 0x4000
je 0x446170
mov eax, dword [edx]
mov dword [ebp - 0xe8], eax
jmp 0x446176
mov dword [ebp - 0xe8], ecx
push dword [ebp - 0xdc]
movzx eax, byte [ebp - 0xe9]
shr eax, 3
and eax, 1
push eax
push dword [ebp - 0xe8]
mov eax, dword [ebp - 0xd8]
push dword [edx + 0xc]
push dword [edx + 0x10]
push dword [ebp - 0xf4]
push dword [ebp - 0x110]
push ecx
push dword [eax]
call fcn.0042bc93
mov dword [ebp - 0xd4], eax
add esp, 0x24
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd4]
and dword [eax + 0x3c], 0
mov byte [eax + 0x1a], 0
test edx, edx
jne case.default.0x4430ba
mov edx, dword [esi + 0xd4]
test edx, edx
je case.default.0x4430ba
cmp dword [ebx + 0x10], 0
je case.default.0x4430ba
push dword [ebp - 0xf4]
movsx ecx, byte [eax + 0x18]
push dword [ebp - 0x110]
mov eax, dword [esi + 0x10]
add ecx, ecx
push dword [ebx + 0x10]
push dword [eax + ecx*8]
push 4
pop eax
test byte [ebx + 3], al
push 0x12
pop eax
push 0x17
pop ecx
cmovne eax, ecx
push eax
push dword [esi + 0xd0]
call edx
add esp, 0x18
jmp case.default.0x4430ba
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xf8], eax
push dword [eax]
call fcn.0042b8fb
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xd4]
pop ecx
and dword [eax + 0x3c], 0
test edx, edx
jne 0x446294
mov edx, dword [esi + 0xd4]
test edx, edx
je 0x446294
cmp dword [ebx + 0x10], 0
je 0x446294
push 4
pop ecx
test byte [eax + 0x1c], cl
je 0x446294
push dword [eax + 0x34]
movsx ecx, byte [eax + 0x18]
push dword [eax + 0x30]
mov eax, dword [esi + 0x10]
push dword [ebx + 0x10]
shl ecx, 4
push dword [ecx + eax]
push 9
push dword [esi + 0xd0]
call edx
add esp, 0x18
test byte [ebx + 8], 1
mov eax, dword [ebp - 0xd4]
je 0x443142
inc dword [edi + 0x5c]
jmp 0x443142
mov eax, dword [edi + 0x5c]
add dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
and dword [edi + 0x5c], 0
jmp case.default.0x4430ba
mov eax, dword [edi + 0x38]
lea edx, [ebp - 0xf4]
mov ecx, dword [ebx + 4]
and dword [ebp - 0xf4], 0
push edx
push dword [ebx + 0x10]
mov ecx, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xe0]
push eax
push ecx
call fcn.0044ab67
add esp, 0x10
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xf4], 0
jmp 0x445b7b
imul edx, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
add edx, dword [ebp - 0xe0]
push edx
push dword [eax + ecx*4]
call fcn.0044af4f
pop ecx
pop ecx
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
and dword [eax + 0x3c], 0
jmp case.default.0x4430ba
imul eax, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
push 4
pop edx
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf4], eax
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x110], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xd8], eax
test byte [ecx + 0x1c], dl
jne 0x446391
lea ecx, [ebp - 0x1f8]
push ecx
push eax
call fcn.0042c16c
mov eax, dword [esi + 0x58]
cdq
pop ecx
pop ecx
cmp dword [ebp - 0x1f4], edx
jg 0x448057
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0xdc], ecx
jl 0x4463b0
cmp ecx, eax
jmp 0x4463aa
push eax
call fcn.0041edf3
pop ecx
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + 0x24]
cmp ecx, dword [esi + 0x58]
mov dword [ebp - 0xdc], ecx
ja 0x448057
push 0x20
pop eax
cmp ecx, eax
cmova eax, ecx
push eax
mov eax, dword [ebp - 0xf4]
push eax
call fcn.00449479
pop ecx
pop ecx
test eax, eax
jne 0x448081
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xf8], 0xbe10
mov ax, word [edx + 8]
and ax, word [ebp - 0xf8]
or ax, word [ebp - 0x194]
mov word [edx + 8], ax
mov eax, dword [ebp - 0x110]
mov dword [edx + 0xc], ecx
test byte [eax + 0x1c], 4
jne 0x446422
xor eax, eax
push eax
push dword [edx + 0x10]
push ecx
push eax
push dword [ebp - 0xd8]
call fcn.004121c6
add esp, 0x14
jmp 0x446436
push dword [edx + 0x10]
push ecx
push 0
push dword [ebp - 0xd8]
call fcn.0042b8bf
add esp, 0x10
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf4]
mov byte [eax + 0xa], 1
jmp case.default.0x4430ba
push ebx
push edi
call fcn.00422455
mov edx, dword [ebx + 4]
pop ecx
pop ecx
mov ecx, dword [edi + 0x38]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0xf8], ecx
cmp byte [ecx + 0x19], 0
je 0x446477
xor ecx, ecx
inc ecx
jmp 0x443100
cmp byte [ecx + 0x1a], 0
je 0x446494
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x178], eax
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x174], eax
jmp 0x44651e
mov edx, dword [ecx + 0x24]
test edx, edx
je 0x4464c2
mov esi, dword [edx]
lea ecx, [ebp - 0x178]
push ecx
push edx
mov eax, dword [esi]
call dword [eax + 0x30]
push esi
push edi
mov dword [ebp - 0xd4], eax
call fcn.0044b71b
mov esi, dword [ebp - 0xe4]
add esp, 0x10
jmp 0x44651e
mov eax, dword [ecx]
xor edx, edx
inc edx
cmp byte [eax + 0x49], dl
je 0x4464e4
push ecx
call fcn.0041f1c9
pop ecx
mov ecx, dword [ebp - 0xf8]
xor edx, edx
mov dword [ebp - 0xd4], eax
inc edx
jmp 0x4464ec
xor eax, eax
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x447fff
cmp byte [ecx + 0x19], al
je 0x446508
mov ecx, dword [ebp - 0xdc]
mov word [ecx + 8], dx
jmp 0x443142
lea eax, [ebp - 0x178]
push eax
push dword [ecx]
call fcn.0042c16c
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x178]
mov dword [ecx], eax
mov eax, dword [ebp - 0x174]
mov dword [ecx + 4], eax
jmp case.default.0x4430ba
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
and dword [eax + 0x3c], 0
cmp dword [eax], 0
mov byte [eax + 0x19], 1
je case.default.0x4430ba
push dword [eax]
call fcn.0042b3dc
jmp 0x443718
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
and dword [ebp - 0x100], 0
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x100]
push eax
push dword [esi]
call fcn.0042c18d
and dword [esi + 0x3c], 0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x100]
mov byte [esi + 0x19], cl
mov byte [esi + 0x1a], 0
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0xc]
mov dword [esi + 0xc], eax
cmp dword [ebx + 8], 0
jle 0x443136
test ecx, ecx
jmp 0x445dfb
inc dword [edi + 0x74]
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
xor eax, eax
inc eax
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xf0], eax
cmp dword [ecx + 0x38], 0
je 0x4465f8
lea eax, [ebp - 0xf0]
push eax
push ecx
call fcn.0044aeec
pop ecx
pop ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf0]
jmp 0x446644
mov eax, dword [ecx]
push eax
mov dword [ebp - 0xf8], eax
call fcn.00420db7
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne 0x446630
mov ecx, dword [ebp - 0xf8]
cmp byte [ecx + 0x49], al
jne 0x44661f
inc eax
jmp 0x446636
push ecx
call fcn.00420cea
mov dword [ebp - 0xd4], eax
xor eax, eax
pop ecx
jmp 0x446636
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
and dword [ecx + 0x3c], 0
mov byte [ecx + 0x1a], 0
mov byte [ecx + 0x19], al
test eax, eax
jmp 0x443125
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x14c]
and dword [ebp - 0x14c], 0
push ecx
push eax
push esi
mov dword [ebp - 0xdc], eax
call fcn.0044ad96
add esp, 0xc
jmp 0x4466ad
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
cmp dword [eax + ecx*4], 0
je case.default.0x4430ba
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0x14c]
push eax
push dword [ecx]
mov dword [ebp - 0xdc], ecx
call dword [ebx + 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd4], eax
xor eax, eax
mov dword [ecx + 0x3c], eax
cmp dword [ebp - 0x14c], eax
jne 0x4466d6
mov byte [ecx + 0x19], al
movzx eax, byte [ebx + 3]
inc dword [edi + eax*4 + 0x6c]
jmp case.0x4430ba.16
mov byte [ecx + 0x19], 1
jmp 0x447b63
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
imul eax, dword [ebx + 8], 0x28
mov dword [ebp - 0xdc], ecx
mov edx, dword [ecx]
mov dword [ebp - 0xd8], edx
add eax, dword [ebp - 0xe0]
test byte [ebx + 3], 1
mov dword [ebp - 0xf8], eax
je 0x44670f
inc dword [edi + 0x5c]
mov edx, 0x4000
test word [eax + 8], dx
je 0x44673b
push eax
call fcn.00449515
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xd4]
pop ecx
mov ecx, dword [ebp - 0xdc]
jmp 0x446743
xor edx, edx
mov dword [ebp - 0xd4], edx
test edx, edx
jne case.default.0x4430ba
cmp dword [ecx + 0x38], edx
je 0x44675c
push eax
push ecx
call fcn.0044afad
jmp 0x446c5c
test byte [ebx + 3], 0x10
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xf8], eax
je 0x446773
mov eax, dword [ecx + 0xc]
jmp 0x446775
xor eax, eax
push eax
push dword [ebx + 0xc]
mov eax, edx
push 0
push 0
push 0x483650
cdq
push edx
push eax
push dword [ebp - 0xf8]
push dword [ebp - 0xd8]
call fcn.0042bc93
add esp, 0x24
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xdc]
jmp 0x446328
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xdc], eax
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x244], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x240], ax
imul eax, dword [ebx + 8], 0x28
mov dword [ebp - 0xf8], ecx
mov byte [ebp - 0x23e], 0
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0x23c], eax
lea eax, [ebp - 0x18c]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0x244]
push eax
push ecx
call fcn.0042c27a
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4467a1
cmp dword [ebp - 0x18c], eax
jne 0x4467a1
push dword [ebp - 0xf8]
call fcn.0042b8fb
pop ecx
jmp 0x44679b
push ebx
push edi
call fcn.00422455
mov edx, dword [ebx + 4]
pop ecx
pop ecx
mov ecx, dword [edi + 0x38]
mov dword [ebp - 0xd8], eax
mov eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xf8], eax
mov edx, dword [eax]
mov dword [ebp - 0xdc], edx
xor edx, edx
inc edx
mov word [ecx + 8], dx
mov ecx, dword [eax]
cmp byte [ecx + 0x49], dl
mov edx, dword [ebp - 0xdc]
je 0x44688f
push eax
call fcn.0041f1c9
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf8]
pop ecx
mov ecx, dword [ebp - 0xd4]
jmp 0x446897
xor ecx, ecx
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jne 0x447ff9
cmp byte [eax + 0x19], cl
jne case.default.0x4430ba
lea eax, [ebp - 0x154]
xorps xmm0, xmm0
push eax
push edx
push esi
movlpd qword [ebp - 0x154], xmm0
call fcn.00448baa
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x447fff
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x154]
push 4
mov dword [ecx], eax
mov eax, dword [ebp - 0x150]
mov dword [ecx + 4], eax
pop eax
jmp 0x44317c
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
cmp byte [ebp - 0xe9], 0x73
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x258], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x254], ax
sbb al, al
and dword [ebp - 0xd8], 0
mov byte [ebp - 0x252], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0x250], eax
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x258]
push eax
push ecx
push esi
call fcn.00448b10
add esp, 0x10
mov dword [ebp - 0xd4], eax
test byte [ebx], 1
mov eax, dword [ebp - 0xd8]
je 0x446961
neg eax
jmp 0x446962
inc eax
test eax, eax
jg 0x443127
jmp case.default.0x4430ba
push ebx
push edi
call fcn.00422455
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0xf8], eax
inc ecx
mov word [eax + 8], cx
mov ecx, dword [esi + 0xa4]
inc ecx
cmp dword [esi + 0x98], ecx
jle 0x4469a8
push 6
pop eax
push 2
pop ecx
mov dword [ebp - 0xd4], eax
mov byte [edi + 0x56], cl
jmp 0x443142
mov eax, dword [ebx + 0xc]
mov ecx, eax
and dword [ebp - 0x104], 0
mov esi, dword [ebx + 4]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xe4]
shl ecx, 4
mov dword [ebp - 0xd8], ecx
mov eax, dword [eax + 0x10]
mov edi, dword [ecx + eax + 4]
push edi
call fcn.0042badd
lea eax, [ebp - 0x104]
push eax
push esi
push edi
call fcn.004153de
push edi
mov dword [ebp - 0xd4], eax
call fcn.0042c1dd
mov ecx, dword [ebp - 0xf8]
add esp, 0x14
mov edi, dword [ebp - 0x104]
push 4
pop eax
mov word [ecx + 8], ax
mov eax, edi
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 4], edx
test eax, eax
jne 0x447e5f
mov esi, dword [ebp - 0xe4]
test edi, edi
je 0x447e54
mov edx, dword [esi + 0x10]
add edx, dword [ebp - 0xd8]
mov eax, dword [ebx + 4]
mov dword [ebp - 0xdc], eax
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x446a66
mov esi, dword [ebp - 0xdc]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x1c], edi
jne 0x446a5a
mov dword [ecx + 0x1c], esi
mov eax, dword [eax]
test eax, eax
jne 0x446a4f
mov esi, dword [ebp - 0xe4]
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x446a8d
mov esi, dword [ebp - 0xdc]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x28], edi
jne 0x446a81
mov dword [ecx + 0x28], esi
mov eax, dword [eax]
test eax, eax
jne 0x446a76
mov esi, dword [ebp - 0xe4]
mov al, byte [ebp - 0xf4]
inc al
mov byte [ebp - 0x125], al
mov edi, dword [ebp - 0x114]
jmp case.default.0x4430ba
and dword [ebp - 0x108], 0
lea eax, [ebp - 0x108]
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
cmove eax, ecx
mov ecx, dword [ebx + 8]
push eax
mov eax, dword [esi + 0x10]
push dword [ebx + 4]
shl ecx, 4
push dword [ecx + eax + 4]
call fcn.0042b3f7
add esp, 0xc
mov dword [ebp - 0xd4], eax
cmp dword [ebx + 0xc], 0
je 0x443142
mov eax, dword [ebp - 0x108]
add dword [edi + 0x5c], eax
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle case.default.0x4430ba
mov esi, dword [ebp - 0xe0]
imul ecx, ecx, 0x28
cdq
add dword [ecx + esi], eax
mov eax, esi
adc dword [ecx + eax + 4], edx
jmp 0x443136
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
cmp dword [eax + 0x38], 0
je 0x446b2e
push dword [eax + 0x38]
push esi
call fcn.0044ae0c
pop ecx
jmp 0x443718
mov eax, dword [eax]
push 0
push dword [eax + 0x3c]
push dword [eax]
call fcn.0042b3f7
jmp 0x4458c7
push ebx
push edi
call fcn.00422455
mov edx, dword [ebx + 4]
mov esi, eax
mov eax, dword [ebp - 0xe4]
xor ecx, ecx
and dword [ebp - 0xf8], 0
shl edx, 4
add edx, dword [eax + 0x10]
lea eax, [ebp - 0xf8]
cmp byte [ebx], 0x79
setne cl
inc ecx
push ecx
push eax
push dword [edx + 4]
call fcn.0042b861
mov dword [ebp - 0xd4], eax
add esp, 0x14
mov eax, dword [ebp - 0xf8]
jmp 0x4442be
mov edx, dword [ebx + 4]
mov eax, str.sqlite_master
push dword [ebx + 0x10]
cmp edx, 1
mov dword [ebp - 0x200], edx
mov ecx, str.sqlite_temp_master
mov dword [ebp - 0x208], esi
cmovne ecx, eax
lea eax, [edi + 0x2c]
mov dword [ebp - 0x204], eax
add edx, edx
mov eax, dword [esi + 0x10]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.00437848
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0xf8], ecx
test ecx, ecx
jne 0x446be6
push 7
pop eax
mov dword [ebp - 0xd4], eax
jmp 0x446c38
xor eax, eax
mov byte [esi + 0x91], 1
push eax
mov dword [ebp - 0x1fc], eax
lea eax, [ebp - 0x208]
push eax
push fcn.00435b82
push ecx
push esi
call fcn.0040d487
push dword [ebp - 0xf8]
test eax, eax
push esi
cmove eax, dword [ebp - 0x1fc]
mov dword [ebp - 0xd4], eax
call fcn.0042ed36
mov eax, dword [ebp - 0xd4]
add esp, 0x1c
mov byte [esi + 0x91], 0
test eax, eax
je 0x446c45
push esi
call fcn.0043d26c
mov eax, dword [ebp - 0xd4]
pop ecx
cmp eax, 7
je 0x448081
jmp 0x443142
push dword [ebx + 4]
push esi
call fcn.004299ce
pop ecx
pop ecx
jmp 0x44539f
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [esi + 0x10]
push 0
push dword [ebx + 0x10]
mov eax, dword [eax + 0xc]
push 8
pop ecx
add eax, ecx
push eax
call fcn.004356ec
push eax
push esi
call fcn.0042f898
add esp, 0x14
push 2
pop eax
or dword [esi + 0x18], eax
jmp case.default.0x4430ba
push dword [ebx + 0x10]
push dword [ebx + 4]
push esi
call fcn.004409ca
jmp 0x4435e3
push dword [ebx + 0x10]
push dword [ebx + 4]
push esi
call fcn.00440a38
jmp 0x4435e3
mov eax, dword [ebx + 8]
mov dword [ebp - 0xf4], eax
push 0
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.0042ed86
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x110], edx
test edx, edx
je 0x448081
imul eax, dword [ebx + 0xc], 0x28
xor ecx, ecx
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xf4], ecx
jle 0x446d5e
mov ebx, dword [ebp - 0xf4]
mov edi, ecx
mov dword [ebp - 0xf8], eax
mov esi, edx
push eax
call fcn.00448ca5
mov dword [esi + edi*4], eax
inc edi
mov eax, dword [ebp - 0xf8]
add eax, 0x28
mov dword [ebp - 0xf8], eax
pop ecx
cmp edi, ebx
jl 0x446d1c
mov ebx, dword [ebp - 0x108]
mov esi, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0xd8], edi
mov edi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0xd8]
and dword [edx + ecx*4], 0
lea eax, [ebp - 0x170]
movzx ecx, byte [ebx + 3]
push eax
mov eax, dword [ebp - 0xdc]
add ecx, ecx
push dword [eax]
mov eax, dword [esi + 0x10]
push dword [ebp - 0xf4]
push edx
push dword [eax + ecx*8 + 4]
call fcn.0042be65
push dword [ebp - 0x110]
mov dword [ebp - 0xf8], eax
push esi
call fcn.0042ed36
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x170]
push dword [ebp - 0xe8]
cdq
sub dword [ecx], eax
sbb dword [ecx + 4], edx
call fcn.00449a0a
add esp, 0x20
cmp dword [ebp - 0x170], 0
je 0x446deb
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x448081
push fcn.0040f786
push 1
push 0xffffffffffffffff
push eax
push dword [ebp - 0xe8]
call fcn.00449aa2
add esp, 0x14
movzx eax, byte [ebp - 0x11c]
push eax
push dword [ebp - 0xe8]
call fcn.00442a34
jmp 0x446b28
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
add eax, dword [ebp - 0xe0]
add ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xdc], ecx
test byte [eax + 8], 0x20
jne 0x446e46
push eax
call fcn.00449a2d
mov eax, dword [ebp - 0xf8]
pop ecx
test byte [eax + 8], 0x20
je 0x448081
mov ecx, dword [ebp - 0xdc]
push dword [ecx + 4]
push dword [ecx]
push dword [eax]
call fcn.0043d73e
jmp 0x4435e3
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf8], eax
test byte [eax + 8], 0x20
je 0x446eab
lea ecx, [ebp - 0x1e8]
push ecx
push dword [eax]
call fcn.0043d796
pop ecx
pop ecx
test eax, eax
je 0x446ea5
imul eax, dword [ebx + 0xc], 0x28
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
add eax, dword [ebp - 0xe0]
push eax
call fcn.004499d4
add esp, 0xc
jmp 0x447b63
mov eax, dword [ebp - 0xf8]
push eax
call fcn.00449a0a
pop ecx
jmp case.0x4430ba.16
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 0xc], 0x28
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0xf8], edx
add eax, dword [ebp - 0xe0]
add ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xdc], ecx
test byte [eax + 8], 0x20
jne 0x446f09
push eax
call fcn.00449a2d
mov eax, dword [ebp - 0xd8]
pop ecx
test byte [eax + 8], 0x20
je 0x448081
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xf8]
test edx, edx
je 0x446f2d
push dword [ecx + 4]
push dword [ecx]
push edx
push dword [eax]
call fcn.0043d7ec
add esp, 0x10
test eax, eax
jne 0x443127
mov edx, dword [ebp - 0xf8]
test edx, edx
js case.default.0x4430ba
mov eax, dword [ebp - 0xdc]
push dword [eax + 4]
push dword [eax]
mov eax, dword [ebp - 0xd8]
jmp 0x446e4b
imul ecx, dword [ebx + 0xc], 0x28
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0xe8], edx
add ecx, dword [ebp - 0xe0]
cmp byte [ebx + 3], 0
mov dword [ebp - 0xf8], ecx
je 0x446f8f
mov eax, dword [edi + 0xb0]
test eax, eax
je 0x446f8f
mov esi, dword [edx + 0x14]
cmp dword [eax + 0x1c], esi
je 0x446f81
mov eax, dword [eax + 4]
test eax, eax
jne 0x446f75
mov esi, dword [ebp - 0xe4]
test eax, eax
jne case.default.0x4430ba
mov eax, dword [edi + 0xb8]
cmp eax, dword [esi + 0x80]
jl 0x446fbb
push str.too_many_levels_of_trigger_recursion
lea eax, [edi + 0x2c]
mov dword [ebp - 0xd4], 1
push esi
push eax
call fcn.0043f6e6
jmp 0x4435e3
test byte [ecx + 8], 0x40
jne 0x4470b6
mov eax, dword [edx + 8]
add eax, dword [edx + 0xc]
mov dword [ebp - 0xd8], eax
add eax, 2
imul ecx, eax, 0xa
mov dword [ebp - 0xf4], eax
mov eax, dword [edx + 0x10]
add ecx, dword [edx + 0xc]
lea eax, [eax + ecx*4]
cdq
push edx
push eax
push esi
call fcn.0042ee46
add esp, 0xc
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x448081
push dword [ebp - 0xf8]
call fcn.00449982
mov eax, dword [ebp - 0xf8]
sub ebx, dword [ebp - 0x118]
pop ecx
push 0x40
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebp - 0xdc]
mov dword [eax], ecx
mov eax, dword [ebp - 0xd8]
push 0x14
mov dword [ecx + 0x3c], eax
mov eax, dword [ebp - 0xe8]
mov dword [ecx], edi
mov eax, dword [eax + 0xc]
mov dword [ecx + 0x40], eax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov ebx, dword [ebp - 0xe8]
imul edx, dword [ebp - 0xf4], 0x28
mov dword [ecx + 0x2c], eax
mov eax, dword [edi + 8]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x1c]
mov dword [ecx + 0x34], eax
add edx, ecx
mov eax, dword [edi + 0x38]
mov dword [ecx + 0x18], eax
mov eax, dword [edi + 0x24]
mov dword [ecx + 0x28], eax
mov eax, dword [edi + 4]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x20]
mov dword [ecx + 0x30], eax
mov eax, dword [ebx + 0x14]
mov dword [ecx + 0x1c], eax
mov eax, dword [edi + 0xc8]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + 0xc4]
mov dword [ecx + 0x38], eax
lea eax, [ecx + 0x50]
cmp eax, edx
je 0x4470be
mov ecx, 0x80
mov word [eax + 8], cx
mov dword [eax + 0x20], esi
add eax, 0x28
cmp eax, edx
jne 0x4470a0
mov ecx, dword [ebp - 0xdc]
jmp 0x4470b8
mov ecx, dword [ecx]
mov ebx, dword [ebp - 0xe8]
inc dword [edi + 0xb8]
xor edx, edx
mov eax, dword [edi + 0xb0]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x138]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x134]
mov dword [ecx + 0x24], eax
mov eax, dword [edi + 0x5c]
mov dword [ecx + 0x44], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x50]
mov dword [ecx + 0x48], eax
lea eax, [ecx + 0x28]
mov dword [ebp - 0xe0], eax
mov dword [edi + 8], eax
mov dword [edi + 0xb0], ecx
mov dword [edi + 0x5c], edx
mov eax, dword [ecx + 0x3c]
mov dword [edi + 0x1c], eax
movzx eax, word [ecx + 0x40]
mov ecx, dword [ebp - 0xe0]
mov dword [edi + 0x24], eax
mov eax, dword [edi + 0x1c]
inc eax
imul eax, eax, 0x28
add ecx, eax
mov dword [edi + 0x38], ecx
mov eax, dword [ebx]
mov dword [ebp - 0x118], eax
mov dword [edi + 4], eax
mov eax, dword [ebx + 4]
mov dword [edi + 0x20], eax
mov eax, dword [edi + 0x24]
lea ecx, [ecx + eax*4]
mov dword [edi + 0xc8], ecx
mov eax, dword [ebx + 0x10]
mov ebx, dword [ebp - 0x118]
push eax
push edx
push ecx
mov dword [edi + 0xc4], eax
add ebx, 0xffffffec
call fcn.004653c0
jmp 0x4435e3
push ebx
push edi
call fcn.00422455
mov esi, dword [edi + 0xb0]
mov ecx, 0x1000
push ecx
imul edx, dword [esi + 0x2c], 0x14
mov ecx, dword [esi + 8]
mov ecx, dword [edx + ecx + 4]
add ecx, dword [ebx + 4]
imul ecx, ecx, 0x28
add ecx, dword [esi + 0x10]
push ecx
push eax
call fcn.00449c37
add esp, 0x14
jmp 0x443136
test dword [esi + 0x18], 0x1000000
mov eax, dword [ebx + 8]
cdq
je 0x4471b3
add dword [esi + 0x200], eax
adc dword [esi + 0x204], edx
jmp case.default.0x4430ba
cmp dword [ebx + 4], 0
je 0x4471ca
add dword [esi + 0x1f8], eax
adc dword [esi + 0x1fc], edx
jmp case.default.0x4430ba
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
jmp case.default.0x4430ba
cmp dword [ebx + 4], 0
je 0x447204
mov eax, dword [esi + 0x1f8]
or eax, dword [esi + 0x1fc]
jne case.default.0x4430ba
mov eax, dword [esi + 0x200]
or eax, dword [esi + 0x204]
jmp 0x4445e2
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jmp 0x4471ed
mov ecx, dword [edi + 0xb0]
test ecx, ecx
jne 0x44726e
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xe0]
push eax
mov dword [ebp - 0xf8], eax
call fcn.004497ff
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0xe0]
push esi
call fcn.004497ff
mov eax, dword [ebp - 0xf8]
mov edx, dword [esi + 4]
pop ecx
pop ecx
mov ecx, dword [esi]
cmp dword [eax + 4], edx
jg 0x443136
jl 0x447262
cmp dword [eax], ecx
jae 0x443136
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x443136
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x44726c
imul eax, dword [ebx + 4], 0x28
add eax, dword [ecx + 0x10]
jmp 0x447226
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xe0]
cmp dword [eax + ecx + 4], 0
jg 0x443127
jl case.default.0x4430ba
cmp dword [eax + ecx], 0
ja 0x443127
jmp case.default.0x4430ba
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
cdq
add ecx, dword [ebp - 0xe0]
add dword [ecx], eax
adc dword [ecx + 4], edx
cmp dword [ecx + 4], 0
jl 0x443127
jg case.default.0x4430ba
cmp dword [ecx], 0
jb 0x443127
jmp case.default.0x4430ba
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xe0]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je case.default.0x4430ba
mov eax, dword [ebx + 0xc]
cdq
add dword [ecx], eax
adc edx, dword [ecx + 4]
mov dword [ecx + 4], edx
jmp 0x443127
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xe0]
add dword [ecx], 0xffffffff
mov eax, dword [ecx]
adc dword [ecx + 4], 0xffffffff
or eax, dword [ecx + 4]
jmp 0x4445e2
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xe0]
mov edi, dword [esi]
mov ecx, edi
mov edx, dword [esi + 4]
add ecx, 1
mov eax, edx
mov dword [esi], ecx
adc eax, 0
or edi, edx
mov dword [esi + 4], eax
jmp 0x4458f0
imul eax, dword [ebx + 8], 0x28
mov ecx, dword [edi + 0xc]
movzx edx, byte [ebx + 3]
mov dword [ebp - 0xf8], ecx
xor ecx, ecx
mov dword [ebp - 0xdc], edx
add eax, dword [ebp - 0xe0]
test edx, edx
jle 0x447379
mov esi, dword [ebp - 0xf8]
mov dword [esi + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, edx
jl 0x447368
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x1d4], eax
imul eax, dword [ebx + 0xc], 0x28
push 0x14
pop ecx
push dword [ebp - 0xf8]
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0x1d0], eax
push dword [ebp - 0xdc]
inc dword [eax + 0xc]
xor eax, eax
inc eax
and dword [ebp - 0x284], 0
mov word [ebp - 0x294], ax
lea eax, [ebp - 0x29c]
mov dword [ebp - 0x1d8], eax
mov eax, ebx
sub eax, dword [ebp - 0x118]
cdq
idiv ecx
and dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x1d8]
push eax
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x27c], esi
mov dword [ebp - 0x1cc], edi
mov byte [ebp - 0x1c0], 0
call dword [eax + 0x10]
add esp, 0xc
cmp dword [ebp - 0x1c4], 0
je 0x447435
lea eax, [ebp - 0x29c]
push 1
push eax
call fcn.0044279b
push eax
push 0x483f6c
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0043f6e6
mov eax, dword [ebp - 0x1c4]
add esp, 0x18
mov dword [ebp - 0xd4], eax
cmp byte [ebp - 0x1c0], 0
je 0x44745b
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x44745b
imul eax, eax, 0x28
push 0
push 1
add eax, dword [ebp - 0xe0]
push eax
call fcn.004499d4
add esp, 0xc
lea eax, [ebp - 0x29c]
push eax
call fcn.00449982
jmp 0x443718
imul eax, dword [ebx + 4], 0x28
push dword [ebx + 0x10]
add eax, dword [ebp - 0xe0]
push eax
mov dword [ebp - 0xd8], eax
call fcn.0044956e
mov dword [ebp - 0xd4], eax
pop ecx
pop ecx
test eax, eax
je 0x4474af
push dword [ebp - 0xd8]
call fcn.0040b5dd
push eax
push 0x483f6c
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0043f6e6
add esp, 0x14
movzx eax, byte [ebp - 0x11c]
push eax
push dword [ebp - 0xd8]
call fcn.00442a34
push dword [ebp - 0xd8]
jmp 0x443d73
and dword [ebp - 0xd0], 0
lea eax, [ebp - 0xc8]
or dword [ebp - 0xc8], 0xffffffff
or dword [ebp - 0xcc], 0xffffffff
push eax
lea eax, [ebp - 0xcc]
push eax
push dword [ebx + 8]
push dword [ebx + 4]
push esi
call fcn.0042d1f2
add esp, 0x14
mov dword [ebp - 0xd4], eax
cmp eax, 5
jne 0x44751b
and dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 1
imul edi, dword [ebx + 0xc], 0x28
add edi, dword [ebp - 0xe0]
xor esi, esi
mov eax, dword [ebp + esi*4 - 0xd0]
cdq
push edx
push eax
push edi
call fcn.004499d4
add esp, 0xc
add edi, 0x28
inc esi
cmp esi, 3
jl 0x447527
jmp 0x44342b
push ebx
push edi
call fcn.00422455
mov edx, dword [ebx + 4]
pop ecx
pop ecx
mov ecx, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x104], ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xdc], eax
mov eax, dword [ecx + edx*8 + 4]
mov edx, dword [ebp - 0x104]
cmp edx, 0xffffffff
mov dword [ebp - 0xf8], eax
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
mov dword [ebp - 0x100], eax
movzx ecx, byte [eax + 5]
cmove edx, ecx
mov dword [ebp - 0xf0], ecx
cmp byte [eax + 0x10], 3
mov dword [ebp - 0x104], edx
jae 0x4475c0
mov eax, dword [eax + 0x40]
xor ecx, ecx
cmp dword [eax], ecx
je 0x4475c8
mov eax, dword [ebp - 0x100]
cmp dword [eax + 0x4c], ecx
jl 0x4475c8
jg 0x4475ba
cmp dword [eax + 0x48], ecx
jbe 0x4475c8
mov ecx, dword [ebp - 0xf0]
mov edx, ecx
mov dword [ebp - 0x104], ecx
mov eax, dword [ebp - 0x100]
mov ecx, 0x483650
cmp byte [eax + 0xf], 0
jne 0x4475df
mov ecx, dword [eax + 0xa8]
cmp edx, 5
jne 0x447621
push ecx
call fcn.0044033d
pop ecx
test eax, eax
je 0x4475ff
push dword [ebp - 0x100]
call fcn.0043995b
pop ecx
test eax, eax
jne 0x447615
mov ecx, dword [ebp - 0xf0]
mov edx, ecx
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x104], edx
jmp 0x447627
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xf0]
cmp edx, ecx
je 0x4476e9
cmp ecx, 5
je 0x44763d
cmp edx, 5
jne 0x4476e9
cmp byte [esi + 0x3f], 0
je 0x4476b1
cmp dword [esi + 0x98], 1
jg 0x4476b1
cmp ecx, 5
jne 0x447671
push eax
call fcn.004388dd
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne 0x4476a9
mov ecx, dword [ebp - 0x104]
push ecx
push dword [ebp - 0x100]
jmp 0x44767b
cmp ecx, 4
jne 0x447688
push 2
pop ecx
push ecx
push eax
call fcn.004394a3
mov edx, dword [ebp - 0x104]
pop ecx
pop ecx
xor eax, eax
cmp edx, 5
sete al
inc eax
push eax
push dword [ebp - 0xf8]
call fcn.0042cfa0
mov dword [ebp - 0xd4], eax
pop ecx
pop ecx
test eax, eax
je 0x4476e3
mov edx, dword [ebp - 0xf0]
jmp 0x4476e9
cmp edx, 5
mov dword [ebp - 0xd4], 1
mov eax, str.into
mov ecx, str.out_of
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0043f6e6
add esp, 0x10
jmp case.default.0x4430ba
mov edx, dword [ebp - 0x104]
push edx
push dword [ebp - 0x100]
call fcn.004394a3
mov edx, dword [ebp - 0xdc]
pop ecx
pop ecx
mov ecx, 0xa02
mov word [edx + 8], cx
cmp eax, 6
jne 0x44770f
xor eax, eax
jmp 0x447716
mov eax, dword [eax*4 + 0x484474]
push eax
mov dword [edx + 0x10], eax
call fcn.0044033d
mov dword [edx + 0xc], eax
movzx eax, byte [ebp - 0x11c]
push eax
push edx
mov byte [edx + 0xa], 1
call fcn.00442a34
jmp 0x4435e3
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0043dc6e
jmp 0x446c5c
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 4]
call fcn.0042bbc6
mov dword [ebp - 0xd4], eax
pop ecx
cmp eax, 0x65
jne 0x443142
and dword [ebp - 0xd4], 0
jmp 0x443127
cmp dword [ebx + 4], 0
jne 0x447789
push esi
call fcn.0043040b
add esp, 4
jmp case.default.0x4430ba
push 8
pop eax
or dword [edi + 0x58], eax
jmp case.default.0x4430ba
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x19c], al
test al, al
jne 0x4477af
mov eax, 0x4000
test dword [esi + 0x18], eax
jne case.default.0x4430ba
mov ecx, dword [ebx + 4]
push dword [ebp - 0x19c]
mov eax, dword [esi + 0x10]
push dword [ebx + 8]
shl ecx, 4
push dword [ecx + eax + 4]
call fcn.0042c229
add esp, 0xc
mov dword [ebp - 0xd4], eax
cmp al, 6
jne 0x443142
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x4476d1
mov eax, dword [ebx + 0x10]
push eax
push esi
mov dword [ebp - 0xf8], eax
call fcn.0044b2d2
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf8]
pop ecx
pop ecx
test eax, eax
je case.default.0x4430ba
push dword [eax + 8]
push edi
call fcn.0044b71b
jmp 0x446b28
push 0xa
xor eax, eax
lea edi, [ebp - 0x2c4]
pop ecx
rep stosd dword es:[edi], eax
imul eax, dword [ebx + 8], 0x28
mov dword [ebp - 0x2a4], esi
add eax, dword [ebp - 0xe0]
push eax
lea eax, [ebp - 0x2c4]
push eax
call fcn.004494a4
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x2c4]
push 1
push eax
call fcn.0044279b
add esp, 0x10
test eax, eax
je 0x44787e
mov ecx, dword [ebp - 0x114]
add ecx, 0x2c
push ecx
push eax
push dword [ebx + 4]
push esi
call fcn.0044b4a2
add esp, 0x10
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x2c4]
push eax
call fcn.00449982
pop ecx
jmp 0x446a9b
inc dword [esi + 0xa4]
push dword [ebx + 0x10]
push dword [ebx + 4]
push esi
call fcn.0044b550
add esp, 0xc
mov dword [ebp - 0xd4], eax
dec dword [esi + 0xa4]
jmp 0x443142
mov eax, dword [ebx + 0x10]
and dword [ebp - 0x10c], 0
mov eax, dword [eax + 8]
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x447946
mov ecx, dword [eax]
mov dword [ebp - 0xf8], ecx
test ecx, ecx
je 0x447946
lea edx, [ebp - 0x10c]
push edx
push eax
call dword [ecx + 0x18]
push dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
push edi
call fcn.0044b71b
mov eax, dword [ebp - 0xd4]
add esp, 0x10
test eax, eax
jne 0x443142
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xd8]
mov dword [eax], ecx
xor eax, eax
push eax
push 0xffffffffffffffff
push eax
push dword [ebx + 4]
push edi
call fcn.00412c82
add esp, 0x14
test eax, eax
je 0x44803b
mov ecx, dword [ebp - 0x10c]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xd8]
inc dword [eax + 4]
jmp case.default.0x4430ba
push 6
jmp 0x445552
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
imul edx, dword [ebx + 0xc], 0x28
and dword [ebp - 0xe8], 0
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x10c], eax
add edx, dword [ebp - 0xe0]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xdc], eax
mov ecx, dword [edx + 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x110], eax
mov eax, dword [eax]
mov dword [ebp - 0xd8], eax
mov eax, dword [edx]
mov dword [ebp - 0xf4], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xf8], eax
xor eax, eax
test ecx, ecx
jle 0x4479ba
mov esi, dword [ebp - 0xf8]
add edx, 0x50
mov dword [esi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x4479a9
mov esi, dword [ebp - 0xe4]
push dword [ebp - 0xf8]
mov eax, dword [ebp - 0xd8]
push ecx
push dword [ebx + 0x10]
push dword [ebp - 0xf4]
push dword [ebp - 0xdc]
call dword [eax + 0x20]
push dword [ebp - 0x110]
mov dword [ebp - 0xd4], eax
push edi
call fcn.0044b71b
add esp, 0x1c
cmp dword [ebp - 0xd4], 0
jne 0x447a09
mov eax, dword [ebp - 0xd8]
push dword [ebp - 0xdc]
call dword [eax + 0x28]
pop ecx
jmp 0x447a0f
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x10c]
mov byte [ecx + 0x19], 0
jmp 0x446647
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov dword [ebp - 0xdc], ecx
add eax, dword [ebp - 0xe0]
cmp byte [ecx + 0x19], 0
mov dword [ebp - 0xf8], eax
je 0x447a49
push eax
jmp 0x443713
mov eax, dword [ecx + 0x24]
lea edi, [ebp - 0x274]
push 7
mov esi, dword [eax]
pop eax
mov ecx, eax
xor eax, eax
mov edx, dword [esi]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0xf8]
mov edi, 0xbe01
mov dword [ebp - 0x274], ecx
mov ax, word [ecx + 8]
and ax, di
xor edi, edi
inc edi
or ax, di
mov word [ecx + 8], ax
lea eax, [ebp - 0x274]
push dword [ebx + 8]
push eax
mov eax, dword [ebp - 0xdc]
push dword [eax + 0x24]
call dword [edx + 0x2c]
mov edi, dword [ebp - 0x114]
push esi
push edi
mov dword [ebp - 0xd4], eax
call fcn.0044b71b
cmp dword [ebp - 0x260], 0
mov eax, dword [ebp - 0xd4]
cmovne eax, dword [ebp - 0x260]
mov esi, dword [ebp - 0xf8]
mov dword [ebp - 0xd4], eax
movzx eax, byte [ebp - 0x11c]
push eax
push esi
call fcn.00442a34
push esi
call fcn.00449d10
mov esi, dword [ebp - 0xe4]
add esp, 0x20
jmp 0x443d7b
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xf8], eax
cmp byte [eax + 0x19], 0
jne case.default.0x4430ba
mov eax, dword [eax + 0x24]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0xdc], ecx
call dword [ecx + 0x24]
push esi
push edi
mov dword [ebp - 0xd4], eax
call fcn.0044b71b
add esp, 0xc
cmp dword [ebp - 0xd4], 0
jne 0x447b4e
mov eax, dword [ebp - 0xf8]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xdc]
call dword [eax + 0x28]
mov esi, dword [ebp - 0xe4]
pop ecx
test eax, eax
jne 0x447b63
jmp case.0x4430ba.16
mov esi, dword [ebp - 0xe4]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x118]
add ebx, 0xffffffec
add ebx, eax
cmp dword [esi + 0xf0], 0
jne 0x44806d
mov ecx, dword [esi + 0x124]
test ecx, ecx
je case.default.0x4430ba
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0x130]
jb case.default.0x4430ba
mov eax, dword [esi + 0x12c]
mov dword [ebp - 0x130], eax
mov eax, edx
xor edx, edx
div dword [ebp - 0x130]
mov eax, dword [ebp - 0x130]
push dword [esi + 0x128]
sub eax, edx
add eax, dword [ebp - 0x13c]
mov dword [ebp - 0x130], eax
call ecx
pop ecx
test eax, eax
je case.default.0x4430ba
push 9
jmp 0x448099
mov eax, dword [ebx + 0x10]
push 1
mov eax, dword [eax + 8]
mov dword [ebp - 0xf8], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xe0]
push eax
mov dword [ebp - 0xdc], eax
call fcn.00442a34
mov dword [ebp - 0xd4], eax
pop ecx
pop ecx
test eax, eax
jne 0x443142
mov edx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [edx]
push dword [ecx + 0x10]
push edx
call dword [eax + 0x4c]
push dword [ebp - 0xf8]
mov dword [ebp - 0xd4], eax
push edi
call fcn.0044b71b
add esp, 0x10
jmp 0x445626
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 8]
mov dword [ebp - 0xdc], edx
test edx, edx
je 0x447946
mov ecx, dword [edx]
mov dword [ebp - 0xf4], ecx
test ecx, ecx
je 0x447946
cmp dword [ecx + 0x34], 0
mov eax, dword [ebx + 8]
mov dword [ebp - 0xd8], eax
je case.default.0x4430ba
mov al, byte [esi + 0x45]
xor ecx, ecx
mov byte [ebp - 0xe9], al
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xf8], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xe0]
cmp dword [ebp - 0xd8], ecx
jle 0x447cad
mov edx, dword [ebp - 0xf8]
mov dword [edx + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, dword [ebp - 0xd8]
jl 0x447c98
mov edx, dword [ebp - 0xdc]
mov al, byte [ebx + 3]
mov byte [esi + 0x45], al
lea eax, [ebp - 0x1e0]
push eax
push dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf4]
push dword [ebp - 0xd8]
push edx
call dword [eax + 0x34]
push dword [ebp - 0xdc]
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0xe9]
push edi
mov byte [esi + 0x45], al
call fcn.0044b71b
mov eax, dword [ebp - 0xd4]
add esp, 0x18
test eax, eax
jne 0x447d1b
cmp dword [ebx + 4], eax
je 0x447d1b
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x134], edx
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], edx
cmp al, 0x13
jne 0x4462a4
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x447d51
mov al, byte [ebx + 3]
push 4
pop ecx
cmp al, cl
jne 0x447d3d
xor eax, eax
jmp 0x44539f
cmp al, 5
jne 0x447d46
push 2
pop eax
jmp 0x447d49
movzx eax, al
mov byte [edi + 0x56], al
jmp case.default.0x4430ba
mov eax, dword [ebp - 0xd4]
jmp 0x4462a4
push ebx
push edi
call fcn.00422455
mov edx, dword [ebx + 4]
pop ecx
pop ecx
mov ecx, dword [esi + 0x10]
add edx, edx
mov ecx, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x2c]
and dword [eax + 4], 0
mov dword [eax], ecx
jmp case.default.0x4430ba
push ebx
push edi
call fcn.00422455
mov edx, dword [ebx + 4]
pop ecx
pop ecx
mov ecx, dword [esi + 0x10]
add edx, edx
xor esi, esi
mov dword [ebp - 0xdc], eax
mov ecx, dword [ecx + edx*8 + 4]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0xf8], ecx
test edx, edx
je 0x447db7
mov eax, dword [ecx + 4]
mov esi, dword [eax + 0x2c]
cmp esi, edx
cmovb esi, edx
push ecx
call fcn.0042badd
pop ecx
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
test esi, esi
jle 0x447dd3
mov dword [eax + 0x9c], esi
mov esi, dword [eax + 0x9c]
push ecx
call fcn.0042c1dd
pop ecx
mov ecx, dword [ebp - 0xdc]
mov eax, esi
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x443136
cmp dword [esi + 0xb0], 0
je 0x443121
mov eax, 0x200
test dword [edi + 0x58], eax
jne 0x443121
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x447e23
mov eax, dword [edi + 0xa8]
test eax, eax
je 0x443121
push eax
push edi
call fcn.004483ab
mov esi, eax
mov eax, dword [ebp - 0xe4]
push esi
push dword [eax + 0xb4]
call dword [eax + 0xb0]
push esi
mov esi, dword [ebp - 0xe4]
push esi
call fcn.0042ed36
add esp, 0x18
jmp 0x443121
mov edi, dword [ebp - 0x114]
jmp 0x443142
mov edi, dword [ebp - 0x114]
jmp 0x4447ce
mov ecx, dword [ebx + 4]
mov dword [edi + 0x50], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x56], al
mov eax, dword [ebp - 0xf8]
mov dword [edi + 0x4c], eax
test ecx, ecx
je 0x447f09
mov al, byte [ebx + 3]
test al, al
je 0x447e9a
movzx eax, al
mov eax, dword [eax*4 + 0x486468]
jmp 0x447e9c
mov eax, edx
test eax, eax
je 0x447ec3
cmp dword [ebx + 0x10], edx
je 0x447ed2
push dword [ebx + 0x10]
lea esi, [edi + 0x2c]
push eax
mov eax, dword [ebp - 0xe4]
push str._s_constraint_failed:__s
push eax
push esi
call fcn.0043f6e6
add esp, 0x14
jmp 0x447eeb
cmp dword [ebx + 0x10], edx
je 0x447ed2
push dword [ebx + 0x10]
push 0x483f6c
jmp 0x447ed8
push eax
push str._s_constraint_failed
mov eax, dword [ebp - 0xe4]
lea esi, [edi + 0x2c]
push eax
push esi
call fcn.0043f6e6
add esp, 0x10
push dword [esi]
push dword [edi + 0xa8]
push dword [ebp - 0xf8]
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.00410f4d
add esp, 0x14
push edi
call fcn.00448882
pop ecx
push 5
pop ecx
cmp eax, ecx
je 0x447f3e
cmp dword [edi + 0x50], 0
push 0x65
pop esi
push 1
pop eax
cmovne esi, eax
jmp 0x448101
sub ebx, dword [ebp - 0x118]
mov eax, ebx
push 0x14
cdq
pop ebx
idiv ebx
mov dword [edi + 0x4c], eax
mov byte [esi + 0x3f], 0
mov esi, ecx
mov dword [edi + 0x50], ecx
jmp 0x448101
test edx, edx
je 0x447f76
push 0x204
push esi
call fcn.0043d602
pop ecx
pop ecx
mov byte [esi + 0x3f], 1
push esi
call fcn.0042d3b7
xor esi, esi
pop ecx
inc esi
cmp dword [edi + 0x50], 0
push 0x65
pop eax
cmove esi, eax
jmp 0x448101
push 1
push edi
call fcn.00442bdd
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x448101
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xf8]
push edi
mov byte [esi + 0x3f], al
call fcn.00448882
pop ecx
push 5
pop ecx
cmp eax, ecx
jne 0x447f5d
sub ebx, dword [ebp - 0x118]
mov eax, ebx
cdq
push 0x14
pop ebx
idiv ebx
mov dword [edi + 0x4c], eax
xor eax, eax
inc eax
sub al, byte [ebp - 0xf8]
mov byte [esi + 0x3f], al
jmp 0x447f3e
push 8
jmp 0x443fe2
sub ebx, dword [ebp - 0x118]
mov eax, ebx
push 0x14
cdq
pop ebx
idiv ebx
mov dword [edi + 0x4c], eax
jmp 0x447f3e
push 0x12570
call fcn.0042dd8f
pop ecx
mov esi, dword [ebp - 0xe4]
jmp 0x447fff
mov eax, dword [ebp - 0xd4]
cmp byte [esi + 0x41], 0
push 7
pop ecx
cmovne eax, ecx
mov dword [ebp - 0xd4], eax
cmp eax, 0xc0a
je 0x4480a0
push eax
call fcn.00430307
push eax
push 0x483f6c
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0043f6e6
mov eax, dword [ebp - 0xd4]
add esp, 0x14
jmp 0x4480a0
mov eax, dword [ebp - 0xf8]
push dword [ebp - 0x10c]
call dword [eax + 0x1c]
pop ecx
jmp 0x448081
mov esi, eax
jmp 0x448057
mov esi, dword [ebp - 0xe4]
push str.string_or_blob_too_big
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0043f6e6
add esp, 0xc
push 0x12
jmp 0x448099
push 9
pop eax
mov dword [ebp - 0xd4], eax
mov dword [edi + 0x50], eax
jmp 0x44801a
mov esi, dword [ebp - 0xe4]
push str.out_of_memory
lea eax, [edi + 0x2c]
mov byte [esi + 0x41], 1
push esi
push eax
call fcn.0043f6e6
add esp, 0xc
push 7
pop eax
mov dword [ebp - 0xd4], eax
push dword [edi + 0x2c]
sub ebx, dword [ebp - 0x118]
push dword [edi + 0xa8]
mov dword [edi + 0x50], eax
mov eax, ebx
push 0x14
pop ecx
cdq
idiv ecx
mov ebx, dword [ebp - 0xd4]
push eax
push str.statement_aborts_at__d:___s___s
push ebx
call fcn.00410f4d
push edi
call fcn.00448882
add esp, 0x18
cmp ebx, 0xc0a
jne 0x4480e1
mov byte [esi + 0x41], 1
mov al, byte [ebp - 0x125]
xor esi, esi
inc esi
test al, al
je 0x448101
movzx eax, al
dec eax
push eax
mov eax, dword [ebp - 0xe4]
push eax
call fcn.0043d2c0
pop ecx
pop ecx
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x138]
push edi
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x134]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x13c]
add dword [edi + 0x7c], eax
call fcn.00448d94
pop ecx
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00462f14
mov esp, ebp
pop ebp
ret