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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1f4
mov eax, dword [0x521284]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov dword [ebp - 0x24], 0
xor cl, cl
mov dword [ebp - 0x1c], ebx
push esi
mov byte [ebp - 0x75], cl
mov ecx, ebx
mov eax, dword [ebx + 0x68]
mov esi, dword [ebx + 0x58]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
push edi
mov dword [ebp - 0x84], 0
mov al, byte [eax + 0x4e]
mov byte [ebp - 0x64], al
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], esi
call fcn.00453ff0
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 0x158], 0
je 0x45ba49
mov edi, dword [ecx + 0x160]
xor edx, edx
mov eax, dword [ebx + 0xb4]
div edi
sub edi, edx
jmp 0x45ba4c
or edi, 0xffffffff
mov eax, ebx
mov dword [ebp - 0x8c], edi
cmp dword [eax + 0x28], 7
je 0x45fd39
mov dword [eax + 0x28], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x78], 0
cmp dword [ecx + 0x110], 0
mov dword [ecx + 0x1ac], 0
jne 0x4618c7
mov eax, dword [eax + 0x24]
xorps xmm0, xmm0
mov edx, dword [ebp - 0x2c]
movsd qword [ebp - 0x190], xmm0
lea eax, [eax + eax*4]
lea edi, [edx + eax*4]
xor eax, eax
mov dl, byte [edi]
inc eax
movzx ebx, dl
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x59], dl
cmp ebx, 0xaa
ja case.0x45bac5.85
jmp dword [ebx*4 + 0x4619ac]
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
mov eax, dword [ecx + 4]
sub ecx, dword [ebp - 0x2c]
lea esi, [eax + eax*4]
mov eax, 4
mov word [ebx + esi*8 + 8], ax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
jmp 0x46135d
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + ecx*8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*4]
mov eax, 0x80
mov word [esi + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [esi + ecx*8], eax
mov eax, 4
mov dword [esi + ecx*8 + 4], edx
mov word [esi + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x14]
mov edi, ecx
cmp dword [ecx + 8], 0
jne 0x461360
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [ebx + eax*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ebx + eax*4]
mov eax, 0x80
mov word [esi + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
sub edx, edi
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8]
mov word [ebx + esi*8 + 8], ax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
mov dword [ebx + esi*8 + 4], edx
lea ecx, [edi + eax*4]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
je 0x461375
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x1c]
imul ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 4]
test ecx, ecx
jne 0x461383
mov edx, dword [edi + 0xc8]
test edx, edx
je 0x461380
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x18]
dec dword [edi + 0xd0]
mov dword [edi + 0xc8], eax
mov eax, dword [edi + 0x2c]
add dword [ecx + 0x68], eax
mov dword [ecx + 0x64], eax
mov ecx, edx
call fcn.00454cd0
mov ebx, dword [edi + 0x68]
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], ebx
cmp dword [eax + 8], 4
jne 0x45bc79
lea eax, [ecx + ecx*4]
mov ecx, dword [ebx + eax*4 + 8]
dec ecx
mov esi, dword [edi + 0x58]
lea eax, [ecx + ecx*4]
lea ecx, [ebx + eax*4]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x45bcbf
call fcn.0045b980
mov ecx, eax
jmp 0x45bcc8
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x18]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x45bd0d
mov ecx, edx
call fcn.0045b980
mov edx, eax
jmp 0x45bd16
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x18]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x45bd5b
call fcn.0045b980
mov ecx, eax
mov edi, dword [ebp - 0x14]
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0x20]
movsd qword [ecx], xmm0
mov ecx, dword [ebp - 0x18]
add edi, 0x14
jmp 0x45baaa
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x45bdab
mov ecx, esi
call fcn.0045b980
mov esi, eax
jmp 0x45bdb4
mov eax, 4
mov word [esi + 8], ax
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x45bdbf
xor ecx, ecx
jmp 0x45bdd3
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45bdc4
sub ecx, edi
and ecx, 0x3fffffff
cmp byte [ebp - 0x64], 1
mov dword [ebx + 4], ecx
je 0x45be54
push 0
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.00452320
add esp, 0xc
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x460671
test byte [esi + 8], 2
je 0x45be16
mov al, byte [ebp - 0x64]
cmp byte [esi + 0xa], al
je 0x45be16
mov dl, al
mov ecx, esi
call fcn.00434a40
test eax, eax
jne 0x45fd36
mov ecx, dword [ebp - 0x14]
mov eax, 0x800
or word [esi + 8], ax
mov dword [esi + 0x18], 0
cmp byte [ecx + 1], 0xf9
jne 0x45be41
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x45be41
mov ecx, dword [ebp - 0x18]
call fcn.00431a90
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x14]
mov byte [ecx + 1], 0xf9
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x18]
cmp ecx, dword [eax + 0x6c]
jg 0x460671
mov byte [ebx], 0x47
jmp 0x45be68
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x45be89
call fcn.0045b980
mov ecx, eax
mov eax, 0xa02
mov word [ecx + 8], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0xc], eax
mov al, byte [ebp - 0x64]
mov byte [ecx + 0xa], al
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x45bbe3
mov ebx, dword [ebp - 0x28]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 2]
cdq
cmp dword [ebx + esi*8], eax
jne 0x45bbe3
cmp dword [ebx + esi*8 + 4], edx
jne 0x45bbe3
mov edi, dword [ebp - 0x14]
mov eax, 0xa10
mov word [ecx + 8], ax
mov esi, ebx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x45bf17
mov ecx, edx
call fcn.0045b980
mov edx, eax
jmp 0x45bf20
mov eax, 4
mov word [edx + 8], ax
cmp dword [ebx + 4], 0
lea esi, [edx + 8]
mov edi, dword [ebx + 0xc]
mov eax, 1
mov ecx, dword [ebx + 8]
mov ebx, 0x101
cmovne eax, ebx
mov dword [edx + 0xc], 0
sub edi, ecx
movzx ebx, ax
mov word [esi], bx
test edi, edi
jle 0x45bbe3
mov eax, 0x2400
test word [esi + 0x28], ax
lea esi, [esi + 0x28]
je 0x45bf6c
lea ecx, [esi - 8]
call fcn.00451a70
mov eax, 0x2400
dec edi
mov word [esi], bx
mov dword [esi + 4], 0
test edi, edi
jg 0x45bf56
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov edx, 0xff41
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov ax, word [esi + ecx*8 + 8]
and ax, dx
or ax, 1
mov word [esi + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x45bfe7
mov ecx, esi
call fcn.0045b980
mov esi, eax
jmp 0x45bff0
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x14]
mov ecx, esi
push 0
push 0
push dword [eax + 4]
mov edx, dword [eax + 0x10]
call fcn.00452320
mov al, byte [ebp - 0x64]
add esp, 0xc
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x64]
lea edi, [eax + ecx*8]
lea ecx, [edi - 0x28]
call fcn.00452200
test eax, eax
jne 0x460671
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x45c061
mov ecx, esi
call fcn.00451a70
movups xmm0, xmmword [edi - 0x28]
mov ecx, 0xebff
movups xmmword [esi], xmm0
mov eax, dword [edi - 0x18]
mov edi, dword [ebp - 0x14]
mov dword [esi + 0x10], eax
mov ax, word [esi + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov ecx, dword [ebp - 0x18]
mov word [esi + 8], ax
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, 0x2400
test word [esi + 8], ax
jne 0x45c0c3
cmp dword [esi + 0x18], 0
je 0x45c0ca
mov ecx, esi
call fcn.00451ac0
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 0x45c10c
mov ecx, esi
call fcn.00451710
test eax, eax
jne 0x45fd36
add edi, 0x28
add esi, 0x28
sub ebx, 1
jne 0x45c0b2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
push 0x1000
mov edx, edi
mov ecx, esi
call fcn.00452260
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x45c16e
mov ecx, esi
call fcn.00451710
test eax, eax
jne 0x45fd36
mov eax, ebx
dec ebx
test eax, eax
je 0x45bbe3
add esi, 0x28
add edi, 0x28
jmp 0x45c143
mov ecx, dword [ebp - 0x14]
push 0x1000
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.00452260
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov ebx, 0x2400
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
mov edx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
test word [ecx + 8], bx
je 0x45c1f3
push eax
push edx
call fcn.004520a0
mov ecx, dword [ebp - 0x18]
add esp, 8
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edi, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x20]
mov dword [ecx], edx
mov ecx, dword [ebp - 0x18]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea ebx, [esi + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [ecx + 0xc]
movzx ecx, word [ebx + 8]
mov dword [ebp - 0x54], ecx
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov al, byte [edi + 8]
or al, cl
test al, 1
je 0x45c283
mov eax, 0x2400
test word [esi + 8], ax
je 0x45c266
mov ecx, esi
call fcn.00451a70
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x18]
mov eax, 1
mov edi, dword [ebp - 0x14]
mov word [esi + 8], ax
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
test cl, 0x12
jne 0x45c299
mov dl, byte [ebp - 0x64]
mov ecx, ebx
push 0
call fcn.004517f0
add esp, 4
jmp 0x45c2a8
test ecx, 0x4000
je 0x45c2c2
mov ecx, ebx
call fcn.00451790
test eax, eax
jne 0x45fd36
mov ax, word [ebx + 8]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x54], eax
movzx edx, word [edi + 8]
mov dword [ebp - 0x34], edx
test dl, 0x12
jne 0x45c2f9
mov dl, byte [ebp - 0x64]
mov ecx, edi
push 0
call fcn.004517f0
add esp, 4
test eax, eax
jne 0x45fd36
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx edx, ax
mov dword [ebp - 0x34], edx
jmp 0x45c322
test edx, 0x4000
je 0x45c322
mov ecx, edi
call fcn.00451790
test eax, eax
jne 0x45fd36
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
mov edx, dword [ebx + 0xc]
add edx, dword [edi + 0xc]
mov dword [ebp - 0x44], edx
cmp edx, dword [eax + 0x6c]
jg 0x460671
xor eax, eax
mov ecx, esi
cmp esi, edi
sete al
add edx, 3
push eax
call fcn.004514e0
add esp, 4
test eax, eax
jne 0x45fd36
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x45c384
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.004cdb30
mov eax, dword [ebp - 0x34]
add esp, 0xc
mov word [edi + 8], ax
push dword [ebx + 0xc]
mov eax, dword [esi + 0x10]
push dword [ebx + 0x10]
add eax, dword [edi + 0xc]
push eax
call fcn.004cdb30
mov ecx, dword [ebp - 0x44]
add esp, 0xc
mov eax, dword [ebp - 0x54]
mov word [ebx + 8], ax
mov eax, dword [esi + 0x10]
mov edi, dword [ebp - 0x14]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 1], 0
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 2], 0
mov eax, 0x200
or word [esi + 8], ax
mov al, byte [ebp - 0x64]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov ecx, eax
mov dword [ebp - 0x30], eax
call fcn.0045b960
movzx ebx, ax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov ecx, esi
mov dword [ebp - 0x54], esi
call fcn.0045b960
mov edx, dword [ebp - 0x28]
movzx ecx, ax
mov eax, dword [ebp - 0x14]
and cl, bl
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x34], eax
mov ax, word [esi + 8]
mov esi, dword [ebp - 0x30]
or ax, word [esi + 8]
movzx eax, ax
test cl, 4
je 0x45c5ec
mov eax, esi
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x54]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], edi
movzx eax, byte [eax]
add eax, 0xffffff97
cmp eax, 3
ja case.default.0x45c46a
jmp dword [eax*4 + 0x461c58]
test esi, esi
jl 0x45c4d5
jg 0x45c47b
test edx, edx
jb 0x45c4d5
test edi, edi
jl 0x45c50b
jg 0x45c48d
test ebx, ebx
je 0x45c50b
or ecx, 0xffffffff
mov eax, SysReAllocString
sub ecx, ebx
sbb eax, edi
cmp eax, esi
jg 0x45c50b
jl 0x45c4a3
cmp ecx, edx
jae 0x45c50b
mov esi, dword [ebp - 0x30]
mov ecx, esi
call fcn.00451c90
mov ebx, dword [ebp - 0x54]
mov ecx, ebx
movsd qword [ebp - 0x48], xmm0
call fcn.00451c90
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
add eax, 0xffffff97
cmp eax, 3
ja case.default.0x45c4ce
jmp dword [eax*4 + 0x461c68]
test edi, edi
jg 0x45c50b
jl 0x45c4df
test ebx, ebx
jae 0x45c50b
mov eax, edx
mov ecx, esi
add eax, 1
mov dword [ebp - 0x6c], eax
mov eax, 1
adc ecx, 0
sub eax, ebx
mov dword [ebp - 0x44], eax
mov eax, SysReAllocString
sbb eax, edi
cmp eax, ecx
jg 0x45c4a3
jl 0x45c50b
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x6c]
ja 0x45c4a3
add ebx, edx
mov dword [ebp - 0x98], ebx
adc edi, esi
mov dword [ebp - 0x94], edi
jmp 0x45c5ad
push esi
push edx
lea ecx, [ebp - 0x98]
call fcn.004363d0
add esp, 8
test eax, eax
jne 0x45c4a3
jmp 0x45c5ad
push esi
push edx
lea ecx, [ebp - 0x98]
call fcn.00436420
add esp, 8
test eax, eax
jne 0x45c4a3
jmp 0x45c5ad
mov eax, edx
or eax, esi
je 0x45c5f4
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x45c577
test ebx, ebx
jne 0x45c577
cmp edi, 0x80000000
je 0x45c4a3
push esi
push edx
push edi
push ebx
call fcn.004ccaa0
jmp 0x45c5a1
mov eax, edx
or eax, esi
je 0x45c5f4
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x45c598
mov edx, 1
xor esi, esi
push esi
push edx
push edi
push ebx
call fcn.004eef10
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x98], eax
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x94]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov dword [edx], eax
mov ax, word [edx + 8]
mov dword [edx + 4], ecx
mov ecx, 0x3e40
and ax, cx
mov ecx, dword [ebp - 0x18]
or ax, 4
movzx eax, ax
mov word [edx + 8], ax
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
test al, 1
je 0x45c4a6
mov eax, dword [ebp - 0x34]
mov ecx, 0x2400
test word [eax + 8], cx
je 0x45c6f2
mov ecx, eax
call fcn.00451a70
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
addsd xmm0, qword [ebp - 0x48]
jmp 0x45c699
subsd xmm0, qword [ebp - 0x48]
jmp 0x45c699
mulsd xmm0, qword [ebp - 0x48]
jmp 0x45c699
movsd xmm1, qword [ebp - 0x48]
ucomisd xmm1, qword [ebp - 0x190]
lahf
test ah, 0x44
jnp 0x45c5f4
divsd xmm0, xmm1
jmp 0x45c699
mov ecx, esi
call fcn.00451c00
mov ecx, ebx
mov esi, eax
mov edi, edx
call fcn.00451c00
mov ecx, eax
mov dword [ebp - 0x94], edx
mov eax, esi
mov dword [ebp - 0x98], ecx
or eax, edi
je 0x45c5f4
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x45c689
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push ecx
call fcn.004eef10
mov ecx, eax
call fcn.004ef2e0
movsd qword [ebp - 0x48], xmm0
mov ecx, dword [ebp - 0x44]
mov eax, ecx
and eax, 0x7ff00000
cmp eax, 0x7ff00000
jne 0x45c6c0
mov eax, dword [ebp - 0x48]
and ecx, 0xfffff
or eax, ecx
jne 0x45c5f4
mov edx, dword [ebp - 0x34]
mov ecx, 0x3e40
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov ax, word [edx + 8]
and ax, cx
movsd qword [edx], xmm0
mov ecx, dword [ebp - 0x18]
or ax, 8
movzx eax, ax
mov word [edx + 8], ax
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edi, dword [ebp - 0x14]
mov ecx, 1
mov esi, dword [ebp - 0x28]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov eax, dword [edi + 4]
test eax, eax
je 0x461375
lea eax, [eax + eax*4]
mov edx, 0x2400
test word [esi + eax*8 + 8], dx
lea eax, [esi + eax*8]
je 0x45c748
push 0
push 0
mov ecx, eax
call fcn.004520a0
mov ecx, dword [ebp - 0x18]
add esp, 8
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 8], dx
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov al, byte [ecx + 8]
or al, byte [edi + 8]
mov dword [ebp - 0x44], edx
test al, 1
je 0x45c7d1
mov eax, 0x2400
test word [edx + 8], ax
je 0x45c7b7
mov ecx, edx
call fcn.00451a70
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x18]
mov eax, 1
mov edi, dword [ebp - 0x14]
mov word [edx + 8], ax
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
call fcn.00451c00
mov ebx, eax
mov esi, edx
mov ecx, edi
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x11c], esi
call fcn.00451c00
mov edi, eax
mov eax, dword [ebp - 0x14]
mov cl, byte [eax]
cmp cl, 0x65
jne 0x45c7ff
and ebx, edi
and esi, edx
jmp 0x45c862
cmp cl, 0x66
jne 0x45c80a
or ebx, edi
or esi, edx
jmp 0x45c862
mov eax, edi
or eax, edx
je 0x45c862
test edx, edx
jg 0x45c83e
jl 0x45c81a
test edi, edi
jae 0x45c833
mov al, 0xcf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x45c83e
jg 0x45c82c
cmp edi, 0xffffffc0
jbe 0x45c83e
neg edi
adc edx, 0
neg edx
test edx, edx
jl 0x45c892
jg 0x45c83e
cmp edi, 0x40
jb 0x45c892
test esi, esi
jg 0x45c854
jl 0x45c848
test ebx, ebx
jae 0x45c854
cmp cl, 0x67
je 0x45c854
or ebx, 0xffffffff
or esi, ebx
jmp 0x45c862
xorps xmm0, xmm0
movlpd qword [ebp - 0x38], xmm0
mov esi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x44]
mov edx, 0x3e40
mov edi, dword [ebp - 0x14]
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx + 4], esi
mov esi, dword [ebp - 0x28]
or ax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x20]
mov dword [ecx], ebx
mov ecx, dword [ebp - 0x18]
add edi, 0x14
jmp 0x45baaa
movq xmm1, qword [ebp - 0x120]
movd xmm0, edi
cmp cl, 0x67
jne 0x45c8ae
psllq xmm1, xmm0
movq qword [ebp - 0x38], xmm1
jmp 0x45c85c
psrlq xmm1, xmm0
movq qword [ebp - 0x38], xmm1
test esi, esi
jg 0x45c85c
jl 0x45c8c1
test ebx, ebx
jae 0x45c85c
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, edi
or edx, 0xffffffff
call fcn.004eefd0
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
or ebx, eax
or esi, edx
jmp 0x45c862
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov ecx, esi
call fcn.00451c00
mov edi, dword [ebp - 0x14]
mov ecx, 0x3e40
mov dword [esi], eax
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0x18]
or ax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
mov eax, dword [ebp - 0x20]
adc dword [esi + 4], edx
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x45c971
push dword [ebp - 0x64]
mov dl, 0x43
mov ecx, esi
call fcn.0045b770
movzx eax, word [esi + 8]
add esp, 4
mov ecx, eax
test al, 4
jne 0x45c971
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 8], 0
jne 0x46135d
mov ecx, 0x14
jmp 0x461596
mov edi, dword [ebp - 0x14]
and ecx, 0x3e40
mov eax, dword [ebp - 0x20]
or ecx, 4
mov word [esi + 8], cx
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x45baaa
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 0x24
lea esi, [esi + eax*8]
je 0x461372
mov ecx, esi
call fcn.00451c90
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
movsd qword [esi], xmm0
mov ecx, dword [ebp - 0x18]
or ax, 8
mov word [esi + 8], ax
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x45c9fe
mov ecx, esi
call fcn.00451790
mov ecx, eax
test ecx, ecx
jne 0x461917
mov eax, dword [ebp - 0x14]
mov ecx, esi
push dword [ebp - 0x64]
mov dl, byte [eax + 8]
call fcn.00451e90
mov ecx, eax
add esp, 4
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x30], edx
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
movzx eax, word [edx + 8]
movzx esi, word [ecx + 8]
mov di, si
mov dword [ebp - 0x50], ecx
movzx edx, di
mov ecx, esi
mov dword [ebp - 0x44], edx
mov edx, ecx
or edx, eax
mov dword [ebp - 0x3c], eax
movzx ebx, ax
mov dword [ebp - 0x4c], ecx
test dl, 1
je 0x45cb08
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 2]
test al, al
jns 0x45cacb
mov al, byte [ebp - 0x4c]
and al, byte [ebp - 0x3c]
test al, 1
je 0x45caba
test ecx, 0x100
jne 0x45caba
mov eax, dword [ebp - 0x14]
xor ecx, ecx
movzx edx, byte [eax]
mov eax, ebx
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x44]
movzx eax, ax
mov dword [ebp - 0x4c], eax
mov di, ax
mov al, byte [edx + 0x508750]
jmp 0x45ccaf
not ecx
and ecx, 1
lea ecx, [ecx*2 - 1]
jmp 0x45cc68
test al, 0x20
je 0x45caec
mov eax, dword [ebp - 0x14]
mov edx, 0x3e40
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x84], 1
mov eax, dword [eax + 8]
jmp 0x45bf9a
test al, 0x10
jne 0x46135d
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ebx, dword [ebp - 0x14]
mov al, byte [ebx + 2]
and al, 0x47
cmp al, 0x43
jb 0x45cbcb
mov ecx, esi
mov esi, dword [ebp - 0x30]
test dl, 2
je 0x45cb64
mov al, byte [ebp - 0x3c]
and al, 0x2e
cmp al, 2
jne 0x45cb43
xor edx, edx
mov ecx, esi
call fcn.0045b5d0
mov ebx, dword [ebp - 0x50]
movzx eax, word [ebx + 8]
mov dword [ebp - 0x4c], eax
mov di, ax
jmp 0x45cb46
mov ebx, dword [ebp - 0x50]
mov al, byte [ebp - 0x4c]
and al, 0x2e
movzx ecx, di
cmp al, 2
jne 0x45cb69
xor edx, edx
mov ecx, ebx
call fcn.0045b5d0
mov edx, dword [ebp - 0x50]
movzx ecx, word [edx + 8]
jmp 0x45cb6c
mov edx, dword [ebp - 0x50]
jmp 0x45cb6f
mov edx, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x14]
mov al, byte [esi + 8]
and al, cl
test al, 4
je 0x45cc52
mov eax, dword [ebp - 0x30]
mov ecx, dword [edx + 4]
mov esi, dword [edx]
mov edx, dword [eax]
mov eax, dword [eax + 4]
cmp ecx, eax
jl 0x45cbaa
jg 0x45cb93
cmp esi, edx
jbe 0x45cba0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x45cca9
cmp ecx, eax
jg 0x45cbbb
jl 0x45cbaa
cmp esi, edx
jae 0x45cbbb
movzx edx, byte [ebx]
or ecx, 0xffffffff
mov al, byte [edx + 0x50c4d0]
jmp 0x45ccaf
movzx edx, byte [ebx]
xor ecx, ecx
mov al, byte [edx + 0x508750]
jmp 0x45ccaf
cmp al, 0x42
jne 0x45cc52
mov al, byte [ebp - 0x3c]
test al, 2
jne 0x45cc23
test al, 0x2c
je 0x45cc23
mov dl, byte [ebp - 0x64]
mov ecx, dword [ebp - 0x30]
push 1
call fcn.004517f0
mov edx, dword [ebp - 0x30]
mov esi, 0x3e40
mov cx, word [ebp - 0x3c]
add esp, 4
mov ebx, dword [ebp - 0x50]
mov ax, word [edx + 8]
xor ax, cx
and ax, si
xor cx, ax
mov word [ebp - 0x3c], cx
cmp edx, ebx
jne 0x45cc2b
mov eax, dword [ebp - 0x3c]
or eax, 2
movzx eax, ax
mov dword [ebp - 0x4c], eax
mov di, ax
jmp 0x45cc2b
mov ebx, dword [ebp - 0x50]
mov esi, 0x3e40
mov al, byte [ebp - 0x4c]
test al, 2
jne 0x45cc52
test al, 0x2c
je 0x45cc52
mov dl, byte [ebp - 0x64]
mov ecx, ebx
push 1
call fcn.004517f0
mov ax, word [ebx + 8]
add esp, 4
xor ax, di
and ax, si
xor di, ax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x50]
push dword [eax + 0x10]
call fcn.00456a90
add esp, 4
mov ecx, eax
mov edx, dword [ebp - 0x14]
mov esi, ecx
movzx eax, word [ebp - 0x3c]
movzx ebx, di
movzx edx, byte [edx]
test ecx, ecx
jns 0x45cc86
mov ebx, dword [ebp - 0x14]
mov al, byte [edx + 0x50c4d0]
jmp 0x45ccaf
mov dword [ebp - 0x3c], eax
mov eax, ebx
mov dword [ebp - 0x4c], eax
mov ecx, esi
test esi, esi
jne 0x45cca2
mov ebx, dword [ebp - 0x14]
mov di, ax
mov al, byte [edx + 0x508750]
jmp 0x45ccaf
mov di, word [ebp - 0x4c]
mov ebx, dword [ebp - 0x14]
mov al, byte [edx + 0x507b10]
mov esi, dword [ebp - 0x30]
movzx edx, al
mov eax, dword [ebp - 0x50]
mov word [eax + 8], di
mov ax, word [ebp - 0x3c]
mov word [esi + 8], ax
movzx ebx, word [ebx + 2]
test bl, 0x20
je 0x45cd2a
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x84], ecx
mov eax, dword [eax + 8]
lea esi, [eax + eax*4]
test bl, 8
je 0x45ccf4
mov ecx, dword [ebp - 0x14]
xor eax, eax
cmp byte [ecx], 0x35
sete al
cmp eax, edx
je 0x45bbe3
mov ebx, dword [ebp - 0x28]
mov eax, 0x3e40
mov edi, dword [ebp - 0x14]
mov cx, word [ebx + esi*8 + 8]
and cx, ax
mov eax, edx
cdq
or cx, 4
mov word [ebx + esi*8 + 8], cx
mov ecx, dword [ebp - 0x18]
mov dword [ebx + esi*8], eax
mov eax, dword [ebp - 0x20]
mov dword [ebx + esi*8 + 4], edx
mov esi, ebx
add edi, 0x14
jmp 0x45baaa
mov edi, dword [ebp - 0x14]
test edx, edx
jne 0x461360
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
cmp dword [ebp - 0x84], 0
jne 0x461363
add edi, 0x14
jmp 0x45baaa
mov ebx, dword [ebp - 0x14]
test byte [ebx + 2], 1
jne 0x45cd68
xor eax, eax
jmp 0x45cd6e
mov eax, dword [ebx - 4]
add eax, 4
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebp - 0x14]
mov edx, dword [ebx + 0x10]
mov ebx, dword [ebx + 4]
mov dword [ebp - 0x6c], ebx
mov ebx, dword [esi + 8]
xor esi, esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x80], ebx
test ecx, ecx
jle 0x45bbe3
lea ebx, [edx + 0x14]
nop dword [eax]
test eax, eax
je 0x45cda9
mov edi, dword [eax + esi*4]
jmp 0x45cdab
mov edi, esi
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0x28]
push dword [ebx]
movzx eax, byte [eax + esi]
and eax, 1
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x80]
add eax, edi
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0x6c]
add eax, edi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00456a90
mov edx, eax
add esp, 4
mov dword [ebp - 0x84], edx
test edx, edx
jne 0x45ce0a
mov eax, dword [ebp - 0x34]
inc esi
mov edx, dword [ebp - 0x54]
add ebx, 4
cmp esi, dword [ebp - 0x44]
jl 0x45cda0
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x10]
test byte [esi + eax], 2
mov esi, dword [ebp - 0x28]
je 0x45ce3f
mov eax, dword [ebp - 0x6c]
add eax, edi
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
jne 0x45ce37
mov eax, dword [ebp - 0x80]
add eax, edi
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
je 0x45ce3f
neg edx
mov dword [ebp - 0x84], edx
cmp dword [ebp - 0x68], 0
mov ecx, dword [ebp - 0x18]
je 0x45bbe6
mov edi, dword [ebp - 0x14]
neg edx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x84], edx
add edi, 0x14
jmp 0x45baaa
mov ebx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x14]
test ebx, ebx
jns 0x45ce89
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x2c]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
lea edi, [eax - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
jne 0x45cea5
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x2c]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
lea edi, [eax - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x2c]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
lea edi, [eax - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ebx, dword [ebp - 0x14]
mov edi, 2
mov edx, edi
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.00451cc0
mov ecx, dword [ebx + 8]
mov edx, edi
mov ebx, dword [ebp - 0x28]
mov esi, eax
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
call fcn.00451cc0
mov ecx, dword [ebp - 0x14]
lea eax, [eax + esi*2]
cmp byte [ecx], 0x2c
jne 0x45cf00
mov dl, byte [esi + eax + 0x507bb4]
jmp 0x45cf07
mov dl, byte [esi + eax + 0x507ba0]
mov eax, dword [ecx + 0xc]
mov ecx, 0x3e40
lea esi, [eax + eax*4]
mov ax, word [ebx + esi*8 + 8]
and ax, cx
movzx ecx, ax
cmp dl, 2
jne 0x45cf41
mov edi, dword [ebp - 0x14]
or ecx, 1
movzx eax, cx
mov ecx, dword [ebp - 0x18]
mov word [ebx + esi*8 + 8], ax
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edi, dword [ebp - 0x14]
or ecx, 4
movzx eax, dl
cdq
mov dword [ebx + esi*8], eax
movzx eax, cx
mov ecx, dword [ebp - 0x18]
mov word [ebx + esi*8 + 8], ax
mov eax, dword [ebp - 0x20]
mov dword [ebx + esi*8 + 4], edx
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.00451cc0
mov ecx, dword [ebp - 0x14]
mov ebx, 0x2400
xor eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 8]
cdq
lea ecx, [ecx + ecx*4]
test word [esi + ecx*8 + 8], bx
lea ecx, [esi + ecx*8]
je 0x45cfb6
push edx
push eax
call fcn.004520a0
mov ecx, dword [ebp - 0x18]
add esp, 8
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edi, dword [ebp - 0x14]
mov dword [ecx], eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x18]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
lea ecx, [esi + eax*8]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
jne 0x45d052
xor edx, edx
call fcn.00451cc0
neg eax
mov ecx, 0x2400
sbb eax, eax
inc eax
test word [esi + 8], cx
je 0x45d02c
push 0
push eax
mov ecx, esi
call fcn.004520a0
mov ecx, dword [ebp - 0x18]
add esp, 8
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x20]
mov dword [esi + 4], 0
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x45baaa
mov eax, 0x2400
test word [esi + 8], ax
jne 0x45c24b
mov ecx, dword [ebp - 0x18]
mov eax, 1
mov edi, dword [ebp - 0x14]
mov word [esi + 8], ax
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, edx
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x45d0ac
mov ecx, esi
call fcn.00451a70
mov ecx, dword [ebp - 0x18]
jmp 0x45d0b5
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x45bbe6
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.00451c00
mov ecx, dword [ebp - 0x18]
not eax
mov edi, dword [ebp - 0x14]
not edx
mov dword [esi], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x45baaa
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax + 0xc8]
test edi, edi
je 0x45d157
mov ecx, dword [ebp - 0x14]
sub ecx, dword [eax + 0x68]
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 0x46135d
mov eax, dword [ebp - 0x1c]
bts edx, ecx
mov byte [esi + edi], dl
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x14]
mov ecx, dword [eax + 0x68]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [eax + 0x68]
mov edi, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
cmp eax, dword [edi + 4]
je 0x461360
mov ecx, edi
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.00451cc0
mov edi, dword [ebp - 0x14]
test eax, eax
jne 0x461360
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ecx + 4]
cmp dword [ecx + 0xc], edx
sete dl
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.00451cc0
mov edi, dword [ebp - 0x14]
test eax, eax
je 0x461360
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
jne 0x461363
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
je 0x461363
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x45bc88
mov eax, dword [ebp - 0x14]
mov ecx, 0x2400
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
test word [esi + eax*8 + 8], cx
lea eax, [esi + eax*8]
je 0x45d250
mov ecx, eax
call fcn.00451a70
jmp 0x46135d
mov ecx, 1
mov word [eax + 8], cx
jmp 0x46135d
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], eax
mov eax, dword [edx + 8]
lea edx, [ebp - 0x88]
mov dword [ebp - 0x88], eax
call fcn.00456260
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x46190a
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x60]
mov eax, dword [eax + 0xc]
mov ebx, dword [ecx + 0x48]
mov dword [ebp - 0x30], ebx
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x3c], edi
cmp eax, dword [esi + 0x20]
je 0x45d3c7
cmp byte [ecx + 2], 0
je 0x45d320
cmp byte [ecx], 3
jne 0x45d2f1
mov eax, dword [ecx + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + edx*8 + 0xc]
mov dword [ecx + 0x54], eax
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx + 0x54]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + edx*8 + 0x10]
mov eax, dword [ebp - 0x60]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0x60]
jmp 0x45d35b
mov eax, 0x2400
test word [edi + 8], ax
je 0x45d303
mov ecx, edi
jmp 0x45c24d
mov ecx, dword [ebp - 0x18]
mov eax, 1
mov esi, dword [ebp - 0x28]
mov word [edi + 8], ax
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov esi, dword [ecx + 0x28]
mov ecx, esi
call fcn.00448d30
mov eax, dword [ebp - 0x60]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0x50], ecx
mov ecx, esi
mov edx, dword [ebp - 0x60]
lea edx, [edx + 0x54]
call fcn.004493a0
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x6c]
ja 0x460671
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + 0x20]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x45d376
movzx eax, al
mov dword [ebx], eax
mov al, 1
jmp 0x45d37d
mov edx, ebx
call fcn.004361b0
movzx ecx, al
mov eax, dword [ebp - 0x60]
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x60]
mov word [eax + 0x3a], cx
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebx]
cmp dword [ecx + 0x54], eax
jae 0x45d488
mov dword [ecx + 0x4c], 0
mov eax, dword [ebp - 0x60]
mov dword [eax + 0x54], 0
mov eax, dword [ebx]
cmp eax, 0x18003
ja 0x45d545
mov ecx, dword [ebp - 0x60]
cmp eax, dword [ecx + 0x50]
ja 0x45d545
movzx eax, word [ecx + 0x3a]
mov esi, dword [ebp - 0x88]
cmp eax, esi
jg 0x45d5eb
mov eax, dword [ebx]
cmp dword [ecx + 0x30], eax
jae 0x45d5ab
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0x54], edx
test edx, edx
jne 0x45d436
xorps xmm0, xmm0
lea eax, [ebp - 0x188]
movups xmmword [ebp - 0x188], xmm0
push eax
movups xmmword [ebp - 0x178], xmm0
movq qword [ebp - 0x168], xmm0
mov edx, dword [ebx]
mov ecx, dword [ecx + 0x28]
call fcn.004526b0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov edx, dword [ebp - 0x178]
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x54], edx
movzx edi, word [ecx + 0x3a]
mov esi, dword [ecx + 0x30]
add esi, edx
mov dword [ebp - 0x6c], edi
add eax, edx
mov dword [ebp - 0x68], 0
mov ebx, dword [ebx + edi*4]
lea edi, [edi*4 + 0x58]
mov dword [ebp - 0x34], eax
nop dword [eax + eax]
movzx eax, byte [esi]
mov dword [ebp - 0x74], eax
mov dword [ecx + edi], eax
mov eax, dword [ebp - 0x74]
cmp eax, 0x80
jae 0x45d48d
movzx eax, al
inc esi
movzx eax, byte [eax + 0x5090a0]
cdq
add ebx, eax
mov eax, dword [ebp - 0x68]
adc eax, edx
jmp 0x45d4c5
mov edx, dword [ecx + 0x4c]
jmp 0x45d433
lea edx, [ebp - 0x74]
mov ecx, esi
call fcn.004361b0
mov ecx, dword [ebp - 0x74]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0x60]
mov dword [eax + edi], ecx
mov eax, dword [ebp - 0x74]
cmp eax, 0x80
jb 0x45d4b6
add eax, 0xfffffff4
shr eax, 1
jmp 0x45d4bd
movzx eax, byte [eax + 0x5090a0]
add ebx, eax
mov eax, dword [ebp - 0x68]
adc eax, 0
mov ecx, dword [ebp - 0x30]
add edi, 4
mov edx, dword [ebp - 0x6c]
inc edx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x6c], edx
mov dword [ecx + edi - 0x58], ebx
mov ecx, dword [ebp - 0x60]
cmp edx, dword [ebp - 0x88]
jg 0x45d4f2
cmp esi, dword [ebp - 0x34]
jb 0x45d460
mov edi, dword [ebp - 0x34]
jmp 0x45d4f9
mov edi, dword [ebp - 0x34]
cmp esi, edi
jb 0x45d506
cmp esi, edi
ja 0x45d511
cmp ebx, dword [ecx + 0x50]
jne 0x45d511
test eax, eax
jne 0x45d511
test eax, eax
jb 0x45d561
ja 0x45d511
cmp ebx, dword [ecx + 0x50]
jbe 0x45d561
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 0
jne 0x45d51f
xor edx, edx
mov esi, edi
jmp 0x45d564
cmp dword [ecx + 0x4c], 0
jne 0x45d545
test dword [ebp - 0x180], 0x2400
jne 0x45d53a
cmp dword [ebp - 0x170], 0
je 0x45d545
lea ecx, [ebp - 0x188]
call fcn.00451ac0
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x461429
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ecx, [ebx + eax*4]
jmp 0x45bbe0
mov ebx, dword [ebp - 0x30]
sub esi, dword [ebp - 0x54]
mov word [ecx + 0x3a], dx
mov eax, dword [ebp - 0x60]
mov dword [eax + 0x30], esi
mov ecx, dword [ebp - 0x60]
cmp dword [ecx + 0x4c], 0
jne 0x45d59d
test dword [ebp - 0x180], 0x2400
jne 0x45d58f
cmp dword [ebp - 0x170], 0
je 0x45d59d
lea ecx, [ebp - 0x188]
call fcn.00451ac0
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x88]
mov edx, dword [ebp - 0x74]
mov edi, dword [ebp - 0x3c]
jmp 0x45d5b0
xor edx, edx
mov dword [ebp - 0x74], edx
movzx eax, word [ecx + 0x3a]
cmp eax, esi
jg 0x45d5f2
mov ecx, dword [ebp - 0x14]
cmp byte [ecx + 1], 0xf5
jne 0x45d2f1
mov edx, dword [ecx + 0x10]
mov ecx, edi
push 0x800
call fcn.00452260
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ecx + esi*4 + 0x58]
mov dword [ebp - 0x74], edx
mov eax, 0x2400
test word [edi + 8], ax
je 0x45d610
mov ecx, edi
call fcn.00451a70
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x88]
mov edx, dword [ebp - 0x74]
mov eax, dword [ecx + 0x54]
cmp eax, dword [ebx + esi*4 + 4]
jb 0x45d6c8
mov edi, dword [ecx + 0x4c]
add edi, dword [ebx + esi*4]
mov ebx, dword [ebp - 0x3c]
cmp edx, 0xc
jae 0x45d64a
push ebx
mov ecx, edi
call fcn.00456310
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov al, byte [ebp - 0x64]
lea esi, [edx - 0xc]
shr esi, 1
mov dword [ebx + 0xc], esi
mov byte [ebx + 0xa], al
lea edx, [esi + 2]
cmp dword [ebx + 0x18], edx
jge 0x45d682
mov eax, 1
mov ecx, ebx
push 0
mov word [ebx + 8], ax
call fcn.004514e0
add esp, 4
test eax, eax
jne 0x45fd36
mov eax, dword [ebx + 0x10]
jmp 0x45d688
mov eax, dword [ebx + 0x14]
mov dword [ebx + 0x10], eax
push esi
push edi
push eax
call fcn.004cdb30
mov eax, dword [ebx + 0x10]
add esp, 0xc
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov byte [esi + eax], 0
mov eax, dword [ebx + 0x10]
mov byte [esi + eax + 1], 0
mov eax, dword [ebp - 0x74]
mov esi, dword [ebp - 0x28]
and eax, 1
mov ax, word [eax*2 + 0x507f54]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov al, byte [ebp - 0x64]
mov byte [edi + 0xa], al
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x74]
movzx eax, word [eax + 2]
test al, 0xc0
je 0x45d6ea
cmp edx, 0xc
jb 0x45d6e6
test dl, 1
je 0x45d704
test al, al
js 0x45d704
cmp edx, 0x80
jb 0x45d6f9
lea eax, [edx - 0xc]
shr eax, 1
jmp 0x45d700
movzx eax, byte [edx + 0x5090a0]
test eax, eax
jne 0x45d726
push edi
mov ecx, 0x508b18
call fcn.00456310
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x60]
push edi
push eax
mov edx, dword [ebx + edx*4]
mov ecx, dword [ecx + 0x28]
call fcn.004525d0
mov ecx, eax
add esp, 8
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov edx, dword [ebp - 0x74]
mov ecx, dword [edi + 0x10]
push edi
call fcn.00456310
mov ecx, dword [ebp - 0x18]
mov eax, 0xefff
mov esi, dword [ebp - 0x28]
add esp, 4
and word [edi + 8], ax
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov al, byte [edi]
nop dword [eax]
push dword [ebp - 0x64]
mov dl, al
mov ecx, esi
call fcn.0045b770
add esp, 4
cmp byte [edi], 0x45
jne 0x45d7ed
movzx ebx, word [esi + 8]
test bl, 4
je 0x45d7ed
mov ecx, dword [esi]
mov edx, dword [esi + 4]
add ecx, 0
mov eax, edx
adc eax, 0x8000
cmp eax, 0xffff
ja 0x45d7d5
jb 0x45d7ca
cmp ecx, 0xffffffff
ja 0x45d7d5
and ebx, 0xfffb
or ebx, 0x20
jmp 0x45d7e9
mov ecx, dword [esi]
call fcn.004ef2e0
and ebx, 0xfffb
movsd qword [esi], xmm0
or ebx, 8
mov word [esi + 8], bx
mov al, byte [edi + 1]
inc edi
test al, al
je 0x45bbe3
add esi, 0x28
jmp 0x45d790
mov ebx, dword [ebp - 0x14]
xorps xmm0, xmm0
xor ecx, ecx
movlpd qword [ebp - 0x58], xmm0
mov dword [ebp - 0x50], ecx
movlpd qword [ebp - 0x70], xmm0
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x34], edx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x44], ebx
mov al, byte [eax + 0x93]
mov byte [ebp - 0x59], al
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x68], eax
test edi, edi
je 0x45d88e
mov al, byte [edi]
lea esi, [edx + 8]
mov ebx, dword [ebp - 0x64]
push ebx
lea ecx, [esi - 8]
mov dl, al
call fcn.0045b770
add esp, 4
cmp byte [edi], 0x45
jne 0x45d87d
movzx eax, word [esi]
test al, 4
je 0x45d87d
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
mov al, byte [edi + 1]
inc edi
add esi, 0x28
test al, al
jne 0x45d858
mov ecx, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
lea eax, [ebx + 0x1c]
mov ebx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x6c], ebx
movzx ebx, word [eax - 0x14]
mov dword [ebp - 0x30], eax
test bl, 1
je 0x45d8ca
and ebx, 0x4000
neg ebx
sbb ebx, ebx
and ebx, 0xa
inc ecx
mov dword [eax], ebx
jmp 0x45db11
test bl, 0x24
je 0x45da67
mov esi, dword [eax - 0x1c]
mov eax, dword [eax - 0x18]
test eax, eax
jg 0x45d8eb
jl 0x45d8e3
test esi, esi
jae 0x45d8eb
mov ecx, esi
not eax
not ecx
jmp 0x45d8ed
mov ecx, esi
inc dword [ebp - 0x50]
test eax, eax
ja 0x45d9db
jb 0x45d8ff
cmp ecx, 0x7f
ja 0x45d94a
mov eax, esi
xor ebx, ebx
and eax, 1
cmp eax, esi
jne 0x45d92a
mov esi, dword [ebp - 0x30]
cmp ebx, dword [esi - 0x18]
jne 0x45d92a
cmp byte [ebp - 0x59], 4
jb 0x45d92a
lea eax, [ecx + 8]
mov ecx, esi
mov dword [ecx], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x50]
jmp 0x45db14
mov ecx, dword [ebp - 0x30]
add edx, 1
mov eax, 1
mov dword [ebp - 0x3c], edx
adc edi, ebx
mov dword [ebp - 0x4c], edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x50]
jmp 0x45db14
test eax, eax
ja 0x45d9db
jb 0x45d95c
cmp ecx, 0x7fff
ja 0x45d97d
mov ecx, dword [ebp - 0x30]
add edx, 2
mov eax, 2
mov dword [ebp - 0x3c], edx
adc edi, 0
mov dword [ebp - 0x4c], edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x50]
jmp 0x45db14
test eax, eax
ja 0x45d9db
jb 0x45d98b
cmp ecx, 0x7fffff
ja 0x45d9ac
mov ecx, dword [ebp - 0x30]
add edx, 3
mov eax, 3
mov dword [ebp - 0x3c], edx
adc edi, 0
mov dword [ebp - 0x4c], edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x50]
jmp 0x45db14
test eax, eax
ja 0x45d9db
jb 0x45d9ba
cmp ecx, 0x7fffffff
ja 0x45d9db
mov ecx, dword [ebp - 0x30]
add edx, 4
mov eax, 4
mov dword [ebp - 0x3c], edx
adc edi, 0
mov dword [ebp - 0x4c], edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x50]
jmp 0x45db14
cmp eax, 0x7fff
ja 0x45da0a
jb 0x45d9e9
cmp ecx, 0xffffffff
ja 0x45da0a
mov ecx, dword [ebp - 0x30]
add edx, 6
mov eax, 5
mov dword [ebp - 0x3c], edx
adc edi, 0
mov dword [ebp - 0x4c], edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x50]
jmp 0x45db14
add edx, 8
mov dword [ebp - 0x3c], edx
adc edi, 0
mov dword [ebp - 0x4c], edi
test bl, 0x20
je 0x45da52
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx - 0x18]
mov ecx, esi
call fcn.004ef2e0
mov eax, dword [ebp - 0x30]
and ebx, 0xffdf
mov ecx, dword [ebp - 0x30]
or ebx, 8
movsd qword [eax - 0x1c], xmm0
mov word [eax - 0x14], bx
mov eax, 7
mov dword [ecx], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x50]
jmp 0x45db14
mov ecx, dword [ebp - 0x30]
mov eax, 6
mov dword [ecx], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x50]
jmp 0x45db14
test bl, 8
je 0x45da84
inc ecx
mov dword [eax], 7
add edx, 8
mov dword [ebp - 0x3c], edx
adc edi, 0
mov dword [ebp - 0x4c], edi
jmp 0x45db11
mov edi, dword [eax - 0x10]
mov eax, ebx
shr eax, 1
and eax, 1
lea eax, [eax + edi*2]
add eax, 0xc
test ebx, 0x4000
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x80], eax
je 0x45dad6
mov ecx, dword [ebx - 0x1c]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x80], eax
mov eax, edx
or eax, dword [ebp - 0x4c]
je 0x45dac7
lea ecx, [ebx - 0x1c]
call fcn.00451790
test eax, eax
jne 0x45fd36
add edi, dword [ebx - 0x1c]
jmp 0x45dad0
mov eax, ecx
cdq
add dword [ebp - 0x6c], eax
adc dword [ebp - 0x54], edx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x80]
add edx, edi
mov esi, 1
mov edi, dword [ebp - 0x4c]
mov dword [ebp - 0x3c], edx
adc edi, 0
mov edx, eax
mov dword [ebp - 0x4c], edi
shr edx, 7
xor ecx, ecx
mov eax, edx
or eax, ecx
je 0x45db04
shrd edx, ecx, 7
inc esi
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x45daf6
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x50]
mov dword [ebx], eax
add ecx, esi
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], ecx
add eax, 0xffffffe4
cmp eax, dword [ebp - 0x34]
je 0x45db2a
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x3c]
sub eax, 0x28
jmp 0x45d8a9
cmp ecx, 0x7e
jle 0x45db86
mov eax, ecx
mov ebx, 1
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x45db54
shrd esi, edx, 7
inc ebx
shr edx, 7
mov eax, esi
or eax, edx
jne 0x45db46
mov eax, dword [ebp - 0x50]
mov edi, 1
add eax, ebx
mov dword [ebp - 0x50], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x45db7f
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x45db71
mov ecx, dword [ebp - 0x50]
cmp ebx, edi
jge 0x45db8a
inc ecx
mov dword [ebp - 0x50], ecx
mov edi, dword [ebp - 0x3c]
mov eax, ecx
mov esi, dword [ebp - 0x68]
cdq
add edi, eax
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x4c]
mov ebx, edx
mov esi, dword [esi + 0x18]
adc eax, ebx
mov ecx, edi
add ecx, dword [ebp - 0x6c]
adc eax, dword [ebp - 0x54]
mov dword [ebp - 0x4c], eax
mov eax, esi
cdq
cmp dword [ebp - 0x4c], edx
jg 0x45dbbb
jl 0x45dbf5
cmp ecx, eax
jbe 0x45dbf5
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x6c]
cdq
cmp dword [ebp - 0x4c], edx
jg 0x460671
jl 0x45dbd5
cmp ecx, eax
ja 0x460671
cmp esi, edi
jge 0x45dbf5
mov ecx, dword [ebp - 0x68]
mov edx, edi
push 0
call fcn.004514e0
add esp, 4
test eax, eax
jne 0x45fd36
mov edx, dword [ebp - 0x68]
jmp 0x45dbfe
mov edx, dword [ebp - 0x68]
mov eax, dword [edx + 0x14]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0x6c]
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [ebp - 0x54]
mov dword [edx + 0xc], edi
je 0x45dc1f
mov eax, 0x4010
mov dword [edx], ecx
mov word [edx + 8], ax
mov eax, dword [ebp - 0x50]
mov esi, dword [edx + 0x10]
lea edi, [esi + eax]
cmp eax, 0x80
jae 0x45dc38
mov byte [esi], al
mov eax, 1
jmp 0x45dc46
push ebx
push dword [ebp - 0x80]
mov ecx, esi
call fcn.00435fa0
add esp, 8
mov ebx, dword [ebp - 0x34]
movzx eax, al
add esi, eax
nop
mov ebx, dword [ebx + 0x1c]
cmp ebx, 0x80
jae 0x45dc64
mov byte [esi], bl
mov eax, 1
jmp 0x45dc71
push 0
push ebx
mov ecx, esi
call fcn.00435fa0
add esp, 8
push ebx
mov ebx, dword [ebp - 0x34]
mov ecx, edi
movzx eax, al
mov edx, ebx
add esi, eax
call fcn.004562b0
add ebx, 0x28
add esp, 4
add edi, eax
mov dword [ebp - 0x34], ebx
cmp ebx, dword [ebp - 0x44]
jbe 0x45dc50
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
cmp dword [ebx + 0xc], 0
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov edx, dword [eax + 0x28]
je 0x45dcd4
mov ecx, edx
call fcn.00449bd0
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], edx
jmp 0x45dcfe
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0xf0]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0xf0], xmm0
call fcn.0044f200
mov ecx, eax
add esp, 4
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x45dd23
mov ecx, edx
call fcn.0045b980
mov edx, eax
jmp 0x45dd2c
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 0x110], 0
jne 0x4618c7
mov ebx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x20]
cmp edi, ebx
jb 0x45bbe6
nop
mov esi, dword [ecx + 0x158]
test esi, esi
je 0x45bbe6
add ebx, dword [ecx + 0x160]
push dword [ecx + 0x15c]
mov ecx, esi
mov dword [ebp - 0x8c], ebx
call dword [0x4f4350]
call esi
add esp, 4
test eax, eax
jne 0x4616bf
mov ecx, dword [ebp - 0x18]
cmp edi, ebx
jae 0x45dd60
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x10]
mov dword [ebp - 0x68], eax
test eax, eax
jne 0x45dea2
cmp dword [ecx + 0xb8], eax
jg 0x461451
test ebx, ebx
jne 0x45ddd5
xor esi, esi
jmp 0x45ddf2
mov esi, ebx
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x45dde0
sub esi, ecx
mov ecx, dword [ebp - 0x18]
and esi, 0x3fffffff
mov eax, dword [ecx + 0x1e0]
xor edx, edx
add eax, dword [ecx + 0x1dc]
push eax
call fcn.004aa7e0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
push ecx
mov ecx, dword [ebp - 0x18]
lea eax, [esi + 0x21]
push eax
call fcn.00431de0
mov edi, eax
add esp, 8
test edi, edi
je 0x45bbe3
lea ecx, [esi + 1]
push ecx
lea edx, [edi + 0x20]
push ebx
push edx
mov dword [edi], edx
call fcn.004cdb30
mov edx, dword [ebp - 0x18]
add esp, 0xc
cmp byte [edx + 0x4f], 0
je 0x45de56
mov byte [edx + 0x4f], 0
mov byte [edx + 0x57], 1
jmp 0x45de5c
inc dword [edx + 0x1dc]
mov eax, dword [edx + 0x1d0]
mov esi, dword [ebp - 0x28]
mov dword [edi + 0x18], eax
mov eax, dword [edx + 0x1e8]
mov ecx, dword [edx + 0x1ec]
mov dword [edx + 0x1d0], edi
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov eax, dword [edx + 0x1f0]
mov ecx, dword [edx + 0x1f4]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 0x14], ecx
mov ecx, edx
mov edi, dword [ebp - 0x14]
add edi, 0x14
jmp 0x45baaa
mov esi, dword [ecx + 0x1d0]
xor edi, edi
test esi, esi
je 0x45dec5
nop
mov ecx, dword [esi]
mov edx, ebx
call fcn.00435300
test eax, eax
je 0x45dedb
mov esi, dword [esi + 0x18]
inc edi
test esi, esi
jne 0x45deb0
push ebx
push str.no_such_savepoint:__s
push dword [ebp - 0x1c]
call fcn.00452ed0
add esp, 0xc
jmp 0x461591
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x68]
cmp dword [edx + 0xb8], 0
jle 0x45def3
cmp ebx, 1
je 0x46146b
cmp dword [esi + 0x18], 0
jne 0x45df55
cmp byte [edx + 0x57], 0
je 0x45df55
mov dword [ebp - 0x6c], 1
cmp ebx, 1
jne 0x45df5c
mov ecx, dword [ebp - 0x1c]
mov edx, ebx
call fcn.00455850
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461925
mov ecx, dword [ebp - 0x1c]
mov byte [eax + 0x4f], bl
call fcn.004558b0
cmp eax, 5
je 0x461481
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 0x28]
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461472
mov edx, dword [ebp - 0x18]
mov byte [edx + 0x57], cl
jmp 0x45e060
mov dword [ebp - 0x6c], 0
mov ecx, dword [edx + 0x1dc]
mov eax, dword [edx + 0x14]
sub ecx, edi
dec ecx
mov dword [ebp - 0x54], ecx
cmp ebx, 2
jne 0x45dfce
mov edx, dword [edx + 0x18]
xor ebx, ebx
and edx, 1
mov dword [ebp - 0x34], edx
test eax, eax
jle 0x45dfd3
mov ecx, edx
xor ecx, 1
xor edi, edi
mov dword [ebp - 0x44], ecx
nop dword [eax]
mov eax, dword [ebp - 0x18]
mov edx, 0x204
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edi + 4]
call fcn.00448780
mov ecx, eax
add esp, 4
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov eax, dword [ebp - 0x18]
inc ebx
mov ecx, dword [ebp - 0x44]
add edi, 0x10
mov eax, dword [eax + 0x14]
cmp ebx, eax
jl 0x45df90
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x34]
jmp 0x45dfd3
xor edx, edx
mov dword [ebp - 0x34], edx
xor ebx, ebx
test eax, eax
mov eax, dword [ebp - 0x18]
jle 0x45e012
xor edi, edi
nop
mov edx, dword [ebp - 0x68]
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edi + 4]
call fcn.00448a40
mov ecx, eax
add esp, 4
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov eax, dword [ebp - 0x18]
inc ebx
mov ecx, dword [ebp - 0x54]
add edi, 0x10
cmp ebx, dword [eax + 0x14]
jl 0x45dfe0
mov edx, dword [ebp - 0x34]
test edx, edx
je 0x45e04c
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x45e03c
nop dword [eax]
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x45e020
mov eax, dword [ebp - 0x18]
mov ecx, eax
call fcn.00478ca0
mov edx, dword [ebp - 0x18]
or dword [edx + 0x18], 1
jmp 0x45e04f
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x68]
mov ecx, dword [edx + 0x1d0]
cmp ecx, esi
je 0x45e098
mov ebx, dword [ebp - 0x18]
nop dword [eax]
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, ebx
mov dword [ebx + 0x1d0], eax
call fcn.00431a90
mov ecx, dword [ebx + 0x1d0]
dec dword [ebx + 0x1dc]
cmp ecx, esi
jne 0x45e070
mov ebx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x18]
cmp ebx, 1
jne 0x45e0c5
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x18]
mov dword [edx + 0x1d0], eax
mov edx, esi
call fcn.00431a90
cmp dword [ebp - 0x6c], 0
jne 0x45bbe3
mov edx, dword [ebp - 0x18]
dec dword [edx + 0x1dc]
jmp 0x45e0f8
cmp dword [ebp - 0x6c], 0
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [edx + 0x1e8], eax
mov dword [edx + 0x1ec], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [edx + 0x1f0], eax
mov dword [edx + 0x1f4], ecx
je 0x45e0f8
cmp ebx, 2
jne 0x45bbe3
mov ecx, dword [ebp - 0x18]
mov edx, ebx
push edi
call fcn.004aa7e0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x34], 0
mov edx, dword [edx + 8]
test edx, edx
je 0x45e149
mov eax, dword [ecx + 0x20]
and eax, 0x100000
or eax, 0
jne 0x4614b6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x45e218
lea eax, [ebp - 0x34]
mov ecx, esi
push eax
call fcn.00447600
mov ecx, eax
add esp, 4
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x4614c0
mov ebx, dword [ebp - 0x1c]
test byte [ebx + 0x98], 0x40
je 0x45e223
mov edx, dword [ebp - 0x14]
cmp dword [edx + 8], eax
mov edx, dword [ebp - 0x18]
je 0x45e226
cmp byte [edx + 0x4f], al
je 0x45e1ab
cmp dword [edx + 0xb4], 1
jle 0x45e226
mov eax, dword [ebx + 0x30]
test eax, eax
jne 0x45e1c7
mov eax, dword [edx + 0x1dc]
inc dword [edx + 0x1e0]
add eax, dword [edx + 0x1e0]
mov dword [ebx + 0x30], eax
mov ecx, dword [ebp - 0x18]
dec eax
push eax
xor edx, edx
call fcn.004aa7e0
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x45e1ea
mov edx, dword [ebx + 0x30]
mov ecx, esi
call fcn.004489e0
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x18]
mov esi, ebx
mov eax, dword [edx + 0x1e8]
mov ecx, dword [edx + 0x1ec]
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], eax
mov ecx, dword [edx + 0x1f4]
mov eax, dword [edx + 0x1f0]
mov dword [esi + 0x54], ecx
mov ecx, dword [ebp - 0x24]
mov dword [esi + 0x50], eax
jmp 0x45e228
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x1c]
jmp 0x45e228
mov edx, dword [ebp - 0x18]
mov esi, ebx
mov edi, dword [ebp - 0x14]
cmp word [edi + 2], 0
je 0x45e25d
mov eax, dword [ebp - 0x34]
mov ecx, edi
cmp eax, dword [ecx + 0xc]
jne 0x4614f3
mov ecx, dword [ecx + 4]
mov eax, dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, edi
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 0x10]
jne 0x4614f3
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x10c]
mov ecx, dword [ecx + 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.0044f0f0
mov eax, dword [ebp - 0x14]
add esp, 4
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x45e2d8
call fcn.0045b980
mov edi, dword [ebp - 0x14]
mov ecx, eax
mov eax, dword [ebp - 0x10c]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x18]
add edi, 0x14
jmp 0x45baaa
mov edi, dword [ebp - 0x14]
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x10c]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x18]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov esi, dword [edx + 4]
push dword [edx + 0xc]
mov edx, dword [edx + 8]
shl esi, 4
add esi, dword [ecx + 0x10]
mov ecx, dword [esi + 4]
call fcn.0044f150
mov dword [ebp - 0x24], eax
add esp, 4
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x45e33d
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
or dword [eax + 0x18], 1
jmp 0x45e351
cmp eax, 2
jne 0x45e34e
mov eax, dword [ebp - 0x14]
mov ecx, dword [esi + 0xc]
mov al, byte [eax + 0xc]
mov byte [ecx + 0x4c], al
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 4], 1
jne 0x45e384
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x45e37a
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x45e361
mov ecx, dword [ebp - 0x1c]
and dword [ecx + 0x98], 0xfffffffc
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je case.0x45bac5.96
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 8]
je 0x45e4cb
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov eax, dword [eax + 0x98]
and al, 3
cmp al, 1
je 0x46154e
mov eax, dword [ebp - 0x14]
xor ebx, ebx
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, esi
shl eax, 4
add eax, dword [edi + 0x10]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x34], esi
mov edi, dword [eax + 4]
mov dword [ebp - 0x6c], edi
cmp dl, 0x61
jne 0x45e422
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
movzx edi, word [edx + 2]
mov edx, dword [ebp - 0x1c]
and edi, 8
mov al, byte [eax + 0x4c]
or edi, 4
cmp al, byte [edx + 0x93]
jae 0x45e424
mov byte [edx + 0x93], al
jmp 0x45e424
xor edi, edi
mov eax, dword [ebp - 0x14]
test byte [eax + 2], 0x10
je 0x45e45e
mov edx, dword [ebp - 0x28]
lea eax, [ecx + ecx*4]
lea esi, [edx + eax*8]
mov ecx, esi
call fcn.00451c00
mov dword [esi], eax
mov ecx, 0x3e40
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 8], ax
mov eax, dword [esi]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + 1]
cmp al, 0xf7
jne 0x45e471
mov ebx, dword [ecx + 0x10]
movzx eax, word [ebx + 8]
jmp 0x45e47c
cmp al, 0xfd
jne 0x45e47a
mov eax, dword [ecx + 0x10]
jmp 0x45e47c
mov eax, ebx
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x1c]
push 0
push esi
push eax
call fcn.0045b4d0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x45fd36
push dword [esi + 0x28]
mov eax, dword [ebp - 0x44]
mov edx, eax
mov ecx, dword [ebp - 0x6c]
or dword [esi + 8], 4
push ebx
push edi
mov byte [esi + 2], 1
mov dword [esi + 0x34], eax
call fcn.00448c00
mov dword [ebp - 0x24], eax
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x2c], ebx
cmp byte [eax + 1], 0xf7
setne al
mov byte [esi + 4], al
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + 2]
mov eax, dword [esi + 0x28]
and cl, 3
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
push 0
push 0xffffffffffffffff
mov ecx, dword [edx + 8]
mov eax, dword [edi + 0x60]
mov edx, dword [edx + 4]
mov ebx, dword [eax + ecx*4]
mov ecx, edi
movsx eax, word [ebx + 0x38]
push eax
call fcn.0045b4d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x45fd36
or dword [edi + 8], 1
push dword [edi + 0x28]
mov byte [edi + 2], 1
mov esi, dword [ebx + 0x2c]
mov dword [edi + 0x2c], esi
mov al, byte [ebx + 4]
mov byte [edi + 4], al
mov edx, dword [ebx + 0x34]
mov dword [edi + 0x34], edx
mov eax, dword [ebx + 8]
xor eax, dword [edi + 8]
and eax, 4
xor dword [edi + 8], eax
mov ecx, dword [ebx + 0xc]
push esi
push 4
call fcn.00448c00
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + edx*4]
test esi, esi
je 0x45e5bc
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x45e5bc
mov edx, dword [esi + 0x34]
push 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x1c], 0
call fcn.0044ec90
mov ecx, eax
add esp, 4
mov dword [ebp - 0x24], ecx
jmp 0x45e6a9
mov eax, dword [ebp - 0x14]
mov ecx, edi
push 0
push 0xffffffffffffffff
push dword [eax + 8]
call fcn.0045b4d0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x45fd36
mov eax, dword [ebp - 0x14]
lea edi, [esi + 0xc]
or dword [esi + 8], 1
xor edx, edx
push 0x41e
movzx ecx, word [eax + 2]
mov eax, dword [ebp - 0x18]
or ecx, 5
push ecx
push edi
push eax
mov ecx, dword [eax]
call fcn.00446430
add esp, 0x10
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x45e689
mov ecx, dword [edi]
lea edx, [eax + 1]
push eax
call fcn.00447600
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x45e689
mov eax, dword [ebp - 0x14]
mov ecx, dword [edi]
mov ebx, dword [eax + 0x10]
mov dword [esi + 0x2c], ebx
test ebx, ebx
je 0x45e667
movzx eax, word [eax + 2]
lea edx, [esi + 0x34]
or eax, 2
push eax
call fcn.0044ea50
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x45e661
push dword [esi + 0x28]
mov edx, dword [esi + 0x34]
mov ecx, dword [edi]
push ebx
push 4
call fcn.00448c00
add esp, 0xc
mov dword [ebp - 0x24], eax
mov byte [esi + 4], 0
jmp 0x45e689
push dword [esi + 0x28]
mov edx, 1
mov dword [esi + 0x34], 1
push 0
push 4
call fcn.00448c00
add esp, 0xc
mov dword [ebp - 0x24], eax
mov byte [esi + 4], 1
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp word [eax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [esi + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 8], ecx
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov byte [esi + 2], 1
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
push 1
push 0xffffffffffffffff
push dword [ecx + 8]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x1c]
call fcn.0045b4d0
add esp, 0xc
test eax, eax
je 0x45fd36
mov edx, dword [ebp - 0x14]
push eax
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x2c], ecx
mov edx, dword [edx + 0xc]
mov ecx, dword [ebp - 0x18]
call fcn.00463140
mov ecx, eax
add esp, 4
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
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 edi, dword [ebp - 0x14]
mov dword [edx + 0x14], eax
je 0x461360
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
push 3
push 0xffffffffffffffff
push dword [ecx + 0xc]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x1c]
call fcn.0045b4d0
add esp, 0xc
test eax, eax
je 0x45fd36
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
mov byte [eax + 2], 1
mov ecx, dword [ecx + 8]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x18]
mov byte [eax + 4], 1
mov dword [eax + 0x28], 0x525400
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
mov eax, dword [ecx + 4]
mov ecx, edi
mov edx, dword [edi + 0x60]
mov edx, dword [edx + eax*4]
call fcn.00454c40
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x60]
mov edi, dword [ebp - 0x14]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
xor edi, edi
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x54], edi
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 4], 0
mov word [esi + 2], di
mov dword [esi + 0x1c], edi
je 0x45e902
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x28]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
movzx eax, word [edi + 8]
mov dword [ebp - 0x6c], eax
and al, 0x2e
cmp al, 2
jne 0x45e827
xor edx, edx
mov ecx, edi
call fcn.0045b5d0
mov ecx, edi
call fcn.00451c00
movzx ecx, word [edi + 8]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x34], edx
mov word [edi + 8], ax
test cl, 0x24
jne 0x45e8cc
test cl, 8
jne 0x45e8a3
test cl, 1
jne 0x46135d
cmp ebx, 0x18
jae 0x46135d
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x7c]
call fcn.00449650
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
cmp dword [ebp - 0x7c], 0
jne 0x46135d
cmp dword [ebp - 0x54], 0
mov ecx, dword [ebp - 0x18]
je 0x45bbe6
add dword [ebp - 0x14], 0x14
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x44]
call fcn.004ef2e0
movsd xmm1, qword [edi]
comisd xmm0, xmm1
jbe 0x45e8c0
test bl, 1
je 0x45e8cc
dec ebx
jmp 0x45e8cc
comisd xmm1, xmm0
jbe 0x45e8cc
test bl, 1
jne 0x45e8cc
inc ebx
mov edi, dword [ebp - 0x44]
lea eax, [ebp - 0x7c]
mov ecx, dword [esi + 0x28]
xor edx, edx
push eax
push 0
push dword [ebp - 0x34]
push edi
call fcn.004496f0
mov dword [ebp - 0x24], eax
add esp, 0x10
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], eax
test ecx, ecx
jne 0x461596
jmp 0x45e997
mov ecx, dword [esi + 0x28]
mov edx, 2
call fcn.004506d0
mov ecx, dword [ebp - 0x14]
test eax, eax
mov edx, dword [ebp - 0x28]
mov eax, 1
cmovne edi, eax
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x130], eax
test bl, 1
mov ax, word [ecx + 0x10]
mov word [ebp - 0x128], ax
sete al
mov byte [ebp - 0x122], 0
mov dword [ebp - 0x54], edi
lea eax, [eax*2 - 1]
mov byte [ebp - 0x126], al
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x12c], eax
lea edx, [ebp - 0x130]
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x7c]
push eax
push 0
push 0
push 0
call fcn.004496f0
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
test edi, edi
je 0x45e997
cmp byte [ebp - 0x122], al
je 0x45e877
mov eax, dword [ebp - 0x7c]
cmp ebx, 0x18
jl 0x45e9f3
test eax, eax
js 0x45e9b6
jne 0x45e9aa
cmp ebx, 0x19
je 0x45e9b6
mov dword [ebp - 0x7c], 0
jmp 0x45e881
mov dword [ebp - 0x7c], 0
push 0
push dword [esi + 0x28]
call fcn.00449d80
mov ecx, eax
add esp, 8
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x45e877
cmp ecx, 0x65
jne 0x461596
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x7c], 1
jmp 0x46135d
test eax, eax
jg 0x45ea0e
jne 0x45e9fe
cmp ebx, 0x16
je 0x45ea0e
mov ecx, dword [esi + 0x28]
call fcn.00449bc0
mov dword [ebp - 0x7c], eax
jmp 0x45e877
mov dword [ebp - 0x7c], 0
push 0
push dword [esi + 0x28]
call fcn.00449f10
jmp 0x45e9c7
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x14]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
shl eax, 3
xor eax, dword [ecx + 8]
and eax, 8
xor dword [ecx + 8], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
cmp dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x18]
je case.0x45bac5.11
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
test byte [eax + 8], 8
jne 0x45bc88
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
test ecx, ecx
jle 0x45ead5
mov eax, dword [ebx + 0x2c]
lea edi, [ebp - 0x1a0]
mov dword [ebp - 0x19c], esi
xor esi, esi
mov dword [ebp - 0x1a0], eax
mov word [ebp - 0x198], cx
jmp 0x45eb18
mov eax, 0x4000
test word [esi + 8], ax
je 0x45eaef
mov ecx, esi
call fcn.00451790
test eax, eax
jne 0x45fd36
mov ecx, dword [ebx + 0x2c]
call fcn.004565c0
mov edi, eax
mov dword [ebp - 0x44], edi
test edi, edi
je 0x45fd36
mov edx, dword [esi + 0xc]
mov ecx, dword [ebx + 0x2c]
push edi
push dword [esi + 0x10]
call fcn.00456620
add esp, 8
mov esi, edi
mov eax, dword [ebp - 0x14]
mov byte [edi + 0xa], 0
mov dword [ebp - 0x44], 0
cmp byte [eax], 0x1c
jne 0x45eb56
movzx edx, word [edi + 8]
xor ecx, ecx
test edx, edx
je 0x45eb56
mov eax, dword [edi + 4]
add eax, 8
nop dword [eax + eax]
test byte [eax], 1
jne 0x45eb4f
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x45eb40
jmp 0x45eb56
mov dword [ebp - 0x44], 1
mov ecx, dword [ebx + 0x28]
lea eax, [ebp - 0xe8]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.004496f0
add esp, 0x10
mov ecx, eax
mov dword [ebp - 0x24], ecx
test esi, esi
je 0x45eb86
mov ecx, dword [ebp - 0x18]
mov edx, esi
call fcn.00431a90
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0x14]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0xe8]
test eax, eax
mov byte [ebx + 3], 0
sete cl
mov dword [ebx + 0x1c], 0
test eax, eax
setne al
mov byte [ebx + 2], al
cmp byte [edi], 0x1e
jne 0x45ebd6
test ecx, ecx
jne 0x461360
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
cmp dword [ebp - 0x44], 0
jne 0x461360
test ecx, ecx
je 0x461360
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 0x24
jne 0x45ec5f
movups xmm0, xmmword [esi + eax*8]
mov dl, 0x43
lea ecx, [ebp - 0x1c8]
push dword [ebp - 0x64]
movups xmmword [ebp - 0x1c8], xmm0
movups xmm0, xmmword [esi + eax*8 + 0x10]
movups xmmword [ebp - 0x1b8], xmm0
movq xmm0, qword [esi + eax*8 + 0x20]
movq qword [ebp - 0x1a8], xmm0
call fcn.0045b770
add esp, 4
test byte [ebp - 0x1c0], 4
je 0x46135d
mov edi, dword [ebp - 0x1c8]
mov ebx, dword [ebp - 0x1c4]
jmp 0x45ec6c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov edi, dword [esi + eax*8]
mov ebx, dword [esi + eax*8 + 4]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0xa8]
push eax
push 0
push ebx
mov ecx, dword [esi + 0x28]
push edi
mov dword [ebp - 0xa8], 0
call fcn.004496f0
mov dword [esi + 0x40], edi
add esp, 0x10
mov dword [esi + 0x44], ebx
mov word [esi + 2], 0
mov dword [esi + 0x1c], 0
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xa8]
mov dword [esi + 0x20], eax
cmp dword [ebp - 0xa8], 0
je 0x45e384
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 8], 0
jne 0x46135d
mov ecx, 0x15ecd
call fcn.004c9330
mov ecx, eax
mov dword [ebp - 0x24], ecx
jmp 0x45e387
mov ebx, dword [ebp - 0x14]
mov edx, ebx
mov edi, dword [ebp - 0x1c]
mov ecx, edi
call fcn.0045b9a0
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x60]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [eax + 4], ecx
mov dword [eax], edx
mov eax, ebx
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x60]
mov edi, ebx
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x18]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ebx, dword [ebp - 0x14]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x1c]
mov edx, ebx
movlpd qword [ebp - 0x58], xmm0
mov dword [ebp - 0x34], 0
call fcn.0045b9a0
mov edx, dword [ebx + 4]
mov edi, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x44], edi
mov ecx, dword [eax + 0x60]
mov ebx, dword [ecx + edx*4]
test byte [ebx + 8], 2
jne 0x45edbb
mov ecx, dword [ebx + 0x28]
lea edx, [ebp - 0x34]
call fcn.00449650
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
cmp dword [ebp - 0x34], eax
je 0x45ed8c
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], eax
jmp 0x45edbb
mov ecx, dword [ebx + 0x28]
call fcn.00448d90
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
cmp edx, 0x7fffffff
jl 0x45edaf
jg 0x45eda9
cmp eax, 0xffffffff
jb 0x45edaf
or dword [ebx + 8], 2
jmp 0x45edbb
add eax, 1
mov dword [ebp - 0x58], eax
adc edx, 0
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x45ee4e
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x45edf4
mov eax, dword [edx + 4]
test eax, eax
je 0x45ede9
nop dword [eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x45ede0
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
jmp 0x45edfa
lea eax, [ecx + ecx*4]
lea esi, [esi + eax*8]
mov ecx, esi
call fcn.00451d10
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x45ee17
cmp edx, 0x7fffffff
je 0x45eea5
test byte [ebx + 8], 2
jne 0x45eea5
mov edi, dword [ebp - 0x54]
add ecx, 1
adc edx, 0
cmp edi, edx
jg 0x45ee43
jl 0x45ee37
mov eax, dword [ebp - 0x58]
cmp eax, ecx
jae 0x45ee46
mov eax, ecx
mov edi, edx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edi
jmp 0x45ee46
mov eax, dword [ebp - 0x58]
mov dword [esi + 4], edi
mov edi, dword [ebp - 0x44]
mov dword [esi], eax
test byte [ebx + 8], 2
je 0x45eeaf
xor esi, esi
lea eax, [ebp - 0x58]
push eax
push 8
call fcn.004347c0
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
and eax, 0x3fffffff
add ecx, 1
push edx
adc eax, 0
mov dword [ebp - 0x58], ecx
push 0
push eax
mov dword [ebp - 0x54], eax
xor edx, edx
push ecx
mov ecx, dword [ebx + 0x28]
call fcn.004496f0
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
cmp dword [ebp - 0x34], eax
jne 0x45eeaf
inc esi
cmp esi, 0x64
jl 0x45ee56
mov ecx, 0xd
jmp 0x461596
mov esi, dword [ebp - 0x28]
mov byte [ebx + 3], 0
mov dword [ebx + 0x1c], 0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
cmp byte [edx + 1], 0xfa
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
lea edi, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x6c], esi
lea eax, [eax + eax*4]
mov ecx, dword [ebx + eax*8]
mov eax, dword [ebx + eax*8 + 4]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd4], eax
jne 0x45ef39
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0xf0], 0
je 0x45ef39
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ebx, dword [edx + 0x10]
mov ecx, dword [eax + ecx*8]
mov dword [ebp - 0x44], ecx
jmp 0x45ef3e
xor ebx, ebx
mov dword [ebp - 0x44], ebx
movzx eax, word [edx + 2]
mov edx, eax
test al, 1
je 0x45ef55
mov eax, dword [ebp - 0x1c]
inc dword [eax + 0x2c]
mov eax, dword [ebp - 0x14]
movzx edx, word [eax + 2]
movzx ecx, dx
test dl, 0x20
je 0x45ef73
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x54]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 2]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + edi*8 + 0x10]
mov dword [ebp - 0xd0], eax
mov eax, dword [edx + edi*8 + 0xc]
mov dword [ebp - 0xc4], eax
test cl, 0x10
je 0x45ef94
mov edx, dword [esi + 0x20]
jmp 0x45ef96
xor edx, edx
mov eax, dword [ebp - 0x28]
mov esi, 0x4000
test word [eax + edi*8 + 8], si
mov esi, dword [ebp - 0x6c]
je 0x45efb3
mov eax, dword [eax + edi*8]
mov dword [ebp - 0xc0], eax
jmp 0x45efbd
mov dword [ebp - 0xc0], 0
push edx
and ecx, 0xa
mov dword [ebp - 0xe0], 0
push ecx
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0xe0]
call fcn.0044dd40
mov ecx, eax
mov byte [esi + 3], 0
add esp, 8
mov dword [ebp - 0x24], ecx
mov dword [esi + 0x1c], 0
test ecx, ecx
jne 0x461596
test ebx, ebx
je 0x45bbe3
push dword [ebp - 0xd4]
mov eax, dword [ebp - 0x14]
mov ecx, 0x17
push dword [ebp - 0xd8]
push dword [ebx]
test byte [eax + 2], 4
mov eax, 0x12
push dword [ebp - 0x44]
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x18]
mov esi, dword [eax + 0xf0]
mov ecx, esi
push dword [eax + 0xec]
call dword [0x4f4350]
call esi
mov ecx, dword [ebp - 0x18]
add esp, 0x18
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
cmp byte [edx + 1], 0xfa
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x34], eax
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
jne 0x45f136
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0xf0], 0
je 0x45f136
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
test byte [edx + 2], 2
mov ebx, dword [edx + 0x10]
mov edi, dword [eax + ecx*8]
mov dword [ebp - 0x44], edi
je 0x45f0b1
cmp byte [esi + 4], 0
je 0x45f0b1
mov ecx, dword [esi + 0x28]
call fcn.00448d90
mov dword [esi + 0x44], edx
mov edx, dword [ebp - 0x14]
mov dword [esi + 0x40], eax
mov edi, dword [ebp - 0x1c]
mov dl, byte [edx + 2]
mov ecx, dword [esi + 0x28]
call fcn.0044e1f0
mov ecx, eax
mov dword [esi + 0x1c], 0
mov dword [ebp - 0x24], ecx
mov dword [esi + 0x20], 0
test ecx, ecx
jne 0x461596
test byte [ebp - 0x34], 1
mov ecx, dword [ebp - 0x18]
je 0x45bbe6
inc dword [edi + 0x2c]
mov edi, dword [ecx + 0xf0]
test edi, edi
je 0x45bbe6
test byte [ebx + 0x24], 0x80
jne 0x45bbe6
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [ebx]
push dword [ebp - 0x44]
push 9
push dword [ecx + 0xec]
mov ecx, edi
call dword [0x4f4350]
call edi
mov ecx, dword [ebp - 0x18]
add esp, 0x18
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov dword [ebp - 0x44], 0
xor ebx, ebx
jmp 0x45f0b4
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x2c]
call fcn.00457cb0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0x2c], 0
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xfc], 0
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
lea eax, [ebp - 0xfc]
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0x10]
call fcn.00465470
mov ecx, eax
add esp, 8
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov edi, dword [ebp - 0x14]
cmp dword [ebp - 0xfc], eax
jne 0x461360
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + ecx*4]
call fcn.004653d0
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x60]
mov edi, dword [ebp - 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0x1c], 0
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edi, dword [ebp - 0x1c]
mov ecx, edi
mov edx, dword [ebp - 0x14]
call fcn.0045b9a0
mov ecx, dword [edi + 0x60]
mov esi, eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ecx + 0x28]
mov ecx, edi
call fcn.00448dc0
mov ecx, dword [ebp - 0x18]
cmp eax, dword [ecx + 0x6c]
ja 0x460671
push esi
mov edx, eax
mov ecx, edi
call fcn.004526b0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xc], eax
jne 0x45bbe3
mov eax, 0x1000
test word [esi + 8], ax
je 0x45bbe3
mov ecx, esi
call fcn.00451710
mov ecx, dword [ebp - 0x18]
test eax, eax
jne 0x45fd39
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov esi, dword [ebp - 0x1c]
mov ecx, esi
mov edx, dword [ebp - 0x14]
call fcn.0045b9a0
mov ecx, dword [ebp - 0x14]
mov ebx, eax
mov edx, dword [ecx + 4]
mov ecx, dword [esi + 0x60]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x45f2dd
mov ecx, dword [ebp - 0x18]
mov eax, 1
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
cmp byte [esi + 3], 0
je 0x45f30e
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x44]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
mov dword [ebx], eax
mov eax, dword [ebp - 0x20]
mov dword [ebx + 4], edx
add edi, 0x14
jmp 0x45baaa
cmp byte [esi], 2
jne 0x45f36f
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0xb8]
push edx
push ecx
mov edi, dword [ecx]
mov eax, dword [edi]
mov esi, dword [eax + 0x30]
mov ecx, esi
call dword [0x4f4350]
call esi
mov ecx, dword [ebp - 0x1c]
add esp, 8
mov edx, edi
mov dword [ebp - 0x24], eax
call fcn.00457e40
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov dword [ebx], eax
mov eax, dword [ebp - 0x20]
mov dword [ebx + 4], edx
add edi, 0x14
jmp 0x45baaa
mov ecx, esi
call fcn.00456240
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
cmp byte [esi + 2], al
je 0x45f3a5
mov ecx, dword [ebp - 0x18]
mov eax, 1
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [esi + 0x28]
call fcn.00448d90
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
mov dword [ebx], eax
mov eax, dword [ebp - 0x20]
mov dword [ebx + 4], edx
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 0
mov byte [ecx + 2], 1
mov dword [ecx + 0x1c], 0
jne 0x45bbe3
mov ecx, dword [ecx + 0x28]
call fcn.00444ac0
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0xac], 0
cmp dl, 0x81
jne 0x45f445
mov ecx, edi
mov dword [esi + 0x20], 0xffffffff
call fcn.00448d80
test eax, eax
jne 0x45bbe3
lea edx, [ebp - 0xac]
mov ecx, edi
call fcn.00449650
mov dword [ebp - 0x24], eax
mov al, byte [ebp - 0xac]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 2], al
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 8], 0
jle 0x45bbe3
cmp dword [ebp - 0xac], 0
mov edi, ecx
jne 0x461360
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.00449620
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
cmp dword [ebp - 0xb0], eax
jne 0x46135d
mov ecx, esi
call fcn.00449bd0
test edx, edx
jl 0x45f50c
jg 0x45f4ea
test eax, eax
jb 0x45f50c
push edx
push eax
call fcn.00436540
mov ecx, dword [ebp - 0x14]
add esp, 8
cwde
cmp eax, dword [ecx + 0xc]
jge 0x45f50c
mov dword [ebp - 0xb0], 1
jmp 0x46135d
cmp dword [ebp - 0xb0], 0
mov edi, dword [ebp - 0x14]
jne 0x461360
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov eax, dword [ebp - 0x1c]
inc dword [eax + 0xac]
jmp 0x45f53b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x9c]
mov eax, dword [eax + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x9c], 1
cmp byte [esi], 1
jne 0x45f565
mov ecx, esi
call fcn.004652a0
jmp 0x45f578
mov ecx, dword [esi + 0x28]
call fcn.00449620
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov al, byte [ebp - 0x9c]
mov edi, dword [ebp - 0x14]
mov byte [esi + 2], al
cmp dword [ebp - 0x9c], ecx
jne 0x461360
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
mov edx, edi
mov ecx, dword [ebp - 0x18]
call fcn.00465340
jmp 0x45f5ee
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
push dword [edx + 0xc]
mov esi, dword [edx + 0x10]
mov edi, dword [eax + ecx*4]
mov ecx, esi
push dword [edi + 0x28]
call dword [0x4f4350]
call esi
add esp, 8
mov ecx, eax
mov dword [ebp - 0x24], ecx
mov dword [edi + 0x1c], 0
test ecx, ecx
jne 0x45f617
mov ecx, dword [ebp - 0x1c]
mov byte [edi + 2], al
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 2]
inc dword [ecx + eax*4 + 0xa4]
jmp 0x460eba
cmp ecx, 0x65
jne 0x461596
mov dword [ebp - 0x24], 0
mov byte [edi + 2], 1
jmp 0x45dd3d
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [edx + 0x60]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
je 0x45f654
inc dword [edx + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x45f673
mov ecx, esi
call fcn.00451790
mov ecx, eax
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x14]
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0xe0], eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0xcc], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0xc8], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x45f6b6
mov ecx, dword [edi + 0x20]
jmp 0x45f6b8
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0xe0]
and eax, 0xa
push eax
call fcn.0044dd40
mov ecx, eax
mov dword [edi + 0x1c], 0
add esp, 8
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x45f727
mov ecx, esi
call fcn.00451790
mov ecx, eax
test ecx, ecx
jne 0x461596
mov edx, esi
mov ecx, edi
call fcn.004643a0
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov ecx, edi
mov dword [ebp - 0x150], eax
mov ax, word [edx + 0xc]
mov word [ebp - 0x148], ax
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x28]
mov byte [ebp - 0x146], 0
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x14c], eax
lea edx, [ebp - 0x150]
lea eax, [ebp - 0x110]
push eax
push 0
push 0
push 0
call fcn.004496f0
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
cmp dword [ebp - 0x110], eax
jne 0x45f7f2
mov dl, 4
mov ecx, edi
call fcn.0044e1f0
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
cmp word [ecx + 2], 0
jne 0x461558
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.00456240
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
cmp byte [esi + 2], al
jne 0x45f8f4
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0xf8]
xorps xmm0, xmm0
movlpd qword [ebp - 0xf8], xmm0
mov edx, dword [esi + 0x28]
push eax
call fcn.004579d0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x85
jne 0x45f8c6
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x60]
mov edi, dword [ebp - 0x14]
mov edx, dword [eax + ecx*4]
mov byte [edx + 2], 0
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf4]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x14]
mov dword [edx + 0x44], ecx
mov ecx, dword [ebp - 0x18]
mov byte [edx + 3], 1
mov eax, dword [eax + 0x10]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x20]
mov dword [edx + 0x24], esi
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x45baaa
mov edx, eax
mov ecx, edi
call fcn.0045b9a0
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.00452080
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 3], 0
je 0x45bc88
call fcn.00456190
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp byte [ebp - 0x59], 0x28
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x160], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x158], ax
sbb al, al
mov byte [ebp - 0x156], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xa0], 0
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x15c], eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.00457bb0
mov dword [ebp - 0x24], eax
add esp, 8
mov eax, dword [ebp - 0x14]
test byte [eax], 1
mov eax, dword [ebp - 0xa0]
jne 0x45f9ce
neg eax
jmp 0x45f9cf
inc eax
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0xa0], eax
test ecx, ecx
jne 0x461596
mov edi, dword [ebp - 0x14]
test eax, eax
jg 0x461360
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
call fcn.0045b9a0
mov ecx, dword [ebp - 0x18]
mov esi, eax
mov edi, dword [ebp - 0x18]
mov eax, 1
mov word [esi + 8], ax
mov ecx, dword [ecx + 0xc0]
inc ecx
cmp dword [edi + 0xb4], ecx
jg 0x46155f
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0xa4]
push eax
mov ecx, edi
mov dword [ebp - 0xa4], 0
mov ebx, dword [edx + 0xc]
mov eax, ebx
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0044f0a0
mov dword [ebp - 0x24], eax
add esp, 4
mov ecx, dword [ebp - 0x24]
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0xa4]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
test ecx, ecx
jne 0x461479
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x45fa9d
mov ecx, dword [ebp - 0x14]
mov edx, ebx
push dword [ecx + 4]
mov ecx, edi
push eax
call fcn.0047c410
lea ecx, [ebx + 1]
add esp, 8
mov byte [ebp - 0x75], cl
mov esi, dword [ebp - 0x28]
mov ecx, edi
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x44]
mov ecx, dword [ecx + 0x10]
xor edi, edi
mov dword [ebp - 0x44], 0
cmp dword [edx + 0xc], edi
cmove eax, edi
push eax
mov eax, dword [edx + 8]
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0044ec90
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, eax
mov dword [ebp - 0x24], ecx
cmp dword [edi + 0xc], 0
je 0x45fb0b
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
add dword [ecx + 0x2c], eax
mov ecx, edi
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jle 0x45fb08
lea ecx, [ecx + ecx*4]
cdq
add dword [esi + ecx*8], eax
adc dword [esi + ecx*8 + 4], edx
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x45fb51
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x18]
call fcn.00463690
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ecx + 0x28]
call fcn.0044ed50
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
call fcn.0045b9a0
mov edx, dword [ebp - 0x14]
mov esi, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xe4], 0
mov ecx, dword [edx + 4]
push dword [edx + 0xc]
shl ecx, 4
lea edx, [ebp - 0xe4]
add ecx, dword [eax + 0x10]
mov ecx, dword [ecx + 4]
call fcn.0044ea50
mov ecx, eax
add esp, 4
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
inc byte [ecx + 0x5a]
push 0
push 0
push 0
push dword [edx + 0x10]
push ecx
call fcn.0048f710
mov ecx, dword [ebp - 0x18]
add esp, 0x14
mov dword [ebp - 0x24], eax
dec byte [ecx + 0x5a]
test eax, eax
je 0x45bfb1
mov ebx, dword [ebp - 0x2c]
mov edi, ecx
mov ecx, dword [ebp - 0x24]
jmp 0x46159c
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
mov esi, dword [ecx + 4]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
jne 0x45fc65
mov eax, dword [ebx + 0x10]
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.00481280
mov edi, dword [ebp - 0x1c]
add esp, 4
and dword [ebx + 0x18], 0xffffffef
mov edx, esi
mov ecx, ebx
lea eax, [edi + 0x7c]
push 1
push eax
call fcn.00495d50
mov ecx, ebx
mov dword [ebp - 0x24], eax
add esp, 8
or dword [ecx + 0x18], 1
and dword [edi + 0x98], 0xfffffffc
jmp 0x45fd1b
mov eax, dword [ebp - 0x1c]
add eax, 0x7c
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xcc], eax
add esi, esi
mov eax, dword [ebx + 0x10]
push ecx
push str.sqlite_master
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xc0], 0
push dword [eax + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.00434410
mov esi, eax
add esp, 0x14
test esi, esi
je 0x461573
push 0
lea eax, [ebp - 0xd0]
mov byte [ebx + 0xa5], 1
push eax
push fcn.00495ac0
push esi
push ebx
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xbc], 0
call fcn.0048f710
add esp, 0x14
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x45fd09
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x45fd09
cmp dword [ebp - 0xbc], eax
jne 0x45fd09
mov ecx, 0x1647c
call fcn.004c9330
mov dword [ebp - 0x24], eax
mov edx, esi
mov ecx, ebx
call fcn.00431a90
mov ecx, ebx
mov byte [ecx + 0xa5], 0
cmp dword [ebp - 0x24], 0
je 0x45bbe6
call fcn.00478ca0
mov ecx, dword [ebp - 0x24]
cmp ecx, 7
jne 0x461596
mov ecx, dword [ebp - 0x18]
call fcn.004321a0
push str.out_of_memory
push dword [ebp - 0x1c]
call fcn.00452ed0
add esp, 8
mov ecx, 7
jmp 0x461596
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 4]
call fcn.00476cc0
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.00479170
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.00478a20
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.004a48c0
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
lea esi, [eax + eax*4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
lea eax, [ebp - 0x114]
push eax
mov eax, dword [ebx + esi*8]
inc eax
push eax
push dword [edx + 8]
lea eax, [ecx + 4]
mov ecx, dword [ebp - 0x18]
push eax
movzx eax, word [edx + 2]
add eax, eax
mov edx, dword [ecx + 0x10]
mov edx, dword [edx + eax*8 + 4]
call fcn.0044fee0
add esp, 0x10
mov ecx, edi
mov ebx, eax
call fcn.00452080
mov eax, dword [ebp - 0x114]
test eax, eax
je 0x45fe66
test ebx, ebx
je 0x45fd36
mov ecx, dword [ebp - 0x28]
dec eax
cdq
push fcn.00431980
push 1
sub dword [ecx + esi*8], eax
push 0xffffffffffffffff
sbb dword [ecx + esi*8 + 4], edx
mov edx, ebx
mov ecx, edi
call fcn.00452320
add esp, 0xc
movzx edx, byte [ebp - 0x64]
mov ecx, edi
call fcn.004514c0
jmp 0x45dd3d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 0x10
lea esi, [esi + eax*8]
mov eax, dword [ecx + 8]
lea edi, [eax + eax*4]
jne 0x45fe9e
mov ecx, esi
call fcn.00452110
test eax, eax
jne 0x45fd36
mov eax, dword [ebp - 0x28]
mov ecx, dword [esi + 0x10]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.0043bb70
mov ecx, dword [ebp - 0x18]
add esp, 8
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 0x10
lea esi, [esi + eax*8]
je 0x45ff14
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x138]
call fcn.0043be80
test eax, eax
je 0x45ff14
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
push dword [ebp - 0x134]
mov eax, dword [eax + 0xc]
push dword [ebp - 0x138]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
call fcn.004520d0
add esp, 8
jmp 0x45dd3d
mov ecx, esi
call fcn.00452080
jmp 0x460eba
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 0x10
lea esi, [esi + eax*8]
mov eax, dword [ecx + 0xc]
lea edi, [eax + eax*4]
jne 0x45ff4b
mov ecx, esi
call fcn.00452110
test eax, eax
jne 0x45fd36
test ebx, ebx
je 0x45ff70
mov eax, dword [ebp - 0x28]
mov edx, ebx
mov ecx, dword [esi + 0x10]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.0043bee0
add esp, 8
test eax, eax
jne 0x46135d
test ebx, ebx
js 0x45bbe3
jmp 0x45fe9e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov dword [ebp - 0x44], edi
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], ecx
cmp word [eax + 2], 0
je 0x45ffc3
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x14]
mov eax, dword [eax + 0xc8]
test eax, eax
je 0x45ffc0
nop word [eax + eax]
cmp dword [eax + 0x1c], ecx
je 0x45bc88
mov eax, dword [eax + 4]
test eax, eax
jne 0x45ffb0
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov eax, dword [eax + 0xd0]
cmp eax, dword [edx + 0x94]
jge 0x461581
test byte [ecx + 8], 0x10
jne 0x4600d9
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 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 [edi + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x46000d
add eax, 7
sar eax, 3
lea edi, [eax + ecx*4]
mov ecx, dword [ebp - 0x18]
mov eax, edi
cdq
push edx
push eax
call fcn.00431d40
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x45fd36
mov ecx, dword [ebp - 0x34]
call fcn.00451b80
mov eax, dword [ebp - 0x34]
mov ecx, 0x410
mov dword [eax + 0xc], edi
mov edi, dword [ebp - 0x44]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x2c]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x24], 0x4541c0
mov eax, dword [ebp - 0x1c]
mov dword [ebx], eax
mov dword [ebx + 0x3c], esi
mov eax, dword [edi + 0xc]
mov dword [ebx + 0x40], eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1c]
mov dword [ebx + 0x30], eax
mov eax, dword [edx + 0x58]
mov dword [ebx + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [ebx + 0x38], eax
mov eax, dword [edx + 0x60]
mov dword [ebx + 0x14], eax
mov eax, dword [edx + 0x1c]
mov dword [ebx + 0x2c], eax
mov eax, dword [edx + 0x68]
mov dword [ebx + 8], eax
mov eax, dword [edx + 0x6c]
mov dword [ebx + 0x34], eax
mov eax, dword [edi + 0x14]
mov dword [ebx + 0x1c], eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
lea eax, [ebx + 0x50]
cmp eax, ecx
je 0x4600d1
mov edx, dword [ebp - 0x18]
mov esi, 0x80
nop
mov word [eax + 8], si
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x4600c0
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xd0]
jmp 0x4600df
mov ebx, dword [ecx + 0x10]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
lea esi, [ebx + 0x50]
inc eax
mov dword [ebp - 0x28], esi
mov dword [edx + 0xd0], eax
mov eax, dword [edx + 0xc8]
mov dword [ebx + 4], eax
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], ecx
mov eax, dword [edx + 0x2c]
mov dword [ebx + 0x44], eax
mov eax, dword [edx]
mov eax, dword [eax + 0x64]
mov dword [ebx + 0x48], eax
mov eax, dword [edx + 0xdc]
mov dword [ebx + 0x28], eax
mov dword [edx + 0xdc], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0xc8], ebx
mov dword [edx + 0x58], esi
mov ecx, dword [ebx + 0x3c]
mov dword [edx + 0x18], ecx
movzx eax, word [ebx + 0x40]
mov dword [edx + 0x1c], eax
lea eax, [ecx + ecx*4]
lea ecx, [esi + eax*8]
mov dword [edx + 0x60], ecx
mov eax, dword [edi + 0xc]
lea ecx, [ecx + eax*4]
mov dword [ebx + 0x18], ecx
mov eax, dword [edi + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call fcn.004ce0b0
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [edi]
mov dword [ebp - 0x2c], edx
mov dword [ecx + 0x68], edx
mov eax, dword [edi + 4]
mov dword [ecx + 0x6c], eax
lea ecx, [edx - 0x14]
mov dword [ebp - 0x14], ecx
jmp 0x45dd3d
mov edi, dword [ebp - 0x1c]
mov ecx, edi
mov edx, dword [ebp - 0x14]
call fcn.0045b9a0
mov esi, eax
mov eax, dword [edi + 0xc8]
push 0x1000
mov ecx, dword [eax + 0x30]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [ecx + edx*4 + 4]
mov edx, dword [ebp - 0x14]
add ecx, dword [edx + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.00452260
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov eax, dword [ecx + 0x20]
and eax, 0x80000
or eax, 0
mov eax, dword [ebp - 0x14]
je 0x46020d
mov eax, dword [eax + 8]
mov edi, dword [ebp - 0x14]
cdq
add dword [ecx + 0x1f0], eax
mov eax, dword [ebp - 0x20]
adc dword [ecx + 0x1f4], edx
add edi, 0x14
jmp 0x45baaa
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
cdq
je 0x460231
add dword [ecx + 0x1e8], eax
mov edi, dword [ebp - 0x14]
adc dword [ecx + 0x1ec], edx
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edi, dword [ebp - 0x1c]
add dword [edi + 0x40], eax
mov eax, dword [ebp - 0x20]
adc dword [edi + 0x44], edx
mov edi, dword [ebp - 0x14]
add edi, 0x14
jmp 0x45baaa
cmp dword [edi + 4], 0
je 0x46027d
mov eax, dword [ecx + 0x1e8]
or eax, dword [ecx + 0x1ec]
jne 0x461375
mov eax, dword [ecx + 0x1f0]
or eax, dword [ecx + 0x1f4]
je 0x461363
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [eax + 0x40]
or eax, dword [edx + 0x44]
jmp 0x46025a
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x4602ba
mov eax, dword [edx + 4]
test eax, eax
je 0x4602a9
nop
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x4602a0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x4602c6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov ecx, edi
call fcn.00451d10
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov ecx, esi
call fcn.00451d10
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x45bbe3
jl 0x4602f8
cmp dword [edi], eax
jae 0x45bbe3
mov esi, dword [ebp - 0x28]
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov edi, dword [ebx + esi*8 + 4]
mov ecx, dword [ebx + esi*8]
test edi, edi
jl 0x45bbe3
jg 0x460336
test ecx, ecx
je 0x45bbe3
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
mov dword [ebx + esi*8], ecx
sbb edi, edx
mov dword [ebx + esi*8 + 4], edi
jmp 0x46135d
mov ecx, dword [ebp - 0x14]
mov edx, ecx
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x1c]
lea ebx, [eax + eax*4]
call fcn.0045b9a0
mov ecx, dword [ebp - 0x28]
mov edi, eax
mov eax, dword [ecx + esi*8]
mov ecx, dword [ecx + esi*8 + 4]
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], ecx
test ecx, ecx
jl 0x4603e0
jg 0x460388
test eax, eax
je 0x4603e0
mov esi, dword [ebp - 0x28]
mov ecx, dword [esi + ebx*8 + 4]
mov eax, dword [esi + ebx*8]
test ecx, ecx
jl 0x46039c
jg 0x4603aa
test eax, eax
jne 0x4603aa
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
push ecx
push eax
lea ecx, [ebp - 0x108]
call fcn.00436330
add esp, 8
test eax, eax
jne 0x4603e3
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x104]
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
add edi, 0x14
jmp 0x45baaa
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
mov edi, dword [ebp - 0x14]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov ecx, dword [ebx + esi*8]
mov eax, ecx
mov edx, dword [ebx + esi*8 + 4]
or eax, edx
je 0x45bbe3
test edx, edx
jl 0x46135d
jg 0x460430
test ecx, ecx
je 0x46135d
sub ecx, 1
mov dword [ebx + esi*8], ecx
sbb edx, 0
mov dword [ebx + esi*8 + 4], edx
jmp 0x46135d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea edx, [eax + eax*4]
mov ecx, dword [esi + edx*8 + 4]
mov eax, dword [esi + edx*8]
cmp ecx, 0x80000000
jl 0x46046d
jg 0x460460
test eax, eax
je 0x46046d
sub eax, 1
mov dword [esi + edx*8], eax
sbb ecx, 0
mov dword [esi + edx*8 + 4], ecx
mov edi, dword [ebp - 0x14]
or eax, ecx
mov ecx, dword [ebp - 0x18]
je 0x461363
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
push 0
movzx ebx, word [edx + 2]
lea eax, [ebx*4 + 0x44]
push eax
call fcn.00431de0
mov esi, eax
add esp, 8
test esi, esi
je 0x45fd36
mov edx, dword [ebp - 0x18]
lea ecx, [ebx + 7]
lea ecx, [esi + ecx*4]
mov dword [esi + 8], 0
push 1
mov dword [esi], ecx
call fcn.00452060
mov ecx, dword [ebp - 0x14]
add esp, 4
mov eax, dword [ecx + 0x10]
sub ecx, dword [ebp - 0x2c]
mov dword [esi + 4], eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x14]
sar edx, 3
mov eax, edx
mov byte [esi + 0x18], 0
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0xc], eax
mov byte [esi + 0x19], bl
mov dword [ecx + 0x10], esi
mov esi, dword [ebp - 0x28]
mov word [ecx], 0xf09b
jmp 0x46050c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov ebx, dword [ebp - 0x28]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [ebp - 0x44], esi
cmp dword [edi + 8], esi
je 0x460551
movzx ecx, byte [edi + 0x19]
sub ecx, 1
mov dword [edi + 8], esi
js 0x460551
mov esi, dword [ebp - 0x14]
lea edx, [ecx + 7]
lea edx, [edi + edx*4]
mov eax, dword [esi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x460538
mov esi, dword [ebp - 0x44]
inc dword [esi + 0xc]
lea eax, [edi + 0x1c]
mov edx, dword [ebp - 0x14]
movzx ecx, byte [edi + 0x19]
mov esi, dword [edi + 4]
push eax
cmp dword [edx + 4], 0
push ecx
push edi
je 0x46056f
mov esi, dword [esi + 0x1c]
jmp 0x460572
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x4f4350]
call esi
mov eax, dword [edi + 0x14]
add esp, 0xc
test eax, eax
je 0x45bbe3
jle 0x4605ad
push dword [edi]
call fcn.004585a0
add esp, 4
push eax
push 0x5142b0
push dword [ebp - 0x1c]
call fcn.00452ed0
mov eax, dword [edi + 0x14]
add esp, 0xc
mov dword [ebp - 0x24], eax
cmp byte [edi + 0x18], 0
je 0x4605d3
mov eax, dword [ebp - 0x14]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x4605cf
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ebx + eax*8]
call fcn.004520d0
add esp, 8
mov byte [edi + 0x18], 0
mov ecx, dword [edi]
call fcn.00451b80
mov eax, dword [edi]
mov ecx, 1
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x24]
mov dword [edi + 0x14], 0
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [ecx + 0xc]
mov ecx, esi
test eax, eax
je 0x460645
mov ebx, dword [ebp - 0x28]
lea eax, [eax + eax*4]
push edx
lea edx, [ebx + eax*8]
call fcn.00451a00
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
jmp 0x46064c
call fcn.00451900
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461655
movzx edx, byte [ebp - 0x64]
mov ecx, esi
call fcn.004514c0
mov ecx, esi
call fcn.00452200
test eax, eax
je 0x45bbe3
push str.string_or_blob_too_big
push dword [ebp - 0x1c]
call fcn.00452ed0
add esp, 8
mov ecx, 0x12
jmp 0x461596
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], 0
push eax
push dword [edx + 8]
mov edx, dword [edx + 4]
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0xc], 0xffffffff
call fcn.004c7a90
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x4606d9
cmp ecx, 5
jne 0x461596
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
xor esi, esi
mov eax, dword [ebp + esi*4 - 0x10]
mov ecx, edi
cdq
push edx
push eax
call fcn.004520d0
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x4606e7
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ebx, dword [ebp - 0x14]
mov edx, ebx
mov ecx, dword [ebp - 0x1c]
call fcn.0045b9a0
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x44], eax
call fcn.0044f340
mov ebx, eax
mov ecx, ebx
call fcn.004416a0
mov edi, eax
cmp esi, 0xffffffff
mov ecx, ebx
cmove esi, edi
call fcn.004416b0
test eax, eax
mov edx, 1
mov ecx, ebx
cmove esi, edi
call fcn.00441270
cmp esi, 5
jne 0x4607e7
mov ecx, eax
call fcn.00435020
test eax, eax
je 0x460785
mov ecx, ebx
call fcn.004416e0
test eax, eax
jne 0x4607e7
mov esi, edi
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x460790
mov esi, edi
mov edx, esi
mov ecx, ebx
call fcn.00441510
mov ebx, dword [ebp - 0x34]
mov ecx, 0xa02
mov word [ebx + 8], cx
mov ecx, eax
call fcn.00490740
mov ecx, eax
mov dword [ebx + 0x10], eax
call fcn.00435020
movzx edx, byte [ebp - 0x64]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov byte [ebx + 0xa], 1
call fcn.004514c0
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
cmp esi, edi
je 0x460787
cmp edi, 5
je 0x4607f5
cmp esi, 5
jne 0x460787
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x4f], 0
je 0x461677
cmp dword [eax + 0xb4], 1
jg 0x461677
cmp edi, 5
jne 0x460833
mov edx, eax
mov ecx, ebx
call fcn.00441930
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x46078e
mov edx, esi
mov ecx, ebx
call fcn.00441510
jmp 0x46084c
cmp edi, 4
jne 0x460842
lea edx, [edi - 2]
mov ecx, ebx
call fcn.00441510
cmp dword [ebp - 0x24], 0
jne 0x46078e
mov ecx, dword [ebp - 0x44]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.00450600
mov dword [ebp - 0x24], eax
jmp 0x46078a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
test eax, eax
je 0x460877
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
jmp 0x460879
xor eax, eax
mov edx, dword [ebp - 0x18]
push eax
push dword [ecx + 4]
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx + 0x7c]
call fcn.004a87d0
mov ecx, eax
add esp, 8
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.00448140
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x45bbe3
cmp ecx, 0x65
jne 0x461596
mov dword [ebp - 0x24], 0
jmp 0x46135d
cmp dword [edi + 4], 0
jne 0x460901
mov edx, dword [edi + 8]
call fcn.00457cc0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov esi, dword [ebp - 0x1c]
mov eax, dword [edi + 8]
inc eax
xor eax, dword [esi + 0x98]
and eax, 3
xor dword [esi + 0x98], eax
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x28]
call fcn.00448da0
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x28]
call fcn.00448db0
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov al, byte [edi + 0xc]
mov byte [ebp - 0x118], al
test al, al
jne 0x460993
mov eax, dword [ecx + 0x20]
and eax, 0x400
mov dword [ebp - 0x48], eax
jne 0x461375
mov eax, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x118]
mov eax, dword [eax + 4]
add eax, eax
mov edx, dword [edx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00450470
mov ecx, eax
add esp, 4
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x45bfae
cmp cl, 6
jne 0x461596
mov eax, dword [ebp - 0x14]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push dword [ebp - 0x1c]
call fcn.00452ed0
mov ecx, dword [ebp - 0x24]
add esp, 0xc
jmp 0x461596
mov edx, dword [ebp - 0x14]
mov esi, dword [edx + 0x10]
mov edx, esi
call fcn.004aa6a0
mov ecx, eax
mov dword [ebp - 0x24], ecx
test esi, esi
je 0x460a0e
mov edx, dword [esi + 8]
mov ecx, dword [ebp - 0x1c]
call fcn.00457e40
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
xorps xmm0, xmm0
movq qword [ebp - 0x1d0], xmm0
mov dword [ebp - 0x1d0], ecx
mov ecx, dword [ebp - 0x14]
movups xmmword [ebp - 0x1f0], xmm0
movups xmmword [ebp - 0x1e0], xmm0
mov eax, dword [ecx + 8]
lea ecx, [ebp - 0x1f0]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
call fcn.004522b0
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x1f0]
push eax
call fcn.004585a0
add esp, 4
test eax, eax
je 0x460a92
mov ecx, dword [ebp - 0x1c]
add ecx, 0x7c
push ecx
mov ecx, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
call fcn.004aa0f0
add esp, 8
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x1f0]
call fcn.00451b80
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
inc dword [ecx + 0xc0]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.004aa4d0
mov ecx, dword [ebp - 0x18]
add esp, 4
mov dword [ebp - 0x24], eax
dec dword [ecx + 0xc0]
test eax, eax
jne 0x45fc07
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x34], 0
mov eax, dword [ecx + 0x10]
mov edi, dword [eax + 8]
test edi, edi
je 0x4616b5
mov ebx, dword [edi]
test ebx, ebx
je 0x4616b5
mov esi, dword [ebx + 0x18]
lea eax, [ebp - 0x34]
push eax
push edi
mov ecx, esi
call dword [0x4f4350]
call esi
mov ecx, dword [ebp - 0x1c]
add esp, 8
mov edx, edi
mov dword [ebp - 0x24], eax
call fcn.00457e40
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov eax, dword [ebp - 0x34]
push 2
push 0xffffffffffffffff
push ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax], edi
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
call fcn.0045b4d0
add esp, 0xc
test eax, eax
je 0x46169d
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x28]
mov dword [eax + 0x28], ecx
inc dword [edi + 4]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
lea edx, [eax + eax*4]
lea ebx, [edx + 5]
lea ebx, [esi + ebx*8]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebx]
movd xmm0, ebx
mov dword [ebp - 0x54], ebx
mov eax, dword [esi + 0x60]
mov ebx, dword [esi + 0x5c]
pshufd xmm3, xmm0, 0
mov dword [ebp - 0x34], ebx
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x3c], eax
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x80], ecx
mov eax, dword [ecx]
mov dword [ebp - 0x30], eax
mov ecx, dword [eax]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x68], ecx
mov ecx, dword [eax + edx*8]
mov dword [ebp - 0x6c], ecx
xor ecx, ecx
test edi, edi
jle 0x460ccd
cmp edi, 0x10
jb 0x460cb6
cmp dword [0x5246d4], 2
jl 0x460cb6
movaps xmm2, xmmword [0x5194b0]
mov eax, edi
and eax, 0x8000000f
jns 0x460c01
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [0x5194c0]
mov edx, edi
sub edx, eax
mov esi, 8
mov dword [ebp - 0x44], edx
lea edx, [ebx + 0x20]
mov ebx, dword [ebp - 0x44]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [esi - 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
add ecx, 0x10
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [esi + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, esi
add esi, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x40], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x30], xmm0
cmp ecx, ebx
jl 0x460c20
mov ebx, dword [ebp - 0x34]
cmp ecx, edi
jge 0x460ccd
mov edx, dword [ebp - 0x54]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, edi
jl 0x460cc2
mov eax, dword [ebp - 0x14]
push ebx
mov ebx, dword [ebp - 0x68]
push edi
push dword [eax + 0x10]
mov edi, dword [ebp - 0x80]
push dword [ebp - 0x6c]
mov esi, dword [ebx + 0x20]
mov ecx, esi
push edi
call dword [0x4f4350]
call esi
mov edx, dword [ebp - 0x30]
add esp, 0x14
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
call fcn.00457e40
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov esi, dword [ebx + 0x28]
mov ecx, esi
push edi
call dword [0x4f4350]
call esi
mov ecx, dword [ebp - 0x3c]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
je 0x45bbe3
jmp 0x46135d
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x28]
cmp byte [esi + 2], 0
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
je 0x460d69
mov ecx, edi
call fcn.00452080
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
test byte [edx + 2], 1
xorps xmm0, xmm0
mov eax, dword [esi + 0x28]
mov ebx, dword [eax]
mov eax, dword [ebx]
movups xmmword [ebp - 0xd8], xmm0
mov dword [ebp - 0x44], eax
movups xmmword [ebp - 0xc8], xmm0
mov dword [ebp - 0xd8], edi
je 0x460da7
mov ecx, edi
call fcn.00452080
mov edx, dword [ebp - 0x14]
mov eax, 0x4001
mov dword [edi], 0
jmp 0x460dba
mov ax, word [edi + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 1
movzx eax, ax
mov word [edi + 8], ax
lea eax, [ebp - 0xd8]
push dword [edx + 8]
push eax
push dword [esi + 0x28]
mov esi, dword [ebp - 0x44]
mov esi, dword [esi + 0x2c]
mov ecx, esi
call dword [0x4f4350]
call esi
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
mov edx, ebx
mov dword [ebp - 0x24], eax
call fcn.00457e40
cmp dword [ebp - 0xc4], 0
jle 0x460e17
push edi
call fcn.004585a0
add esp, 4
push eax
push 0x5142b0
push dword [ebp - 0x1c]
call fcn.00452ed0
mov eax, dword [ebp - 0xc4]
add esp, 0xc
mov dword [ebp - 0x24], eax
movzx edx, byte [ebp - 0x64]
mov ecx, edi
call fcn.004514c0
mov ecx, edi
call fcn.00452200
test eax, eax
jne 0x460671
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + ecx*4]
cmp byte [ebx + 2], 0
jne 0x45bc88
mov eax, dword [ebx + 0x28]
push eax
mov edi, dword [eax]
mov ecx, dword [edi]
mov dword [ebp - 0x44], ecx
mov esi, dword [ecx + 0x24]
mov ecx, esi
call dword [0x4f4350]
call esi
mov ecx, dword [ebp - 0x1c]
add esp, 4
mov edx, edi
mov dword [ebp - 0x24], eax
call fcn.00457e40
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov esi, dword [ebp - 0x44]
push dword [ebx + 0x28]
mov esi, dword [esi + 0x28]
mov ecx, esi
call dword [0x4f4350]
call esi
add esp, 4
test eax, eax
jne 0x45dd3d
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov esi, dword [edx + 8]
mov edx, dword [ebp - 0x2c]
dec esi
lea esi, [esi + esi*4]
lea esi, [edx + esi*4]
mov dword [ebp - 0x14], esi
jmp 0x45dd40
mov ebx, dword [ecx + 0x20]
mov edx, 1
or dword [ecx + 0x20], 0x4000000
and ebx, 0x4000000
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x10]
mov edi, dword [eax + 8]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov ecx, esi
call fcn.004514c0
mov ecx, eax
test ecx, ecx
jne 0x461596
mov eax, dword [edi]
push dword [esi + 0x10]
push edi
mov esi, dword [eax + 0x4c]
mov ecx, esi
call dword [0x4f4350]
call esi
add esp, 8
mov dword [ebp - 0x24], eax
test ebx, ebx
jne 0x460f40
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
mov edx, edi
mov edi, dword [ebp - 0x1c]
mov ecx, edi
call fcn.00457e40
and dword [edi + 0x98], 0xfffffffc
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461596
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
cmp byte [ecx + 0x51], 0
jne 0x45fd39
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 8]
test edi, edi
je 0x4616b5
mov ebx, dword [edi]
test ebx, ebx
je 0x4616b5
cmp dword [ebx + 0x34], 0
mov edx, dword [edx + 8]
je 0x45bc8b
mov al, byte [ecx + 0x56]
mov ecx, dword [ebp - 0x28]
mov byte [ebp - 0x59], al
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + 0x5c]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test edx, edx
jle 0x460fd0
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x460fc5
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov al, byte [eax + 2]
mov byte [ecx + 0x56], al
lea eax, [ebp - 0x140]
push eax
push esi
mov esi, dword [ebx + 0x34]
mov ecx, esi
push edx
push edi
call dword [0x4f4350]
call esi
mov ecx, dword [ebp - 0x18]
add esp, 0x10
mov dword [ebp - 0x24], eax
mov edx, edi
mov al, byte [ebp - 0x59]
mov edi, dword [ebp - 0x1c]
mov byte [ecx + 0x56], al
mov ecx, edi
call fcn.00457e40
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461037
mov edi, dword [ebp - 0x14]
cmp dword [edi + 4], ecx
je 0x461076
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x140]
mov dword [esi + 0x2c], ecx
mov ecx, dword [ebp - 0x24]
mov dword [esi + 0x28], eax
jmp 0x461076
cmp cl, 0x13
jne 0x461073
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x461073
mov ecx, dword [ebp - 0x14]
movzx ecx, word [ecx + 2]
cmp ecx, 4
jne 0x4616d2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
add edi, 0x14
jmp 0x45baaa
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x1c]
inc dword [ebx + 0x2c]
test ecx, ecx
jne 0x4618fd
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
call fcn.0045b9a0
mov esi, eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x18]
add edx, edx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
call fcn.00446190
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 4], 0
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x45baaa
mov ebx, dword [ebp - 0x14]
mov edx, ebx
mov ecx, dword [ebp - 0x1c]
call fcn.0045b9a0
mov edx, dword [ebx + 4]
mov edi, eax
mov eax, dword [ebp - 0x18]
add edx, edx
mov ecx, dword [eax + 0x10]
mov eax, ebx
mov esi, dword [ecx + edx*8 + 4]
xor edx, edx
cmp dword [eax + 0xc], edx
je 0x461110
mov ecx, esi
call fcn.00446190
mov edx, eax
mov eax, ebx
mov eax, dword [eax + 0xc]
cmp edx, eax
cmovb edx, eax
mov ecx, esi
call fcn.004470d0
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x14]
add edi, 0x14
jmp 0x45baaa
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea ebx, [esi + eax*8]
mov dword [ebp - 0x44], ebx
cmp dword [edi], ebx
je 0x46117a
movzx ecx, byte [edi + 0x19]
sub ecx, 1
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xc], eax
mov dword [edi], ebx
js 0x46117a
mov ebx, dword [ebp - 0x14]
lea edx, [edi + 0x1c]
lea edx, [edx + ecx*4]
mov eax, dword [ebx + 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 0x461161
mov ebx, dword [ebp - 0x44]
mov ax, word [ebx + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 1
mov word [ebx + 8], ax
lea eax, [edi + 0x1c]
mov esi, dword [edi + 4]
push eax
movzx eax, byte [edi + 0x19]
push eax
mov esi, dword [esi + 0x10]
mov ecx, esi
push edi
call dword [0x4f4350]
call esi
mov eax, dword [edi + 0x14]
add esp, 0xc
test eax, eax
je 0x461203
jle 0x4611d4
push ebx
call fcn.004585a0
add esp, 4
push eax
push 0x5142b0
push dword [ebp - 0x1c]
call fcn.00452ed0
mov eax, dword [edi + 0x14]
add esp, 0xc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
push dword [eax + 4]
lea edx, [edx + 0xdc]
push dword [edi + 0x10]
call fcn.00455db0
mov ecx, dword [ebp - 0x24]
add esp, 8
mov dword [edi + 0x14], 0
test ecx, ecx
jne 0x461596
test byte [ebx + 8], 0x12
je 0x45bbe3
movzx edx, byte [ebp - 0x64]
mov ecx, ebx
call fcn.004514c0
mov ecx, ebx
call fcn.00452200
test eax, eax
jne 0x460671
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov cl, byte [ecx + 0x58]
mov edi, dword [ebp - 0x1c]
test cl, 0x41
je 0x46130e
cmp byte [edi + 0x95], 0
jne 0x46130e
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x10]
test eax, eax
jne 0x46126f
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x46130e
mov ebx, dword [ebp - 0x18]
test cl, 0x40
je 0x4612a8
mov ecx, dword [ebp - 0x1c]
mov edx, eax
mov edi, dword [ebx + 0xcc]
call fcn.0045afe0
mov esi, eax
mov ecx, edi
push esi
push dword [ebx + 0xd0]
call dword [0x4f4350]
call edi
push esi
call fcn.00431980
mov edi, dword [ebp - 0x1c]
add esp, 0xc
jmp 0x46130b
cmp dword [ebx + 0xbc], 1
push eax
jle 0x4612ef
push str.____s
push ebx
call fcn.00434410
mov esi, dword [ebx + 0xcc]
add esp, 0xc
mov edi, eax
mov ecx, esi
push edi
push dword [ebp - 0x1c]
push dword [ebx + 0xd0]
push 1
call dword [0x4f4350]
call esi
add esp, 0x10
mov edx, edi
mov ecx, ebx
call fcn.00431ae0
mov edi, dword [ebp - 0x1c]
jmp 0x46130b
mov esi, dword [ebx + 0xcc]
mov ecx, esi
push edi
push dword [ebx + 0xd0]
push 1
call dword [0x4f4350]
call esi
add esp, 0x10
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
cmp eax, dword [0x522174]
jl 0x461353
cmp byte [ecx], 0xaa
je 0x45bc88
mov edx, 1
cmp dword [edi + 0x6c], edx
jle 0x461351
mov eax, 0x14
mov ecx, dword [edi + 0x68]
cmp byte [eax + ecx], 0x11
jne 0x461345
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [edi + 0x6c]
jl 0x461334
mov ecx, dword [ebp - 0x14]
xor eax, eax
inc eax
mov dword [ecx + 4], eax
inc dword [edi + 0xbc]
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x2c]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add edi, 0x14
jmp 0x45baaa
mov edx, dword [ebp - 0x14]
mov dword [edi + 0x28], ecx
mov al, byte [edx + 8]
mov byte [edi + 0x92], al
mov dword [edi + 0x24], esi
test ecx, ecx
je 0x461409
movzx eax, word [edx + 2]
test ax, ax
je 0x4613db
push dword [eax*4 + 0x508400]
push str._s_constraint_failed
push edi
call fcn.00452ed0
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4613ec
push eax
push dword [edi + 0x7c]
push str._z:__s
push dword [ebp - 0x18]
call fcn.00434410
add esp, 0x10
mov dword [edi + 0x7c], eax
jmp 0x4613ec
push dword [edx + 0x10]
push 0x5142b0
push edi
call fcn.00452ed0
add esp, 0xc
push dword [edi + 0x7c]
mov eax, dword [ebp - 0x14]
push dword [edi + 0xc0]
push esi
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.00434780
add esp, 0x14
mov ecx, edi
call fcn.004558b0
mov ecx, eax
mov dword [ebp - 0x24], ecx
cmp ecx, 5
jne 0x461888
mov dword [edi + 0x28], eax
mov ebx, dword [ebp - 0x24]
jmp 0x461932
push 0x5190f4
push 0x157b6
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00434780
add esp, 0x14
mov ecx, 0xb
jmp 0x461599
push str.cannot_open_savepoint___SQL_statements_in_progress
push dword [ebp - 0x1c]
call fcn.00452ed0
add esp, 8
mov ecx, 5
jmp 0x461596
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x461456
mov edi, dword [ebp - 0x18]
mov byte [edi + 0x4f], 0
mov ebx, dword [ebp - 0x2c]
jmp 0x46159c
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2c]
mov ebx, 5
mov edi, dword [ebp - 0x1c]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x4f], 0
mov dword [edi + 0x28], 5
jmp 0x461935
mov ecx, 8
jmp 0x461596
cmp cl, 5
jne 0x461596
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x1c]
imul ecx
mov ecx, dword [ebp - 0x24]
mov ebx, ecx
sar edx, 3
mov eax, edx
mov dword [edi + 0x28], ecx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
jmp 0x461932
mov edx, dword [esi + 0x7c]
test edx, edx
je 0x461502
mov ecx, dword [ebp - 0x18]
call fcn.00431a90
mov ecx, dword [ebp - 0x18]
mov edx, str.database_schema_has_changed
call fcn.00432030
mov dword [esi + 0x7c], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
mov ecx, edx
mov eax, dword [ebp - 0x18]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x34]
je 0x461535
mov ecx, dword [ebp - 0x18]
call fcn.00478c40
mov eax, dword [esi + 0x98]
mov ecx, 0x11
and eax, 0xfffffffd
or eax, 1
mov dword [esi + 0x98], eax
jmp 0x461596
mov ebx, dword [ebp - 0x2c]
mov ecx, 0x204
jmp 0x46159c
mov ecx, 0x30b
jmp 0x461596
mov eax, dword [ebp - 0x1c]
mov ecx, 6
mov ebx, dword [ebp - 0x2c]
mov byte [eax + 0x92], 2
jmp 0x46159f
mov ecx, ebx
call fcn.00478ca0
mov ecx, ebx
jmp 0x45fd39
push str.too_many_levels_of_trigger_recursion
push dword [ebp - 0x1c]
call fcn.00452ed0
add esp, 8
mov ecx, 1
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp byte [edi + 0x51], 0
mov edx, 7
cmovne ecx, edx
cmp dword [eax + 0x7c], 0
mov dword [ebp - 0x24], ecx
jne 0x4615d8
cmp ecx, 0xc0a
je 0x4615d8
call fcn.004c6c00
push eax
push 0x5142b0
push dword [ebp - 0x1c]
call fcn.00452ed0
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x28], ecx
mov edx, ecx
mov ecx, edi
call fcn.004350c0
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
mov edi, dword [ebp - 0x1c]
sub ecx, ebx
imul ecx
push dword [edi + 0x7c]
sar edx, 3
push dword [edi + 0xc0]
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0x24]
call fcn.00434780
add esp, 0x14
mov ecx, edi
call fcn.004558b0
cmp dword [ebp - 0x24], 0xc0a
jne 0x46162f
mov ecx, dword [ebp - 0x18]
call fcn.004321a0
mov al, byte [ebp - 0x75]
mov dword [ebp - 0x24], 1
test al, al
je 0x46192d
mov ecx, dword [ebp - 0x18]
movzx edx, al
dec edx
call fcn.00478c40
mov ebx, dword [ebp - 0x24]
jmp 0x461932
push esi
call fcn.004585a0
add esp, 4
push eax
push 0x5142b0
push dword [ebp - 0x1c]
call fcn.00452ed0
mov ecx, dword [ebp - 0x24]
add esp, 0xc
jmp 0x461596
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 dword [ebp - 0x1c]
call fcn.00452ed0
add esp, 0xc
jmp 0x461591
mov esi, dword [ebx + 0x1c]
mov ecx, esi
push dword [ebp - 0x34]
call dword [0x4f4350]
call esi
add esp, 4
jmp 0x45fd36
mov ecx, 6
jmp 0x461596
or edi, 0xffffffff
mov ecx, 9
mov dword [ebp - 0x8c], edi
jmp 0x461596
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov ecx, dword [ebp - 0x24]
mov byte [edi + 0x92], al
jmp 0x461596
mov edi, dword [ebp - 0x1c]
xor edx, edx
mov ecx, edi
call fcn.00455850
mov ecx, eax
test ecx, ecx
jne 0x461596
mov eax, dword [edi]
cmp dword [eax + 0x1e0], ecx
je 0x46171d
cmp dword [edi + 0x30], ecx
je 0x46171d
lea edx, [ecx + 1]
mov ecx, edi
call fcn.00455750
mov eax, dword [edi + 0x20]
mov ecx, dword [ebp - 0x14]
add eax, 2
or eax, 1
mov dword [edi + 0x20], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [edi + 0x78], esi
xor edi, edi
cmp dword [ecx + 8], edi
jle 0x461781
mov ebx, 0x202
mov eax, 0x1000
test word [esi + 8], ax
je 0x461761
mov ecx, esi
call fcn.00451710
test eax, eax
jne 0x45fd36
mov ecx, dword [ebp - 0x14]
mov ax, word [esi + 8]
and ax, bx
cmp ax, 2
jne 0x461778
mov ecx, esi
call fcn.004516c0
mov ecx, dword [ebp - 0x14]
inc edi
add esi, 0x28
cmp edi, dword [ecx + 8]
jl 0x461744
mov ecx, dword [ebp - 0x18]
cmp byte [ecx + 0x51], 0
jne 0x45fd39
test byte [ecx + 0x58], 4
mov edi, dword [ebp - 0x1c]
je 0x4617b5
mov esi, dword [ecx + 0xcc]
push 0
push edi
push dword [ecx + 0xd0]
mov ecx, esi
push 4
call dword [0x4f4350]
call esi
add esp, 0x10
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2c]
mov ebx, 0x64
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [edi + 0x24], eax
jmp 0x461932
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov ebx, dword [ecx + 4]
movzx eax, byte [edx + 0x4f]
mov ecx, dword [ecx + 8]
cmp ebx, eax
je 0x4618a3
test ecx, ecx
je 0x46180c
mov esi, dword [ebp - 0x18]
mov edx, 0x204
mov ecx, esi
call fcn.004c6aa0
mov edi, dword [ebp - 0x1c]
mov al, 1
jmp 0x461844
test ebx, ebx
je 0x461823
cmp dword [edx + 0xb8], 0
jle 0x461823
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x461456
mov edi, dword [ebp - 0x1c]
mov edx, 1
mov ecx, edi
call fcn.00455850
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x461421
mov esi, dword [ebp - 0x18]
mov al, bl
mov ecx, edi
mov byte [esi + 0x4f], al
call fcn.004558b0
cmp eax, 5
jne 0x461881
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2c]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov al, 1
sub al, bl
mov ebx, 5
mov byte [esi + 0x4f], al
mov dword [edi + 0x28], ebx
jmp 0x461932
mov ecx, esi
call fcn.004c6210
cmp dword [edi + 0x28], 0
mov ecx, 0x65
mov eax, 1
cmovne ecx, eax
mov dword [ebp - 0x24], ecx
mov ebx, ecx
jmp 0x461932
test ebx, ebx
jne 0x4618b2
mov eax, str.cannot_start_a_transaction_within_a_transaction
push eax
jmp 0x461586
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov edx, str.cannot_commit___no_transaction_is_active
cmove eax, edx
push eax
jmp 0x461586
mov edi, dword [ebp - 0x1c]
xor eax, eax
cmp byte [ecx + 0x51], al
sete al
lea eax, [eax*2 + 7]
mov ecx, eax
mov dword [ebp - 0x24], eax
mov dword [edi + 0x28], eax
call fcn.004c6c00
push eax
push 0x5142b0
push edi
call fcn.00452ed0
mov ecx, dword [ebp - 0x24]
add esp, 0xc
jmp 0x461596
mov edi, dword [ebp - 0x18]
mov eax, ebx
mov ebx, dword [ebp - 0x2c]
jmp 0x46159f
mov edi, dword [ebp - 0x18]
mov eax, esi
mov ebx, dword [ebp - 0x2c]
jmp 0x46159f
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x2c]
jmp 0x46159f
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
jmp 0x461935
mov ebx, 1
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x20]
cmp edx, ecx
jb 0x46198a
mov esi, dword [eax + 0x158]
test esi, esi
je 0x46198a
add ecx, dword [eax + 0x160]
push dword [eax + 0x15c]
mov dword [ebp - 0x8c], ecx
mov ecx, esi
call dword [0x4f4350]
call esi
add esp, 4
test eax, eax
mov eax, dword [ebp - 0x18]
je 0x461935
mov ebx, dword [ebp - 0x2c]
or edi, 0xffffffff
mov dword [ebp - 0x8c], edi
mov ecx, 9
mov edi, eax
jmp 0x46159c
add dword [edi + 0xb4], edx
mov ecx, edi
call fcn.004540c0
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004cc21a
mov esp, ebp
pop ebp
ret