Function at 0x426cb1
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2a0
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x58]
push esi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 8], eax
xor eax, eax
push edi
mov edi, dword [ebx]
mov cl, byte [edi + 0x4e]
mov dword [ebp - 0xc], eax
mov byte [ebp - 0x51], al
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x90], eax
mov eax, dword [ebx + 0x5c]
mov esi, ebx
mov dword [ebp - 0x10], edi
mov byte [ebp - 0x40], cl
mov dword [ebp - 0x14], eax
call fcn.0041fc15
cmp dword [ebx + 0x28], 7
je 0x4251d9
xor eax, eax
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x68], eax
mov dword [edi + 0x194], eax
mov eax, dword [edi + 0x108]
test eax, eax
jne 0x428366
mov eax, edi
cmp dword [eax + 0x140], 0
je 0x423d6f
mov ecx, dword [eax + 0x148]
mov eax, dword [ebx + 0xb0]
xor edx, edx
div ecx
sub ecx, edx
mov dword [ebp - 0xa0], ecx
jmp 0x423d76
or dword [ebp - 0xa0], 0xffffffff
mov edi, dword [ebx + 0x24]
imul edi, edi, 0x14
add edi, dword [ebp - 0x3c]
mov dl, byte [edi]
inc dword [ebp - 0x90]
movzx eax, dl
mov dword [ebp - 8], edi
cmp eax, 0xa9
ja case.0x423d98.86
jmp dword [eax*4 + 0x428450]
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
push 4
pop eax
mov word [ecx + 8], ax
mov eax, edi
sub eax, dword [ebp - 0x3c]
push 0x14
cdq
pop esi
idiv esi
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x425e07
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0x14]
mov eax, dword [edi]
imul eax, eax, 0x14
add eax, dword [ebp - 0x3c]
mov dword [ebp - 8], eax
mov eax, 0x80
mov word [edi + 8], ax
jmp 0x4258b6
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
dec eax
cdq
mov dword [ecx], eax
push 4
pop eax
mov dword [ecx + 4], edx
mov word [ecx + 8], ax
cmp dword [edi + 8], 0
jne 0x425e07
jmp case.0x423d98.86
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0x3c]
imul edi, edi, 0x28
add edi, dword [ebp - 0x14]
mov ecx, dword [edi]
imul ecx, ecx, 0x14
mov ecx, dword [ecx + eax + 8]
imul ecx, ecx, 0x14
lea eax, [ecx + eax - 0x14]
jmp 0x423dd6
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
push 4
pop eax
mov word [ecx + 8], ax
mov eax, edi
sub eax, dword [ebp - 0x3c]
push 0x14
cdq
pop edi
idiv edi
mov esi, dword [ecx]
imul esi, esi, 0x14
add esi, dword [ebp - 0x3c]
mov dword [ebp - 8], esi
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4258b6
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x14]
imul eax, eax, 0x28
test byte [eax + ecx + 8], 1
je case.0x423d98.86
mov eax, edi
sub eax, dword [ebp - 0x3c]
push 0x14
cdq
pop ecx
idiv ecx
cmp dword [edi + 4], 0
mov dword [ebp - 0x28], eax
jne 0x428025
lea ecx, [ebx + 0xc4]
mov edx, dword [ecx]
test edx, edx
je 0x428025
mov eax, dword [edx + 4]
dec dword [ebx + 0xcc]
mov dword [ecx], eax
mov eax, dword [ebx + 0x2c]
mov ecx, dword [ebp - 0x10]
add dword [ecx + 0x68], eax
mov edi, edx
mov dword [ecx + 0x64], eax
call fcn.004203a7
mov ecx, dword [ebp - 8]
cmp dword [ecx + 8], 4
jne 0x423ecd
mov ecx, dword [ebx + 0x58]
imul eax, eax, 0x14
mov eax, dword [eax + ecx + 8]
dec eax
mov ecx, dword [ebx + 0x58]
imul eax, eax, 0x14
mov edx, dword [ebx + 0x5c]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x14], edx
add eax, ecx
mov dword [ebp - 8], eax
jmp 0x4258b6
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov ecx, eax
mov eax, dword [edi + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x423d98.86
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov ecx, dword [edi + 0x10]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp case.0x423d98.86
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
push 8
pop ecx
mov word [eax + 8], cx
mov ecx, dword [edi + 0x10]
fld qword [ecx]
fstp qword [eax]
jmp case.0x423d98.86
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov esi, eax
mov eax, dword [edi + 0x10]
mov byte [edi], 0x48
mov dword [ebp - 0x28], eax
call fcn.0040af81
cmp byte [ebp - 0x40], 1
mov dword [edi + 4], eax
je 0x423fba
push 1
push dword [ebp - 0x28]
xor eax, eax
or ecx, 0xffffffff
mov edx, esi
call fcn.0041e9cb
mov dword [ebp - 0xc], eax
movzx eax, byte [ebp - 0x40]
push eax
mov eax, esi
call fcn.0041e0f6
add esp, 0xc
test eax, eax
jne 0x4251d9
and dword [esi + 0x18], eax
mov edi, dword [ebp - 8]
mov eax, 0x800
or word [esi + 8], ax
cmp byte [edi + 1], 0xf9
jne 0x423fa7
mov edx, dword [edi + 0x10]
test edx, edx
je 0x423fa7
mov ecx, dword [ebp - 0x10]
call fcn.00408d75
mov byte [edi + 1], 0xf9
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 4], eax
mov edi, dword [ebp - 8]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x10]
cmp eax, dword [ecx + 0x6c]
jg 0x428385
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov ecx, eax
mov eax, 0xa02
mov word [ecx + 8], ax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 4]
mov dword [ecx + 0xc], eax
mov al, byte [ebp - 0x40]
mov byte [ecx + 0xa], al
mov esi, dword [edi + 0xc]
test esi, esi
jle case.0x423d98.86
movzx eax, word [edi + 2]
imul esi, esi, 0x28
cdq
mov dword [ebp - 0x1c0], edx
mov edx, dword [ebp - 0x14]
mov edx, dword [esi + edx]
cmp edx, eax
jne case.0x423d98.86
mov eax, dword [ebp - 0x14]
mov eax, dword [esi + eax + 4]
cmp eax, dword [ebp - 0x1c0]
jne case.0x423d98.86
mov eax, 0xa10
mov word [ecx + 8], ax
jmp case.0x423d98.86
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov ecx, dword [edi + 4]
mov esi, eax
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 8]
neg ecx
sbb ecx, ecx
and dword [esi + 0xc], 0
and ecx, 0x100
inc ecx
movzx ecx, cx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
mov word [esi + 8], cx
test eax, eax
jle case.0x423d98.86
add esi, 0x28
mov eax, esi
call fcn.0041e751
and dword [esi + 0xc], 0
mov ax, word [ebp - 0x28]
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0
mov word [esi + 8], ax
jg 0x42406f
jmp case.0x423d98.86
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
mov edx, 0xff61
mov cx, word [eax + 8]
and cx, dx
or cx, 1
mov word [eax + 8], cx
jmp case.0x423d98.86
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov ecx, dword [edi + 4]
mov esi, eax
push 0
push dword [edi + 0x10]
xor eax, eax
mov edx, esi
call fcn.0041e9cb
mov al, byte [ebp - 0x40]
pop ecx
pop ecx
mov byte [esi + 0xa], al
jmp case.0x423d98.86
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x74]
imul eax, eax, 0x28
lea esi, [eax + ecx - 0x28]
mov ecx, esi
call fcn.0041e8b8
test eax, eax
jne 0x428385
push 0x800
push esi
mov eax, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
push eax
call fcn.0041e8ed
add esp, 0xc
jmp case.0x423d98.86
mov ebx, dword [edi + 4]
mov esi, dword [edi + 8]
imul ebx, ebx, 0x28
mov eax, dword [edi + 0xc]
imul esi, esi, 0x28
add ebx, dword [ebp - 0x14]
add esi, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, esi
call fcn.0041e9ab
mov eax, 0x1000
test word [esi + 8], ax
je 0x424151
call fcn.0041e212
test eax, eax
jne 0x4251d6
mov edi, dword [ebp - 8]
add ebx, 0x28
add esi, 0x28
dec dword [ebp - 0x1c]
jne 0x42412f
mov ebx, dword [ebp + 8]
jmp case.0x423d98.86
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 8]
mov dword [ebp - 0x24], eax
imul esi, esi, 0x28
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
add esi, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
push 0x1000
push eax
push esi
call fcn.0041e8ed
mov eax, 0x1000
add esp, 0xc
test word [esi + 8], ax
je 0x4241a9
call fcn.0041e212
test eax, eax
jne 0x4251d9
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
dec dword [ebp - 0x24]
test eax, eax
je case.0x423d98.86
add esi, 0x28
add dword [ebp - 0x18], 0x28
mov eax, dword [ebp - 0x18]
jmp 0x42417f
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
push 0x1000
push eax
jmp 0x424100
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x14]
imul eax, eax, 0x28
push dword [eax + ecx + 4]
push dword [eax + ecx]
mov eax, dword [edi + 8]
imul eax, eax, 0x28
add eax, ecx
call fcn.0041e7b4
pop ecx
pop ecx
jmp case.0x423d98.86
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
imul eax, eax, 0x28
mov esi, dword [edi + 0xc]
imul ecx, ecx, 0x28
add eax, dword [ebp - 0x14]
imul esi, esi, 0x28
add ecx, dword [ebp - 0x14]
movzx edx, word [eax + 8]
add esi, dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
mov cl, byte [ecx + 8]
or cl, dl
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
test cl, 1
je 0x424239
mov eax, esi
call fcn.0041e751
jmp case.0x423d98.86
mov edi, 0x4000
test dword [ebp - 0x1c], edi
je 0x42424a
call fcn.0041e25c
jmp 0x42424c
xor eax, eax
test eax, eax
jne 0x4251d9
mov eax, dword [ebp - 0x20]
test word [eax + 8], di
je 0x424264
call fcn.0041e25c
jmp 0x424266
xor eax, eax
test eax, eax
jne 0x4251d9
mov eax, dword [ebp - 0x18]
test byte [eax + 8], 0x12
jne 0x42428b
push 0
push dword [ebp - 0x40]
call fcn.0041e2bf
pop ecx
pop ecx
test eax, eax
jne 0x4251d9
mov ecx, dword [ebp - 0x20]
test byte [ecx + 8], 0x12
jne 0x4242ad
push 0
push dword [ebp - 0x40]
mov eax, ecx
call fcn.0041e2bf
pop ecx
pop ecx
test eax, eax
jne 0x4251d9
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xc]
add eax, dword [ecx + 0xc]
cdq
mov edi, eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x6c]
mov ecx, edx
cdq
cmp ecx, edx
jg 0x428385
jl 0x4242d4
cmp edi, eax
ja 0x428385
xor eax, eax
cmp esi, dword [ebp - 0x20]
sete al
push eax
lea eax, [edi + 2]
call fcn.0041e10e
pop ecx
test eax, eax
jne 0x4251d9
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 2
mov word [esi + 8], ax
mov eax, dword [ebp - 0x20]
cmp esi, eax
je 0x42431a
push dword [eax + 0xc]
push dword [eax + 0x10]
push dword [esi + 0x10]
call fcn.0055bc50
add esp, 0xc
mov eax, dword [ebp - 0x18]
push dword [eax + 0xc]
mov ecx, dword [ebp - 0x20]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
add eax, dword [ecx + 0xc]
push eax
call fcn.0055bc50
mov eax, dword [esi + 0x10]
mov byte [edi + eax], 0
mov eax, dword [esi + 0x10]
mov byte [edi + eax + 1], 0
mov eax, 0x200
add esp, 0xc
or word [esi + 8], ax
mov al, byte [ebp - 0x40]
mov dword [esi + 0xc], edi
mov byte [esi + 0xa], al
jmp 0x4258b6
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
mov eax, esi
call fcn.00423c84
movzx eax, ax
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
call fcn.00423c84
movzx ecx, ax
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], ecx
and cl, byte [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x20]
mov ax, word [eax + 8]
or ax, word [esi + 8]
movzx eax, ax
test cl, 4
je 0x424497
mov edx, dword [ebp - 0x20]
mov edx, dword [edx]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x84], edx
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + 4]
mov dword [ebp - 0x80], edx
movzx edx, byte [edi]
sub edx, 0x60
mov byte [ebp - 0x41], 1
je 0x42446e
dec edx
je 0x42445f
dec edx
je 0x42444c
dec edx
mov edx, eax
je 0x42440e
or edx, ecx
je 0x42459e
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x4243fc
xor eax, eax
inc eax
xor ecx, ecx
push ecx
push eax
push dword [ebp - 0x80]
push dword [ebp - 0x84]
call fcn.00562790
jmp 0x424441
or edx, ecx
je 0x42459e
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x424431
cmp dword [ebp - 0x84], 0
jne 0x424431
cmp dword [ebp - 0x80], 0x80000000
je 0x4244a3
push ecx
push eax
push dword [ebp - 0x80]
push dword [ebp - 0x84]
call fcn.005626e0
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
jmp 0x424484
push ecx
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040be65
add esp, 0xc
jmp 0x424480
push ecx
push eax
lea eax, [ebp - 0x84]
call fcn.0040be19
jmp 0x42447e
push ecx
push eax
lea edi, [ebp - 0x84]
call fcn.0040bd95
mov edi, dword [ebp - 8]
pop ecx
pop ecx
test eax, eax
jne 0x4244a3
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x80]
jmp 0x4246f3
test al, 1
jne 0x42459e
mov byte [ebp - 0x41], 0
mov ecx, esi
call fcn.0041e528
fstp qword [ebp - 0x4c]
mov ecx, dword [ebp - 0x20]
call fcn.0041e528
movzx eax, byte [edi]
sub eax, 0x60
je 0x424541
dec eax
je 0x42453c
dec eax
je 0x424537
dec eax
je 0x424526
fld qword [ebp - 0x4c]
call fcn.0055c896
mov esi, eax
mov dword [ebp - 0xe0], edx
call fcn.0055c896
mov ecx, esi
or ecx, dword [ebp - 0xe0]
je 0x42459e
mov ecx, esi
and ecx, dword [ebp - 0xe0]
cmp ecx, 0xffffffff
jne 0x424504
xor esi, esi
inc esi
and dword [ebp - 0xe0], 0
push dword [ebp - 0xe0]
push esi
push edx
push eax
call fcn.00562790
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], edx
fild qword [ebp - 0x144]
jmp 0x424544
fldz
fcomp qword [ebp - 0x4c]
fnstsw ax
test ah, 0x44
jnp 0x42459c
fdiv qword [ebp - 0x4c]
jmp 0x424544
fmul qword [ebp - 0x4c]
jmp 0x424544
fsub qword [ebp - 0x4c]
jmp 0x424544
fadd qword [ebp - 0x4c]
fstp qword [ebp - 0x4c]
push ecx
fld qword [ebp - 0x4c]
push ecx
fstp qword [esp]
call fcn.0040af58
add esp, 8
test eax, eax
jne 0x42459e
mov eax, dword [ebp - 0x18]
fld qword [ebp - 0x4c]
mov cx, word [eax + 8]
fstp qword [eax]
mov edx, 0x3e00
and cx, dx
or cx, 8
mov word [eax + 8], cx
mov al, byte [ebp - 0x28]
or al, byte [ebp - 0x1c]
test al, 8
jne case.0x423d98.86
cmp byte [ebp - 0x41], 0
jne case.0x423d98.86
mov esi, dword [ebp - 0x18]
call fcn.0041e577
jmp case.0x423d98.86
fstp st(0)
mov eax, dword [ebp - 0x18]
jmp 0x42422f
mov eax, dword [edi + 4]
test eax, eax
je case.0x423d98.86
push 0
push 0
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
jmp 0x4241ef
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
imul eax, eax, 0x28
mov esi, dword [edi + 4]
imul ecx, ecx, 0x28
add eax, dword [ebp - 0x14]
imul esi, esi, 0x28
add ecx, dword [ebp - 0x14]
add esi, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov al, byte [ecx + 8]
or al, byte [esi + 8]
test al, 1
jne 0x42459e
call fcn.0041e4bf
mov ecx, esi
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
call fcn.0041e4bf
mov esi, eax
mov al, byte [edi]
cmp al, 0x5c
jne 0x42460d
and dword [ebp - 0x64], esi
and dword [ebp - 0x60], edx
jmp 0x4246e8
cmp al, 0x5d
jne 0x42461c
or dword [ebp - 0x64], esi
or dword [ebp - 0x60], edx
jmp 0x4246e8
mov ecx, esi
or ecx, edx
je 0x4246e8
test edx, edx
jg 0x42465b
jl 0x424630
test esi, esi
jae 0x424650
mov cl, 0xbd
sub cl, al
cmp edx, 0xffffffff
mov al, cl
jl 0x42464b
jg 0x424642
cmp esi, 0xffffffc0
jbe 0x42464b
neg esi
adc edx, 0
neg edx
jmp 0x424650
push 0x40
pop esi
xor edx, edx
test edx, edx
jl 0x42467d
jg 0x42465b
cmp esi, 0x40
jb 0x42467d
cmp dword [ebp - 0x60], 0
jg 0x424672
jl 0x424669
cmp dword [ebp - 0x64], 0
jae 0x424672
cmp al, 0x5e
je 0x424672
or eax, 0xffffffff
jmp 0x424674
xor eax, eax
cdq
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
jmp 0x4246e8
mov edx, dword [ebp - 0x60]
cmp al, 0x5e
mov eax, dword [ebp - 0x64]
mov ecx, esi
jne 0x42469c
call fcn.0055e240
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], edx
jmp 0x4246d6
call fcn.0055e260
cmp dword [ebp - 0x60], 0
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], edx
jg 0x4246d6
jl 0x4246bb
cmp dword [ebp - 0x64], 0
jae 0x4246d6
push 0x40
pop ecx
or edx, 0xffffffff
sub ecx, esi
mov eax, edx
call fcn.0055e240
or dword [ebp - 0xac], eax
or dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x60]
mov dword [eax + 4], ecx
mov cx, word [eax + 8]
mov edx, 0x3e00
and cx, dx
or cx, 4
jmp 0x4240ac
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
call fcn.0041e5d4
mov eax, dword [edi + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.0x423d98.86
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
movzx eax, word [esi + 8]
test al, 4
jne 0x424764
push dword [ebp - 0x40]
mov eax, esi
push 0x43
call fcn.00423bac
movzx eax, word [esi + 8]
pop ecx
pop ecx
test al, 4
jne 0x424764
cmp dword [edi + 8], 0
jne 0x425e07
mov dword [ebp - 0xc], 0x14
jmp 0x42839e
and eax, 0x3e00
or eax, 4
mov word [esi + 8], ax
jmp case.0x423d98.86
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
test byte [esi + 8], 4
je case.0x423d98.86
call fcn.0041e5f7
jmp case.0x423d98.86
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
mov eax, 0x4000
test word [esi + 8], ax
je 0x4247b2
mov eax, esi
call fcn.0041e25c
mov dword [ebp - 0xc], eax
jmp 0x4247b6
and dword [ebp - 0xc], 0
push dword [ebp - 0x40]
mov cl, byte [edi + 8]
mov eax, esi
call fcn.0041e6c3
pop ecx
cmp dword [ebp - 0xc], 0
jne 0x42839e
jmp 0x4258b6
mov esi, dword [edi + 0xc]
mov ecx, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
movzx edx, word [esi + 8]
movzx eax, word [ecx + 8]
mov dword [ebp - 0x20], edx
or edx, eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x34], eax
test dl, 1
je 0x4248c7
movzx eax, word [edi + 2]
test al, al
jns 0x424895
mov al, byte [ebp - 0x20]
and al, byte [ebp - 0x34]
test al, 1
je 0x424827
test dword [ebp - 0x20], 0x100
jne 0x424827
xor eax, eax
jmp 0x4249dd
xor eax, eax
inc eax
movzx ecx, byte [edi]
movzx ecx, byte [ecx + 0x5d6db4]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x18]
mov dx, word [ebp - 0x34]
mov word [ecx + 8], dx
mov cx, word [ebp - 0x20]
mov word [esi + 8], cx
movzx edx, word [edi + 2]
test dl, 0x20
je 0x4249ec
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
mov dword [ebp - 0x78], eax
test dl, 8
je 0x424879
xor eax, eax
cmp byte [edi], 0x35
sete al
cmp eax, dword [ebp - 0x38]
je case.0x423d98.86
mov ax, word [ecx + 8]
mov edx, 0x3e00
and ax, dx
or ax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x38]
jmp 0x423ef4
test al, 0x20
je 0x4248c0
mov eax, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
xor ecx, ecx
mov dx, word [eax + 8]
mov esi, 0x3e00
inc ecx
and dx, si
or dx, cx
mov dword [ebp - 0x78], ecx
mov word [eax + 8], dx
jmp case.0x423d98.86
test al, 0x10
jmp 0x423e05
mov al, byte [edi + 2]
and al, 0x47
cmp al, 0x43
jl 0x42494c
test dl, 2
je 0x424909
mov al, byte [ebp - 0x34]
and al, 0xe
cmp al, 2
jne 0x4248f3
mov eax, dword [ebp - 0x18]
push 0
call fcn.00423b2d
movzx eax, word [esi + 8]
pop ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov al, byte [ebp - 0x20]
and al, 0xe
cmp al, 2
jne 0x424909
push 0
mov eax, esi
call fcn.00423b2d
pop ecx
mov ecx, dword [ebp - 0x18]
mov al, byte [ecx + 8]
and al, byte [esi + 8]
test al, 4
je 0x4249b0
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 4]
jl 0x42492f
jg 0x424827
mov eax, dword [ecx]
cmp dword [esi], eax
ja 0x424827
mov eax, dword [ecx + 4]
cmp dword [esi + 4], eax
jg 0x424820
jl 0x424947
mov eax, dword [ecx]
cmp dword [esi], eax
jae 0x424820
or eax, 0xffffffff
jmp 0x4249c5
cmp al, 0x42
jne 0x4249b0
test byte [ebp - 0x34], 2
jne 0x424982
test byte [ebp - 0x34], 0xc
je 0x424982
mov eax, dword [ebp - 0x18]
push 1
push dword [ebp - 0x40]
call fcn.0041e2bf
mov eax, dword [ebp - 0x18]
mov ax, word [eax + 8]
xor ax, word [ebp - 0x34]
pop ecx
pop ecx
mov ecx, 0x3e00
and ax, cx
xor word [ebp - 0x34], ax
test byte [ebp - 0x20], 2
jne 0x4249b0
test byte [ebp - 0x20], 0xc
je 0x4249b0
push 1
push dword [ebp - 0x40]
mov eax, esi
call fcn.0041e2bf
mov ax, word [esi + 8]
xor ax, word [ebp - 0x20]
pop ecx
pop ecx
mov ecx, 0x3e00
and ax, cx
xor word [ebp - 0x20], ax
push dword [edi + 0x10]
mov edx, dword [ebp - 0x18]
mov eax, esi
call fcn.0042171e
pop ecx
test eax, eax
jge 0x4249d7
mov ecx, dword [ebp - 0x18]
movzx edx, byte [edi]
movzx edx, byte [edx + 0x5d6da4]
mov dword [ebp - 0x38], edx
jmp 0x42483a
jne 0x42482a
movzx ecx, byte [edi]
movzx ecx, byte [ecx + 0x5d6dac]
jmp 0x424834
cmp dword [ebp - 0x38], 0
jmp 0x423e05
cmp dword [ebp - 0x78], 0
jmp 0x423e05
test byte [edi + 2], 1
jne 0x424a0a
and dword [ebp - 0x1c], 0
jmp 0x424a13
mov eax, dword [edi - 4]
add eax, 4
mov dword [ebp - 0x1c], eax
mov edx, dword [edi + 4]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x70], edx
mov edx, dword [edi + 8]
xor esi, esi
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x48], edx
test eax, eax
jle case.0x423d98.86
add ecx, 0x14
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x424a47
mov eax, dword [eax + esi*4]
jmp 0x424a49
mov eax, esi
mov edx, dword [ebp - 0x28]
mov edx, dword [edx + 0x10]
movzx edx, byte [edx + esi]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
push ecx
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x30], edx
lea edx, [eax + ecx]
mov ecx, dword [ebp - 0x70]
imul edx, edx, 0x28
add edx, dword [ebp - 0x14]
add eax, ecx
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
call fcn.0042171e
pop ecx
mov dword [ebp - 0x78], eax
test eax, eax
jne 0x424a8f
add dword [ebp - 0x24], 4
inc esi
cmp esi, dword [ebp - 0x58]
jl 0x424a3b
jmp case.0x423d98.86
cmp dword [ebp - 0x30], 0
je case.0x423d98.86
neg dword [ebp - 0x78]
jmp case.0x423d98.86
cmp dword [ebp - 0x78], 0
jge 0x424ab9
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x3c]
imul eax, eax, 0x14
lea eax, [eax + ecx - 0x14]
jmp 0x423ede
mov ecx, dword [ebp - 0x3c]
jne 0x424ac3
mov eax, dword [edi + 8]
jmp 0x424aad
mov eax, dword [edi + 0xc]
jmp 0x424aad
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
push 2
call fcn.0041e546
pop ecx
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
push 2
mov esi, eax
call fcn.0041e546
imul esi, esi, 3
cmp byte [edi], 0x2c
pop ecx
jne 0x424afe
movzx eax, byte [esi + eax + 0x5d6d94]
jmp 0x424b06
movzx eax, byte [esi + eax + 0x5d6df0]
mov ecx, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
cmp eax, 2
jne 0x424b29
mov ax, word [ecx + 8]
mov edx, 0x3e00
and ax, dx
or ax, 1
jmp 0x42402e
cdq
mov dword [ecx], eax
mov ax, word [ecx + 8]
mov dword [ecx + 4], edx
mov edx, 0x3e00
and ax, dx
or ax, 4
jmp 0x42402e
mov ecx, dword [edi + 4]
push dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
call fcn.0041e546
xor eax, dword [edi + 0x10]
pop ecx
cdq
push edx
push eax
mov eax, dword [edi + 8]
jmp 0x4245b5
mov ecx, dword [edi + 4]
mov esi, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
test byte [ecx + 8], 1
jne 0x42422d
push 0
call fcn.0041e546
neg eax
sbb eax, eax
inc eax
cdq
pop ecx
push edx
push eax
mov eax, esi
jmp 0x4241ef
mov eax, dword [edi + 4]
mov esi, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, esi
call fcn.0041e751
mov ecx, dword [ebp - 0x18]
test byte [ecx + 8], 1
jne case.0x423d98.86
push 4
pop eax
mov word [esi + 8], ax
call fcn.0041e4bf
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x423d98.86
mov ecx, dword [ebx + 0xc4]
test ecx, ecx
je 0x424c26
mov eax, edi
sub eax, dword [ebx + 0x58]
push 0x14
cdq
pop esi
idiv esi
mov edx, dword [ecx + 0x18]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
mov esi, eax
and eax, 7
mov dword [ebp - 0x48], eax
mov ecx, eax
mov eax, dword [ebp - 0x28]
shl eax, cl
shr esi, 3
test byte [esi + edx], al
jne 0x425e07
mov eax, dword [ebx + 0xc4]
mov eax, dword [eax + 0x18]
add esi, eax
mov al, 1
shl al, cl
or byte [esi], al
jmp 0x424c35
mov eax, dword [ebx + 0x58]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 4]
je 0x425e07
mov eax, dword [ebx + 0x58]
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
jmp case.0x423d98.86
mov ecx, dword [edi + 4]
push dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
call fcn.0041e546
pop ecx
test eax, eax
jmp 0x423e05
mov ecx, dword [edi + 4]
xor eax, eax
cmp dword [edi + 0xc], eax
sete al
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
push eax
call fcn.0041e546
pop ecx
test eax, eax
je 0x425e07
jmp case.0x423d98.86
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x14]
imul eax, eax, 0x28
test byte [eax + ecx + 8], 1
jmp 0x423e05
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x14]
imul eax, eax, 0x28
test byte [eax + ecx + 8], 1
jmp 0x424c76
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 2], 0
je case.0x423d98.86
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
call fcn.0041e751
jmp 0x425e07
mov ecx, dword [ebx + 0x70]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x50], eax
mov eax, dword [edi + 8]
lea ecx, [ebp - 0x94]
lea edx, [ebp - 0x50]
mov dword [ebp - 0x94], eax
call fcn.004210e2
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov esi, dword [ebp - 0x50]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
mov edi, dword [esi + 0x48]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x38], edi
cmp eax, dword [ebx + 0x20]
je 0x424dd2
cmp byte [esi + 2], 0
je 0x424d4e
cmp byte [esi], 3
jne 0x424d41
mov eax, dword [esi + 0x20]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], ecx
mov eax, dword [eax + 0x10]
mov dword [esi + 0x4c], eax
jmp 0x424d80
mov eax, dword [ebp - 0x18]
call fcn.0041e751
jmp 0x4258b6
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x28], ecx
call fcn.00418bf8
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0x2c]
mov dword [esi + 0x50], eax
lea eax, [esi + 0x54]
push eax
call fcn.0041900b
mov ecx, dword [ebp - 0x10]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x50]
add esp, 4
cmp eax, dword [ecx + 0x6c]
ja 0x428385
mov eax, dword [ebx + 0x20]
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x424d99
movzx eax, al
mov dword [edi], eax
xor eax, eax
inc eax
jmp 0x424da1
call fcn.0040bc25
movzx eax, al
movzx eax, al
mov dword [esi + 0x30], eax
xor eax, eax
mov word [esi + 0x3a], ax
mov eax, dword [esi + 0x54]
cmp eax, dword [edi]
jae 0x424e33
and dword [esi + 0x4c], 0
and dword [esi + 0x54], 0
mov eax, dword [edi]
cmp eax, 0x18003
ja 0x424f35
cmp eax, dword [esi + 0x50]
ja 0x424f35
movzx ecx, word [esi + 0x3a]
mov eax, dword [ebp - 0x94]
cmp ecx, eax
jg 0x424fab
mov eax, dword [esi + 0x30]
cmp eax, dword [edi]
jae 0x424f76
cmp dword [esi + 0x4c], 0
jne 0x424e33
push 0xa
xor eax, eax
pop ecx
lea edi, [ebp - 0x274]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x28]
lea eax, [ebp - 0x274]
xor esi, esi
call fcn.0041ebae
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
mov eax, dword [ebp - 0x264]
mov esi, dword [ebp - 0x50]
mov edi, dword [ebp - 0x38]
jmp 0x424e36
mov eax, dword [esi + 0x4c]
mov edx, dword [edi]
and dword [ebp - 0x88], 0
mov dword [ebp - 0x34], eax
movzx eax, word [esi + 0x3a]
mov ecx, dword [edi + eax*4]
mov dword [ebp - 0x8c], ecx
mov ecx, dword [esi + 0x30]
add ecx, dword [ebp - 0x34]
add edx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
lea eax, [esi + eax*4 + 0x58]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x30], eax
movzx eax, byte [ecx]
mov dword [ebp - 0x20], eax
cmp eax, 0x80
jae 0x424e92
movzx eax, al
movzx eax, byte [eax + 0x5d6cf0]
cdq
inc ecx
add dword [ebp - 0x8c], eax
mov dword [ebp - 0x74], ecx
adc dword [ebp - 0x88], edx
jmp 0x424ebb
mov ecx, dword [ebp - 0x74]
lea edi, [ebp - 0x20]
call fcn.0040bc25
movzx eax, al
add dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x20]
call fcn.0042120b
add dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x74]
adc dword [ebp - 0x88], 0
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x38]
add dword [ebp - 0x30], 4
mov dword [edx], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x8c]
inc eax
cmp eax, dword [ebp - 0x94]
mov dword [ebp - 0x1c], eax
mov dword [edi + eax*4], edx
jg 0x424ee7
cmp ecx, dword [ebp - 0x24]
jb 0x424e68
cmp ecx, dword [ebp - 0x24]
jb 0x424f03
ja 0x424f1a
mov eax, dword [esi + 0x50]
xor edx, edx
cmp dword [ebp - 0x8c], eax
jne 0x424f1a
cmp dword [ebp - 0x88], edx
jne 0x424f1a
mov eax, dword [esi + 0x50]
xor edx, edx
cmp dword [ebp - 0x88], edx
jb 0x424f56
ja 0x424f1a
cmp dword [ebp - 0x8c], eax
jbe 0x424f56
xor eax, eax
cmp dword [edi], eax
jne 0x424f25
mov ecx, dword [ebp - 0x24]
jmp 0x424f59
cmp dword [esi + 0x4c], eax
jne 0x424f35
lea eax, [ebp - 0x274]
call fcn.0041e42d
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0xc]
test eax, eax
jg 0x424aad
push 0x14ebc
call fcn.0045cbec
pop ecx
mov dword [ebp - 0xc], eax
jmp 0x42839e
mov eax, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x34]
mov word [esi + 0x3a], ax
mov dword [esi + 0x30], ecx
cmp dword [esi + 0x4c], 0
jne 0x424f7a
lea eax, [ebp - 0x274]
call fcn.0041e42d
jmp 0x424f7a
and dword [ebp - 0x20], 0
movzx eax, word [esi + 0x3a]
cmp eax, dword [ebp - 0x94]
jg 0x424fb2
mov eax, dword [ebp - 8]
cmp byte [eax + 1], 0xf5
jne 0x424d41
push 0x800
push dword [eax + 0x10]
push dword [ebp - 0x18]
call fcn.0041e8ed
add esp, 0xc
jmp 0x4258b6
mov eax, dword [esi + eax*4 + 0x58]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x18]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x424fc7
mov eax, ecx
call fcn.0041e751
mov eax, dword [ebp - 0x94]
lea edi, [edi + eax*4]
mov eax, dword [esi + 0x54]
cmp eax, dword [edi + 4]
jb 0x42506c
mov ecx, dword [esi + 0x4c]
add ecx, dword [edi]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x34], ecx
cmp edi, 0xc
jae 0x424ffc
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
call fcn.004212f0
jmp 0x4258b6
mov edx, dword [ebp - 0x18]
mov al, byte [ebp - 0x40]
add edi, 0xfffffff4
shr edi, 1
mov byte [edx + 0xa], al
lea eax, [edi + 2]
cmp dword [edx + 0x18], eax
mov dword [edx + 0xc], edi
mov esi, edx
jge 0x425033
xor ecx, ecx
inc ecx
push 0
mov word [esi + 8], cx
call fcn.0041e10e
pop ecx
test eax, eax
jne 0x4251d9
mov ecx, dword [ebp - 0x34]
jmp 0x425039
mov eax, dword [edx + 0x14]
mov dword [edx + 0x10], eax
push edi
push ecx
push dword [esi + 0x10]
call fcn.0055bc50
mov eax, dword [esi + 0x10]
mov byte [edi + eax], 0
mov eax, dword [esi + 0x10]
mov byte [eax + edi + 1], 0
mov eax, dword [ebp - 0x20]
add esp, 0xc
and eax, 1
mov ax, word [eax*2 + 0x5d6dfc]
mov word [esi + 8], ax
jmp 0x4258b6
mov al, byte [ebp - 0x40]
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0xa], al
mov eax, dword [ebp - 8]
movzx eax, word [eax + 2]
test al, 0xc0
je 0x425090
cmp dword [ebp - 0x20], 0xc
jb 0x42508c
test byte [ebp - 0x20], 1
je 0x42509e
test al, al
js 0x42509e
mov eax, dword [ebp - 0x20]
call fcn.0042120b
mov edx, eax
test edx, edx
jne 0x4250a8
mov ecx, 0x5e98e4
jmp 0x424fec
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x18]
mov esi, dword [edi]
mov ecx, dword [ecx + 0x28]
call fcn.0041ebae
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ecx, dword [esi + 0x10]
mov eax, esi
call fcn.004212f0
mov eax, 0xefff
and word [esi + 8], ax
jmp 0x4258b6
mov esi, dword [edi + 4]
mov eax, dword [edi + 0x10]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
movzx eax, byte [eax]
push dword [ebp - 0x40]
push eax
mov eax, esi
call fcn.00423bac
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov al, byte [eax]
pop ecx
add esi, 0x28
pop ecx
test al, al
jne 0x4250f3
jmp case.0x423d98.86
mov eax, dword [edi + 4]
mov edx, dword [edi + 8]
imul eax, eax, 0x28
mov esi, dword [edi + 0x10]
imul edx, edx, 0x28
mov edi, dword [edi + 0xc]
add eax, dword [ebp - 0x14]
imul edi, edi, 0x28
add edi, dword [ebp - 0x14]
xor ecx, ecx
lea edx, [edx + eax - 0x28]
mov dword [ebp - 0x50], edx
movzx edx, byte [ebx + 0x8f]
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], edi
cmp esi, ecx
je 0x425183
mov ebx, eax
movzx eax, byte [esi]
push dword [ebp - 0x40]
push eax
mov eax, ebx
call fcn.00423bac
add ebx, 0x28
inc esi
mov al, byte [esi]
pop ecx
pop ecx
test al, al
jne 0x42516c
mov eax, dword [ebp - 0x50]
mov esi, dword [ebp - 0xdc]
push dword [ebp - 0x28]
lea ebx, [ebp - 0xb0]
mov edx, eax
mov dword [ebp - 0x34], eax
call fcn.00421124
pop ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov eax, 0x4000
test word [ecx + 8], ax
je 0x425211
cmp dword [ebp - 0x38], 0
jne 0x4251c0
mov dword [ebp - 0x38], 0xa
jmp 0x425211
mov eax, esi
or eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x34]
je 0x4251fa
call fcn.0041e25c
test eax, eax
je 0x425211
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
call fcn.0040922a
push str.out_of_memory
mov edi, ebx
call fcn.0041f0e0
pop ecx
mov dword [ebp - 0xc], 7
jmp 0x42839e
mov ecx, dword [eax]
mov eax, ecx
cdq
add dword [ebp - 0x9c], eax
adc dword [ebp - 0x98], edx
sub dword [ebp - 0xb0], ecx
add esi, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xd8]
adc ebx, 0
cmp dword [ebp - 0x38], 0x7f
mov dword [ebp - 0xd8], ebx
ja 0x425231
xor eax, eax
inc eax
jmp 0x42523d
push 0
push dword [ebp - 0x38]
call fcn.0040bc87
pop ecx
pop ecx
add dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
mov dword [eax + 0x1c], ecx
cmp eax, dword [ebp - 0x30]
je 0x425256
sub eax, 0x28
jmp 0x42518c
cmp dword [ebp - 0x20], 0x7e
jle 0x425280
mov eax, dword [ebp - 0x20]
cdq
push edx
push eax
call fcn.0040bc87
add dword [ebp - 0x20], eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
cdq
push edx
push eax
call fcn.0040bc87
add esp, 0x10
cmp dword [ebp - 0x28], eax
jge 0x425283
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cdq
add esi, eax
adc ebx, edx
mov ecx, esi
mov esi, dword [edi + 0x18]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x15c], ecx
add ecx, dword [ebp - 0x9c]
mov eax, ebx
adc eax, dword [ebp - 0x98]
mov dword [ebp - 0x110], edx
mov ebx, eax
mov eax, esi
cdq
cmp ebx, edx
jg 0x4252c7
jl 0x4252bf
cmp ecx, eax
ja 0x4252c7
mov eax, dword [edi + 0x14]
mov dword [edi + 0x10], eax
jmp 0x42530b
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x6c]
cdq
cmp ebx, edx
jg 0x428382
jl 0x4252e0
cmp ecx, eax
ja 0x428382
mov eax, dword [ebp - 0x15c]
cmp esi, eax
jge 0x4252f6
push 0
mov esi, edi
call fcn.0041e10e
pop ecx
jmp 0x425303
mov eax, dword [edi + 0x14]
and word [edi + 8], 0xd
mov dword [edi + 0x10], eax
xor eax, eax
test eax, eax
jne 0x4251d6
mov ecx, dword [ebp - 0x20]
mov ebx, dword [edi + 0x10]
cmp ecx, 0x80
jae 0x425320
xor eax, eax
mov byte [ebx], cl
inc eax
jmp 0x425338
push dword [ebp - 0x110]
mov esi, ebx
push dword [ebp - 0x114]
call fcn.0040ba42
pop ecx
pop ecx
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x30]
movzx eax, al
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x34], esi
mov edx, dword [esi + 0x1c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], edx
cmp edx, 0x80
jae 0x425360
mov byte [eax + ebx], dl
xor eax, eax
inc eax
jmp 0x425373
push 0
push edx
lea esi, [eax + ebx]
call fcn.0040ba42
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
pop ecx
pop ecx
movzx eax, al
add dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x1c]
lea edi, [eax + ebx]
mov eax, esi
call fcn.00421220
add dword [ebp - 0x1c], eax
add esi, 0x28
mov dword [ebp - 0x34], esi
cmp esi, dword [ebp - 0x50]
jbe 0x425347
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x15c]
mov edi, dword [ebp - 8]
mov ebx, dword [ebp + 8]
mov dword [eax + 0xc], ecx
push 0x10
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x9c]
mov edx, ecx
or edx, dword [ebp - 0x98]
je case.0x423d98.86
mov dword [eax], ecx
mov ecx, 0x4010
jmp 0x4240ac
mov ecx, dword [ebx + 0x70]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax + 0x28]
and dword [ebp - 0xec], 0
and dword [ebp - 0xe8], 0
lea ecx, [ebp - 0xec]
push ecx
call fcn.0041c949
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
mov eax, dword [ebp - 8]
mov ecx, ebx
call fcn.00423cb6
mov ecx, dword [ebp - 0xec]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xe8]
mov dword [eax + 4], ecx
jmp 0x4258b6
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x24], ecx
test eax, eax
jne 0x4254e7
mov edi, dword [ebp - 0x10]
cmp dword [edi + 0xb4], eax
jg 0x427ff0
mov eax, ecx
call fcn.0040af81
mov esi, eax
mov eax, dword [edi + 0x1c8]
add eax, dword [edi + 0x1c4]
push eax
push 0
call fcn.0044d052
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
lea eax, [esi + 0x21]
push 0
push eax
mov ecx, edi
call fcn.00408fec
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4247c4
inc esi
push esi
push dword [ebp - 0x24]
lea eax, [edi + 0x20]
push eax
mov dword [edi], eax
call fcn.0055bc50
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp byte [eax + 0x4f], 0
je 0x4254ab
mov byte [eax + 0x4f], 0
mov byte [eax + 0x57], 1
jmp 0x4254b1
inc dword [eax + 0x1c4]
lea ecx, [eax + 0x1bc]
mov edx, dword [ecx]
mov dword [edi + 0x18], edx
mov dword [ecx], edi
mov ecx, dword [eax + 0x1d0]
mov dword [edi + 8], ecx
mov ecx, dword [eax + 0x1d4]
mov dword [edi + 0xc], ecx
mov ecx, dword [eax + 0x1d8]
mov dword [edi + 0x10], ecx
mov eax, dword [eax + 0x1dc]
mov dword [edi + 0x14], eax
jmp 0x4247c4
mov esi, dword [ebp - 0x10]
mov edi, dword [esi + 0x1bc]
and dword [ebp - 0x20], 0
mov dword [ebp - 0x50], edi
test edi, edi
je 0x427ffa
mov eax, dword [ebp - 0x24]
mov ecx, dword [edi]
call fcn.0040b13b
test eax, eax
je 0x42551a
mov edi, dword [edi + 0x18]
inc dword [ebp - 0x20]
mov dword [ebp - 0x50], edi
test edi, edi
jne 0x4254ff
xor ecx, ecx
cmp edi, ecx
je 0x427ffa
xor eax, eax
inc eax
cmp dword [esi + 0xb4], ecx
jle 0x425538
cmp dword [ebp - 0x34], eax
je 0x42800f
cmp dword [edi + 0x18], ecx
jne 0x425586
cmp byte [esi + 0x57], 0
je 0x425586
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x34], eax
jne 0x425589
push eax
mov eax, ebx
call fcn.00420b12
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x428435
mov edi, ebx
mov byte [esi + 0x4f], 1
call fcn.00420b72
push 5
pop ecx
cmp eax, ecx
je 0x4281c2
mov byte [esi + 0x57], 0
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0xc], eax
mov edi, esi
jmp 0x42564f
mov dword [ebp - 0x30], ecx
mov edx, dword [esi + 0x1c4]
sub edx, dword [ebp - 0x20]
dec edx
cmp dword [ebp - 0x34], 2
mov dword [ebp - 0x20], edx
jne 0x4255f0
mov edi, dword [esi + 0x18]
and edi, eax
cmp dword [esi + 0x14], ecx
mov dword [ebp - 0x38], ecx
jle 0x4255f2
xor eax, eax
test edi, edi
sete al
and dword [ebp - 0x1c], 0
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp - 0x1c]
push 0x204
push dword [ecx + eax + 4]
call fcn.004188e2
add esp, 0xc
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
inc dword [ebp - 0x38]
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
add dword [ebp - 0x1c], 0x10
cmp eax, dword [esi + 0x14]
jl 0x4255b7
jmp 0x4255f2
xor edi, edi
and dword [ebp - 0x38], 0
cmp dword [esi + 0x14], 0
jle 0x425634
xor esi, esi
push dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
push dword [ebp - 0x34]
mov ebx, dword [esi + eax + 4]
call fcn.00418a22
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839b
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x38]
add esi, 0x10
cmp ecx, dword [eax + 0x14]
jl 0x4255fe
mov ebx, dword [ebp + 8]
test edi, edi
mov edi, dword [ebp - 0x10]
je 0x42564f
xor edx, edx
mov eax, edi
call fcn.0042212f
mov eax, edi
call fcn.00434c4b
or dword [edi + 0x18], 1
mov esi, dword [ebp - 0x50]
jmp 0x425670
mov edx, dword [edi + 0x1bc]
mov eax, dword [edx + 0x18]
mov ecx, edi
mov dword [edi + 0x1bc], eax
call fcn.00408d75
dec dword [edi + 0x1c4]
cmp dword [edi + 0x1bc], esi
jne 0x425654
cmp dword [ebp - 0x34], 1
jne 0x4256a2
mov eax, dword [esi + 0x18]
mov edx, esi
mov ecx, edi
mov dword [edi + 0x1bc], eax
call fcn.00408d75
cmp dword [ebp - 0x30], 0
jne 0x4247c4
dec dword [edi + 0x1c4]
jmp 0x4256d6
cmp dword [ebp - 0x30], 0
mov eax, dword [esi + 8]
mov dword [edi + 0x1d0], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x1d4], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x1d8], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x1dc], eax
je 0x4256d6
cmp dword [ebp - 0x34], 2
jne 0x4247c4
push dword [ebp - 0x20]
push dword [ebp - 0x34]
call fcn.0044d052
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
jmp 0x4247c4
mov ecx, dword [edi + 8]
and dword [ebp - 0x1c], 0
mov esi, dword [ebp - 0x10]
test ecx, ecx
je 0x425713
mov eax, dword [esi + 0x20]
and eax, 0x100000
xor edx, edx
or eax, edx
jne 0x4282b2
mov eax, dword [edi + 4]
mov edx, dword [esi + 0x10]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4257f5
lea edx, [ebp - 0x1c]
push edx
push ecx
mov esi, eax
call fcn.00417efa
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x4282be
xor ecx, ecx
cmp dword [edi + 8], ecx
je 0x4257f2
test byte [ebx + 0x94], 0x80
je 0x4257f2
mov esi, dword [ebp - 0x10]
cmp byte [esi + 0x4f], cl
je 0x425771
cmp dword [esi + 0xb0], 1
jle 0x4257f2
cmp dword [ebx + 0x30], ecx
jne 0x42578b
mov edx, dword [esi + 0x1c4]
lea eax, [esi + 0x1c8]
inc dword [eax]
mov eax, dword [eax]
add edx, eax
mov dword [ebx + 0x30], edx
mov eax, dword [ebx + 0x30]
dec eax
push eax
push ecx
mov edi, esi
call fcn.0044d052
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x4257c9
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
mov edi, dword [eax + 4]
call fcn.00415e72
mov eax, dword [ebp - 0x28]
mov ecx, dword [edi]
call fcn.00413789
mov edi, eax
mov eax, dword [ebp - 0x30]
call fcn.00415ee0
mov dword [ebp - 0xc], edi
mov eax, dword [esi + 0x1d0]
mov edi, dword [ebp - 8]
mov dword [ebx + 0x48], eax
mov eax, dword [esi + 0x1d4]
mov dword [ebx + 0x4c], eax
mov eax, dword [esi + 0x1d8]
mov dword [ebx + 0x50], eax
mov eax, dword [esi + 0x1dc]
mov dword [ebx + 0x54], eax
jmp 0x4257f5
mov esi, dword [ebp - 0x10]
cmp word [edi + 2], 0
je 0x4247c4
mov eax, dword [ebp - 0x1c]
cmp eax, dword [edi + 0xc]
jne 0x425821
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 0x10]
je 0x4247c4
mov edx, dword [ebx + 0x6c]
test edx, edx
je 0x42582f
mov ecx, esi
call fcn.00408d75
push str.database_schema_has_changed
push esi
call fcn.00409141
mov dword [ebx + 0x6c], eax
mov edi, dword [edi + 4]
pop ecx
mov eax, edi
pop ecx
mov ecx, dword [esi + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 0xc]
mov ecx, dword [ebp - 0x1c]
cmp dword [eax], ecx
je 0x42585f
mov esi, dword [ebp - 0x10]
mov eax, edi
call fcn.00434bf9
lea eax, [ebx + 0x94]
mov ecx, dword [eax]
and ecx, 0xfffffffd
or ecx, 1
mov dword [eax], ecx
mov dword [ebp - 0xc], 0x11
jmp 0x4247c4
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x10]
push dword [edi + 0xc]
shl eax, 4
mov edi, dword [eax + ecx + 4]
lea ebx, [ebp - 0x128]
call fcn.0041c8cb
mov eax, dword [ebp - 8]
pop ecx
mov ecx, dword [ebp + 8]
call fcn.00423cb6
mov ecx, eax
mov eax, dword [ebp - 0x128]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 8]
add edi, 0x14
jmp 0x423d7f
mov esi, dword [edi + 4]
mov eax, dword [ebp - 0x10]
push dword [edi + 0xc]
shl esi, 4
add esi, dword [eax + 0x10]
push dword [edi + 8]
mov ebx, dword [esi + 4]
call fcn.0041c8ff
mov dword [ebp - 0xc], eax
mov eax, dword [edi + 8]
pop ecx
pop ecx
cmp eax, 1
jne 0x4258f9
mov eax, dword [esi + 0xc]
mov ecx, dword [edi + 0xc]
mov dword [eax], ecx
mov eax, dword [ebp - 0x10]
or dword [eax + 0x18], 1
jmp 0x425907
cmp eax, 2
jne 0x425907
mov eax, dword [esi + 0xc]
mov cl, byte [edi + 0xc]
mov byte [eax + 0x4c], cl
cmp dword [edi + 4], 1
jne 0x425921
mov eax, dword [ebp - 0x10]
xor edx, edx
call fcn.0042212f
mov eax, dword [ebp + 8]
and dword [eax + 0x94], 0xfffffffc
mov ebx, dword [ebp + 8]
jmp 0x4247c4
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov esi, dword [ecx + eax*4]
test esi, esi
je case.0x423d98.109
mov eax, dword [esi + 0x34]
cmp eax, dword [edi + 8]
je 0x425a2e
mov eax, dword [ebx + 0x94]
and al, 3
cmp al, 1
je 0x4282e0
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x48], eax
shl eax, 4
add eax, dword [ecx + 0x10]
xor esi, esi
mov ecx, dword [eax + 4]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x70], ecx
cmp dl, 0x6e
jne 0x42599b
movzx ecx, word [edi + 2]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
and ecx, 8
or ecx, 4
mov dword [ebp - 0x24], ecx
lea ecx, [ebx + 0x8f]
cmp al, byte [ecx]
jae 0x42599f
mov byte [ecx], al
jmp 0x42599f
and dword [ebp - 0x24], 0
test byte [edi + 2], 0x10
je 0x4259bb
mov esi, dword [ebp - 0x1c]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
call fcn.0041e5d4
mov eax, dword [esi]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov al, byte [edi + 1]
cmp al, 0xf7
jne 0x4259ce
mov eax, dword [edi + 0x10]
movzx esi, word [eax + 8]
mov dword [ebp - 0x30], eax
jmp 0x4259d5
cmp al, 0xfd
jne 0x4259d5
mov esi, dword [edi + 0x10]
mov eax, dword [edi + 4]
push 0
push dword [ebp - 0x48]
push esi
push ebx
call fcn.00423a54
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4251d9
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov ebx, dword [esi + 0x28]
or dword [esi + 8], 4
push edi
push dword [ebp - 0x24]
mov byte [esi + 2], 1
push eax
push dword [ebp - 0x70]
mov dword [esi + 0x34], eax
call fcn.00418b4d
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x2c], edi
mov edi, dword [ebp - 8]
add esp, 0x10
cmp byte [eax + 1], 0xf7
setne al
mov byte [esi + 4], al
mov al, byte [edi + 2]
mov ecx, dword [esi + 0x28]
and al, 3
mov byte [ecx + 3], al
jmp 0x4247c4
mov eax, dword [edi + 8]
mov ecx, dword [ebx + 0x70]
mov esi, dword [ecx + eax*4]
movsx eax, word [esi + 0x38]
push 0
push 0xffffffffffffffff
push eax
mov eax, dword [edi + 4]
push ebx
call fcn.00423a54
add esp, 0x10
test eax, eax
je 0x4251d9
or dword [eax + 8], 1
mov ebx, dword [eax + 0x28]
mov byte [eax + 2], 1
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0x2c], ecx
push dword [eax + 0x2c]
mov cl, byte [esi + 4]
push 4
mov byte [eax + 4], cl
push 1
push dword [esi + 0xc]
call fcn.00418b4d
add esp, 0x10
mov dword [ebp - 0xc], eax
jmp 0x4258b3
mov eax, dword [edi + 4]
push 0
push 0xffffffffffffffff
push dword [edi + 8]
push ebx
call fcn.00423a54
mov edi, eax
add esp, 0x10
test edi, edi
je 0x4251d9
or dword [edi + 8], 1
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov byte [edi + 2], 1
movzx eax, word [eax + 2]
push 0x41e
or eax, 5
push eax
lea esi, [edi + 0xc]
push esi
push dword [edx]
xor ecx, ecx
call fcn.0041738f
add esp, 0x10
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
mov esi, dword [esi]
push eax
push 1
call fcn.00417efa
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x10]
mov dword [edi + 0x2c], esi
test esi, esi
je 0x425b50
movzx eax, word [eax + 2]
or eax, 2
push eax
lea eax, [ebp - 0x12c]
push eax
push dword [edi + 0xc]
call fcn.0041c59b
add esp, 0xc
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x425b4a
mov ebx, dword [edi + 0x28]
push esi
push 4
push dword [ebp - 0x12c]
push dword [edi + 0xc]
call fcn.00418b4d
mov ebx, dword [ebp + 8]
add esp, 0x10
mov dword [ebp - 0xc], eax
mov byte [edi + 4], 0
jmp 0x425b6e
mov ebx, dword [edi + 0x28]
push 0
push 4
push 1
push dword [edi + 0xc]
call fcn.00418b4d
mov ebx, dword [ebp + 8]
add esp, 0x10
mov dword [ebp - 0xc], eax
mov byte [edi + 4], 1
cmp dword [ebp - 0xc], 0
jne 0x42839e
mov ecx, dword [ebp - 8]
xor eax, eax
cmp word [ecx + 2], 8
setne al
shl eax, 2
xor eax, dword [edi + 8]
and eax, 4
xor dword [edi + 8], eax
jmp 0x4258b6
mov eax, dword [edi + 4]
push 1
push 0xffffffffffffffff
push dword [edi + 8]
push ebx
call fcn.00423a54
add esp, 0x10
test eax, eax
je 0x4251d9
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x10]
push eax
mov dword [eax + 0x2c], edx
push dword [ecx + 0xc]
push dword [ebp - 0x10]
call fcn.0042949b
add esp, 0xc
mov dword [ebp - 0xc], eax
test eax, eax
jmp 0x4247c8
mov ecx, dword [ebx + 0x70]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov esi, ecx
add esi, 1
mov dword [ebp - 0x1c8], edx
adc edx, 0
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], edx
mov eax, ecx
mov ecx, dword [ebp - 0x1c8]
or eax, ecx
jmp 0x424c76
mov eax, dword [edi + 4]
push 3
push 0xffffffffffffffff
push dword [edi + 0xc]
push ebx
call fcn.00423a54
add esp, 0x10
test eax, eax
je 0x4251d9
mov ecx, dword [ebp - 8]
mov byte [eax + 2], 1
mov ecx, dword [ecx + 8]
mov dword [eax + 0x20], ecx
mov byte [eax + 4], 1
mov dword [eax + 0x28], 0x5ea9b8
jmp 0x4258b6
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov eax, dword [ecx + eax*4]
push ebx
call fcn.00420302
mov eax, dword [edi + 4]
pop ecx
mov ecx, dword [ebx + 0x70]
and dword [ecx + eax*4], 0
jmp case.0x423d98.86
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x70]
mov esi, dword [edx + ecx*4]
and dword [ebp - 0x1c], 0
cmp byte [esi + 4], 0
mov dword [ebp - 0x18], eax
mov byte [esi + 2], 0
je 0x425d35
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov al, byte [eax + 8]
and al, 0xe
cmp al, 2
jne 0x425c9a
mov eax, dword [ebp - 0x20]
push 0
call fcn.00423b2d
pop ecx
mov ecx, dword [ebp - 0x20]
call fcn.0041e4bf
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x20]
movzx eax, word [eax + 8]
mov dword [ebp - 0xc8], edx
test al, 4
jne 0x425cf2
test al, 8
je 0x425e07
fild qword [ebp - 0xcc]
mov ecx, dword [ebp - 0x20]
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x425ce0
test byte [ebp - 0x18], 1
fstp st(0)
je 0x425cf2
dec dword [ebp - 0x18]
jmp 0x425cf2
fcomp qword [ecx]
fnstsw ax
test ah, 5
jp 0x425cf2
test byte [ebp - 0x18], 1
jne 0x425cf2
inc dword [ebp - 0x18]
mov edi, dword [esi + 0x28]
lea eax, [ebp - 0x5c]
push eax
push 0
push dword [ebp - 0xc8]
push dword [ebp - 0xcc]
push 0
call fcn.0041929d
mov ecx, dword [ebp - 0xcc]
mov dword [esi + 0x40], ecx
mov ecx, dword [ebp - 0xc8]
add esp, 0x14
mov dword [ebp - 0xc], eax
mov dword [esi + 0x44], ecx
test eax, eax
jne 0x42839e
xor edi, edi
jmp 0x425dbc
mov eax, dword [esi + 0x28]
test byte [eax + 3], 2
je 0x425d45
mov dword [ebp - 0x1c], 1
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x13c], eax
mov ax, word [edi + 0x10]
mov word [ebp - 0x134], ax
mov eax, dword [ebp - 0x18]
and al, 1
neg al
sbb al, al
and al, 0xfe
inc al
mov byte [ebp - 0x132], al
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
mov byte [ebp - 0x12e], 0
mov dword [ebp - 0x138], eax
mov edi, dword [esi + 0x28]
lea eax, [ebp - 0x5c]
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.0041929d
add esp, 0x14
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
xor edi, edi
cmp dword [ebp - 0x1c], edi
je 0x425dbc
cmp byte [ebp - 0x12e], 0
je 0x425e53
cmp dword [ebp - 0x18], 0x18
mov byte [esi + 3], 0
mov dword [esi + 0x1c], edi
jl 0x425e0f
cmp dword [ebp - 0x5c], edi
jl 0x425ddb
jne 0x425dd6
cmp dword [ebp - 0x18], 0x19
je 0x425ddb
mov dword [ebp - 0x5c], edi
jmp 0x425e58
push edi
push dword [esi + 0x28]
mov dword [ebp - 0x5c], edi
call fcn.00419757
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
cmp eax, edi
je 0x425e58
cmp eax, 0x65
jne 0x42839e
and dword [ebp - 0xc], 0
mov dword [ebp - 0x5c], 1
mov edi, dword [ebp - 8]
mov eax, dword [edi + 8]
jmp 0x424aaa
cmp dword [ebp - 0x5c], edi
jg 0x425e2b
jne 0x425e1c
cmp dword [ebp - 0x18], 0x16
je 0x425e2b
mov eax, dword [esi + 0x28]
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov dword [ebp - 0x5c], ecx
jmp 0x425e53
push edi
push dword [esi + 0x28]
mov dword [ebp - 0x5c], edi
call fcn.0041985d
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
cmp eax, edi
je 0x425e58
cmp eax, 0x65
jne 0x42839e
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x5c], 1
cmp dword [ebp - 0x5c], edi
jne 0x425e04
cmp dword [ebp - 0x1c], edi
je 0x4258b6
add dword [ebp - 8], 0x14
jmp 0x4258b6
mov ecx, dword [ebx + 0x70]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [edi + 8]
shl ecx, 3
xor ecx, dword [eax + 8]
and ecx, 8
xor dword [eax + 8], ecx
jmp case.0x423d98.86
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov eax, dword [ecx + eax*4]
test byte [eax + 8], 8
jne case.0x423d98.86
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov esi, dword [ecx + eax*4]
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
cmp dword [edi + 0x10], 0
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], eax
jle 0x425ee1
mov ecx, dword [esi + 0x2c]
and dword [ebp - 0x30], 0
mov dword [ebp - 0x1dc], ecx
mov cx, word [edi + 0x10]
mov dword [ebp - 0x1d8], eax
lea eax, [ebp - 0x1dc]
mov word [ebp - 0x1d4], cx
mov dword [ebp - 0x24], eax
jmp 0x425f3c
mov ecx, 0x4000
test word [eax + 8], cx
je 0x425ef3
call fcn.0041e25c
jmp 0x425ef5
xor eax, eax
test eax, eax
jne 0x4251d9
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + 0x2c]
call fcn.00421438
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4251d9
mov eax, dword [ebp - 0x20]
push dword [eax + 0x10]
mov ebx, dword [ebp - 0x24]
push dword [eax + 0xc]
mov eax, dword [ebp - 0x1c]
push dword [eax + 0x2c]
call fcn.0042146a
mov edi, dword [ebp - 8]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
add esp, 0xc
and dword [ebp - 0x1c], 0
mov byte [eax + 0xa], 0
cmp byte [edi], 0x1b
jne 0x425f71
xor ecx, ecx
xor edi, edi
cmp cx, word [eax + 8]
jae 0x425f71
mov ecx, dword [eax + 4]
add ecx, 8
xor edx, edx
inc edx
test byte [ecx], dl
jne 0x425f6e
movzx edx, word [eax + 8]
inc edi
add ecx, 0x28
cmp edi, edx
jl 0x425f59
jmp 0x425f71
mov dword [ebp - 0x1c], edx
mov edi, dword [esi + 0x28]
lea eax, [ebp - 0x104]
push eax
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 0x24]
call fcn.0041929d
add esp, 0x14
cmp dword [ebp - 0x30], 0
mov dword [ebp - 0xc], eax
je 0x425f9f
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x10]
call fcn.00408d75
cmp dword [ebp - 0xc], 0
jne 0x42839e
mov ecx, dword [ebp - 0x104]
xor eax, eax
test ecx, ecx
mov dword [esi + 0x20], ecx
sete al
and dword [esi + 0x1c], 0
mov cl, 1
sub cl, al
mov byte [esi + 2], cl
mov ecx, dword [ebp - 8]
mov byte [esi + 3], 0
cmp byte [ecx], 0x1d
jne 0x425fdd
test eax, eax
jne 0x425e04
jmp 0x4258b6
cmp dword [ebp - 0x1c], 0
jne 0x425e04
test eax, eax
je 0x425e04
jmp 0x4258b6
mov esi, dword [edi + 0xc]
mov eax, dword [ebp - 0x14]
imul esi, esi, 0x28
add esi, eax
movzx ecx, word [esi + 8]
test cl, 4
jne 0x426039
push dword [ebp - 0x40]
movzx eax, cx
mov dword [ebp - 0x28], eax
push 0x43
mov eax, esi
call fcn.00423bac
movzx eax, word [esi + 8]
shr eax, 2
not eax
and eax, 1
mov ax, word [ebp - 0x28]
pop ecx
pop ecx
mov word [esi + 8], ax
jne 0x425e07
mov eax, dword [ebp - 0x14]
mov ecx, dword [edi + 4]
mov edi, dword [edi + 0xc]
mov edx, dword [ebx + 0x70]
imul edi, edi, 0x28
mov esi, dword [edx + ecx*4]
mov ecx, dword [edi + eax]
mov eax, dword [edi + eax + 4]
mov edx, dword [esi + 0x28]
and dword [ebp - 0x34], 0
lea edi, [ebp - 0x34]
push edi
push 0
push eax
push ecx
push 0
mov edi, edx
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x120], eax
call fcn.0041929d
and dword [esi + 0x1c], 0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x124]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x120]
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0x34]
add esp, 0x14
mov byte [esi + 2], 0
mov byte [esi + 3], 0
mov dword [esi + 0x20], eax
test eax, eax
je 0x4247c4
mov eax, dword [ebp - 8]
cmp dword [eax + 8], 0
jne 0x425e04
push 0x15521
call fcn.0045cbec
jmp 0x4268a9
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov edx, dword [ebx + 0x70]
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ecx + 0x10]
mov dword [eax], edx
mov ecx, dword [ecx + 0x14]
mov dword [eax + 4], ecx
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov eax, dword [ecx + eax*4]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
jmp case.0x423d98.86
xor eax, eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x24], eax
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov ecx, dword [ebx + 0x70]
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 4]
mov esi, dword [ecx + eax*4]
test byte [esi + 8], 2
mov dword [ebp - 0x1c], esi
jne 0x42617c
mov eax, dword [esi + 0x28]
lea edi, [ebp - 0x24]
call fcn.00419260
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
cmp dword [ebp - 0x24], eax
je 0x426144
and dword [ebp - 0x68], eax
mov dword [ebp - 0x6c], 1
jmp 0x426179
mov edi, dword [esi + 0x28]
mov ecx, edi
call fcn.00418bf8
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x6c], eax
mov edi, dword [edi + 0x24]
cmp edi, 0x7fffffff
mov dword [ebp - 0x68], edi
jl 0x42616f
jg 0x426169
cmp eax, 0xffffffff
jb 0x42616f
or dword [esi + 8], 2
jmp 0x426179
add dword [ebp - 0x6c], 1
adc edi, 0
mov dword [ebp - 0x68], edi
mov edi, dword [ebp - 8]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4261e9
mov ecx, dword [ebx + 0xc4]
test ecx, ecx
jne 0x426251
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
mov esi, eax
call fcn.0041e5d4
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, 0xffffffff
jne 0x4261b4
cmp ecx, 0x7fffffff
je 0x426243
mov edx, dword [ebp - 0x1c]
test byte [edx + 8], 2
jne 0x426243
mov edx, dword [ebp - 0x68]
add eax, 1
adc ecx, 0
cmp edx, ecx
jg 0x4261db
jl 0x4261d5
cmp dword [ebp - 0x6c], eax
jae 0x4261db
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], ecx
mov eax, dword [ebp - 0x6c]
mov dword [esi], eax
mov eax, dword [ebp - 0x68]
mov dword [esi + 4], eax
mov esi, dword [ebp - 0x1c]
test byte [esi + 8], 2
je 0x426266
and dword [ebp - 0x1c], 0
lea eax, [ebp - 0x6c]
push eax
push 8
call fcn.0040a7c9
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
push 0
pop edx
and eax, 0x3fffffff
add ecx, 1
lea edi, [ebp - 0x24]
push edi
push edx
adc eax, edx
push eax
push ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], eax
mov edi, dword [esi + 0x28]
push edx
call fcn.0041929d
add esp, 0x1c
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
cmp dword [ebp - 0x24], eax
jne 0x426263
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x64
jl 0x4261f3
mov dword [ebp - 0xc], 0xd
jmp 0x42839e
mov ecx, edx
mov edx, dword [ecx + 4]
test edx, edx
jne 0x42624f
imul eax, eax, 0x28
add eax, dword [ecx + 0x10]
jmp 0x426197
mov edi, dword [ebp - 8]
and dword [esi + 0x1c], 0
mov eax, dword [ebp - 0x18]
mov byte [esi + 3], 0
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x68]
jmp 0x423f12
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
mov esi, dword [ebx + 0x70]
mov esi, dword [esi + eax*4]
cmp dl, 0x7a
jne 0x4262b6
mov edx, dword [edi + 0xc]
mov eax, dword [ebp - 0x14]
imul edx, edx, 0x28
mov eax, dword [edx + eax]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [edx + eax + 4]
mov dword [ebp - 0x178], eax
jmp 0x4262c6
mov eax, dword [edi + 0xc]
cdq
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x178], edx
cmp byte [edi + 1], 0xfa
mov eax, dword [ebp - 0x10]
jne 0x4262f3
cmp dword [eax + 0xec], 0
je 0x4262f3
movsx edx, byte [esi + 1]
mov eax, dword [eax + 0x10]
shl edx, 4
mov eax, dword [edx + eax]
mov dword [ebp - 0x30], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x10]
jmp 0x4262fb
and dword [ebp - 0x1c], 0
and dword [ebp - 0x30], 0
test byte [edi + 2], 1
je 0x426304
inc dword [ebx + 0x2c]
test byte [edi + 2], 0x20
je 0x42631c
mov edx, dword [ebp - 0x17c]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x178]
mov dword [eax + 0x2c], edx
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x174], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x168], eax
movzx eax, word [edi + 2]
test al, 0x10
je 0x42633b
mov edx, dword [esi + 0x20]
jmp 0x42633d
xor edx, edx
mov edi, 0x4000
test word [ecx + 8], di
je 0x426352
mov ecx, dword [ecx]
mov dword [ebp - 0x164], ecx
jmp 0x426359
and dword [ebp - 0x164], 0
and dword [ebp - 0x184], 0
and eax, 0xa
push edx
push eax
mov eax, dword [esi + 0x28]
lea ebx, [ebp - 0x184]
call fcn.0041bdd3
and dword [esi + 0x1c], 0
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
mov byte [esi + 3], 0
test eax, eax
jne 0x42839b
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4258b3
push dword [ebp - 0x178]
push dword [ebp - 0x17c]
push dword [eax]
mov eax, dword [ebp - 8]
mov al, byte [eax + 2]
push dword [ebp - 0x30]
and al, 4
movzx eax, al
neg eax
sbb eax, eax
and eax, 5
add eax, 0x12
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0xe8]
call dword [eax + 0xec]
add esp, 0x18
jmp 0x4258b3
cmp byte [edi + 1], 0xfa
mov eax, dword [edi + 8]
mov ecx, dword [ebx + 0x70]
mov dword [ebp - 0x48], eax
mov eax, dword [edi + 4]
mov esi, dword [ecx + eax*4]
jne 0x426433
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0xec], 0
je 0x426433
movsx eax, byte [esi + 1]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x10]
shl eax, 4
test byte [edi + 2], 2
mov eax, dword [eax + ecx]
mov dword [ebp - 0x30], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x1c], eax
je 0x42643b
cmp byte [esi + 4], 0
je 0x42643b
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x28], ecx
call fcn.00418bf8
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x20]
mov dword [esi + 0x40], ecx
mov eax, dword [eax + 0x24]
mov dword [esi + 0x44], eax
jmp 0x42643b
and dword [ebp - 0x30], 0
and dword [ebp - 0x1c], 0
mov al, byte [edi + 2]
mov ecx, dword [esi + 0x28]
call fcn.0041c10f
and dword [esi + 0x1c], 0
and dword [esi + 0x20], 0
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
test byte [ebp - 0x48], 1
je 0x4258b6
inc dword [ebx + 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xec]
test eax, eax
je 0x4258b6
mov ecx, dword [ebp - 0x1c]
test byte [ecx + 0x24], 0x20
jne 0x4258b6
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [ecx]
mov ecx, dword [ebp - 0x10]
push dword [ebp - 0x30]
push 9
push dword [ecx + 0xe8]
call eax
add esp, 0x18
jmp 0x4258b6
mov eax, dword [ebx + 0x2c]
mov ecx, dword [ebp - 0x10]
add dword [ecx + 0x68], eax
mov dword [ecx + 0x64], eax
and dword [ebx + 0x2c], 0
jmp case.0x423d98.86
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov eax, dword [ecx + eax*4]
mov ecx, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
and dword [ebp - 0x18], 0
lea edx, [ebp - 0x18]
push edx
push edi
push ecx
call fcn.0042ab76
add esp, 0xc
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
mov edi, dword [ebp - 8]
cmp dword [ebp - 0x18], eax
jmp 0x423e05
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
imul ecx, ecx, 0x28
mov edx, dword [ebx + 0x70]
add ecx, dword [ebp - 0x14]
mov eax, dword [edx + eax*4]
call fcn.0042ab0b
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebx + 0x70]
mov eax, dword [ecx + eax*4]
and dword [eax + 0x1c], 0
jmp 0x4258b6
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov ecx, dword [ebx + 0x70]
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov edi, dword [eax + 0x28]
mov ecx, edi
call fcn.00418bf8
mov edx, dword [edi + 0x2c]
mov eax, dword [ebp - 0x10]
cmp edx, dword [eax + 0x6c]
ja 0x428385
mov eax, dword [ebp - 0x18]
xor esi, esi
mov ecx, edi
call fcn.0041ebae
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], esi
jne 0x4258b6
mov ecx, dword [ebp - 0x18]
mov eax, 0x1000
test word [ecx + 8], ax
je 0x4258b6
mov esi, ecx
call fcn.0041e212
test eax, eax
jne 0x4251d9
jmp 0x4258b6
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x70]
mov esi, dword [edx + ecx*4]
cmp byte [esi + 2], 0
mov dword [ebp - 0x18], eax
je 0x4265c7
xor ecx, ecx
inc ecx
jmp 0x4240ac
cmp byte [esi + 3], 0
je 0x4265de
mov eax, dword [esi + 0x40]
mov dword [ebp - 0xbc], eax
mov eax, dword [esi + 0x44]
jmp 0x426660
cmp byte [esi], 2
jne 0x426610
mov eax, dword [esi + 0x28]
mov esi, dword [eax]
mov ecx, dword [esi]
lea edx, [ebp - 0xbc]
push edx
push eax
call dword [ecx + 0x30]
pop ecx
pop ecx
mov edi, ebx
mov dword [ebp - 0xc], eax
call fcn.004221de
cmp dword [ebp - 0xc], 0
jne 0x42839e
mov edi, dword [ebp - 8]
jmp 0x426666
mov ecx, dword [esi + 0x28]
cmp byte [ecx], 0
je 0x426627
mov edi, esi
call fcn.004210b2
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x18]
jmp 0x42662b
and dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0
jne 0x42839e
cmp byte [esi + 2], 0
je 0x426647
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
jmp 0x4258b6
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.00418bf8
mov eax, dword [esi + 0x20]
mov edi, dword [ebp - 8]
mov dword [ebp - 0xbc], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xb8]
jmp 0x423f12
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov eax, dword [ecx + eax*4]
and dword [eax + 0x1c], 0
cmp byte [eax], 0
mov byte [eax + 2], 1
jne case.0x423d98.86
mov esi, dword [eax + 0x28]
push dword [esi + 0x10]
call fcn.00408d0f
and dword [esi + 0x10], 0
pop ecx
mov byte [esi], 1
jmp case.0x423d98.86
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov esi, dword [ecx + eax*4]
and dword [ebp - 0x58], 0
mov eax, dword [esi + 0x28]
cmp dl, 0x83
jne 0x4266d0
or dword [esi + 0x20], 0xffffffff
cmp byte [eax], 0
je case.0x423d98.86
lea edi, [ebp - 0x58]
call fcn.00419260
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x58]
xor ecx, ecx
mov byte [esi + 2], al
mov byte [esi + 3], 0
mov dword [esi + 0x1c], ecx
cmp dword [ebp - 0xc], ecx
jne 0x42839e
mov edx, dword [ebp - 8]
cmp dword [edx + 8], ecx
jle 0x4258b6
mov edi, edx
cmp eax, ecx
jmp 0x423e05
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov eax, dword [ecx + eax*4]
mov esi, dword [eax + 0x28]
lea edi, [ebp - 0xd0]
mov eax, esi
call fcn.0041923c
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
cmp dword [ebp - 0xd0], eax
jne 0x425e04
call fcn.0041963a
test edx, edx
jl 0x4258b6
jg 0x42674f
test eax, eax
jb 0x4258b6
push edx
push eax
call fcn.0040bfaf
pop ecx
cwde
pop ecx
mov ecx, dword [ebp - 8]
cmp eax, dword [ecx + 0xc]
jge 0x4258b6
mov dword [ebp - 0xd0], 1
jmp 0x425e04
inc dword [ebx + 0xa8]
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov esi, dword [ecx + eax*4]
cmp byte [esi], 1
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x30], 1
jne 0x4267a2
mov ecx, dword [ebp - 0x58]
lea esi, [ebp - 0x30]
call fcn.0042aa1b
mov dword [ebp - 0xc], eax
jmp 0x4267d7
mov eax, dword [esi + 0x28]
lea edi, [ebp - 0x30]
mov dword [ebp - 0x28], eax
call fcn.0041923c
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
cmp word [eax + 2], 0
je 0x4267cf
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0
jne 0x4267cf
mov byte [eax], 2
mov dword [eax + 4], 1
and dword [esi + 0x1c], 0
mov byte [esi + 3], 0
cmp dword [ebp - 0xc], 0
jne 0x42839e
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x58]
mov edi, dword [ebp - 8]
mov byte [ecx + 2], al
jmp 0x424c55
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov esi, dword [ecx + eax*4]
push dword [ebp - 0x10]
mov eax, esi
call fcn.0042aa63
jmp 0x42681a
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
push dword [edi + 0xc]
mov esi, dword [ecx + eax*4]
push dword [esi + 0x28]
call dword [edi + 0x10]
pop ecx
mov dword [ebp - 0xc], eax
xor eax, eax
pop ecx
mov dword [esi + 0x1c], eax
cmp dword [ebp - 0xc], eax
jne 0x42683d
mov byte [esi + 2], al
movzx eax, word [edi + 2]
lea eax, [ebx + eax*4 + 0xa0]
inc dword [eax]
jmp case.0x423d98.11
cmp dword [ebp - 0xc], 0x65
jne 0x42839e
mov dword [ebp - 0xc], eax
mov byte [esi + 2], 1
jmp 0x427b50
mov esi, dword [edi + 8]
mov eax, dword [edi + 4]
imul esi, esi, 0x28
mov ecx, dword [ebx + 0x70]
mov ecx, dword [ecx + eax*4]
add esi, dword [ebp - 0x14]
test byte [edi + 2], 1
mov dword [ebp - 0x58], ecx
je 0x426871
inc dword [ebx + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x42688b
mov eax, esi
call fcn.0041e25c
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0xc], eax
jmp 0x42688f
and dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0
jne 0x42839e
mov edi, dword [ebp - 8]
cmp byte [edi], 0x84
jne 0x4268b1
push esi
mov eax, ecx
call fcn.00429fb2
mov dword [ebp - 0xc], eax
jmp 0x4247c3
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], edx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x24c], eax
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x238], eax
mov ax, word [edi + 0x10]
mov word [ebp - 0x234], ax
movzx eax, word [edi + 2]
test al, 0x10
je 0x4268f1
mov edx, dword [ecx + 0x20]
jmp 0x4268f3
xor edx, edx
and eax, 0xa
push edx
push eax
mov eax, dword [ecx + 0x28]
lea ebx, [ebp - 0x24c]
call fcn.0041bdd3
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x58]
and dword [eax + 0x1c], 0
pop ecx
jmp 0x4247c3
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov esi, dword [ecx + eax*4]
mov ecx, dword [esi + 0x2c]
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x1a8], ecx
mov cx, word [edi + 0xc]
mov word [ebp - 0x1a0], cx
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
mov edi, eax
mov dword [ebp - 0x1a4], ecx
lea ecx, [ebp - 0x118]
push ecx
xor ecx, ecx
push ecx
push ecx
push ecx
lea ecx, [ebp - 0x1a8]
push ecx
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x19e], 0
call fcn.0041929d
xor edi, edi
add esp, 0x14
mov dword [ebp - 0xc], eax
cmp eax, edi
jne 0x42839e
cmp dword [ebp - 0x118], edi
jne 0x426999
mov ecx, dword [ebp - 0x28]
mov al, 4
call fcn.0041c10f
mov dword [ebp - 0xc], eax
cmp eax, edi
jne 0x42839e
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], edi
jmp 0x4258b6
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi + 0x28]
cmp byte [eax], 0
je 0x4269bf
call fcn.004210b2
mov dword [ebp - 0xc], eax
jmp 0x4269c3
and dword [ebp - 0xc], 0
xor esi, esi
cmp dword [ebp - 0xc], esi
jne 0x42839e
cmp byte [edi + 2], 0
jne 0x426a52
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0x10]
mov eax, dword [edi + 0x28]
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xc0], esi
call fcn.00421fdd
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
cmp eax, esi
jne 0x42839e
mov eax, dword [ebp - 8]
cmp byte [eax], 0x87
jne 0x426a38
mov ecx, dword [eax + 0xc]
mov edx, dword [ebx + 0x70]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ebp - 0xc4]
mov dword [ecx + 0x40], edx
mov edx, dword [ebp - 0xc0]
mov byte [ecx + 2], 0
mov dword [ecx + 0x44], edx
mov byte [ecx + 3], 1
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x24], edi
jmp 0x4258b6
mov ecx, ebx
call fcn.00423cb6
mov ecx, dword [ebp - 0xc4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc0]
jmp 0x425417
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
jmp 0x424d44
mov ecx, dword [ebx + 0x70]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x1b8], ecx
mov cx, word [edi + 0x10]
mov word [ebp - 0x1b0], cx
cmp dl, 0x27
sbb cl, cl
and dword [ebp - 0x38], 0
mov byte [ebp - 0x1ae], cl
mov ecx, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
lea ebx, [ebp - 0x38]
mov dword [ebp - 0x1b4], ecx
lea ecx, [ebp - 0x1b8]
push ecx
push dword [ebp - 0x10]
call fcn.004220b0
test byte [edi], 1
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
je 0x426abf
neg dword [ebp - 0x38]
jmp 0x426ac2
inc dword [ebp - 0x38]
mov ebx, dword [ebp + 8]
test eax, eax
jne 0x42839e
cmp dword [ebp - 0x38], eax
mov edi, dword [ebp - 8]
jg 0x425e07
jmp case.0x423d98.86
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov esi, eax
xor eax, eax
inc eax
mov word [esi + 8], ax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0xbc]
inc ecx
cmp dword [eax + 0xb0], ecx
jg 0x4282ec
mov ecx, dword [edi + 0xc]
mov eax, dword [eax + 0x10]
mov edx, dword [edi + 4]
and dword [ebp - 0x70], 0
mov dword [ebp - 0x58], ecx
shl ecx, 4
mov edi, dword [ecx + eax + 4]
mov eax, edi
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x48], ecx
call fcn.00415e72
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x28]
push edi
call fcn.0041c767
mov dword [ebp - 0x28], eax
add esp, 0xc
mov eax, edi
call fcn.00415ee0
mov edi, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x28]
push 4
pop eax
mov word [esi + 8], ax
mov eax, edi
cdq
mov dword [ebp - 0xc], ecx
mov dword [esi], eax
mov dword [esi + 4], edx
test ecx, ecx
jne 0x42839e
test edi, edi
je 0x4258b6
mov eax, dword [ebp - 8]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
add eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x10]
jmp 0x426b90
mov edx, dword [ecx + 8]
cmp dword [edx + 0x1c], edi
jne 0x426b8e
mov dword [edx + 0x1c], esi
mov ecx, dword [ecx]
test ecx, ecx
jne 0x426b83
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x20]
jmp 0x426ba9
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x2c], edi
jne 0x426ba7
mov dword [ecx + 0x2c], esi
mov eax, dword [eax]
test eax, eax
jne 0x426b9c
mov al, byte [ebp - 0x58]
inc al
mov byte [ebp - 0x51], al
jmp 0x4258b6
and dword [ebp - 0x48], 0
mov eax, dword [edi + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0x48]
and eax, ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [edi + 8]
push dword [edi + 4]
shl eax, 4
mov esi, dword [eax + ecx + 4]
call fcn.0041c717
cmp dword [edi + 0xc], 0
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
je 0x4247c4
mov eax, dword [ebp - 0x48]
add dword [ebx + 0x2c], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle 0x4247c4
mov ecx, dword [ebp - 0x14]
imul edi, edi, 0x28
cdq
add ecx, edi
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp 0x4247c4
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov eax, dword [ecx + eax*4]
cmp byte [eax], 1
jne 0x426c35
push dword [ebp - 0x10]
mov edi, dword [eax + 0x28]
call fcn.0042975c
pop ecx
jmp 0x4258b6
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 8]
push 0
push dword [eax + 0x40]
call fcn.0041c717
pop ecx
pop ecx
jmp 0x425bc9
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov ecx, dword [ebp - 0x10]
push dword [edi + 0xc]
and dword [ebp - 0x28], 0
mov esi, eax
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [ecx + 0x10]
lea ecx, [ebp - 0x28]
push ecx
push dword [eax + 4]
call fcn.0041c59b
add esp, 0xc
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
mov eax, dword [ebp - 0x28]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x4258b6
mov esi, dword [ebp - 0x10]
inc byte [esi + 0x5a]
xor eax, eax
push eax
push eax
push eax
push dword [edi + 0x10]
push esi
call fcn.0043fa9f
add esp, 0x14
dec byte [esi + 0x5a]
jmp 0x425bc9
mov ecx, dword [edi + 0x10]
mov esi, dword [edi + 4]
test ecx, ecx
jne 0x426cfd
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x10]
mov eax, esi
shl eax, 4
push dword [eax + ecx + 0xc]
call fcn.004392d4
mov eax, dword [ebp - 0x10]
and dword [eax + 0x18], 0xfffffff7
pop ecx
push 1
lea ecx, [ebx + 0x6c]
push ecx
push esi
push eax
call fcn.00442b1c
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x10]
or dword [eax + 0x18], 1
add esp, 0x10
and dword [ebx + 0x94], 0xfffffffc
jmp 0x426d8c
mov eax, dword [ebp - 0x10]
and dword [ebp - 0x188], 0
push ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x190], esi
lea edx, [ebx + 0x6c]
push str.sqlite_master
shl esi, 4
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edx
push dword [esi + ecx]
mov esi, eax
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.0040a60d
add esp, 0x10
mov dword [ebp - 0x28], eax
test eax, eax
je 0x428019
and dword [ebp - 0x18c], 0
push 0
lea ecx, [ebp - 0x198]
push ecx
push fcn.004429c8
push eax
push esi
mov byte [esi + 0xa5], 1
call fcn.0043fa9f
add esp, 0x14
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x426d7b
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x28]
mov ecx, esi
call fcn.00408d75
mov byte [esi + 0xa5], 0
cmp dword [ebp - 0xc], 0
je case.0x423d98.86
mov eax, dword [ebp - 0x10]
call fcn.00434c4b
cmp dword [ebp - 0xc], 7
je 0x4251d9
jmp 0x42839e
mov ecx, dword [edi + 4]
mov eax, dword [ebp - 0x10]
call fcn.00433942
jmp 0x425bc9
mov eax, dword [edi + 0x10]
mov edi, dword [edi + 4]
mov esi, dword [ebp - 0x10]
shl edi, 4
add edi, dword [esi + 0x10]
push eax
mov eax, dword [edi + 0xc]
add eax, 8
xor edi, edi
call fcn.0040c343
pop ecx
push eax
push esi
call fcn.00434e02
or dword [esi + 0x18], 1
pop ecx
pop ecx
jmp 0x4258b6
push dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x10]
call fcn.00434af7
pop ecx
jmp 0x42415c
push dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x10]
call fcn.0044a15c
jmp 0x4241f5
mov eax, dword [edi + 4]
mov esi, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
mov edx, dword [edi + 8]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x108]
push eax
mov eax, dword [esi]
inc eax
push eax
movzx eax, word [edi + 2]
push edx
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 0x10]
shl eax, 4
push dword [eax + edx + 4]
add ecx, 4
call fcn.0041d1d5
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
add esp, 0x10
call fcn.0041e751
mov eax, dword [ebp - 0x108]
test eax, eax
je 0x426e97
cmp dword [ebp - 0x28], 0
je 0x4251d9
dec eax
cdq
sub dword [esi], eax
push 1
push dword [ebp - 0x28]
sbb dword [esi + 4], edx
mov edx, dword [ebp - 0x18]
mov eax, fcn.00408d0f
or ecx, 0xffffffff
call fcn.0041e9cb
mov edi, dword [ebp - 8]
pop ecx
pop ecx
movzx eax, byte [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x18]
call fcn.0041e0f6
jmp 0x4241f5
mov esi, dword [edi + 4]
mov eax, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
test byte [esi + 8], 0x10
mov dword [ebp - 0x20], eax
jne 0x426edc
mov ebx, esi
call fcn.0041e848
test eax, eax
jne 0x4251d6
mov edi, dword [ebp - 8]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x20]
push dword [eax + 4]
push dword [eax]
mov eax, dword [esi + 0x10]
call fcn.0040fe10
jmp 0x4241f4
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
test byte [esi + 8], 0x10
je 0x426f36
mov eax, dword [esi + 0x10]
lea edi, [ebp - 0x14c]
call fcn.00410010
test eax, eax
je 0x426f33
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
push dword [ebp - 0x148]
imul eax, eax, 0x28
push dword [ebp - 0x14c]
add eax, dword [ebp - 0x14]
call fcn.0041e7b4
pop ecx
pop ecx
jmp 0x427b50
mov edi, dword [ebp - 8]
mov eax, esi
call fcn.0041e751
jmp case.0x423d98.11
mov esi, dword [edi + 4]
mov eax, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
test byte [esi + 8], 0x10
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
jne 0x426f7b
mov ebx, esi
call fcn.0041e848
test eax, eax
jne 0x4251d6
mov edi, dword [ebp - 8]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x1c], 0
je 0x426edc
push dword [eax + 4]
push dword [eax]
mov eax, dword [esi + 0x10]
push dword [ebp - 0x1c]
call fcn.00410058
add esp, 0xc
test eax, eax
jne 0x425e07
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x20]
jl case.0x423d98.86
jmp 0x426edc
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
cmp word [edi + 2], 0
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x30], eax
je 0x426fec
mov ecx, dword [ebx + 0xc4]
mov esi, dword [edx + 0x14]
test ecx, ecx
je 0x426fec
cmp dword [ecx + 0x1c], esi
je 0x426fe4
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x426fd8
test ecx, ecx
jne case.0x423d98.86
mov ecx, dword [ebx + 0xcc]
mov esi, dword [ebp - 0x10]
cmp ecx, dword [esi + 0x94]
jge 0x4282ff
test byte [eax + 8], 0x10
jne 0x4270f0
mov eax, dword [edx + 0xc]
mov edx, dword [edx + 8]
add edx, eax
mov dword [ebp - 0x1c], edx
test eax, eax
jne 0x42701e
inc edx
mov dword [ebp - 0x1c], edx
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
add edi, 2
mov ecx, edi
imul ecx, ecx, 0xa
add ecx, dword [eax + 0xc]
mov eax, dword [eax + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
lea eax, [eax + ecx*4]
mov dword [ebp - 0x28], eax
cdq
push edx
push eax
mov ecx, esi
call fcn.00408f66
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4251d9
mov eax, dword [ebp - 0x30]
call fcn.0041e42d
imul edi, edi, 0x28
mov eax, dword [ebp - 0x30]
mov dword [eax + 0x10], esi
mov dword [eax + 0x24], 0x41fd5a
mov ecx, 0x410
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x28]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x24]
mov dword [esi], ebx
mov eax, dword [eax + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x3c]
push 0x14
cdq
pop ecx
idiv ecx
add edi, esi
mov dword [esi + 0x30], eax
mov eax, dword [ebx + 0x5c]
mov dword [esi + 0x10], eax
mov eax, dword [ebx + 0x18]
mov dword [esi + 0x38], eax
mov eax, dword [ebx + 0x70]
mov dword [esi + 0x14], eax
mov eax, dword [ebx + 0x1c]
mov dword [esi + 0x2c], eax
mov eax, dword [ebx + 0x58]
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x88]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14]
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x50]
jmp 0x4270ea
mov ecx, 0x80
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x20], ecx
add eax, 0x28
cmp eax, edi
jne 0x4270d8
jmp 0x4270f6
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 0x10]
inc dword [ebx + 0xcc]
mov eax, dword [ebx + 0xc4]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x28]
mov dword [esi + 0x20], ecx
mov eax, dword [eax + 0x2c]
mov dword [esi + 0x24], eax
mov eax, dword [ebx + 0x2c]
mov dword [esi + 0x44], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x64]
mov dword [esi + 0x48], eax
lea eax, [ebx + 0xd8]
mov ecx, dword [eax]
mov dword [esi + 0x28], ecx
and dword [eax], 0
and dword [ebx + 0x2c], 0
mov edi, dword [ebp - 0x24]
mov dword [ebx + 0xc4], esi
lea eax, [esi + 0x50]
mov dword [ebx + 0x5c], eax
mov ecx, dword [esi + 0x3c]
mov dword [ebx + 0x18], ecx
movzx ecx, word [esi + 0x40]
mov dword [ebx + 0x1c], ecx
mov ecx, dword [ebx + 0x18]
imul ecx, ecx, 0x28
mov dword [ebp - 0x14], eax
add eax, ecx
mov dword [ebx + 0x70], eax
mov ecx, dword [edi + 0xc]
lea ecx, [eax + ecx*4]
mov dword [esi + 0x18], ecx
mov eax, dword [edi + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call fcn.0055bfc0
mov eax, dword [edi]
mov dword [ebx + 0x58], eax
mov ecx, dword [edi + 4]
add esp, 0xc
mov dword [ebp - 0x3c], eax
mov dword [ebx + 0x88], ecx
add eax, 0xffffffec
jmp 0x423ede
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov ecx, dword [ebx + 0xc4]
mov edx, dword [ecx + 0x30]
mov esi, dword [ecx + 8]
imul edx, edx, 0x14
mov edx, dword [edx + esi + 4]
add edx, dword [edi + 4]
push 0x1000
imul edx, edx, 0x28
add edx, dword [ecx + 0x10]
push edx
jmp 0x424109
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x20]
and eax, 0x80000
xor edx, edx
or eax, edx
mov eax, dword [edi + 8]
je 0x4271e8
add ecx, 0x1d8
cdq
jmp 0x4271f4
cmp dword [edi + 4], edx
cdq
je 0x4271fe
add ecx, 0x1d0
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x423d98.86
add dword [ebx + 0x40], eax
adc dword [ebx + 0x44], edx
jmp case.0x423d98.86
cmp dword [edi + 4], 0
je 0x427226
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x1d0]
or ecx, dword [eax + 0x1d4]
jne case.0x423d98.86
jmp 0x427235
mov eax, dword [ebx + 0x40]
or eax, dword [ebx + 0x44]
jne case.0x423d98.86
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x1d8]
or ecx, dword [eax + 0x1dc]
jmp 0x424c76
mov ecx, dword [ebx + 0xc4]
test ecx, ecx
jne 0x4272a2
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
mov esi, eax
mov dword [ebp - 0x18], eax
call fcn.0041e5d4
mov esi, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
call fcn.0041e5d4
mov ecx, dword [ebp - 0x18]
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov ecx, dword [ecx + 4]
cmp ecx, esi
jg case.0x423d98.86
jl 0x427293
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx]
cmp ecx, eax
jae case.0x423d98.86
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], esi
jmp case.0x423d98.86
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x4272a0
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ecx + 0x10]
jmp 0x427259
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
mov dword [ebp - 0x1e0], eax
test eax, eax
jl case.0x423d98.86
jg 0x4272da
test esi, esi
jbe case.0x423d98.86
mov eax, dword [edi + 0xc]
cdq
sub esi, eax
mov eax, dword [ebp - 0x1e0]
sbb eax, edx
mov dword [ecx], esi
mov dword [ecx + 4], eax
jmp 0x425e07
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov ecx, dword [esi]
mov esi, dword [esi + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xf0], esi
test esi, esi
jl 0x427370
jg 0x42732e
test ecx, ecx
jbe 0x427370
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jl 0x427340
jg 0x427344
test ecx, ecx
ja 0x427344
xor ecx, ecx
xor eax, eax
push eax
push ecx
lea edi, [ebp - 0xf4]
call fcn.0040bd95
mov edi, dword [ebp - 8]
pop ecx
test eax, eax
mov eax, dword [ebp - 0x18]
pop ecx
jne 0x427370
mov ecx, dword [ebp - 0xf4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xf0]
jmp 0x423f12
or dword [eax], 0xffffffff
or dword [eax + 4], 0xffffffff
jmp case.0x423d98.86
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov esi, ecx
or esi, edx
je case.0x423d98.86
test edx, edx
jl 0x425e07
jg 0x4273a6
test ecx, ecx
jbe 0x425e07
sub ecx, 1
sbb edx, 0
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x425e07
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
mov ecx, dword [eax + 4]
cmp ecx, 0x80000000
mov edx, dword [eax]
jl 0x4273dd
jg 0x4273d2
test edx, edx
jbe 0x4273dd
sub edx, 1
sbb ecx, 0
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ecx, dword [eax]
or ecx, dword [eax + 4]
jmp 0x424c76
movzx eax, word [edi + 2]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
lea eax, [eax*4 + 0x44]
push 0
push eax
call fcn.00408fec
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4251d9
and dword [esi + 8], 0
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp - 8]
lea eax, [esi + eax*4 + 0x1c]
mov dword [esi], eax
and dword [eax + 0x18], 0
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x20], ecx
mov eax, dword [edi + 0x10]
mov dword [esi + 4], eax
mov eax, edi
sub eax, dword [ebp - 0x3c]
push 0x14
cdq
pop ecx
idiv ecx
and dword [esi + 0x14], 0
mov dword [esi + 0xc], ebx
mov byte [esi + 0x18], 0
mov dword [esi + 0x10], eax
mov al, byte [ebp - 0x28]
mov byte [esi + 0x19], al
mov byte [edi + 1], 0xf0
mov dword [edi + 0x10], esi
mov byte [edi], 0x9c
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 0x10]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
cmp dword [esi + 8], eax
je 0x4274a0
movzx ecx, byte [esi + 0x19]
dec ecx
mov dword [esi + 8], eax
mov dword [ebp - 0x28], ecx
js 0x4274a0
lea edx, [esi + ecx*4 + 0x1c]
mov dword [ebp - 0x1c], edx
mov edx, dword [edi + 8]
add edx, ecx
mov ecx, dword [ebp - 0x1c]
imul edx, edx, 0x28
add edx, dword [ebp - 0x14]
sub dword [ebp - 0x1c], 4
mov dword [ecx], edx
mov ecx, dword [ebp - 0x28]
dec ecx
mov dword [ebp - 0x28], ecx
test ecx, ecx
jge 0x427481
inc dword [eax + 0xc]
cmp dword [edi + 4], 0
mov eax, dword [esi + 4]
lea ecx, [esi + 0x1c]
push ecx
movzx ecx, byte [esi + 0x19]
push ecx
push esi
je 0x4274bb
call dword [eax + 0x1c]
jmp 0x4274be
call dword [eax + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je case.0x423d98.86
jle 0x4274ef
mov eax, dword [esi]
mov cl, 1
call fcn.0041ec78
push eax
push 0x5db5cc
mov edi, ebx
call fcn.0041f0e0
mov eax, dword [esi + 0x14]
mov edi, dword [ebp - 8]
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
cmp byte [esi + 0x18], 0
je 0x427513
mov edi, dword [edi - 0x10]
test edi, edi
je 0x42750f
mov eax, edi
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
push 0
push 1
call fcn.0041e7b4
pop ecx
pop ecx
mov byte [esi + 0x18], 0
mov eax, dword [esi]
call fcn.0041e42d
mov eax, dword [esi]
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
and dword [esi + 0x14], 0
jmp 0x4247c4
mov esi, dword [edi + 4]
mov eax, dword [edi + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
test eax, eax
je 0x42759c
mov ecx, dword [edi + 0x10]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x28], eax
push 8
xor eax, eax
pop ecx
lea edi, [ebp - 0x204]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x28]
call fcn.0041e751
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x204]
push ecx
mov dword [ebp - 0x1fc], esi
mov dword [ebp - 0x200], eax
call dword [eax + 0x18]
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0x14]
pop ecx
mov edi, eax
jmp 0x4275ac
mov edx, dword [edi + 0x10]
mov ebx, esi
call fcn.0041e374
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x428318
movzx eax, byte [ebp - 0x40]
push eax
mov eax, esi
call fcn.0041e0f6
pop ecx
mov ecx, esi
call fcn.0041e8b8
test eax, eax
jne 0x428385
jmp case.0x423d98.86
mov ebx, dword [ebp - 0x10]
and dword [ebp - 0x100], 0
or dword [ebp - 0xf8], 0xffffffff
or dword [ebp - 0xfc], 0xffffffff
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0xfc]
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.0045be66
add esp, 0x10
mov dword [ebp - 0xc], eax
test eax, eax
je 0x42762c
cmp eax, 5
jne 0x42839b
and dword [ebp - 0xc], 0
mov edi, dword [ebp - 8]
mov dword [ebp - 0x100], 1
mov esi, dword [edi + 0xc]
imul esi, esi, 0x28
xor ebx, ebx
add esi, dword [ebp - 0x14]
mov eax, dword [ebp + ebx*4 - 0x100]
cdq
push edx
push eax
mov eax, esi
call fcn.0041e7b4
inc ebx
pop ecx
add esi, 0x28
cmp ebx, 3
pop ecx
jl 0x427637
jmp 0x42415c
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x10]
mov esi, dword [edi + 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 4]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
movzx eax, byte [edi + 5]
mov dword [ebp - 0x50], eax
cmp esi, 0xffffffff
jne 0x42768d
mov esi, eax
cmp byte [edi + 0x10], 3
jae 0x4276a8
mov ecx, dword [edi + 0x40]
xor eax, eax
cmp dword [ecx], eax
je 0x4276ab
cmp dword [edi + 0x4c], eax
jl 0x4276ab
jg 0x4276a8
cmp dword [edi + 0x48], eax
jbe 0x4276ab
mov esi, dword [ebp - 0x50]
cmp byte [edi + 0xf], 0
mov eax, 0x5db560
jne 0x4276bc
mov eax, dword [edi + 0xa8]
cmp esi, 5
jne 0x4276d8
call fcn.0040af81
test eax, eax
je 0x4276d5
mov eax, edi
call fcn.00413ae6
test eax, eax
jne 0x4276d8
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x50]
cmp esi, ecx
je 0x427745
push 5
pop edx
cmp ecx, edx
je 0x4276ea
cmp esi, edx
jne 0x427745
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x4f], 0
je 0x428331
cmp dword [eax + 0xb0], 1
jg 0x428331
cmp ecx, edx
jne 0x42771c
push eax
mov eax, edi
call fcn.00413bbf
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42774b
mov ecx, esi
jmp 0x427724
cmp ecx, 4
jne 0x427729
push 2
pop ecx
call fcn.0041399c
cmp dword [ebp - 0xc], 0
jne 0x42774b
xor eax, eax
cmp esi, 5
sete al
inc eax
push eax
mov eax, dword [ebp - 0x28]
call fcn.0041d63a
pop ecx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x42774e
mov esi, dword [ebp - 0x50]
mov ecx, esi
call fcn.0041399c
mov edx, dword [ebp - 0x18]
mov ecx, 0xa02
mov word [edx + 8], cx
cmp eax, 6
jne 0x42776a
xor eax, eax
jmp 0x427771
mov eax, dword [eax*4 + 0x5d78b0]
mov esi, dword [ebp - 0x18]
mov dword [esi + 0x10], eax
call fcn.0040af81
mov dword [esi + 0xc], eax
movzx eax, byte [ebp - 0x40]
push eax
mov eax, esi
mov byte [esi + 0xa], 1
call fcn.0041e0f6
jmp 0x4247c3
push dword [edi + 4]
lea eax, [ebx + 0x6c]
push dword [ebp - 0x10]
push eax
call fcn.0044c174
jmp 0x425bc6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x10]
shl eax, 4
push dword [eax + ecx + 4]
call fcn.004185bd
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
je case.0x423d98.86
cmp eax, 0x65
jne 0x42839e
and dword [ebp - 0xc], 0
jmp 0x425e04
cmp dword [edi + 4], 0
jne 0x4277f1
mov edx, dword [edi + 8]
mov eax, dword [ebp - 0x10]
call fcn.0042212f
jmp case.0x423d98.86
mov ecx, dword [edi + 8]
inc ecx
lea eax, [ebx + 0x94]
xor ecx, dword [eax]
and ecx, 3
xor dword [eax], ecx
jmp case.0x423d98.86
mov al, byte [edi + 0xc]
test al, al
jne 0x42782e
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x20]
and ecx, 0x400
push 0
mov dword [ebp - 0x2c], ecx
pop ecx
jne case.0x423d98.86
test ecx, ecx
jne case.0x423d98.86
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0x10]
mov esi, dword [ecx + 0x10]
mov ecx, dword [edi + 8]
shl edx, 4
mov edx, dword [edx + esi + 4]
call fcn.0041d599
mov dword [ebp - 0xc], eax
test eax, eax
je case.0x423d98.86
cmp al, 6
jne 0x42839e
mov eax, dword [ebp - 8]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
jmp 0x428327
mov edi, dword [edi + 0x10]
mov eax, dword [ebp - 0x10]
call fcn.0044cfab
mov dword [ebp - 0xc], eax
test edi, edi
je 0x4247c4
mov esi, dword [edi + 8]
mov edi, ebx
call fcn.004221de
jmp 0x4247c4
mov esi, dword [ebp - 8]
xor eax, eax
push 0xa
pop ecx
lea edi, [ebp - 0x29c]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x27c], eax
mov eax, dword [esi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
lea ebx, [ebp - 0x29c]
push eax
call fcn.0041e945
pop ecx
mov dword [ebp - 0xc], eax
mov cl, 1
mov eax, ebx
call fcn.0041ec78
test eax, eax
je 0x4278e5
mov ecx, dword [ebp + 8]
add ecx, 0x6c
push ecx
mov ecx, dword [ebp - 0x10]
push eax
mov eax, dword [esi + 4]
call fcn.0044cc75
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x29c]
call fcn.0041e42d
jmp 0x425921
mov ecx, dword [ebp - 0x10]
lea esi, [ecx + 0xbc]
inc dword [esi]
push dword [edi + 0x10]
mov eax, dword [edi + 4]
call fcn.0044ced4
dec dword [esi]
pop ecx
jmp 0x425bc9
and dword [ebp - 0x74], 0
mov eax, dword [edi + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x42835d
mov eax, dword [esi]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x42835d
lea eax, [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x28]
push esi
call dword [eax + 0x18]
pop ecx
pop ecx
mov edi, ebx
mov dword [ebp - 0xc], eax
call fcn.004221de
cmp dword [ebp - 0xc], 0
jne 0x42839e
mov eax, dword [ebp - 0x74]
push 2
mov dword [eax], esi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
push 0xffffffffffffffff
push 0
push ebx
call fcn.00423a54
add esp, 0x10
test eax, eax
je 0x42834e
mov ecx, dword [ebp - 0x74]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
jmp 0x4258b6
mov eax, dword [edi + 0xc]
mov edx, dword [ebx + 0x70]
imul eax, eax, 0x28
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ecx + 0x28]
mov esi, dword [ecx]
mov dword [ebp - 0x28], ecx
mov ecx, dword [esi]
mov dword [ebp - 0x48], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax]
xor edx, edx
cmp dword [ebp - 0x1c], edx
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebx + 0x60]
jle 0x4279d1
add eax, 0x50
jmp 0x4279c2
mov eax, dword [ebp - 0x70]
mov dword [ecx + edx*4], eax
inc edx
add eax, 0x28
cmp edx, dword [ebp - 0x1c]
mov dword [ebp - 0x70], eax
jl 0x4279bf
mov eax, dword [ebp - 0x48]
push ecx
push dword [ebp - 0x1c]
push dword [edi + 0x10]
push dword [ebp - 0x58]
push dword [ebp - 0x28]
call dword [eax + 0x20]
add esp, 0x14
mov edi, ebx
mov dword [ebp - 0xc], eax
call fcn.004221de
cmp dword [ebp - 0xc], 0
jne 0x42839e
push dword [ebp - 0x28]
mov eax, dword [ebp - 0x48]
call dword [eax + 0x28]
pop ecx
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 2], 0
jmp 0x425fd0
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 4]
imul esi, esi, 0x28
mov ecx, dword [ebx + 0x70]
mov eax, dword [ecx + eax*4]
add esi, dword [ebp - 0x14]
cmp byte [eax + 2], 0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], esi
jne 0x42422d
mov eax, dword [eax + 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x70], eax
mov eax, dword [eax]
push 8
mov dword [ebp - 0x48], eax
xor eax, eax
pop ecx
lea edi, [ebp - 0x224]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 8]
test byte [edi + 2], 1
mov dword [ebp - 0x224], esi
je 0x427a6d
mov eax, esi
call fcn.0041e751
and dword [esi], 0
mov eax, 0x4001
jmp 0x427a7d
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 1
mov word [esi + 8], ax
push dword [edi + 8]
lea eax, [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x28]
push dword [eax + 0x28]
mov eax, dword [ebp - 0x48]
call dword [eax + 0x2c]
mov esi, dword [ebp - 0x70]
add esp, 0xc
mov edi, ebx
mov dword [ebp - 0xc], eax
call fcn.004221de
cmp dword [ebp - 0x210], 0
jle 0x427ad0
mov eax, dword [ebp - 0x1c]
mov cl, 1
call fcn.0041ec78
push eax
push 0x5db5cc
call fcn.0041f0e0
mov eax, dword [ebp - 0x210]
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
movzx eax, byte [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x1c]
call fcn.0041e0f6
pop ecx
mov ecx, dword [ebp - 0x1c]
call fcn.0041e8b8
test eax, eax
jne 0x428385
jmp 0x4247c4
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x70]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 2], 0
mov dword [ebp - 0x28], eax
jne case.0x423d98.86
mov eax, dword [eax + 0x28]
mov esi, dword [eax]
mov ecx, dword [esi]
push eax
mov dword [ebp - 0x48], ecx
call dword [ecx + 0x24]
pop ecx
mov edi, ebx
mov dword [ebp - 0xc], eax
call fcn.004221de
cmp dword [ebp - 0xc], 0
jne 0x42839e
mov eax, dword [ebp - 0x28]
push dword [eax + 0x28]
mov eax, dword [ebp - 0x48]
call dword [eax + 0x28]
pop ecx
test eax, eax
jne 0x427b50
mov edi, dword [ebp - 8]
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x3c]
imul eax, eax, 0x14
lea eax, [eax + ecx - 0x14]
mov dword [ebp - 8], eax
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x108]
test eax, eax
jne 0x428366
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp - 0xa0]
jb 0x4258b6
mov edi, dword [esi + 0x140]
test edi, edi
je 0x4258b6
mov ecx, dword [esi + 0x148]
xor edx, edx
div ecx
push dword [esi + 0x144]
sub ecx, edx
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0xa0], ecx
call edi
pop ecx
test eax, eax
je 0x4258b6
mov dword [ebp - 0xc], 9
jmp 0x42839e
mov eax, dword [ebp - 0x10]
mov esi, dword [eax + 0x20]
mov ecx, 0x4000000
or dword [eax + 0x20], ecx
and esi, ecx
mov ecx, dword [eax + 0x24]
mov dword [eax + 0x24], ecx
mov eax, dword [edi + 0x10]
mov edi, dword [edi + 4]
mov eax, dword [eax + 8]
imul edi, edi, 0x28
add edi, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
push 1
mov eax, edi
call fcn.0041e0f6
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
mov eax, dword [ebp - 0x28]
push dword [edi + 0x10]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
test esi, esi
jne 0x427c18
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x24]
and dword [eax + 0x20], 0xfbffffff
mov dword [eax + 0x24], ecx
mov esi, dword [ebp - 0x28]
mov edi, ebx
call fcn.004221de
and dword [ebx + 0x94], 0xfffffffc
jmp 0x4247c4
mov edi, dword [ebp - 0x10]
cmp byte [edi + 0x51], 0
jne 0x4251d9
mov ecx, dword [ebp - 8]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x42835d
mov esi, dword [eax]
test esi, esi
je 0x42835d
cmp dword [esi + 0x34], 0
mov edx, dword [ecx + 8]
je 0x4258b6
mov al, byte [edi + 0x56]
and dword [ebp - 0x24], 0
mov ecx, dword [ebx + 0x60]
mov byte [ebp - 0x41], al
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
test edx, edx
jle 0x427c94
mov edi, dword [ebp - 0x24]
mov dword [ecx + edi*4], eax
add eax, 0x28
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jl 0x427c83
mov eax, dword [ebp - 8]
mov al, byte [eax + 2]
mov edi, dword [ebp - 0x10]
mov byte [edi + 0x56], al
lea eax, [ebp - 0x154]
push eax
push ecx
push edx
push dword [ebp - 0x28]
call dword [esi + 0x34]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0xc], eax
mov al, byte [ebp - 0x41]
mov byte [edi + 0x56], al
add esp, 0x10
mov edi, ebx
call fcn.004221de
cmp dword [ebp - 0xc], 0
mov eax, dword [ebp - 8]
jne 0x427ce9
cmp dword [eax + 4], 0
je 0x427ce9
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x28], edx
mov edx, dword [ebp - 0x150]
mov dword [ecx + 0x2c], edx
cmp byte [ebp - 0xc], 0x13
jne 0x427d24
mov ecx, dword [eax + 0x10]
cmp byte [ecx + 0x10], 0
je 0x427d24
movzx eax, word [eax + 2]
cmp ax, 4
jne 0x427d0b
and dword [ebp - 0xc], 0
jmp 0x4258b6
cmp ax, 5
jne 0x427d16
push 2
pop eax
jmp 0x427d19
movzx eax, ax
mov byte [ebx + 0x8e], al
jmp 0x4247c4
inc dword [ebx + 0x2c]
jmp 0x4247c4
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 0x10]
shl ecx, 4
mov ecx, dword [ecx + edx + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x2c]
and dword [eax + 4], 0
mov dword [eax], ecx
jmp case.0x423d98.86
mov eax, edi
mov ecx, ebx
call fcn.00423cb6
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x10]
and dword [ebp - 0x24], 0
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 4]
shl eax, 4
mov esi, dword [eax + ecx + 4]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x427d8d
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0x2c]
mov dword [ebp - 0x24], ecx
cmp ecx, eax
jae 0x427d8d
mov dword [ebp - 0x24], eax
mov eax, esi
call fcn.00415e72
cmp dword [ebp - 0x24], 0
mov eax, dword [esi + 4]
mov eax, dword [eax]
jle 0x427da8
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x9c], ecx
mov eax, dword [eax + 0x9c]
mov dword [ebp - 0x28], eax
mov eax, esi
call fcn.00415ee0
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
jmp 0x423ef4
movzx eax, word [edi + 2]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
lea eax, [eax*4 + 0x1c]
push 0
push eax
call fcn.00408fec
pop ecx
pop ecx
mov ecx, eax
test ecx, ecx
je 0x4251d9
mov esi, dword [ebp - 8]
and dword [ecx], 0
mov eax, dword [esi + 0x10]
mov dword [ecx + 4], eax
mov eax, esi
sub eax, dword [ebp - 0x3c]
push 0x14
cdq
pop edi
idiv edi
and dword [ecx + 0x14], 0
mov dword [ecx + 0xc], ebx
mov edi, esi
mov dword [ecx + 0x10], eax
mov al, byte [ebp - 0x28]
mov byte [ecx + 0x19], al
add byte [esi], 2
mov byte [esi + 1], 0xf0
mov dword [esi + 0x10], ecx
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 0x10]
imul eax, eax, 0x28
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
cmp dword [esi], eax
je 0x427e60
movzx ecx, byte [esi + 0x19]
dec ecx
mov dword [esi], eax
mov dword [ebp - 0x28], ecx
js 0x427e60
lea edx, [esi + ecx*4 + 0x1c]
mov dword [ebp - 0x1c], edx
mov edx, dword [edi + 8]
add edx, ecx
mov ecx, dword [ebp - 0x1c]
imul edx, edx, 0x28
add edx, dword [ebp - 0x14]
sub dword [ebp - 0x1c], 4
mov dword [ecx], edx
mov ecx, dword [ebp - 0x28]
dec ecx
mov dword [ebp - 0x28], ecx
test ecx, ecx
jge 0x427e41
mov cx, word [eax + 8]
mov edx, 0x3e00
and cx, dx
or cx, 1
mov word [eax + 8], cx
mov eax, dword [esi + 4]
lea ecx, [esi + 0x1c]
push ecx
movzx ecx, byte [esi + 0x19]
push ecx
push esi
call dword [eax + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x427edc
jle 0x427eb2
mov eax, dword [ebp - 0x18]
mov cl, 1
call fcn.0041ec78
push eax
push 0x5db5cc
mov edi, ebx
call fcn.0041f0e0
mov eax, dword [esi + 0x14]
mov edi, dword [ebp - 8]
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
push dword [edi + 4]
lea eax, [ebx + 0xd8]
push dword [ebp - 0x10]
mov ebx, dword [esi + 0x10]
call fcn.00420f22
and dword [esi + 0x14], 0
cmp dword [ebp - 0xc], 0
mov ebx, dword [ebp + 8]
pop ecx
pop ecx
jne 0x42839e
mov edi, dword [ebp - 8]
mov esi, dword [ebp - 0x18]
test byte [esi + 8], 0x12
je case.0x423d98.86
jmp 0x4275b6
mov eax, dword [ebp - 0x10]
mov al, byte [eax + 0x58]
test al, 0x81
je 0x427fa2
test byte [ebx + 0x94], 0x10
jne 0x427fa2
mov edx, dword [edi + 0x10]
test edx, edx
jne 0x427f1e
mov edx, dword [ebx + 0xbc]
test edx, edx
je 0x427fa2
test al, al
jns 0x427f4f
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0xc8]
mov ecx, ebx
mov dword [ebp - 0x28], eax
call fcn.00423757
push eax
push dword [esi + 0xcc]
mov dword [ebp - 0x48], eax
call dword [ebp - 0x28]
push dword [ebp - 0x48]
call fcn.00408d0f
add esp, 0xc
jmp 0x427fa2
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0xb8], 1
push edx
jle 0x427f90
push str.____s
mov esi, eax
call fcn.0040a60d
mov esi, eax
mov eax, dword [ebp - 0x10]
push esi
push ebx
push dword [eax + 0xcc]
push 1
call dword [eax + 0xc8]
add esp, 0x18
test esi, esi
je 0x427fa2
mov ecx, dword [ebp - 0x10]
mov edx, esi
call fcn.00408d75
jmp 0x427fa2
push ebx
push dword [eax + 0xcc]
push 1
call dword [eax + 0xc8]
add esp, 0x10
mov eax, dword [edi + 4]
cmp eax, dword [0x5e4388]
jl 0x427fe2
cmp byte [edi], 0xa9
je case.0x423d98.86
xor edx, edx
inc edx
cmp dword [ebx + 0x88], edx
jle 0x427fde
push 0x14
pop ecx
mov eax, dword [ebx + 0x58]
add eax, ecx
cmp byte [eax], 0x11
jne 0x427fd2
and dword [eax + 4], 0
inc edx
add ecx, 0x14
cmp edx, dword [ebx + 0x88]
jl 0x427fc4
and dword [edi + 4], 0
inc dword [edi + 4]
inc dword [ebx + 0xb8]
jmp 0x425e07
push str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x428221
push dword [ebp - 0x24]
mov edi, ebx
push str.no_such_savepoint:__s
call fcn.0041f0e0
pop ecx
jmp 0x4282a5
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x428221
mov dword [ebp - 0xc], 7
jmp 0x426d96
mov ecx, dword [edi + 4]
mov dword [ebx + 0x28], ecx
cmp dword [ebx + 0x28], 0
mov cl, byte [edi + 8]
mov byte [ebx + 0x8e], cl
mov dword [ebx + 0x24], eax
je 0x4280b1
movzx eax, word [edi + 2]
test ax, ax
je 0x428081
movzx eax, ax
push dword [eax*4 + 0x5d6dc4]
mov edi, ebx
push str._s_constraint_failed
call fcn.0041f0e0
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
pop ecx
pop ecx
test eax, eax
je 0x428092
mov esi, dword [ebp - 0x10]
push eax
push dword [ebx + 0x6c]
push str._z:__s
call fcn.0040a60d
add esp, 0xc
mov dword [ebx + 0x6c], eax
jmp 0x428092
push dword [edi + 0x10]
mov edi, ebx
push 0x5db5cc
call fcn.0041f0e0
pop ecx
pop ecx
push dword [ebx + 0x6c]
mov eax, dword [ebp - 8]
push dword [ebx + 0xbc]
push dword [ebp - 0x28]
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.0040a797
add esp, 0x14
mov edi, ebx
call fcn.00420b72
mov dword [ebp - 0xc], eax
push 5
pop eax
cmp dword [ebp - 0xc], eax
je 0x4282d8
mov eax, dword [ebx + 0x28]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [ebp - 0xc], eax
jmp 0x428435
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x140]
test ecx, ecx
je 0x428108
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0xa0]
jb 0x428108
push dword [eax + 0x144]
call ecx
pop ecx
test eax, eax
jne 0x427baa
push 0
mov eax, ebx
call fcn.00420b12
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x42839e
push 1
mov eax, ebx
call fcn.00420af1
mov eax, dword [ebx + 0x20]
mov esi, dword [ebp - 8]
inc eax
inc eax
or eax, 1
mov dword [ebx + 0x20], eax
mov eax, dword [esi + 4]
imul eax, eax, 0x28
pop ecx
mov ecx, dword [ebp - 0x14]
add eax, ecx
xor edi, edi
mov dword [ebx + 0x68], eax
cmp dword [esi + 8], edi
jle 0x42817f
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
mov ecx, 0x1000
test word [eax + 8], cx
je 0x42816d
mov esi, eax
call fcn.0041e212
test eax, eax
jne 0x4251d9
mov esi, dword [ebp - 8]
mov eax, dword [ebp + 8]
call fcn.0041e2a1
add dword [ebp + 8], 0x28
inc edi
cmp edi, dword [esi + 8]
jl 0x42814d
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x51], 0
jne 0x4251d9
test byte [eax + 0x58], 4
je 0x4281a6
push 0
push ebx
push dword [eax + 0xcc]
push 4
call dword [eax + 0xc8]
add esp, 0x10
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x3c]
push 0x14
cdq
pop ecx
idiv ecx
mov dword [ebp - 0xc], 0x64
inc eax
mov dword [ebx + 0x24], eax
jmp 0x428435
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x3c]
push 0x14
cdq
pop edi
idiv edi
mov dword [ebx + 0x24], eax
mov byte [esi + 0x4f], 0
mov dword [ebp - 0xc], ecx
mov dword [ebx + 0x28], ecx
jmp 0x428435
mov esi, dword [ebp - 0x10]
mov eax, dword [edi + 4]
movzx ecx, byte [esi + 0x4f]
mov edi, dword [edi + 8]
mov dword [ebp + 8], eax
cmp eax, ecx
je 0x428284
test edi, edi
je 0x42820f
push 0x204
mov eax, esi
call fcn.0045b544
pop ecx
mov byte [esi + 0x4f], 1
jmp 0x428250
test eax, eax
je 0x428235
cmp dword [esi + 0xb4], 0
jle 0x428235
push str.cannot_commit_transaction___SQL_statements_in_progress
mov edi, ebx
call fcn.0041f0e0
pop ecx
mov dword [ebp - 0xc], 5
jmp 0x42839e
push 1
mov eax, ebx
call fcn.00420b12
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x428435
mov al, byte [ebp + 8]
mov byte [esi + 0x4f], al
mov edi, ebx
call fcn.00420b72
push 5
pop ecx
cmp eax, ecx
jne 0x42827a
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x3c]
push 0x14
cdq
pop edi
idiv edi
mov dword [ebx + 0x24], eax
mov al, 1
sub al, byte [ebp + 8]
mov byte [esi + 0x4f], al
jmp 0x4281d5
call fcn.0045b193
jmp 0x4280c7
test eax, eax
jne 0x42828f
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x42829d
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x42829d
mov eax, str.cannot_commit___no_transaction_is_active
push eax
mov edi, ebx
call fcn.0041f0e0
pop ecx
mov dword [ebp - 0xc], 1
jmp 0x42839e
mov dword [ebp - 0xc], 8
jmp 0x42839e
cmp al, 5
jne 0x42839e
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x3c]
push 0x14
cdq
pop ecx
idiv ecx
mov dword [ebx + 0x24], eax
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0x28], eax
jmp 0x428435
mov dword [ebp - 0xc], 0x204
jmp 0x42839e
mov dword [ebp - 0xc], 6
mov byte [ebx + 0x8e], 2
jmp 0x42839e
push str.too_many_levels_of_trigger_recursion
mov edi, ebx
mov dword [ebp - 0xc], 1
call fcn.0041f0e0
pop ecx
jmp 0x42839e
mov cl, 1
mov eax, esi
call fcn.0041ec78
push eax
push 0x5db5cc
mov edi, ebx
call fcn.0041f0e0
pop ecx
jmp 0x428312
mov dword [ebp - 0xc], 1
mov eax, str.into
cmp esi, edx
je 0x428346
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x428327
push dword [ebp - 0x74]
mov eax, dword [ebp - 0x28]
call dword [eax + 0x1c]
pop ecx
jmp 0x4251d9
mov dword [ebp - 0xc], 6
jmp 0x42839e
mov eax, dword [ebp - 0x10]
xor edx, edx
cmp byte [eax + 0x51], dl
sete dl
lea edx, [edx + edx + 7]
mov dword [ebp - 0xc], edx
mov dword [ebx + 0x28], edx
call fcn.0045b630
jmp 0x428321
mov ebx, dword [ebp + 8]
push str.string_or_blob_too_big
mov edi, ebx
call fcn.0041f0e0
pop ecx
mov dword [ebp - 0xc], 0x12
jmp 0x42839e
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x51], 0
je 0x4283ae
mov dword [ebp - 0xc], 7
cmp dword [ebx + 0x6c], 0
jne 0x4283d3
mov edx, dword [ebp - 0xc]
cmp edx, 0xc0a
je 0x4283d3
call fcn.0045b630
push eax
push 0x5db5cc
mov edi, ebx
call fcn.0041f0e0
pop ecx
pop ecx
mov edi, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
mov eax, edi
mov dword [ebx + 0x28], edi
call fcn.0040afed
push dword [ebx + 0x6c]
mov eax, dword [ebp - 8]
push dword [ebx + 0xbc]
sub eax, dword [ebp - 0x3c]
push 0x14
pop ecx
cdq
idiv ecx
push eax
push str.statement_aborts_at__d:___s___s
push edi
call fcn.0040a797
add esp, 0x14
mov edi, ebx
call fcn.00420b72
cmp dword [ebp - 0xc], 0xc0a
jne 0x42841e
mov eax, esi
call fcn.0040922a
cmp byte [ebp - 0x51], 0
mov dword [ebp - 0xc], 1
jbe 0x428435
movzx eax, byte [ebp - 0x51]
dec eax
call fcn.00434bf9
mov eax, dword [ebp - 0x90]
add dword [ebx + 0xb0], eax
mov eax, ebx
call fcn.0041fc9d
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret