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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1cc
mov eax, dword [0x513040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x174], 0
xor bl, bl
mov dword [ebp - 0x16c], edi
xorps xmm0, xmm0
mov byte [ebp - 0x1a9], bl
mov dword [ebp - 0x198], 0
cmp dword [edi + 0xa0], 0
mov ecx, dword [edi]
mov esi, dword [edi + 0x68]
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0x164], esi
mov al, byte [ecx + 0x54]
mov byte [ebp - 0x184], al
mov eax, dword [edi + 0x58]
mov dword [ebp - 0x168], ecx
movlpd qword [ebp - 0x30], xmm0
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x1bc], 0
je 0x46169b
mov ecx, edi
call fcn.00459210
mov ecx, dword [ebp - 0x168]
cmp dword [ecx + 0x174], 0
je 0x4616ba
mov ebx, dword [ecx + 0x17c]
xor edx, edx
mov eax, dword [edi + 0xb4]
div ebx
sub ebx, edx
xor eax, eax
jmp 0x4616c0
or ebx, 0xffffffff
or eax, 0xffffffff
cmp dword [edi + 0x24], 7
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b0], ebx
je 0x4689dd
mov dword [edi + 0x24], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
cmp dword [ecx + 0x128], 0
mov dword [ecx + 0x1c8], 0
jne 0x4689c1
mov eax, dword [edi + 0x20]
mov edx, dword [ebp - 0x2c]
lea eax, [eax + eax*4]
lea esi, [esi + eax*4]
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x164], esi
mov dword [ebp - 0x170], eax
adc edx, 0
mov dword [ebp - 0x1b8], edx
mov dl, byte [esi]
movzx ebx, dl
cmp ebx, 0xb8
ja case.0x46173a.89
jmp dword [ebx*4 + 0x468bc0]
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
sub ecx, dword [ebp - 0x18c]
lea esi, [eax + eax*4]
mov eax, 4
mov word [ebx + esi*8 + 0x10], 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 0x467d4e
mov eax, dword [esi + 4]
mov ebx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 4
je 0x4617fb
mov eax, dword [ebx + eax*8]
mov edx, dword [ebp - 0x18c]
lea eax, [eax + eax*4]
lea esi, [edx + eax*4]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [ebx + ecx*8], eax
mov eax, 4
mov dword [ebx + ecx*8 + 4], edx
mov word [ebx + ecx*8 + 0x10], ax
mov ecx, dword [ebp - 0x164]
cmp dword [ecx + 8], 0
jne 0x46324b
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [edx + 4]
sub edx, dword [edi + 0x68]
lea esi, [eax + eax*4]
mov eax, dword [ebx + esi*8]
lea ecx, [eax + eax*4]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
dec edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8 + 4], edx
mov edx, dword [ebp - 0x18c]
mov dword [ebx + esi*8], eax
mov eax, dword [edx + ecx*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ecx, [edx + eax*4]
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x164], ecx
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [edx + 4]
sub edx, dword [ebp - 0x18c]
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8]
mov word [ebx + esi*8 + 0x10], 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 ecx, dword [ebp - 0x18c]
mov dword [ebx + esi*8 + 4], edx
lea ecx, [ecx + eax*4]
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x164], ecx
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov eax, dword [esi + 0xc]
mov ebx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
je 0x4617fb
jmp 0x46190c
mov ebx, dword [ebp - 0x178]
mov esi, dword [edi + 0xd0]
test esi, esi
je 0x468401
mov edi, dword [ebp - 0x164]
cmp dword [edi + 4], 0
mov edi, dword [ebp - 0x16c]
jne 0x468401
push dword [edi + 0x2c]
mov eax, dword [esi + 4]
push dword [edi + 0x28]
dec dword [edi + 0xd8]
mov dword [edi + 0xd0], eax
call fcn.0045cfb0
add esp, 8
mov ecx, esi
call fcn.00459de0
mov ecx, dword [ebp - 0x164]
cmp dword [ecx + 8], 4
jne 0x46196b
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov edx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov ecx, dword [edi + 0x58]
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x18c], edx
lea ecx, [edx + eax*4]
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x164], ecx
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x4619fc
call fcn.004611d0
mov esi, dword [ebp - 0x164]
mov ecx, eax
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x170]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov esi, dword [ebp - 0x164]
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x170]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x461a5c
mov ecx, edx
call fcn.004611d0
mov edx, eax
jmp 0x461a65
mov eax, 4
mov word [edx + 0x10], ax
mov eax, dword [ebp - 0x164]
mov esi, dword [ebp - 0x164]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x168]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x461abc
call fcn.004611d0
mov ecx, eax
mov esi, dword [ebp - 0x164]
mov eax, 8
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0x170]
movsd qword [ecx], xmm0
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ebx, dword [ebp - 0x164]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x461b1e
mov ecx, esi
call fcn.004611d0
mov esi, eax
jmp 0x461b27
mov eax, 4
mov word [esi + 0x10], ax
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x461b32
xor ecx, ecx
jmp 0x461b46
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461b37
sub ecx, edi
and ecx, 0x3fffffff
cmp byte [ebp - 0x184], 1
mov dword [ebx + 4], ecx
je 0x461bcf
push 0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, esi
call fcn.00456fd0
mov edi, eax
add esp, 0x10
mov dword [ebp - 0x174], edi
test edi, edi
jne 0x468691
movzx edx, byte [ebp - 0x184]
mov ecx, esi
call fcn.00455f10
test eax, eax
jne 0x46395c
mov ecx, dword [ebp - 0x164]
mov dword [esi + 0x18], eax
mov eax, 0x2000
or word [esi + 0x10], ax
cmp byte [ecx + 1], 0xfa
jne 0x461bb9
push dword [ecx + 0x10]
push dword [ebp - 0x168]
call fcn.0042f240
mov ecx, dword [ebp - 0x164]
add esp, 8
mov ebx, dword [ebp - 0x164]
mov byte [ecx + 1], 0xfa
mov eax, dword [esi + 8]
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x168]
mov edi, dword [ebp - 0x16c]
cmp ecx, dword [eax + 0x78]
jg 0x468697
mov byte [ebx], 0x49
jmp 0x461bef
mov ebx, dword [ebp - 0x164]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x461c0d
call fcn.004611d0
mov ecx, eax
mov eax, 0x2202
mov word [ecx + 0x10], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0xc], eax
mov al, byte [ebp - 0x184]
mov byte [ecx + 0x12], al
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x4680f3
mov ebx, dword [ebp - 0x178]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x164]
movzx eax, word [eax + 2]
cdq
cmp dword [ebx + esi*8], eax
jne 0x4680f3
cmp dword [ebx + esi*8 + 4], edx
jne 0x4680f3
mov esi, dword [ebp - 0x164]
mov eax, 0x2210
mov word [ecx + 0x10], ax
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ebx, dword [ebp - 0x164]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x461cb4
mov ecx, edx
call fcn.004611d0
mov edx, eax
jmp 0x461cbd
mov eax, 4
mov word [edx + 0x10], ax
cmp dword [ebx + 4], 0
lea esi, [edx + 0x10]
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 0x4680f3
mov eax, 0x9000
test word [esi + 0x28], ax
lea esi, [esi + 0x28]
je 0x461d09
lea ecx, [esi - 0x10]
call fcn.00456580
mov eax, 0x9000
dec edi
mov word [esi], bx
mov dword [esi - 4], 0
test edi, edi
jg 0x461cf3
mov edi, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov edx, 0xffc1
mov ebx, dword [ebp - 0x178]
mov esi, dword [ebp - 0x164]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 0x10]
and ax, dx
or ax, 1
mov word [ebx + ecx*8 + 0x10], ax
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x461dae
mov ecx, esi
call fcn.004611d0
mov esi, eax
jmp 0x461db7
mov eax, 4
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 4]
test ecx, ecx
jne 0x461e08
mov edx, eax
mov ecx, esi
call fcn.00456cd0
mov ecx, esi
call fcn.00456360
test eax, eax
jne 0x463962
mov al, byte [ebp - 0x184]
mov ecx, dword [ebp - 0x168]
mov byte [esi + 0x12], al
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
push 0
cdq
push 0
push edx
mov edx, ecx
mov ecx, esi
push eax
call fcn.00456fd0
mov al, byte [ebp - 0x184]
add esp, 0x10
mov ecx, dword [ebp - 0x168]
mov byte [esi + 0x12], al
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x64]
lea edi, [eax + ecx*8]
lea ecx, [edi - 0x28]
call fcn.00456eb0
test eax, eax
jne 0x468691
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x178]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x461e8d
mov ecx, esi
call fcn.00456cb0
movups xmm0, xmmword [edi - 0x28]
mov ecx, 0xafff
movups xmmword [esi], xmm0
mov eax, dword [edi - 0x18]
mov edi, dword [ebp - 0x16c]
mov dword [esi + 0x10], eax
and ax, cx
mov ecx, 0x2040
or ax, cx
mov ecx, dword [ebp - 0x168]
mov word [esi + 0x10], ax
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov edx, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, 0x9000
test word [esi + 0x10], ax
jne 0x461f06
cmp dword [esi + 0x18], 0
je 0x461f0d
mov ecx, esi
call fcn.004565c0
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 + 0x10], ax
mov eax, 0x4000
mov dword [edi + 0x18], 0
test word [esi + 0x10], ax
je 0x461f4f
mov ecx, esi
call fcn.004562d0
test eax, eax
jne 0x46395c
add edi, 0x28
add esi, 0x28
sub ebx, 1
jne 0x461ef5
mov edi, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov edx, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
push 0x4000
mov edx, edi
mov ecx, esi
call fcn.00456f10
mov eax, 0x4000
add esp, 4
test word [esi + 0x10], ax
je 0x461fcc
mov ecx, esi
call fcn.004562d0
test eax, eax
jne 0x46395c
movzx eax, word [esi + 0x10]
test eax, 0x800
je 0x461fec
mov ecx, dword [ebp - 0x164]
test byte [ecx + 2], 2
je 0x461fec
and eax, 0xf7ff
mov word [esi + 0x10], ax
mov eax, ebx
dec ebx
test eax, eax
je 0x4680f3
add esi, 0x28
add edi, 0x28
jmp 0x461fa1
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
push 0x4000
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.00456f10
mov ecx, dword [ebp - 0x168]
add esp, 4
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
mov edx, dword [ebx + eax*8]
mov eax, dword [ebx + eax*8 + 4]
mov ebx, 0x9000
test word [ecx + 0x10], bx
je 0x4620a1
push eax
push edx
call fcn.00456d20
mov ecx, dword [ebp - 0x168]
add esp, 8
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov esi, dword [ebp - 0x164]
mov dword [ecx + 4], eax
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x170]
mov dword [ecx], edx
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
xor edx, edx
mov ecx, edi
call fcn.0045a800
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x4689fb
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov edx, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x8c], ebx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + 0xc]
movzx ecx, word [ebx + 0x10]
mov dword [ebp - 0x190], ecx
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov al, byte [esi + 0x10]
or al, cl
test al, 1
je 0x46216f
mov ecx, edi
call fcn.00456cb0
mov edi, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
test cl, 0x12
jne 0x4621a5
mov dl, byte [ebp - 0x184]
mov ecx, ebx
push 0
call fcn.004563c0
add esp, 4
test eax, eax
jne 0x46395c
mov ax, word [ebx + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx ecx, ax
mov dword [ebp - 0x190], ecx
jmp 0x4621d1
test ecx, 0x400
je 0x4621d1
mov ecx, ebx
call fcn.00456360
test eax, eax
jne 0x46395c
mov ax, word [ebx + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x190], eax
movzx eax, word [esi + 0x10]
mov dword [ebp - 0x90], eax
test al, 0x12
jne 0x4621f3
mov dl, byte [ebp - 0x184]
mov ecx, esi
push 0
call fcn.004563c0
add esp, 4
jmp 0x462201
test eax, 0x400
je 0x46221e
mov ecx, esi
call fcn.00456360
test eax, eax
jne 0x46395c
mov ax, word [esi + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x90], eax
mov ecx, dword [esi + 0xc]
add ecx, dword [ebx + 0xc]
mov eax, ecx
cdq
mov ebx, eax
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x168]
mov eax, dword [eax + 0x78]
cdq
cmp dword [ebp - 0x1a4], edx
jg 0x468691
jl 0x46224f
cmp ebx, eax
ja 0x468691
xor eax, eax
lea edx, [ecx + 2]
cmp edi, esi
mov ecx, edi
sete al
push eax
call fcn.00455f30
add esp, 4
test eax, eax
jne 0x46395c
mov ax, word [edi + 0x10]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [edi + 0x10], ax
cmp edi, esi
je 0x46229f
push dword [esi + 0xc]
push dword [esi + 8]
push dword [edi + 8]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x90]
add esp, 0xc
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0x8c]
push dword [eax + 0xc]
push dword [eax + 8]
mov eax, dword [edi + 8]
add eax, dword [esi + 0xc]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x8c]
add esp, 0xc
mov ecx, dword [ebp - 0x190]
mov word [eax + 0x10], cx
mov cl, byte [ebp - 0x184]
cmp cl, 1
jbe 0x4622e1
mov eax, dword [ebp - 0x1a4]
and ebx, 0xfffffffe
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 8]
mov esi, dword [ebp - 0x164]
mov byte [ebx + eax], 0
mov eax, dword [edi + 8]
mov byte [eax + ebx + 1], 0
mov eax, 0x200
or word [edi + 0x10], ax
mov eax, dword [ebp - 0x170]
mov byte [edi + 0x12], cl
mov ecx, dword [ebp - 0x168]
mov dword [edi + 0xc], ebx
mov edi, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov esi, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
movzx edx, word [esi + eax*8 + 0x10]
lea edi, [esi + eax*8]
mov eax, dword [ecx + 8]
mov ebx, edx
mov dword [ebp - 0x17c], edi
mov edi, dword [ebp - 0x178]
lea eax, [eax + eax*4]
movzx ecx, word [esi + eax*8 + 0x10]
lea esi, [esi + eax*8]
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x180], esi
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov edi, dword [ebp - 0x17c]
mov dword [ebp - 0x90], eax
mov al, cl
and al, bl
test al, 4
jne 0x4623c0
or cl, bl
test cl, 1
jne 0x4625e6
and edx, 0x2d
je 0x462398
mov ebx, edx
jmp 0x4623a2
mov ecx, edi
call fcn.004610d0
movzx ebx, ax
mov ax, word [esi + 0x10]
and ax, 0x2d
jne 0x4623b3
mov ecx, esi
call fcn.004610d0
movzx eax, ax
and al, bl
test al, 4
je 0x462465
mov eax, dword [ebp - 0x164]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov edi, dword [esi]
movzx eax, byte [eax]
mov esi, dword [esi + 4]
add eax, 0xffffff95
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], esi
cmp eax, 3
ja case.default.0x4623e5
jmp dword [eax*4 + 0x468ea4]
push edx
push ecx
lea ecx, [ebp - 0x38]
call fcn.00435520
add esp, 8
test eax, eax
jne 0x462459
jmp 0x462598
push edx
push ecx
lea ecx, [ebp - 0x38]
call fcn.004355c0
add esp, 8
test eax, eax
jne 0x462459
jmp 0x462598
push edx
push ecx
lea ecx, [ebp - 0x38]
call fcn.00435610
add esp, 8
test eax, eax
jne 0x462459
jmp 0x462598
mov eax, ecx
or eax, edx
je 0x4625e6
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x462568
test edi, edi
jne 0x462568
cmp esi, 0x80000000
jne 0x462568
mov edi, dword [ebp - 0x17c]
mov esi, dword [ebp - 0x180]
mov ecx, edi
call fcn.00456720
mov ecx, esi
movsd qword [ebp - 0x18], xmm0
call fcn.00456720
mov eax, dword [ebp - 0x164]
movzx eax, byte [eax]
add eax, 0xffffff95
cmp eax, 3
ja case.default.0x462489
jmp dword [eax*4 + 0x468eb4]
addsd xmm0, qword [ebp - 0x18]
jmp 0x46250a
subsd xmm0, qword [ebp - 0x18]
jmp 0x46250a
mulsd xmm0, qword [ebp - 0x18]
jmp 0x46250a
movsd xmm1, qword [ebp - 0x18]
ucomisd xmm1, qword [0x50b8b8]
lahf
test ah, 0x44
jnp 0x4625e6
divsd xmm0, xmm1
jmp 0x46250a
mov ecx, edi
call fcn.00456660
mov ecx, dword [ebp - 0x180]
mov esi, eax
mov edi, edx
call fcn.00456660
mov ecx, esi
mov dword [ebp - 0x34], edx
or ecx, edi
mov ebx, eax
mov dword [ebp - 0x38], ebx
je 0x4625e6
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x4624fa
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push ebx
call fcn.004f6fd0
mov ecx, eax
call fcn.004f72c0
movsd qword [ebp - 0x18], xmm0
call fcn.00432b10
test eax, eax
jne 0x4625e6
mov edx, dword [ebp - 0x90]
mov ecx, 0xf248
movsd xmm0, qword [ebp - 0x18]
mov edi, dword [ebp - 0x16c]
mov esi, dword [ebp - 0x164]
mov ax, word [edx + 0x10]
and ax, cx
movsd qword [edx], xmm0
mov ecx, dword [ebp - 0x168]
or ax, 8
movzx eax, ax
mov word [edx + 0x10], ax
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
push edx
push ecx
push esi
push edi
call fcn.004f6ee0
jmp 0x462592
mov eax, ecx
or eax, edx
je 0x4625e6
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x462589
mov ecx, 1
xor edx, edx
push edx
push ecx
push esi
push edi
call fcn.004f6fd0
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x16c]
mov esi, dword [ebp - 0x164]
mov dword [edx], eax
mov ax, word [edx + 0x10]
mov dword [edx + 4], ecx
mov ecx, 0xf244
and ax, cx
mov ecx, dword [ebp - 0x168]
or ax, 4
movzx eax, ax
mov word [edx + 0x10], ax
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov eax, dword [ebp - 0x90]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x462624
mov ecx, eax
call fcn.00456580
mov edi, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edi, dword [ebp - 0x16c]
mov ecx, 1
mov esi, dword [ebp - 0x164]
mov word [eax + 0x10], cx
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov eax, dword [esi + 4]
test eax, eax
je 0x4617fb
mov ecx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.00456d50
mov ecx, dword [ebp - 0x168]
add esp, 8
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov al, byte [ecx + 0x10]
or al, byte [edi + 0x10]
mov dword [ebp - 0x1c], edx
test al, 1
je 0x46272b
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x4626fc
mov ecx, edx
call fcn.00456580
mov edi, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edi, dword [ebp - 0x16c]
mov eax, 1
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov word [edx + 0x10], ax
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
call fcn.00456660
mov ebx, eax
mov esi, edx
mov ecx, edi
mov dword [ebp - 0x1c8], ebx
mov dword [ebp - 0x1c4], esi
call fcn.00456660
mov edi, eax
mov eax, dword [ebp - 0x164]
mov cl, byte [eax]
cmp cl, 0x67
jne 0x46275c
and ebx, edi
and esi, edx
jmp 0x4627bf
cmp cl, 0x68
jne 0x462767
or ebx, edi
or esi, edx
jmp 0x4627bf
mov eax, edi
or eax, edx
je 0x4627bf
test edx, edx
jg 0x46279b
jl 0x462777
test edi, edi
jae 0x462790
mov al, 0xd3
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x46279b
jg 0x462789
cmp edi, 0xffffffc0
jbe 0x46279b
neg edi
adc edx, 0
neg edx
test edx, edx
jl 0x462801
jg 0x46279b
cmp edi, 0x40
jb 0x462801
test esi, esi
jg 0x4627b1
jl 0x4627a5
test ebx, ebx
jae 0x4627b1
cmp cl, 0x69
je 0x4627b1
or ebx, 0xffffffff
or esi, ebx
jmp 0x4627bf
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov edx, 0xf244
mov edi, dword [ebp - 0x16c]
mov ax, word [ecx + 0x10]
and ax, dx
mov dword [ecx + 4], esi
mov esi, dword [ebp - 0x164]
or ax, 4
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x170]
mov dword [ecx], ebx
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
movq xmm1, qword [ebp - 0x1c8]
movd xmm0, edi
cmp cl, 0x69
jne 0x46281d
psllq xmm1, xmm0
movq qword [ebp - 0x18], xmm1
jmp 0x4627b9
psrlq xmm1, xmm0
movq qword [ebp - 0x18], xmm1
test esi, esi
jg 0x4627b9
jl 0x462830
test ebx, ebx
jae 0x4627b9
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, edi
or edx, 0xffffffff
call fcn.004f7090
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
or ebx, eax
or esi, edx
jmp 0x4627bf
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00456850
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x168]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
mov eax, dword [ebp - 0x170]
adc dword [esi + 4], edx
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x10]
mov ecx, eax
test al, 4
jne 0x4628f1
push dword [ebp - 0x184]
mov dl, 0x43
mov ecx, esi
call fcn.00461030
movzx eax, word [esi + 0x10]
add esp, 4
mov ecx, eax
test al, 4
jne 0x4628f1
mov ecx, dword [ebp - 0x164]
cmp dword [ecx + 8], 0
jne 0x463251
mov edx, 0x14
jmp 0x4684fe
mov eax, dword [ebp - 0x170]
and ecx, 0xf244
or ecx, 4
mov word [esi + 0x10], cx
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x10], 0x24
lea ecx, [ecx + eax*8]
je 0x4617ef
call fcn.004568f0
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x400
test word [esi + 0x10], ax
je 0x46299a
mov ecx, esi
call fcn.00456360
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov eax, dword [ebp - 0x164]
mov ecx, esi
push dword [ebp - 0x184]
mov dl, byte [eax + 8]
call fcn.00456b30
add esp, 4
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov edx, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
movzx eax, word [edi + 0x10]
movzx ecx, ax
mov dword [ebp - 0x8c], eax
movzx eax, word [esi + 0x10]
mov edx, eax
mov dword [ebp - 0x90], ecx
and edx, ecx
mov dword [ebp - 0x1c], eax
test dl, 4
je 0x462afd
mov ecx, dword [esi]
mov esi, dword [esi + 4]
mov edx, dword [edi + 4]
mov eax, dword [edi]
cmp esi, edx
jl 0x462a83
jg 0x462a3c
cmp ecx, eax
jbe 0x462a79
cmp byte [ebx + 0x506d6f], 0
mov edi, dword [ebp - 0x16c]
jne 0x463251
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x198], 1
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
cmp esi, edx
jg 0x462ac0
jl 0x462a83
cmp ecx, eax
jae 0x462ac0
cmp byte [ebx + 0x506d63], 0
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov edi, dword [ebp - 0x16c]
jne 0x46325d
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x198], 0xffffffff
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
cmp byte [ebx + 0x506d69], 0
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov edi, dword [ebp - 0x16c]
jne 0x46325d
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x198], 0
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ebx, dword [ebp - 0x1c]
mov eax, ebx
or eax, ecx
test al, 1
je 0x462b90
mov eax, dword [ebp - 0x164]
movzx eax, word [eax + 2]
test al, al
jns 0x462b58
test dl, 1
je 0x462b45
test ebx, 0x100
jne 0x462b45
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x198], 0
movzx eax, byte [eax]
mov al, byte [eax + 0x506d69]
jmp 0x462d03
mov eax, ebx
not eax
and eax, 1
lea eax, [eax*2 - 1]
jmp 0x462c92
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov edi, dword [ebp - 0x16c]
test al, 0x10
jne 0x46325d
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x198], 1
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov dl, byte [edx + 2]
and dl, 0x47
cmp dl, 0x43
jb 0x462bd8
test al, 2
je 0x462c77
mov al, cl
and al, 0x2e
cmp al, 2
jne 0x462bbe
xor edx, edx
mov ecx, edi
call fcn.00460f20
movzx ebx, word [esi + 0x10]
mov al, bl
and al, 0x2e
cmp al, 2
jne 0x462c77
xor edx, edx
mov ecx, esi
call fcn.00460f20
jmp 0x462c77
cmp dl, 0x42
jne 0x462c77
test al, 2
je 0x462c77
test cl, 2
je 0x462bff
mov eax, dword [ebp - 0x8c]
and eax, 0xffd3
mov word [edi + 0x10], ax
jmp 0x462c3f
test cl, 0x2c
je 0x462c3f
mov dl, byte [ebp - 0x184]
mov ecx, edi
push 1
call fcn.004563c0
movzx eax, word [edi + 0x10]
add esp, 4
mov ecx, dword [ebp - 0x90]
xor ecx, eax
and ecx, 0xdbf
xor ecx, eax
movzx ecx, cx
mov dword [ebp - 0x90], ecx
cmp edi, esi
jne 0x462c3f
mov eax, ecx
or eax, 2
movzx ebx, ax
test bl, 2
je 0x462c4f
mov ecx, 0xffd3
and word [esi + 0x10], cx
jmp 0x462c77
test bl, 0x2c
je 0x462c77
mov dl, byte [ebp - 0x184]
mov ecx, esi
push 1
call fcn.004563c0
movzx eax, word [esi + 0x10]
add esp, 4
xor ebx, eax
and ebx, 0xdbf
xor ebx, eax
movzx ebx, bx
mov eax, dword [ebp - 0x164]
mov edx, edi
mov ecx, esi
push dword [eax + 0x10]
call fcn.0045bca0
mov ecx, dword [ebp - 0x90]
add esp, 4
mov edx, eax
mov dword [ebp - 0x198], eax
movzx eax, bx
mov dword [ebp - 0x1a4], eax
movzx eax, cx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x164]
movzx eax, byte [eax]
test edx, edx
jge 0x462cc1
mov al, byte [eax + 0x506d63]
jmp 0x462d03
mov ecx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x1a4]
movzx ecx, cx
movzx ebx, bx
mov dword [ebp - 0x198], edx
test edx, edx
jne 0x462ce5
mov al, byte [eax + 0x506d69]
jmp 0x462d03
mov ecx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x1a4]
mov al, byte [eax + 0x506d6f]
movzx ecx, cx
movzx ebx, bx
mov dword [ebp - 0x198], edx
mov word [esi + 0x10], bx
mov word [edi + 0x10], cx
test al, al
jne 0x46324b
mov edi, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
cmp dword [ebp - 0x198], 0
je 0x46325d
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
test byte [ecx + 2], 1
jne 0x462d64
xor ebx, ebx
jmp 0x462d6a
mov ebx, dword [ecx - 4]
add ebx, 4
mov eax, dword [ecx + 0xc]
mov esi, dword [ebp - 0x164]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x1a4], ecx
mov ecx, dword [esi + 8]
xor esi, esi
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x1c], ecx
test eax, eax
jle 0x4617ef
lea edi, [edx + 0x14]
nop
test ebx, ebx
je 0x462da9
mov ecx, dword [ebx + esi*4]
jmp 0x462dab
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x178]
push dword [edi]
movzx eax, byte [eax + esi]
and eax, 1
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x1c]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x1a4]
add eax, ecx
mov dword [ebp - 0x19c], edx
mov ecx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, eax
mov dword [ebp - 0x190], eax
call fcn.0045bca0
mov edx, eax
add esp, 4
mov dword [ebp - 0x198], edx
test edx, edx
jne 0x462e3c
mov edx, dword [ebp - 0x8c]
inc esi
add edi, 4
cmp esi, dword [ebp - 0x90]
jl 0x462da0
mov edi, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x10]
test byte [esi + eax], 2
je 0x462e6b
mov eax, dword [ebp - 0x190]
test byte [eax + 0x10], 1
jne 0x462e63
mov eax, dword [ebp - 0x19c]
test byte [eax + 0x10], 1
je 0x462e6b
neg edx
mov dword [ebp - 0x198], edx
cmp dword [ebp - 0x17c], 0
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x170]
je 0x4680ff
mov esi, dword [ebp - 0x164]
neg edx
mov edi, dword [ebp - 0x16c]
mov dword [ebp - 0x198], edx
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 0x164]
test eax, eax
jns 0x462edc
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x18c]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
lea esi, [eax - 0x14]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
jne 0x462f04
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x18c]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
lea esi, [eax - 0x14]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x18c]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
lea esi, [eax - 0x14]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ebx, dword [ebp - 0x164]
mov edi, 2
mov ecx, dword [ebp - 0x178]
mov edx, edi
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00456750
mov ecx, dword [ebx + 8]
mov edx, edi
mov ebx, dword [ebp - 0x178]
mov esi, eax
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
call fcn.00456750
lea edx, [eax + esi*2]
mov eax, dword [ebp - 0x164]
cmp byte [eax], 0x2c
jne 0x462f7a
mov dl, byte [esi + edx + 0x506dec]
jmp 0x462f81
mov dl, byte [esi + edx + 0x506678]
mov eax, dword [eax + 0xc]
lea edi, [eax + eax*4]
movzx ecx, word [ebx + edi*8 + 0x10]
lea esi, [ebx + edi*8]
cmp dl, 2
jne 0x462fc7
mov edi, dword [ebp - 0x16c]
and ecx, 0xf241
mov eax, dword [ebp - 0x170]
or ecx, 1
mov word [esi + 0x10], cx
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
movzx eax, dl
and ecx, 0xf244
cdq
or ecx, 4
mov dword [ebx + edi*8], eax
mov eax, dword [ebp - 0x170]
mov dword [ebx + edi*8 + 4], edx
mov edi, dword [ebp - 0x16c]
mov word [esi + 0x10], cx
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.00456750
mov ecx, dword [ebp - 0x164]
xor eax, dword [ecx + 0x10]
cdq
push edx
push eax
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.00456d50
mov ecx, dword [ebp - 0x168]
add esp, 8
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
jne 0x4630bd
xor edx, edx
call fcn.00456750
neg eax
mov ecx, esi
push 0
sbb eax, eax
inc eax
push eax
call fcn.00456d50
mov ecx, dword [ebp - 0x168]
add esp, 8
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, esi
call fcn.00456cb0
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, esi
call fcn.00456cb0
test byte [edi + 0x10], 1
jne 0x4680f3
mov eax, 4
mov ecx, edi
mov word [esi + 0x10], ax
call fcn.00456660
mov edi, dword [ebp - 0x16c]
not eax
mov ecx, dword [ebp - 0x168]
not edx
mov dword [esi], eax
mov eax, dword [ebp - 0x170]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edi, dword [edi + 0xd0]
test edi, edi
je 0x4631cf
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x164]
mov edi, dword [edi + 0x14]
sub ecx, dword [eax + 0x68]
mov eax, 0x66666667
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 0x46324b
bts edx, ecx
mov ecx, dword [ebp - 0x168]
mov byte [esi + edi], dl
mov edi, dword [ebp - 0x16c]
mov esi, dword [ebp - 0x164]
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edi, dword [ebp - 0x16c]
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 4]
cmp eax, dword [esi + 4]
je 0x46325d
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x178]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00456750
test eax, eax
jmp 0x4617e9
mov ecx, dword [ebp - 0x164]
xor edx, edx
mov eax, dword [ecx + 4]
cmp dword [ecx + 0xc], edx
mov ecx, dword [ebp - 0x178]
sete dl
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00456750
test eax, eax
jne 0x4617ef
mov edi, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x18c]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea esi, [edx + eax*4]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
jne 0x46325d
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov ecx, dword [edx + 4]
test ecx, ecx
js 0x463307
mov eax, dword [edi + 0x60]
mov edx, dword [edx + 0xc]
mov ecx, dword [eax + ecx*4]
movzx eax, word [ecx + 0x3e]
cmp edx, eax
jge 0x4632f0
mov eax, dword [ecx + edx*4 + 0x5c]
cmp eax, 0xc
jb 0x4632e7
test al, 1
mov eax, 0
sete al
lea eax, [eax*4 + 4]
movzx eax, ax
jmp 0x46332d
movzx eax, byte [eax + 0x504ee8]
jmp 0x46332d
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + 0x10]
mov eax, 1
dec ecx
shl ax, cl
movzx eax, ax
jmp 0x46332d
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.0045da60
mov edx, 1
add esp, 4
lea ecx, [eax - 1]
shl dx, cl
movzx eax, dx
mov ecx, dword [ebp - 0x164]
mov esi, ecx
test word [ecx + 2], ax
mov ecx, dword [ebp - 0x168]
jne 0x46325d
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
jne 0x463388
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
jne 0x463388
push 0
push 0
jmp 0x46302e
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.00456cb0
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
je 0x46325d
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x4617ef
cmp byte [eax + 2], 0
je 0x4617ef
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x178]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00456cb0
jmp 0x463251
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ecx + 8]
mov dword [ebp - 0x188], ebx
nop
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x48]
mov dword [ebp - 0x17c], edx
cmp eax, dword [edi + 0x1c]
je 0x4634a5
cmp byte [esi + 2], 0
jne 0x463508
cmp byte [esi + 3], 0
mov edi, dword [esi + 0x2c]
je 0x463481
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4634cd
mov eax, dword [eax + ebx*4 + 4]
test eax, eax
je 0x4634cd
mov esi, dword [esi + 0x28]
lea ebx, [eax - 1]
mov edi, dword [ebp - 0x16c]
jmp 0x463439
cmp byte [edi], 0
je 0x4634e4
mov ecx, esi
call fcn.0045b000
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov edi, dword [ebp - 0x16c]
jmp 0x463440
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
je 0x46366e
mov ecx, esi
call fcn.0045b000
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
je 0x463440
jmp 0x468504
mov ecx, esi
call fcn.0045af90
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov ecx, edi
call fcn.0044c4f0
lea edx, [esi + 0x54]
mov dword [esi + 0x50], eax
mov ecx, edi
call fcn.0044cc00
mov edx, dword [ebp - 0x17c]
mov ecx, eax
mov edi, dword [ebp - 0x16c]
jmp 0x463533
cmp byte [esi], 3
jne 0x463634
mov eax, dword [esi + 0x24]
test eax, eax
jle 0x463634
mov ebx, dword [ebp - 0x178]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8 + 0xc]
mov dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
mov ecx, dword [ebx + ecx*8 + 8]
mov dword [esi + 0x4c], ecx
lea ebx, [esi + 0x34]
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x20], eax
movzx eax, byte [ecx]
mov dword [edx], eax
mov dword [ebp - 0x90], ebx
cmp eax, 0x80
jae 0x463558
mov eax, 1
jmp 0x463569
mov ecx, dword [esi + 0x4c]
call fcn.004353c0
mov edx, dword [ebp - 0x17c]
movzx eax, al
mov dword [ebx], eax
lea edi, [esi + 0x3e]
xor eax, eax
mov word [edi], ax
mov eax, dword [esi + 0x54]
cmp eax, dword [edx]
jae 0x463629
mov dword [esi + 0x4c], 0
mov dword [esi + 0x54], 0
mov eax, dword [edx]
cmp eax, 0x18003
ja 0x4637dc
cmp eax, dword [esi + 0x50]
ja 0x4637dc
mov ebx, dword [ebp - 0x188]
movzx eax, word [edi]
cmp eax, ebx
ja 0x46388d
mov eax, dword [esi + 0x34]
lea ebx, [esi + 0x34]
mov dword [ebp - 0x90], ebx
cmp eax, dword [edx]
jae 0x463822
mov ecx, dword [esi + 0x4c]
mov dword [ebp - 0x19c], ecx
test ecx, ecx
jne 0x463676
xorps xmm0, xmm0
lea eax, [ebp - 0x110]
movups xmmword [ebp - 0x110], xmm0
push eax
movups xmmword [ebp - 0x100], xmm0
movq qword [ebp - 0xf0], xmm0
mov edx, dword [edx]
mov ecx, dword [esi + 0x2c]
call fcn.004573e0
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x19c], ecx
jmp 0x46367c
mov ecx, dword [esi + 0x4c]
mov dword [ebp - 0x19c], ecx
jmp 0x46367c
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x178]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00456cb0
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
lea edi, [esi + 0x3e]
jmp 0x4635a8
mov dword [ebp - 0x90], ebx
movzx eax, word [edi]
mov edi, dword [ebp - 0x90]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x180], 0
mov ebx, dword [edx + eax*4]
mov edi, dword [edi]
add edi, ecx
mov ecx, dword [edx]
add ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x190], ecx
lea ecx, [eax + 0x17]
lea ecx, [esi + ecx*4]
mov dword [ebp - 0x90], ecx
nop word [eax + eax]
movzx eax, byte [edi]
mov dword [ebp - 0x94], eax
mov dword [ecx], eax
mov ecx, dword [ebp - 0x94]
cmp ecx, 0x80
jae 0x4636ef
inc edi
call fcn.0045b090
movzx eax, al
cdq
add ebx, eax
mov eax, dword [ebp - 0x180]
adc eax, edx
jmp 0x463725
lea edx, [ebp - 0x94]
mov ecx, edi
call fcn.004353c0
mov ecx, dword [ebp - 0x90]
movzx eax, al
add edi, eax
mov eax, dword [ebp - 0x94]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x94]
call fcn.0045b070
add ebx, eax
mov eax, dword [ebp - 0x180]
adc eax, 0
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x90]
inc edx
mov dword [ebp - 0x180], eax
add ecx, 4
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x90], ecx
mov dword [eax + edx*4], ebx
mov eax, dword [ebp - 0x180]
cmp edx, dword [ebp - 0x188]
ja 0x463772
cmp edi, dword [ebp - 0x190]
jb 0x4636c0
mov ecx, dword [ebp - 0x190]
jmp 0x46377c
mov ecx, dword [ebp - 0x190]
cmp edi, ecx
jb 0x4637af
cmp edi, ecx
ja 0x4637ba
cmp ebx, dword [esi + 0x50]
jne 0x4637ba
test eax, eax
jne 0x4637ba
sub edi, dword [ebp - 0x19c]
cmp dword [esi + 0x4c], 0
mov word [esi + 0x3e], dx
mov dword [esi + 0x34], edi
jne 0x4637a7
lea ecx, [ebp - 0x110]
call fcn.00456600
mov ecx, dword [ebp - 0x94]
jmp 0x46382a
test eax, eax
jb 0x463789
ja 0x4637ba
cmp ebx, dword [esi + 0x50]
jbe 0x463789
mov eax, dword [ebp - 0x17c]
cmp dword [eax], 0
jne 0x4637cb
xor edx, edx
mov edi, ecx
jmp 0x463789
cmp dword [esi + 0x4c], 0
jne 0x4637dc
lea ecx, [ebp - 0x110]
call fcn.00456600
mov edx, dword [ebp - 0x18c]
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x4684f2
mov edi, dword [ebp - 0x16c]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ecx, [edx + eax*4]
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x164], ecx
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
xor ecx, ecx
mov dword [ebp - 0x94], ecx
movzx eax, word [esi + 0x3e]
mov ebx, dword [ebp - 0x188]
cmp eax, ebx
ja 0x463897
mov edx, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x178]
cmp byte [edx + 1], 0xf6
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
jne 0x462144
mov edx, dword [edx + 0x10]
push 0x2000
call fcn.00456f10
mov edi, dword [ebp - 0x16c]
add esp, 4
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [esi + ebx*4 + 0x5c]
mov dword [ebp - 0x94], ecx
mov eax, dword [ebp - 0x164]
mov edx, dword [ebp - 0x178]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, 0x9000
test word [edi + 0x10], ax
je 0x4638c4
mov ecx, edi
call fcn.00456cb0
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x17c]
mov eax, dword [esi + 0x54]
cmp eax, dword [edx + ebx*4 + 4]
jb 0x4639e2
mov eax, dword [ebp - 0x188]
mov ebx, dword [esi + 0x4c]
add ebx, dword [edx + eax*4]
cmp ecx, 0xc
jae 0x46391b
mov edx, ecx
mov ecx, ebx
push edi
call fcn.0045b170
add esp, 4
mov ecx, dword [ebp - 0x168]
mov edi, dword [ebp - 0x16c]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov al, byte [ebp - 0x184]
lea esi, [ecx - 0xc]
shr esi, 1
mov dword [edi + 0xc], esi
mov byte [edi + 0x12], al
lea edx, [esi + 2]
cmp dword [edi + 0x18], edx
jge 0x463985
mov eax, dword [ebp - 0x168]
cmp esi, dword [eax + 0x78]
jg 0x468691
mov eax, 1
mov ecx, edi
push 0
mov word [edi + 0x10], ax
call fcn.00455f30
add esp, 4
test eax, eax
je 0x46398b
mov edi, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x168]
call fcn.0042f840
push 0x4fe3e4
push edi
call fcn.00457dd0
add esp, 8
mov edx, 7
jmp 0x4684fe
mov eax, dword [edi + 0x20]
mov dword [edi + 8], eax
push esi
push ebx
push dword [edi + 8]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [edi + 8]
add esp, 0xc
mov ecx, dword [ebp - 0x168]
mov byte [esi + eax], 0
mov eax, dword [edi + 8]
mov byte [esi + eax + 1], 0
mov eax, dword [ebp - 0x94]
mov esi, dword [ebp - 0x164]
and eax, 1
mov ax, word [eax*2 + 0x505e5c]
mov word [edi + 0x10], ax
mov edi, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov al, byte [ebp - 0x184]
mov byte [edi + 0x12], al
mov eax, dword [ebp - 0x164]
mov edx, dword [ebp - 0x94]
mov al, byte [eax + 2]
and al, 0xc0
je 0x463a10
cmp al, 0x80
je 0x463a21
cmp edx, 0xc
jb 0x463a10
test dl, 1
je 0x463a21
cmp al, 0xc0
je 0x463a21
mov ecx, edx
call fcn.0045b070
test eax, eax
jne 0x463a2b
mov edx, dword [ebp - 0x94]
mov ecx, 0x506118
jmp 0x4638ec
mov eax, dword [ebp - 0x17c]
mov edx, ebx
push edi
push dword [ebp - 0x1bc]
mov edi, dword [ebp - 0x16c]
mov ecx, esi
push dword [edi + 0x1c]
push 0
push dword [eax + ebx*4]
push dword [ebp - 0x94]
call fcn.00461340
mov edx, eax
add esp, 0x18
mov dword [ebp - 0x174], edx
test edx, edx
je 0x4617ef
cmp edx, 7
je 0x463962
cmp edx, 0x12
je 0x468697
jmp 0x468504
mov ecx, dword [ebp - 0x164]
mov edx, dword [ecx + 0x10]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 0x1c], edx
mov ebx, dword [edx + 4]
lea eax, [eax + eax*4]
mov dword [ebp - 0x14], ebx
lea esi, [ecx + eax*8]
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x8c], ecx
cmp ax, word [edx + 0x22]
jge 0x4617ef
lea edi, [ebx + 8]
mov dword [ebp - 0x1a4], edi
nop dword [eax]
movzx eax, word [edi + 6]
test al, 0x60
je 0x463ae0
test al, 0x20
jne 0x463b8d
mov eax, dword [ebp - 0x164]
cmp dword [eax + 0xc], 0
jne 0x463b8a
push dword [ebp - 0x184]
mov dl, byte [edi]
mov ecx, esi
call fcn.00461030
movzx ebx, word [esi + 0x10]
add esp, 4
test bl, 1
jne case.default.0x463b10
mov eax, dword [edi - 4]
shr eax, 4
and eax, 0xf
lea ecx, [eax - 2]
cmp ecx, 4
ja case.default.0x463b10
jmp dword [ecx*4 + 0x468ec4]
test bl, 0x10
jmp 0x463b7b
test bl, 4
jmp 0x463b7b
test bl, 2
jmp 0x463b7b
test bl, 4
je 0x463b78
mov edi, dword [esi]
mov ecx, edi
mov edx, dword [esi + 4]
add ecx, 0
mov eax, edx
adc eax, 0x8000
cmp eax, 0xffff
ja 0x463b4f
jb 0x463b4a
cmp ecx, 0xffffffff
ja 0x463b4f
or ebx, 0x20
jmp 0x463b5d
mov ecx, edi
call fcn.004f72c0
movsd qword [esi], xmm0
or ebx, 8
mov edi, dword [ebp - 0x1a4]
mov edx, 0x10
mov ecx, esi
movzx eax, bx
and eax, 0xfffb
mov word [edx + ecx], ax
jmp case.default.0x463b10
test bl, 0x28
je 0x468524
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x1c]
add esi, 0x28
movsx eax, word [edx + 0x22]
inc ecx
add edi, 0x10
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x1a4], edi
cmp ecx, eax
jl 0x463ac0
jmp 0x4638f5
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov al, byte [edi]
nop dword [eax + eax]
push dword [ebp - 0x184]
mov dl, al
mov ecx, esi
call fcn.00461030
add esp, 4
cmp byte [edi], 0x45
jne 0x463c30
movzx ebx, word [esi + 0x10]
test bl, 4
je 0x463c30
mov ecx, dword [esi]
mov edx, dword [esi + 4]
add ecx, 0
mov eax, edx
adc eax, 0x8000
cmp eax, 0xffff
ja 0x463c18
jb 0x463c0d
cmp ecx, 0xffffffff
ja 0x463c18
and ebx, 0xfffb
or ebx, 0x20
jmp 0x463c2c
mov ecx, dword [esi]
call fcn.004f72c0
and ebx, 0xfff9
movsd qword [esi], xmm0
or ebx, 8
mov word [esi + 0x10], bx
mov al, byte [edi + 1]
inc edi
test al, al
je 0x4680f3
add esi, 0x28
jmp 0x463bd0
mov edx, dword [ebp - 0x164]
xorps xmm0, xmm0
mov esi, dword [ebp - 0x178]
xor ecx, ecx
movlpd qword [ebp - 0x18], xmm0
mov dword [ebp - 0x188], ecx
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x10]
movlpd qword [ebp - 0x1a8], xmm0
lea eax, [eax + eax*4]
lea ebx, [esi + eax*8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x8c], ebx
lea eax, [eax + eax*4]
mov dword [ebp - 0x1c], eax
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x190], eax
test edi, edi
je 0x463cd9
lea esi, [ebx + 0x10]
nop word [eax + eax]
push dword [ebp - 0x184]
mov dl, byte [edi]
lea ecx, [esi - 0x10]
call fcn.00461030
add esp, 4
cmp byte [edi], 0x45
jne 0x463cca
movzx eax, word [esi]
test al, 4
je 0x463cca
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
inc edi
add esi, 0x28
cmp byte [edi], 0
jne 0x463ca0
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x180], edx
lea esi, [eax*8 - 0xc]
mov dword [ebp - 0x17c], edi
mov eax, dword [ebp - 0x1a4]
add esi, ebx
mov ebx, dword [ebp - 0x1a8]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1a4], ebx
nop
movzx ebx, word [esi - 0xc]
test bl, 1
je 0x463d2c
and ebx, 0x400
inc ecx
neg ebx
sbb ebx, ebx
and ebx, 0xa
jmp 0x463f9c
test bl, 0x24
je 0x463ee0
cmp dword [esi - 0x18], 0
mov eax, dword [esi - 0x1c]
jg 0x463d4f
jl 0x463d44
test eax, eax
jae 0x463d4f
mov ecx, eax
mov eax, dword [esi - 0x18]
not ecx
not eax
jmp 0x463d54
mov ecx, eax
mov eax, dword [esi - 0x18]
inc dword [ebp - 0x188]
test eax, eax
ja 0x463e5c
jb 0x463d69
cmp ecx, 0x7f
ja 0x463dc8
mov eax, dword [esi - 0x1c]
and eax, 1
mov dword [ebp - 0x19c], 0
cmp eax, dword [esi - 0x1c]
jne 0x463da6
mov eax, dword [ebp - 0x19c]
cmp eax, dword [esi - 0x18]
jne 0x463da6
mov eax, dword [ebp - 0x16c]
cmp byte [eax + 0x95], 4
jb 0x463da6
lea ebx, [ecx + 8]
mov ecx, dword [ebp - 0x188]
jmp 0x463fa2
mov ecx, dword [ebp - 0x188]
add edi, 1
mov dword [ebp - 0x17c], edi
mov ebx, 1
adc edx, 0
mov dword [ebp - 0x180], edx
jmp 0x463fa2
test eax, eax
ja 0x463e5c
jb 0x463dda
cmp ecx, 0x7fff
ja 0x463dfc
mov ecx, dword [ebp - 0x188]
add edi, 2
mov dword [ebp - 0x17c], edi
mov ebx, 2
adc edx, 0
mov dword [ebp - 0x180], edx
jmp 0x463fa2
test eax, eax
ja 0x463e5c
jb 0x463e0a
cmp ecx, 0x7fffff
ja 0x463e2c
mov ecx, dword [ebp - 0x188]
add edi, 3
mov dword [ebp - 0x17c], edi
mov ebx, 3
adc edx, 0
mov dword [ebp - 0x180], edx
jmp 0x463fa2
test eax, eax
ja 0x463e5c
jb 0x463e3a
cmp ecx, 0x7fffffff
ja 0x463e5c
mov ecx, dword [ebp - 0x188]
add edi, 4
mov dword [ebp - 0x17c], edi
mov ebx, 4
adc edx, 0
mov dword [ebp - 0x180], edx
jmp 0x463fa2
cmp eax, 0x7fff
ja 0x463e8c
jb 0x463e6a
cmp ecx, 0xffffffff
ja 0x463e8c
mov ecx, dword [ebp - 0x188]
add edi, 6
mov dword [ebp - 0x17c], edi
mov ebx, 5
adc edx, 0
mov dword [ebp - 0x180], edx
jmp 0x463fa2
add edi, 8
mov dword [ebp - 0x17c], edi
adc edx, 0
mov dword [ebp - 0x180], edx
test bl, 0x20
je 0x463ed0
mov edx, dword [esi - 0x18]
mov ecx, dword [esi - 0x1c]
call fcn.004f72c0
mov ecx, dword [ebp - 0x188]
and ebx, 0xffdf
or ebx, 8
movsd qword [esi - 0x1c], xmm0
mov word [esi - 0xc], bx
mov ebx, 7
jmp 0x463fa2
mov ecx, dword [ebp - 0x188]
mov ebx, 6
jmp 0x463fa2
test bl, 8
je 0x463f02
inc ecx
mov ebx, 7
add edi, 8
mov dword [ebp - 0x17c], edi
adc edx, 0
mov dword [ebp - 0x180], edx
jmp 0x463f9c
mov ecx, dword [esi - 0x10]
mov eax, ebx
shr eax, 1
and eax, 1
mov dword [ebp - 0x14], ecx
lea eax, [eax + ecx*2]
add eax, 0xc
mov dword [ebp - 0x19c], eax
test ebx, 0x400
je 0x463f72
mov ebx, dword [esi - 0x1c]
lea eax, [eax + ebx*2]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x17c]
or eax, edx
je 0x463f51
lea ecx, [esi - 0x1c]
call fcn.00456360
test eax, eax
jne 0x46395c
mov ecx, dword [ebp - 0x14]
add ecx, dword [esi - 0x1c]
jmp 0x463f60
mov eax, ebx
cdq
add dword [ebp - 0x1a4], eax
adc dword [ebp - 0x90], edx
mov edi, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x19c]
add edi, ecx
push 0
adc edx, 0
mov dword [ebp - 0x17c], edi
push eax
mov dword [ebp - 0x180], edx
call fcn.00435440
mov ecx, dword [ebp - 0x188]
add esp, 8
mov ebx, dword [ebp - 0x19c]
add ecx, eax
mov dword [ebp - 0x188], ecx
mov eax, esi
mov dword [eax], ebx
lea eax, [esi - 0x1c]
cmp eax, dword [ebp - 0x8c]
je 0x463fbf
mov edx, dword [ebp - 0x180]
sub esi, 0x28
jmp 0x463d10
cmp ecx, 0x7e
jle 0x463ff3
mov eax, ecx
cdq
push edx
push eax
call fcn.00435440
mov esi, eax
mov eax, dword [ebp - 0x188]
add eax, esi
mov dword [ebp - 0x188], eax
cdq
push edx
push eax
call fcn.00435440
mov ecx, dword [ebp - 0x188]
add esp, 0x10
cmp esi, eax
jge 0x463ffa
inc ecx
mov dword [ebp - 0x188], ecx
mov ebx, dword [ebp - 0x1a4]
mov eax, ecx
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x190]
add esi, edi
mov edi, esi
adc ecx, dword [ebp - 0x180]
add edi, ebx
mov eax, dword [eax + 0x18]
adc ecx, dword [ebp - 0x90]
cdq
cmp ecx, edx
jg 0x46403b
jl 0x46402d
cmp edi, eax
ja 0x46403b
mov ecx, dword [ebp - 0x190]
mov eax, dword [ecx + 0x20]
mov dword [ecx + 8], eax
jmp 0x464072
mov eax, dword [ebp - 0x168]
mov eax, dword [eax + 0x78]
cdq
cmp ecx, edx
jg 0x468691
jl 0x464057
cmp edi, eax
ja 0x468691
mov ecx, dword [ebp - 0x190]
mov edx, esi
call fcn.004561b0
test eax, eax
jne 0x46395c
mov ecx, dword [ebp - 0x190]
mov eax, 0x10
mov dword [ecx + 0xc], esi
mov word [ecx + 0x10], ax
mov eax, ebx
or eax, dword [ebp - 0x90]
je 0x464093
mov eax, 0x410
mov dword [ecx], ebx
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x188]
mov ebx, dword [ecx + 8]
lea esi, [ebx + eax]
cmp eax, 0x80
jge 0x4640ab
mov byte [ebx], al
inc ebx
jmp 0x4640ba
cdq
mov ecx, ebx
push edx
push eax
call fcn.004351b0
add esp, 8
add ebx, eax
mov edi, dword [ebp - 0x8c]
add edi, 0xc
mov edx, dword [edi + 0x10]
cmp edx, 7
ja 0x464146
mov byte [ebx], dl
inc ebx
test edx, edx
je 0x464182
movzx edx, byte [edx + 0x506750]
mov ecx, dword [edi - 0xc]
mov eax, dword [edi - 8]
mov dword [ebp - 0x14], edx
dec edx
cmp edx, 5
ja case.0x4640ec.5
jmp dword [edx*4 + 0x468ed8]
mov byte [esi + 7], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esi + 6], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esi + 5], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esi + 4], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esi + 3], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esi + 2], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esi + 1], cl
shrd ecx, eax, 8
shr eax, 8
mov dword [ebp - 0x1a4], eax
mov byte [esi], cl
add esi, dword [ebp - 0x14]
jmp 0x464182
cmp edx, 0x80
jae 0x46415e
mov byte [ebx], dl
inc ebx
cmp edx, 0xe
jb 0x464182
mov eax, dword [edi]
test eax, eax
jle 0x464182
jmp 0x464173
push 0
push edx
mov ecx, ebx
call fcn.004351b0
add ebx, eax
add esp, 8
mov eax, dword [edi]
test eax, eax
je 0x464182
push eax
push dword [edi - 4]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, dword [edi]
mov eax, dword [ebp - 0x1c]
lea eax, [eax*8 - 0x1c]
add eax, dword [ebp - 0x8c]
cmp edi, eax
je 0x4680f3
add edi, 0x28
jmp 0x4640c3
mov ebx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
cmp dword [ebx + 0xc], 0
mov ecx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
mov edx, dword [eax + 0x2c]
je 0x4641c9
mov ecx, edx
call fcn.0044d830
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp 0x4641f3
mov ecx, dword [ebp - 0x168]
lea eax, [ebp - 0x60]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x60], xmm0
call fcn.00453820
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov edx, dword [ebp - 0x164]
mov ecx, edi
call fcn.004611f0
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x168]
cmp dword [ecx + 0x128], 0
jne 0x4689d3
mov esi, dword [ebp - 0x1b4]
cmp dword [ebp - 0x1b8], esi
jb 0x4680f9
mov ebx, dword [ebp - 0x1b0]
ja 0x464250
mov eax, dword [ebp - 0x170]
cmp eax, ebx
jb 0x4680ff
nop word [eax + eax]
mov eax, dword [ecx + 0x174]
test eax, eax
je 0x4680f9
add ebx, dword [ecx + 0x17c]
push dword [ecx + 0x178]
adc esi, 0
mov dword [ebp - 0x1b0], ebx
mov dword [ebp - 0x1b4], esi
call eax
add esp, 4
test eax, eax
jne 0x4687ed
mov ecx, dword [ebp - 0x168]
cmp dword [ebp - 0x1b8], esi
ja 0x464250
mov eax, dword [ebp - 0x170]
jb 0x4642a0
cmp eax, ebx
jae 0x464250
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x10]
mov dword [ebp - 0x17c], eax
test eax, eax
jne 0x46439c
cmp dword [ecx + 0xc4], eax
jg 0x468567
mov ecx, edi
call fcn.00432b50
mov ebx, eax
xor edx, edx
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax + 0x1fc]
add ecx, dword [eax + 0x1f8]
push ecx
mov ecx, eax
call fcn.004c4860
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov ecx, dword [ebp - 0x168]
lea eax, [ebx + 0x21]
push edx
push eax
call fcn.0042f570
mov esi, eax
add esp, 8
test esi, esi
je 0x464685
lea ecx, [ebx + 1]
push ecx
lea edx, [esi + 0x20]
push edi
push edx
mov dword [esi], edx
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp - 0x168]
add esp, 0xc
cmp byte [edx + 0x55], 0
je 0x46435e
mov byte [edx + 0x55], 0
mov byte [edx + 0x5d], 1
jmp 0x464364
inc dword [edx + 0x1f8]
mov eax, dword [edx + 0x1ec]
mov dword [esi + 0x18], eax
mov eax, dword [edx + 0x200]
mov ecx, dword [edx + 0x204]
mov dword [edx + 0x1ec], esi
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov eax, dword [edx + 0x208]
mov ecx, dword [edx + 0x20c]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
jmp 0x464685
mov esi, dword [ecx + 0x1ec]
xor ebx, ebx
test esi, esi
je 0x4643c5
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, edi
call fcn.00432ff0
test eax, eax
je 0x4643ea
mov esi, dword [esi + 0x18]
inc ebx
test esi, esi
jne 0x4643b0
mov esi, dword [ebp - 0x16c]
push edi
push str.no_such_savepoint:__s
push esi
call fcn.00457dd0
mov edx, 1
add esp, 0xc
mov dword [ebp - 0x174], edx
jmp 0x46850a
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x17c]
cmp dword [ecx + 0xc4], 0
jle 0x464408
cmp edx, 1
je 0x468588
cmp dword [esi + 0x18], 0
jne 0x464489
cmp byte [ecx + 0x5d], 0
je 0x464489
mov edi, 1
mov dword [ebp - 0x90], edi
cmp edx, edi
jne 0x464493
mov ecx, dword [ebp - 0x16c]
mov edx, edi
call fcn.0045a800
mov ecx, eax
mov dword [ebp - 0x174], ecx
test ecx, ecx
jne 0x468b0c
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x16c]
mov byte [eax + 0x55], 1
call fcn.0045a870
cmp eax, 5
je 0x4685bd
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x4685ac
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x90], edi
mov byte [eax + 0x5d], dl
jmp 0x4645c2
mov dword [ebp - 0x90], 0
mov eax, dword [ecx + 0x1f8]
sub eax, ebx
dec eax
mov dword [ebp - 0x8c], eax
cmp edx, 2
jne 0x464515
mov edi, dword [ebp - 0x168]
xor ebx, ebx
mov ecx, dword [ecx + 0x18]
and ecx, 1
mov dword [ebp - 0x1c], ecx
cmp dword [edi + 0x14], ebx
jle 0x46451e
mov eax, ecx
mov ecx, dword [ebp - 0x168]
xor eax, 1
xor edi, edi
mov dword [ebp - 0x14], eax
nop dword [eax]
mov ecx, dword [ecx + 0x10]
mov edx, 0x204
push eax
mov ecx, dword [edi + ecx + 4]
call fcn.0044bd60
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov ecx, dword [ebp - 0x168]
inc ebx
mov eax, dword [ebp - 0x14]
add edi, 0x10
cmp ebx, dword [ecx + 0x14]
jl 0x4644d0
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x17c]
jmp 0x464520
mov dword [ebp - 0x1c], 0
jmp 0x464520
mov ecx, edi
xor ebx, ebx
cmp dword [ecx + 0x14], ebx
jle 0x46456b
xor edi, edi
nop dword [eax]
mov ecx, dword [ecx + 0x10]
push eax
mov ecx, dword [edi + ecx + 4]
call fcn.0044c010
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov ecx, dword [ebp - 0x168]
inc ebx
mov eax, dword [ebp - 0x8c]
add edi, 0x10
mov edx, dword [ebp - 0x17c]
cmp ebx, dword [ecx + 0x14]
jl 0x464530
cmp dword [ebp - 0x1c], 0
je 0x4645ae
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x464599
nop dword [eax + 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 0x464580
mov ecx, dword [ebp - 0x168]
call fcn.004859e0
mov eax, dword [ebp - 0x168]
or dword [eax + 0x18], 1
mov edx, dword [ebp - 0x174]
test edx, edx
jne 0x468504
mov ebx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x168]
mov ecx, dword [edi + 0x1ec]
cmp ecx, esi
je 0x4645f4
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, edi
mov dword [edi + 0x1ec], eax
call fcn.0042f0e0
dec dword [edi + 0x1f8]
mov ecx, dword [edi + 0x1ec]
cmp ecx, esi
jne 0x4645d2
mov edi, dword [ebp - 0x17c]
cmp edi, 1
jne 0x46462c
mov ecx, dword [ebp - 0x168]
mov edx, esi
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x1ec], eax
call fcn.0042f0e0
cmp dword [ebp - 0x90], 0
jne 0x464685
mov edx, dword [ebp - 0x168]
dec dword [edx + 0x1f8]
jmp 0x464664
cmp dword [ebp - 0x90], 0
mov edx, dword [ebp - 0x168]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [edx + 0x200], eax
mov dword [edx + 0x204], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [edx + 0x208], eax
mov dword [edx + 0x20c], ecx
je 0x464664
cmp edi, 2
jne 0x464685
mov ecx, dword [ebp - 0x168]
mov edx, edi
push ebx
call fcn.004c4860
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov edi, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x168]
cmp byte [edi + 0x97], 3
jne 0x4617f5
mov esi, dword [ebp - 0x16c]
mov edi, 0x65
jmp 0x468b1e
mov ebx, dword [ebp - 0x164]
mov dword [ebp - 0x8c], 0
mov edi, dword [ebx + 8]
test edi, edi
je 0x4646e3
mov edx, dword [ecx + 0x20]
mov eax, edx
mov ecx, dword [ecx + 0x24]
and eax, 0x100000
and ecx, 2
or eax, ecx
jne 0x4685fa
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebx + 4]
shl esi, 4
add esi, dword [ecx + 0x10]
mov ebx, dword [esi + 4]
test ebx, ebx
je 0x4647c2
lea eax, [ebp - 0x8c]
mov edx, edi
push eax
mov ecx, ebx
call fcn.0044ae40
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468631
mov edi, dword [ebp - 0x16c]
test byte [edi + 0x98], 0x20
je 0x4647d6
mov eax, dword [ebp - 0x164]
cmp dword [eax + 8], edx
je 0x4647d6
mov ecx, dword [ebp - 0x168]
cmp byte [ecx + 0x55], dl
je 0x464754
cmp dword [ecx + 0xc0], 1
jle 0x4647d6
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x464770
mov eax, dword [ecx + 0x1f8]
inc dword [ecx + 0x1fc]
add eax, dword [ecx + 0x1fc]
mov dword [edi + 0x30], eax
dec eax
xor edx, edx
push eax
call fcn.004c4860
add esp, 4
mov dword [ebp - 0x174], eax
test eax, eax
jne 0x464796
mov edx, dword [edi + 0x30]
mov ecx, ebx
call fcn.0044bfb0
mov dword [ebp - 0x174], eax
mov edx, dword [ebp - 0x168]
mov eax, dword [edx + 0x200]
mov ecx, dword [edx + 0x204]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], ecx
mov eax, dword [edx + 0x208]
mov ecx, dword [edx + 0x20c]
mov dword [edi + 0x50], eax
mov dword [edi + 0x54], ecx
jmp 0x4647c8
mov edi, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x174]
test edx, edx
jne 0x468504
mov ecx, dword [ebp - 0x164]
cmp word [ecx + 2], 0
je 0x4617ef
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ecx + 0xc]
jne 0x464801
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 0x10]
je 0x4617ef
push dword [edi + 0x7c]
mov ebx, dword [ebp - 0x168]
push ebx
call fcn.0042f240
add esp, 8
mov edx, str.database_schema_has_changed
mov ecx, ebx
call fcn.0042f700
mov dword [edi + 0x7c], eax
mov eax, dword [ebp - 0x164]
mov edx, dword [eax + 4]
mov eax, ebx
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x8c]
je 0x464849
mov ecx, ebx
call fcn.00485970
mov eax, dword [edi + 0x98]
mov edx, 0x11
mov esi, dword [ebp - 0x16c]
and eax, 0xffffffed
or eax, 1
mov dword [ebp - 0x174], edx
mov dword [edi + 0x98], eax
mov edi, ebx
jmp 0x468510
mov edx, dword [ebp - 0x164]
lea eax, [ebp - 0x7c]
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.00453700
mov edx, dword [ebp - 0x164]
add esp, 4
mov ecx, edi
call fcn.004611f0
mov esi, dword [ebp - 0x164]
mov ecx, eax
mov eax, dword [ebp - 0x7c]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x170]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
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.00453760
mov edx, dword [ebp - 0x164]
add esp, 4
mov dword [ebp - 0x174], eax
mov eax, dword [edx + 8]
cmp eax, 1
jne 0x46492a
movzx eax, word [edx + 2]
mov ecx, dword [edx + 0xc]
sub ecx, eax
mov eax, dword [esi + 0xc]
mov dword [eax], ecx
mov eax, dword [ebp - 0x168]
mov ecx, eax
or dword [eax + 0x18], 1
mov edx, dword [edx + 4]
call fcn.00497d80
mov edx, dword [ebp - 0x164]
jmp 0x464938
cmp eax, 2
jne 0x464938
mov ecx, dword [esi + 0xc]
mov al, byte [edx + 0xc]
mov byte [ecx + 0x4c], al
cmp dword [edx + 4], 1
jne 0x464952
mov ecx, dword [ebp - 0x168]
xor edx, edx
call fcn.0045cfd0
and dword [edi + 0x98], 0xfffffffc
mov edx, dword [ebp - 0x174]
test edx, edx
jne 0x468504
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ebx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x4649a8
mov eax, dword [esi + 0x38]
cmp eax, dword [ebx + 8]
jne 0x4649a8
mov ecx, dword [esi + 0x2c]
call fcn.00447990
jmp 0x464ad3
mov ecx, dword [ebp - 0x168]
mov eax, dword [edi + 0x98]
mov esi, dword [ebp - 0x16c]
and al, 3
cmp al, 1
je 0x46866e
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x8c], 0
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1c], eax
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1a4], ecx
mov ecx, dword [ebp - 0x164]
cmp dl, 0x71
jne 0x464a45
mov eax, dword [eax + 0xc]
movzx edi, word [ecx + 2]
and edi, 8
or edi, 4
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x95]
jae 0x464a1c
mov byte [esi + 0x95], al
test byte [ecx + 2], 0x10
je 0x464a47
mov ecx, dword [ebp - 0x178]
lea eax, [ebx + ebx*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00456850
mov ebx, dword [esi]
mov ecx, dword [ebp - 0x164]
mov esi, dword [ebp - 0x16c]
jmp 0x464a47
xor edi, edi
mov al, byte [ecx + 1]
cmp al, 0xf8
jne 0x464a5d
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x8c], eax
movzx eax, word [eax + 8]
jmp 0x464a69
cmp al, 0xfd
jne 0x464a66
mov eax, dword [ecx + 0x10]
jmp 0x464a69
mov eax, dword [ebp - 0x14]
mov edx, dword [ecx + 4]
mov ecx, esi
push 0
push eax
call fcn.00460e20
mov esi, eax
add esp, 8
test esi, esi
je 0x46395c
push dword [esi + 0x2c]
mov eax, dword [ebp - 0x1c]
mov edx, ebx
push dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x1a4]
or dword [esi + 8], 4
push edi
mov byte [esi + 1], al
mov byte [esi + 2], 1
mov dword [esi + 0x38], ebx
call fcn.0044c240
mov edi, dword [ebp - 0x16c]
add esp, 0xc
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x8c]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x164]
cmp byte [eax + 1], 0xf8
setne al
mov byte [esi + 4], al
mov eax, dword [ebp - 0x164]
mov ecx, dword [esi + 0x2c]
movzx edx, word [eax + 2]
and edx, 3
call fcn.00447c00
mov edx, dword [ebp - 0x174]
test edx, edx
jne 0x468504
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
push 0
mov ecx, dword [edx + 8]
mov edx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x16c]
movsx eax, word [edi + 0x3c]
push eax
call fcn.00460e20
mov esi, eax
add esp, 8
test esi, esi
je 0x46395c
mov edx, dword [esi + 8]
mov byte [esi + 2], 1
or edx, 1
mov dword [esi + 8], edx
mov eax, dword [edi + 0x30]
mov dword [esi + 0x30], eax
mov al, byte [edi + 4]
mov byte [esi + 4], al
mov eax, dword [edi + 0x38]
mov dword [esi + 0x38], eax
mov ecx, dword [edi + 8]
xor ecx, edx
and ecx, 4
xor ecx, edx
mov dword [esi + 8], ecx
or ecx, 8
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov dword [esi + 8], ecx
or dword [edi + 8], 8
push dword [esi + 0x2c]
mov edx, dword [esi + 0x38]
push dword [esi + 0x30]
mov ecx, dword [esi + 0x10]
push 4
call fcn.0044c240
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x174], ebx
jmp 0x4638f5
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x464bd2
mov edx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
mov dword [edx + eax*8 + 0xc], 0
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov dword [edx + eax*8 + 8], 0x4fb681
mov edx, dword [ecx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + edx*4]
test esi, esi
je 0x464c4a
test byte [esi + 8], 8
jne 0x464c4a
movsx eax, word [esi + 0x3c]
cmp dword [ecx + 8], eax
jg 0x464c4a
mov edx, dword [esi + 0x38]
mov ecx, dword [esi + 0x10]
push 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
call fcn.004532e0
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
mov dword [ebp - 0x14], edx
test edx, edx
jne 0x468504
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x170]
mov byte [esi + 2], 1
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
push 0
push dword [ecx + 8]
mov ecx, edi
call fcn.00460e20
mov esi, eax
add esp, 8
test esi, esi
je 0x463962
mov eax, dword [ebp - 0x164]
lea edi, [esi + 0x10]
or dword [esi + 8], 1
xor edx, edx
push 0x41e
movzx eax, word [eax + 2]
or eax, 5
push eax
mov eax, dword [ebp - 0x168]
push edi
push eax
mov ecx, dword [eax]
call fcn.00449770
mov edx, eax
add esp, 0x10
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov ecx, dword [edi]
lea edx, [eax + 1]
push eax
call fcn.0044ae40
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x464d3f
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x14], eax
mov dword [esi + 0x30], eax
test eax, eax
je 0x464d16
movzx eax, word [ecx + 2]
lea edx, [esi + 0x38]
mov ecx, dword [edi]
or eax, 2
push eax
call fcn.00453050
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x464d10
push dword [esi + 0x2c]
mov edx, dword [esi + 0x38]
push dword [ebp - 0x14]
mov ecx, dword [edi]
push 4
call fcn.0044c240
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x174], edx
mov byte [esi + 4], 0
jmp 0x464d3f
push dword [esi + 0x2c]
mov ecx, dword [edi]
mov edx, 1
push 0
push 4
mov dword [esi + 0x38], 1
call fcn.0044c240
mov edx, eax
mov byte [esi + 4], 1
add esp, 0xc
mov dword [ebp - 0x174], edx
mov eax, dword [ebp - 0x164]
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
test edx, edx
jne 0x46867e
mov edi, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x170]
mov byte [esi + 2], 1
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
push 1
push dword [ecx + 8]
mov edx, dword [ecx + 4]
mov ecx, edi
call fcn.00460e20
add esp, 8
test eax, eax
je 0x463962
mov edx, dword [ebp - 0x164]
push eax
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x30], ecx
mov edx, dword [edx + 0xc]
mov ecx, dword [ebp - 0x168]
call fcn.0046a520
jmp 0x4629b0
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x18]
mov ecx, edi
mov esi, dword [edx + 0x1c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x18], ecx
adc eax, 0
or edi, esi
mov dword [edx + 0x1c], eax
je 0x46324b
jmp 0x4638f5
mov ecx, dword [ebp - 0x164]
push 3
push dword [ecx + 0xc]
mov edx, dword [ecx + 4]
mov ecx, edi
call fcn.00460e20
add esp, 8
test eax, eax
je 0x463962
mov ecx, dword [ebp - 0x164]
mov esi, dword [ebp - 0x164]
mov byte [eax + 2], 1
mov ecx, dword [ecx + 8]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebp - 0x168]
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x515cd0
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x464e78
mov ecx, edi
call fcn.00459ce0
mov eax, dword [ebp - 0x164]
mov esi, dword [ebp - 0x164]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x60]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov dword [ebp - 0x17c], 0
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x178]
cmp byte [edi + 4], 0
mov word [edi + 2], 0
mov dword [edi + 0x20], 0
je 0x46503d
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x10]
mov dword [ebp - 0x14], eax
and al, 0x2e
cmp al, 2
jne 0x464f00
xor edx, edx
mov ecx, esi
call fcn.00460f20
mov ecx, esi
call fcn.00456660
movzx ecx, word [esi + 0x10]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1a4], edx
mov word [esi + 0x10], ax
test cl, 0x24
jne 0x464fca
test cl, 8
jne 0x464f9e
test cl, 1
jne 0x46324b
cmp ebx, 0x17
jae 0x46324b
mov ecx, dword [edi + 0x2c]
lea edx, [ebp - 0x24]
call fcn.0044cf50
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov ecx, dword [ebp - 0x17c]
cmp dword [ebp - 0x24], 0
jne 0x46324b
mov eax, dword [ebp - 0x170]
test ecx, ecx
mov ecx, dword [ebp - 0x168]
je 0x4680ff
add dword [ebp - 0x164], 0x14
mov esi, dword [ebp - 0x164]
mov edi, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
push dword [ebp - 0x1a4]
movsd xmm1, qword [esi]
push dword [ebp - 0x8c]
call fcn.0045bbe0
add esp, 8
test eax, eax
jle 0x464fc2
test bl, 1
jne 0x464fca
dec ebx
jmp 0x464fca
jns 0x464fca
test bl, 1
je 0x464fca
inc ebx
mov ecx, dword [edi + 0x2c]
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x1a4]
lea esi, [edi + 0x2c]
xor edx, edx
push dword [ebp - 0x8c]
call fcn.0044cf70
mov edx, eax
add esp, 0xc
mov eax, dword [ebp - 0x8c]
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x174], edx
mov dword [edi + 0x44], eax
test edx, edx
jne 0x468504
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x24]
cmp ebx, 0x17
jl 0x465127
test eax, eax
js 0x4650e8
jne 0x465031
cmp ebx, 0x18
je 0x4650e8
mov dword [ebp - 0x24], 0
jmp 0x464f69
mov eax, dword [edi + 0x2c]
lea esi, [edi + 0x2c]
mov al, byte [eax + 3]
and al, 2
mov byte [ebp - 0x191], al
mov eax, 0
setne al
mov dword [ebp - 0x17c], eax
mov eax, dword [edi + 0x30]
mov dword [ebp - 0xb8], eax
mov ax, word [edx + 0x10]
mov word [ebp - 0xa4], ax
lea eax, [ebx - 1]
test al, 1
mov byte [ebp - 0x9e], 0
sete al
lea eax, [eax*2 - 1]
mov byte [ebp - 0xa2], al
mov eax, dword [edx + 0xc]
lea edx, [ebp - 0xb8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0x24]
mov ecx, dword [esi]
push eax
call fcn.0044d210
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
cmp byte [ebp - 0x191], al
je 0x46500c
mov ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x17c], ecx
cmp byte [ebp - 0x9e], al
je 0x464f5f
jmp 0x465012
mov dword [ebp - 0x24], 0
xor edx, edx
mov ecx, dword [esi]
call fcn.0044d9e0
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
je 0x464f59
cmp edx, 0x65
jne 0x468504
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x24], 1
jmp 0x46324b
test eax, eax
jg 0x465141
jne 0x465132
cmp ebx, 0x15
je 0x465141
mov ecx, dword [esi]
call fcn.0044d820
mov dword [ebp - 0x24], eax
jmp 0x464f59
mov dword [ebp - 0x24], 0
xor edx, edx
mov ecx, dword [esi]
call fcn.0044dbd0
jmp 0x4650f8
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 0x18]
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi + 0x2c]
call fcn.0044c4b0
test eax, eax
je 0x4680f3
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x30]
mov dword [ebp - 0xb8], eax
mov byte [ebp - 0xa2], 0
mov ax, word [ecx + 0x24]
mov esi, dword [ecx + 4]
mov word [ebp - 0xa4], ax
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 0x68], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0x168]
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0xb8]
mov edx, edi
push eax
call fcn.0045cea0
mov edx, eax
add esp, 8
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov eax, dword [ebp - 0x68]
test eax, eax
jle 0x4651f2
mov ecx, dword [ebp - 0x164]
cmp word [ecx + 2], dx
je 0x465237
test eax, eax
jns 0x46324b
test esi, esi
jle 0x4680f3
mov ecx, dword [edi + 0x2c]
xor edx, edx
dec esi
mov dword [edi + 0x20], 0
call fcn.0044d9e0
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
je 0x4651b2
cmp edx, 0x65
jne 0x468504
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x174], 0
add ecx, 0x14
mov dword [ebp - 0x164], ecx
jmp 0x46324b
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov esi, dword [ebp - 0x164]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x164]
movzx edx, word [eax + 0xc]
mov ecx, dword [ecx + 8]
cmp edx, ecx
jge 0x465289
mov word [eax + 0xc], cx
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov ecx, dword [ecx + 0xc]
cmp edx, ecx
jle 0x4620e8
mov word [eax + 0xc], cx
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x467d4e
cmp byte [eax + 2], 0
mov ecx, dword [ebp - 0x168]
je 0x4617f5
jmp case.0x46173a.9
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x164]
movzx eax, word [eax + 0xc]
cmp eax, dword [ecx + 0x10]
jge 0x4617ef
jmp 0x46530e
mov ecx, dword [ebp - 0x164]
mov ecx, dword [ecx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x178]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0xb4], ecx
movzx eax, word [eax + 0x10]
mov word [ebp - 0xa4], ax
test ax, ax
je 0x465377
mov eax, dword [esi + 0x30]
lea ebx, [esi + 0x24]
mov dword [ebp - 0xb8], eax
lea edx, [ebp - 0xb8]
mov byte [ebp - 0xa2], 0
mov ecx, dword [esi + 0x2c]
push ebx
call fcn.0044d210
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
jmp 0x4653ea
mov eax, 0x400
test word [ecx + 0x10], ax
je 0x46538f
call fcn.00456360
test eax, eax
jne 0x463962
mov ecx, dword [esi + 0x30]
call fcn.0045b430
mov edi, eax
test edi, edi
je 0x46395c
mov edx, dword [ebp - 0xb4]
mov ecx, dword [esi + 0x30]
push edi
push dword [edx + 8]
mov edx, dword [edx + 0xc]
call fcn.0045b490
mov byte [edi + 0x16], 0
lea ebx, [esi + 0x24]
mov ecx, dword [esi + 0x2c]
mov edx, edi
push ebx
call fcn.0044d210
mov ecx, dword [ebp - 0x168]
add esp, 0xc
mov edx, edi
mov dword [ebp - 0x174], eax
call fcn.0042f0e0
mov edx, dword [ebp - 0x174]
mov edi, dword [ebp - 0x16c]
test edx, edx
jne 0x468504
mov ecx, dword [ebx]
test ecx, ecx
mov byte [esi + 3], dl
setne al
mov dword [esi + 0x20], edx
mov byte [esi + 2], al
mov eax, dword [ebp - 0x164]
mov al, byte [eax]
cmp al, 0x1d
jne 0x465436
test ecx, ecx
je 0x46324b
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
test ecx, ecx
jne 0x46324b
cmp al, 0x1b
jne 0x465491
movzx edx, word [ebp - 0xa4]
test edx, edx
je 0x4680f3
mov eax, dword [ebp - 0xb4]
add eax, 0x10
nop word [eax + eax]
test byte [eax], 1
jne 0x46324b
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x465460
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
cmp byte [ecx], 0x1a
jne 0x4680f3
mov ax, word [ecx + 0x10]
mov ecx, dword [ebp - 0x168]
mov word [esi + 0xc], ax
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 0x24
jne 0x465543
movups xmm0, xmmword [ebx + eax*8]
mov dl, 0x43
lea ecx, [ebp - 0xc0]
push dword [ebp - 0x184]
movups xmmword [ebp - 0xc0], xmm0
movups xmm0, xmmword [ebx + eax*8 + 0x10]
movups xmmword [ebp - 0xb0], xmm0
movq xmm0, qword [ebx + eax*8 + 0x20]
movq qword [ebp - 0xa0], xmm0
call fcn.00461030
add esp, 4
test byte [ebp - 0xb0], 4
je 0x46324b
mov edi, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0xbc]
jmp 0x465550
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov edi, dword [ebx + eax*8]
mov ebx, dword [ebx + eax*8 + 4]
mov eax, dword [ebp - 0x164]
xor edx, edx
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x4c]
push eax
push ebx
push edi
mov ecx, dword [esi + 0x2c]
mov dword [ebp - 0x4c], 0
call fcn.0044cf70
mov edx, eax
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], ebx
add esp, 0xc
mov word [esi + 2], 0
mov dword [esi + 0x20], 0
mov eax, dword [ebp - 0x4c]
mov dword [esi + 0x24], eax
cmp dword [ebp - 0x4c], 0
mov dword [ebp - 0x174], edx
je 0x4655c8
mov ecx, dword [ebp - 0x164]
cmp dword [ecx + 8], 0
jne 0x46324b
mov ecx, 0x1814f
call fcn.004e7fa0
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
jmp 0x4638f5
mov ebx, dword [ebp - 0x164]
mov ecx, edi
mov edx, ebx
call fcn.004611f0
mov edx, dword [ebx + 4]
mov esi, ebx
mov ecx, dword [edi + 0x60]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [eax + 4], ecx
mov dword [eax], edx
mov eax, ebx
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x168]
add dword [eax + 0x18], 1
adc dword [eax + 0x1c], 0
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ebx, dword [ebp - 0x164]
xorps xmm0, xmm0
mov edx, ebx
movlpd qword [ebp - 0x20], xmm0
mov ecx, edi
mov dword [ebp - 0x90], 0
call fcn.004611f0
mov esi, dword [ebp - 0x16c]
mov edi, eax
mov edx, dword [ebx + 4]
mov dword [ebp - 0x14], edi
mov ecx, dword [esi + 0x60]
mov ebx, dword [ecx + edx*4]
test byte [ebx + 8], 2
jne 0x4656c3
mov ecx, dword [ebx + 0x2c]
lea edx, [ebp - 0x90]
call fcn.0044cf50
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x46850a
cmp dword [ebp - 0x90], eax
je 0x465694
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], eax
jmp 0x4656c3
mov ecx, dword [ebx + 0x2c]
call fcn.0044c4c0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
cmp edx, 0x7fffffff
jl 0x4656b7
jg 0x4656b1
cmp eax, 0xffffffff
jb 0x4656b7
or dword [ebx + 8], 2
jmp 0x4656c3
add eax, 1
mov dword [ebp - 0x20], eax
adc edx, 0
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x465772
mov edx, dword [esi + 0xd0]
test edx, edx
je 0x4656fc
mov eax, dword [edx + 4]
test eax, eax
je 0x4656ee
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x4656e5
mov eax, dword [ecx + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea esi, [eax + ecx*8]
jmp 0x465708
mov ecx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00456660
mov cx, word [esi + 0x10]
mov edi, eax
mov eax, 0xf244
mov dword [esi], edi
and cx, ax
mov dword [esi + 4], edx
or cx, 4
mov word [esi + 0x10], cx
cmp edi, 0xffffffff
jne 0x46573b
cmp edx, 0x7fffffff
je 0x4657d6
test byte [ebx + 8], 2
jne 0x4657d6
mov ecx, dword [ebp - 0x1c]
add edi, 1
adc edx, 0
cmp ecx, edx
jg 0x465767
jl 0x46575b
mov eax, dword [ebp - 0x20]
cmp eax, edi
jae 0x46576a
mov eax, edi
mov ecx, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
jmp 0x46576a
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
mov dword [esi], eax
mov dword [esi + 4], ecx
test byte [ebx + 8], 2
je 0x4657e0
xor esi, esi
nop word [eax + eax]
lea eax, [ebp - 0x20]
push eax
push 8
call fcn.00432270
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x90]
mov ecx, dword [ebp - 0x20]
and eax, 0x3fffffff
add ecx, 1
push edx
adc eax, 0
mov dword [ebp - 0x20], ecx
push eax
mov dword [ebp - 0x1c], eax
xor edx, edx
push ecx
mov ecx, dword [ebx + 0x2c]
call fcn.0044cf70
mov edx, eax
add esp, 0x14
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
cmp dword [ebp - 0x90], eax
jne 0x4657e0
inc esi
cmp esi, 0x64
jl 0x465780
mov edx, 0xd
jmp 0x4684fe
mov byte [ebx + 3], 0
mov dword [ebx + 0x20], 0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x4638f5
mov ebx, dword [ebp - 0x164]
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 0x14], esi
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xb4], eax
jne 0x465867
mov ebx, dword [ebp - 0x168]
cmp dword [ebx + 0xfc], 0
je 0x465867
movsx ecx, byte [esi + 1]
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8]
mov dword [ebp - 0x8c], ecx
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ecx + 0x10]
jmp 0x465875
mov ecx, dword [ebp - 0x164]
xor ebx, ebx
mov dword [ebp - 0x8c], ebx
test byte [ecx + 2], 1
je 0x4658a4
mov eax, dword [ebp - 0x16c]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
test byte [ecx + 2], 0x20
mov eax, dword [ebp - 0x1c]
je 0x4658a4
mov ecx, dword [ebp - 0x168]
mov dword [ecx + 0x28], edi
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebp - 0x164]
mov edi, dword [ebp - 0x178]
movzx ecx, word [ecx + 2]
mov eax, dword [edi + edx*8 + 8]
mov dword [ebp - 0xb0], eax
mov eax, dword [edi + edx*8 + 0xc]
mov dword [ebp - 0xa4], eax
test cl, 0x10
je 0x4658cc
mov edi, dword [esi + 0x24]
jmp 0x4658ce
xor edi, edi
mov eax, dword [ebp - 0x178]
mov esi, 0x400
test word [eax + edx*8 + 0x10], si
mov esi, dword [ebp - 0x14]
je 0x4658ee
mov eax, dword [eax + edx*8]
mov dword [ebp - 0xa0], eax
jmp 0x4658f8
mov dword [ebp - 0xa0], 0
and ecx, 0x8a
mov dword [ebp - 0xc0], 0
push edi
push ecx
mov ecx, dword [esi + 0x2c]
lea edx, [ebp - 0xc0]
call fcn.00451a70
inc dword [ebp - 0x1bc]
mov edx, eax
add esp, 8
mov dword [ebp - 0x174], edx
mov byte [esi + 3], 0
mov dword [esi + 0x20], 0
test edx, edx
jne 0x468504
test ebx, ebx
je 0x4680f3
push dword [ebp - 0xb4]
mov eax, dword [ebp - 0x164]
mov ecx, 0x17
push dword [ebp - 0xb8]
push dword [ebx]
test byte [eax + 2], 4
mov eax, 0x12
push dword [ebp - 0x8c]
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x168]
push dword [eax + 0xf8]
mov eax, dword [eax + 0xfc]
call eax
add esp, 0x18
jmp 0x4638f5
mov edx, dword [ebp - 0x164]
mov ecx, dword [edi + 0x60]
mov eax, dword [edx + 4]
mov esi, dword [ecx + eax*4]
mov eax, dword [edx + 8]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4659c0
mov ebx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
mov ecx, dword [ebx + eax*8]
mov eax, dword [ebx + eax*8 + 4]
jmp 0x4659ce
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov edx, dword [edx + 0x2c]
push eax
push ecx
mov ecx, dword [esi + 0x2c]
call fcn.00452210
add esp, 8
jmp 0x4629b3
mov edx, dword [ebp - 0x164]
cmp byte [edx + 1], 0xfb
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
jne 0x465a3e
mov eax, dword [ebp - 0x168]
cmp dword [eax + 0xfc], 0
je 0x465a3e
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
test byte [edx + 2], 2
mov edi, dword [edx + 0x10]
mov ebx, dword [eax + ecx*8]
je 0x465a42
cmp byte [esi + 4], 0
je 0x465a42
mov ecx, dword [esi + 0x2c]
call fcn.0044c4c0
mov dword [esi + 0x44], edx
mov edx, dword [ebp - 0x164]
mov dword [esi + 0x40], eax
jmp 0x465a42
xor ebx, ebx
xor edi, edi
mov dl, byte [edx + 2]
mov ecx, dword [esi + 0x2c]
call fcn.00452620
inc dword [ebp - 0x1bc]
mov edx, eax
mov dword [ebp - 0x174], edx
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
test edx, edx
jne 0x468504
test byte [ebp - 0x14], 1
mov ecx, dword [ebp - 0x168]
je 0x4680f9
mov eax, dword [ebp - 0x16c]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], edx
mov eax, dword [ecx + 0xfc]
test eax, eax
je 0x4680f9
test edi, edi
je 0x4680f9
test byte [edi + 0x1c], 0x80
jne 0x4680f9
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [edi]
push ebx
push 9
push dword [ecx + 0xf8]
call eax
add esp, 0x18
jmp 0x4638f5
mov edx, dword [ebp - 0x168]
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
add dword [edx + 0x70], eax
mov dword [edx + 0x68], eax
adc dword [edx + 0x74], ecx
mov eax, dword [ebp - 0x170]
mov dword [edx + 0x6c], ecx
mov ecx, edx
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x50], 0
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x164]
push dword [eax + 0x10]
call fcn.0046cd80
mov edx, eax
add esp, 8
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
cmp dword [ebp - 0x50], eax
jmp 0x4617e9
mov ecx, dword [ebp - 0x164]
mov edx, dword [ebp - 0x178]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + ecx*4]
call fcn.0046cce0
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov eax, dword [ebp - 0x164]
mov esi, dword [ebp - 0x164]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x168]
mov dword [eax + 0x20], edx
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x465be4
mov ecx, esi
call fcn.004611d0
mov esi, eax
jmp 0x465bed
mov eax, 4
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov edi, dword [eax + 0x2c]
mov ecx, edi
call fcn.0044c470
mov eax, dword [ebp - 0x168]
mov edx, dword [edi + 0x2c]
cmp edx, dword [eax + 0x78]
ja 0x468691
push esi
mov ecx, edi
call fcn.004573e0
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov ecx, dword [ebp - 0x164]
cmp dword [ecx + 0xc], eax
jne 0x4680f3
mov eax, 0x4000
test word [esi + 0x10], ax
je 0x4680f3
mov ecx, esi
call fcn.004562d0
mov ecx, dword [ebp - 0x168]
mov edi, dword [ebp - 0x16c]
test eax, eax
jne 0x463968
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov ecx, edi
call fcn.004611f0
mov ecx, dword [ebp - 0x164]
mov edi, eax
mov eax, dword [ebp - 0x16c]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x60]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x465cbe
mov eax, 1
mov word [edi + 0x10], ax
jmp 0x4638f5
cmp byte [esi + 3], 0
je 0x465cda
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x44]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], eax
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x4638f5
cmp byte [esi], 2
jne 0x465d26
mov ecx, dword [esi + 0x2c]
lea edx, [ebp - 0x30]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
add esp, 8
mov dword [ebp - 0x174], eax
mov edx, esi
mov esi, dword [ebp - 0x16c]
mov ecx, esi
call fcn.0045d1d0
mov edx, dword [ebp - 0x174]
test edx, edx
jne 0x46850a
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x4638f5
mov ecx, esi
call fcn.0045b050
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
cmp byte [esi + 2], al
je 0x465d50
mov eax, 1
mov word [edi + 0x10], ax
jmp 0x4638f5
mov ecx, dword [esi + 0x2c]
call fcn.0044c4c0
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], eax
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x4638f5
mov edx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov edx, dword [edx + 4]
mov eax, dword [eax + edx*4]
test eax, eax
jne 0x465dad
push 3
push 1
mov ecx, edi
call fcn.00460e20
mov ecx, dword [ebp - 0x168]
add esp, 8
test eax, eax
je 0x463968
or dword [eax + 8], 8
mov dword [eax + 0x24], 0
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x515cd0
cmp byte [eax], 0
mov byte [eax + 2], 1
mov dword [eax + 0x20], 0
jne 0x4680f9
mov ecx, dword [eax + 0x2c]
call fcn.00447990
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov edi, dword [esi + 0x2c]
mov dword [ebp - 0x40], 0
cmp dl, 0x89
jne 0x465e1d
mov ecx, edi
mov dword [esi + 0x24], 0xffffffff
call fcn.0044c4b0
test eax, eax
jne 0x4680f3
cmp byte [edi], 0
jne 0x465e48
test byte [edi + 1], 8
je 0x465e48
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x174], 0
mov word [esi + 2], 0
mov dword [esi + 0x20], 0
jmp 0x465e73
lea edx, [ebp - 0x40]
mov ecx, edi
call fcn.0044cec0
mov edx, eax
mov al, byte [ebp - 0x40]
mov dword [ebp - 0x174], edx
mov byte [esi + 2], al
mov byte [esi + 3], 0
mov dword [esi + 0x20], 0
test edx, edx
jne 0x4684fe
mov ecx, dword [ebp - 0x164]
cmp dword [ecx + 8], 0
jle 0x4680f3
cmp dword [ebp - 0x40], 0
jne 0x46324b
jmp 0x4638f5
mov ecx, dword [ebp - 0x164]
lea edx, [ebp - 0x48]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call fcn.0044ce90
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
cmp dword [ebp - 0x48], eax
je 0x465eca
or esi, 0xffffffff
or ecx, esi
jmp 0x465ee1
mov ecx, esi
call fcn.0044d830
push edx
push eax
call fcn.00435720
cwde
add esp, 8
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + 0xc]
cdq
cmp ecx, edx
jl 0x465f15
jg 0x465ef5
cmp esi, eax
jb 0x465f15
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + 0x10]
cdq
cmp ecx, edx
jg 0x465f15
jl 0x465f09
cmp esi, eax
ja 0x465f15
mov dword [ebp - 0x48], 1
jmp 0x463251
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x48], 0
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
inc dword [edi + 0xac]
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x3c], 1
cmp byte [esi], 1
jne 0x465f71
lea edx, [ebp - 0x3c]
mov ecx, esi
call fcn.0046cba0
mov edx, eax
mov dword [ebp - 0x174], edx
jmp 0x465fba
mov edi, dword [esi + 0x2c]
mov ecx, edi
call fcn.0044cd00
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x465f95
mov ecx, edi
mov dword [ebp - 0x3c], eax
call fcn.0044ce40
mov edx, eax
jmp 0x465fa3
cmp edx, 0x10
jne 0x465fa9
mov dword [ebp - 0x3c], 1
xor edx, edx
mov dword [ebp - 0x174], edx
mov edi, dword [ebp - 0x16c]
mov byte [esi + 3], 0
mov dword [esi + 0x20], 0
test edx, edx
jne 0x468504
mov ecx, dword [ebp - 0x164]
mov al, byte [ebp - 0x3c]
mov byte [esi + 2], al
cmp dword [ecx + 8], edx
jle 0x4680f3
cmp dword [ebp - 0x3c], edx
jmp 0x4617e9
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, dword [ebp - 0x168]
call fcn.0046cc40
jmp 0x466033
mov edx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 0xc]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x2c]
call fcn.0044dbd0
jmp 0x466033
mov edx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 0xc]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x2c]
call fcn.0044d9e0
mov edx, eax
mov dword [ebp - 0x174], edx
mov dword [esi + 0x20], 0
test edx, edx
jne 0x46605f
mov byte [esi + 2], al
mov eax, dword [ebp - 0x164]
movzx eax, word [eax + 2]
inc dword [edi + eax*4 + 0xa4]
jmp 0x467d4e
cmp edx, 0x65
jne 0x468504
mov dword [ebp - 0x174], 0
mov byte [esi + 2], 1
jmp 0x46420b
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ebx, dword [ebp - 0x178]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x164]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
je 0x4660b3
mov eax, dword [ebp - 0x16c]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov eax, 0x400
test word [esi + 0x10], ax
je 0x4660db
mov ecx, esi
call fcn.00456360
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov ecx, dword [ebp - 0x164]
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
mov eax, dword [esi + 8]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [ebp - 0xac], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0xa8], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x46611b
mov ecx, dword [edi + 0x24]
jmp 0x46611d
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x2c]
lea edx, [ebp - 0xc0]
and eax, 0x8a
push eax
call fcn.00451a70
mov edx, eax
mov dword [edi + 0x20], 0
add esp, 8
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
jmp 0x4638f5
mov edx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x400
test word [esi + 0x10], ax
je 0x466191
mov ecx, esi
call fcn.00456360
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov edx, esi
mov ecx, edi
call fcn.0046b870
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
jmp 0x4638f5
mov edx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x178]
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x2c]
mov dword [ebp - 0xb8], eax
mov ax, word [edx + 0xc]
mov word [ebp - 0xa4], ax
mov eax, dword [edx + 8]
lea edx, [ebp - 0xb8]
mov byte [ebp - 0xa2], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0x78]
push eax
call fcn.0044d210
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
cmp dword [ebp - 0x78], eax
jne 0x46623e
mov dl, 4
mov ecx, edi
call fcn.00452620
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
jmp 0x4638f5
mov ecx, dword [ebp - 0x164]
cmp word [ecx + 2], 0
je 0x46625e
mov ecx, dword [ebp - 0x168]
call fcn.00486140
test eax, eax
je 0x4686af
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
jmp 0x4638f5
mov edx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
je 0x4662a7
mov ecx, esi
call fcn.0045b000
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov edx, dword [ebp - 0x164]
jmp 0x4662b1
mov dword [ebp - 0x174], 0
cmp byte [esi + 2], 0
jne 0x46637a
mov ecx, dword [ebp - 0x168]
lea eax, [ebp - 0x58]
xorps xmm0, xmm0
movlpd qword [ebp - 0x58], xmm0
mov edx, dword [esi + 0x2c]
push eax
call fcn.0045cb30
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov eax, dword [ebp - 0x164]
cmp byte [eax], 0x8d
jne 0x466346
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x60]
mov edx, dword [eax + ecx*4]
mov byte [edx + 2], 0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x164]
mov dword [edx + 0x44], ecx
mov ecx, dword [ebp - 0x168]
mov byte [edx + 3], 1
mov dword [edx + 0x20], 0
mov eax, dword [eax + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x170]
mov dword [edx + 0x28], esi
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, eax
mov ecx, edi
call fcn.004611f0
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x164]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x168]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00456cb0
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 3], 0
je 0x4617ef
call fcn.0045af90
jmp 0x4629b3
mov ebx, dword [ebp - 0x164]
cmp dl, 0x2a
mov eax, dword [edi + 0x60]
mov edx, dword [ebp - 0x178]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0xb8], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xa4], ax
sbb al, al
mov byte [ebp - 0xa2], al
mov eax, ebx
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xb4], eax
mov edi, dword [ecx + 0x2c]
mov ecx, edi
call fcn.0044c470
mov esi, dword [edi + 0x2c]
test esi, esi
je 0x4686cb
cmp esi, 0x7fffffff
ja 0x4686cb
mov edx, dword [ebp - 0x168]
lea ecx, [ebp - 0x138]
push 0
call fcn.00456c90
add esp, 4
lea eax, [ebp - 0x138]
mov edx, esi
mov ecx, edi
push eax
call fcn.004573e0
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x12c]
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.0045bdd0
add esp, 8
lea ecx, [ebp - 0x138]
mov esi, eax
call fcn.00456620
mov ecx, ebx
mov dl, byte [ecx]
lea ecx, [esi + 1]
neg esi
test dl, 1
cmovne esi, ecx
test esi, esi
jg 0x46324b
jmp 0x4638f5
mov ebx, dword [ebp - 0x164]
mov ecx, edi
mov edx, ebx
call fcn.004611f0
mov edx, dword [ebp - 0x168]
mov esi, eax
mov eax, 1
mov word [esi + 0x10], ax
mov ecx, dword [edx + 0xcc]
inc ecx
cmp dword [edx + 0xc0], ecx
jg 0x4686f3
mov ebx, dword [ebx + 0xc]
lea eax, [ebp - 0x44]
mov ecx, dword [edx + 0x10]
mov edx, dword [ebp - 0x164]
push eax
mov eax, ebx
mov dword [ebp - 0x44], 0
add eax, eax
mov edx, dword [edx + 4]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004536b0
mov dword [ebp - 0x174], eax
add esp, 4
mov eax, 4
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0x44]
cdq
mov dword [esi + 4], edx
mov edx, dword [ebp - 0x174]
mov dword [esi], eax
test edx, edx
jne 0x468504
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x4680f3
mov ecx, dword [ebp - 0x164]
mov edx, ebx
push dword [ecx + 4]
mov ecx, dword [ebp - 0x168]
push eax
call fcn.0048a120
mov ecx, dword [ebp - 0x168]
add esp, 8
mov esi, dword [ebp - 0x164]
inc bl
mov eax, dword [ebp - 0x170]
mov byte [ebp - 0x1a9], bl
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
lea eax, [ebp - 0x18]
mov ecx, dword [ecx + 0x10]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [edx + 8]
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004532e0
mov ecx, dword [ebp - 0x164]
add esp, 4
mov edx, eax
mov dword [ebp - 0x174], edx
cmp dword [ecx + 0xc], 0
je 0x4629bb
mov edx, dword [ebp - 0x18]
add dword [edi + 0x28], edx
mov eax, dword [ebp - 0x14]
adc dword [edi + 0x2c], eax
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x4665ec
mov ebx, dword [ebp - 0x178]
lea ecx, [eax + eax*4]
add dword [ebx + ecx*8], edx
mov eax, dword [ebp - 0x14]
adc dword [ebx + ecx*8 + 4], eax
mov edx, dword [ebp - 0x174]
jmp 0x4629bb
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x466639
mov edx, dword [ecx + 0x2c]
mov ecx, dword [ebp - 0x168]
call fcn.0046a9e0
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ecx + 0x2c]
call fcn.004533a0
jmp 0x4629b3
mov edx, dword [ebp - 0x164]
mov ecx, edi
call fcn.004611f0
mov edx, dword [ebp - 0x164]
mov esi, eax
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x64], 0
mov ecx, dword [edx + 4]
push dword [edx + 0xc]
shl ecx, 4
lea edx, [ebp - 0x64]
add ecx, dword [eax + 0x10]
mov ecx, dword [ecx + 4]
call fcn.00453050
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x168]
mov dword [esi], eax
mov eax, dword [ebp - 0x170]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
inc byte [ecx + 0x60]
mov esi, dword [ecx + 0x16c]
mov bl, byte [ecx + 0x5e]
test byte [edx + 4], 1
mov edi, dword [ecx + 0x1f0]
mov dword [ebp - 0x8c], 0
je 0x4666f0
mov dword [ecx + 0x16c], 0
mov byte [ecx + 0x5e], 0
test byte [edx + 4], 2
je 0x4666ff
mov eax, dword [edx + 8]
mov dword [ecx + 0x1f0], eax
lea eax, [ebp - 0x8c]
push eax
push 0
push 0
push dword [edx + 0x10]
push ecx
call fcn.004a0470
mov ecx, dword [ebp - 0x168]
mov edx, eax
mov eax, dword [ebp - 0x8c]
add esp, 0x14
mov dword [ebp - 0x174], edx
dec byte [ecx + 0x60]
mov dword [ecx + 0x16c], esi
mov byte [ecx + 0x5e], bl
mov dword [ecx + 0x1f0], edi
test eax, eax
jne 0x466748
test edx, edx
je 0x4638fb
mov edi, dword [ebp - 0x16c]
push eax
push 0x4ff190
push edi
call fcn.00457dd0
add esp, 0xc
push dword [ebp - 0x8c]
call fcn.0042f020
mov edx, dword [ebp - 0x174]
add esp, 4
cmp edx, 7
je 0x463962
jmp 0x468504
mov ebx, dword [ebp - 0x164]
cmp dword [ebx + 0x10], 0
mov esi, dword [ebx + 4]
jne 0x4667e0
mov ebx, dword [ebp - 0x168]
mov ecx, esi
add ecx, ecx
mov eax, dword [ebx + 0x10]
push dword [eax + ecx*8 + 0xc]
call fcn.0048f610
mov eax, dword [ebp - 0x164]
add esp, 4
and dword [ebx + 0x18], 0xffffffef
mov edx, esi
mov ecx, ebx
movzx eax, word [eax + 2]
push eax
lea eax, [edi + 0x7c]
push eax
call fcn.004a8fb0
mov ecx, ebx
mov edx, eax
add esp, 8
mov dword [ebp - 0x174], edx
or dword [ecx + 0x18], 1
and dword [edi + 0x98], 0xfffffffc
jmp 0x4668bc
mov dword [ebp - 0xb4], ecx
lea eax, [edi + 0x7c]
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0xac], esi
add esi, esi
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xa4], 0
mov ecx, dword [ecx + esi*8 + 4]
call fcn.00449500
push dword [ebx + 0x10]
mov ebx, dword [ebp - 0x168]
mov dword [ebp - 0x9c], eax
push str.sqlite_master
mov eax, dword [ebx + 0x10]
push dword [eax + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.00431aa0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x468704
push 0
lea eax, [ebp - 0xb4]
mov byte [ebx + 0xb1], 1
push eax
push fcn.004a8d10
push esi
push ebx
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa0], 0
call fcn.004a0470
add esp, 0x14
mov dword [ebp - 0x174], eax
test eax, eax
jne 0x4668a4
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x174], eax
test eax, eax
jne 0x4668a4
cmp dword [ebp - 0xa0], eax
jne 0x4668a4
mov ecx, 0x18785
call fcn.004e7fa0
mov dword [ebp - 0x174], eax
mov edx, esi
mov ecx, ebx
call fcn.0042f0e0
mov edx, dword [ebp - 0x174]
mov ecx, ebx
mov byte [ecx + 0xb1], 0
test edx, edx
je 0x4617f5
call fcn.004859e0
mov edx, dword [ebp - 0x174]
cmp edx, 7
je 0x463962
jmp 0x4684fe
mov edx, dword [ebp - 0x164]
mov edx, dword [edx + 4]
call fcn.00483440
jmp 0x4629b3
mov edx, dword [ebp - 0x164]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.00485f50
mov ecx, dword [ebp - 0x168]
add esp, 4
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.00485800
mov ecx, dword [ebp - 0x168]
add esp, 4
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.004bcae0
mov ecx, dword [ebp - 0x168]
add esp, 4
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [edx + 4]
mov ecx, dword [edx + 0x10]
lea esi, [ebx + 0x28]
lea edi, [eax + eax*4]
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x74]
push eax
mov eax, dword [ebx + edi*8]
lea esi, [esi + edi*8]
inc eax
push eax
mov eax, dword [edx + 0xc]
push dword [edx + 8]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
push eax
lea eax, [ecx + 4]
mov ecx, dword [ebp - 0x168]
push eax
movzx eax, word [edx + 2]
add eax, eax
mov edx, dword [ecx + 0x10]
mov edx, dword [edx + eax*8 + 4]
call fcn.00454480
mov ebx, eax
add esp, 0x18
mov eax, 0x9000
mov dword [ebp - 0x174], ebx
test word [esi + 0x10], ax
je 0x4669ff
mov ecx, esi
call fcn.00456580
jmp 0x466a08
mov eax, 1
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x466a41
test ebx, ebx
jne 0x468712
mov ecx, dword [ebp - 0x178]
dec eax
cdq
push fcn.0042f020
push 1
sub dword [ecx + edi*8], eax
push 0xffffffffffffffff
sbb dword [ecx + edi*8 + 4], edx
mov ecx, esi
mov edx, dword [ebp - 0xc4]
push 0xffffffffffffffff
call fcn.00456fd0
add esp, 0x10
movzx edx, byte [ebp - 0x184]
mov ecx, esi
call fcn.00455f10
mov edi, dword [ebp - 0x16c]
jmp 0x46420b
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 0x10
lea esi, [ebx + eax*8]
mov eax, dword [ecx + 8]
lea edi, [eax + eax*4]
jne 0x466a8b
mov ecx, esi
call fcn.00456de0
test eax, eax
jne 0x46395c
push dword [ebx + edi*8 + 4]
mov ecx, dword [esi + 8]
push dword [ebx + edi*8]
call fcn.0043d1b0
add esp, 8
jmp 0x4638f5
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 0x10
lea esi, [ebx + eax*8]
je 0x466af8
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x88]
call fcn.0043d500
test eax, eax
je 0x466af8
mov eax, dword [ebp - 0x164]
push dword [ebp - 0x84]
push dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.00456d50
add esp, 8
jmp 0x46420b
mov ecx, esi
call fcn.00456cb0
jmp 0x467d4e
mov ecx, dword [ebp - 0x164]
mov edx, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 0x10
lea esi, [edx + eax*8]
mov eax, dword [ecx + 0xc]
lea edi, [eax + eax*4]
jne 0x466b3e
mov ecx, esi
call fcn.00456de0
test eax, eax
jne 0x46395c
mov edx, dword [ebp - 0x178]
test ebx, ebx
je 0x466b60
push dword [edx + edi*8 + 4]
mov ecx, dword [esi + 8]
push dword [edx + edi*8]
mov edx, ebx
call fcn.0043d590
add esp, 8
test eax, eax
jne 0x46324b
test ebx, ebx
js 0x461d18
mov ebx, dword [ebp - 0x178]
jmp 0x466a8b
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 0x14], ebx
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x90], ecx
cmp word [eax + 2], 0
je 0x466bc6
mov eax, dword [edi + 0xd0]
mov ecx, dword [ebx + 0x14]
test eax, eax
je 0x466bc0
nop dword [eax]
cmp dword [eax + 0x18], ecx
je 0x4617ef
mov eax, dword [eax + 4]
test eax, eax
jne 0x466bb0
mov ecx, dword [ebp - 0x90]
mov eax, dword [edi + 0xd8]
mov edi, dword [ebp - 0x168]
cmp eax, dword [edi + 0xa0]
jge 0x46872b
test byte [ecx + 0x10], 0x10
jne 0x466ce5
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
add eax, ecx
test ecx, ecx
lea esi, [eax + 1]
cmovne esi, eax
lea eax, [esi + esi*4]
lea ecx, [ecx + eax*2]
mov eax, dword [ebx + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x466c0d
add eax, 7
sar eax, 3
lea ecx, [ecx + 0x16]
lea ebx, [eax + ecx*4]
mov ecx, edi
mov eax, ebx
cdq
push edx
push eax
call fcn.0042f500
mov edi, eax
add esp, 8
test edi, edi
je 0x46395c
mov ecx, dword [ebp - 0x90]
call fcn.00456600
mov eax, dword [ebp - 0x90]
mov ecx, 0x1010
mov dword [eax + 0xc], ebx
mov ebx, dword [ebp - 0x14]
mov word [eax + 0x10], cx
mov ecx, dword [ebp - 0x164]
sub ecx, dword [ebp - 0x18c]
mov dword [eax + 8], edi
mov dword [eax + 0x24], 0x459370
mov eax, dword [ebp - 0x16c]
mov dword [edi], eax
mov dword [edi + 0x3c], esi
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x40], eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x16c]
mov dword [edi + 0x30], eax
mov eax, dword [edx + 0x58]
mov dword [edi + 0xc], eax
mov eax, dword [edx + 0x14]
mov dword [edi + 0x38], eax
mov eax, dword [edx + 0x60]
mov dword [edi + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [edi + 0x2c], eax
mov eax, dword [edx + 0x68]
mov dword [edi + 8], eax
mov eax, dword [edx + 0x6c]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [edi + 0x18], eax
lea eax, [esi*4 + 0xb]
add eax, esi
lea ecx, [edi + eax*8]
lea eax, [edi + 0x58]
cmp eax, ecx
je 0x466cee
mov edx, dword [ebp - 0x168]
xor esi, esi
mov dword [eax + 0x14], edx
mov word [eax + 0x10], si
add eax, 0x28
cmp eax, ecx
jne 0x466cd3
jmp 0x466ce8
mov edi, dword [ecx + 8]
mov edx, dword [ebp - 0x16c]
inc dword [edx + 0xd8]
lea esi, [edi + 0x58]
mov eax, dword [edx + 0xd0]
mov ecx, dword [ebp - 0x168]
mov dword [edi + 4], eax
mov dword [ebp - 0x178], esi
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], ecx
mov eax, dword [edx]
mov ecx, dword [eax + 0x68]
mov eax, dword [eax + 0x6c]
mov dword [edi + 0x54], eax
mov dword [edi + 0x50], ecx
mov eax, dword [edx + 0xe4]
mov dword [edi + 0x28], eax
mov dword [edx + 0xe4], 0
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0xd0], edi
mov dword [edx + 0x58], esi
mov ecx, dword [edi + 0x3c]
mov dword [edx + 0x14], ecx
movzx eax, word [edi + 0x40]
mov dword [edx + 0x18], eax
lea eax, [ecx + ecx*4]
lea ecx, [esi + eax*8]
mov dword [edx + 0x60], ecx
mov eax, dword [ebx + 0xc]
lea ecx, [ecx + eax*4]
mov dword [edi + 0x14], ecx
mov eax, dword [ebx + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
mov esi, dword [ebx]
add esp, 0xc
mov edi, dword [ebp - 0x16c]
mov dword [ebp - 0x18c], esi
lea ecx, [esi - 0x14]
mov dword [edi + 0x68], esi
mov eax, dword [ebx + 4]
mov dword [edi + 0x6c], eax
mov dword [ebp - 0x164], ecx
jmp 0x46420b
mov edx, dword [ebp - 0x164]
mov ecx, edi
call fcn.004611f0
mov esi, eax
mov eax, dword [edi + 0xd0]
push 0x4000
mov ecx, dword [eax + 0x30]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ecx + edx*4 + 4]
mov edx, dword [ebp - 0x164]
add ecx, dword [edx + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.00456f10
mov ecx, dword [ebp - 0x168]
add esp, 4
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov eax, dword [ecx + 0x20]
and eax, 0x80000
or eax, 0
mov eax, dword [ebp - 0x164]
mov esi, eax
je 0x466e57
mov eax, dword [eax + 8]
cdq
add dword [ecx + 0x208], eax
mov eax, dword [ebp - 0x170]
adc dword [ecx + 0x20c], edx
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
cdq
je 0x466e81
add dword [ecx + 0x200], eax
mov eax, dword [ebp - 0x170]
adc dword [ecx + 0x204], edx
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
add dword [edi + 0x40], eax
mov eax, dword [ebp - 0x170]
adc dword [edi + 0x44], edx
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
cmp dword [esi + 4], 0
je 0x466ed9
mov eax, dword [ecx + 0x200]
or eax, dword [ecx + 0x204]
jne 0x4617fb
mov eax, dword [ecx + 0x208]
or eax, dword [ecx + 0x20c]
je 0x46325d
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jmp 0x466ead
mov edx, dword [edi + 0xd0]
test edx, edx
je 0x466f15
mov eax, dword [edx + 4]
test eax, eax
je 0x466efb
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x466ef2
mov eax, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edi, [eax + ecx*8]
jmp 0x466f2a
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov ecx, edi
call fcn.00456660
mov dword [edi], eax
mov ecx, 0xf244
mov ax, word [edi + 0x10]
and ax, cx
mov dword [edi + 4], edx
or ax, 4
mov word [edi + 0x10], ax
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, esi
call fcn.00456660
mov cx, word [esi + 0x10]
mov ebx, 0xf244
and cx, bx
mov dword [esi], eax
or cx, 4
mov dword [esi + 4], edx
mov word [esi + 0x10], cx
cmp dword [edi + 4], edx
jg 0x4680f3
jl 0x465d5e
cmp dword [edi], eax
jae 0x4680f3
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x4638f5
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
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 0x461d18
jg 0x466fc5
test ecx, ecx
je 0x461d18
mov eax, dword [ebp - 0x164]
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 0x46324b
mov ecx, dword [ebp - 0x164]
mov edx, ecx
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov eax, dword [ecx + 0xc]
mov ecx, edi
lea ebx, [eax + eax*4]
call fcn.004611f0
mov edx, dword [ebp - 0x178]
mov edi, eax
mov ecx, dword [edx + esi*8 + 4]
mov eax, dword [edx + esi*8]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
test ecx, ecx
jl 0x467059
jg 0x467019
test eax, eax
je 0x467059
mov ecx, dword [edx + ebx*8 + 4]
mov eax, dword [edx + ebx*8]
test ecx, ecx
jl 0x46702a
jg 0x467038
test eax, eax
jne 0x467038
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.00435520
add esp, 8
test eax, eax
jne 0x467059
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x4638f5
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
jmp 0x4638f5
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
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 0x4617ef
test edx, edx
jl 0x463251
jg 0x4670a0
test ecx, ecx
je 0x463251
sub ecx, 1
mov dword [ebx + esi*8], ecx
sbb edx, 0
mov dword [ebx + esi*8 + 4], edx
jmp 0x463251
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
lea edx, [eax + eax*4]
mov ecx, dword [ebx + edx*8 + 4]
mov eax, dword [ebx + edx*8]
cmp ecx, 0x80000000
jl 0x4670e6
jg 0x4670d9
test eax, eax
je 0x4670e6
sub eax, 1
mov dword [ebx + edx*8], eax
sbb ecx, 0
mov dword [ebx + edx*8 + 4], ecx
mov esi, dword [ebp - 0x164]
or eax, ecx
mov ecx, dword [ebp - 0x168]
je 0x46325d
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
xor eax, eax
movzx ebx, word [ecx + 2]
lea edi, [ebx*4 + 0x23]
and edi, 0xfffffff8
mov ecx, edi
add ecx, 0x28
adc eax, eax
push eax
push ecx
mov ecx, dword [ebp - 0x168]
call fcn.0042f570
mov esi, eax
add esp, 8
test esi, esi
je 0x46395c
mov edx, dword [ebp - 0x168]
lea ecx, [edi + esi]
push 1
mov dword [esi], ecx
call fcn.00456c90
mov ecx, dword [ebp - 0x164]
add esp, 4
mov dword [esi + 8], 0
mov eax, dword [ecx + 0x10]
sub ecx, dword [ebp - 0x18c]
mov dword [esi + 4], eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x164]
sar edx, 3
mov eax, edx
mov byte [esi + 0x19], 0
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x16c]
mov dword [esi + 0xc], eax
mov al, byte [ebp - 0x184]
mov byte [esi + 0x18], al
mov byte [esi + 0x1a], bl
mov word [ecx], 0xf1a3
mov dword [ecx + 0x10], esi
jmp 0x4671bd
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 0xc]
mov ebx, dword [ebp - 0x178]
mov esi, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov dword [ebp - 0x14], edi
cmp dword [esi + 8], edi
je 0x467209
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edi
js 0x467209
mov edi, dword [ebp - 0x164]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
nop
mov eax, dword [edi + 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 0x4671f0
mov edi, dword [ebp - 0x14]
inc dword [edi + 0xc]
lea eax, [esi + 0x1c]
mov edi, dword [ebp - 0x164]
movzx edx, byte [esi + 0x1a]
mov ecx, dword [esi + 4]
push eax
cmp dword [edi + 4], 0
push edx
push esi
je 0x46722a
mov eax, dword [ecx + 0x1c]
jmp 0x46722d
mov eax, dword [ecx + 0x10]
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x4680f3
jle 0x467268
mov ecx, dword [esi]
mov dl, 1
call fcn.004575b0
mov edi, dword [ebp - 0x16c]
push eax
push 0x4ff190
push edi
call fcn.00457dd0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x174], eax
jmp 0x46726e
mov edi, dword [ebp - 0x16c]
cmp byte [esi + 0x19], 0
je 0x467297
mov eax, dword [ebp - 0x164]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x467293
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ebx + eax*8]
call fcn.00456d50
add esp, 8
mov byte [esi + 0x19], 0
mov ecx, dword [esi]
mov eax, 0x9000
test word [ecx + 0x10], ax
jne 0x4672aa
cmp dword [ecx + 0x18], 0
je 0x4672af
call fcn.004565c0
mov eax, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 0x174]
mov word [eax + 0x10], cx
mov dword [esi + 0x14], 0
jmp 0x4629bb
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, dword [ecx + 0xc]
mov ecx, esi
test eax, eax
je 0x46730f
lea eax, [eax + eax*4]
push edx
lea edx, [ebx + eax*8]
call fcn.00456500
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
jmp 0x467316
call fcn.00456450
mov edi, eax
mov dword [ebp - 0x174], edi
test edi, edi
jne 0x468753
movzx edx, byte [ebp - 0x184]
mov ecx, esi
call fcn.00455f10
jmp 0x4638f5
mov edx, dword [ebp - 0x164]
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.004e6270
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x174], edx
test edx, edx
je 0x46738e
cmp edx, 5
jne 0x468504
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x164]
xor edi, edi
mov ecx, dword [ebp - 0x178]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, 0x9000
nop word [eax + eax]
mov eax, dword [ebp + edi*4 - 0x10]
cdq
test word [esi + 0x10], cx
je 0x4673ce
push edx
push eax
mov ecx, esi
call fcn.00456d20
add esp, 8
mov ecx, 0x9000
jmp 0x4673dc
mov dword [esi], eax
mov eax, 4
mov dword [esi + 4], edx
mov word [esi + 0x10], ax
inc edi
add esi, 0x28
cmp edi, 3
jl 0x4673b0
jmp 0x4638f5
mov ebx, dword [ebp - 0x164]
mov ecx, edi
mov edx, ebx
call fcn.004611f0
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x14], eax
call fcn.00453950
mov ebx, eax
mov ecx, ebx
call fcn.00442de0
mov edi, eax
cmp esi, 0xffffffff
mov ecx, ebx
cmove esi, edi
call fcn.00442df0
test eax, eax
mov edx, 1
mov ecx, ebx
cmove esi, edi
call fcn.00442a10
cmp esi, 5
jne 0x4674bb
mov ecx, eax
call fcn.00432b50
test eax, eax
je 0x46745f
mov ecx, ebx
call fcn.00442e20
test eax, eax
jne 0x4674bb
mov esi, edi
mov eax, dword [ebp - 0x174]
test eax, eax
je 0x46746d
mov esi, edi
mov edx, esi
mov ecx, ebx
call fcn.00442c70
mov ebx, dword [ebp - 0x1c]
mov ecx, 0x2202
mov word [ebx + 0x10], cx
mov ecx, eax
call fcn.004a14e0
mov ecx, eax
mov dword [ebx + 8], eax
call fcn.00432b50
movzx edx, byte [ebp - 0x184]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov byte [ebx + 0x12], 1
call fcn.00455f10
mov edx, dword [ebp - 0x174]
test edx, edx
jne 0x468504
jmp 0x4638f5
cmp esi, edi
je 0x467461
cmp edi, 5
je 0x4674c9
cmp esi, 5
jne 0x467461
mov eax, dword [ebp - 0x168]
cmp byte [eax + 0x55], 0
je 0x46877c
cmp dword [eax + 0xc0], 1
jg 0x46877c
cmp edi, 5
jne 0x46750d
mov edx, eax
mov ecx, ebx
call fcn.00442f90
mov dword [ebp - 0x174], eax
test eax, eax
jne 0x46746b
mov edx, esi
mov ecx, ebx
call fcn.00442c70
jmp 0x467529
cmp edi, 4
jne 0x46751c
lea edx, [edi - 2]
mov ecx, ebx
call fcn.00442c70
cmp dword [ebp - 0x174], 0
jne 0x46746b
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.00454c50
mov dword [ebp - 0x174], eax
jmp 0x467467
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 8]
test eax, eax
je 0x467560
mov edx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
jmp 0x467562
xor eax, eax
mov edx, dword [ebp - 0x168]
push eax
push dword [ecx + 4]
lea ecx, [edi + 0x7c]
call fcn.004c2680
add esp, 8
jmp 0x4629b3
mov ecx, dword [ebp - 0x164]
mov eax, dword [ebp - 0x168]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0044b6e0
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
je 0x4680f3
cmp edx, 0x65
jne 0x468504
mov dword [ebp - 0x174], 0
jmp 0x463251
mov edx, dword [ebp - 0x164]
cmp dword [edx + 4], 0
jne 0x4675f5
mov edx, dword [edx + 8]
call fcn.0045cfd0
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x98]
mov esi, dword [ebp - 0x164]
mov ecx, dword [ecx + 8]
inc ecx
xor ecx, eax
and ecx, 3
xor ecx, eax
mov eax, dword [ebp - 0x170]
mov dword [edi + 0x98], ecx
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x2c]
call fcn.0044c4d0
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x2c]
call fcn.0044c4e0
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov al, byte [esi + 0xc]
mov byte [ebp - 0x1c0], al
test al, al
jne 0x4676ba
test dword [ecx + 0x24], 4
jne 0x4617fb
mov eax, dword [ebp - 0x164]
mov ecx, dword [ecx + 0x10]
mov edx, dword [ebp - 0x164]
push dword [ebp - 0x1c0]
mov eax, dword [eax + 4]
add eax, eax
mov edx, dword [edx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00454ab0
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
test edx, edx
je 0x4617ef
cmp dl, 6
jne 0x468504
mov eax, dword [ebp - 0x164]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push edi
call fcn.00457dd0
mov edx, dword [ebp - 0x174]
add esp, 0xc
jmp 0x468504
mov edx, dword [ebp - 0x164]
mov esi, dword [edx + 0x10]
mov edx, esi
call fcn.004c4770
mov edx, eax
mov dword [ebp - 0x174], edx
test esi, esi
je 0x4629bb
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.0045d1d0
mov edx, dword [ebp - 0x174]
jmp 0x4629bb
xorps xmm0, xmm0
movups xmmword [ebp - 0xb0], xmm0
mov dword [ebp - 0xac], ecx
mov ecx, dword [ebp - 0x164]
movups xmmword [ebp - 0xc0], xmm0
movq qword [ebp - 0xa0], xmm0
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0xc0]
call fcn.00456f60
mov dword [ebp - 0x174], eax
lea eax, [ebp - 0xc0]
push eax
call fcn.0045d960
add esp, 4
test eax, eax
je 0x4677cd
lea ecx, [edi + 0x7c]
push ecx
mov ecx, dword [ebp - 0x168]
push eax
mov eax, dword [ebp - 0x164]
mov edx, dword [eax + 4]
call fcn.004c4120
add esp, 8
mov dword [ebp - 0x174], eax
lea ecx, [ebp - 0xc0]
call fcn.00456600
mov edx, dword [ebp - 0x174]
jmp 0x4629bb
mov eax, dword [ebp - 0x164]
inc dword [ecx + 0xcc]
push dword [eax + 0x10]
mov edx, dword [eax + 4]
call fcn.004c4580
mov ecx, dword [ebp - 0x168]
mov edx, eax
add esp, 4
mov dword [ebp - 0x174], edx
dec dword [ecx + 0xcc]
test edx, edx
je 0x4617f5
mov esi, dword [ebp - 0x16c]
mov edi, ecx
jmp 0x468510
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x90], 0
mov eax, dword [ecx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x4687ca
mov edi, dword [esi]
test edi, edi
je 0x4687ca
lea eax, [ebp - 0x90]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ebx, dword [ebp - 0x16c]
add esp, 8
mov edx, esi
mov dword [ebp - 0x174], eax
mov ecx, ebx
call fcn.0045d1d0
mov edx, dword [ebp - 0x174]
test edx, edx
jne 0x4689f4
mov eax, dword [ebp - 0x90]
mov ecx, ebx
push 2
push edx
mov dword [eax], esi
mov eax, dword [ebp - 0x164]
mov edx, dword [eax + 4]
call fcn.00460e20
add esp, 8
test eax, eax
je 0x4687b5
mov ecx, dword [ebp - 0x90]
mov edi, ebx
mov dword [eax + 0x2c], ecx
inc dword [esi + 4]
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ebx, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 0x8c], 0
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, eax
mov dword [ebp - 0x14], eax
call fcn.00456cb0
mov ebx, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x34]
test ecx, ecx
je 0x4680f3
mov esi, dword [ecx + 8]
mov edi, dword [esi]
call fcn.004c3290
lea eax, [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0x164]
push dword [eax + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x168]
add ecx, ecx
push dword [ebx]
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8]
mov eax, dword [edi + 0x60]
push esi
call eax
mov ecx, dword [ebx + 0x34]
add esp, 0x14
mov esi, eax
mov dword [ebp - 0x174], esi
call fcn.004c32a0
test esi, esi
jne 0x4687d4
mov edx, dword [ebp - 0x8c]
test edx, edx
je 0x4680f3
mov ecx, dword [ebp - 0x14]
push fcn.0042f020
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00456fd0
add esp, 0x10
jmp 0x4638f5
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
push 0
push 8
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
call fcn.0042efd0
mov esi, eax
add esp, 8
test esi, esi
je 0x46395c
mov eax, dword [ebp - 0x164]
mov ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0x178]
mov edi, dword [ebp - 0x16c]
mov dword [esi], ecx
mov ecx, dword [eax + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov edx, eax
mov dword [esi + 4], ecx
mov ecx, edi
call fcn.004611f0
mov ecx, 1
mov edx, esi
push fcn.0042f020
push str.ValueList
mov word [eax + 0x10], cx
mov ecx, eax
call fcn.00456d90
mov ecx, dword [ebp - 0x168]
add esp, 8
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
add ebx, 0x28
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x60]
mov esi, dword [ebx + edx*8]
lea ebx, [ebx + edx*8]
mov edi, dword [edi + 0x5c]
movd xmm0, ebx
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x14], ebx
pshufd xmm3, xmm0, 0
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x8c], ecx
mov eax, dword [ecx]
mov dword [ebp - 0x90], eax
mov ecx, dword [eax]
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x1a4], ecx
mov ecx, dword [eax + edx*8]
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
test esi, esi
jle 0x467b5e
cmp esi, 0x10
jb 0x467b4a
cmp dword [0x515c2c], 2
jl 0x467b4a
movaps xmm2, xmmword [0x50baa0]
mov eax, esi
and eax, 0x8000000f
jns 0x467aa6
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [str.____]
lea edx, [edi + 0x20]
mov ebx, esi
sub ebx, eax
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [ecx + 8]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, eax
lea eax, [ecx + 0xc]
pshufd xmm0, xmm0, 0
add ecx, 0x10
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 0x467ab4
cmp ecx, esi
jge 0x467b5e
mov ebx, dword [ebp - 0x14]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edi + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x467b53
mov eax, dword [ebp - 0x164]
push edi
mov edi, dword [ebp - 0x1a4]
push esi
push dword [eax + 0x10]
mov esi, dword [ebp - 0x8c]
push dword [ebp - 0x1c]
mov eax, dword [edi + 0x20]
push esi
call eax
mov edx, dword [ebp - 0x90]
add esp, 0x14
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x174], eax
call fcn.0045d1d0
mov edx, dword [ebp - 0x174]
test edx, edx
jne 0x468504
mov eax, dword [edi + 0x28]
push esi
call eax
mov ecx, dword [ebp - 0x190]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
je 0x461d18
jmp 0x46324b
mov edx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x178]
cmp byte [edi + 2], 0
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
je 0x467bf6
mov ecx, esi
call fcn.00456cb0
jmp 0x4638f5
test byte [edx + 2], 1
xorps xmm0, xmm0
mov eax, dword [edi + 0x2c]
mov ebx, dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x14], eax
mov al, byte [ebp - 0x184]
movups xmmword [ebp - 0xd4], xmm0
mov byte [ebp - 0xcc], al
lea eax, [ebp - 0x160]
movups xmmword [ebp - 0xe4], xmm0
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x15c], 0x1000000
mov dword [ebp - 0xe0], eax
je 0x467c63
mov ecx, esi
call fcn.00456cb0
mov edx, dword [ebp - 0x164]
mov eax, 0x401
mov dword [esi], 0
jmp 0x467c76
mov ax, word [esi + 0x10]
mov ecx, 0xf241
and ax, cx
or ax, 1
movzx eax, ax
mov word [esi + 0x10], ax
lea eax, [ebp - 0xe4]
push dword [edx + 8]
push eax
mov eax, dword [ebp - 0x14]
push dword [edi + 0x2c]
mov eax, dword [eax + 0x2c]
call eax
mov edi, dword [ebp - 0x16c]
add esp, 0xc
mov edx, ebx
mov dword [ebp - 0x174], eax
mov ecx, edi
call fcn.0045d1d0
cmp dword [ebp - 0xd0], 0
jle 0x467cd4
push esi
call fcn.0045d960
add esp, 4
push eax
push 0x4ff190
push edi
call fcn.00457dd0
mov eax, dword [ebp - 0xd0]
add esp, 0xc
mov dword [ebp - 0x174], eax
movzx edx, byte [ebp - 0x184]
mov ecx, esi
call fcn.00455f10
mov edx, dword [ebp - 0x174]
jmp 0x4629bb
mov ecx, dword [ebp - 0x164]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x461d18
mov eax, dword [edi + 0x2c]
push eax
mov esi, dword [eax]
mov ebx, dword [esi]
mov eax, dword [ebx + 0x24]
call eax
add esp, 4
mov dword [ebp - 0x174], eax
mov edx, esi
mov esi, dword [ebp - 0x16c]
mov ecx, esi
call fcn.0045d1d0
mov edx, dword [ebp - 0x174]
test edx, edx
jne 0x46850a
push dword [edi + 0x2c]
mov eax, dword [ebx + 0x28]
call eax
add esp, 4
mov edi, esi
test eax, eax
jne 0x46420b
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x18c]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [edx + eax*4]
mov dword [ebp - 0x164], eax
jmp 0x464211
mov edi, dword [ecx + 0x20]
mov edx, 1
or dword [ecx + 0x20], 0x4000000
and edi, 0x4000000
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 0x10]
mov esi, dword [eax + 8]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.00455f10
mov edx, eax
mov dword [ebp - 0x174], edx
test edx, edx
jne 0x468504
mov eax, dword [esi]
push dword [ebx + 8]
push esi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [ebp - 0x174], eax
test edi, edi
jne 0x467def
mov ecx, dword [ebp - 0x168]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
mov edi, dword [ebp - 0x16c]
mov edx, esi
mov ecx, edi
call fcn.0045d1d0
and dword [edi + 0x98], 0xfffffffc
mov edx, dword [ebp - 0x174]
jmp 0x4629bb
cmp byte [ecx + 0x57], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
jne 0x463968
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x4687ca
mov edx, dword [ebx]
test edx, edx
je 0x4687ca
cmp dword [edx + 0x34], 0
mov esi, dword [ebp - 0x164]
mov esi, dword [esi + 8]
je 0x4617f5
mov al, byte [ecx + 0x5c]
mov ecx, dword [ebp - 0x178]
mov edi, dword [edi + 0x5c]
mov byte [ebp - 0x191], al
mov eax, dword [ebp - 0x164]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x467e8b
nop word [eax + eax]
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x467e80
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x168]
mov al, byte [eax + 2]
mov byte [ecx + 0x5c], al
lea eax, [ebp - 0x18]
push eax
mov eax, dword [edx + 0x34]
push edi
push esi
push ebx
call eax
mov ecx, dword [ebp - 0x168]
add esp, 0x10
mov edi, dword [ebp - 0x16c]
mov edx, ebx
mov dword [ebp - 0x174], eax
mov al, byte [ebp - 0x191]
mov byte [ecx + 0x5c], al
mov ecx, edi
call fcn.0045d1d0
mov edx, dword [ebp - 0x174]
test edx, edx
jne 0x467f0c
mov ecx, dword [ebp - 0x164]
cmp dword [ecx + 4], edx
je 0x467eff
mov edi, dword [ebp - 0x168]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [edi + 0x28], eax
mov eax, edi
mov edi, dword [ebp - 0x16c]
mov dword [eax + 0x2c], ecx
add dword [edi + 0x28], 1
adc dword [edi + 0x2c], 0
jmp 0x4629bb
cmp dl, 0x13
jne 0x467eff
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 0x10]
cmp byte [eax + 0x10], 0
je 0x467eff
movzx ecx, word [ecx + 2]
cmp ecx, 4
jne 0x468809
mov ecx, dword [ebp - 0x168]
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x174], 0
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov edx, dword [ebp - 0x164]
mov ecx, edi
call fcn.004611f0
mov esi, eax
mov eax, dword [ebp - 0x164]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x168]
add edx, edx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
call fcn.00449500
mov ecx, dword [ebp - 0x168]
mov dword [esi], eax
mov eax, dword [ebp - 0x170]
mov dword [esi + 4], 0
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ebx, dword [ebp - 0x164]
mov ecx, edi
mov edx, ebx
call fcn.004611f0
mov edx, dword [ebx + 4]
mov edi, eax
mov eax, dword [ebp - 0x168]
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 0x467fea
mov ecx, esi
call fcn.00449500
mov edx, eax
mov eax, ebx
cmp edx, dword [eax + 0xc]
cmovb edx, dword [eax + 0xc]
mov ecx, esi
call fcn.0044a6c0
mov dword [edi], eax
mov dword [edi + 4], 0
jmp 0x4638f5
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [ecx + 0xc]
mov esi, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov dword [ebp - 0x14], edi
cmp dword [esi], edi
je 0x468060
mov eax, dword [ebp - 0x16c]
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 0xc], eax
mov al, byte [ebp - 0x184]
mov dword [esi], edi
mov byte [esi + 0x18], al
js 0x468060
mov edi, dword [ebp - 0x164]
lea edx, [esi + 0x1c]
lea edx, [edx + ecx*4]
mov eax, dword [edi + 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 0x468047
mov edi, dword [ebp - 0x14]
mov ax, word [edi + 0x10]
mov ecx, 0xf241
and ax, cx
or ax, 1
mov word [edi + 0x10], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov eax, dword [ecx + 0x10]
push esi
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x4680f3
jle 0x4680bb
mov dl, 1
mov ecx, edi
call fcn.004575b0
mov edi, dword [ebp - 0x16c]
push eax
push 0x4ff190
push edi
call fcn.00457dd0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x174], eax
jmp 0x4680c1
mov edi, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x164]
lea edx, [edi + 0xe4]
mov ecx, dword [ebp - 0x168]
push dword [eax + 4]
push dword [esi + 0x10]
call fcn.0045add0
mov edx, dword [ebp - 0x174]
add esp, 8
mov dword [esi + 0x14], 0
jmp 0x4629bb
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x170]
mov esi, dword [ebp - 0x164]
mov edi, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov eax, dword [esi + 4]
mov ebx, 0xf7ff
mov edx, dword [ebp - 0x178]
lea eax, [eax + eax*4]
and word [edx + eax*8 + 0x10], bx
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, 0x800
test word [ebx + edx*8 + 0x10], ax
je 0x4630bf
movzx eax, byte [ebx + edx*8 + 0x13]
cdq
push edx
push eax
call fcn.00456d50
mov ecx, dword [ebp - 0x168]
add esp, 8
mov esi, dword [ebp - 0x164]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x178]
mov esi, dword [ebp - 0x164]
mov eax, dword [ecx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 8]
test byte [ebx + edx*8 + 0x10], 1
lea ecx, [eax + eax*4]
je 0x4681e7
mov eax, 0xf7ff
and word [ebx + ecx*8 + 0x10], ax
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov eax, 0x800
or word [ebx + ecx*8 + 0x10], ax
mov al, byte [ebx + edx*8]
mov byte [ebx + ecx*8 + 0x13], al
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov ecx, dword [ebp - 0x164]
mov edx, ecx
mov ebx, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
mov ecx, ebx
lea edi, [eax + eax*4]
call fcn.00461220
mov esi, eax
mov ecx, edx
mov eax, dword [ebx + edi*8 + 0xc]
shl eax, 3
cdq
push edx
push eax
push ecx
push esi
call fcn.004f7120
mov esi, eax
and eax, 7
shrd esi, edx, 3
mov edx, dword [ebx + edi*8 + 8]
movsx ecx, byte [esi + edx]
bts ecx, eax
mov byte [esi + edx], cl
jmp 0x4638f5
mov ecx, dword [ebp - 0x164]
mov edx, ecx
mov edi, dword [ebp - 0x178]
mov eax, dword [ecx + 4]
mov ecx, edi
lea ebx, [eax + eax*4]
call fcn.00461220
mov esi, eax
mov ecx, edx
mov eax, dword [edi + ebx*8 + 0xc]
shl eax, 3
cdq
push edx
push eax
push ecx
push esi
call fcn.004f7120
mov edi, eax
mov eax, dword [ebp - 0x178]
mov esi, edi
and edi, 7
shrd esi, edx, 3
mov ecx, dword [eax + ebx*8 + 8]
mov eax, 1
movsx edx, byte [esi + ecx]
mov ecx, edi
mov edi, dword [ebp - 0x16c]
mov esi, dword [ebp - 0x164]
shl eax, cl
mov ecx, dword [ebp - 0x168]
test eax, edx
jne 0x4682d1
inc dword [edi + 0xc4]
jmp 0x46325d
inc dword [edi + 0xc0]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x1b8]
add esi, 0x14
jmp 0x461711
mov cl, byte [ecx + 0x5e]
test cl, 0x41
je 0x4683a1
cmp byte [edi + 0x95], 0xfe
je 0x4683a1
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0x10]
test eax, eax
jne 0x46831f
mov eax, dword [edi + 0xc8]
test eax, eax
je 0x4683a1
test cl, 0x40
je 0x46834f
mov edx, eax
mov ecx, edi
call fcn.00460940
mov esi, eax
mov eax, dword [ebp - 0x168]
push esi
push dword [eax + 0xdc]
mov ecx, dword [eax + 0xd8]
call ecx
push esi
call fcn.0042f020
add esp, 0xc
jmp 0x4683a1
mov ebx, dword [ebp - 0x168]
push eax
cmp dword [ebx + 0xc8], 1
jle 0x46838d
push str.____s
push ebx
call fcn.00431aa0
mov ecx, dword [ebx + 0xd8]
add esp, 0xc
mov esi, eax
push esi
push edi
push dword [ebx + 0xdc]
push 1
call ecx
push esi
push ebx
call fcn.0042f240
add esp, 0x18
jmp 0x4683a1
mov eax, dword [ebx + 0xd8]
push edi
push dword [ebx + 0xdc]
push 1
call eax
add esp, 0x10
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + 4]
cmp eax, dword [0x51329c]
jl 0x4683f2
cmp byte [ecx], 0xb8
je 0x4617ef
mov edx, 1
cmp dword [edi + 0x6c], edx
jle 0x4683f0
mov eax, 0x14
nop word [eax + eax]
mov ecx, dword [edi + 0x68]
cmp byte [ecx + eax], 0xf
jne 0x4683e1
mov dword [ecx + eax + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [edi + 0x6c]
jl 0x4683d0
mov ecx, dword [ebp - 0x164]
xor eax, eax
inc eax
mov dword [ecx + 4], eax
inc dword [edi + 0xbc]
jmp 0x463251
mov esi, dword [ebp - 0x164]
mov ecx, dword [esi + 4]
mov dword [edi + 0x24], ecx
mov al, byte [esi + 8]
mov byte [edi + 0x94], al
test ecx, ecx
je 0x4684d2
mov ecx, esi
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x46843d
cmp byte [ecx + 1], 0
jne 0x46843d
lea eax, [eax + eax*4]
mov dl, 1
lea ecx, [ebx + eax*8]
call fcn.004575b0
push eax
jmp 0x468487
movzx eax, word [ecx + 2]
test ax, ax
je 0x468484
push dword [eax*4 + 0x504f64]
push str._s_constraint_failed
push edi
call fcn.00457dd0
mov eax, dword [ebp - 0x164]
add esp, 0xc
mov eax, dword [eax + 0x10]
test eax, eax
je 0x468495
push eax
push dword [edi + 0x7c]
push str._z:__s
push dword [ebp - 0x168]
call fcn.00431aa0
add esp, 0x10
mov dword [edi + 0x7c], eax
jmp 0x468495
push dword [ecx + 0x10]
push 0x4ff190
push edi
call fcn.00457dd0
add esp, 0xc
mov ecx, dword [ebp - 0x164]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x18c]
push dword [edi + 0x7c]
imul ecx
push dword [edi + 0xc8]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, dword [ebp - 0x164]
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.00431e30
add esp, 0x14
mov ecx, edi
call fcn.0045a870
mov esi, dword [ebp - 0x16c]
mov edi, eax
cmp edi, 5
jne 0x468965
mov dword [esi + 0x24], eax
jmp 0x468b18
mov ecx, 0x17880
call fcn.004e7fa0
mov edx, eax
mov dword [ebp - 0x174], edx
mov esi, dword [ebp - 0x16c]
mov edi, dword [ebp - 0x168]
cmp byte [edi + 0x57], 0
je 0x468a0c
mov edx, 7
jmp 0x468a37
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x14]
add ecx, ecx
push dword [edx + ecx*8]
mov ecx, dword [ebp - 0x1c]
push dword [ecx]
mov ecx, esi
push dword [eax*4 + 0x51422c]
call fcn.004615f0
mov esi, dword [ebp - 0x16c]
push eax
push str.cannot_store__s_value_in__s_column__s._s
push esi
call fcn.00457dd0
mov edx, 0xc13
add esp, 0x18
mov dword [ebp - 0x174], edx
jmp 0x46850a
mov esi, dword [ebp - 0x16c]
push str.cannot_open_savepoint___SQL_statements_in_progress
push esi
call fcn.00457dd0
mov edx, 5
add esp, 8
mov dword [ebp - 0x174], edx
jmp 0x46850a
mov esi, dword [ebp - 0x16c]
push str.cannot_release_savepoint___SQL_statements_in_progress
push esi
call fcn.00457dd0
mov edx, 5
add esp, 8
mov dword [ebp - 0x174], edx
jmp 0x46850a
mov edi, dword [ebp - 0x168]
mov esi, eax
mov byte [edi + 0x55], 0
jmp 0x468510
mov ecx, dword [ebp - 0x164]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x18c]
mov edi, 5
mov esi, dword [ebp - 0x16c]
imul ecx
mov ecx, dword [ebp - 0x168]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x20], eax
mov byte [ecx + 0x55], 0
mov dword [esi + 0x24], edi
jmp 0x468b1e
mov edi, dword [ebp - 0x168]
and edx, 0x100000
or edx, 0
mov esi, dword [ebp - 0x16c]
je 0x468621
mov edx, 8
mov dword [ebp - 0x174], edx
jmp 0x468510
mov edx, 0xb
mov dword [ebp - 0x174], edx
jmp 0x468510
mov esi, dword [ebp - 0x16c]
cmp dl, 5
jne 0x46850a
mov ecx, dword [ebp - 0x164]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x18c]
mov edi, dword [ebp - 0x174]
imul ecx
mov dword [esi + 0x24], edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x20], eax
jmp 0x468b18
mov edx, 0x204
mov dword [ebp - 0x174], edx
jmp 0x46850a
mov ecx, dword [esi + 0x10]
call fcn.0044a230
mov edx, dword [ebp - 0x174]
jmp 0x468504
mov edi, dword [ebp - 0x16c]
push str.string_or_blob_too_big
push edi
call fcn.00457dd0
add esp, 8
mov edx, 0x12
jmp 0x4684fe
push str.index_corruption
mov edx, 0x18593
mov ecx, 0x30b
call fcn.004e7f70
add esp, 4
jmp 0x4684fc
push 0x504dd4
push 0x18660
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00431e30
add esp, 0x14
mov edx, 0xb
jmp 0x4684fe
mov edx, 6
mov byte [edi + 0x94], 2
jmp 0x4684fe
mov ecx, ebx
call fcn.004859e0
mov ecx, ebx
jmp 0x463968
push dword [ebp - 0xc4]
call fcn.0042f020
mov edx, dword [ebp - 0x174]
add esp, 4
jmp 0x468504
mov esi, dword [ebp - 0x16c]
push str.too_many_levels_of_trigger_recursion
push esi
mov dword [ebp - 0x174], 1
call fcn.00457dd0
add esp, 8
mov edx, 1
jmp 0x468510
push esi
call fcn.0045d960
mov esi, dword [ebp - 0x16c]
add esp, 4
push eax
push 0x4ff190
push esi
call fcn.00457dd0
mov edx, dword [ebp - 0x174]
add esp, 0xc
jmp 0x46850a
cmp esi, 5
mov dword [ebp - 0x174], 1
mov esi, dword [ebp - 0x16c]
mov ecx, str.out_of
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push esi
call fcn.00457dd0
add esp, 0xc
mov edx, 1
jmp 0x46850a
push dword [ebp - 0x90]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
mov edi, ebx
jmp 0x463962
mov edx, 6
jmp 0x4684fe
push dword [ebp - 0x8c]
call fcn.0042f020
mov edx, dword [ebp - 0x174]
add esp, 4
jmp 0x468504
or ebx, 0xffffffff
mov edx, 9
or eax, 0xffffffff
mov dword [ebp - 0x1b0], ebx
mov dword [ebp - 0x1b4], eax
jmp 0x4684fe
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov byte [edi + 0x94], al
jmp 0x468504
mov eax, dword [edi + 0x1c]
mov ebx, dword [ebp - 0x164]
add eax, 2
mov edx, dword [ebp - 0x178]
or eax, 1
mov dword [edi + 0x1c], eax
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [edi + 0x78], eax
cmp byte [ecx + 0x57], 0
jne 0x463968
test byte [ecx + 0x5e], 4
je 0x46886c
mov eax, dword [ecx + 0xd8]
push 0
push edi
push dword [ecx + 0xdc]
push 4
call eax
add esp, 0x10
mov ecx, ebx
mov eax, 0x66666667
sub ecx, dword [ebp - 0x18c]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [edi + 0x20], eax
mov edi, 0x64
jmp 0x468b12
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x164]
lea esi, [edx + 0x55]
movzx eax, byte [esi]
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
cmp ebx, eax
je 0x468983
test ecx, ecx
je 0x4688cd
mov edi, dword [ebp - 0x168]
mov edx, 0x204
mov ecx, edi
call fcn.004e5390
mov al, 1
jmp 0x468910
test ebx, ebx
je 0x4688f2
cmp dword [edx + 0xc4], 0
jle 0x4688f2
push str.cannot_commit_transaction___SQL_statements_in_progress
push edi
call fcn.00457dd0
add esp, 8
mov edx, 5
jmp 0x4684fe
mov edx, 1
mov ecx, edi
call fcn.0045a800
mov edi, eax
test edi, edi
jne 0x468b12
mov edi, dword [ebp - 0x168]
mov al, bl
mov byte [esi], al
mov esi, dword [ebp - 0x16c]
mov ecx, esi
call fcn.0045a870
cmp eax, 5
jne 0x46895e
mov ecx, dword [ebp - 0x164]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x18c]
mov edi, 5
imul ecx
mov ecx, dword [ebp - 0x168]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x20], eax
mov al, 1
sub al, bl
mov byte [ecx + 0x55], al
mov dword [esi + 0x24], edi
jmp 0x468b1e
mov ecx, edi
call fcn.004e4c70
cmp dword [esi + 0x24], 0
mov ecx, 0x65
mov eax, 1
cmovne ecx, eax
mov dword [ebp - 0x174], ecx
mov edi, ecx
jmp 0x468b18
test ebx, ebx
jne 0x46899e
mov eax, str.cannot_start_a_transaction_within_a_transaction
push eax
push edi
call fcn.00457dd0
add esp, 8
lea edx, [ebx + 1]
jmp 0x4684fe
test ecx, ecx
mov edx, str.cannot_commit___no_transaction_is_active
mov eax, str.cannot_rollback___no_transaction_is_active
cmove eax, edx
push eax
push edi
call fcn.00457dd0
add esp, 8
mov edx, 1
jmp 0x4684fe
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x170], eax
mov edx, 9
jmp 0x4684fe
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x170], eax
jmp 0x463968
mov esi, ebx
jmp 0x46850a
mov edi, dword [ebp - 0x168]
mov esi, dword [ebp - 0x16c]
jmp 0x468510
cmp edx, 0x210a
jne 0x468a3d
push 0x504dd4
push 0x18f8f
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00431e30
add esp, 0x14
mov edx, 0xb
mov dword [ebp - 0x174], edx
cmp dword [esi + 0x7c], 0
jne 0x468a61
cmp edx, 0xc0a
je 0x468a61
mov ecx, edx
call fcn.004e54e0
push eax
push 0x4ff190
push esi
call fcn.00457dd0
add esp, 0xc
mov ebx, dword [ebp - 0x174]
mov edx, ebx
mov ecx, dword [ebp - 0x168]
mov dword [esi + 0x24], ebx
call fcn.00432bd0
mov ecx, dword [ebp - 0x164]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x18c]
push dword [esi + 0x7c]
imul ecx
push dword [esi + 0xc8]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push ebx
call fcn.00431e30
add esp, 0x14
cmp byte [esi + 0x97], 2
jne 0x468abc
mov ecx, esi
call fcn.0045a870
cmp ebx, 0xc0a
jne 0x468aef
mov ecx, dword [ebp - 0x168]
call fcn.0042f840
mov ecx, dword [ebp - 0x168]
mov al, byte [ebp - 0x1a9]
mov edi, 1
test al, al
je 0x468b1e
movzx edx, al
dec edx
call fcn.00485970
jmp 0x468b18
cmp ebx, 0xb
jne 0x468acf
mov ecx, dword [ebp - 0x168]
cmp byte [ecx + 0x55], 0
jne 0x468ad5
mov eax, dword [ecx + 0x20]
or dword [ecx + 0x24], 2
mov dword [ecx + 0x20], eax
jmp 0x468ad5
mov edi, dword [ebp - 0x174]
mov esi, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x168]
mov ebx, dword [ebp - 0x1b4]
cmp dword [ebp - 0x1b8], ebx
jb 0x468b8e
mov edx, dword [ebp - 0x1b0]
ja 0x468b3c
cmp dword [ebp - 0x170], edx
jb 0x468b8e
mov eax, dword [ecx + 0x174]
test eax, eax
je 0x468b8e
add edx, dword [ecx + 0x17c]
push dword [ecx + 0x178]
mov dword [ebp - 0x1b0], edx
adc ebx, 0
call eax
mov ecx, dword [ebp - 0x168]
add esp, 4
test eax, eax
je 0x468b24
or ebx, 0xffffffff
mov edx, 9
or eax, 0xffffffff
mov dword [ebp - 0x1b0], ebx
mov dword [ebp - 0x1b4], eax
mov edi, ecx
mov dword [ebp - 0x174], edx
jmp 0x468510
mov ecx, dword [ebp - 0x170]
add dword [esi + 0xb4], ecx
cmp dword [esi + 0xa0], 0
je 0x468baa
mov ecx, esi
call fcn.00459280
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004f5edb
mov esp, ebp
pop ebp
ret