Function at 0x42f050
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x278
push esi
push edi
mov edi, ecx
mov dword [esp + 0x24], 0
mov dword [esp + 0x1c], edi
mov byte [esp + 0x6b], 0
mov dword [esp + 0x88], 0
mov esi, dword [edi]
mov eax, dword [edi + 0x58]
mov dword [esp + 0x58], eax
mov dword [esp + 0x14], eax
mov al, byte [esi + 0x42]
mov byte [esp + 0x60], al
mov eax, dword [edi + 0x5c]
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], eax
call fcn.00428570
cmp dword [edi + 0x28], 7
je 0x434956
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x68], 0
cmp dword [esi + 0xf8], 0
mov dword [esi + 0x184], 0
jne 0x435792
cmp dword [esi + 0x130], 0
je 0x42f102
mov ecx, dword [esi + 0x138]
xor edx, edx
mov eax, dword [edi + 0xb0]
div ecx
sub ecx, edx
mov dword [esp + 0xa4], ecx
jmp 0x42f10d
mov dword [esp + 0xa4], 0xffffffff
mov eax, dword [edi + 0x24]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x110], 0xff61
mov dword [esp + 0x90], 0x3e00
lea eax, [eax + eax*4]
mov dword [esp + 0x11c], 0x17
lea ecx, [ecx + eax*4]
xor eax, eax
inc eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], eax
mov al, byte [ecx]
movzx edx, al
mov byte [esp + 0x3b], al
mov dword [esp + 0x2c], edx
cmp edx, 0xa4
ja case.0x42f15f.74
jmp dword [edx*4 + 0x435948]
mov edx, dword [esp + 0x14]
mov ecx, edx
mov edi, dword [esp + 0x28]
sub ecx, dword [esp + 0x58]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, 4
mov word [edi + esi*8 + 8], ax
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0x58]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [edi + esi*8], eax
mov dword [edi + esi*8 + 4], edx
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42f2a0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x58]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*4]
mov dword [esp + 0x14], eax
mov eax, 0x80
mov word [edx + ecx*8 + 8], ax
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [edi + ecx*8], eax
mov eax, edi
mov edi, dword [esp + 0x1c]
mov dword [eax + ecx*8 + 4], edx
mov edx, 4
mov word [eax + ecx*8 + 8], dx
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 8], 0
jne 0x4321ef
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x58]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [esi + eax*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42f1cb
mov edx, dword [esp + 0x14]
mov ecx, 4
mov edi, dword [esp + 0x28]
mov eax, dword [edx + 4]
sub edx, dword [esp + 0x58]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x28]
mov word [eax + esi*8 + 8], cx
mov ecx, dword [eax + esi*8]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [edi + esi*8], eax
mov eax, edi
mov dword [eax + esi*8 + 4], edx
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x58]
lea esi, [ecx + eax*4]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x42f2af
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x58]
imul ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [esp + 0x14]
cmp dword [edx + 4], 0
jne 0x4352d2
mov ecx, dword [edi + 0xc4]
test ecx, ecx
je 0x4352d2
mov eax, dword [ecx + 4]
mov esi, dword [esp + 0x18]
dec dword [edi + 0xcc]
mov dword [edi + 0xc4], eax
mov eax, dword [edi + 0x2c]
add dword [esi + 0x5c], eax
mov dword [esi + 0x58], eax
call fcn.00428ff0
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 8], 4
jne 0x42f33f
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov edx, dword [edi + 0x58]
lea eax, [eax + eax*4]
mov ecx, dword [edi + 0x5c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x58], edx
lea ecx, [edx + eax*4]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x42f39e
call fcn.0042f010
mov ecx, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x42f13d
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edx, [eax + ecx*8]
mov eax, 0x2460
test word [edx + 8], ax
je 0x42f3ea
mov ecx, edx
call fcn.0042f010
mov edx, eax
jmp 0x42f3f3
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x14]
mov dword [edx + 4], eax
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x42f438
call fcn.0042f010
mov ecx, eax
jmp 0x42f441
mov eax, 4
mov word [ecx + 8], ax
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [esp + 0x20]
movsd qword [ecx], xmm0
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x42f48f
mov ecx, esi
call fcn.0042f010
mov esi, eax
jmp 0x42f498
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x10]
mov ecx, edi
mov byte [eax], 0x3a
call fcn.0040cc20
cmp byte [esp + 0x60], 1
mov edx, dword [esp + 0x14]
mov dword [edx + 4], eax
je 0x42f51b
push 0
push 1
push 0xffffffffffffffff
mov edx, edi
mov ecx, esi
call fcn.00426650
movzx edx, byte [esp + 0x6c]
add esp, 0xc
mov ecx, esi
mov dword [esp + 0x24], eax
call fcn.00425a90
test eax, eax
jne 0x43494e
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
mov eax, dword [esp + 0x14]
cmp byte [eax + 1], 0xf9
jne 0x42f507
mov edx, dword [eax + 0x10]
mov ecx, dword [esp + 0x18]
call fcn.00409f90
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov byte [eax + 1], 0xf9
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 4], eax
mov esi, dword [esp + 0x18]
mov eax, dword [edx + 4]
cmp eax, dword [esi + 0x60]
jg 0x43555a
mov edi, dword [esp + 0x1c]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x42f559
call fcn.0042f010
mov edx, dword [esp + 0x14]
mov ecx, eax
jmp 0x42f562
mov edx, dword [esp + 0x14]
jmp 0x42f52f
mov eax, 4
mov word [ecx + 8], ax
mov eax, 0xa02
mov word [ecx + 8], ax
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [edx + 4]
mov dword [ecx + 0xc], eax
mov al, byte [esp + 0x60]
mov byte [ecx + 0xa], al
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x42f2af
mov edi, dword [esp + 0x28]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
cdq
cmp dword [edi + esi*8], eax
mov edi, dword [esp + 0x1c]
jne 0x42f1dc
mov eax, dword [esp + 0x28]
cmp dword [eax + esi*8 + 4], edx
mov esi, dword [esp + 0x18]
jne 0x42f2af
mov eax, 0xa10
mov word [ecx + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x42f5fb
mov ecx, esi
call fcn.0042f010
mov esi, eax
jmp 0x42f604
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
mov edx, 0x101
mov ecx, dword [esp + 0x14]
mov edi, dword [eax + 0xc]
sub edi, dword [eax + 8]
mov eax, 1
cmp dword [ecx + 4], 0
mov dword [esi + 0xc], 0
cmovne eax, edx
movzx eax, ax
mov word [esi + 8], ax
add esi, 0xc
mov dword [esp + 0x30], eax
test edi, edi
jle 0x430365
lea esi, [esi + 0x28]
lea ecx, [esi - 0xc]
call fcn.004263f0
mov eax, dword [esp + 0x30]
dec edi
mov word [esi - 4], ax
mov dword [esi], 0
test edi, edi
jg 0x42f640
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, word [esp + 0x110]
or ax, 1
mov word [edx + ecx*8 + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x42f6d0
mov ecx, esi
call fcn.0042f010
mov esi, eax
jmp 0x42f6d9
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
mov ecx, esi
push 0
push 0
push dword [eax + 4]
mov edx, dword [eax + 0x10]
call fcn.00426650
mov al, byte [esp + 0x6c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov byte [esi + 0xa], al
add ecx, 0x14
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x74]
lea edx, [edx - 5]
lea edx, [eax + edx*8]
movzx eax, word [edx + 8]
test al, 0x12
je 0x42f74a
mov esi, dword [edx + 0xc]
test eax, 0x4000
je 0x42f733
add esi, dword [edx]
mov eax, dword [edx + 0x20]
xor ecx, ecx
cmp esi, dword [eax + 0x60]
mov esi, dword [esp + 0x18]
setg cl
test ecx, ecx
jne 0x43555e
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
push 0x800
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00426590
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x2c], ecx
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
nop dword [eax]
mov eax, 0x2460
test word [esi + 8], ax
jne 0x42f7b1
cmp dword [esi + 0x18], 0
je 0x42f7bc
mov ecx, esi
call fcn.00425f60
mov ecx, dword [esp + 0x2c]
movups xmm0, xmmword [edi]
mov eax, 1
movups xmmword [esi], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [esi + 0x20], xmm0
mov word [edi + 8], ax
mov eax, 0x1000
mov dword [edi + 0x18], 0
test word [esi + 8], ax
je 0x42f802
mov ecx, esi
call fcn.00425c40
test eax, eax
jne 0x43494e
mov ecx, dword [esp + 0x2c]
add edi, 0x28
add esi, 0x28
sub ecx, 1
mov dword [esp + 0x2c], ecx
jne 0x42f7a0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x50], eax
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
nop word [eax + eax]
push 0x1000
mov edx, edi
mov ecx, esi
call fcn.00426590
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x42f87b
mov ecx, esi
call fcn.00425c40
test eax, eax
jne 0x43494e
mov ecx, dword [esp + 0x50]
mov eax, ecx
dec ecx
mov dword [esp + 0x50], ecx
test eax, eax
je 0x42f2a7
add esi, 0x28
add edi, 0x28
jmp 0x42f850
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
push 0x1000
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00426590
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
push dword [ecx + eax*8 + 4]
push dword [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00426450
mov ecx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edx + 8]
mov dword [esp + 0x2c], ecx
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [edx + 0xc]
movzx edx, word [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov al, byte [edi + 8]
or al, dl
test al, 1
je 0x42f95a
mov ecx, esi
call fcn.004263f0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
test edx, 0x4000
je 0x42f96f
call fcn.00425cc0
test eax, eax
jne 0x43494e
mov eax, 0x4000
test word [edi + 8], ax
je 0x42f989
mov ecx, edi
call fcn.00425cc0
test eax, eax
jne 0x43494e
mov eax, dword [esp + 0x2c]
test byte [eax + 8], 0x12
jne 0x42f9ab
mov dl, byte [esp + 0x60]
mov ecx, eax
push 0
call fcn.00425d70
add esp, 4
test eax, eax
jne 0x43494e
test byte [edi + 8], 0x12
jne 0x42f9c9
mov dl, byte [esp + 0x60]
mov ecx, edi
push 0
call fcn.00425d70
add esp, 4
test eax, eax
jne 0x43494e
mov ecx, dword [esp + 0x2c]
mov eax, dword [edi + 0xc]
add eax, dword [ecx + 0xc]
cdq
mov dword [esp + 0x40], eax
mov ecx, edx
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x60]
cdq
cmp ecx, edx
jg 0x434c47
mov edx, dword [esp + 0x40]
jl 0x42f9f8
cmp edx, eax
ja 0x434c47
xor eax, eax
mov ecx, esi
cmp esi, edi
sete al
add edx, 2
push eax
call fcn.00425ab0
add esp, 4
test eax, eax
jne 0x43494e
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x42fa3e
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.004a4c50
add esp, 0xc
mov eax, dword [esp + 0x2c]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [edi + 0xc]
add eax, dword [esi + 0x10]
push eax
call fcn.004a4c50
mov eax, dword [esi + 0x10]
add esp, 0xc
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x1c]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
or word [esi + 8], ax
mov al, byte [esp + 0x60]
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0x14]
mov byte [esi + 0xa], al
add ecx, 0x14
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
movzx ecx, word [edi + eax*8 + 8]
lea edx, [edi + eax*8]
mov eax, ecx
mov dword [esp + 0x3c], edx
and eax, 0xc
je 0x42fabc
mov dword [esp + 0x40], eax
jmp 0x42fad9
test cl, 0x12
je 0x42fad1
mov ecx, edx
call fcn.0042efc0
movzx eax, ax
mov dword [esp + 0x40], eax
jmp 0x42fad9
mov dword [esp + 0x40], 0
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
movzx ecx, word [edi + eax*8 + 8]
lea edx, [edi + eax*8]
mov eax, ecx
mov dword [esp + 0x50], edx
and eax, 0xc
je 0x42faf8
mov dword [esp + 0x2c], eax
jmp 0x42fb19
test cl, 0x12
je 0x42fb11
mov ecx, edx
call fcn.0042efc0
mov edx, dword [esp + 0x50]
movzx eax, ax
mov dword [esp + 0x2c], eax
jmp 0x42fb19
mov dword [esp + 0x2c], 0
mov eax, dword [esi + 0xc]
mov esi, dword [esp + 0x3c]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x44], eax
mov ax, word [edx + 8]
or ax, word [esi + 8]
movzx ecx, ax
mov al, byte [esp + 0x2c]
and al, byte [esp + 0x40]
test al, 4
je 0x42fc66
mov eax, esi
mov byte [esp + 0x3b], 1
mov esi, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x70], esi
mov edi, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], edx
movzx eax, byte [eax]
add eax, 0xffffffa8
cmp eax, 3
ja case.default.0x42fb71
jmp dword [eax*4 + 0x435bdc]
push ecx
push edi
lea ecx, [esp + 0x78]
call fcn.0040df00
add esp, 8
test eax, eax
jne 0x42fc76
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
jmp 0x42fc31
test edi, edi
jne 0x42fbc4
cmp ecx, 0x80000000
jne 0x42fbc4
test edx, edx
jg 0x42fc76
jl 0x42fbb9
test esi, esi
jae 0x42fc76
add esi, 0
adc edx, 0x80000000
jmp 0x42fc29
neg edi
adc ecx, 0
neg ecx
jmp case.0x42fb71.88
push ecx
push edi
lea ecx, [esp + 0x78]
call fcn.0040dfa0
jmp 0x42fb83
mov eax, edi
or eax, ecx
je 0x42fd95
mov eax, edi
and eax, ecx
cmp eax, 0xffffffff
jne 0x42fbf9
test esi, esi
jne 0x42fbf9
cmp edx, 0x80000000
je 0x42fc76
push ecx
push edi
push edx
push esi
call fcn.004d79e0
jmp 0x42fc27
mov eax, edi
or eax, ecx
je 0x42fd95
mov eax, edi
and eax, ecx
cmp eax, 0xffffffff
jne 0x42fc1e
mov edi, 1
xor ecx, ecx
push ecx
push edi
push edx
push esi
call fcn.004d7a90
mov esi, eax
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edx
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x1c]
mov ax, word [ecx + 8]
mov dword [ecx + 4], edx
mov edx, 0x3e00
and ax, dx
mov dword [ecx], esi
mov esi, dword [esp + 0x18]
or ax, 4
mov word [ecx + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
test cl, 1
jne 0x42fd95
mov byte [esp + 0x3b], 0
jmp 0x42fc7a
mov esi, dword [esp + 0x3c]
mov ecx, esi
call fcn.00426120
mov ecx, dword [esp + 0x50]
movsd qword [esp + 0x30], xmm0
call fcn.00426120
mov eax, dword [esp + 0x14]
movaps xmm1, xmm0
movsd qword [esp + 0x48], xmm1
movzx eax, byte [eax]
add eax, 0xffffffa8
cmp eax, 3
ja case.default.0x42fca8
jmp dword [eax*4 + 0x435bec]
addsd xmm1, qword [esp + 0x30]
jmp 0x42fd35
subsd xmm1, qword [esp + 0x30]
jmp 0x42fd35
mulsd xmm1, qword [esp + 0x30]
jmp 0x42fd35
movsd xmm0, qword [esp + 0x30]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x42fd95
divsd xmm1, xmm0
jmp 0x42fd35
movsd xmm0, qword [esp + 0x30]
call fcn.004d9a6f
movsd xmm0, qword [esp + 0x48]
mov esi, eax
mov edi, edx
call fcn.004d9a6f
mov ecx, eax
mov dword [esp + 0x74], edx
mov eax, esi
mov dword [esp + 0x70], ecx
or eax, edi
je 0x42fd95
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x42fd22
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push ecx
call fcn.004d7a90
mov ecx, eax
call fcn.004d9bc0
movaps xmm1, xmm0
movaps xmm0, xmm1
call fcn.0040cbe0
test eax, eax
jne 0x42fd95
mov ecx, dword [esp + 0x44]
mov edx, 0x3e00
mov ax, word [ecx + 8]
and ax, dx
movsd qword [ecx], xmm1
or ax, 8
mov word [ecx + 8], ax
mov eax, dword [esp + 0x2c]
or al, byte [esp + 0x40]
test al, 8
jne 0x42f2a7
cmp byte [esp + 0x3b], 0
jne 0x42f2a7
call fcn.00426150
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov ecx, dword [esp + 0x44]
call fcn.004263f0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
test eax, eax
je 0x42f2af
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.00426450
mov ecx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [esi + 8]
mov dword [esp + 0x30], ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [esi + 0xc]
mov esi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov al, byte [edx + 8]
or al, byte [ecx + 8]
mov dword [esp + 0x48], esi
test al, 1
je 0x42fe3f
mov ecx, esi
call fcn.004263f0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov ecx, edx
call fcn.004260a0
mov ecx, dword [esp + 0x30]
mov edi, eax
mov esi, edx
mov dword [esp + 0x120], edi
mov dword [esp + 0x124], esi
call fcn.004260a0
mov ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov al, byte [eax]
mov byte [esp + 0x3b], al
cmp al, 0x54
jne 0x42fe7e
and edi, ecx
and esi, edx
jmp 0x42ff18
cmp al, 0x55
jne 0x42fe8b
or edi, ecx
or esi, edx
jmp 0x42ff18
mov eax, ecx
or eax, edx
je 0x42ff18
test edx, edx
jg 0x42febe
jl 0x42fe9f
test ecx, ecx
jae 0x42febe
mov al, 0xad
sub al, byte [esp + 0x3b]
cmp edx, 0xffffffff
jl 0x42fecd
jg 0x42feb1
cmp ecx, 0xffffffc0
jbe 0x42fecd
neg ecx
mov dword [esp + 0x50], ecx
adc edx, 0
neg edx
jmp 0x42fec2
mov al, byte [esp + 0x3b]
test edx, edx
jl 0x42fef5
jg 0x42fecd
cmp ecx, 0x40
jb 0x42fef5
test esi, esi
jg 0x42fee2
jl 0x42fed7
test edi, edi
jae 0x42fee2
cmp al, 0x56
je 0x42fee2
or edi, 0xffffffff
or esi, edi
jmp 0x42ff18
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
jmp 0x42ff18
movq xmm1, qword [esp + 0x120]
movd xmm0, ecx
cmp al, 0x56
jne 0x42ff4d
psllq xmm1, xmm0
movq qword [esp + 0x30], xmm1
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
mov edx, 0x3e00
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx], edi
mov edi, dword [esp + 0x1c]
or ax, 4
mov dword [ecx + 4], esi
mov esi, dword [esp + 0x18]
mov word [ecx + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
psrlq xmm1, xmm0
movq qword [esp + 0x30], xmm1
test esi, esi
jg 0x42ff10
jl 0x42ff61
test edi, edi
jae 0x42ff10
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, dword [esp + 0x50]
or edx, 0xffffffff
call fcn.004d7b50
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
or edi, eax
or esi, edx
jmp 0x42ff18
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004261b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
mov eax, dword [esp + 0x20]
adc dword [esi + 4], edx
add ecx, 0x14
mov esi, dword [esp + 0x18]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
test al, 4
jne 0x430016
test al, 8
jne 0x42ffeb
test al, 2
je 0x42fff2
mov edx, 1
mov ecx, esi
call fcn.0042ee20
jmp 0x42fff2
mov ecx, esi
call fcn.00426150
movzx eax, word [esi + 8]
test al, 4
jne 0x430016
mov esi, dword [esp + 0x14]
cmp dword [esi + 8], 0
jne 0x4321f3
mov ecx, 0x14
mov esi, dword [esp + 0x18]
jmp 0x4357e3
mov ecx, dword [esp + 0x14]
and eax, 0x3e00
or eax, 4
add ecx, 0x14
mov word [esi + 8], ax
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 4
lea ecx, [ecx + eax*8]
je 0x42f2af
call fcn.00426220
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x430090
mov ecx, esi
call fcn.00425cc0
mov dword [esp + 0x24], eax
jmp 0x430098
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0x60]
mov dl, byte [eax + 8]
call fcn.00426320
mov ecx, dword [esp + 0x28]
add esp, 4
mov esi, dword [esp + 0x18]
test ecx, ecx
jne 0x4357e3
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x2c], edi
lea eax, [eax + eax*4]
movzx edx, word [ecx + eax*8 + 8]
lea esi, [ecx + eax*8]
movzx eax, word [edi + 8]
mov ecx, edx
or ecx, eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
test cl, 1
je 0x4301a3
movzx eax, word [eax + 2]
test al, al
jns 0x430138
mov al, dl
and al, byte [esp + 0x5c]
test al, 1
je 0x43012e
test edx, 0x100
jne 0x43012e
xor edx, edx
jmp 0x4302b2
mov edx, 1
jmp 0x4302b2
test al, 0x20
je 0x430183
mov eax, dword [esp + 0x14]
mov esi, 0x3e00
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x88], 1
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, si
mov esi, dword [esp + 0x18]
or ax, 1
mov word [edx + ecx*8 + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
test al, 0x10
jne 0x4321ef
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov al, byte [eax + 2]
and al, 0x47
cmp al, 0x43
jb 0x430235
test cl, 2
je 0x4301e3
mov al, byte [esp + 0x5c]
and al, 0xe
cmp al, 2
jne 0x4301d0
xor edx, edx
mov ecx, edi
call fcn.0042ee20
movzx eax, word [esi + 8]
mov dword [esp + 0x3c], eax
mov al, byte [esp + 0x3c]
and al, 0xe
cmp al, 2
jne 0x4301e3
xor edx, edx
mov ecx, esi
call fcn.0042ee20
mov al, byte [edi + 8]
and al, byte [esi + 8]
test al, 4
je 0x43029d
mov edx, dword [esp + 0x2c]
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov eax, dword [edx]
mov edx, dword [edx + 4]
cmp edi, edx
jl 0x430221
jg 0x430209
cmp ecx, eax
jbe 0x430217
mov edi, dword [esp + 0x2c]
mov edx, 1
jmp 0x4302b2
cmp edi, edx
jg 0x43022d
jl 0x430221
cmp ecx, eax
jae 0x43022d
mov edi, dword [esp + 0x2c]
or edx, 0xffffffff
jmp 0x4302b2
mov edi, dword [esp + 0x2c]
xor edx, edx
jmp 0x4302b2
cmp al, 0x42
jne 0x43029d
mov al, byte [esp + 0x5c]
test al, 2
jne 0x43026b
test al, 0xc
je 0x43026b
mov dl, byte [esp + 0x60]
mov ecx, edi
push 1
call fcn.00425d70
mov ax, word [edi + 8]
mov ecx, 0x3e00
xor ax, word [esp + 0x60]
add esp, 4
and ax, cx
xor word [esp + 0x5c], ax
mov al, byte [esp + 0x3c]
test al, 2
jne 0x43029d
test al, 0xc
je 0x43029d
mov dl, byte [esp + 0x60]
mov ecx, esi
push 1
call fcn.00425d70
mov ax, word [esi + 8]
mov ecx, 0x3e00
xor ax, word [esp + 0x40]
add esp, 4
and ax, cx
xor word [esp + 0x3c], ax
mov eax, dword [esp + 0x14]
mov edx, edi
mov ecx, esi
push dword [eax + 0x10]
call fcn.0042ae50
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x14]
movzx eax, byte [eax]
add eax, 0xffffffb3
cmp eax, 4
ja case.default.0x4302c1
jmp dword [eax*4 + 0x435bfc]
xor ecx, ecx
test edx, edx
sete cl
jmp 0x4302f2
mov ecx, edx
jmp 0x4302f2
mov ecx, edx
jmp 0x4302ef
xor ecx, ecx
test edx, edx
setle cl
jmp 0x4302f2
xor ecx, ecx
test edx, edx
setg cl
jmp 0x4302f2
mov ecx, edx
not ecx
shr ecx, 0x1f
movzx eax, word [esp + 0x5c]
mov word [edi + 8], ax
movzx eax, word [esp + 0x3c]
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
test al, 0x20
je 0x430379
mov eax, dword [esp + 0x14]
mov dword [esp + 0x88], edx
xor edx, edx
test ecx, ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 8]
setne dl
lea esi, [eax + eax*4]
movzx eax, word [ecx + 2]
test al, 8
je 0x430340
xor eax, eax
cmp byte [ecx], 0x4e
sete al
cmp eax, edx
je 0x430365
mov edi, dword [esp + 0x28]
mov ax, word [edi + esi*8 + 8]
and ax, word [esp + 0x90]
or ax, 4
mov dword [edi + esi*8], edx
mov word [edi + esi*8 + 8], ax
mov dword [edi + esi*8 + 4], 0
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
test ecx, ecx
jne 0x4321ef
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
cmp dword [esp + 0x88], 0
jne 0x4321ef
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov esi, dword [esp + 0x14]
test byte [esi + 2], 1
jne 0x4303c1
xor eax, eax
jmp 0x4303c7
mov eax, dword [esi - 4]
add eax, 4
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov edi, dword [esp + 0x14]
mov esi, dword [esi + 4]
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], eax
mov esi, dword [edi + 8]
mov dword [esp + 0x30], esi
xor esi, esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x40], edx
test ecx, ecx
jle 0x42f2a7
lea edi, [edx + 0x14]
test eax, eax
je 0x430401
mov ecx, dword [eax + esi*4]
jmp 0x430403
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [esp + 0x28]
push dword [edi]
movzx eax, byte [eax + esi]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x34]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [esp + 0x4c]
add eax, ecx
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0042ae50
mov edx, eax
add esp, 4
mov dword [esp + 0x88], edx
test edx, edx
jne 0x43046f
mov eax, dword [esp + 0x50]
inc esi
mov edx, dword [esp + 0x40]
add edi, 4
cmp esi, dword [esp + 0x2c]
jl 0x4303f8
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
cmp dword [esp + 0x44], 0
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
je 0x42f2b7
neg edx
add ecx, 0x14
mov dword [esp + 0x88], edx
jmp 0x42f13d
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
test edx, edx
jns 0x4304c6
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x20]
add ecx, 0xffffffec
add ecx, 0x14
jmp 0x42f13d
jne 0x4304e0
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x20]
add ecx, 0xffffffec
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x20]
add ecx, 0xffffffec
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x430517
mov esi, 2
jmp 0x430529
call fcn.004260a0
or eax, edx
je 0x430527
mov esi, 1
jmp 0x430529
xor esi, esi
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x430548
mov eax, 2
jmp 0x43055a
call fcn.004260a0
or eax, edx
je 0x430558
mov eax, 1
jmp 0x43055a
xor eax, eax
mov ecx, dword [esp + 0x14]
lea eax, [eax + esi*2]
cmp byte [ecx], 0x47
jne 0x43056f
mov al, byte [esi + eax + 0x4eded4]
jmp 0x430576
mov al, byte [esi + eax + 0x4eb3e4]
movzx edx, al
mov esi, 0x3e00
mov eax, dword [ecx + 0xc]
lea ecx, [eax + eax*4]
cmp edx, 2
jne 0x43059e
mov edx, dword [esp + 0x28]
mov ax, word [edx + ecx*8 + 8]
and ax, si
or ax, 1
jmp 0x42f1d7
mov eax, dword [esp + 0x28]
mov dword [eax + ecx*8], edx
mov edx, eax
mov ax, word [edx + ecx*8 + 8]
and ax, si
mov dword [edx + ecx*8 + 4], 0
or ax, 4
jmp 0x42f1d7
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004263f0
test byte [edi + 8], 1
jne 0x42f2a7
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.004260a0
or eax, edx
jne 0x430623
mov edi, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esi + 4], ecx
mov eax, 1
mov ecx, dword [esp + 0x14]
mov dword [esi], eax
add ecx, 0x14
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov edi, dword [esp + 0x1c]
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [esi], eax
add ecx, 0x14
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004263f0
test byte [edi + 8], 1
jne 0x42f2a7
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.004260a0
mov ecx, dword [esp + 0x14]
not eax
mov edi, dword [esp + 0x1c]
not edx
mov dword [esi], eax
add ecx, 0x14
mov eax, dword [esp + 0x20]
mov dword [esi + 4], edx
mov esi, dword [esp + 0x18]
jmp 0x42f13d
mov edi, dword [edi + 0xc4]
mov eax, dword [esp + 0x1c]
test edi, edi
je 0x43071c
mov ecx, dword [esp + 0x14]
sub ecx, dword [eax + 0x58]
mov eax, 0x66666667
mov edi, dword [edi + 0x18]
imul ecx
mov eax, 1
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov esi, ecx
and ecx, 7
shr esi, 3
shl eax, cl
movzx edx, byte [esi + edi]
test edx, eax
jne 0x4321ef
mov eax, dword [esp + 0x1c]
bts edx, ecx
mov ecx, dword [esp + 0x14]
mov byte [esi + edi], dl
mov esi, dword [esp + 0x18]
mov eax, dword [eax + 0x58]
mov edi, dword [esp + 0x1c]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 4]
je 0x4321ef
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x1c]
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x430769
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0xc]
jmp 0x430792
call fcn.00426120
mov edi, dword [esp + 0x14]
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
xor ecx, ecx
test ah, 0x44
mov eax, 1
cmovp ecx, eax
cmp byte [edi], 0x16
mov edi, dword [esp + 0x1c]
jne 0x430792
xor ecx, eax
test ecx, ecx
jne 0x4321ef
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne 0x4321ef
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x4321ef
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x42f2af
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004263f0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42f2a0
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
mov ecx, dword [edx + 4]
mov esi, dword [edx + 8]
mov dword [esp + 0x78], esi
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x2c], edi
cmp byte [edi], 0
jne 0x430881
cmp byte [edi + 3], 0
je 0x4308e9
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4308e0
mov eax, dword [eax + esi*4 + 4]
test eax, eax
jle 0x4308e0
mov edi, dword [edi + 0x24]
dec eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x78], eax
mov dword [esp + 0x24], 0
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov edx, dword [edi + 0x48]
lea eax, [eax + eax*4]
mov dword [esp + 0x5c], edx
lea ecx, [ecx + eax*8]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x3c], ecx
cmp eax, dword [esi + 0x20]
je 0x4309d3
cmp byte [edi + 2], 0
je 0x430910
cmp byte [edi], 3
jne 0x42f93d
mov eax, dword [edi + 0x28]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8 + 0xc]
mov dword [edi + 0x54], esi
mov dword [edi + 0x50], esi
mov eax, dword [ecx + eax*8 + 0x10]
mov dword [edi + 0x4c], eax
jmp 0x430964
mov ecx, edi
call fcn.0042a460
jmp 0x4308f9
mov eax, dword [edi + 0x28]
cmp byte [eax + 0x42], 1
je 0x430881
mov ecx, edi
call fcn.0042a4d0
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357db
mov edx, dword [esp + 0x14]
jmp 0x430889
mov esi, dword [edi + 0x28]
mov ecx, esi
call fcn.0041ec60
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x50], eax
movsx eax, byte [esi + 0x44]
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + eax*4 + 0x74]
mov edx, dword [eax + 0x3c]
movzx eax, word [esi + 0x20]
sub edx, ecx
cmp eax, edx
mov dword [edi + 0x4c], ecx
cmovb edx, eax
mov eax, dword [edi + 0x50]
mov dword [esp + 0x50], edx
cmp eax, edx
ja 0x43094c
mov dword [edi + 0x54], eax
jmp 0x43095c
mov esi, dword [esp + 0x18]
cmp eax, dword [esi + 0x60]
ja 0x43555a
mov dword [edi + 0x54], edx
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x4c]
mov eax, dword [eax + 0x20]
mov dword [edi + 0x1c], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x430988
movzx ecx, al
mov eax, 1
mov dword [esp + 0xd0], ecx
jmp 0x4309a2
lea edx, [esp + 0xd0]
call fcn.0040dd80
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x5c]
movzx eax, al
movzx eax, al
mov dword [edi + 0x30], eax
xor eax, eax
mov word [edi + 0x3a], ax
mov dword [edx], ecx
cmp esi, ecx
jae 0x430a66
mov dword [edi + 0x4c], eax
mov dword [edi + 0x54], eax
cmp ecx, 0x18003
ja 0x43537a
cmp ecx, dword [edi + 0x50]
ja 0x43537a
movzx eax, word [edi + 0x3a]
mov ecx, dword [esp + 0x78]
cmp eax, ecx
jg 0x430c40
mov eax, dword [edi + 0x30]
cmp eax, dword [edx]
jae 0x430bef
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x430aa9
xorps xmm0, xmm0
mov dword [esp + 0x24], eax
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movq qword [esp + 0x1d0], xmm0
mov esi, dword [edi + 0x28]
mov edx, dword [edx]
mov eax, dword [esi + 0x18]
mov dword [esp + 0x64], eax
movsx eax, byte [esi + 0x44]
mov eax, dword [esi + eax*4 + 0x74]
mov ecx, dword [eax + 0x3c]
sub ecx, dword [esp + 0x64]
movzx eax, word [esi + 0x20]
cmp eax, ecx
cmovb ecx, eax
cmp edx, ecx
ja 0x430a77
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1c0], eax
mov eax, 0x1010
mov word [esp + 0x1b8], ax
mov dword [esp + 0x1bc], edx
jmp 0x430aa5
test ecx, ecx
je 0x4309d3
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x64], eax
jmp 0x430aa9
lea eax, [esp + 0x1b0]
mov ecx, esi
push eax
push edx
xor edx, edx
call fcn.00426870
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357db
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x64], eax
mov edx, dword [esp + 0x5c]
movzx eax, word [edi + 0x3a]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x50], eax
mov edi, dword [edx + eax*4]
xor edx, edx
mov esi, dword [ecx + 0x30]
add esi, dword [esp + 0x64]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x5c]
mov edx, dword [edx]
add edx, dword [esp + 0x64]
add eax, 0x16
mov dword [esp + 0x30], edx
lea eax, [ecx + eax*4]
mov dword [esp + 0x48], eax
nop dword [eax]
movzx ecx, byte [esi]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x94], ecx
cmp ecx, 0x80
jae 0x430b0e
movzx eax, cl
movzx eax, byte [eax + 0x4ebd70]
cdq
add edi, eax
adc dword [esp + 0x40], edx
mov edx, 1
jmp 0x430b36
lea edx, [esp + 0x94]
mov ecx, esi
call fcn.0040dd80
mov ecx, dword [esp + 0x94]
movzx edx, al
mov dword [esp + 0x44], ecx
call fcn.0042a680
add edi, eax
adc dword [esp + 0x40], 0
mov eax, dword [esp + 0x50]
add esi, edx
mov edx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x50], eax
mov dword [edx], ecx
add edx, 4
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x5c]
mov dword [edx + eax*4], edi
mov edx, dword [esp + 0x30]
cmp eax, dword [esp + 0x78]
jg 0x430b69
cmp esi, edx
jb 0x430ae0
jmp 0x430b6d
cmp esi, edx
jb 0x430ba9
cmp esi, edx
ja 0x430b82
mov edx, dword [esp + 0x2c]
cmp edi, dword [edx + 0x50]
jne 0x430b82
mov edx, dword [esp + 0x40]
test edx, edx
je 0x430bad
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x4c], 0
jne 0x430b98
lea ecx, [esp + 0x1b0]
call fcn.00425ff0
mov ecx, 0x13e56
call fcn.00481310
mov ecx, eax
jmp 0x4357db
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x50]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x50]
test edx, edx
ja 0x430b82
jb 0x430bc8
cmp edi, dword [esp + 0x30]
ja 0x430b82
mov edi, dword [esp + 0x2c]
sub esi, dword [esp + 0x64]
cmp dword [edi + 0x4c], 0
mov word [edi + 0x3a], ax
mov dword [edi + 0x30], esi
jne 0x430bfc
lea ecx, [esp + 0x1b0]
call fcn.00425ff0
mov ecx, dword [esp + 0x44]
jmp 0x430bfc
xor ecx, ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x94], ecx
movzx eax, word [edi + 0x3a]
cmp eax, dword [esp + 0x78]
jg 0x430c4f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
cmp byte [eax + 1], 0xf5
jne 0x42f93d
mov edx, dword [eax + 0x10]
push 0x800
call fcn.00426590
mov ecx, dword [esp + 0x18]
add esp, 4
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov ecx, dword [edi + ecx*4 + 0x58]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x94], ecx
mov esi, dword [esp + 0x3c]
mov eax, 0x2460
test word [esi + 8], ax
je 0x430c69
mov ecx, esi
call fcn.004263f0
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x78]
mov edx, dword [esp + 0x5c]
mov eax, dword [edi + 0x54]
cmp eax, dword [edx + esi*4 + 4]
mov esi, dword [esp + 0x3c]
jb 0x430d43
mov eax, dword [esp + 0x78]
mov edi, dword [edi + 0x4c]
add edi, dword [edx + eax*4]
cmp ecx, 0xc
jae 0x430cb6
mov edx, ecx
mov ecx, edi
push esi
call fcn.0042a7a0
mov ecx, dword [esp + 0x18]
add esp, 4
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov al, byte [esp + 0x60]
lea esi, [ecx - 0xc]
mov ecx, dword [esp + 0x3c]
shr esi, 1
mov dword [ecx + 0xc], esi
lea edx, [esi + 2]
mov byte [ecx + 0xa], al
cmp dword [ecx + 0x18], edx
jge 0x430cf2
mov eax, 1
push 0
mov word [ecx + 8], ax
call fcn.00425ab0
add esp, 4
test eax, eax
jne 0x43494e
mov ecx, dword [esp + 0x3c]
jmp 0x430cf8
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
push esi
push edi
push dword [ecx + 0x10]
call fcn.004a4c50
mov ecx, dword [esp + 0x48]
add esp, 0xc
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x1c]
and edx, 1
mov eax, dword [ecx + 0x10]
mov byte [esi + eax], 0
mov eax, dword [ecx + 0x10]
mov byte [esi + eax + 1], 0
mov ax, word [edx*2 + 0x4eddfc]
mov esi, dword [esp + 0x18]
mov word [ecx + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov al, byte [esp + 0x60]
mov byte [esi + 0xa], al
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
test al, 0xc0
je 0x430d64
cmp ecx, 0xc
jb 0x430d60
test cl, 1
je 0x430d6f
test al, al
js 0x430d6f
call fcn.0042a680
mov edx, eax
test edx, edx
jne 0x430d7b
mov edx, ecx
mov ecx, 0x515504
jmp 0x430c95
mov esi, dword [edi + 0x28]
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], 0
movsx eax, byte [esi + 0x44]
mov edi, dword [esi + 0x18]
mov dword [esp + 0x48], edi
mov eax, dword [esi + eax*4 + 0x74]
mov ecx, dword [eax + 0x3c]
movzx eax, word [esi + 0x20]
sub ecx, edi
mov esi, dword [esp + 0x78]
cmp eax, ecx
cmovb ecx, eax
mov eax, dword [esp + 0x5c]
mov edi, dword [eax + esi*4]
mov esi, dword [esp + 0x30]
lea eax, [edx + edi]
cmp eax, ecx
ja 0x430dd8
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
add eax, edi
mov dword [esi + 0x10], eax
mov eax, 0x1010
mov word [esi + 8], ax
mov dword [esi + 0xc], edx
jmp 0x430dfb
push dword [esp + 0x3c]
mov ecx, esi
push edx
mov edx, edi
call fcn.00426870
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357db
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov ecx, dword [esi + 0x10]
push esi
call fcn.0042a7a0
mov ecx, dword [esp + 0x18]
mov eax, 0xefff
and word [esi + 8], ax
add esp, 4
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
push dword [esp + 0x60]
mov dl, al
mov ecx, edi
call fcn.0042eeb0
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x430e42
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov edx, dword [esp + 0x14]
xor eax, eax
mov ecx, dword [esp + 0x28]
xorps xmm0, xmm0
mov dword [esp + 0x3c], eax
movlpd qword [esp + 0x50], xmm0
mov eax, dword [edx + 4]
mov esi, dword [edx + 0x10]
movlpd qword [esp + 0x78], xmm0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + 8]
movzx edx, byte [edi + 0x8f]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [ecx + eax*8]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x64], eax
test esi, esi
je 0x430f01
mov al, byte [esi]
mov edi, ecx
nop dword [eax]
push dword [esp + 0x60]
mov dl, al
mov ecx, edi
call fcn.0042eeb0
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x430ee0
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x78], eax
lea eax, [esp + 0xa8]
mov ecx, edi
push eax
call fcn.0042a520
mov esi, eax
add esp, 4
mov eax, 0x4000
mov dword [edi + 0x1c], esi
test word [edi + 8], ax
je 0x430f76
mov ecx, dword [esp + 0x44]
or ecx, dword [esp + 0x40]
je 0x430f62
mov ecx, edi
call fcn.00425cc0
test eax, eax
jne 0x43494e
jmp 0x430f76
mov ecx, dword [edi]
mov eax, ecx
cdq
add dword [esp + 0x78], eax
adc dword [esp + 0x5c], edx
sub dword [esp + 0xa8], ecx
mov eax, dword [esp + 0x44]
mov edx, 1
add eax, dword [esp + 0xa8]
mov dword [esp + 0x44], eax
adc dword [esp + 0x40], 0
cmp esi, 0x7f
jbe 0x430fae
shr esi, 7
xor ecx, ecx
mov eax, esi
or eax, ecx
je 0x430fae
nop
shrd esi, ecx, 7
inc edx
shr ecx, 7
mov eax, esi
or eax, ecx
jne 0x430fa0
mov eax, dword [esp + 0x3c]
add eax, edx
mov dword [esp + 0x3c], eax
cmp edi, dword [esp + 0x2c]
je 0x430fca
mov edx, dword [esp + 0x30]
sub edi, 0x28
jmp 0x430f25
cmp eax, 0x7e
jle 0x431038
cdq
mov edi, 1
mov esi, eax
mov dword [esp + 0x30], edi
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x430ffa
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x430fe8
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x3c]
add eax, edi
mov edi, 1
mov dword [esp + 0x3c], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x43102e
nop dword [eax]
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x431020
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x30], edi
jge 0x43103d
inc eax
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x44]
cdq
mov edi, eax
mov esi, edx
mov eax, dword [esp + 0x40]
add ecx, edi
mov dword [esp + 0x44], ecx
adc eax, esi
add ecx, dword [esp + 0x78]
adc eax, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x60]
cdq
cmp dword [esp + 0x40], edx
jg 0x434c47
jl 0x43107a
cmp ecx, eax
ja 0x434c47
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x64]
call fcn.00425c20
test eax, eax
jne 0x43494e
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x50], ecx
cmp eax, 0x80
jae 0x4310ae
mov byte [ecx], al
mov eax, 1
jmp 0x4310bc
push esi
push edi
call fcn.0040dba0
mov ecx, dword [esp + 0x58]
add esp, 8
mov esi, dword [esp + 0x2c]
movzx edi, al
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x30], edx
cmp edx, 0x80
jae 0x4310dc
mov byte [edi + ecx], dl
mov eax, 1
jmp 0x4310f1
push 0
push edx
add ecx, edi
call fcn.0040dba0
mov edx, dword [esp + 0x38]
add esp, 8
mov ecx, dword [esp + 0x50]
movzx eax, al
add edi, eax
lea eax, [edx - 1]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x3c]
add edi, ecx
cmp eax, 6
ja 0x431127
movzx edx, byte [edx + 0x4ebd70]
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov esi, edx
dec edx
mov byte [edx + edi], cl
shrd ecx, eax, 8
shr eax, 8
test edx, edx
jne 0x431116
jmp 0x431148
cmp edx, 0xc
jb 0x431146
mov esi, dword [esi + 0xc]
test esi, esi
je 0x431148
mov eax, dword [esp + 0x2c]
push esi
push dword [eax + 0x10]
push edi
call fcn.004a4c50
add esp, 0xc
jmp 0x431148
xor esi, esi
add dword [esp + 0x3c], esi
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
add esi, 0x28
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x2c], esi
cmp esi, dword [esp + 0x48]
jbe 0x4310c3
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov dword [edx + 0xc], eax
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [esp + 0x5c]
je 0x42f2af
mov dword [edx], ecx
mov eax, 0x4010
mov ecx, dword [esp + 0x14]
mov word [edx + 8], ax
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x128]
xorps xmm0, xmm0
movlpd qword [esp + 0x128], xmm0
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
call fcn.00423a70
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357e3
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x43122b
call fcn.0042f010
mov ecx, eax
mov eax, dword [esp + 0x128]
mov dword [ecx], eax
mov eax, dword [esp + 0x12c]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [esp + 0x128]
mov dword [ecx], eax
mov eax, dword [esp + 0x12c]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
test eax, eax
mov esi, dword [edx + 0x10]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
jne 0x431347
cmp dword [eax + 0xa4], 0
jg 0x43538b
mov ecx, esi
call fcn.0040cc20
mov edi, eax
xor edx, edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], edi
mov ecx, dword [eax + 0x1b4]
add ecx, dword [eax + 0x1b0]
push ecx
mov ecx, eax
call fcn.0046e140
mov ecx, eax
add esp, 4
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357db
push ecx
mov ecx, dword [esp + 0x1c]
lea eax, [edi + 0x21]
push eax
call fcn.0040a240
mov edi, eax
add esp, 8
test edi, edi
je 0x42f2a7
mov ecx, dword [esp + 0x30]
lea edx, [edi + 0x20]
inc ecx
mov dword [edi], edx
push ecx
push esi
push edx
call fcn.004a4c50
mov esi, dword [esp + 0x24]
add esp, 0xc
cmp byte [esi + 0x43], 0
je 0x4312fa
mov byte [esi + 0x43], 0
mov byte [esi + 0x4b], 1
jmp 0x431300
inc dword [esi + 0x1b0]
mov eax, dword [esi + 0x1a8]
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x18], eax
add ecx, 0x14
mov eax, dword [esi + 0x1b8]
mov dword [esi + 0x1a8], edi
mov dword [edi + 8], eax
mov eax, dword [esi + 0x1bc]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x1c0]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x1c4]
mov dword [edi + 0x14], eax
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov edi, dword [eax + 0x1a8]
xor ecx, ecx
mov dword [esp + 0x44], ecx
test edi, edi
je 0x43136f
mov ecx, dword [edi]
mov edx, esi
call fcn.0040cf80
test eax, eax
je 0x431390
inc dword [esp + 0x44]
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x431357
mov edi, dword [esp + 0x1c]
push esi
push str.no_such_savepoint:__s
push edi
call fcn.00426f00
mov esi, dword [esp + 0x24]
add esp, 0xc
mov ecx, 1
jmp 0x4357e3
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
cmp dword [esi + 0xa4], 0
jle 0x4313aa
cmp edx, 1
je 0x4353a7
cmp dword [edi + 0x18], 0
jne 0x431402
cmp byte [esi + 0x4b], 0
je 0x431402
mov dword [esp + 0x50], 1
cmp edx, 1
jne 0x43140a
mov ecx, dword [esp + 0x1c]
call fcn.00429be0
mov dword [esp + 0x24], eax
test eax, eax
jne 0x435920
mov ecx, dword [esp + 0x1c]
mov byte [esi + 0x43], 1
call fcn.00429c40
cmp eax, 5
je 0x4353c3
mov eax, dword [esp + 0x1c]
mov byte [esi + 0x4b], 0
mov eax, dword [eax + 0x28]
mov dword [esp + 0x24], eax
jmp 0x431503
mov dword [esp + 0x50], 0
mov eax, dword [esi + 0x1b0]
sub eax, dword [esp + 0x44]
dec eax
mov dword [esp + 0x44], eax
cmp edx, 2
jne 0x431490
mov ecx, dword [esi + 0x18]
shr ecx, 0x17
and ecx, 1
mov dword [esp + 0x30], 0
cmp dword [esi + 0x14], 0
mov dword [esp + 0x48], ecx
jle 0x431498
mov eax, ecx
xor eax, 1
xor esi, esi
mov dword [esp + 0x40], eax
push eax
mov eax, dword [esp + 0x1c]
mov edx, 0x204
mov ecx, dword [eax + 0x10]
mov ecx, dword [esi + ecx + 4]
call fcn.0041e720
mov ecx, eax
add esp, 4
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357db
mov eax, dword [esp + 0x30]
add esi, 0x10
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x30], eax
cmp eax, dword [ecx + 0x14]
mov eax, dword [esp + 0x40]
jl 0x431444
mov eax, dword [esp + 0x44]
mov esi, ecx
mov edx, dword [esp + 0x2c]
jmp 0x431498
mov dword [esp + 0x48], 0
cmp dword [esi + 0x14], 0
mov dword [esp + 0x30], 0
jle 0x4314e9
xor esi, esi
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x10]
mov ecx, dword [esi + ecx + 4]
call fcn.0041e9a0
mov ecx, eax
add esp, 4
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357db
mov eax, dword [esp + 0x30]
add esi, 0x10
mov ecx, dword [esp + 0x18]
inc eax
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
cmp eax, dword [ecx + 0x14]
mov eax, dword [esp + 0x44]
jl 0x4314a8
mov esi, ecx
cmp dword [esp + 0x48], 0
je 0x431503
mov ecx, esi
call fcn.0042bd80
call fcn.00447840
or dword [esi + 0x18], 0x800000
cmp dword [esi + 0x1a8], edi
je 0x431570
nop dword [eax + eax]
cmp dword [esi + 0x1c8], 0
mov ecx, dword [esi + 0x1a8]
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x1a8], eax
je 0x431533
mov edx, ecx
mov ecx, esi
call fcn.00409f10
jmp 0x431562
cmp ecx, dword [esi + 0x120]
jb 0x431559
cmp ecx, dword [esi + 0x124]
jae 0x431559
mov eax, dword [esi + 0x11c]
mov dword [ecx], eax
dec dword [esi + 0x108]
mov dword [esi + 0x11c], ecx
jmp 0x431562
push ecx
call fcn.00409ea0
add esp, 4
dec dword [esi + 0x1b0]
cmp dword [esi + 0x1a8], edi
jne 0x431510
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
cmp esi, 1
jne 0x4315d3
mov eax, dword [edi + 0x18]
mov edx, edi
mov dword [ecx + 0x1a8], eax
mov edi, ecx
call fcn.00409f90
cmp dword [esp + 0x50], 0
jne 0x431603
dec dword [edi + 0x1b0]
mov ecx, dword [esp + 0x44]
mov edx, esi
mov esi, dword [esp + 0x18]
push ecx
mov ecx, esi
call fcn.0046e140
add esp, 4
mov edi, dword [esp + 0x1c]
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357e3
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
cmp dword [esp + 0x50], 0
mov eax, dword [edi + 8]
mov dword [ecx + 0x1b8], eax
mov eax, dword [edi + 0xc]
mov dword [ecx + 0x1bc], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x1c0], eax
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x1c4], eax
je 0x43159c
cmp esi, 2
je 0x43159c
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
test ecx, ecx
jne 0x4357e3
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 8]
test edx, edx
je 0x43163f
test dword [esi + 0x18], 0x80000
jne 0x4353f8
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x431792
mov ecx, esi
call fcn.0041d930
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x435402
mov eax, dword [esp + 0x14]
cmp dword [eax + 8], ecx
je 0x43175b
test byte [edi + 0x94], 0x40
mov edi, dword [esp + 0x18]
je 0x43175f
cmp byte [edi + 0x43], cl
je 0x431698
cmp dword [edi + 0xa0], 1
jle 0x43175f
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x30], 0
jne 0x4316b7
mov eax, dword [edi + 0x1b0]
inc dword [edi + 0x1b4]
add eax, dword [edi + 0x1b4]
mov dword [ecx + 0x30], eax
mov eax, dword [ecx + 0x30]
xor edx, edx
dec eax
mov ecx, edi
push eax
call fcn.0046e140
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
jne 0x431731
cmp byte [esi + 9], 0
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + 0x30]
mov eax, dword [esi + 4]
mov dword [esp + 0x30], eax
je 0x4316f8
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x4316f8
mov ecx, esi
call fcn.0041ada0
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
cmp edi, dword [ecx + 0x68]
jle 0x431712
cmp byte [ecx + 6], 0
je 0x431712
mov edx, edi
call fcn.00417e60
mov dword [esp + 0x24], eax
jmp 0x43171a
mov dword [esp + 0x24], 0
cmp byte [esi + 9], 0
je 0x43172d
add dword [esi + 0xc], 0xffffffff
jne 0x43172d
mov ecx, esi
call fcn.0041ad60
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x1b8]
mov dword [ecx + 0x48], eax
mov eax, dword [edi + 0x1bc]
mov dword [ecx + 0x4c], eax
mov eax, dword [edi + 0x1c0]
mov dword [ecx + 0x50], eax
mov eax, dword [edi + 0x1c4]
mov dword [ecx + 0x54], eax
jmp 0x43175f
mov edi, dword [esp + 0x18]
lea eax, [esp + 0xd4]
mov edx, 1
push eax
mov ecx, esi
call fcn.00423990
mov eax, dword [esp + 0x18]
add esp, 4
mov esi, dword [esp + 0xd4]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x4317a1
mov edi, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0xd4], esi
xor eax, eax
mov ecx, dword [esp + 0x14]
cmp word [ecx + 2], 0
je 0x4317be
cmp esi, dword [ecx + 0xc]
jne 0x435433
cmp eax, dword [ecx + 0x10]
jne 0x435433
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
test eax, eax
jne 0x43550a
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x114]
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00423990
mov eax, dword [esp + 0x18]
add esp, 4
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x431840
call fcn.0042f010
mov ecx, eax
mov eax, dword [esp + 0x114]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x42f13d
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [esp + 0x114]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [edx + 4]
push dword [edx + 0xc]
mov edx, dword [edx + 8]
shl esi, 4
add esi, dword [eax + 0x10]
mov ecx, dword [esi + 4]
call fcn.004239f0
mov dword [esp + 0x28], eax
add esp, 4
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x4318b1
mov ecx, dword [esi + 0xc]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [eax + 0xc]
mov dword [ecx], eax
or dword [esi + 0x18], 0x800000
jmp 0x4318c7
cmp eax, 2
jne 0x4318c3
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0xc]
mov al, byte [eax + 0xc]
mov byte [ecx + 0x4c], al
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 4], 1
jne 0x4318e3
mov ecx, esi
call fcn.0042bd80
and dword [edi + 0x94], 0xfffffffe
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x43550a
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x431918
mov eax, dword [esi + 0x34]
cmp eax, dword [edx + 8]
je 0x431aad
mov esi, dword [esp + 0x18]
mov al, byte [esp + 0x3b]
test byte [edi + 0x94], 1
jne 0x43548a
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x40], 0
mov dword [esp + 0x50], 0
mov edx, dword [esi + 8]
mov esi, dword [esi + 0xc]
mov ecx, esi
shl ecx, 4
add ecx, dword [edi + 0x10]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x48], esi
mov edi, dword [ecx + 4]
cmp al, 0x69
jne 0x431992
mov eax, dword [esp + 0x14]
movzx edx, word [eax + 2]
mov eax, dword [ecx + 0xc]
and edx, 8
mov ecx, dword [esp + 0x1c]
or edx, 4
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x2c]
mov al, byte [eax + 0x4c]
cmp al, byte [ecx + 0x8f]
jae 0x43199a
mov byte [ecx + 0x8f], al
jmp 0x43199a
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x14]
test byte [eax + 2], 0x10
je 0x4319bf
mov ecx, dword [esp + 0x28]
lea eax, [edx + edx*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004261b0
mov eax, dword [esi]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x14]
mov al, byte [edx + 1]
cmp al, 0xf7
jne 0x4319dd
mov eax, dword [edx + 0x10]
mov dword [esp + 0x50], eax
movzx ecx, word [eax + 8]
movzx eax, word [eax + 6]
add ecx, eax
jmp 0x4319ea
cmp al, 0xfd
jne 0x4319e6
mov ecx, dword [edx + 0x10]
jmp 0x4319ea
mov ecx, dword [esp + 0x40]
mov edx, dword [edx + 4]
push 0
push esi
push ecx
mov ecx, dword [esp + 0x28]
call fcn.0042ed30
mov esi, eax
add esp, 0xc
test esi, esi
je 0x43494e
mov eax, dword [esp + 0x2c]
or dword [esi + 8], 4
mov ecx, dword [esi + 0x28]
mov byte [esi + 2], 1
mov dword [esi + 0x34], eax
mov dword [esp + 0x48], ecx
cmp eax, 1
jge 0x431a4a
push 0x510fb4
push 0xf94f
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0040c1c0
add esp, 0x14
mov dword [esp + 0x24], 0xb
jmp 0x431a94
cmp byte [edi + 9], 0
je 0x431a68
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x431a68
mov ecx, edi
call fcn.0041ada0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x48]
push ecx
push dword [esp + 0x54]
mov edx, eax
mov ecx, edi
push dword [esp + 0x38]
call fcn.0041ea60
add esp, 0xc
mov dword [esp + 0x24], eax
cmp byte [edi + 9], 0
je 0x431a94
add dword [edi + 0xc], 0xffffffff
jne 0x431a94
mov ecx, edi
call fcn.0041ad60
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x1c]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x14]
cmp byte [eax + 1], 0xf7
setne al
mov byte [esi + 4], al
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 2]
mov eax, dword [esi + 0x28]
and cl, 3
mov esi, dword [esp + 0x18]
mov byte [eax + 0x43], cl
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4357e3
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
push 0
push 0xffffffffffffffff
mov ecx, dword [edx + 8]
mov edx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, edi
movsx eax, word [esi + 0x38]
push eax
call fcn.0042ed30
mov edx, eax
add esp, 0xc
test edx, edx
je 0x4357ce
or dword [edx + 8], 1
mov edi, dword [edx + 0x28]
mov byte [edx + 2], 1
mov ecx, dword [esi + 0x2c]
mov dword [edx + 0x2c], ecx
mov al, byte [esi + 4]
mov byte [edx + 4], al
mov eax, ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x30], eax
cmp byte [esi + 9], 0
je 0x431b44
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x431b44
mov ecx, esi
call fcn.0041ada0
mov eax, dword [esp + 0x30]
push edi
push eax
push 4
mov edx, 1
mov ecx, esi
call fcn.0041ea60
add esp, 0xc
mov dword [esp + 0x24], eax
cmp byte [esi + 9], 0
je 0x42f2a7
add dword [esi + 0xc], 0xffffffff
jne 0x42f2a7
mov ecx, esi
call fcn.0041ad60
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, edi
push 0
push 0xffffffffffffffff
push dword [eax + 8]
mov edx, dword [eax + 4]
call fcn.0042ed30
mov edi, eax
add esp, 0xc
test edi, edi
je 0x434952
mov eax, dword [esp + 0x14]
lea esi, [edi + 0xc]
or dword [edi + 8], 1
xor edx, edx
mov byte [edi + 2], 1
push 0x41e
movzx eax, word [eax + 2]
or eax, 5
push eax
mov eax, dword [esp + 0x20]
push esi
push eax
mov ecx, dword [eax]
call fcn.0041ca70
mov ecx, eax
add esp, 0x10
test ecx, ecx
jne 0x4357db
mov ecx, dword [esi]
lea edx, [eax + 1]
call fcn.0041d930
mov ecx, eax
test ecx, ecx
jne 0x4357db
mov ecx, dword [esp + 0x14]
mov esi, dword [esi]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x48], eax
mov dword [edi + 0x2c], eax
test eax, eax
je 0x431d03
movzx eax, word [ecx + 2]
or eax, 2
cmp byte [esi + 9], 0
mov dword [esp + 0x30], eax
je 0x431c39
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x431c39
mov ecx, esi
call fcn.0041ada0
mov eax, dword [esp + 0x30]
push eax
lea edx, [esp + 0xdc]
mov ecx, esi
call fcn.00423270
add esp, 4
mov dword [esp + 0x24], eax
cmp byte [esi + 9], 0
je 0x431c66
add dword [esi + 0xc], 0xffffffff
jne 0x431c66
mov ecx, esi
call fcn.0041ad60
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x431cfd
mov eax, dword [edi + 0x28]
mov esi, dword [edi + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd8]
cmp eax, 1
jge 0x431cb3
push 0x510fb4
push 0xf94f
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0040c1c0
add esp, 0x14
mov dword [esp + 0x24], 0xb
mov byte [edi + 4], 0
jmp 0x431d53
cmp byte [esi + 9], 0
je 0x431cd0
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x431cd0
mov ecx, esi
call fcn.0041ada0
mov eax, dword [esp + 0xd8]
push dword [esp + 0x30]
mov edx, eax
mov ecx, esi
push dword [esp + 0x4c]
push 4
call fcn.0041ea60
add esp, 0xc
mov dword [esp + 0x24], eax
cmp byte [esi + 9], 0
je 0x431cfd
add dword [esi + 0xc], 0xffffffff
jne 0x431cfd
mov ecx, esi
call fcn.0041ad60
mov byte [edi + 4], 0
jmp 0x431d53
cmp byte [esi + 9], 0
mov eax, dword [edi + 0x28]
mov dword [esp + 0x30], eax
je 0x431d24
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x431d24
mov ecx, esi
call fcn.0041ada0
mov eax, dword [esp + 0x30]
push eax
push 0
push 4
mov edx, 1
mov ecx, esi
call fcn.0041ea60
add esp, 0xc
mov dword [esp + 0x24], eax
cmp byte [esi + 9], 0
je 0x431d4f
add dword [esi + 0xc], 0xffffffff
jne 0x431d4f
mov ecx, esi
call fcn.0041ad60
mov byte [edi + 4], 1
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
test ecx, ecx
jne 0x4357df
mov eax, dword [esp + 0x14]
cmp word [eax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [edi + 8]
and eax, 0xfffffffb
or ecx, eax
mov eax, dword [esp + 0x20]
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 4]
mov edx, dword [eax + 8]
mov dword [esp + 0x48], edx
test edi, edi
jle 0x431dbd
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x18]
sub eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, dword [esp + 0x1c]
jmp 0x431dc4
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x5c]
mov eax, dword [eax + 0x70]
lea ecx, [edx*8 + 0x60]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + edi*4]
test edx, edx
je 0x431df4
mov ecx, dword [esp + 0x1c]
call fcn.00428f10
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x70]
mov ecx, dword [esp + 0x30]
mov dword [eax + edi*4], 0
cmp dword [esi + 0x18], ecx
jge 0x431e11
mov edx, ecx
mov ecx, esi
push 0
call fcn.00425ab0
add esp, 4
test eax, eax
jne 0x43494e
jmp 0x431e1c
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x10]
xorps xmm0, xmm0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
push ecx
mov eax, dword [eax + 0x70]
mov dword [eax + edi*4], ecx
mov eax, dword [esp + 0x4c]
movups xmmword [ecx], xmm0
movups xmmword [ecx + 0x10], xmm0
mov dword [ecx + 0x20], 0
mov word [ecx + 0x38], ax
add eax, 0x16
mov word [ecx], 0xff01
lea eax, [ecx + eax*4]
mov dword [ecx + 0x48], eax
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x2c], eax
mov ecx, esi
mov edx, dword [edx + 0xc]
call fcn.00436fc0
jmp 0x4315ae
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x10]
mov ecx, edi
mov esi, dword [edx + 0x14]
add ecx, 1
mov eax, esi
mov dword [edx + 0x10], ecx
adc eax, 0
or edi, esi
mov dword [edx + 0x14], eax
je 0x4321ef
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 4]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x48], edx
test edi, edi
jle 0x431edb
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x18]
sub eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, dword [esp + 0x1c]
jmp 0x431ee2
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x5c]
mov eax, dword [eax + 0x70]
lea ecx, [edx*8 + 0x60]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + edi*4]
test edx, edx
je 0x431f12
mov ecx, dword [esp + 0x1c]
call fcn.00428f10
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x70]
mov ecx, dword [esp + 0x30]
mov dword [eax + edi*4], 0
cmp dword [esi + 0x18], ecx
jge 0x431f2f
mov edx, ecx
mov ecx, esi
push 0
call fcn.00425ab0
add esp, 4
test eax, eax
jne 0x43494e
jmp 0x431f3a
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x10]
xorps xmm0, xmm0
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov eax, dword [eax + 0x70]
mov dword [eax + edi*4], ecx
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x1c]
movups xmmword [ecx], xmm0
movups xmmword [ecx + 0x10], xmm0
mov dword [ecx + 0x20], 0
mov word [ecx + 0x38], ax
add eax, 0x16
mov word [ecx], 0xff03
lea eax, [ecx + eax*4]
mov dword [ecx + 0x48], eax
mov eax, dword [esp + 0x14]
mov byte [ecx + 2], 1
mov eax, dword [eax + 8]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x20]
mov byte [ecx + 4], 1
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, edi
mov edx, dword [edi + 0x70]
mov eax, dword [eax + 4]
mov edx, dword [edx + eax*4]
call fcn.00428f10
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], 0
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 4], 0
mov byte [esi + 2], 0
je 0x432105
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [edi + 8]
and al, 0xe
cmp al, 2
jne 0x432013
xor edx, edx
mov ecx, edi
call fcn.0042ee20
mov ecx, edi
call fcn.004260a0
movzx ecx, word [edi + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x50], edx
test cl, 4
jne 0x43206d
test cl, 8
je 0x4321ef
mov ecx, eax
call fcn.004d9bc0
movsd xmm1, qword [edi]
comisd xmm0, xmm1
jbe 0x43205a
mov ecx, dword [esp + 0x2c]
test cl, 1
lea eax, [ecx - 1]
cmove eax, ecx
mov ecx, eax
mov dword [esp + 0x2c], ecx
jmp 0x43206d
comisd xmm1, xmm0
jbe 0x43206d
mov eax, dword [esp + 0x2c]
test al, 1
jne 0x43206d
inc eax
mov dword [esp + 0x2c], eax
mov edi, dword [esp + 0x30]
lea eax, [esp + 0x6c]
mov ecx, dword [esi + 0x28]
xor edx, edx
push eax
push 0
push dword [esp + 0x58]
push edi
call fcn.0041f510
mov dword [esp + 0x34], eax
add esp, 0x10
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x50]
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], eax
test ecx, ecx
jne 0x4357db
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x6c]
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
cmp eax, 0x1a
jl 0x432205
test ecx, ecx
js 0x4321b3
jne 0x4320d7
cmp eax, 0x1b
je 0x4321b3
mov dword [esp + 0x6c], 0
mov ecx, dword [esp + 0x14]
test edi, edi
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea eax, [ecx + 0x14]
cmove eax, ecx
mov ecx, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esi + 0x28]
mov ecx, dword [esp + 0x14]
mov al, byte [eax + 0x43]
and al, 2
mov byte [esp + 0x3b], al
mov eax, 0
setne al
test dl, 1
mov dword [esp + 0x40], eax
lea edx, [esp + 0x130]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x130], eax
mov ax, word [ecx + 0x10]
mov word [esp + 0x138], ax
sete al
mov byte [esp + 0x13e], 0
lea eax, [eax*2 - 1]
mov byte [esp + 0x13a], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x134], eax
lea eax, [esp + 0x6c]
mov ecx, dword [esi + 0x28]
push eax
push 0
push 0
push 0
call fcn.0041f510
mov ecx, eax
add esp, 0x10
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x43000d
cmp byte [esp + 0x3b], al
je 0x4320a4
mov edi, dword [esp + 0x40]
cmp byte [esp + 0x13e], al
jne 0x4320a8
mov ecx, dword [esp + 0x6c]
jmp 0x432220
push 0
push dword [esi + 0x28]
mov dword [esp + 0x74], 0
call fcn.0041fba0
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x4320df
cmp ecx, 0x65
jne 0x4357db
mov dword [esp + 0x6c], 1
mov dword [esp + 0x24], 0
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x58]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42f2a0
test ecx, ecx
jg 0x432229
jne 0x432210
cmp eax, 0x18
je 0x432229
mov eax, dword [esi + 0x28]
xor ecx, ecx
cmp byte [eax + 0x42], 1
setne cl
mov dword [esp + 0x6c], ecx
test ecx, ecx
jne 0x4321ef
jmp 0x4320df
push 0
push dword [esi + 0x28]
mov dword [esp + 0x74], 0
call fcn.0041fd10
jmp 0x4321c5
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
cmp dword [edx + 0x10], 0
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], edi
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
jle 0x432291
mov eax, dword [edi + 0x2c]
lea edi, [esp + 0x1a0]
mov dword [esp + 0x1a0], eax
mov ax, word [edx + 0x10]
mov word [esp + 0x1a8], ax
xor eax, eax
mov dword [esp + 0x1a4], esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x48], eax
jmp 0x4322db
mov eax, 0x4000
test word [esi + 8], ax
je 0x4322ab
mov ecx, esi
call fcn.00425cc0
test eax, eax
jne 0x43494e
mov ecx, dword [edi + 0x2c]
call fcn.0042a960
mov edi, eax
mov dword [esp + 0x48], edi
test edi, edi
je 0x43494e
mov edx, dword [esi + 0xc]
push edi
push dword [esi + 0x10]
mov esi, dword [esp + 0x38]
mov ecx, dword [esi + 0x2c]
call fcn.0042a9b0
mov edx, dword [esp + 0x1c]
add esp, 8
mov byte [edi + 0xa], 0
cmp byte [edx], 0x1c
mov dword [esp + 0x30], 0
jne 0x432317
movzx edx, word [edi + 8]
xor ecx, ecx
test edx, edx
je 0x432317
mov eax, dword [edi + 4]
add eax, 8
nop dword [eax]
test byte [eax], 1
jne 0x43230f
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x432300
jmp 0x432317
mov dword [esp + 0x30], 1
mov ecx, dword [esi + 0x28]
lea eax, [esp + 0x118]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.0041f510
mov dword [esp + 0x34], eax
add esp, 0x10
mov eax, dword [esp + 0x48]
test eax, eax
je 0x432349
mov ecx, dword [esp + 0x18]
mov edx, eax
call fcn.00409f50
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4357db
mov eax, dword [esp + 0x118]
test eax, eax
mov dword [esi + 0x20], eax
mov al, 1
sete cl
mov byte [esi + 3], 0
sub al, cl
mov dword [esi + 0x1c], 0
mov byte [esi + 2], al
mov esi, dword [esp + 0x14]
cmp byte [esi], 0x1e
jne 0x43239f
test ecx, ecx
jne 0x4321f3
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
cmp dword [esp + 0x30], 0
jne 0x4321f3
test ecx, ecx
je 0x4321f3
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
test al, 4
jne case.0x42f15f.32
test al, 8
jne 0x4323f9
test al, 2
je 0x432400
mov edx, 1
mov ecx, esi
call fcn.0042ee20
jmp 0x432400
mov ecx, esi
call fcn.00426150
test byte [esi + 8], 4
je 0x4321ef
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
mov dword [esp + 0xdc], 0
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x30], ecx
mov ecx, dword [ecx + 0x28]
lea eax, [eax + eax*4]
mov esi, dword [edx + eax*8]
mov edi, dword [edx + eax*8 + 4]
lea eax, [esp + 0xdc]
push eax
push 0
push edi
push esi
xor edx, edx
call fcn.0041f510
mov ecx, dword [esp + 0x40]
add esp, 0x10
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xdc]
mov dword [ecx + 0x40], esi
mov dword [ecx + 0x44], edi
mov word [ecx + 2], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x20], eax
test eax, eax
je 0x431603
mov esi, dword [esp + 0x14]
cmp dword [esi + 8], 0
jne 0x4321f3
mov ecx, 0x144af
call fcn.00481310
mov ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x431607
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edx, [eax + ecx*8]
mov eax, 0x2460
test word [edx + 8], ax
je 0x4324c6
mov ecx, edx
call fcn.0042f010
mov edx, eax
jmp 0x4324cf
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x10]
mov dword [edx], eax
mov eax, dword [ecx + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov esi, dword [esp + 0x14]
xorps xmm0, xmm0
movlpd qword [esp + 0x80], xmm0
mov dword [esp + 0x98], 0
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edx, [eax + ecx*8]
mov eax, 0x2460
mov dword [esp + 0x48], edx
test word [edx + 8], ax
je 0x43254f
mov ecx, edx
call fcn.0042f010
mov dword [esp + 0x48], eax
jmp 0x432558
mov eax, 4
mov word [edx + 8], ax
mov ecx, dword [esi + 4]
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x2c], edi
test byte [edi + 8], 2
jne 0x43264a
mov esi, dword [edi + 0x28]
cmp byte [esi + 0x42], 1
jne 0x432588
test byte [esi + 0x40], 8
je 0x432588
mov dword [esp + 0x24], 0
jmp 0x4325fd
mov ecx, esi
call fcn.0041f250
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357db
cmp byte [esi + 0x42], al
jne 0x4325cb
mov edi, 1
mov dword [esp + 0x98], 1
xor esi, esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], esi
jmp 0x432658
mov ecx, esi
mov dword [esp + 0x98], 0
call fcn.0041f440
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4325f1
or byte [esi + 0x40], 8
mov dword [esp + 0x24], ecx
jmp 0x4325fd
and byte [esi + 0x40], 0xf7
test ecx, ecx
jne 0x4357db
mov esi, dword [edi + 0x28]
mov ecx, esi
call fcn.0041ec60
mov edi, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], esi
cmp esi, 0x7fffffff
jl 0x432634
jg 0x43262a
cmp edi, 0xffffffff
jb 0x432634
mov eax, dword [esp + 0x2c]
or dword [eax + 8], 2
jmp 0x432658
add edi, 1
mov dword [esp + 0x80], edi
adc esi, 0
mov dword [esp + 0x84], esi
jmp 0x432658
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4326fa
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0xc4]
test edx, edx
je 0x432694
mov eax, dword [edx + 4]
test eax, eax
je 0x432689
nop dword [eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x432680
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
jmp 0x43269e
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x28]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x50], ecx
call fcn.004261b0
mov eax, dword [esp + 0x50]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
cmp ecx, 0xffffffff
jne 0x4326c1
cmp edx, 0x7fffffff
je 0x432789
mov eax, dword [esp + 0x2c]
test byte [eax + 8], 2
mov eax, dword [esp + 0x50]
jne 0x432789
add ecx, 1
adc edx, 0
cmp esi, edx
jg 0x4326f5
jl 0x4326e3
cmp edi, ecx
jae 0x4326f5
mov edi, ecx
mov esi, edx
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], esi
mov dword [eax], edi
mov dword [eax + 4], esi
mov eax, dword [esp + 0x2c]
test byte [eax + 8], 2
je 0x432797
mov dword [esp + 0x30], 0
lea eax, [esp + 0x80]
push eax
push 8
call fcn.0040c200
mov esi, dword [esp + 0x8c]
lea eax, [esp + 0xa0]
mov edi, dword [esp + 0x88]
and esi, 0x3fffffff
push eax
mov eax, dword [esp + 0x38]
add edi, 1
push 0
adc esi, 0
mov dword [esp + 0x90], edi
push esi
mov ecx, dword [eax + 0x28]
xor edx, edx
push edi
mov dword [esp + 0x9c], esi
call fcn.0041f510
mov ecx, eax
add esp, 0x18
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357db
cmp dword [esp + 0x98], eax
jne 0x432793
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, 0x64
jl 0x432710
mov ecx, 0xd
jmp 0x4357db
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov byte [eax + 3], 0
add ecx, 0x14
mov dword [eax + 0x1c], 0
mov eax, dword [esp + 0x48]
mov dword [eax], edi
mov edi, dword [esp + 0x1c]
mov dword [eax + 4], esi
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
cmp byte [esp + 0x3b], 0x74
mov edx, dword [esp + 0x14]
mov dword [esp + 0x30], 0
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
lea eax, [eax + eax*4]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
jne 0x4327fc
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8]
mov edx, dword [ecx + eax*8 + 4]
jmp 0x4327ff
cdq
mov esi, eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x164], edx
mov dword [esp + 0x160], esi
cmp byte [ecx + 1], 0xfa
jne 0x432858
mov eax, dword [esp + 0x18]
cmp dword [eax + 0xdc], 0
je 0x432858
mov eax, dword [eax + 0x10]
movsx ecx, byte [edi + 1]
add ecx, ecx
mov ecx, dword [eax + ecx*8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x48], ecx
mov ecx, eax
mov eax, 0x12
test byte [ecx + 2], 4
cmovne eax, dword [esp + 0x11c]
mov dword [esp + 0x30], eax
jmp 0x432868
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], 0
test byte [ecx + 2], 1
je 0x432875
mov eax, dword [esp + 0x1c]
inc dword [eax + 0x2c]
test byte [ecx + 2], 0x20
je 0x432885
mov eax, dword [esp + 0x18]
mov dword [eax + 0x20], esi
mov dword [eax + 0x24], edx
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
movzx eax, word [edx + esi*8 + 8]
mov dword [esp + 0x2c], eax
test al, 1
je 0x4328b2
mov dword [esp + 0x168], 0
mov dword [esp + 0x174], 0
jmp 0x4328cc
mov eax, dword [edx + esi*8 + 0x10]
mov dword [esp + 0x168], eax
mov eax, dword [edx + esi*8 + 0xc]
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x2c]
movzx ecx, word [ecx + 2]
test cl, 0x10
je 0x4328da
mov edx, dword [edi + 0x20]
jmp 0x4328dc
xor edx, edx
test eax, 0x4000
je 0x4328f3
mov eax, dword [esp + 0x28]
mov eax, dword [eax + esi*8]
mov dword [esp + 0x178], eax
jmp 0x4328fe
mov dword [esp + 0x178], 0
push edx
and ecx, 0xa
mov dword [esp + 0x15c], 0
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [esp + 0x160]
call fcn.00422b60
mov esi, dword [esp + 0x20]
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
test ecx, ecx
jne 0x4357df
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x42f2ab
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x42f2ab
push dword [esp + 0x164]
mov edx, dword [esp + 0x4c]
push dword [esp + 0x164]
push dword [edx]
push dword [esp + 0x5c]
push ecx
push dword [esi + 0xd8]
call eax
mov ecx, dword [esp + 0x2c]
add esp, 0x18
mov edi, dword [esp + 0x1c]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov edx, dword [esp + 0x14]
cmp byte [edx + 1], 0xfa
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
jne 0x4329f5
cmp dword [esi + 0xdc], 0
je 0x4329f5
movsx ecx, byte [edi + 1]
mov eax, dword [esi + 0x10]
add ecx, ecx
test byte [edx + 2], 2
mov esi, dword [edx + 0x10]
mov dword [esp + 0x48], esi
mov eax, dword [eax + ecx*8]
mov dword [esp + 0x30], eax
je 0x4329ff
cmp byte [edi + 4], 0
je 0x4329ff
mov esi, dword [edi + 0x28]
mov ecx, esi
call fcn.0041ec60
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0x14]
mov dword [edi + 0x40], eax
mov eax, dword [esi + 0x14]
mov esi, dword [esp + 0x48]
mov dword [edi + 0x44], eax
jmp 0x4329ff
mov dword [esp + 0x30], 0
xor esi, esi
mov dl, byte [edx + 2]
mov ecx, dword [edi + 0x28]
call fcn.00422eb0
mov ecx, eax
mov dword [edi + 0x1c], 0
mov dword [esp + 0x24], ecx
mov dword [edi + 0x20], 0
test ecx, ecx
jne 0x4357db
test byte [esp + 0x50], 1
je 0x42f2a7
mov eax, dword [esp + 0x1c]
inc dword [eax + 0x2c]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0xdc]
test eax, eax
je 0x42f2a7
test byte [esi + 0x24], 0x20
jne 0x42f2a7
push dword [edi + 0x44]
push dword [edi + 0x40]
push dword [esi]
mov esi, dword [esp + 0x24]
push dword [esp + 0x3c]
push 9
push dword [esi + 0xd8]
call eax
mov ecx, dword [esp + 0x2c]
add esp, 0x18
mov edi, dword [esp + 0x1c]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [edi + 0x2c]
add dword [esi + 0x5c], eax
add ecx, 0x14
mov dword [esi + 0x58], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x2c], 0
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
mov dword [esp + 0xbc], 0
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [esp + 0xbc]
push eax
mov eax, dword [esp + 0x18]
push dword [eax + 0x10]
call fcn.00439390
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357e3
cmp dword [esp + 0xbc], eax
jne 0x4321ef
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + ecx*4]
call fcn.004392f0
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357e3
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
add ecx, 0x14
mov dword [eax + 0x1c], 0
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x432b83
mov ecx, esi
call fcn.0042f010
mov esi, eax
jmp 0x432b8c
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov edi, dword [eax + 0x28]
mov ecx, edi
call fcn.0041ec60
mov eax, dword [esp + 0x18]
mov edx, dword [edi + 0x1c]
cmp edx, dword [eax + 0x60]
ja 0x435558
mov eax, dword [edi + 0x18]
mov dword [esp + 0x30], eax
movsx eax, byte [edi + 0x44]
mov dword [esp + 0x24], 0
mov eax, dword [edi + eax*4 + 0x74]
mov ecx, dword [eax + 0x3c]
sub ecx, dword [esp + 0x30]
movzx eax, word [edi + 0x20]
cmp eax, ecx
cmovb ecx, eax
cmp edx, ecx
ja 0x432bf3
mov eax, dword [esp + 0x30]
mov dword [esi + 0x10], eax
mov eax, 0x1010
mov word [esi + 8], ax
mov dword [esi + 0xc], edx
jmp 0x432c0f
push esi
push edx
xor edx, edx
mov ecx, edi
call fcn.00426870
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357db
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0xc], 0
jne 0x430365
mov eax, 0x1000
test word [esi + 8], ax
je 0x430365
mov ecx, esi
call fcn.00425c40
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
test eax, eax
jne 0x434956
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edi, [eax + ecx*8]
mov eax, 0x2460
test word [edi + 8], ax
je 0x432c79
mov ecx, edi
call fcn.0042f010
mov edi, eax
jmp 0x432c82
mov eax, 4
mov word [edi + 8], ax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x70]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 2], 0
je 0x432cb6
mov ecx, dword [esp + 0x14]
mov eax, 1
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov word [edi + 8], ax
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
cmp byte [esi + 3], 0
je 0x432cf4
mov ecx, dword [esi + 0x40]
mov dword [esp + 0xb0], ecx
mov eax, dword [esi + 0x44]
mov esi, dword [esp + 0x18]
mov dword [esp + 0xb4], eax
mov dword [edi], ecx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x14]
mov dword [edi + 4], eax
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
cmp byte [esi], 2
jne 0x432d57
mov ecx, dword [esi + 0x28]
lea edx, [esp + 0xb0]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [esp + 0x24]
add esp, 8
mov edx, esi
mov dword [esp + 0x24], eax
call fcn.0042bea0
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4357db
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0x18]
mov dword [edi], ecx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x14]
mov dword [edi + 4], eax
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esi + 0x28]
cmp byte [eax + 0x42], 1
je 0x432d77
mov ecx, esi
call fcn.0042a4d0
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357db
jmp 0x432d7d
xor eax, eax
mov dword [esp + 0x24], eax
cmp byte [esi + 2], 0
je 0x432da4
mov ecx, dword [esp + 0x14]
mov eax, 1
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov word [edi + 8], ax
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.0041ec60
mov ecx, dword [esi + 0x10]
mov dword [esp + 0xb0], ecx
mov eax, dword [esi + 0x14]
mov esi, dword [esp + 0x18]
mov dword [esp + 0xb4], eax
mov dword [edi], ecx
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x14]
mov dword [edi + 4], eax
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 0
mov byte [ecx + 2], 1
mov dword [ecx + 0x1c], 0
jne 0x42f2af
mov ecx, dword [ecx + 0x28]
call fcn.0041b240
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
mov esi, dword [edi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x14]
cmp dword [eax + 0xc], ecx
je 0x432e52
cmp byte [esi + 0x42], 1
je 0x42f2a7
cmp byte [esi + 0x42], 1
jne 0x432e66
test byte [esi + 0x40], 8
je 0x432e66
xor eax, eax
mov dword [esp + 0x24], eax
jmp 0x432eb2
mov ecx, esi
call fcn.0041f250
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x432eaa
cmp byte [esi + 0x42], al
jne 0x432e81
lea ecx, [eax + 1]
jmp 0x432eae
mov ecx, esi
mov dword [esp + 0x2c], 0
call fcn.0041f440
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
mov ecx, dword [esp + 0x2c]
jne 0x432ea4
or byte [esi + 0x40], 8
jmp 0x432eae
and byte [esi + 0x40], 0xf7
jmp 0x432eae
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov byte [edi + 2], cl
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
test eax, eax
jne 0x4357d7
mov esi, dword [esp + 0x14]
cmp dword [esi + 8], eax
jle 0x42f2a7
test ecx, ecx
jne 0x4321f3
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.0041f250
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x43000d
cmp byte [esi + 0x42], al
jne 0x432f44
mov esi, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xac], 1
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42f2a0
mov ecx, esi
mov dword [esp + 0xac], 0
call fcn.0041f380
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x43000d
cmp dword [esp + 0xac], eax
jne 0x4321ef
mov ecx, esi
call fcn.0041fa30
test edx, edx
jl 0x42f1dc
jg 0x432f8a
test eax, eax
jb 0x42f1dc
push edx
push eax
call fcn.0040e140
mov esi, dword [esp + 0x1c]
add esp, 8
cwde
cmp eax, dword [esi + 0xc]
jge 0x42f1dc
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xac], 1
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42f2a0
inc dword [edi + 0xa8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x9c], 1
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov esi, dword [eax + ecx*4]
cmp byte [esi], 1
jne 0x432ff8
lea edx, [esp + 0x9c]
mov ecx, esi
call fcn.00439230
mov ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x433045
mov edi, dword [esi + 0x28]
mov ecx, edi
call fcn.0041f250
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x433036
cmp byte [edi + 0x42], al
jne 0x43301e
mov dword [esp + 0x9c], 1
jmp 0x433036
mov ecx, edi
mov dword [esp + 0x9c], 0
call fcn.0041f380
mov ecx, eax
mov dword [esp + 0x24], ecx
mov edi, dword [esp + 0x1c]
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test ecx, ecx
jne 0x43000d
mov eax, dword [esp + 0x9c]
mov byte [esi + 2], al
test eax, eax
jne 0x4321ef
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
mov esi, dword [edi + 0x28]
cmp byte [esi + 0x38], 0
je 0x4330ff
cmp byte [esi + 0x39], 0
je 0x4330c3
mov ecx, dword [esi + 0x10]
call fcn.00436c70
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x43312f
mov eax, dword [esi + 0x10]
cmp dword [eax + 0x18], ecx
jne 0x43312f
mov esi, dword [esp + 0x18]
mov ecx, 0x65
mov dword [esp + 0x24], ecx
jmp 0x43316e
mov ecx, dword [esi + 0x14]
lea edx, [esp + 0xc0]
mov dword [esp + 0xc0], 0
call fcn.00437f40
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x43312f
cmp dword [esp + 0xc0], eax
je 0x43312f
mov esi, dword [esp + 0x18]
mov ecx, 0x65
mov dword [esp + 0x24], ecx
jmp 0x43316e
mov edx, dword [esi + 0x24]
mov eax, dword [edx + 4]
mov dword [esi + 0x24], eax
mov dword [edx + 4], 0
cmp dword [esi + 0x28], 0
jne 0x43311e
mov ecx, dword [esp + 0x18]
call fcn.00437190
xor eax, eax
mov ecx, 0x65
cmp dword [esi + 0x24], eax
cmovne ecx, eax
mov dword [esp + 0x24], ecx
mov esi, dword [esp + 0x18]
jmp 0x43316e
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
cmp dword [eax + ecx*4], 0
je 0x42f2af
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x14]
push dword [eax + 0xc]
mov eax, dword [eax + 0x10]
push dword [edi + 0x28]
call eax
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
mov dword [edi + 0x1c], 0
test ecx, ecx
jne 0x433194
mov eax, dword [esp + 0x14]
mov byte [edi + 2], cl
mov ecx, dword [esp + 0x1c]
movzx eax, word [eax + 2]
inc dword [ecx + eax*4 + 0xa0]
jmp case.0x42f15f.13
cmp ecx, 0x65
jne 0x4357df
mov dword [esp + 0x24], 0
mov byte [edi + 2], 1
jmp 0x434cc3
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
je 0x4331d9
mov eax, dword [esp + 0x1c]
inc dword [eax + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x4331f9
mov ecx, esi
call fcn.00425cc0
mov ecx, eax
test ecx, ecx
jne 0x4357db
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x7d
jne 0x433210
mov edx, esi
mov ecx, edi
call fcn.00438210
mov esi, dword [esp + 0x18]
jmp 0x4315b1
mov eax, dword [esi + 0xc]
cdq
mov dword [esp + 0x238], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x230], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x23c], edx
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x244], eax
mov ax, word [ecx + 0x10]
mov word [esp + 0x248], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x433259
mov ecx, dword [edi + 0x20]
jmp 0x43325b
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [esp + 0x234]
and eax, 0xa
push eax
call fcn.00422b60
mov esi, dword [esp + 0x20]
add esp, 8
mov dword [edi + 0x1c], 0
jmp 0x4315b1
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov dword [esp + 0x180], eax
mov ax, word [edx + 0xc]
mov word [esp + 0x188], ax
mov eax, dword [edx + 8]
lea edx, [esp + 0x180]
mov byte [esp + 0x18a], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [esp + 0x184], eax
lea eax, [esp + 0x100]
push eax
push 0
push 0
push 0
call fcn.0041f510
mov ecx, eax
add esp, 0x10
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357db
cmp dword [esp + 0x100], eax
jne 0x433311
mov dl, 4
mov ecx, edi
call fcn.00422eb0
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4357db
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add ecx, 0x14
mov eax, dword [esp + 0x20]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov esi, dword [esp + 0x18]
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x70]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x28]
cmp byte [eax + 0x42], 1
je 0x433368
mov ecx, esi
call fcn.0042a4d0
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x43000d
mov edx, dword [esp + 0x14]
jmp 0x43336e
xor eax, eax
mov dword [esp + 0x24], eax
cmp byte [esi + 2], 0
jne 0x43346b
mov edx, dword [esi + 0x28]
lea eax, [esp + 0xe0]
mov ecx, dword [esp + 0x18]
xorps xmm0, xmm0
push eax
movlpd qword [esp + 0xe4], xmm0
call fcn.0042bb40
mov ecx, eax
add esp, 4
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x43000d
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x80
jne 0x4333f6
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esp + 0xe0]
mov dword [ecx + 0x40], eax
mov eax, dword [esp + 0xe4]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x14]
mov word [ecx + 2], 0x100
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x24], esi
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x43343b
call fcn.0042f010
mov esi, dword [esp + 0x18]
mov ecx, eax
mov eax, dword [esp + 0xe0]
mov dword [ecx], eax
mov eax, dword [esp + 0xe4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov esi, dword [esp + 0x18]
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [esp + 0xe0]
mov dword [ecx], eax
mov eax, dword [esp + 0xe4]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004263f0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
cmp byte [esp + 0x3b], 0x28
mov dword [esp + 0x8c], 0
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edx, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x190], eax
mov ax, word [ecx + 0x10]
mov word [esp + 0x198], ax
sbb al, al
mov byte [esp + 0x19a], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, esi
mov dword [esp + 0x194], eax
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x194]
push eax
call fcn.0042bc80
mov dword [esp + 0x2c], eax
add esp, 8
mov eax, dword [esp + 0x14]
test byte [eax], 1
mov eax, dword [esp + 0x8c]
jne 0x433517
neg eax
jmp 0x433518
inc eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x8c], eax
test ecx, ecx
jne 0x4357e3
test eax, eax
jg 0x4321ef
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edi, [eax + ecx*8]
mov eax, 0x2460
test word [edi + 8], ax
je 0x43356d
mov ecx, edi
call fcn.0042f010
mov edx, dword [esp + 0x14]
mov edi, eax
jmp 0x433576
mov eax, 4
mov word [edi + 8], ax
mov eax, 1
mov word [edi + 8], ax
mov eax, dword [esi + 0xac]
inc eax
cmp dword [esi + 0xa0], eax
jg 0x435494
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 4]
mov dword [esp + 0x50], ecx
shl ecx, 4
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0xc4], 0
mov dword [esp + 0x48], ecx
mov esi, dword [ecx + eax + 4]
cmp byte [esi + 9], 0
je 0x4335cf
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x4335cf
mov ecx, esi
call fcn.0041ada0
mov edx, dword [esp + 0x30]
lea eax, [esp + 0xc4]
push eax
mov ecx, esi
call fcn.00423780
add esp, 4
mov dword [esp + 0x24], eax
cmp byte [esi + 9], 0
je 0x4335fc
add dword [esi + 0xc], 0xffffffff
jne 0x4335fc
mov ecx, esi
call fcn.0041ad60
mov esi, dword [esp + 0xc4]
mov eax, 4
mov ecx, dword [esp + 0x24]
mov word [edi + 8], ax
mov eax, esi
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
test ecx, ecx
jne 0x4357db
test esi, esi
je 0x42f2a7
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x10]
add edi, dword [esp + 0x48]
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x433655
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x1c], esi
jne 0x43364f
mov dword [ecx + 0x1c], edx
mov eax, dword [eax]
test eax, eax
jne 0x433644
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x433671
nop
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x2c], esi
jne 0x43366b
mov dword [ecx + 0x2c], edx
mov eax, dword [eax]
test eax, eax
jne 0x433660
mov al, byte [esp + 0x50]
mov ecx, dword [esp + 0x14]
inc al
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x6b], al
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov edx, dword [esp + 0x14]
lea eax, [esp + 0xc8]
xor ecx, ecx
mov dword [esp + 0xc8], 0
cmp dword [edx + 0xc], ecx
cmove eax, ecx
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [edx + 8]
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004236c0
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x24], eax
cmp dword [ecx + 0xc], 0
je 0x433701
mov eax, dword [esp + 0xc8]
add dword [edi + 0x2c], eax
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jle 0x4336fd
mov esi, dword [esp + 0x28]
lea ecx, [ecx + ecx*4]
cdq
add dword [esi + ecx*8], eax
mov eax, esi
mov esi, dword [esp + 0x18]
adc dword [eax + ecx*8 + 4], edx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x43550a
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x433745
mov edx, dword [ecx + 0x28]
mov ecx, esi
call fcn.004374f0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov ecx, dword [ecx + 0x28]
push 0
mov edx, dword [ecx + 0x34]
mov ecx, dword [ecx]
call fcn.004236c0
add esp, 4
jmp 0x4315b5
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edi, [eax + ecx*8]
mov eax, 0x2460
test word [edi + 8], ax
je 0x433786
mov ecx, edi
call fcn.0042f010
mov edx, dword [esp + 0x14]
mov edi, eax
jmp 0x43378f
mov eax, 4
mov word [edi + 8], ax
mov eax, dword [edx + 4]
xor ecx, ecx
shl eax, 4
add eax, dword [esi + 0x10]
cmp byte [edx], 0x87
mov dword [esp + 0xcc], 0
setne cl
mov esi, dword [eax + 4]
inc ecx
mov dword [esp + 0x30], ecx
cmp byte [esi + 9], 0
je 0x4337cd
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x4337cd
mov ecx, esi
call fcn.0041ada0
mov ecx, dword [esp + 0x30]
push ecx
lea edx, [esp + 0xd0]
mov ecx, esi
call fcn.00423270
add esp, 4
mov ecx, eax
cmp byte [esi + 9], 0
mov dword [esp + 0x24], ecx
je 0x4337fc
add dword [esi + 0xc], 0xffffffff
jne 0x4337fc
mov ecx, esi
call fcn.0041ad60
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
test ecx, ecx
jne 0x4357df
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x14]
cdq
add ecx, 0x14
mov dword [edi], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 4], edx
mov edi, dword [esp + 0x1c]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
inc byte [esi + 0x4e]
push 0
push 0
push 0
push dword [eax + 0x10]
push esi
call fcn.00458b70
add esp, 0x14
dec byte [esi + 0x4e]
jmp 0x4315b5
mov edx, dword [esp + 0x14]
lea eax, [edi + 0x6c]
mov dword [esp + 0x14c], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x148], esi
mov ecx, dword [edx + 4]
push dword [edx + 0x10]
mov dword [esp + 0x154], ecx
add ecx, ecx
push 0x50d3a0
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.0040bf90
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4354a9
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x148]
push 0
push ecx
push fcn.0045cf50
push esi
push eax
mov byte [eax + 0x99], 1
mov dword [esp + 0x168], 0
call fcn.00458b70
add esp, 0x14
mov edx, esi
mov esi, dword [esp + 0x18]
test eax, eax
mov ecx, esi
cmove eax, dword [esp + 0x154]
mov dword [esp + 0x24], eax
call fcn.00409f50
cmp dword [esp + 0x24], 0
mov byte [esi + 0x99], 0
jne 0x4354b5
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, esi
mov edx, dword [eax + 4]
call fcn.004459a0
jmp 0x4315b5
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0x10]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 0x10]
add ecx, ecx
mov edi, dword [eax + ecx*8 + 0xc]
lea eax, [esp + 0x104]
push eax
lea ecx, [edi + 8]
call fcn.0040e600
add esp, 4
mov esi, dword [eax + 8]
test esi, esi
je 0x4339ab
push dword [esp + 0x104]
mov edx, eax
lea ecx, [edi + 8]
call fcn.0040e6e0
add esp, 4
test esi, esi
je 0x4339ab
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x1c8], 0
jne 0x433968
add dword [esi + 0x20], 0xffffffff
jne 0x43398e
mov edx, esi
mov esi, eax
mov ecx, esi
call fcn.004479f0
mov ecx, dword [esp + 0x14]
or dword [esi + 0x18], 0x800000
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov ecx, dword [esp + 0x14]
mov esi, eax
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
or dword [esi + 0x18], 0x800000
add ecx, 0x14
jmp 0x42f13d
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
or dword [esi + 0x18], 0x800000
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, esi
push dword [eax + 0x10]
mov edx, dword [eax + 4]
call fcn.00447620
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, esi
push dword [eax + 0x10]
mov edx, dword [eax + 4]
call fcn.004698b0
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 0xc]
lea esi, [eax + eax*4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
lea eax, [esp + 0x108]
push eax
mov eax, dword [ecx + esi*8]
mov ecx, dword [esp + 0x1c]
inc eax
push eax
movzx eax, word [edx + 2]
push dword [edx + 8]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov edx, dword [edx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00424530
add esp, 0xc
mov dword [esp + 0x30], eax
mov ecx, edi
call fcn.004263f0
mov eax, dword [esp + 0x108]
test eax, eax
je 0x433a9d
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x43494e
mov ecx, dword [esp + 0x28]
dec eax
cdq
push fcn.00409ea0
push 1
sub dword [ecx + esi*8], eax
mov eax, ecx
push 0xffffffffffffffff
mov ecx, edi
sbb dword [eax + esi*8 + 4], edx
mov edx, dword [esp + 0x3c]
call fcn.00426650
add esp, 0xc
movzx edx, byte [esp + 0x60]
mov ecx, edi
call fcn.00425a90
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea edi, [eax + eax*4]
jne 0x433af0
mov ecx, esi
call fcn.00426490
test byte [esi + 8], 0x20
je 0x43494e
mov eax, dword [esp + 0x28]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.00413290
mov ecx, dword [esp + 0x1c]
add esp, 8
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea edi, [ecx + eax*8]
je 0x433b98
mov esi, dword [edi]
movzx eax, word [esi + 0x1a]
test al, 2
jne 0x433b53
test al, 1
jne 0x433b4e
mov ecx, dword [esi + 8]
call fcn.00413380
mov dword [esi + 8], eax
or word [esi + 0x1a], 3
mov eax, dword [esi + 8]
test eax, eax
je 0x433b98
mov ecx, dword [eax + 4]
mov edi, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x30], ecx
mov dword [esi + 8], eax
test eax, eax
jne 0x433b78
mov ecx, esi
call fcn.00413200
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x2c]
push edi
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00426450
add esp, 8
jmp 0x434cbf
mov ecx, edi
call fcn.004263f0
jmp case.0x42f15f.13
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [edx + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x30], eax
jne 0x433be2
mov ecx, esi
call fcn.00426490
test byte [esi + 8], 0x20
je 0x43494e
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
test eax, eax
je 0x433c07
push dword [ecx + edi*8 + 4]
mov edx, eax
push dword [ecx + edi*8]
mov ecx, dword [esi]
call fcn.00413620
add esp, 8
test eax, eax
jne 0x4321ef
mov eax, dword [esp + 0x30]
test eax, eax
js 0x42f2a7
mov eax, dword [esp + 0x28]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.00413290
mov ecx, dword [esp + 0x1c]
add esp, 8
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x40], esi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
cmp word [eax + 2], 0
je 0x433c84
mov eax, dword [edi + 0xc4]
mov ecx, dword [esi + 0x14]
test eax, eax
je 0x433c80
nop
cmp dword [eax + 0x1c], ecx
je 0x42f1dc
mov eax, dword [eax + 4]
test eax, eax
jne 0x433c70
mov ecx, dword [esp + 0x2c]
mov eax, dword [edi + 0xcc]
mov edi, dword [esp + 0x18]
cmp eax, dword [edi + 0x88]
jge 0x4354ce
test byte [ecx + 8], 0x40
jne 0x433e5b
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
add eax, ecx
test ecx, ecx
lea esi, [eax + 1]
cmovne esi, eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x433cd0
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, edi
cdq
push edx
push eax
call fcn.0040a1b0
mov edi, eax
add esp, 8
test edi, edi
je 0x43494e
mov ecx, dword [esp + 0x2c]
call fcn.00425ff0
mov eax, dword [esp + 0x2c]
mov ecx, 0x40
mov edx, dword [esp + 0x14]
sub edx, dword [esp + 0x58]
mov word [eax + 8], cx
mov ecx, dword [esp + 0x40]
mov dword [eax], edi
mov eax, dword [esp + 0x1c]
mov dword [edi], eax
mov dword [edi + 0x3c], esi
mov eax, dword [ecx + 0xc]
mov dword [edi + 0x40], eax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
mov dword [edi + 0x30], eax
mov eax, dword [edx + 0x5c]
mov dword [edi + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [edi + 0x38], eax
mov eax, dword [edx + 0x70]
mov dword [edi + 0x14], eax
mov eax, dword [edx + 0x1c]
mov dword [edi + 0x2c], eax
mov eax, dword [edx + 0x58]
mov dword [edi + 8], eax
mov eax, dword [edx + 0x88]
mov dword [edi + 0x34], eax
mov eax, dword [ecx + 0x14]
mov dword [edi + 0x1c], eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
lea eax, [edi + 0x50]
cmp eax, ecx
je 0x433d92
mov edx, dword [esp + 0x18]
mov esi, 0x80
nop
mov word [eax + 8], si
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x433d80
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x40]
inc dword [edx + 0xcc]
mov eax, dword [edx + 0xc4]
mov ecx, dword [esp + 0x18]
mov dword [edi + 4], eax
mov eax, dword [ecx + 0x20]
mov dword [edi + 0x20], eax
mov eax, dword [ecx + 0x24]
lea ecx, [edi + 0x50]
mov dword [edi + 0x24], eax
mov eax, dword [edx + 0x2c]
mov dword [edi + 0x44], eax
mov eax, dword [edx]
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 0x58]
mov dword [edi + 0x48], eax
mov eax, dword [edx + 0xd8]
mov dword [edi + 0x28], eax
mov dword [edx + 0x5c], ecx
mov dword [edx + 0xd8], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0xc4], edi
mov eax, dword [edi + 0x3c]
mov dword [edx + 0x18], eax
movzx eax, word [edi + 0x40]
mov dword [edx + 0x1c], eax
mov eax, dword [edx + 0x18]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [edx + 0x70], ecx
mov eax, dword [esi + 0xc]
lea ecx, [ecx + eax*4]
mov dword [edi + 0x18], ecx
mov eax, dword [esi + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call fcn.004a4720
mov edx, dword [esi]
add esp, 0xc
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x58], edx
mov dword [edi + 0x58], edx
mov eax, dword [esi + 4]
lea esi, [edx - 0x14]
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov dword [edi + 0x88], eax
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov edi, dword [ecx]
mov edx, dword [esp + 0x1c]
jmp 0x433d96
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x433e8c
mov ecx, esi
call fcn.0042f010
mov esi, eax
jmp 0x433e95
mov eax, 4
mov word [esi + 8], ax
mov edx, dword [edi + 0xc4]
push 0x1000
mov eax, dword [edx + 0x30]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [esp + 0x18]
add eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.00426590
mov ecx, dword [esp + 0x18]
add esp, 4
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42f13d
test dword [esi + 0x18], 0x40000
mov eax, dword [esp + 0x14]
je 0x433f08
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x14]
cdq
add dword [esi + 0x1c0], eax
mov eax, dword [esp + 0x20]
adc dword [esi + 0x1c4], edx
add ecx, 0x14
jmp 0x42f13d
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x14]
cdq
je 0x433f2e
add dword [esi + 0x1b8], eax
mov eax, dword [esp + 0x20]
adc dword [esi + 0x1bc], edx
add ecx, 0x14
jmp 0x42f13d
add dword [edi + 0x40], eax
mov eax, dword [esp + 0x20]
adc dword [edi + 0x44], edx
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
cmp dword [eax + 4], 0
je 0x433f7e
mov eax, dword [esi + 0x1b8]
or eax, dword [esi + 0x1bc]
jne 0x42f2af
mov eax, dword [esi + 0x1c0]
or eax, dword [esi + 0x1c4]
je 0x4321ef
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jmp 0x433f56
mov edx, dword [edi + 0xc4]
test edx, edx
je 0x433fb2
mov eax, dword [edx + 4]
test eax, eax
je 0x433fa0
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x433f97
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x433fc3
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.004261b0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004261b0
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x42f2a7
jl 0x433ffa
cmp dword [edi], eax
jae 0x42f2a7
mov esi, dword [esp + 0x18]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [edi], eax
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea esi, [eax + eax*4]
mov edi, dword [edx + esi*8 + 4]
mov ecx, dword [edx + esi*8]
test edi, edi
jl 0x42f2a7
jg 0x43403e
test ecx, ecx
je 0x42f2a7
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
sbb edi, edx
mov edx, dword [esp + 0x28]
mov dword [edx + esi*8], ecx
mov ecx, dword [esp + 0x58]
mov dword [edx + esi*8 + 4], edi
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42f2a0
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 4]
lea edi, [eax + eax*4]
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esi + 8]
mov dword [esp + 0x30], edx
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4340a9
mov ecx, esi
call fcn.0042f010
mov edx, dword [esp + 0x30]
mov esi, eax
jmp 0x4340b2
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + edi*8]
mov eax, dword [eax + edi*8 + 4]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
test eax, eax
jl 0x43413b
jg 0x4340d5
test ecx, ecx
je 0x43413b
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
test ecx, ecx
jl 0x4340ea
jg 0x4340fb
test eax, eax
jne 0x4340fb
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0xf0]
call fcn.0040df00
add esp, 8
test eax, eax
jne 0x43413b
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add ecx, 0x14
mov dword [esi], eax
mov eax, dword [esp + 0xec]
mov dword [esi + 4], eax
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add ecx, 0x14
mov eax, dword [esp + 0x20]
mov dword [esi], 0xffffffff
mov dword [esi + 4], 0xffffffff
mov esi, dword [esp + 0x18]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + esi*8]
mov edx, dword [eax + esi*8 + 4]
mov eax, ecx
or eax, edx
je 0x42f1dc
test edx, edx
jl 0x4321ef
jg 0x434191
test ecx, ecx
je 0x4321ef
mov eax, dword [esp + 0x28]
sub ecx, 1
sbb edx, 0
mov dword [eax + esi*8], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + esi*8 + 4], edx
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42f2a0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
mov edx, dword [edx + ecx*8 + 4]
cmp edx, 0x80000000
jl 0x4341f2
jg 0x4341db
test eax, eax
je 0x4341f2
mov edi, dword [esp + 0x28]
sub eax, 1
sbb edx, 0
mov dword [edi + ecx*8], eax
mov eax, edi
mov edi, dword [esp + 0x1c]
mov dword [eax + ecx*8 + 4], edx
mov edx, dword [esp + 0x28]
mov eax, dword [edx + ecx*8]
or eax, dword [edx + ecx*8 + 4]
je 0x4321ef
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, esi
push 0
movzx eax, word [eax + 2]
mov dword [esp + 0x34], eax
lea eax, [eax*4 + 0x1c]
push eax
call fcn.0040a240
mov esi, eax
add esp, 8
test esi, esi
je 0x4357ce
mov eax, dword [esp + 0x14]
mov dword [esi + 8], 0
mov ecx, dword [eax + 0x10]
mov dword [esi + 4], ecx
mov ecx, eax
sub ecx, dword [esp + 0x58]
mov eax, 0x66666667
imul ecx
mov dword [esi + 0xc], edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x30]
mov byte [esi + 0x1a], al
mov eax, dword [esp + 0x14]
mov word [eax], 0xf095
mov dword [eax + 0x10], esi
jmp 0x434284
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], esi
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [esp + 0x48], edi
cmp dword [esi + 8], edi
je 0x4342de
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edi
js 0x4342de
mov edi, dword [esp + 0x14]
lea edx, [esi + 0x1c]
mov esi, dword [esp + 0x28]
lea edx, [edx + ecx*4]
nop dword [eax + eax]
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + 4], eax
jns 0x4342c0
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
inc dword [edi + 0xc]
mov eax, 1
mov word [esp + 0x260], ax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x278], eax
lea eax, [esp + 0x258]
mov dword [esp + 0x270], 0
mov ecx, dword [esi + 4]
mov dword [esi], eax
lea eax, [esi + 0x1c]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov word [esi + 0x18], 0
mov eax, dword [ecx + 0xc]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x434375
cmp dword [esi + 0x14], 0
je 0x43435d
lea eax, [esp + 0x258]
push eax
call fcn.0042c500
add esp, 4
push eax
push 0x50d418
push dword [esp + 0x24]
call fcn.00426f00
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x258]
call fcn.00425ff0
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4357db
cmp byte [esi + 0x18], 0
je 0x42f2a7
mov eax, dword [esp + 0x14]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x42f2a7
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.00426450
mov ecx, dword [esp + 0x1c]
add esp, 8
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00425e50
mov dword [esp + 0x24], eax
test eax, eax
jne 0x4354ee
movzx edx, byte [esp + 0x60]
mov ecx, esi
call fcn.00425a90
movzx eax, word [esi + 8]
test al, 0x12
je 0x42f1dc
mov edx, dword [esi + 0xc]
test eax, 0x4000
je 0x434407
add edx, dword [esi]
mov eax, dword [esi + 0x20]
xor ecx, ecx
mov esi, dword [esp + 0x18]
cmp edx, dword [eax + 0x60]
setg cl
test ecx, ecx
jne 0x43555e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
lea eax, [esp + 0xfc]
mov dword [esp + 0xf4], 0
push eax
lea eax, [esp + 0xfc]
mov dword [esp + 0x100], 0xffffffff
push eax
mov eax, dword [esp + 0x1c]
mov ecx, esi
mov dword [esp + 0x100], 0xffffffff
push dword [eax + 8]
mov edx, dword [eax + 4]
call fcn.0047fee0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x434499
cmp ecx, 5
jne 0x4357e3
mov dword [esp + 0x24], 0
mov dword [esp + 0xf4], 1
mov eax, dword [esp + 0x14]
xor esi, esi
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
nop dword [eax]
mov eax, dword [esp + esi*4 + 0xf4]
mov ecx, edi
cdq
push edx
push eax
call fcn.00426450
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x4344b0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea esi, [eax + ecx*8]
mov eax, 0x2460
mov dword [esp + 0x30], esi
test word [esi + 8], ax
je 0x434511
mov ecx, esi
call fcn.0042f010
mov dword [esp + 0x30], eax
jmp 0x43451a
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x18]
add ecx, ecx
cmp edx, 0xffffffff
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x48], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
movzx ecx, byte [edi + 5]
cmove edx, ecx
mov dword [esp + 0x44], ecx
cmp byte [edi + 0x11], 3
jb 0x434552
xor eax, eax
jmp 0x434571
mov eax, dword [edi + 0x44]
cmp dword [eax], 0
je 0x43456c
cmp dword [edi + 0x54], 0
jl 0x43456c
jg 0x434568
cmp dword [edi + 0x50], 0
jbe 0x43456c
xor eax, eax
jmp 0x434571
mov eax, 1
test eax, eax
mov esi, ecx
mov eax, 0x515282
cmovne esi, edx
cmp byte [edi + 0x10], 0
jne 0x434589
mov eax, dword [edi + 0xb0]
cmp esi, 5
jne 0x4345be
mov ecx, eax
call fcn.0040cc20
test eax, eax
je 0x43460e
cmp byte [edi + 0xe], 0
mov eax, dword [edi + 0x40]
mov eax, dword [eax]
jne 0x43460e
cmp byte [edi + 4], 0
jne 0x4345b5
cmp dword [eax], 2
jl 0x43460e
cmp dword [eax + 0x34], 0
je 0x43460e
mov ecx, dword [esp + 0x44]
mov esi, 5
cmp esi, ecx
je 0x434642
cmp ecx, 5
je 0x4345d0
cmp esi, 5
jne 0x434642
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x43], 0
je 0x435513
cmp dword [eax + 0xa0], 1
jg 0x435513
cmp ecx, 5
jne 0x434616
mov edx, eax
mov ecx, edi
call fcn.004184e0
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x434642
mov edx, esi
mov ecx, edi
call fcn.00418250
jmp 0x43462c
mov edx, dword [esp + 0x44]
mov esi, edx
jmp 0x434646
cmp ecx, 4
jne 0x434625
lea edx, [ecx - 2]
mov ecx, edi
call fcn.00418250
cmp dword [esp + 0x24], 0
jne 0x434642
mov ecx, dword [esp + 0x48]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.00424bc0
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x44]
cmp dword [esp + 0x24], 0
mov ecx, edi
cmove edx, esi
call fcn.00418250
mov esi, dword [esp + 0x30]
mov ecx, 0xa02
mov word [esi + 8], cx
cmp eax, 6
jne 0x43466b
xor ecx, ecx
jmp 0x434672
mov ecx, dword [eax*4 + 0x4eb554]
mov dword [esi + 0x10], ecx
call fcn.0040cc20
movzx edx, byte [esp + 0x60]
mov ecx, esi
mov dword [esi + 0xc], eax
mov byte [esi + 0xa], 1
call fcn.00425a90
jmp 0x431603
mov eax, dword [esp + 0x14]
lea ecx, [edi + 0x6c]
mov edx, esi
push dword [eax + 4]
call fcn.0046c840
mov ecx, eax
add esp, 4
mov dword [esp + 0x24], ecx
jmp 0x43160f
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0041e250
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x42f2af
cmp ecx, 0x65
jne 0x4357e3
jmp 0x4321e7
cmp dword [ecx + 4], 0
jne 0x4346ff
mov ecx, esi
call fcn.0042bd80
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
or dword [edi + 0x94], 1
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov al, byte [eax + 0xc]
mov byte [esp + 0x10c], al
test al, al
jne 0x434731
test dword [esi + 0x18], 0x400
jne 0x42f2af
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x14]
push dword [esp + 0x10c]
mov eax, dword [eax + 4]
add eax, eax
mov edx, dword [edx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00424a90
mov ecx, eax
add esp, 4
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x42f2af
cmp cl, 6
jne 0x4357e3
mov eax, dword [esp + 0x14]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push edi
call fcn.00426f00
mov ecx, dword [esp + 0x30]
add esp, 0xc
jmp 0x4357e3
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [eax + 0x10]
mov edx, esi
call fcn.0046e070
mov ecx, eax
mov dword [esp + 0x24], ecx
test esi, esi
je 0x43160b
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.0042bea0
mov ecx, dword [esp + 0x24]
jmp 0x43160b
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x28]
movq qword [esp + 0x200], xmm0
movaps xmmword [esp + 0x1e0], xmm0
mov eax, dword [eax + 8]
movaps xmmword [esp + 0x1f0], xmm0
mov dword [esp + 0x200], esi
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
lea ecx, [esp + 0x1e0]
call fcn.004265e0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x1e0]
push eax
call fcn.0042c500
add esp, 4
test eax, eax
je 0x434831
lea ecx, [edi + 0x6c]
push ecx
push eax
mov eax, dword [esp + 0x1c]
mov ecx, esi
mov edx, dword [eax + 4]
call fcn.0046db10
add esp, 8
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x1e0]
call fcn.00425ff0
mov ecx, dword [esp + 0x24]
jmp 0x43160f
mov eax, dword [esp + 0x14]
mov ecx, esi
inc dword [esi + 0xac]
push dword [eax + 0x10]
mov edx, dword [eax + 4]
call fcn.0046de30
mov ecx, eax
add esp, 4
dec dword [esi + 0xac]
mov dword [esp + 0x24], ecx
jmp 0x43160f
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa0], 0
mov eax, dword [eax + 0x10]
mov edi, dword [eax + 8]
test edi, edi
je 0x435544
mov eax, dword [edi]
mov dword [esp + 0x48], eax
test eax, eax
je 0x435544
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xa0]
push ecx
push edi
call eax
mov ecx, dword [esp + 0x24]
add esp, 8
mov edx, edi
mov dword [esp + 0x24], eax
call fcn.0042bea0
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4357df
mov eax, dword [esp + 0xa0]
mov dword [eax], edi
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 4]
mov dword [esp + 0x30], edx
test edx, edx
jle 0x4348f8
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x18]
sub eax, edx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x5c]
lea esi, [eax + ecx*8]
mov ecx, dword [esp + 0x1c]
jmp 0x4348ff
mov ecx, dword [esp + 0x1c]
mov esi, dword [ecx + 0x5c]
mov eax, dword [ecx + 0x70]
mov edx, dword [eax + edx*4]
test edx, edx
je 0x434920
call fcn.00428f10
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x70]
mov ecx, dword [esp + 0x30]
mov dword [eax + ecx*4], 0
cmp dword [esi + 0x18], 0x60
jge 0x434997
push 0
mov edx, 0x60
mov ecx, esi
call fcn.00425ab0
add esp, 4
test eax, eax
je 0x4349a2
mov eax, dword [esp + 0x48]
push dword [esp + 0xa0]
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
cmp byte [esi + 0x45], 0
jne 0x43497f
cmp byte [esi + 0x46], 0
jne 0x43497f
cmp dword [esi + 0xa8], 0
mov byte [esi + 0x45], 1
jle 0x434979
mov dword [esi + 0xf8], 1
inc dword [esi + 0x100]
push 0x50d4cc
push edi
call fcn.00426f00
add esp, 8
mov ecx, 7
jmp 0x4357e3
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x10]
xorps xmm0, xmm0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x18]
mov eax, dword [eax + 0x70]
mov dword [eax + edx*4], ecx
xor eax, eax
movups xmmword [ecx], xmm0
movups xmmword [ecx + 0x10], xmm0
mov dword [ecx + 0x20], 0
mov word [ecx + 0x38], ax
lea eax, [ecx + 0x58]
mov dword [ecx + 0x48], eax
mov word [ecx], 0xff02
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0x28], eax
inc dword [edi + 4]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
add edi, 0x28
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x1c]
mov esi, dword [edi + edx*8]
lea edi, [edi + edx*8]
movd xmm0, edi
mov dword [esp + 0x30], edi
mov eax, dword [eax + 0x70]
pshufd xmm3, xmm0, 0
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [esp + 0x44], eax
mov eax, dword [eax + 0x28]
mov dword [esp + 0x50], eax
mov eax, dword [eax]
mov dword [esp + 0x40], eax
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax + edx*8]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0x60]
test esi, esi
jle 0x434af3
cmp esi, 8
jb 0x434adb
cmp dword [0x51401c], 2
jl 0x434adb
movaps xmm2, xmmword [0x500f40]
mov eax, esi
and eax, 0x80000007
jns 0x434a85
dec eax
or eax, 0xfffffff8
inc eax
movaps xmm1, xmmword [str.____]
mov edi, esi
sub edi, eax
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx + ecx*4], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx + ecx*4 + 0x10], xmm0
add ecx, 8
cmp ecx, edi
jl 0x434a90
mov edi, dword [esp + 0x30]
cmp ecx, esi
jge 0x434af3
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x434ae8
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
push edx
push esi
push dword [eax + 0x10]
mov esi, dword [esp + 0x5c]
push dword [esp + 0x54]
mov eax, dword [edi + 0x20]
push esi
call eax
mov edx, dword [esp + 0x54]
add esp, 0x14
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
call fcn.0042bea0
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4357db
mov eax, dword [edi + 0x28]
push esi
call eax
mov ecx, dword [esp + 0x48]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
jne 0x4321ef
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
add ecx, 0x14
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
cmp byte [edx + 2], 0
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
je 0x434b9e
mov ecx, edi
call fcn.004263f0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add ecx, 0x14
mov eax, dword [esp + 0x20]
jmp 0x42f13d
mov eax, dword [edx + 0x28]
xorps xmm0, xmm0
mov esi, dword [eax]
mov ecx, dword [esi]
movaps xmmword [esp + 0x210], xmm0
movaps xmmword [esp + 0x220], xmm0
mov dword [esp + 0x210], edi
mov ax, word [edi + 8]
and ax, word [esp + 0x90]
or ax, 1
mov word [edi + 8], ax
mov eax, dword [esp + 0x14]
push dword [eax + 8]
lea eax, [esp + 0x214]
push eax
push dword [edx + 0x28]
mov eax, dword [ecx + 0x2c]
call eax
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov edx, esi
mov dword [esp + 0x24], eax
call fcn.0042bea0
mov eax, dword [esp + 0x224]
test eax, eax
mov ecx, dword [esp + 0x24]
movzx edx, byte [esp + 0x60]
cmovne ecx, eax
mov dword [esp + 0x24], ecx
mov ecx, edi
call fcn.00425a90
movzx eax, word [edi + 8]
test al, 0x12
je 0x431603
mov edx, dword [edi + 0xc]
test eax, 0x4000
je 0x434c34
add edx, dword [edi]
mov eax, dword [edi + 0x20]
xor ecx, ecx
cmp edx, dword [eax + 0x60]
setg cl
test ecx, ecx
je 0x431603
mov esi, dword [esp + 0x18]
jmp 0x43555a
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x70]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x42f2ab
mov eax, dword [edi + 0x28]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [esp + 0x34], ecx
mov eax, dword [ecx + 0x24]
call eax
mov ecx, dword [esp + 0x20]
add esp, 4
mov edx, esi
mov dword [esp + 0x24], eax
call fcn.0042bea0
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4357db
mov eax, dword [esp + 0x30]
push dword [edi + 0x28]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x434cbf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
mov esi, dword [eax + 8]
dec esi
lea esi, [esi + esi*4]
lea esi, [ecx + esi*4]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x18]
cmp dword [esi + 0xf8], 0
jne 0x43578e
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0xa4]
jb 0x4352c2
mov ecx, dword [esi + 0x130]
test ecx, ecx
je 0x4352c2
mov edi, dword [esi + 0x138]
xor edx, edx
div edi
push dword [esi + 0x134]
sub edi, edx
add edi, dword [esp + 0x24]
mov dword [esp + 0xa8], edi
call ecx
mov edi, dword [esp + 0x20]
add esp, 4
test eax, eax
jne 0x43559c
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 2
lea esi, [ecx + eax*8]
je 0x434d64
cmp byte [esi + 0xa], 1
je 0x434d64
mov dl, 1
mov ecx, esi
call fcn.0040c580
mov ecx, eax
test ecx, ecx
jne 0x4357db
mov eax, dword [edi]
push dword [esi + 0x10]
push edi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [esp + 0x24], eax
mov edx, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.0042bea0
and dword [edi + 0x94], 0xfffffffe
mov ecx, dword [esp + 0x24]
jmp 0x43160b
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 8]
mov dword [esp + 0x48], edx
test edx, edx
je 0x43554e
mov eax, dword [edx]
mov dword [esp + 0x30], eax
test eax, eax
je 0x43554e
cmp dword [eax + 0x34], 0
mov esi, dword [esp + 0x14]
mov esi, dword [esi + 8]
je 0x42f1dc
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov edi, dword [edi + 0x60]
mov al, byte [eax + 0x4a]
mov byte [esp + 0x3b], al
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x434dfb
nop dword [eax]
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x434df0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov al, byte [eax + 2]
mov byte [ecx + 0x4a], al
lea eax, [esp + 0x140]
push eax
mov eax, dword [esp + 0x34]
push edi
push esi
push edx
mov eax, dword [eax + 0x34]
call eax
mov esi, dword [esp + 0x28]
add esp, 0x10
mov edi, dword [esp + 0x1c]
mov ecx, edi
mov edx, dword [esp + 0x48]
mov dword [esp + 0x24], eax
mov al, byte [esp + 0x3b]
mov byte [esi + 0x4a], al
call fcn.0042bea0
cmp dword [esp + 0x24], 0
mov eax, dword [esp + 0x14]
jne 0x434e67
cmp dword [eax + 4], 0
je 0x434e67
mov eax, dword [esp + 0x140]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x144]
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
cmp cl, 0x13
jne 0x434eb3
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x434eb3
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
cmp eax, 4
jne 0x434e9e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
mov dword [esp + 0x24], 0
jmp 0x42f13d
cmp eax, 5
jne 0x434ea8
mov eax, 2
mov byte [edi + 0x8e], al
jmp 0x43160f
inc dword [edi + 0x2c]
jmp 0x43160f
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edx, [eax + ecx*8]
mov eax, 0x2460
test word [edx + 8], ax
je 0x434ee1
mov ecx, edx
call fcn.0042f010
mov edx, eax
jmp 0x434eea
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [esp + 0x14]
add ecx, 0x14
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [edx], eax
mov eax, dword [esp + 0x20]
mov dword [edx + 4], 0
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x5c]
lea edx, [eax + ecx*8]
mov eax, 0x2460
mov dword [esp + 0x30], edx
test word [edx + 8], ax
je 0x434f45
mov ecx, edx
call fcn.0042f010
mov dword [esp + 0x30], eax
jmp 0x434f4e
mov eax, 4
mov word [edx + 8], ax
mov edx, dword [esp + 0x14]
xor edi, edi
mov eax, dword [esi + 0x10]
mov ecx, dword [edx + 4]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x434f72
mov eax, dword [esi + 4]
mov edi, dword [eax + 0x2c]
cmp edi, ecx
cmovb edi, ecx
cmp byte [esi + 9], 0
je 0x434f88
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x434f88
mov ecx, esi
call fcn.0041ada0
mov eax, dword [esi + 4]
mov eax, dword [eax]
test edi, edi
jle 0x434f97
mov dword [eax + 0xa4], edi
cmp byte [esi + 9], 0
mov edi, dword [eax + 0xa4]
je 0x434fb0
add dword [esi + 0xc], 0xffffffff
jne 0x434fb0
mov ecx, esi
call fcn.0041ad60
mov ecx, dword [esp + 0x30]
mov eax, edi
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x42f13d
mov eax, dword [esp + 0x14]
mov ecx, esi
push 0
movzx eax, word [eax + 2]
mov dword [esp + 0x34], eax
lea eax, [eax*4 + 0x1c]
push eax
call fcn.0040a240
mov esi, eax
add esp, 8
test esi, esi
je 0x4357ce
mov eax, dword [esp + 0x14]
mov dword [esi], 0
mov ecx, dword [eax + 0x10]
mov dword [esi + 4], ecx
mov ecx, eax
sub ecx, dword [esp + 0x58]
mov eax, 0x66666667
imul ecx
mov dword [esi + 0xc], edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x30]
mov byte [esi + 0x1a], al
mov eax, dword [esp + 0x14]
add byte [eax], 2
mov byte [eax + 1], 0xf0
mov dword [eax + 0x10], esi
jmp 0x435046
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], esi
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [esp + 0x48], edi
cmp dword [esi], edi
je 0x43509e
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi], edi
js 0x43509e
mov edi, dword [esp + 0x14]
lea edx, [esi + 0x1c]
mov esi, dword [esp + 0x28]
lea edx, [edx + ecx*4]
nop dword [eax + eax]
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + 4], eax
jns 0x435080
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
mov ax, word [edi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 1
mov word [edi + 8], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov byte [esi + 0x19], 0
mov eax, dword [ecx + 0xc]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x435129
cmp dword [esi + 0x14], 0
je 0x4350f9
push edi
call fcn.0042c500
add esp, 4
push eax
push 0x50d484
push dword [esp + 0x24]
call fcn.00426f00
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push dword [eax + 4]
lea edx, [edx + 0xd8]
push dword [esi + 0x10]
mov esi, dword [esp + 0x20]
mov ecx, esi
call fcn.0042a100
mov ecx, dword [esp + 0x2c]
add esp, 8
test ecx, ecx
jne 0x4357df
jmp 0x43512d
mov esi, dword [esp + 0x18]
test byte [edi + 8], 0x12
je 0x42f2ab
movzx edx, byte [esp + 0x60]
mov ecx, edi
call fcn.00425a90
movzx eax, word [edi + 8]
test al, 0x12
je 0x42f2ab
mov edx, dword [edi + 0xc]
test eax, 0x4000
je 0x43515b
add edx, dword [edi]
mov eax, dword [edi + 0x20]
xor ecx, ecx
mov edi, dword [esp + 0x1c]
cmp edx, dword [eax + 0x60]
setg cl
test ecx, ecx
jne 0x43555e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x14
jmp 0x42f13d
mov cl, byte [esi + 0x4c]
test cl, 0x81
je 0x43523d
test byte [edi + 0x94], 2
jne 0x43523d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x4351b4
mov eax, dword [edi + 0xbc]
test eax, eax
je 0x43523d
test cl, cl
jns 0x4351e7
mov ecx, dword [esp + 0x1c]
mov edx, eax
mov edi, dword [esi + 0xb8]
call fcn.0042e890
mov esi, eax
mov eax, dword [esp + 0x18]
push esi
push dword [eax + 0xbc]
call edi
push esi
call fcn.00409ea0
mov edi, dword [esp + 0x28]
add esp, 0xc
jmp 0x43523d
cmp dword [esi + 0xa8], 1
push eax
jle 0x435229
push str.____s
push esi
call fcn.0040bf90
add esp, 0xc
mov esi, eax
push esi
push edi
mov edi, dword [esp + 0x20]
push dword [edi + 0xbc]
mov ecx, dword [edi + 0xb8]
push 1
call ecx
add esp, 0x10
mov edx, esi
mov ecx, edi
call fcn.00409f90
mov edi, dword [esp + 0x1c]
jmp 0x43523d
mov eax, dword [esi + 0xb8]
push edi
push dword [esi + 0xbc]
push 1
call eax
add esp, 0x10
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
cmp eax, dword [0x511af0]
jl 0x4352a3
mov edx, 1
cmp dword [edi + 0x88], edx
jle 0x43527d
mov eax, 0x14
nop
mov ecx, dword [edi + 0x58]
cmp byte [eax + ecx], 0x14
jne 0x435271
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [edi + 0x88]
jl 0x435260
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
mov dword [esi + 4], 0
inc dword [esi + 4]
inc dword [edi + 0xb8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42f2a0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
inc dword [esi + 4]
inc dword [edi + 0xb8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x42f2a0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x42f13d
mov ecx, dword [edx + 4]
mov dword [edi + 0x28], ecx
mov al, byte [edx + 8]
mov byte [edi + 0x8e], al
mov dword [edi + 0x24], esi
test ecx, ecx
je 0x43535e
movzx eax, word [edx + 2]
test ax, ax
je 0x43532f
push dword [eax*4 + 0x4eb3d0]
push str._s_constraint_failed
push edi
call fcn.00426f00
mov eax, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [eax + 0x10]
test eax, eax
je 0x435340
push eax
push dword [edi + 0x6c]
push str._z:__s
push dword [esp + 0x24]
call fcn.0040bf90
add esp, 0x10
mov dword [edi + 0x6c], eax
jmp 0x435340
push dword [edx + 0x10]
push 0x50d224
push edi
call fcn.00426f00
add esp, 0xc
push dword [edi + 0x6c]
mov eax, dword [esp + 0x18]
push dword [edi + 0xbc]
push esi
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.0040c1c0
add esp, 0x14
mov ecx, edi
call fcn.00429c40
mov dword [esp + 0x24], eax
cmp eax, 5
jne 0x435745
mov dword [edi + 0x28], eax
jmp 0x435924
mov ecx, 0x13e1b
call fcn.00481310
mov ecx, eax
jmp 0x4357db
push str.cannot_open_savepoint___SQL_statements_in_progress
push edi
call fcn.00426f00
mov esi, dword [esp + 0x20]
add esp, 8
mov ecx, 5
jmp 0x4357e3
mov edi, dword [esp + 0x1c]
push str.cannot_release_savepoint___SQL_statements_in_progress
push edi
call fcn.00426f00
add esp, 8
mov ecx, 5
jmp 0x4357e3
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x1c]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov eax, 5
mov byte [esi + 0x43], 0
mov dword [esp + 0x24], eax
mov dword [edi + 0x28], eax
jmp 0x435924
mov ecx, 8
jmp 0x4357e3
cmp cl, 5
jne 0x43000d
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x58]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x24]
mov dword [edi + 0x28], eax
jmp 0x435924
mov eax, dword [esp + 0x1c]
mov ecx, edi
mov edx, dword [eax + 0x6c]
call fcn.00409f90
mov edx, 0x50d384
mov ecx, edi
call fcn.0040a4a0
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x6c], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 4]
mov ecx, edx
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], esi
mov esi, dword [esp + 0x18]
je 0x435475
mov ecx, esi
call fcn.00447800
mov edi, dword [esp + 0x1c]
mov ecx, 0x11
or dword [edi + 0x94], 1
jmp 0x4357e3
mov ecx, 0x204
jmp 0x4357e3
mov edi, dword [esp + 0x1c]
mov ecx, 6
mov byte [edi + 0x8e], 2
jmp 0x4357e3
mov esi, dword [esp + 0x18]
mov dword [esp + 0x24], 7
mov ecx, esi
call fcn.00447840
mov ecx, dword [esp + 0x24]
cmp ecx, 7
je 0x434956
jmp 0x4357e3
mov edi, dword [esp + 0x1c]
push str.too_many_levels_of_trigger_recursion
push edi
call fcn.00426f00
mov esi, dword [esp + 0x20]
add esp, 8
mov ecx, 1
jmp 0x4357e3
push esi
call fcn.0042c500
add esp, 4
push eax
push 0x50d41c
push edi
call fcn.00426f00
mov esi, dword [esp + 0x24]
add esp, 0xc
mov ecx, dword [esp + 0x24]
jmp 0x4357e3
mov edi, dword [esp + 0x1c]
mov ecx, str.out_of
cmp esi, 5
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push edi
call fcn.00426f00
mov esi, dword [esp + 0x24]
add esp, 0xc
mov ecx, 1
jmp 0x4357e3
mov ecx, 6
jmp 0x4357df
mov ecx, 6
jmp 0x4357e3
mov esi, eax
mov edi, dword [esp + 0x1c]
push 0x50d4b4
push edi
call fcn.00426f00
add esp, 8
mov ecx, 0x12
jmp 0x4357e3
mov eax, dword [esi + 0x130]
test eax, eax
je 0x4355a6
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0xa4]
jb 0x4355a6
push dword [esi + 0x134]
call eax
add esp, 4
test eax, eax
je 0x4355a6
mov ecx, 9
jmp 0x4357e3
xor edx, edx
mov ecx, edi
call fcn.00429be0
mov ecx, eax
test ecx, ecx
jne 0x4357e3
lea edx, [eax + 1]
mov ecx, edi
call fcn.00429bc0
mov eax, dword [edi + 0x20]
mov ecx, dword [esp + 0x14]
add eax, 2
mov edx, dword [esp + 0x28]
or eax, 1
mov dword [edi + 0x20], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov dword [edi + 0x68], esi
xor edi, edi
cmp dword [ecx + 8], edi
jle 0x43561e
nop word [eax + eax]
mov eax, 0x1000
test word [esi + 8], ax
je 0x43560a
mov ecx, esi
call fcn.00425c40
test eax, eax
jne 0x43494e
mov ecx, esi
call fcn.00425d50
mov eax, dword [esp + 0x14]
inc edi
add esi, 0x28
cmp edi, dword [eax + 8]
jl 0x4355f0
mov esi, dword [esp + 0x18]
cmp byte [esi + 0x45], 0
jne 0x434952
test byte [esi + 0x4c], 4
mov edi, dword [esp + 0x1c]
je 0x43564c
mov eax, dword [esi + 0xb8]
push 0
push edi
push dword [esi + 0xbc]
push 4
call eax
add esp, 0x10
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x58]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [edi + 0x24], eax
mov eax, 0x64
mov dword [esp + 0x24], eax
jmp 0x435924
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov esi, dword [eax + 8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x90], ecx
movzx eax, byte [eax + 0x43]
cmp ecx, eax
je 0x43575f
test esi, esi
mov esi, dword [esp + 0x18]
je 0x4356b2
mov edx, 0x204
mov ecx, esi
call fcn.0047f2b0
mov byte [esi + 0x43], 1
jmp 0x4356f9
test ecx, ecx
je 0x4356d7
cmp dword [esi + 0xa4], 0
jle 0x4356d7
push str.cannot_commit_transaction___SQL_statements_in_progress
push edi
call fcn.00426f00
add esp, 8
mov ecx, 5
jmp 0x4357e3
mov edx, 1
mov ecx, edi
call fcn.00429be0
mov dword [esp + 0x24], eax
test eax, eax
jne 0x435924
mov eax, dword [esp + 0x90]
mov byte [esi + 0x43], al
mov ecx, edi
call fcn.00429c40
cmp eax, 5
jne 0x43573e
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x58]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov al, 1
sub al, byte [esp + 0x90]
mov byte [esi + 0x43], al
mov eax, 5
mov dword [esp + 0x24], eax
mov dword [edi + 0x28], eax
jmp 0x435924
mov ecx, esi
call fcn.0047eb00
cmp dword [edi + 0x28], 0
mov eax, 0x65
mov ecx, 1
cmovne eax, ecx
mov dword [esp + 0x24], eax
jmp 0x435924
test ecx, ecx
jne 0x43576a
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x435779
test esi, esi
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
push eax
push edi
call fcn.00426f00
mov esi, dword [esp + 0x20]
add esp, 8
mov ecx, 1
jmp 0x4357e3
mov edi, dword [esp + 0x1c]
xor eax, eax
mov ecx, str.unknown_error
cmp byte [esi + 0x45], al
sete al
lea eax, [eax*2 + 7]
mov dword [esp + 0x24], eax
mov dword [edi + 0x28], eax
mov eax, dword [eax*4 + 0x4ea930]
test eax, eax
cmovne ecx, eax
push ecx
push 0x50d4dc
push edi
call fcn.00426f00
mov ecx, dword [esp + 0x30]
add esp, 0xc
jmp 0x4357e3
mov esi, dword [esp + 0x18]
jmp 0x434956
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
cmp byte [esi + 0x45], 0
mov eax, 7
cmovne ecx, eax
cmp dword [edi + 0x6c], 0
mov dword [esp + 0x24], ecx
jne 0x43583d
cmp ecx, 0xc0a
je 0x43583d
mov eax, str.unknown_error
cmp ecx, 0x204
je 0x435825
movzx ecx, cl
cmp ecx, 0x1b
jae 0x43582a
mov ecx, dword [ecx*4 + 0x4ea930]
test ecx, ecx
je 0x43582a
mov eax, ecx
jmp 0x43582a
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x50d490
push edi
call fcn.00426f00
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov dword [edi + 0x28], ecx
cmp ecx, 0xc0a
je 0x43586f
movzx eax, cl
cmp eax, 0xe
je 0x435855
cmp eax, 0xa
jne 0x43586f
mov eax, dword [esi]
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x43586a
push 0
push 0
push eax
call ecx
add esp, 0xc
jmp 0x43586c
xor eax, eax
mov dword [esi + 0x3c], eax
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x58]
push dword [edi + 0x6c]
imul ecx
push dword [edi + 0xbc]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push dword [esp + 0x34]
call fcn.0040c1c0
add esp, 0x14
mov ecx, edi
call fcn.00429c40
cmp dword [esp + 0x24], 0xc0a
jne 0x4358dd
cmp byte [esi + 0x45], 0
jne 0x4358dd
cmp byte [esi + 0x46], 0
jne 0x4358dd
cmp dword [esi + 0xa8], 0
mov byte [esi + 0x45], 1
jle 0x4358d7
mov dword [esi + 0xf8], 1
inc dword [esi + 0x100]
mov cl, byte [esp + 0x6b]
mov eax, 1
mov dword [esp + 0x24], eax
test cl, cl
je 0x435924
mov edi, dword [esp + 0x18]
movzx esi, cl
dec esi
mov ecx, esi
mov eax, dword [edi + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.0044dcf0
add esp, 4
cmp esi, 1
je 0x43591c
mov eax, dword [edi + 0x10]
push dword [eax + 0x1c]
call fcn.0044dcf0
add esp, 4
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
add dword [edi + 0xb0], ecx
cmp dword [edi + 0x9c], 0
je 0x435942
mov ecx, edi
call fcn.004285e0
mov eax, dword [esp + 0x24]
pop edi
pop esi
mov esp, ebp
pop ebp
ret