Function at 0x425421
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x334
mov eax, dword [0x4c2014]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0xe8], edi
mov esi, dword [edi]
mov eax, dword [edi + 4]
mov ebx, eax
mov dword [ebp - 0x120], eax
xor eax, eax
mov dword [ebp - 0x1bc], eax
mov cl, byte [esi + 0x3e]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0x12d], al
mov byte [ebp - 0x124], cl
mov ecx, dword [edi + 8]
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x15c], eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0xec], ecx
mov ecx, edi
mov dword [ebp - 0xe4], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xe0], eax
call fcn.00421465
cmp dword [edi + 0x50], 7
mov dword [ebp - 0x1c4], 0x14
mov dword [ebp - 0x1d0], 1
je 0x42a145
xor edx, edx
mov dword [edi + 0x50], edx
mov dword [edi + 0x88], edx
mov dword [edi + 0x8c], edx
mov dword [edi + 0x14], edx
push 9
mov dword [esi + 0x1c4], edx
pop eax
cmp dword [esi + 0xf0], edx
jne 0x42a22e
cmp dword [esi + 0x124], edx
je 0x425513
mov eax, dword [edi + 0x7c]
mov ecx, dword [esi + 0x12c]
mov dword [ebp - 0x168], ecx
test eax, eax
je 0x425513
div ecx
mov dword [ebp - 0x168], edx
imul ebx, dword [edi + 0x4c], 0x14
mov dword [ebp - 0x1cc], 0xbe01
add ebx, dword [ebp - 0x120]
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x118], ebx
cmp byte [esi + 0x41], 0
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x11c], edx
jne 0x42a145
mov cl, byte [ebx]
inc dword [ebp - 0x150]
movzx edx, cl
mov byte [ebp - 0xf1], cl
mov dword [ebp - 0x12c], edx
lea eax, [edx - 1]
cmp eax, 0x9a
ja case.default.0x425570
jmp dword [eax*4 + 0x42a249]
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
push 0x14
pop esi
add ecx, dword [ebp - 0xec]
mov word [ecx + 8], ax
mov eax, ebx
sub eax, dword [ebp - 0x120]
cdq
idiv esi
cdq
mov dword [ecx], eax
jmp 0x4293d5
imul eax, dword [ebx + 4], 0x28
mov ecx, 0x80
add eax, dword [ebp - 0xec]
imul ebx, dword [eax], 0x14
add ebx, dword [ebp - 0x120]
mov word [eax + 8], cx
mov eax, dword [ebp - 0xd8]
jmp 0x425650
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
push 4
add ecx, dword [ebp - 0xec]
dec eax
cdq
mov dword [ecx], eax
pop eax
mov dword [ecx + 4], edx
mov word [ecx + 8], ax
cmp dword [ebx + 8], 0
jne 0x428046
jmp case.default.0x425570
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x120]
add ecx, dword [ebp - 0xec]
lea ebx, [edx - 0x14]
imul eax, dword [ecx], 0x14
imul eax, dword [eax + edx + 8], 0x14
add ebx, eax
mov eax, 0x80
mov word [ecx + 8], ax
jmp case.default.0x425570
imul esi, dword [ebx + 4], 0x28
sub ebx, dword [ebp - 0x120]
push 4
pop eax
push 0x14
add esi, dword [ebp - 0xec]
mov word [esi + 8], ax
mov eax, ebx
cdq
pop ebx
idiv ebx
mov ecx, dword [esi]
imul ebx, ecx, 0x14
cdq
mov dword [esi + 4], edx
add ebx, dword [ebp - 0x120]
mov dword [esi], eax
mov eax, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xe0]
add ebx, 0x14
mov dword [ebp - 0x118], ebx
test eax, eax
je 0x425539
jmp 0x42a164
imul eax, dword [ebx + 0xc], 0x28
xor edx, edx
mov ecx, dword [ebp - 0xec]
inc edx
test byte [eax + ecx + 8], dl
je case.default.0x425570
mov eax, ebx
sub eax, dword [ebp - 0x120]
push 0x14
pop ecx
cdq
idiv ecx
mov ecx, dword [ebx + 4]
mov esi, eax
test ecx, ecx
jne 0x429dcd
mov edx, dword [edi + 0xb0]
test edx, edx
je 0x429dcd
mov eax, dword [edx + 4]
mov ecx, edx
mov esi, dword [ebp - 0xdc]
dec dword [edi + 0xb8]
mov dword [edi + 0xb0], eax
mov eax, dword [edi + 0x5c]
add dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
call fcn.00421c60
mov ecx, dword [esi + 0x20]
mov edx, dword [edi + 4]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0xe0], ecx
pop ecx
mov dword [ebp - 0x120], edx
cmp dword [ebx + 8], ecx
jne 0x425702
imul eax, eax, 0x14
mov eax, dword [eax + edx + 8]
dec eax
mov ecx, dword [edi + 8]
imul ebx, eax, 0x14
mov dword [ebp - 0xec], ecx
add ebx, edx
jmp case.default.0x425570
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x425570
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp case.default.0x425570
mov edx, ebx
mov ecx, edi
call fcn.004253fc
push 8
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebx + 0x10]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
jmp case.default.0x425570
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov edx, dword [ebx + 0x10]
mov esi, eax
mov byte [ebx], 0x1b
mov ecx, edx
test edx, edx
je 0x425793
cmp byte [edx], 0
je 0x42578b
inc ecx
cmp byte [ecx], 0
jne 0x425785
sub ecx, edx
and ecx, 0x3fffffff
xor eax, eax
mov dword [ebx + 4], ecx
inc eax
cmp byte [ebp - 0x124], al
je 0x425814
push 0
push eax
push 0xffffffffffffffff
mov ecx, esi
call fcn.0042049b
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp eax, 0x12
je 0x4285b7
push 2
pop eax
test byte [esi + 8], al
je 0x4257e3
mov al, byte [ebp - 0x124]
cmp byte [esi + 0xa], al
je 0x4257e3
mov dl, al
mov ecx, esi
call fcn.0040d0fa
test eax, eax
jne 0x42a13f
and dword [esi + 0x18], 0
mov eax, 0x800
or word [esi + 8], ax
cmp byte [ebx + 1], 0xff
jne 0x425804
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebp - 0xdc]
call fcn.0040b6e5
mov byte [ebx + 1], 0xff
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 4], ecx
mov esi, dword [ebp - 0xdc]
cmp ecx, dword [esi + 0x58]
jg 0x4285bd
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov edx, eax
mov eax, 0xa02
mov word [edx + 8], ax
mov ecx, dword [ebx + 0x10]
mov al, byte [ebp - 0x124]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebx + 4]
mov dword [edx + 0xc], ecx
mov byte [edx + 0xa], al
cmp byte [ebx + 3], 0
je case.default.0x425570
imul ecx, dword [ebx + 0xc], 0x28
mov eax, dword [ebp - 0xec]
mov esi, dword [ebp - 0xec]
mov eax, dword [ecx + eax]
or eax, dword [ecx + esi + 4]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe4]
je 0x425884
mov eax, 0xa10
mov word [edx + 8], ax
mov eax, dword [ebp - 0xd8]
jmp 0x425656
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov edi, dword [ebx + 0xc]
xor ecx, ecx
mov edx, dword [ebx + 8]
inc ecx
cmp dword [ebx + 4], 0
mov esi, 0x101
cmovne ecx, esi
sub edi, edx
movzx ecx, cx
lea esi, [eax + 8]
mov dword [ebp - 0xfc], ecx
mov word [esi], cx
test edi, edi
jle 0x4258ea
mov eax, 0x2460
lea esi, [esi + 0x28]
test word [esi], ax
je 0x4258e2
lea ecx, [esi - 8]
call fcn.0041ff34
mov ecx, dword [ebp - 0xfc]
mov eax, 0x2460
dec edi
mov word [esi], cx
test edi, edi
jg 0x4258c7
mov edi, dword [ebp - 0xe8]
jmp 0x425644
imul ecx, dword [ebx + 4], 0x28
mov edx, 0xff7f
add ecx, dword [ebp - 0xec]
mov ax, word [ecx + 8]
and ax, dx
xor edx, edx
inc edx
or ax, dx
jmp 0x42560e
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov edx, dword [ebx + 0x10]
mov esi, eax
xor eax, eax
mov ecx, esi
push eax
push eax
push dword [ebx + 4]
call fcn.0042049b
mov al, byte [ebp - 0x124]
add esp, 0xc
mov byte [esi + 0xa], al
jmp 0x425644
imul esi, dword [ebx + 4], 0x28
add esi, dword [edi + 0x3c]
lea ecx, [esi - 0x28]
call fcn.00420394
test eax, eax
jne 0x4285b7
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov ecx, 0x800
lea edx, [esi - 0x28]
push ecx
mov ecx, eax
call fcn.004203b7
pop ecx
jmp 0x425644
imul edi, dword [ebx + 4], 0x28
imul esi, dword [ebx + 8], 0x28
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x10c], eax
add edi, dword [ebp - 0xec]
add esi, dword [ebp - 0xec]
mov edx, edi
mov ecx, esi
call fcn.00420479
mov eax, 0x1000
test word [esi + 8], ax
je 0x4259b9
mov ecx, esi
call fcn.0041fd05
test eax, eax
jne 0x42a139
add edi, 0x28
add esi, 0x28
sub dword [ebp - 0x10c], 1
jne 0x425996
jmp 0x4258ea
imul edi, dword [ebx + 4], 0x28
imul esi, dword [ebx + 8], 0x28
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x10c], eax
add edi, dword [ebp - 0xec]
add esi, dword [ebp - 0xec]
mov eax, 0x1000
mov edx, edi
push eax
mov ecx, esi
call fcn.004203b7
mov eax, 0x1000
pop ecx
test word [esi + 8], ax
je 0x425a14
mov ecx, esi
call fcn.0041fd05
test eax, eax
jne 0x42a139
mov ecx, dword [ebp - 0x10c]
mov eax, ecx
dec ecx
mov dword [ebp - 0x10c], ecx
test eax, eax
je 0x4258ea
add esi, 0x28
add edi, 0x28
jmp 0x4259ea
imul edx, dword [ebx + 4], 0x28
mov eax, 0x1000
imul ecx, dword [ebx + 8], 0x28
push eax
add edx, dword [ebp - 0xec]
add ecx, dword [ebp - 0xec]
call fcn.004203b7
pop ecx
jmp case.default.0x425570
mov eax, dword [esi + 0x124]
test eax, eax
je 0x425a81
mov edx, dword [ebp - 0x150]
cmp edx, dword [ebp - 0x168]
jb 0x425a81
push dword [esi + 0x128]
call eax
pop ecx
test eax, eax
jne 0x428903
xor edx, edx
mov ecx, edi
call fcn.00422440
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x425650
xor edx, edx
mov ecx, edi
inc edx
call fcn.00422336
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x429e7f
add ebx, 0x14
jmp 0x42a164
imul ecx, dword [ebx + 4], 0x28
imul edi, dword [ebx + 8], 0x28
mov eax, dword [ebp - 0xec]
imul esi, dword [ebx + 0xc], 0x28
add ecx, eax
add edi, eax
mov dword [ebp - 0x134], ecx
add esi, eax
movzx edx, word [ecx + 8]
mov al, byte [edi + 8]
or al, dl
test al, 1
je 0x425b06
mov eax, 0x2460
test word [esi + 8], ax
je 0x425afa
mov ecx, esi
call fcn.0041ff34
jmp 0x4258ea
xor eax, eax
inc eax
mov word [esi + 8], ax
jmp 0x4258ea
mov eax, 0x4000
test eax, edx
je 0x425b21
call fcn.0041fd7f
test eax, eax
jne 0x42a139
mov eax, 0x4000
test word [edi + 8], ax
je 0x425b36
mov ecx, edi
call fcn.0041fd7f
test eax, eax
jne 0x42a139
mov eax, dword [ebp - 0x134]
test byte [eax + 8], 0x12
jne 0x425b5a
mov dl, byte [ebp - 0x124]
mov ecx, eax
push 0
call fcn.0041fe29
pop ecx
test eax, eax
jne 0x42a139
test byte [edi + 8], 0x12
jne 0x425b78
mov dl, byte [ebp - 0x124]
mov ecx, edi
push 0
call fcn.0041fe29
pop ecx
test eax, eax
jne 0x42a139
mov ecx, dword [ebp - 0x134]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0xc]
add ecx, dword [edi + 0xc]
mov dword [ebp - 0xfc], ecx
cmp ecx, dword [eax + 0x58]
jg 0x42a208
xor eax, eax
lea edx, [ecx + 2]
cmp esi, edi
mov ecx, esi
sete al
push eax
call fcn.0041fc0f
pop ecx
test eax, eax
jne 0x42a139
mov ax, word [esi + 8]
mov ecx, 0xbe02
and ax, cx
push 2
pop ecx
or ax, cx
mov word [esi + 8], ax
cmp esi, edi
je 0x425bdf
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.00478db0
add esp, 0xc
mov eax, dword [ebp - 0x134]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
add eax, dword [edi + 0xc]
push eax
call fcn.00478db0
mov eax, dword [esi + 0x10]
xor edx, edx
mov ecx, dword [ebp - 0xfc]
add esp, 0xc
mov byte [ecx + eax], dl
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 1], dl
mov eax, 0x200
or word [esi + 8], ax
mov al, byte [ebp - 0x124]
mov dword [esi + 0xc], ecx
mov byte [esi + 0xa], al
jmp 0x4258ea
imul eax, dword [ebx + 4], 0x28
mov esi, dword [ebp - 0xec]
add eax, esi
mov ecx, eax
mov dword [ebp - 0xf0], eax
call fcn.004253e0
movzx eax, ax
mov dword [ebp - 0x11c], eax
imul eax, dword [ebx + 8], 0x28
add eax, esi
mov ecx, eax
mov dword [ebp - 0x118], eax
call fcn.004253e0
mov ecx, dword [ebp - 0xf0]
movzx edx, ax
imul eax, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x114], edx
add eax, esi
mov esi, dword [ebp - 0x118]
mov dword [ebp - 0x134], eax
mov al, byte [esi + 8]
or al, byte [ecx + 8]
test al, 1
jne 0x425fa5
mov al, dl
and al, byte [ebp - 0x11c]
push 4
pop edx
test dl, al
je 0x425eea
mov eax, ecx
mov byte [ebp - 0xf1], 1
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x118]
mov edi, dword [eax]
mov ecx, dword [eax + 4]
movzx eax, byte [ebx]
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x154], ecx
sub eax, 0x59
je 0x425e23
sub eax, 1
je 0x425d55
sub eax, 1
je 0x425d46
sub eax, 1
mov eax, edx
je 0x425d1e
or eax, esi
je 0x425fa5
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x425d04
xor edx, edx
inc edx
xor esi, esi
push esi
push edx
push ecx
push edi
call fcn.0049da40
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], edx
jmp 0x425eb8
or eax, esi
je 0x425fa5
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x425d3b
test edi, edi
jne 0x425d3b
cmp ecx, 0x80000000
je 0x425d6c
push esi
push edx
push ecx
push edi
call fcn.0049d990
jmp 0x425d0d
push esi
push edx
lea ecx, [ebp - 0x158]
call fcn.0040e6e0
jmp 0x425d62
push esi
push edx
lea ecx, [ebp - 0x158]
call fcn.0040e692
pop ecx
pop ecx
test eax, eax
je 0x425eb8
mov esi, dword [ebp - 0x118]
mov ecx, dword [ebp - 0xf0]
call fcn.00420056
mov ecx, esi
movsd qword [ebp - 0x100], xmm0
call fcn.00420056
movzx eax, byte [ebx]
movaps xmm1, xmm0
movsd qword [ebp - 0x110], xmm1
sub eax, 0x59
je 0x425f22
sub eax, 1
je 0x425f18
sub eax, 1
je 0x425f0e
movsd xmm0, qword [ebp - 0x100]
sub eax, 1
je 0x425ef6
call fcn.0049d740
movsd xmm0, qword [ebp - 0x110]
mov esi, eax
mov edi, edx
call fcn.0049d740
mov ecx, esi
mov dword [ebp - 0xfc], eax
or ecx, edi
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], edx
je 0x425fa5
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x425e06
xor esi, esi
inc esi
xor edi, edi
push edi
push esi
push edx
push dword [ebp - 0xfc]
call fcn.0049da40
mov ecx, eax
call fcn.0049d7f0
movaps xmm1, xmm0
jmp 0x425f2a
xor eax, eax
cmp esi, eax
jl 0x425e5c
jg 0x425e2f
cmp edx, eax
jb 0x425e5c
cmp ecx, eax
jl 0x425ea8
jg 0x425e39
cmp edi, eax
jbe 0x425ea8
or ecx, 0xffffffff
mov eax, 0x7fffffff
sub ecx, edi
sbb eax, dword [ebp - 0x104]
cmp eax, esi
jg 0x425ea2
jl 0x425d6c
cmp ecx, edx
jae 0x425ea2
jmp 0x425d6c
cmp ecx, eax
jg 0x425ea8
jl 0x425e66
cmp edi, eax
jae 0x425ea8
xor eax, eax
mov ecx, 0x80000000
inc eax
sub eax, edi
mov edi, edx
mov dword [ebp - 0xfc], eax
mov eax, esi
sbb ecx, dword [ebp - 0x104]
add edi, 1
adc eax, 0
cmp ecx, eax
jg 0x425d6c
jl 0x425e9c
cmp dword [ebp - 0xfc], edi
ja 0x425d6c
mov edi, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x104]
add edx, edi
mov dword [ebp - 0x158], edx
adc esi, ecx
mov dword [ebp - 0x154], esi
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
push 4
mov dword [edx], eax
mov ax, word [edx + 8]
mov dword [edx + 4], ecx
mov ecx, 0xbe04
and ax, cx
pop ecx
or ax, cx
mov word [edx + 8], ax
jmp 0x4258ea
mov byte [ebp - 0xf1], 0
jmp 0x425d78
ucomisd xmm0, qword [0x4ba000]
lahf
test ah, 0x44
jnp 0x425fa5
divsd xmm1, xmm0
jmp 0x425f2a
mulsd xmm1, qword [ebp - 0x100]
jmp 0x425f2a
subsd xmm1, qword [ebp - 0x100]
jmp 0x425f2a
addsd xmm1, qword [ebp - 0x100]
movsd qword [ebp - 0x100], xmm1
movsd xmm0, qword [ebp - 0x100]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0x100]
ucomisd xmm0, qword [ebp - 0x110]
lahf
test ah, 0x44
jp 0x425fa5
mov edx, dword [ebp - 0x134]
mov ecx, 0xbe08
push 8
mov ax, word [edx + 8]
and ax, cx
movsd qword [edx], xmm1
pop ecx
or ax, cx
mov word [edx + 8], ax
mov eax, dword [ebp - 0x114]
or al, byte [ebp - 0x11c]
test cl, al
jne 0x4258ea
cmp byte [ebp - 0xf1], 0
jne 0x4258ea
mov ecx, edx
call fcn.004200a8
jmp 0x4258ea
mov edx, dword [ebp - 0x134]
mov eax, 0x2460
test word [edx + 8], ax
je 0x425fbd
mov ecx, edx
jmp 0x425af0
xor eax, eax
inc eax
jmp 0x425ee1
mov eax, dword [ebx + 4]
test eax, eax
je case.default.0x425570
imul eax, eax, 0x28
mov ecx, 0x2460
add eax, dword [ebp - 0xec]
test word [eax + 8], cx
je 0x425ff5
xor ecx, ecx
push ecx
push ecx
mov ecx, eax
call fcn.004202d2
pop ecx
jmp 0x425a52
xor edx, edx
push 4
mov dword [eax], edx
mov dword [eax + 4], edx
pop ecx
jmp 0x4255b6
mov edx, dword [edi + 0xc]
xor eax, eax
imul edi, dword [ebx + 0xc], 0x28
imul esi, dword [ebx + 8], 0x28
movzx ecx, byte [ebx + 3]
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x11c], edx
add edi, dword [ebp - 0xec]
add esi, dword [ebp - 0xec]
mov dword [ebp - 0x20c], edi
mov dword [ebp - 0x10c], eax
test ecx, ecx
je 0x426080
mov edi, 0x1000
mov dword [edx + eax*4], esi
test word [esi + 8], di
je 0x42606c
mov ecx, esi
call fcn.0041fd05
test eax, eax
jne 0x42a139
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x128]
mov edx, dword [ebp - 0x11c]
inc eax
add esi, 0x28
mov dword [ebp - 0x10c], eax
cmp eax, ecx
jl 0x426042
mov edi, dword [ebp - 0x20c]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x208], eax
mov eax, ebx
sub eax, dword [ebp - 0x120]
cdq
push 0x14
pop ecx
idiv ecx
mov ecx, dword [ebp - 0xe8]
push dword [ebp - 0x11c]
mov edx, dword [ebp - 0xe0]
mov esi, eax
push dword [ebp - 0x128]
mov dword [ebp - 0x200], ecx
mov eax, 0xbe01
mov dword [ebp - 0x1fc], esi
mov cx, word [edi + 8]
and cx, ax
xor eax, eax
inc eax
or cx, ax
lea eax, [ebp - 0x20c]
mov word [edi + 8], cx
mov edi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0x208]
mov byte [ebp - 0x1f3], 0
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], edx
call dword [eax + 0xc]
mov eax, dword [edi + 0x20]
add esp, 0xc
cmp byte [ebp - 0x1f3], 0
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0xe0], eax
je 0x42616c
cmp dword [ebp - 0x1f8], 0
je 0x426157
mov ecx, dword [ebp - 0x20c]
mov dl, 1
call fcn.0042072d
push eax
push 0x4b5bdc
push edi
mov edi, dword [ebp - 0xe8]
lea eax, [edi + 0x2c]
push eax
call fcn.0040baca
mov eax, dword [ebp - 0x1f8]
add esp, 0x10
mov dword [ebp - 0xd8], eax
jmp 0x42615d
mov edi, dword [ebp - 0xe8]
push dword [ebx + 4]
mov edx, esi
mov ecx, edi
call fcn.0042286d
pop ecx
jmp 0x426172
mov edi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x20c]
push 2
pop eax
test byte [ecx + 8], al
je 0x426198
mov al, byte [ebp - 0x124]
cmp byte [ecx + 0xa], al
je 0x426198
mov dl, al
call fcn.0040d0fa
mov ecx, dword [ebp - 0x20c]
call fcn.00420394
mov esi, dword [ebp - 0xdc]
test eax, eax
jne 0x4285bd
jmp case.default.0x425570
imul ecx, dword [ebx + 8], 0x28
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0xec]
imul edx, dword [ebx + 0xc], 0x28
add ecx, eax
add esi, eax
add edx, eax
mov al, byte [ecx + 8]
or al, byte [esi + 8]
mov dword [ebp - 0x114], edx
test al, 1
je 0x4261fb
mov eax, 0x2460
test word [edx + 8], ax
je 0x4261ef
mov ecx, edx
call fcn.0041ff34
jmp 0x425644
xor eax, eax
inc eax
mov word [edx + 8], ax
jmp 0x425644
call fcn.00420004
mov ecx, esi
mov dword [ebp - 0xf0], eax
mov edi, edx
call fcn.00420004
mov cl, byte [ebx]
mov esi, eax
cmp cl, 0x55
jne 0x426227
mov eax, dword [ebp - 0xf0]
and eax, esi
and edi, edx
jmp 0x42631e
cmp cl, 0x56
jne 0x42623b
mov eax, dword [ebp - 0xf0]
or eax, esi
or edi, edx
jmp 0x42631e
mov eax, esi
or eax, edx
je 0x426318
xor eax, eax
cmp edx, eax
jg 0x426279
jl 0x426251
cmp esi, eax
jae 0x42626c
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x426279
jg 0x426263
cmp esi, 0xffffffc0
jbe 0x426279
neg esi
push 0
pop eax
adc edx, eax
neg edx
cmp edx, eax
jl 0x4262b1
jg 0x426279
push 0x40
pop eax
cmp esi, eax
jb 0x4262b1
xor edx, edx
cmp edi, edx
jg 0x426298
jl 0x426289
cmp dword [ebp - 0xf0], edx
jae 0x426298
cmp cl, 0x57
je 0x426298
or eax, 0xffffffff
or edi, eax
jmp 0x42631e
xorps xmm0, xmm0
movlpd qword [ebp - 0x100], xmm0
mov edi, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x100]
jmp 0x42631e
mov eax, dword [ebp - 0xf0]
cmp cl, 0x57
mov edx, edi
mov ecx, esi
jne 0x4262c9
call fcn.0049d5f0
mov ecx, eax
jmp 0x426312
call fcn.0049d5d0
mov ecx, eax
mov dword [ebp - 0x134], edx
xor eax, eax
mov dword [ebp - 0xfc], ecx
cmp edi, eax
jg 0x426312
jl 0x4262ec
cmp dword [ebp - 0xf0], eax
jae 0x426312
push 0x40
pop eax
mov ecx, eax
or edx, 0xffffffff
sub ecx, esi
or eax, 0xffffffff
call fcn.0049d5f0
mov ecx, dword [ebp - 0xfc]
or ecx, eax
or dword [ebp - 0x134], edx
mov edx, dword [ebp - 0x134]
mov eax, ecx
mov edi, edx
jmp 0x42631e
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x114]
mov edx, 0xbe04
push 4
mov dword [ecx], eax
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx + 4], edi
pop edx
or ax, dx
mov word [ecx + 8], ax
jmp 0x4258ea
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xec]
mov ecx, esi
call fcn.00420104
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x425644
imul esi, dword [ebx + 4], 0x28
push 4
pop edx
add esi, dword [ebp - 0xec]
movzx eax, word [esi + 8]
mov ecx, eax
test dl, al
jne 0x4263c8
push dword [ebp - 0x124]
mov dl, 0x43
mov ecx, esi
call fcn.00425310
movzx eax, word [esi + 8]
pop ecx
push 4
pop edx
mov ecx, eax
test dl, al
jne 0x4263c8
cmp dword [ebx + 8], 0
jne 0x428046
push 0x14
pop eax
mov esi, dword [ebp - 0xdc]
cmp byte [esi + 0x41], 0
mov dword [ebp - 0xd8], eax
je 0x42a08f
push 7
pop eax
mov dword [ebp - 0xd8], eax
jmp 0x42a09a
mov eax, 0xbe04
and ecx, eax
push 4
pop eax
or ecx, eax
mov word [esi + 8], cx
jmp 0x425644
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [ebp - 0xec]
test byte [ecx + 8], al
je case.default.0x425570
call fcn.00420129
jmp case.default.0x425570
imul esi, dword [ebx + 4], 0x28
mov eax, 0x4000
add esi, dword [ebp - 0xec]
test word [esi + 8], ax
je 0x426421
mov ecx, esi
call fcn.0041fd7f
mov dword [ebp - 0xd8], eax
jmp 0x426428
and dword [ebp - 0xd8], 0
push dword [ebp - 0x124]
mov dl, byte [ebx + 8]
mov ecx, esi
call fcn.004201bf
jmp 0x425973
imul edi, dword [ebx + 4], 0x28
imul esi, dword [ebx + 0xc], 0x28
add edi, dword [ebp - 0xec]
add esi, dword [ebp - 0xec]
movzx ecx, word [edi + 8]
movzx edx, word [esi + 8]
mov eax, ecx
mov dword [ebp - 0xf0], eax
mov eax, edx
mov dword [ebp - 0x104], eax
or al, cl
test al, 1
mov al, byte [ebx + 3]
je 0x4264d1
test al, al
jns 0x42649c
mov ecx, edx
xor edx, edx
mov eax, ecx
and eax, dword [ebp - 0xf0]
bt ax, dx
jae 0x426494
test ecx, 0x100
je 0x4265e9
xor edx, edx
inc edx
jmp 0x4265e9
test al, 0x20
je 0x4264be
imul ecx, dword [ebx + 8], 0x28
mov edx, 0xbe01
add ecx, dword [ebp - 0xec]
mov ax, word [ecx + 8]
and ax, dx
xor edx, edx
inc edx
jmp 0x426338
test al, 0x10
mov edi, dword [ebp - 0xe8]
jne 0x428046
jmp 0x425644
and al, 0x47
cmp al, 0x43
jb 0x42650b
push 2
mov eax, edx
and cl, 0xe
pop edx
cmp cl, dl
jne 0x4264f0
xor edx, edx
mov ecx, edi
call fcn.0042528c
movzx eax, word [esi + 8]
push 2
and al, 0xe
pop ecx
cmp al, cl
jne 0x42658c
xor edx, edx
mov ecx, esi
call fcn.0042528c
jmp 0x42658c
cmp al, 0x42
jne 0x42658c
mov eax, edx
test cl, 2
jne 0x42654f
test cl, 0xc
je 0x42654f
mov dl, byte [ebp - 0x124]
mov ecx, edi
push 1
call fcn.0041fe29
mov ax, word [edi + 8]
xor ax, word [ebp - 0xf0]
pop ecx
mov ecx, 0x1ff
and ax, cx
xor ax, word [edi + 8]
movzx eax, ax
mov dword [ebp - 0xf0], eax
movzx eax, word [esi + 8]
push 2
pop ecx
test cl, al
jne 0x42658c
test al, 0xc
je 0x42658c
mov dl, byte [ebp - 0x124]
mov ecx, esi
push 1
call fcn.0041fe29
mov ax, word [esi + 8]
pop ecx
mov ecx, dword [ebp - 0x104]
xor ax, cx
mov ecx, 0x1ff
and ax, cx
xor ax, word [esi + 8]
movzx ecx, ax
mov dword [ebp - 0x104], ecx
mov eax, 0x4000
test word [edi + 8], ax
je 0x4265ad
mov ecx, edi
call fcn.0041fd7f
and dword [ebp - 0xf0], 0xbfff
mov eax, 0x4000
test word [esi + 8], ax
je 0x4265c4
mov ecx, esi
call fcn.0041fd7f
and dword [ebp - 0x104], 0xbfff
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x41], 0
jne 0x42a23c
push dword [ebx + 0x10]
mov edx, edi
mov ecx, esi
call fcn.00422fe7
pop ecx
mov ecx, dword [ebp - 0x104]
mov edx, eax
movzx eax, byte [ebx]
sub eax, 0x4e
je 0x426627
sub eax, 1
je 0x42661e
sub eax, 1
je 0x426615
sub eax, 1
je 0x42660c
sub eax, 1
je 0x426607
not edx
shr edx, 0x1f
jmp 0x426630
xor eax, eax
test edx, edx
setle al
jmp 0x42662e
xor eax, eax
test edx, edx
setg al
jmp 0x42662e
xor eax, eax
test edx, edx
sete al
jmp 0x42662e
xor eax, eax
test edx, edx
setne al
mov edx, eax
mov eax, dword [ebp - 0xf0]
mov word [edi + 8], ax
mov word [esi + 8], cx
test byte [ebx + 3], 0x20
je 0x42666f
imul ecx, dword [ebx + 8], 0x28
mov esi, 0xbe04
push 4
add ecx, dword [ebp - 0xec]
mov ax, word [ecx + 8]
and ax, si
mov dword [ecx], edx
pop esi
or ax, si
and dword [ecx + 4], 0
mov word [ecx + 8], ax
jmp 0x4258ea
test edx, edx
jmp 0x4264c0
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x15c], eax
jmp case.default.0x425570
test byte [ebx + 3], 1
mov eax, dword [ebp - 0x15c]
mov edx, dword [ebx + 4]
push 0
pop ecx
cmove eax, ecx
mov dword [ebp - 0xfc], edx
mov ecx, dword [ebx + 0xc]
xor esi, esi
mov edx, dword [ebx + 8]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x11c], edx
test ecx, ecx
jle 0x42674a
lea edi, [eax + 0x14]
mov ecx, dword [ebp - 0x15c]
test ecx, ecx
je 0x4266da
mov ecx, dword [ecx + esi*4]
jmp 0x4266dc
mov ecx, esi
mov eax, dword [eax + 0x10]
push dword [edi]
mov al, byte [esi + eax]
mov byte [ebp - 0xf1], al
lea eax, [ecx + edx]
imul edx, eax, 0x28
mov eax, dword [ebp - 0xfc]
add eax, ecx
imul ecx, eax, 0x28
add edx, dword [ebp - 0xec]
add ecx, dword [ebp - 0xec]
call fcn.00422fe7
mov dword [ebp - 0x18c], eax
pop ecx
test eax, eax
jne 0x426733
mov edx, dword [ebp - 0x11c]
inc esi
push 4
pop eax
add edi, eax
mov eax, dword [ebp - 0x10c]
cmp esi, dword [ebp - 0x114]
jl 0x4266cb
jmp 0x426744
cmp byte [ebp - 0xf1], 0
je 0x426744
neg eax
mov dword [ebp - 0x18c], eax
mov edi, dword [ebp - 0xe8]
and dword [ebp - 0x15c], 0
jmp 0x425644
mov eax, dword [ebp - 0x18c]
test eax, eax
jns 0x426766
imul ebx, dword [ebx + 4], 0x14
jmp 0x426772
jne 0x42676e
imul ebx, dword [ebx + 8], 0x14
jmp 0x426772
imul ebx, dword [ebx + 0xc], 0x14
add ebx, dword [ebp - 0x120]
add ebx, 0xffffffec
jmp case.default.0x425570
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
inc edx
add ecx, dword [ebp - 0xec]
test byte [ecx + 8], dl
je 0x426797
push 6
pop esi
jmp 0x4267aa
call fcn.00420004
or eax, edx
je 0x4267a5
push 3
pop esi
jmp 0x4267a7
xor esi, esi
xor edx, edx
inc edx
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xec]
test byte [ecx + 8], dl
je 0x4267c5
mov eax, 0x4b3686
mov ecx, 0x4b0f0e
jmp 0x4267e7
call fcn.00420004
or eax, edx
je 0x4267da
mov eax, 0x4b3685
mov ecx, 0x4b0f0d
jmp 0x4267e4
mov eax, 0x4b3684
mov ecx, 0x4b0f0c
xor edx, edx
inc edx
cmp byte [ebx], 0x48
jne 0x4267f1
lea eax, [ecx + esi]
jmp 0x4267f3
add eax, esi
imul esi, dword [ebx + 0xc], 0x28
mov al, byte [eax]
add esi, dword [ebp - 0xec]
movzx ecx, word [esi + 8]
cmp al, 2
jne 0x426815
mov eax, 0xbe01
and ecx, eax
or ecx, edx
jmp 0x4263d4
movzx eax, al
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x4263c8
imul esi, dword [ebx + 8], 0x28
mov eax, 0x2460
imul edi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xec]
add edi, dword [ebp - 0xec]
test word [esi + 8], ax
je 0x42684e
mov ecx, esi
call fcn.0041ff34
xor edx, edx
inc edx
jmp 0x426855
xor edx, edx
inc edx
mov word [esi + 8], dx
test byte [edi + 8], dl
jne 0x4258ea
push 4
pop eax
mov ecx, edi
mov word [esi + 8], ax
call fcn.00420004
or eax, edx
jne 0x426875
inc eax
xor ecx, ecx
jmp 0x42688c
xorps xmm0, xmm0
movlpd qword [ebp - 0x100], xmm0
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x100]
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x4258ea
imul esi, dword [ebx + 8], 0x28
mov eax, 0x2460
imul edi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xec]
add edi, dword [ebp - 0xec]
test word [esi + 8], ax
je 0x4268c1
mov ecx, esi
call fcn.0041ff34
xor edx, edx
inc edx
jmp 0x4268c8
xor edx, edx
inc edx
mov word [esi + 8], dx
test byte [edi + 8], dl
jne 0x4258ea
push 4
pop eax
mov ecx, edi
mov word [esi + 8], ax
call fcn.00420004
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x4258ea
mov eax, dword [edi + 0xc8]
mov ecx, dword [ebx + 4]
cmp byte [eax + ecx], 0
jne 0x428046
mov byte [eax + ecx], 1
jmp case.default.0x425570
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xec]
test byte [ecx + 8], 1
je 0x42691e
mov eax, dword [ebx + 0xc]
jmp 0x426942
call fcn.00420056
ucomisd xmm0, qword [0x4ba000]
lahf
xor edx, edx
test ah, 0x44
jnp 0x426938
inc edx
mov eax, edx
jmp 0x42693b
xor eax, eax
inc edx
cmp byte [ebx], 0x2e
jne 0x426942
xor eax, edx
test eax, eax
jmp 0x4255e4
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xec]
test byte [eax + ecx + 8], 1
jmp 0x4255e4
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xec]
test byte [eax + ecx + 8], 1
je 0x428046
jmp case.default.0x425570
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
imul edi, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0xe8]
add edi, dword [ebp - 0xec]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x10c], edi
mov esi, dword [eax + ecx*4]
mov ecx, esi
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x118], eax
mov eax, dword [esi]
mov dword [ebp - 0xf0], eax
call fcn.00422a35
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x42a06f
mov ecx, dword [ebp - 0xe8]
mov eax, dword [esi + 0x3c]
cmp eax, dword [ecx + 0x48]
je 0x426b34
cmp byte [esi + 0x19], 0
je 0x426a33
cmp dword [ebp - 0xf0], 0
jne 0x426a10
imul ecx, dword [esi + 0x10], 0x28
add ecx, dword [ebp - 0xec]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x160], eax
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0x160]
mov dword [esi + 0x40], eax
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x4c], eax
jmp 0x426abc
mov eax, 0x2460
test word [edi + 8], ax
je 0x426a27
mov ecx, edi
call fcn.0041ff34
jmp 0x426e30
xor eax, eax
inc eax
mov word [edi + 8], ax
jmp 0x426e30
mov ecx, dword [ebp - 0xf0]
push 4
pop eax
test byte [esi + 0x1c], al
jne 0x426a7d
call fcn.0041a6b0
mov ecx, dword [ebp - 0xf0]
lea edx, [ebp - 0x160]
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [ebp - 0x1d4], ecx
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x1d8], eax
call fcn.0041aade
mov dword [esi + 0x4c], eax
mov eax, dword [ebp - 0x1d8]
mov dword [esi + 0x40], eax
jmp 0x426a9c
call fcn.0041a6b0
mov ecx, dword [ebp - 0xf0]
lea edx, [ebp - 0x160]
mov eax, dword [ecx + 0x24]
mov dword [esi + 0x40], eax
call fcn.0041aade
mov dword [esi + 0x4c], eax
mov ecx, dword [esi + 0x40]
mov eax, dword [ebp - 0x160]
cmp ecx, eax
cmovbe eax, ecx
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0xdc]
cmp ecx, dword [eax + 0x58]
ja 0x42a208
mov eax, dword [ebp - 0xe8]
mov edx, 0x80
mov ecx, dword [esi + 0x4c]
mov eax, dword [eax + 0x48]
mov dword [esi + 0x3c], eax
mov al, byte [ecx]
cmp al, dl
jae 0x426ae3
movzx eax, al
mov dword [ebp - 0x14c], eax
mov al, 1
jmp 0x426aee
lea edx, [ebp - 0x14c]
call fcn.0040e44f
mov edx, dword [ebp - 0x118]
movzx eax, al
mov dword [esi + 0x48], eax
xor eax, eax
mov word [esi + 0x16], ax
mov eax, dword [ebp - 0x14c]
mov dword [edx], eax
mov eax, dword [ebp - 0x14c]
cmp eax, 0x18003
ja 0x429f14
cmp eax, dword [esi + 0x40]
ja 0x429f14
cmp dword [ebp - 0x160], eax
jae 0x426b4a
xor eax, eax
mov dword [esi + 0x4c], eax
mov dword [esi + 0x44], eax
jmp 0x426b4a
movzx eax, word [esi + 0x16]
cmp eax, dword [ebp - 0x104]
jg 0x426d3f
mov edx, dword [ebp - 0x118]
mov eax, dword [esi + 0x48]
cmp eax, dword [edx]
jae 0x426d14
mov eax, dword [esi + 0x4c]
mov dword [ebp - 0x128], eax
test eax, eax
jne 0x426bac
push 0xa
pop ecx
lea edi, [ebp - 0x2e0]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0xf0]
lea eax, [ebp - 0x2e0]
push eax
mov eax, dword [esi + 0x1c]
shr eax, 2
not eax
and eax, 1
push eax
push dword [edx]
xor edx, edx
call fcn.004205f6
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x428661
mov edx, dword [ebp - 0x2d0]
mov dword [ebp - 0x128], edx
movzx edx, word [esi + 0x16]
mov edi, dword [ebp - 0x118]
mov dword [ebp - 0x16c], edx
mov eax, dword [edi + edx*4]
mov dword [ebp - 0x14c], eax
lea eax, [edx + 0x15]
mov ecx, dword [esi + 0x48]
lea eax, [esi + eax*4]
mov edi, dword [edi]
add ecx, dword [ebp - 0x128]
add edi, dword [ebp - 0x128]
mov dword [ebp - 0x11c], edi
mov edi, dword [ebp - 0x10c]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x134], eax
mov al, byte [ecx]
mov edx, 0x80
cmp al, dl
jae 0x426c0b
movzx eax, al
inc ecx
mov dword [ebp - 0x164], eax
jmp 0x426c27
lea edx, [ebp - 0x164]
call fcn.0040e44f
mov ecx, dword [ebp - 0x12c]
movzx eax, al
add ecx, eax
mov eax, dword [ebp - 0x164]
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x12c], ecx
mov dword [edx], eax
mov eax, dword [ebp - 0x164]
cmp eax, 0xc
jb 0x426c47
lea edx, [eax - 0xc]
shr edx, 1
jmp 0x426c4e
movzx edx, byte [eax + 0x4b0ad4]
mov eax, dword [ebp - 0x14c]
add eax, edx
cmp eax, edx
mov dword [ebp - 0x14c], eax
mov edx, dword [ebp - 0x16c]
jb 0x426c9b
push 4
pop edi
add dword [ebp - 0x134], edi
inc edx
mov edi, dword [ebp - 0x118]
mov dword [ebp - 0x16c], edx
mov dword [edi + edx*4], eax
mov edi, dword [ebp - 0x10c]
cmp edx, dword [ebp - 0x104]
jg 0x426ca8
cmp ecx, dword [ebp - 0x11c]
jb 0x426bf4
jmp 0x426ca8
mov ecx, dword [ebp - 0x11c]
inc ecx
mov dword [ebp - 0x12c], ecx
mov eax, ecx
mov word [esi + 0x16], dx
sub eax, dword [ebp - 0x128]
cmp dword [esi + 0x4c], 0
mov dword [esi + 0x48], eax
jne 0x426cee
mov eax, 0x2460
test dword [ebp - 0x2d8], eax
jne 0x426cd3
cmp dword [ebp - 0x2c8], 0
je 0x426ce4
lea ecx, [ebp - 0x2e0]
call fcn.0041ff91
mov ecx, dword [ebp - 0x12c]
xor eax, eax
inc eax
mov word [ebp - 0x2d8], ax
mov eax, dword [ebp - 0x14c]
cmp ecx, dword [ebp - 0x11c]
jb 0x426d0b
ja 0x429f4c
cmp eax, dword [esi + 0x40]
jne 0x429f4c
cmp eax, dword [esi + 0x40]
ja 0x429f4c
movzx eax, word [esi + 0x16]
cmp eax, dword [ebp - 0x104]
jg 0x426d3f
cmp byte [ebx + 1], 0xf8
jne 0x426a10
mov edx, dword [ebx + 0x10]
mov eax, 0x800
push eax
mov ecx, edi
call fcn.004203b7
jmp 0x426e2f
mov eax, 0x2460
test word [edi + 8], ax
je 0x426d51
mov ecx, edi
call fcn.0041ff34
mov eax, dword [ebp - 0x104]
mov edi, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x118]
mov edx, dword [esi + eax*4 + 0x54]
mov dword [ebp - 0x164], edx
mov eax, dword [esi + 0x44]
cmp eax, dword [ecx + edi*4 + 4]
mov edi, dword [ebp - 0x10c]
jb 0x426d99
mov ecx, dword [esi + 0x4c]
mov eax, dword [ebp - 0x118]
mov esi, dword [ebp - 0x104]
add ecx, dword [eax + esi*4]
push edi
call fcn.00422c4d
jmp 0x426e26
mov al, byte [ebx + 3]
test al, 0xc0
je 0x426dae
cmp edx, 0xc
jb 0x426daa
test dl, 1
je 0x426dc5
test al, al
js 0x426dc5
cmp edx, 0xc
jb 0x426dba
lea ecx, [edx - 0xc]
shr ecx, 1
jmp 0x426dc1
movzx ecx, byte [edx + 0x4b0ad4]
test ecx, ecx
jne 0x426dd5
xor eax, eax
lea ecx, [ebp - 0x1d8]
cmp edx, 0xd
cmova ecx, eax
jmp 0x426d8e
mov eax, dword [esi + 0x1c]
shr eax, 2
not eax
and eax, 1
push edi
push eax
mov eax, dword [ebp - 0x118]
push ecx
mov ecx, dword [ebp - 0x104]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xf0]
call fcn.004205f6
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x428661
mov edx, dword [ebp - 0x164]
mov ecx, dword [edi + 0x10]
push edi
call fcn.00422c4d
mov eax, 0xefff
and word [edi + 8], ax
mov al, byte [ebp - 0x124]
mov byte [edi + 0xa], al
pop ecx
movzx eax, word [edi + 8]
bt eax, 0xc
mov esi, eax
jae 0x4258ea
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xfc], eax
test eax, eax
je 0x4258ea
mov eax, dword [edi + 0xc]
mov ecx, edi
mov dword [ebp - 0x10c], eax
lea edx, [eax + 2]
call fcn.0041fce9
test eax, eax
jne 0x42a139
push dword [ebp - 0x10c]
push dword [ebp - 0xfc]
push dword [edi + 0x10]
call fcn.00478db0
mov eax, dword [edi + 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x10c]
and esi, 0x12
add esp, 0xc
mov byte [ecx + eax], dl
mov eax, dword [edi + 0x10]
mov byte [ecx + eax + 1], dl
mov eax, 0x200
or esi, eax
mov word [edi + 8], si
jmp 0x4258ea
imul esi, dword [ebx + 4], 0x28
mov edi, dword [ebx + 0x10]
add esi, dword [ebp - 0xec]
jmp 0x426ece
push dword [ebp - 0x124]
mov dl, al
mov ecx, esi
inc edi
call fcn.00425310
pop ecx
add esi, 0x28
mov al, byte [edi]
test al, al
jne 0x426eba
jmp 0x4258ea
imul ecx, dword [ebx + 4], 0x28
xor eax, eax
imul edx, dword [ebx + 0xc], 0x28
xorps xmm0, xmm0
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0xf0], eax
imul eax, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xec]
add edx, dword [ebp - 0xec]
movlpd qword [ebp - 0x138], xmm0
movlpd qword [ebp - 0x170], xmm0
add eax, 0xffffffd8
mov dword [ebp - 0x128], ecx
add eax, ecx
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0x114], eax
movzx eax, byte [edi + 0x57]
mov dword [ebp - 0x11c], eax
test esi, esi
je 0x426f58
mov al, byte [esi]
mov edi, ecx
push dword [ebp - 0x124]
mov dl, al
mov ecx, edi
call fcn.00425310
add edi, 0x28
inc esi
pop ecx
mov al, byte [esi]
test al, al
jne 0x426f38
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x134]
mov esi, dword [ebp - 0x114]
mov ebx, dword [ebp - 0xf0]
mov dword [ebp - 0x12c], ecx
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x104], ecx
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x134], ecx
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0x16c], ecx
mov edx, eax
mov ecx, esi
call fcn.00422a5a
mov edi, eax
mov dword [esi + 0x1c], edi
cmp edi, 0xc
jb 0x426fb4
lea esi, [edi - 0xc]
shr esi, 1
jmp 0x426fbb
movzx esi, byte [edi + 0x4b0ad4]
mov ecx, dword [ebp - 0x10c]
mov eax, 0x4000
test word [ecx + 8], ax
je 0x426ff2
mov eax, dword [ebp - 0x104]
or eax, dword [ebp - 0x12c]
je 0x426fe1
call fcn.0041fd7f
jmp 0x426ff2
mov eax, dword [ecx]
cdq
add dword [ebp - 0x16c], eax
adc dword [ebp - 0x134], edx
sub esi, dword [ecx]
mov eax, esi
cdq
add dword [ebp - 0x104], eax
adc dword [ebp - 0x12c], edx
cmp edi, 0x7f
ja 0x42700b
xor edx, edx
inc edx
jmp 0x427024
xor eax, eax
mov ecx, eax
mov edx, eax
shrd edi, ecx, 7
inc edx
shr ecx, 7
mov eax, edi
or eax, ecx
je 0x427024
cmp edx, 9
jl 0x427011
mov esi, dword [ebp - 0x10c]
add ebx, edx
mov eax, dword [ebp - 0x11c]
sub esi, 0x28
mov dword [ebp - 0x10c], esi
cmp esi, dword [ebp - 0x128]
jae 0x426f9a
mov dword [ebp - 0xf0], ebx
mov eax, dword [ebp - 0xf0]
mov ebx, dword [ebp - 0x118]
cmp eax, 0x7e
jle 0x4270a6
cdq
xor edi, edi
mov ecx, eax
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x427076
cmp edi, 9
jl 0x427063
mov eax, dword [ebp - 0xf0]
add eax, edi
xor ecx, ecx
mov dword [ebp - 0xf0], eax
cdq
mov esi, eax
shrd esi, edx, 7
inc ecx
shr edx, 7
mov eax, esi
or eax, edx
je 0x42709c
cmp ecx, 9
jl 0x427089
mov eax, dword [ebp - 0xf0]
cmp edi, ecx
jge 0x4270ad
inc eax
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0x104]
mov esi, dword [ebp - 0x12c]
cdq
mov edi, eax
mov eax, edx
add ecx, edi
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x104], ecx
adc esi, eax
mov eax, dword [ebp - 0xdc]
add ecx, dword [ebp - 0x16c]
adc esi, dword [ebp - 0x134]
mov eax, dword [eax + 0x58]
cdq
cmp esi, edx
jg 0x4285b1
jl 0x4270f6
cmp ecx, eax
ja 0x4285b1
mov esi, dword [ebp - 0xfc]
mov ecx, esi
mov edx, dword [ebp - 0x104]
call fcn.0041fce9
test eax, eax
jne 0x42a139
mov edx, dword [ebp - 0xf0]
mov eax, 0x80
mov esi, dword [esi + 0x10]
cmp edx, eax
jae 0x42712a
xor eax, eax
mov byte [esi], dl
inc eax
jmp 0x42713a
push dword [ebp - 0x10c]
mov ecx, esi
push edi
call fcn.0040e2a1
pop ecx
pop ecx
mov ebx, dword [ebp - 0x128]
movzx edi, al
mov eax, dword [ebx + 0x1c]
lea ecx, [edi + esi]
mov edx, 0x80
mov dword [ebp - 0x10c], eax
cmp eax, edx
jae 0x42715f
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x427169
push 0
push eax
call fcn.0040e2a1
pop ecx
pop ecx
mov ecx, dword [ebp - 0xf0]
mov edx, ebx
push dword [ebp - 0x10c]
movzx eax, al
add edi, eax
lea ecx, [ecx + esi]
call fcn.00422b3e
add dword [ebp - 0xf0], eax
add ebx, 0x28
pop ecx
cmp ebx, dword [ebp - 0x114]
jbe 0x427143
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0x16c]
mov ebx, dword [ebp - 0x118]
mov dword [ecx + 0xc], eax
push 0x10
pop eax
mov word [ecx + 8], ax
mov eax, edx
or eax, dword [ebp - 0x134]
je 0x4271cd
mov eax, 0x4010
mov dword [ecx], edx
mov word [ecx + 8], ax
mov byte [ecx + 0xa], 1
jmp 0x4258ea
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x1e0]
mov eax, dword [edi + 0x38]
xorps xmm0, xmm0
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
movlpd qword [ebp - 0x1e0], xmm0
call fcn.0041e336
mov edx, ebx
mov dword [ebp - 0xd8], eax
mov ecx, edi
call fcn.004253fc
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x1dc]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x425570
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xfc], edi
test eax, eax
jne 0x427313
cmp dword [esi + 0x9c], eax
jg 0x429f7b
mov esi, edi
test edi, edi
jne 0x42724c
mov esi, eax
jmp 0x42725d
cmp byte [edi], al
je 0x427255
inc esi
cmp byte [esi], al
jne 0x427250
sub esi, edi
and esi, 0x3fffffff
mov edi, dword [ebp - 0xdc]
xor edx, edx
mov ecx, edi
mov eax, dword [edi + 0x1f4]
add eax, dword [edi + 0x1f0]
push eax
call fcn.0044c7a3
mov dword [ebp - 0xd8], eax
pop ecx
test eax, eax
jne 0x42a06f
lea eax, [esi + 0x21]
mov ecx, edi
push 0
push eax
call fcn.0040b8eb
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4258ea
lea ecx, [esi + 1]
push ecx
push dword [ebp - 0xfc]
lea edx, [edi + 0x20]
push edx
mov dword [edi], edx
call fcn.00478db0
mov esi, dword [ebp - 0xdc]
add esp, 0xc
cmp byte [esi + 0x3f], 0
je 0x4272cf
mov byte [esi + 0x3f], 0
mov byte [esi + 0x46], 1
jmp 0x4272d5
inc dword [esi + 0x1f0]
mov eax, dword [esi + 0x1e8]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1f8]
mov ecx, dword [esi + 0x1fc]
mov dword [esi + 0x1e8], edi
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov eax, dword [esi + 0x200]
mov ecx, dword [esi + 0x204]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
mov edi, dword [ebp - 0xe8]
jmp case.default.0x425570
and dword [ebp - 0xf0], 0
mov esi, dword [esi + 0x1e8]
jmp 0x427339
push edi
push dword [esi]
call fcn.0040d7d7
pop ecx
pop ecx
test eax, eax
je 0x42736d
inc dword [ebp - 0xf0]
mov esi, dword [esi + 0x18]
mov dword [ebp - 0xfc], esi
test esi, esi
jne 0x427322
mov esi, dword [ebp - 0xdc]
push edi
mov edi, dword [ebp - 0xe8]
push str.no_such_savepoint:__s
push esi
lea eax, [edi + 0x2c]
push eax
call fcn.0040baca
xor eax, eax
add esp, 0x10
inc eax
add ebx, 0x14
jmp 0x42a15e
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x104]
cmp dword [ecx + 0x9c], 0
jle 0x42738b
cmp edx, 1
je 0x429f9d
lea eax, [esi + 0x18]
cmp dword [eax], 0
mov dword [ebp - 0x128], eax
jne 0x4273f9
cmp byte [ecx + 0x46], 0
je 0x4273f9
xor eax, eax
inc eax
mov dword [ebp - 0x11c], eax
cmp edx, eax
jne 0x427400
mov edi, dword [ebp - 0xe8]
mov edx, eax
mov ecx, edi
call fcn.00422440
mov esi, eax
test esi, esi
jne 0x42a1c2
mov esi, dword [ebp - 0xdc]
mov ecx, edi
mov byte [esi + 0x3f], 1
call fcn.004224a3
push 5
pop ecx
cmp eax, ecx
je 0x429fa6
mov byte [esi + 0x46], 0
mov eax, dword [edi + 0x50]
mov esi, dword [ebp - 0xfc]
mov dword [ebp - 0xd8], eax
jmp 0x42752f
and dword [ebp - 0x11c], 0
mov eax, dword [ecx + 0x1f0]
sub eax, dword [ebp - 0xf0]
dec eax
mov dword [ebp - 0xf0], eax
mov eax, dword [ecx + 0x14]
cmp edx, 2
jne 0x427499
mov ecx, dword [ecx + 0x18]
and dword [ebp - 0xfc], 0
shr ecx, 1
and ecx, 1
mov dword [ebp - 0x10c], ecx
test eax, eax
jle 0x4274a1
xor ecx, 1
xor edi, edi
mov dword [ebp - 0x114], ecx
mov eax, dword [ebp - 0xdc]
mov edx, 0x204
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edi + 4]
call fcn.0041a38b
mov dword [ebp - 0xd8], eax
pop ecx
test eax, eax
jne 0x42a06f
mov ecx, dword [ebp - 0xfc]
push 0x10
pop eax
add edi, eax
inc ecx
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xfc], ecx
mov eax, dword [eax + 0x14]
cmp ecx, eax
mov ecx, dword [ebp - 0x114]
jl 0x42743f
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x104]
jmp 0x4274a1
xor ecx, ecx
mov dword [ebp - 0x10c], ecx
and dword [ebp - 0xfc], 0
test eax, eax
jle 0x4274fe
xor edi, edi
mov eax, dword [ebp - 0xdc]
push dword [ebp - 0xf0]
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edi + 4]
call fcn.0041a52c
mov dword [ebp - 0xd8], eax
pop ecx
test eax, eax
jne 0x42a06f
mov eax, dword [ebp - 0xfc]
mov edx, dword [ebp - 0x104]
inc eax
push 0x10
pop ecx
add edi, ecx
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xdc]
cmp eax, dword [ecx + 0x14]
jl 0x4274ae
mov ecx, dword [ebp - 0x10c]
test ecx, ecx
je 0x427529
mov edi, dword [ebp - 0xdc]
mov eax, dword [edi + 4]
test eax, eax
je 0x42751c
push 8
pop ecx
or dword [eax + 0x58], ecx
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x427512
mov ecx, edi
call fcn.00434ee0
push 2
pop eax
or dword [edi + 0x18], eax
mov edi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xdc]
cmp dword [ecx + 0x1e8], esi
je 0x42756f
mov edi, ecx
mov edx, dword [edi + 0x1e8]
mov ecx, edi
mov eax, dword [edx + 0x18]
mov dword [edi + 0x1e8], eax
call fcn.0040b6e5
dec dword [edi + 0x1f0]
cmp dword [edi + 0x1e8], esi
jne 0x42753f
mov edi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x104]
cmp edx, 1
jne 0x4275b2
mov eax, dword [ebp - 0x128]
mov edx, esi
mov esi, dword [ebp - 0xdc]
mov eax, dword [eax]
mov dword [ecx + 0x1e8], eax
mov ecx, esi
call fcn.0040b6e5
cmp dword [ebp - 0x11c], 0
jne case.default.0x425570
dec dword [esi + 0x1f0]
mov edx, dword [ebp - 0x104]
jmp 0x4275fa
cmp dword [ebp - 0x11c], 0
mov edi, dword [ebp - 0xdc]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [edi + 0x1f8], eax
mov eax, edi
mov dword [eax + 0x1fc], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov esi, edi
mov edi, dword [ebp - 0xe8]
mov dword [esi + 0x200], eax
mov dword [esi + 0x204], ecx
je 0x4275fa
push 2
pop eax
cmp edx, eax
jne case.default.0x425570
push dword [ebp - 0xf0]
mov ecx, esi
call fcn.0044c7a3
mov dword [ebp - 0xd8], eax
pop ecx
test eax, eax
jne 0x4263aa
jmp 0x425650
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov dword [ebp - 0xfc], ecx
test ecx, ecx
je 0x42764f
mov al, byte [esi + 0x3f]
test al, al
jne 0x42764f
test edx, edx
jne 0x427652
cmp dword [esi + 0x9c], edx
jle 0x427652
mov dword [ebp - 0xd8], 5
mov edx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x427689
mov al, byte [esi + 0x3f]
movzx eax, al
cmp ecx, eax
jne 0x429fc5
test edx, edx
mov dword [ebp - 0xfc], str.cannot_commit___no_transaction_is_active
mov eax, str.cannot_rollback___no_transaction_is_active
mov dword [ebp - 0xd8], 1
cmove eax, dword [ebp - 0xfc]
mov edx, str.cannot_start_a_transaction_within_a_transaction
test ecx, ecx
cmovne edx, eax
push edx
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0040baca
add esp, 0xc
jmp case.default.0x425570
mov edx, dword [ebx + 8]
test edx, edx
je 0x4276b0
test dword [esi + 0x18], 0x2000000
jne 0x42a035
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x4277b8
mov ecx, esi
call fcn.00419986
push 5
pop ecx
mov dword [ebp - 0xd8], eax
cmp eax, ecx
je 0x42a03d
test eax, eax
jne 0x4263a4
cmp dword [ebx + 8], eax
je 0x427789
test byte [edi + 0x58], 0x20
je 0x427789
mov edx, dword [ebp - 0xdc]
cmp byte [edx + 0x3f], al
je 0x42770b
cmp dword [edx + 0x98], 1
jle 0x427789
mov eax, dword [edi + 0x68]
test eax, eax
jne 0x427727
mov eax, dword [edx + 0x1f0]
inc dword [edx + 0x1f4]
add eax, dword [edx + 0x1f4]
mov dword [edi + 0x68], eax
mov ecx, dword [ebp - 0xdc]
dec eax
push eax
xor edx, edx
call fcn.0044c7a3
mov edx, eax
mov dword [ebp - 0xd8], edx
pop ecx
test edx, edx
jne 0x427753
mov edx, dword [edi + 0x68]
mov ecx, esi
call fcn.0041a505
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x1f8]
mov ecx, dword [edx + 0x1fc]
mov dword [edi + 0x98], eax
mov dword [edi + 0x9c], ecx
mov eax, dword [edx + 0x200]
mov ecx, dword [edx + 0x204]
mov dword [edi + 0xa0], eax
mov dword [edi + 0xa4], ecx
lea eax, [ebp - 0x194]
xor edx, edx
push eax
inc edx
mov ecx, esi
call fcn.0041e29d
mov esi, dword [ebp - 0xdc]
pop ecx
mov ecx, dword [ebx + 4]
add ecx, ecx
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x194]
jmp 0x4277ca
mov esi, dword [ebp - 0xdc]
xor edx, edx
mov eax, edx
mov ecx, edx
mov dword [ebp - 0x194], eax
cmp byte [ebx + 3], 0
je case.default.0x425570
cmp eax, dword [ebx + 0xc]
jne 0x4277e2
cmp ecx, dword [ebx + 0x10]
je case.default.0x425570
mov edx, dword [edi + 0x2c]
mov ecx, esi
call fcn.0040b6e5
mov edx, str.database_schema_has_changed
mov ecx, esi
call fcn.0040ba43
mov dword [edi + 0x2c], eax
mov edx, dword [ebx + 4]
mov ecx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x194]
je 0x42781a
mov ecx, esi
call fcn.00434eb3
push 8
pop eax
or dword [edi + 0x58], eax
push 0x11
pop eax
mov dword [ebp - 0xd8], eax
jmp 0x425650
mov ecx, dword [esi + 0x10]
lea eax, [ebp - 0x1ec]
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0041e29d
pop ecx
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov ecx, eax
mov eax, dword [ebp - 0x1ec]
jmp 0x425723
imul edi, dword [ebx + 0xc], 0x28
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebx + 4]
shl esi, 4
add edi, dword [ebp - 0xec]
add esi, dword [eax + 0x10]
mov ecx, edi
call fcn.00420104
push dword [edi]
mov edx, dword [ebx + 8]
mov ecx, dword [esi + 4]
call fcn.0041e2df
xor edx, edx
mov dword [ebp - 0xd8], eax
inc edx
pop ecx
push 2
cmp dword [ebx + 8], edx
jne 0x4278b7
mov ecx, dword [esi + 0xc]
mov eax, dword [edi]
mov esi, dword [ebp - 0xdc]
mov dword [ecx], eax
pop eax
or dword [esi + 0x18], eax
mov eax, dword [ebp - 0xd8]
jmp 0x4278d1
pop ecx
cmp dword [ebx + 8], ecx
jne 0x4278cb
mov ecx, dword [esi + 0xc]
mov al, byte [edi]
mov byte [ecx + 0x4c], al
mov eax, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xdc]
cmp dword [ebx + 4], edx
jne 0x429daf
mov eax, dword [esi + 4]
test eax, eax
je 0x4278ee
push 8
pop ecx
or dword [eax + 0x58], ecx
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x4278e4
mov edi, dword [ebp - 0xe8]
and dword [edi + 0x58], 0xfffffff7
jmp case.default.0x425570
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov edi, dword [eax + ecx*4]
test edi, edi
je 0x427916
mov eax, dword [edi + 0x20]
cmp eax, dword [ebx + 8]
je 0x427a67
mov edi, dword [ebp - 0xe8]
mov cl, byte [ebp - 0xf1]
test byte [edi + 0x58], 8
jne 0x42a07a
mov edx, dword [ebx + 8]
xor eax, eax
mov edi, eax
mov dword [ebp - 0xfc], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x128], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [ebp - 0x10c], edx
mov esi, dword [eax + 4]
mov dword [ebp - 0x11c], esi
cmp cl, 0x37
jne 0x42797c
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x114], 1
mov al, byte [eax + 0x4c]
cmp al, byte [ecx + 0x57]
jae 0x427982
mov byte [ecx + 0x57], al
jmp 0x427982
and dword [ebp - 0x114], edi
push 4
pop eax
test byte [ebx + 3], al
je 0x4279ad
imul esi, edx, 0x28
add esi, dword [ebp - 0xec]
mov ecx, esi
call fcn.00420104
mov edx, dword [esi]
push 2
pop eax
mov dword [ebp - 0x10c], edx
cmp edx, eax
jl 0x42a053
mov al, byte [ebx + 1]
cmp al, 0xfa
jne 0x4279c9
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0xfc], esi
movzx edi, word [esi + 8]
movzx eax, word [esi + 6]
add edi, eax
jmp 0x4279d0
cmp al, 0xf2
jne 0x4279d0
mov edi, dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
push 1
push dword [ebp - 0x128]
push edi
call fcn.004251d8
mov edi, eax
add esp, 0xc
test edi, edi
je 0x42a139
mov ecx, dword [ebp - 0x11c]
mov esi, dword [edi]
push 8
pop eax
or dword [edi + 0x1c], eax
mov eax, dword [ebp - 0x10c]
mov byte [edi + 0x19], 1
mov dword [edi + 0x20], eax
call fcn.00417c3a
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x11c]
push esi
mov esi, dword [ebp - 0xfc]
push esi
push dword [ebp - 0x114]
call fcn.0041a597
mov ecx, dword [ebp - 0x11c]
add esp, 0xc
mov dword [ebp - 0xd8], eax
call fcn.00417cac
xor ecx, ecx
mov dword [edi + 8], esi
cmp byte [ebx + 1], 0xfa
mov esi, dword [ebp - 0xdc]
push 4
pop eax
cmovne ecx, eax
mov eax, dword [edi + 0x1c]
and eax, 0xfffffffb
or ecx, eax
mov dword [edi + 0x1c], ecx
mov cl, byte [ebx + 3]
mov eax, dword [edi]
and cl, 3
mov byte [eax + 0x4a], cl
jmp 0x427308
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.004251d8
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x10c], esi
test esi, esi
je 0x42a13f
xor eax, eax
lea edi, [esi + 4]
inc eax
mov dword [ebp - 0x114], edi
or dword [esi + 0x1c], eax
xor edx, edx
mov byte [esi + 0x19], al
movzx eax, byte [ebx + 3]
push 0x41e
or eax, 5
push eax
mov eax, dword [ebp - 0xdc]
push edi
push eax
mov ecx, dword [eax]
call fcn.00418dc8
add esp, 0x10
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x427bc9
mov ecx, dword [edi]
xor edx, edx
inc edx
call fcn.00419986
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x427bc9
mov eax, dword [ebx + 0x10]
mov edi, dword [edi]
mov ecx, edi
mov dword [ebp - 0xfc], eax
test eax, eax
je 0x427b96
movzx esi, byte [ebx + 3]
push 2
pop eax
or esi, eax
call fcn.00417c3a
push esi
lea edx, [ebp - 0x1f0]
mov ecx, edi
call fcn.0041dd5d
pop ecx
mov ecx, edi
mov dword [ebp - 0xd8], eax
call fcn.00417cac
cmp dword [ebp - 0xd8], 0
jne 0x427b8a
mov esi, dword [ebp - 0x10c]
mov ebx, dword [ebp - 0x114]
mov eax, dword [ebp - 0xfc]
mov edi, dword [ebp - 0x1f0]
mov dword [esi + 8], eax
mov ebx, dword [ebx]
mov ecx, ebx
mov esi, dword [esi]
call fcn.00417c3a
push esi
push dword [ebp - 0xfc]
mov edx, edi
mov ecx, ebx
push 1
call fcn.0041a597
add esp, 0xc
mov dword [ebp - 0xd8], eax
mov ecx, ebx
call fcn.00417cac
mov ebx, dword [ebp - 0x118]
mov esi, dword [ebp - 0x10c]
and dword [esi + 0x1c], 0xfffffffb
jmp 0x427bc9
mov esi, dword [esi]
call fcn.00417c3a
push esi
xor eax, eax
mov ecx, edi
inc eax
push 0
push eax
mov edx, eax
call fcn.0041a597
add esp, 0xc
mov dword [ebp - 0xd8], eax
mov ecx, edi
call fcn.00417cac
mov esi, dword [ebp - 0x10c]
push 4
pop eax
or dword [esi + 0x1c], eax
xor ecx, ecx
cmp byte [ebx + 3], 8
push 8
pop eax
cmovne ecx, eax
mov eax, dword [esi + 0x1c]
and eax, 0xfffffff7
or ecx, eax
mov dword [esi + 0x1c], ecx
jmp 0x4258ea
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.004251d8
add esp, 0xc
test eax, eax
je 0x42a145
mov ecx, dword [ebx + 0x10]
mov dword [eax + 8], ecx
mov ecx, esi
mov edx, dword [ebx + 0xc]
push eax
call fcn.0042b2c5
pop ecx
jmp 0x427823
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x28]
mov ecx, edi
mov esi, dword [edx + 0x2c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x28], ecx
adc eax, 0
mov dword [edx + 0x2c], eax
or edi, esi
mov edi, dword [ebp - 0xe8]
je 0x428046
jmp 0x425644
mov edx, dword [ebx + 4]
mov ecx, edi
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.004251d8
add esp, 0xc
test eax, eax
je 0x42a145
mov byte [eax + 0x19], 1
mov ecx, dword [ebx + 8]
push 4
mov dword [eax + 0x10], ecx
pop ecx
or dword [eax + 0x1c], ecx
jmp case.default.0x425570
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x38]
mov edx, dword [edx + eax*4]
call fcn.00421bc7
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
and dword [eax + ecx*4], 0
jmp case.default.0x425570
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
push 4
mov edi, dword [eax + ecx*4]
pop eax
mov byte [edi + 0x19], 0
test byte [edi + 0x1c], al
je 0x427d71
imul esi, dword [ebx + 0xc], 0x28
push 2
pop ecx
add esi, dword [ebp - 0xec]
mov al, byte [esi + 8]
and al, 0xe
cmp al, cl
jne 0x427cd2
xor edx, edx
mov ecx, esi
call fcn.0042528c
mov ecx, esi
call fcn.00420004
movzx ecx, word [esi + 8]
push 4
mov dword [ebp - 0xfc], eax
pop eax
mov dword [ebp - 0x10c], edx
test al, cl
jne 0x427d32
test cl, 8
je 0x428040
mov ecx, dword [ebp - 0xfc]
call fcn.0049d7f0
movsd xmm1, qword [esi]
comisd xmm0, xmm1
jbe 0x427d1b
mov eax, dword [ebp - 0x12c]
test al, 1
je 0x427d32
dec eax
jmp 0x427d2c
comisd xmm1, xmm0
jbe 0x427d32
mov eax, dword [ebp - 0x12c]
test al, 1
jne 0x427d32
inc eax
mov dword [ebp - 0x12c], eax
mov esi, dword [ebp - 0xfc]
lea eax, [ebp - 0x13c]
mov ecx, dword [edi]
xor edx, edx
push eax
push 0
push dword [ebp - 0x10c]
push esi
call fcn.0041adb9
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x10c]
mov dword [edi + 0x30], esi
mov esi, dword [ebp - 0xdc]
mov dword [edi + 0x34], eax
mov eax, dword [ebp - 0xd8]
jmp 0x427dd6
mov eax, dword [edi + 8]
mov dword [ebp - 0x2b4], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x2b0], ax
mov eax, edx
and al, 1
neg al
sbb al, al
imul ecx, dword [ebx + 0xc], 0x28
and al, 0xfe
inc al
mov byte [ebp - 0x2ae], al
mov eax, 0x4000
add ecx, dword [ebp - 0xec]
mov dword [ebp - 0x2ac], ecx
test word [ecx + 8], ax
je 0x427db7
call fcn.0041fd7f
mov ecx, dword [edi]
lea eax, [ebp - 0x13c]
push eax
xor eax, eax
lea edx, [ebp - 0x2b4]
push eax
push eax
push eax
call fcn.0041adb9
mov dword [ebp - 0xd8], eax
add esp, 0x10
test eax, eax
jne 0x42a084
mov eax, dword [ebp - 0x12c]
xor edx, edx
push 0x40
pop ecx
mov byte [edi + 0x1a], dl
cmp eax, ecx
mov dword [edi + 0x3c], edx
mov ecx, dword [ebp - 0x13c]
jl 0x427e28
test ecx, ecx
js 0x427e12
jne 0x427e07
cmp eax, 0x41
je 0x427e12
mov dword [ebp - 0x13c], edx
jmp 0x427308
lea eax, [ebp - 0x13c]
mov dword [ebp - 0x13c], edx
push eax
push dword [edi]
call fcn.0041b232
jmp 0x427e60
test ecx, ecx
jg 0x427e4c
jne 0x427e33
cmp eax, 0x3e
je 0x427e4c
mov eax, dword [edi]
xor ecx, ecx
cmp byte [eax + 0x49], 1
mov eax, dword [ebp - 0xd8]
setne cl
mov dword [ebp - 0x13c], ecx
jmp 0x427e70
lea eax, [ebp - 0x13c]
mov dword [ebp - 0x13c], edx
push eax
push dword [edi]
call fcn.0041b398
mov dword [ebp - 0xd8], eax
pop ecx
pop ecx
test eax, eax
jne 0x42a084
mov edi, dword [ebp - 0xe8]
cmp dword [ebp - 0x13c], 0
jne 0x428046
jmp 0x425650
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + ecx*4]
mov byte [esi + 0x19], 0
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xec]
call fcn.00420004
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 1
jmp 0x425644
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
imul esi, dword [ebx + 0xc], 0x28
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0x114], ecx
add esi, dword [ebp - 0xec]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ecx + 8]
cmp dword [ebx + 0x10], eax
jle 0x427f4f
mov dword [ebp - 0x25c], ecx
xor edi, edi
movzx ecx, word [ebx + 0x10]
mov edx, eax
mov word [ebp - 0x258], cx
mov dword [ebp - 0x254], esi
mov dword [ebp - 0xfc], edx
cmp di, cx
jae 0x427f41
mov ebx, 0x4000
lea eax, [edi + esi]
test word [eax + 8], bx
je 0x427f2a
mov ecx, eax
call fcn.0041fd7f
mov esi, dword [ebp - 0x254]
mov cx, word [ebp - 0x258]
mov edx, dword [ebp - 0xfc]
inc edx
movzx eax, cx
add edi, 0x28
mov dword [ebp - 0xfc], edx
cmp edx, eax
jl 0x427f07
mov ebx, dword [ebp - 0x118]
mov esi, dword [ebp - 0x114]
lea edi, [ebp - 0x25c]
jmp 0x427f9b
lea eax, [ebp - 0x1a4]
push eax
push 0xbf
lea edx, [ebp - 0xc8]
call fcn.00422dc1
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42a139
mov eax, 0x4000
test word [esi + 8], ax
je 0x427f84
mov ecx, esi
call fcn.0041fd7f
mov edx, dword [esi + 0xc]
push edi
push dword [esi + 0x10]
mov esi, dword [ebp - 0x114]
mov ecx, dword [esi + 8]
call fcn.00422e1c
pop ecx
pop ecx
xor eax, eax
mov byte [edi + 6], al
cmp byte [ebx], 0x43
mov dword [ebp - 0xfc], eax
jne 0x427fd6
movzx edx, word [edi + 4]
mov ecx, eax
test edx, edx
je 0x427fd6
mov eax, dword [edi + 8]
add eax, 8
test byte [eax], 1
jne 0x427fca
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x427fbb
jmp 0x427fd4
mov dword [ebp - 0xfc], 1
xor eax, eax
lea ecx, [ebp - 0x1a8]
mov edx, edi
push ecx
mov ecx, dword [esi]
push eax
push eax
push eax
call fcn.0041adb9
mov edx, dword [ebp - 0x1a4]
add esp, 0x10
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], eax
call fcn.0040b6e5
mov eax, dword [ebp - 0xd8]
test eax, eax
jne 0x428661
mov eax, dword [ebp - 0x1a8]
xor ecx, ecx
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x1a8]
test eax, eax
sete cl
test eax, eax
setne al
xor edx, edx
mov byte [esi + 0x19], al
mov byte [esi + 0x1a], dl
mov dword [esi + 0x3c], edx
cmp byte [ebx], 0x45
jne 0x42805a
test ecx, ecx
je 0x428066
mov edi, dword [ebp - 0xe8]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x120]
add ebx, 0xffffffec
add ebx, eax
jmp 0x425644
cmp dword [ebp - 0xfc], edx
jne 0x428040
test ecx, ecx
je 0x428040
mov edi, dword [ebp - 0xe8]
add ebx, 0x14
mov esi, dword [ebp - 0xdc]
jmp 0x425527
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x118]
mov ebx, dword [eax + ecx*4]
imul eax, dword [edx + 0xc], 0x28
mov edx, dword [ebp - 0xec]
mov ecx, dword [ebx]
and dword [ebp - 0x190], 0
mov esi, dword [eax + edx]
mov edi, dword [eax + edx + 4]
lea eax, [ebp - 0x190]
push eax
push 0
push edi
push esi
xor edx, edx
call fcn.0041adb9
xor edx, edx
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], edi
add esp, 0x10
mov word [ebx + 0x19], dx
mov dword [ebx + 0x3c], edx
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x190]
mov dword [ebx + 0xc], eax
mov ebx, dword [ebp - 0x118]
cmp dword [ebp - 0x190], edx
jmp 0x4264c0
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp case.default.0x425570
and dword [ebp - 0x188], 0
xorps xmm0, xmm0
mov edx, ebx
movlpd qword [ebp - 0x148], xmm0
mov ecx, edi
call fcn.004253fc
mov ecx, dword [edi + 0x38]
mov esi, eax
mov edx, dword [ebx + 4]
mov dword [ebp - 0x114], esi
mov edi, dword [ecx + edx*4]
mov dword [ebp - 0xfc], edi
mov ecx, dword [edi]
test ecx, ecx
je 0x4282ff
push 2
pop eax
test byte [edi + 0x1c], al
jne 0x4281dc
lea edx, [ebp - 0x188]
call fcn.0041ad68
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x42a06f
cmp dword [ebp - 0x188], eax
je 0x428191
and dword [ebp - 0x144], eax
mov dword [ebp - 0x148], 1
jmp 0x4281dc
mov esi, dword [edi]
mov ecx, esi
call fcn.0041a6b0
mov ecx, dword [esi + 0x1c]
xor edx, edx
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0xd8], edx
cmp ecx, 0x7fffffff
jl 0x4281cb
jg 0x4281c3
cmp eax, 0xffffffff
jb 0x4281cb
push 2
pop eax
or dword [edi + 0x1c], eax
jmp 0x4281dc
add eax, 1
mov dword [ebp - 0x148], eax
adc ecx, edx
mov dword [ebp - 0x144], ecx
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x428279
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xb0]
test eax, eax
jne 0x428259
imul esi, edx, 0x28
add esi, dword [ebp - 0xec]
mov ecx, esi
call fcn.00420104
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x42821d
cmp edx, 0x7fffffff
je 0x4282ea
push 2
pop eax
test byte [edi + 0x1c], al
jne 0x4282ea
mov edi, dword [ebp - 0x144]
add ecx, 1
adc edx, 0
cmp edi, edx
jg 0x428268
jl 0x428245
mov eax, dword [ebp - 0x148]
cmp eax, ecx
jae 0x42826e
mov eax, ecx
mov edi, edx
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], edi
jmp 0x42826e
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x428257
imul esi, edx, 0x28
add esi, dword [eax + 0x10]
jmp 0x428200
mov eax, dword [ebp - 0x148]
mov dword [esi + 4], edi
mov edi, dword [ebp - 0xfc]
mov dword [esi], eax
push 2
pop eax
test byte [edi + 0x1c], al
je 0x4282f1
xor esi, esi
lea eax, [ebp - 0x148]
push eax
push 8
pop eax
push eax
call fcn.0040cea8
mov eax, dword [ebp - 0x144]
lea edi, [ebp - 0x188]
mov ecx, dword [ebp - 0x148]
and eax, 0x3fffffff
push 0
pop edx
add ecx, 1
push edi
mov edi, dword [ebp - 0xfc]
adc eax, edx
push edx
push eax
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x144], eax
push ecx
mov ecx, dword [edi]
call fcn.0041adb9
add esp, 0x18
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x4282f1
cmp dword [ebp - 0x188], eax
jne 0x4282f1
inc esi
cmp esi, 0x64
jl 0x428283
push 0xd
jmp 0x42a06e
mov esi, dword [ebp - 0x114]
xor edx, edx
mov byte [edi + 0x1a], dl
mov dword [edi + 0x3c], edx
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
jmp 0x42688c
imul esi, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov edx, dword [ebp - 0xec]
add esi, edx
cmp byte [ebp - 0xf1], 0x4b
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebx + 0xc]
jne 0x428349
imul eax, eax, 0x28
mov edi, dword [eax + edx]
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0xfc], eax
jmp 0x428354
cdq
mov edi, eax
mov dword [ebp - 0xfc], edx
mov eax, edx
mov cl, byte [ebx + 3]
xor edx, edx
inc edx
test dl, cl
je 0x42836a
mov ecx, dword [ebp - 0xe8]
inc dword [ecx + 0x5c]
mov cl, byte [ebx + 3]
test cl, 2
je 0x428387
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xe0], eax
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x24], eax
movzx ecx, word [esi + 8]
xor eax, eax
test dl, cl
je 0x428397
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], eax
mov dl, byte [ebx + 3]
test dl, 0x10
je 0x4283a8
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + 0xc]
test ecx, 0x4000
je 0x4283b4
mov ecx, dword [esi]
jmp 0x4283b6
xor ecx, ecx
push eax
movzx eax, dl
xor edx, edx
shr eax, 3
and eax, 1
push eax
mov eax, dword [ebp - 0x10c]
push ecx
push dword [esi + 0xc]
push dword [esi + 0x10]
mov esi, dword [ebp - 0xfc]
mov ecx, dword [eax]
push esi
push edi
call fcn.0041d9a9
mov dword [ebp - 0xd8], eax
xor ecx, ecx
mov eax, dword [ebp - 0x10c]
add esp, 0x1c
mov byte [eax + 0x1a], cl
mov dword [eax + 0x3c], ecx
cmp dword [ebp - 0xd8], ecx
jne 0x4258ea
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0xd4]
test edx, edx
je 0x429dba
cmp dword [ebx + 0x10], 0
je 0x429dba
movsx ecx, byte [eax + 0x18]
push esi
mov esi, dword [ebp - 0xdc]
add ecx, ecx
push edi
push dword [ebx + 0x10]
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
push 4
pop eax
test byte [ebx + 3], al
push 0x12
pop eax
push 0x17
pop ecx
cmovne eax, ecx
push eax
push dword [esi + 0xd0]
call edx
add esp, 0x18
jmp 0x427308
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
call fcn.0041db7e
and dword [esi + 0x3c], 0
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x4284c6
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0xd4]
test edx, edx
je 0x4284c2
cmp dword [ebx + 0x10], eax
je 0x4284c2
push 4
pop ecx
test byte [esi + 0x1c], cl
je 0x4284c6
push dword [esi + 0x34]
movsx ecx, byte [esi + 0x18]
push dword [esi + 0x30]
mov esi, dword [ebp - 0xdc]
add ecx, ecx
push dword [ebx + 0x10]
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
push 9
push dword [esi + 0xd0]
call edx
mov eax, dword [ebp - 0xd8]
add esp, 0x18
jmp 0x4284cc
mov esi, ecx
jmp 0x4284cc
mov esi, dword [ebp - 0xdc]
test byte [ebx + 8], 1
je 0x425650
inc dword [edi + 0x5c]
jmp 0x425650
mov eax, dword [edi + 0x5c]
add dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
and dword [edi + 0x5c], 0
jmp case.default.0x425570
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
imul edx, dword [ebx + 0xc], 0x28
mov ecx, dword [eax + ecx*4]
lea eax, [ebp - 0x1ac]
and dword [ebp - 0x1ac], 0
add edx, dword [ebp - 0xec]
push eax
push dword [ebx + 0x10]
call fcn.0042ca49
cmp dword [ebp - 0x1ac], 0
pop ecx
pop ecx
mov dword [ebp - 0xd8], eax
jmp 0x427e7d
imul edx, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
add edx, dword [ebp - 0xec]
mov ecx, dword [eax + ecx*4]
call fcn.0042c9f3
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0xd8], eax
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
and dword [eax + 0x3c], 0
jmp case.default.0x425570
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebx + 4]
imul edi, dword [ebx + 8], 0x28
push 4
mov eax, dword [eax + 0x38]
add edi, dword [ebp - 0xec]
mov eax, dword [eax + ecx*4]
pop ecx
mov dword [ebp - 0xfc], eax
mov esi, dword [eax]
test byte [eax + 0x1c], cl
mov ecx, esi
mov dword [ebp - 0x10c], esi
jne 0x4285d6
call fcn.0041a6b0
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x10c]
mov esi, dword [esi + 0x18]
mov eax, dword [eax + 0x58]
cdq
cmp dword [ecx + 0x1c], edx
jg 0x4285b1
jl 0x4285ed
cmp esi, eax
jbe 0x4285ed
mov edi, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xdc]
push str.string_or_blob_too_big
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0040baca
add esp, 0xc
push 0x12
jmp 0x42a15d
call fcn.0041a6b0
mov eax, dword [ebp - 0xdc]
mov esi, dword [esi + 0x24]
cmp esi, dword [eax + 0x58]
ja 0x42a208
push 0x20
pop edx
cmp esi, edx
mov ecx, edi
cmova edx, esi
call fcn.0041fce9
test eax, eax
jne 0x42a139
mov ax, word [edi + 8]
mov ecx, 0xbe10
and ax, cx
mov dword [edi + 0xc], esi
push 0x10
pop ecx
or ax, cx
mov word [edi + 8], ax
mov eax, dword [ebp - 0xfc]
push 4
pop ecx
test byte [eax + 0x1c], cl
jne 0x428643
mov ecx, dword [ebp - 0x10c]
xor edx, edx
push 0
push dword [edi + 0x10]
push esi
call fcn.0041a818
add esp, 0xc
jmp 0x428657
push dword [edi + 0x10]
push esi
push 0
push dword [ebp - 0x10c]
call fcn.0041aa9e
add esp, 0x10
mov byte [edi + 0xa], 1
mov dword [ebp - 0xd8], eax
mov edi, dword [ebp - 0xe8]
jmp 0x42564a
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov edx, dword [ebx + 4]
mov edi, eax
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x38]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 0x19], 0
je 0x428698
xor eax, eax
inc eax
mov word [edi + 8], ax
jmp 0x4258ea
cmp byte [esi + 0x1a], 0
je 0x4286a9
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
jmp 0x428734
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x4286e2
mov esi, dword [ecx]
lea edx, [ebp - 0x1a0]
push edx
push ecx
mov eax, dword [esi]
call dword [eax + 0x30]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xe8]
mov edx, esi
mov dword [ebp - 0xd8], eax
call fcn.00423b90
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x1a0]
jmp 0x428740
mov eax, dword [esi]
xor ecx, ecx
inc ecx
cmp byte [eax + 0x49], cl
je 0x428706
mov ecx, esi
call fcn.004229f9
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x42a06f
xor ecx, ecx
inc ecx
jmp 0x42870e
xor edx, edx
mov dword [ebp - 0xd8], edx
cmp byte [esi + 0x19], 0
je 0x42871d
mov word [edi + 8], cx
jmp 0x428066
mov esi, dword [esi]
mov ecx, esi
call fcn.0041a6b0
mov eax, dword [esi + 0x18]
xor edx, edx
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x1a0], eax
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x4258ea
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + ecx*4]
and dword [eax + 0x3c], 0
mov esi, dword [eax]
mov byte [eax + 0x19], 1
test esi, esi
je 0x425644
push dword [esi + 0x38]
call fcn.0040b681
pop ecx
xor ecx, ecx
mov dword [esi + 0x38], ecx
mov byte [esi + 0x49], cl
jmp 0x425644
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x198]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
and dword [ebp - 0x198], 0
call fcn.0041ad68
mov dword [ebp - 0xd8], eax
xor edx, edx
mov al, byte [ebp - 0x198]
mov byte [esi + 0x19], al
mov byte [esi + 0x1a], dl
mov dword [esi + 0x3c], edx
mov eax, dword [ebx + 0xc]
mov dword [esi + 0xc], eax
cmp dword [ebx + 8], edx
jle 0x425644
cmp dword [ebp - 0x198], edx
jmp 0x4264c6
inc dword [edi + 0x74]
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x174]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x174], 1
cmp dword [esi + 0x38], 0
je 0x4287fa
mov ecx, esi
call fcn.0042c902
mov dword [ebp - 0xd8], eax
jmp 0x42880f
mov ecx, dword [esi]
call fcn.0041ad3d
mov dword [ebp - 0xd8], eax
xor eax, eax
mov byte [esi + 0x1a], al
mov dword [esi + 0x3c], eax
mov al, byte [ebp - 0x174]
mov byte [esi + 0x19], al
cmp dword [ebp - 0x174], 0
jmp 0x4264c6
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x178]
mov ecx, dword [ebp - 0xdc]
mov edx, esi
and dword [ebp - 0x178], 0
push eax
call fcn.0042c952
jmp 0x428879
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
cmp dword [eax + ecx*4], 0
je case.default.0x425570
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x178], eax
lea eax, [ebp - 0x178]
push eax
push dword [esi]
call dword [ebx + 0x10]
pop ecx
mov dword [ebp - 0xd8], eax
pop ecx
xor ecx, ecx
mov dword [esi + 0x3c], ecx
cmp dword [ebp - 0x178], ecx
jne 0x42889d
mov byte [esi + 0x19], cl
movzx eax, byte [ebx + 3]
inc dword [edi + eax*4 + 0x6c]
jmp 0x429b03
mov byte [esi + 0x19], 1
mov esi, dword [ebp - 0xdc]
cmp dword [esi + 0xf0], 0
jne 0x42a225
mov ecx, dword [esi + 0x124]
test ecx, ecx
je 0x427308
mov eax, dword [ebp - 0x150]
cmp eax, dword [ebp - 0x168]
jb 0x427308
mov edi, dword [esi + 0x12c]
xor edx, edx
div edi
push dword [esi + 0x128]
sub edi, edx
add edi, dword [ebp - 0x150]
mov dword [ebp - 0x168], edi
call ecx
mov edi, dword [ebp - 0xe8]
pop ecx
test eax, eax
je case.default.0x425570
push 9
jmp 0x42a15d
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
imul esi, dword [ebx + 8], 0x28
mov edi, dword [eax + ecx*4]
add esi, dword [ebp - 0xec]
test byte [ebx + 3], 1
mov ecx, dword [edi]
mov dword [ebp - 0xfc], ecx
je 0x428934
mov eax, dword [ebp - 0xe8]
inc dword [eax + 0x5c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x42895a
mov ecx, esi
call fcn.0041fd7f
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x428661
mov ecx, dword [ebp - 0xfc]
xor edx, edx
cmp dword [edi + 0x38], edx
je 0x42896f
mov edx, esi
mov ecx, edi
call fcn.0042be40
jmp 0x42865b
test byte [ebx + 3], 0x10
je 0x42897a
mov eax, dword [edi + 0xc]
jmp 0x42897c
mov eax, edx
push eax
push dword [ebx + 0xc]
mov eax, dword [esi + 0xc]
push edx
push edx
cdq
push 0x4b435b
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.0041d9a9
add esp, 0x1c
and dword [edi + 0x3c], 0
jmp 0x42865b
mov eax, dword [edi + 0x38]
lea edx, [ebp - 0x270]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov dword [ebp - 0x270], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x26c], ax
imul eax, dword [ebx + 8], 0x28
mov byte [ebp - 0x26a], cl
add eax, dword [ebp - 0xec]
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x1c0]
push eax
push ecx
push ecx
push ecx
mov ecx, edi
call fcn.0041adb9
add esp, 0x10
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x428a11
cmp dword [ebp - 0x1c0], eax
jne 0x428a11
mov ecx, edi
call fcn.0041db7e
mov dword [ebp - 0xd8], eax
and dword [esi + 0x3c], 0
jmp 0x428661
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov edx, dword [ebx + 4]
mov edi, eax
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x38]
mov esi, dword [ecx + edx*4]
xor edx, edx
inc edx
mov eax, dword [esi]
mov word [edi + 8], dx
mov ecx, dword [esi]
mov dword [ebp - 0xfc], eax
cmp byte [ecx + 0x49], dl
je 0x428a67
mov ecx, esi
call fcn.004229f9
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x42a06f
mov eax, dword [ebp - 0xfc]
jmp 0x428a6f
xor edx, edx
mov dword [ebp - 0xd8], edx
cmp byte [esi + 0x19], 0
mov esi, dword [ebp - 0xdc]
jne 0x428abd
lea ecx, [ebp - 0x1e8]
xorps xmm0, xmm0
push ecx
mov edx, eax
movlpd qword [ebp - 0x1e8], xmm0
mov ecx, esi
call fcn.004239a0
mov dword [ebp - 0xd8], eax
pop ecx
test eax, eax
jne 0x42a084
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x1e4]
push 4
mov dword [edi], eax
pop eax
mov dword [edi + 4], ecx
mov word [edi + 8], ax
mov edi, dword [ebp - 0xe8]
add ebx, 0x14
jmp 0x425527
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
cmp byte [ebp - 0xf1], 0x73
mov edx, dword [eax + ecx*4]
mov ecx, esi
mov eax, dword [edx + 8]
mov dword [ebp - 0x284], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x280], ax
sbb al, al
and dword [ebp - 0x17c], 0
mov byte [ebp - 0x27e], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xec]
mov dword [ebp - 0x27c], eax
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x284]
push eax
call fcn.00423a85
test byte [ebx], 1
pop ecx
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x17c]
pop ecx
je 0x428b3a
neg eax
jmp 0x428b3b
inc eax
mov dword [ebp - 0x17c], eax
test eax, eax
jg 0x428046
jmp case.default.0x425570
mov edx, ebx
mov ecx, edi
call fcn.004253fc
xor ecx, ecx
mov dword [ebp - 0x114], eax
inc ecx
mov word [eax + 8], cx
mov ecx, dword [esi + 0xa4]
inc ecx
cmp dword [esi + 0x98], ecx
jg 0x42a0bf
mov eax, dword [ebx + 0xc]
mov ecx, eax
and dword [ebp - 0x184], 0
add ecx, ecx
mov esi, dword [ebx + 4]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
mov edi, dword [eax + ecx*8 + 4]
mov ecx, edi
call fcn.00417c3a
lea eax, [ebp - 0x184]
mov edx, esi
push eax
mov ecx, edi
call fcn.0041e107
pop ecx
mov ecx, edi
mov dword [ebp - 0xd8], eax
call fcn.00417cac
mov ecx, dword [ebp - 0x114]
push 4
pop eax
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x184]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0xd8]
mov dword [ecx + 4], edx
test eax, eax
jne 0x428661
mov esi, dword [ebp - 0xdc]
cmp dword [ebp - 0x184], eax
je 0x429daf
push dword [ebx + 4]
mov edx, dword [ebp - 0xfc]
mov ecx, esi
push dword [ebp - 0x184]
call fcn.004368f9
mov al, byte [ebp - 0xfc]
pop ecx
inc al
pop ecx
mov byte [ebp - 0x12d], al
jmp 0x427308
xor ecx, ecx
lea eax, [ebp - 0x1b0]
xor edx, edx
mov dword [ebp - 0x1b0], ecx
cmp dword [ebx + 0xc], ecx
mov ecx, dword [esi + 0x10]
cmove eax, edx
mov edx, dword [ebx + 4]
push eax
mov eax, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0041e0b1
cmp dword [ebx + 0xc], 0
pop ecx
mov dword [ebp - 0xd8], eax
je 0x425650
mov eax, dword [ebp - 0x1b0]
add dword [edi + 0x5c], eax
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle case.default.0x425570
mov esi, dword [ebp - 0xec]
imul ecx, ecx, 0x28
cdq
add dword [ecx + esi], eax
mov eax, esi
adc dword [ecx + eax + 4], edx
jmp 0x425644
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x428ca8
mov ecx, esi
call fcn.0042b5a8
jmp case.default.0x425570
mov ecx, dword [ecx]
push 0
mov edx, dword [ecx + 0x3c]
mov ecx, dword [ecx]
call fcn.0041e0b1
jmp 0x427c12
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov edx, dword [ebp - 0x118]
mov edi, eax
mov ecx, dword [esi + 0x10]
and dword [ebp - 0x1b4], 0
mov bl, byte [ebx]
mov edx, dword [edx + 4]
add edx, edx
mov esi, dword [ecx + edx*8 + 4]
mov ecx, esi
call fcn.00417c3a
xor ecx, ecx
lea edx, [ebp - 0x1b4]
cmp bl, 0x79
setne cl
inc ecx
push ecx
mov ecx, esi
call fcn.0041dd5d
pop ecx
mov ecx, esi
mov dword [ebp - 0xd8], eax
call fcn.00417cac
mov eax, dword [ebp - 0x1b4]
mov ebx, dword [ebp - 0x118]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x4258ea
mov ecx, dword [ebx + 4]
lea eax, [edi + 0x2c]
push dword [ebx + 0x10]
mov dword [ebp - 0x234], eax
cmp ecx, 1
mov edx, str.sqlite_temp_master
mov dword [ebp - 0x230], ecx
mov eax, str.sqlite_master
mov dword [ebp - 0x238], esi
cmove eax, edx
add ecx, ecx
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.0040ccc2
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x428d7e
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], 7
jmp 0x428dd9
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
push ecx
mov dword [ebp - 0x22c], ecx
lea ecx, [ebp - 0x238]
push ecx
push fcn.00442b54
push esi
push eax
mov byte [eax + 0x91], 1
call fcn.0043f5f7
add esp, 0x14
mov edx, esi
mov esi, dword [ebp - 0xdc]
test eax, eax
mov ecx, esi
cmove eax, dword [ebp - 0x22c]
mov dword [ebp - 0xd8], eax
call fcn.0040b6e5
mov eax, dword [ebp - 0xd8]
mov byte [esi + 0x91], 0
test eax, eax
je 0x428de6
mov ecx, esi
call fcn.00434ee0
mov eax, dword [ebp - 0xd8]
cmp eax, 7
je 0x42a145
jmp 0x425650
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.00433d0b
jmp 0x427823
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.0043509a
jmp 0x425a52
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.00434d85
jmp 0x425a52
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.00449f5b
jmp 0x425a52
mov eax, dword [ebx + 8]
mov ecx, esi
mov dword [ebp - 0x11c], eax
push 0
lea eax, [eax*4 + 4]
push eax
call fcn.0040b8eb
mov edx, eax
mov dword [ebp - 0xfc], edx
pop ecx
pop ecx
test edx, edx
je 0x42a145
imul edi, dword [ebx + 0xc], 0x28
xor eax, eax
imul esi, dword [ebx + 4], 0x28
add edi, dword [ebp - 0xec]
add esi, dword [ebp - 0xec]
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x114], esi
cmp dword [ebp - 0x11c], eax
jle 0x428ecf
mov edi, dword [ebp - 0x11c]
mov ebx, esi
mov esi, eax
mov ecx, ebx
call fcn.00420004
mov edx, dword [ebp - 0xfc]
add ebx, 0x28
mov dword [edx + esi*4], eax
inc esi
cmp esi, edi
jl 0x428e99
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x128]
mov dword [ebp - 0x10c], esi
mov esi, dword [ebp - 0x114]
mov eax, dword [ebp - 0x10c]
and dword [edx + eax*4], 0
lea eax, [ebp - 0x1b8]
mov ecx, dword [ebp - 0xdc]
push eax
movzx eax, byte [ebx + 3]
push dword [edi]
mov ecx, dword [ecx + 0x10]
add eax, eax
push dword [ebp - 0x11c]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0041ed66
mov edx, dword [ebp - 0xfc]
add esp, 0xc
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x114], eax
call fcn.0040b6e5
mov eax, dword [ebp - 0x1b8]
mov ecx, esi
cdq
sub dword [edi], eax
sbb dword [edi + 4], edx
call fcn.0042028a
cmp dword [ebp - 0x1b8], 0
je 0x428f53
mov eax, dword [ebp - 0x114]
test eax, eax
je 0x42a139
push fcn.0040b681
push 1
push 0xffffffffffffffff
mov edx, eax
mov ecx, esi
call fcn.0042049b
add esp, 0xc
movzx edx, byte [ebp - 0x124]
mov ecx, esi
call fcn.0041fbfa
jmp 0x4258ea
imul esi, dword [ebx + 4], 0x28
imul edi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0xec]
add edi, dword [ebp - 0xec]
test byte [esi + 8], 0x20
jne 0x428f91
mov ecx, esi
call fcn.00420325
test byte [esi + 8], 0x20
je 0x42a139
push dword [edi + 4]
mov ecx, dword [esi]
push dword [edi]
call fcn.00412000
pop ecx
pop ecx
jmp 0x4258ea
imul esi, dword [ebx + 4], 0x28
mov edi, dword [ebp - 0xec]
add esi, edi
test byte [esi + 8], 0x20
je 0x428fe5
mov ecx, dword [esi]
lea edx, [ebp - 0x248]
call fcn.00412234
test eax, eax
je 0x428fe5
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0x244]
push dword [ebp - 0x248]
add ecx, edi
call fcn.004202f2
pop ecx
pop ecx
jmp 0x4288a1
mov ecx, esi
call fcn.0042028a
jmp 0x429b03
imul esi, dword [ebx + 4], 0x28
imul edi, dword [ebx + 0xc], 0x28
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xfc], eax
add esi, dword [ebp - 0xec]
add edi, dword [ebp - 0xec]
test byte [esi + 8], 0x20
jne 0x42902b
mov ecx, esi
call fcn.00420325
test byte [esi + 8], 0x20
je 0x42a139
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x428f91
push dword [edi + 4]
mov ecx, dword [esi]
mov edx, eax
push dword [edi]
call fcn.0041228c
pop ecx
pop ecx
test eax, eax
jne 0x428040
cmp dword [ebp - 0xfc], eax
jl 0x4258ea
jmp 0x428f91
imul edi, dword [ebx + 0xc], 0x28
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x10c], edx
add edi, dword [ebp - 0xec]
cmp byte [ebx + 3], 0
je 0x429096
mov eax, dword [ebp - 0xe8]
mov ecx, dword [edx + 0x14]
mov eax, dword [eax + 0xb0]
jmp 0x429092
cmp dword [eax + 0x1c], ecx
je 0x427308
mov eax, dword [eax + 4]
test eax, eax
jne 0x429086
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xb8]
cmp eax, dword [esi + 0x80]
jge 0x42a0cd
test byte [edi + 8], 0x40
jne 0x4291a5
mov eax, dword [edx + 8]
add eax, dword [edx + 0xc]
mov dword [ebp - 0xfc], eax
add eax, 2
imul ecx, eax, 0xa
mov eax, dword [edx + 0x10]
add ecx, dword [edx + 0xc]
lea eax, [eax + ecx*4]
mov ecx, esi
cdq
push edx
push eax
call fcn.0040b8bf
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42a139
mov ecx, edi
call fcn.0041ffbf
mov ecx, dword [ebp - 0xfc]
sub ebx, dword [ebp - 0x120]
mov dword [edi], esi
push 0x40
pop eax
mov word [edi + 8], ax
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xe8]
mov dword [esi], eax
mov dword [esi + 0x3c], ecx
mov eax, dword [edi + 0xc]
mov dword [esi + 0x40], eax
mov eax, ebx
cdq
push 0x14
pop ebx
idiv ebx
mov ebx, dword [ebp - 0xe8]
mov dword [esi + 0x2c], eax
mov eax, dword [ebx + 8]
mov dword [esi + 0x10], eax
mov eax, dword [ebx + 0x1c]
mov dword [esi + 0x34], eax
mov eax, dword [ebx + 0x38]
mov dword [esi + 0x18], eax
mov eax, dword [ebx + 0x24]
mov dword [esi + 0x28], eax
mov eax, dword [ebx + 4]
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 0x1c], eax
mov eax, dword [ebx + 0xc8]
mov dword [esi + 0x14], eax
mov eax, dword [ebx + 0xc4]
mov dword [esi + 0x38], eax
lea eax, [ecx + 2]
imul ecx, eax, 0x28
lea eax, [esi + 0x50]
add ecx, esi
cmp eax, ecx
je 0x42919d
mov edx, dword [ebp - 0xdc]
mov ebx, 0x80
mov word [eax + 8], bx
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x429183
mov edi, dword [ebp - 0x10c]
mov ebx, dword [ebp - 0xe8]
mov eax, dword [ebx + 0xb8]
jmp 0x4291b3
mov esi, dword [edi]
mov edi, dword [ebp - 0x10c]
mov ebx, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe4]
inc eax
mov edx, dword [ebp - 0xe0]
mov dword [ebx + 0xb8], eax
mov eax, dword [ebx + 0xb0]
mov dword [esi + 4], eax
mov dword [esi + 0x20], ecx
lea ecx, [esi + 0x28]
mov dword [esi + 0x24], edx
mov eax, dword [ebx + 0x5c]
mov dword [esi + 0x44], eax
mov eax, dword [ebx]
mov dword [ebp - 0xec], ecx
mov eax, dword [eax + 0x50]
mov dword [esi + 0x48], eax
and dword [ebx + 0x5c], 0
mov dword [ebx + 8], ecx
mov dword [ebx + 0xb0], esi
mov eax, dword [esi + 0x3c]
mov dword [ebx + 0x1c], eax
inc eax
movzx edx, word [esi + 0x40]
imul eax, eax, 0x28
mov dword [ebx + 0x24], edx
add ecx, eax
mov dword [ebx + 0x38], ecx
mov esi, dword [edi]
mov dword [ebx + 4], esi
mov eax, dword [edi + 4]
lea ecx, [ecx + edx*4]
mov dword [ebx + 0x20], eax
mov dword [ebx + 0xc8], ecx
lea ebx, [esi - 0x14]
mov eax, dword [edi + 0x10]
mov edi, dword [ebp - 0xe8]
push eax
push 0
push ecx
mov dword [ebp - 0x120], esi
mov dword [edi + 0xc4], eax
call fcn.00479330
add esp, 0xc
jmp 0x425644
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov esi, dword [edi + 0xb0]
mov ecx, 0x1000
push ecx
imul edx, dword [esi + 0x2c], 0x14
mov ecx, dword [esi + 8]
mov ecx, dword [edx + ecx + 4]
add ecx, dword [ebx + 4]
imul edx, ecx, 0x28
add edx, dword [esi + 0x10]
jmp 0x42596c
test dword [esi + 0x18], 0x1000000
mov eax, dword [ebx + 8]
cdq
je 0x429298
add dword [esi + 0x200], eax
adc dword [esi + 0x204], edx
jmp case.default.0x425570
cmp dword [ebx + 4], 0
mov ecx, dword [ebp - 0xe4]
je 0x4292b5
add dword [esi + 0x1f8], eax
adc dword [esi + 0x1fc], edx
jmp 0x425884
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
jmp 0x425884
cmp dword [ebx + 4], 0
je 0x4292ef
mov eax, dword [esi + 0x1f8]
or eax, dword [esi + 0x1fc]
jne case.default.0x425570
mov eax, dword [esi + 0x200]
or eax, dword [esi + 0x204]
jmp 0x42696c
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jmp 0x4292d8
mov eax, dword [edi + 0xb0]
test eax, eax
jne 0x42934c
imul edi, dword [ebx + 4], 0x28
add edi, dword [ebp - 0xec]
mov ecx, edi
call fcn.00420104
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0xec]
mov ecx, esi
call fcn.00420104
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x4258ea
jl 0x428740
cmp dword [edi], eax
jae 0x4258ea
jmp 0x428740
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x42934a
imul edi, dword [ebx + 4], 0x28
add edi, dword [eax + 0x10]
jmp 0x429311
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [ebp - 0xec]
cmp dword [eax + ecx + 4], edx
jg 0x428046
jl case.default.0x425570
cmp dword [eax + ecx], edx
ja 0x428046
jmp case.default.0x425570
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
cdq
add ecx, dword [ebp - 0xec]
add dword [ecx], eax
adc dword [ecx + 4], edx
xor edx, edx
cmp dword [ecx + 4], edx
jl 0x428046
jg case.default.0x425570
cmp dword [ecx], edx
jb 0x428046
jmp case.default.0x425570
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xec]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je case.default.0x425570
mov eax, dword [ebx + 0xc]
cdq
add dword [ecx], eax
adc edx, dword [ecx + 4]
mov dword [ecx + 4], edx
jmp 0x428046
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xec]
add dword [eax], 0xffffffff
mov ecx, dword [eax]
adc dword [eax + 4], 0xffffffff
or ecx, dword [eax + 4]
jmp 0x42696c
imul edx, dword [ebx + 4], 0x28
add edx, dword [ebp - 0xec]
mov edi, dword [edx]
mov ecx, edi
mov esi, dword [edx + 4]
add ecx, 1
mov eax, esi
mov dword [edx], ecx
adc eax, 0
mov dword [edx + 4], eax
jmp 0x427c37
imul eax, dword [ebx + 8], 0x28
xor ecx, ecx
movzx esi, byte [ebx + 3]
mov edx, dword [ebp - 0xec]
mov edi, dword [edi + 0xc]
add eax, edx
test esi, esi
je 0x42943f
mov dword [edi + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, esi
jl 0x429434
mov eax, dword [ebx + 0x10]
lea ecx, [ebp - 0x330]
mov dword [ebp - 0x224], eax
imul eax, dword [ebx + 0xc], 0x28
push 1
add eax, edx
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x220], eax
inc dword [eax + 0xc]
call fcn.00420276
lea eax, [ebp - 0x330]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x21c], eax
mov eax, ebx
sub eax, dword [ebp - 0x120]
cdq
idiv dword [ebp - 0x1c4]
pop ecx
mov dword [ebp - 0x218], eax
xor ecx, ecx
push edi
lea eax, [ebp - 0x228]
mov dword [ebp - 0x214], ecx
push esi
push eax
mov eax, dword [ebp - 0x224]
mov byte [ebp - 0x210], cl
call dword [eax + 0x10]
add esp, 0xc
cmp dword [ebp - 0x214], 0
je 0x4294fe
lea eax, [ebp - 0x330]
push eax
call fcn.00423d74
mov edi, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xdc]
pop ecx
push eax
push 0x4b5bdc
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0040baca
mov eax, dword [ebp - 0x214]
add esp, 0x10
mov dword [ebp - 0xd8], eax
jmp 0x42950a
mov edi, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xdc]
cmp byte [ebp - 0x210], 0
je 0x42952e
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x42952e
imul ecx, eax, 0x28
push 0
push 1
add ecx, dword [ebp - 0xec]
call fcn.004202f2
pop ecx
pop ecx
lea ecx, [ebp - 0x330]
call fcn.0041ffbf
jmp case.default.0x425570
imul esi, dword [ebx + 4], 0x28
mov edx, dword [ebx + 0x10]
add esi, dword [ebp - 0xec]
mov ecx, esi
call fcn.0041febf
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x42957b
push esi
call fcn.00423d74
pop ecx
push eax
push 0x4b5bdc
push dword [ebp - 0xdc]
lea eax, [edi + 0x2c]
push eax
call fcn.0040baca
add esp, 0x10
movzx edx, byte [ebp - 0x124]
mov ecx, esi
call fcn.0041fbfa
mov ecx, esi
jmp 0x426198
mov edx, dword [ebx + 4]
lea eax, [ebp - 0xcc]
and dword [ebp - 0xd4], 0
mov ecx, esi
or dword [ebp - 0xcc], 0xffffffff
or dword [ebp - 0xd0], 0xffffffff
push eax
lea eax, [ebp - 0xd0]
push eax
push dword [ebx + 8]
call fcn.00457a0d
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp eax, 5
jne 0x4295df
and dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 1
imul esi, dword [ebx + 0xc], 0x28
add esi, dword [ebp - 0xec]
xor edi, edi
mov eax, dword [ebp + edi*4 - 0xd4]
mov ecx, esi
cdq
push edx
push eax
call fcn.004202f2
inc edi
add esi, 0x28
pop ecx
pop ecx
cmp edi, 3
jl 0x4295eb
jmp 0x4258ea
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0xfc], eax
call fcn.0041e442
mov ecx, eax
mov dword [ebp - 0x104], eax
call fcn.00415cca
mov ecx, dword [ebp - 0x104]
mov edi, eax
cmp esi, 0xffffffff
cmove esi, edi
call fcn.00415ccf
mov ecx, dword [ebp - 0x104]
test eax, eax
cmove esi, edi
xor edx, edx
inc edx
call fcn.00415ab2
cmp esi, 5
jne 0x429693
mov ecx, eax
call fcn.0040d6b7
test eax, eax
je 0x429711
mov ecx, dword [ebp - 0x104]
call fcn.00415cf1
test eax, eax
je 0x429711
cmp esi, edi
je 0x429713
cmp edi, 5
je 0x4296a1
cmp esi, 5
jne 0x429713
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x3f], 0
je 0x42a0f1
cmp dword [eax + 0x98], 1
jg 0x42a0f1
cmp edi, 5
jne 0x4296dc
mov ecx, dword [ebp - 0x104]
call fcn.00415dc1
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x429711
mov edx, esi
jmp 0x4296e8
push 4
pop eax
cmp edi, eax
jne 0x4296f3
push 2
pop eax
mov edx, eax
mov ecx, dword [ebp - 0x104]
call fcn.00415bfd
mov ecx, dword [ebp - 0xfc]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.0041f19e
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x429713
mov esi, edi
mov ecx, dword [ebp - 0x104]
mov edx, esi
call fcn.00415bfd
mov esi, dword [ebp - 0x114]
mov ecx, 0xa02
mov word [esi + 8], cx
mov ecx, eax
call fcn.0044006b
mov ecx, eax
mov dword [esi + 0x10], eax
call fcn.0040d6b7
mov dword [esi + 0xc], eax
mov byte [esi + 0xa], 1
jmp 0x428f53
lea ecx, [edi + 0x2c]
mov edx, esi
call fcn.0044b87d
jmp 0x427823
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0041a01f
mov dword [ebp - 0xd8], eax
cmp eax, 0x65
jne 0x425650
and dword [ebp - 0xd8], 0
jmp 0x428046
cmp dword [ebx + 4], 0
jne 0x429799
mov ecx, esi
call fcn.00423b1a
jmp case.default.0x425570
push 8
pop eax
or dword [edi + 0x58], eax
jmp case.default.0x425570
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x1c8], al
test al, al
jne 0x4297bf
mov eax, 0x4000
test dword [esi + 0x18], eax
jne case.default.0x425570
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x10]
add eax, eax
push dword [ebp - 0x1c8]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0041f0b2
mov dword [ebp - 0xd8], eax
pop ecx
cmp al, 6
jne 0x425650
push dword [ebx + 0x10]
lea eax, [edi + 0x2c]
push str.database_table_is_locked:__s
push esi
push eax
call fcn.0040baca
add esp, 0x10
jmp case.default.0x425570
mov esi, dword [ebx + 0x10]
mov edx, esi
mov ecx, dword [ebp - 0xdc]
call fcn.0044c718
mov dword [ebp - 0xd8], eax
test esi, esi
je 0x42564a
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.00423b90
jmp 0x425644
imul edx, dword [ebx + 8], 0x28
lea edi, [ebp - 0x308]
push 0xa
pop ecx
xor eax, eax
rep stosd dword es:[edi], eax
add edx, dword [ebp - 0xec]
lea ecx, [ebp - 0x308]
mov dword [ebp - 0x2e8], esi
call fcn.00420408
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0x308]
push eax
call fcn.00423d74
mov edi, dword [ebp - 0xe8]
pop ecx
test eax, eax
je 0x42988b
mov edx, dword [ebx + 4]
lea ecx, [edi + 0x2c]
push ecx
push eax
mov ecx, esi
call fcn.0044c41a
pop ecx
pop ecx
mov dword [ebp - 0xd8], eax
lea ecx, [ebp - 0x308]
jmp 0x429534
inc dword [esi + 0xa4]
mov ecx, esi
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.0044c638
dec dword [esi + 0xa4]
pop ecx
mov dword [ebp - 0xd8], eax
jmp 0x425650
mov eax, dword [ebx + 0x10]
and dword [ebp - 0x180], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x42a201
mov edi, dword [esi]
test edi, edi
je 0x42a1fb
lea eax, [ebp - 0x180]
push eax
push esi
call dword [edi + 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xe8]
mov edx, esi
mov dword [ebp - 0xd8], eax
call fcn.00423b90
mov eax, dword [ebp - 0xd8]
test eax, eax
jne 0x428661
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xe8]
mov dword [eax], esi
xor eax, eax
mov edx, dword [ebx + 4]
push eax
push 0xffffffffffffffff
push eax
call fcn.004251d8
add esp, 0xc
test eax, eax
je 0x42a12f
mov ecx, dword [ebp - 0x180]
mov dword [eax + 0x24], ecx
inc dword [esi + 4]
jmp 0x4258ea
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
imul edx, dword [ebx + 0xc], 0x28
mov edi, dword [edi + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x128], eax
add edx, dword [ebp - 0xec]
mov esi, dword [eax + 0x24]
mov ecx, dword [edx + 0x28]
mov eax, dword [esi]
mov dword [ebp - 0x10c], eax
mov eax, dword [eax]
mov dword [ebp - 0x114], eax
mov eax, dword [edx]
mov dword [ebp - 0xfc], eax
xor eax, eax
mov dword [ebp - 0x11c], eax
test ecx, ecx
jle 0x429994
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x429989
push edi
mov edi, dword [ebp - 0x114]
push ecx
push dword [ebx + 0x10]
push dword [ebp - 0xfc]
push esi
call dword [edi + 0x20]
mov edx, dword [ebp - 0x10c]
add esp, 0x14
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xd8], eax
call fcn.00423b90
cmp dword [ebp - 0xd8], 0
jne 0x4299d3
push esi
call dword [edi + 0x28]
pop ecx
jmp 0x4299d9
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x128]
test eax, eax
mov byte [ecx + 0x19], 0
jmp 0x4264c0
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
imul edi, dword [ebx + 0xc], 0x28
mov edx, dword [eax + ecx*4]
add edi, dword [ebp - 0xec]
cmp byte [edx + 0x19], 0
je 0x429a0f
mov ecx, edi
call fcn.0042028a
jmp 0x427308
mov eax, dword [edx + 0x24]
xorps xmm0, xmm0
mov esi, dword [eax]
mov ecx, dword [esi]
movlpd qword [ebp - 0x29c], xmm0
movlpd qword [ebp - 0x294], xmm0
movlpd qword [ebp - 0x28c], xmm0
mov dword [ebp - 0x2a0], edi
mov ax, word [edi + 8]
and ax, word [ebp - 0x1cc]
or ax, word [ebp - 0x1d0]
mov word [edi + 8], ax
lea eax, [ebp - 0x2a0]
push dword [ebx + 8]
push eax
push dword [edx + 0x24]
call dword [ecx + 0x2c]
mov ecx, dword [ebp - 0xe8]
add esp, 0xc
mov edx, esi
mov dword [ebp - 0xd8], eax
call fcn.00423b90
cmp dword [ebp - 0x28c], 0
mov ecx, edi
mov eax, dword [ebp - 0xd8]
cmovne eax, dword [ebp - 0x28c]
movzx edx, byte [ebp - 0x124]
mov dword [ebp - 0xd8], eax
call fcn.0041fbfa
mov ecx, edi
call fcn.00420394
mov edi, dword [ebp - 0xe8]
jmp 0x42619d
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x427308
mov eax, dword [edi + 0x24]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0xfc], ecx
call dword [ecx + 0x24]
pop ecx
mov ecx, dword [ebp - 0xe8]
mov edx, esi
mov dword [ebp - 0xd8], eax
call fcn.00423b90
cmp dword [ebp - 0xd8], 0
jne 0x429b03
mov eax, dword [ebp - 0xfc]
push dword [edi + 0x24]
call dword [eax + 0x28]
pop ecx
test eax, eax
jne 0x4288a1
mov esi, dword [ebp - 0xdc]
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x120]
add ebx, 0xffffffec
add ebx, eax
jmp 0x4288a7
imul esi, dword [ebx + 4], 0x28
xor edx, edx
mov eax, dword [ebx + 0x10]
inc edx
add esi, dword [ebp - 0xec]
mov edi, dword [eax + 8]
mov ecx, esi
call fcn.0041fbfa
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x428661
push dword [esi + 0x10]
mov eax, dword [edi]
push edi
call dword [eax + 0x4c]
pop ecx
pop ecx
mov edx, edi
mov dword [ebp - 0xd8], eax
mov edi, dword [ebp - 0xe8]
mov ecx, edi
call fcn.00423b90
and dword [edi + 0x58], 0xfffffff7
jmp 0x425644
mov eax, dword [ebx + 0x10]
mov edi, dword [eax + 8]
mov dword [ebp - 0x114], edi
test edi, edi
je 0x42a215
mov edx, dword [edi]
test edx, edx
je 0x42a215
mov esi, dword [ebx + 8]
xor ecx, ecx
cmp dword [edx + 0x34], ecx
je 0x4258ea
mov eax, dword [ebp - 0xdc]
mov al, byte [eax + 0x45]
mov byte [ebp - 0xf1], al
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xfc], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xec]
test esi, esi
jle 0x429bdd
mov edi, dword [ebp - 0xfc]
mov dword [edi + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, esi
jl 0x429bcc
mov edi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0xdc]
mov al, byte [ebx + 3]
mov byte [ecx + 0x45], al
lea eax, [ebp - 0x240]
push eax
push dword [ebp - 0xfc]
push esi
push edi
call dword [edx + 0x34]
mov esi, dword [ebp - 0xdc]
add esp, 0x10
mov dword [ebp - 0xd8], eax
mov edx, edi
mov al, byte [ebp - 0xf1]
mov edi, dword [ebp - 0xe8]
mov ecx, edi
mov byte [esi + 0x45], al
call fcn.00423b90
mov eax, dword [ebp - 0xd8]
test eax, eax
jne 0x429c5a
cmp dword [ebx + 4], eax
je 0x4284d6
mov ecx, dword [ebp - 0x240]
mov edx, dword [ebp - 0x23c]
mov dword [ebp - 0xe4], ecx
mov dword [esi + 0x20], ecx
mov ecx, edx
mov dword [ebp - 0xe0], edx
mov dword [esi + 0x24], ecx
jmp 0x4284d6
mov edx, dword [ebp - 0x10c]
mov esi, dword [ebp - 0x11c]
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xe0], esi
cmp al, 0x13
jne 0x429cd5
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xe0], esi
cmp byte [eax + 0x10], 0
je 0x429ccf
mov cl, byte [ebx + 3]
push 4
pop eax
cmp cl, al
jne 0x429c9f
xor eax, eax
mov dword [ebp - 0xd8], eax
jmp 0x429cb4
movzx eax, cl
cmp cl, 5
push 2
pop ecx
cmove eax, ecx
mov byte [edi + 0x56], al
mov eax, dword [ebp - 0xd8]
mov ecx, edx
mov edx, esi
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xe0], edx
jmp 0x42565c
mov eax, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xdc]
jmp 0x4284d6
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov edx, dword [ebx + 4]
mov esi, eax
mov eax, dword [ebp - 0xdc]
add edx, edx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
call fcn.00418d0e
and dword [esi + 4], 0
jmp 0x425642
mov edx, ebx
mov ecx, edi
call fcn.004253fc
mov edx, dword [ebx + 4]
mov edi, eax
mov ecx, dword [esi + 0x10]
add edx, edx
mov esi, dword [ecx + edx*8 + 4]
xor ecx, ecx
mov eax, ecx
cmp dword [ebx + 0xc], ecx
je 0x429d39
mov ecx, esi
call fcn.00418d0e
cmp eax, dword [ebx + 0xc]
cmovb eax, dword [ebx + 0xc]
mov edx, eax
mov ecx, esi
call fcn.0041959b
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x4258ea
xor edx, edx
cmp dword [esi + 0xb0], edx
je 0x429da1
mov eax, 0x200
test dword [edi + 0x58], eax
jne 0x429da1
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x429d72
mov edx, dword [edi + 0xa8]
test edx, edx
je 0x429d9f
mov ecx, edi
call fcn.00424ee8
mov esi, eax
mov eax, dword [ebp - 0xdc]
push esi
push dword [eax + 0xb4]
call dword [eax + 0xb0]
pop ecx
pop ecx
mov edx, esi
mov esi, dword [ebp - 0xdc]
mov ecx, esi
call fcn.0040b6e5
xor edx, edx
cmp dword [ebx + 8], edx
je case.default.0x425570
jmp 0x428046
mov edi, dword [ebp - 0xe8]
jmp 0x425650
mov edi, dword [ebp - 0xe8]
mov esi, ecx
mov eax, dword [ebp - 0xd8]
jmp 0x425650
mov dword [edi + 0x50], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x56], al
mov dword [edi + 0x4c], esi
test ecx, ecx
je 0x429e5b
mov al, byte [ebx + 3]
test al, al
je 0x429e17
movzx eax, al
mov eax, dword [eax*4 + 0x4b239c]
mov ecx, eax
test eax, eax
je 0x429e19
cmp dword [ebx + 0x10], 0
je 0x429e19
push dword [ebx + 0x10]
push eax
push str._s_constraint_failed:__s
push dword [ebp - 0xdc]
lea eax, [edi + 0x2c]
push eax
call fcn.0040baca
add esp, 0x14
jmp 0x429e41
xor ecx, ecx
cmp dword [ebx + 0x10], 0
lea eax, [edi + 0x2c]
je 0x429e2c
push dword [ebx + 0x10]
push 0x4b5bdc
jmp 0x429e32
push ecx
push str._s_constraint_failed
push dword [ebp - 0xdc]
push eax
call fcn.0040baca
add esp, 0x10
push dword [edi + 0x2c]
push dword [edi + 0xa8]
push esi
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.0040ce71
add esp, 0x14
mov ecx, edi
call fcn.004224a3
push 5
pop ecx
cmp eax, ecx
je 0x429fbb
cmp dword [edi + 0x50], 0
push 0x65
pop esi
push 1
pop eax
cmovne esi, eax
jmp 0x42a1c2
mov eax, dword [edi + 0x48]
push 2
pop ecx
add eax, ecx
or eax, 1
mov dword [edi + 0x48], eax
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xec]
mov dword [edi + 0x14], esi
cmp dword [ebx + 8], 0
jle 0x429eea
mov eax, 0x1000
test word [esi + 8], ax
je 0x429eba
mov ecx, esi
call fcn.0041fd05
test eax, eax
jne 0x42a13f
mov ax, word [esi + 8]
mov ecx, 0x202
and ax, cx
push 2
pop ecx
cmp ax, cx
jne 0x429ed5
mov ecx, esi
call fcn.0041fdcf
mov eax, dword [ebp - 0x1bc]
add esi, 0x28
inc eax
mov dword [ebp - 0x1bc], eax
cmp eax, dword [ebx + 8]
jl 0x429ea0
mov esi, dword [ebp - 0xdc]
cmp byte [esi + 0x41], 0
jne 0x42a145
sub ebx, dword [ebp - 0x120]
push 0x14
mov eax, ebx
pop ecx
cdq
idiv ecx
push 0x64
inc eax
mov dword [edi + 0x4c], eax
pop esi
jmp 0x42a1c2
push 0x4b9b1c
push 0x11e09
push str.database_corruption_at_line__d_of___.10s_
push 0xb
pop eax
push eax
mov dword [ebp - 0xd8], eax
call fcn.0040ce71
mov edi, dword [ebp - 0xe8]
add esp, 0x10
mov esi, dword [ebp - 0xdc]
add ebx, 0x14
push 0xb
pop eax
jmp 0x42a164
push 0x4b9b1c
push 0x11e5d
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0040ce71
mov edi, dword [ebp - 0xe8]
add esp, 0x10
push 0xb
mov esi, dword [ebp - 0xdc]
add ebx, 0x14
jmp 0x42a15d
push str.cannot_open_savepoint___SQL_statements_in_progress
mov edi, dword [ebp - 0xe8]
push esi
lea eax, [edi + 0x2c]
push eax
call fcn.0040baca
add esp, 0xc
add ebx, 0x14
push 5
jmp 0x42a15d
push str.cannot_release_savepoint___SQL_statements_in_progress
mov esi, ecx
jmp 0x429f80
sub ebx, dword [ebp - 0x120]
mov eax, ebx
push 0x14
cdq
pop ebx
idiv ebx
mov dword [edi + 0x4c], eax
mov byte [esi + 0x3f], 0
mov esi, ecx
mov dword [edi + 0x50], ecx
jmp 0x42a1c2
test edx, edx
je 0x429fe5
mov edx, 0x204
mov ecx, esi
call fcn.004571c7
mov byte [esi + 0x3f], 1
mov ecx, esi
call fcn.00456e14
jmp 0x429e6d
xor edx, edx
mov ecx, edi
inc edx
call fcn.00422440
mov esi, eax
test esi, esi
jne 0x42a1c2
mov esi, dword [ebp - 0xdc]
mov ecx, edi
mov eax, dword [ebp - 0xfc]
mov byte [esi + 0x3f], al
call fcn.004224a3
push 5
pop ecx
cmp eax, ecx
jne 0x429fd9
sub ebx, dword [ebp - 0x120]
mov eax, ebx
cdq
push 0x14
pop ebx
idiv ebx
mov dword [edi + 0x4c], eax
xor eax, eax
inc eax
sub al, byte [ebp - 0xfc]
mov byte [esi + 0x3f], al
jmp 0x429fbb
push 8
pop eax
jmp 0x4263aa
sub ebx, dword [ebp - 0x120]
mov eax, ebx
push 0x14
cdq
pop ebx
idiv ebx
mov dword [edi + 0x4c], eax
jmp 0x429fbb
push 0x4b9b1c
push 0x121b6
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0040ce71
add esp, 0x10
push 0xb
pop eax
mov edi, dword [ebp - 0xe8]
jmp 0x4263a4
mov eax, 0x204
jmp 0x427365
mov edi, dword [ebp - 0xe8]
jmp 0x4263aa
cmp eax, 0xc0a
je 0x42a164
mov ecx, eax
call fcn.004572c5
push eax
push 0x4b5bdc
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0040baca
add esp, 0x10
mov eax, dword [ebp - 0xd8]
jmp 0x42a164
push 6
pop eax
push 2
pop ecx
mov byte [edi + 0x56], cl
jmp 0x427365
mov edi, dword [ebp - 0xe8]
push str.too_many_levels_of_trigger_recursion
push esi
mov dword [ebp - 0xd8], 1
lea eax, [edi + 0x2c]
push eax
call fcn.0040baca
add esp, 0xc
jmp 0x42a12a
mov edi, dword [ebp - 0xe8]
cmp esi, 5
mov esi, dword [ebp - 0xdc]
mov ecx, str.out_of
mov eax, str.into
mov dword [ebp - 0xd8], 1
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
lea eax, [edi + 0x2c]
push esi
push eax
call fcn.0040baca
add esp, 0x10
add ebx, 0x14
jmp 0x42a0b4
push dword [ebp - 0x180]
call dword [edi + 0x1c]
pop ecx
mov edi, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xdc]
push str.out_of_memory
lea eax, [edi + 0x2c]
mov byte [esi + 0x41], 1
push esi
push eax
call fcn.0040baca
add esp, 0xc
push 7
pop eax
mov dword [ebp - 0xd8], eax
push dword [edi + 0x2c]
sub ebx, dword [ebp - 0x120]
push dword [edi + 0xa8]
mov dword [edi + 0x50], eax
mov eax, ebx
push 0x14
pop ecx
cdq
idiv ecx
mov ebx, dword [ebp - 0xd8]
push eax
push str.statement_aborts_at__d:___s___s
push ebx
call fcn.0040ce71
add esp, 0x14
mov ecx, edi
call fcn.004224a3
cmp ebx, 0xc0a
jne 0x42a1a6
mov byte [esi + 0x41], 1
mov al, byte [ebp - 0x12d]
xor esi, esi
inc esi
test al, al
je 0x42a1c2
mov ecx, dword [ebp - 0xdc]
movzx edx, al
dec edx
call fcn.00434eb3
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xe0]
mov dword [eax + 0x20], ecx
mov ecx, edi
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x150]
add dword [edi + 0x7c], eax
call fcn.004214b3
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045ae81
leave
ret
mov edi, dword [ebp - 0xe8]
push 6
jmp 0x429f6d
mov edi, dword [ebp - 0xe8]
mov esi, eax
jmp 0x4285bd
mov edi, dword [ebp - 0xe8]
add ebx, 0x14
push 6
jmp 0x42a15d
mov edi, dword [ebp - 0xe8]
push 9
pop eax
mov dword [ebp - 0xd8], eax
mov dword [edi + 0x50], eax
jmp 0x42a09a
mov edi, dword [ebp - 0xe8]
mov esi, eax
jmp 0x42a145