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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x264
mov eax, dword [0x535008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov dword [ebp - 0x20], 0
xor cl, cl
mov dword [ebp - 0x24], ebx
push esi
mov byte [ebp - 0x85], cl
mov ecx, ebx
mov eax, dword [ebx + 0x68]
mov esi, dword [ebx + 0x58]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
push edi
mov dword [ebp - 0x90], 0
mov al, byte [eax + 0x4e]
mov byte [ebp - 0x58], al
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x28], esi
call fcn.00461b60
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 0x158], 0
je 0x46953c
mov edi, dword [ecx + 0x160]
xor edx, edx
mov eax, dword [ebx + 0xb4]
div edi
sub edi, edx
jmp 0x46953f
or edi, 0xffffffff
mov edx, ebx
mov dword [ebp - 0x2c], edi
cmp dword [edx + 0x28], 7
je 0x46cc6c
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov dword [edx + 0x78], 0
cmp dword [ecx + 0x110], 0
mov dword [ecx + 0x1ac], 0
jne 0x46f299
mov eax, dword [edx + 0x24]
xorps xmm0, xmm0
mov edx, dword [ebp - 0x30]
movsd qword [ebp - 0x190], xmm0
lea eax, [eax + eax*4]
lea edi, [edx + eax*4]
xor eax, eax
mov dl, byte [edi]
inc eax
movzx ebx, dl
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x4d], dl
cmp ebx, 0xaa
ja case.0x4695ae.85
jmp dword [ebx*4 + 0x46f34c]
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
mov eax, dword [ecx + 4]
sub ecx, dword [ebp - 0x30]
lea esi, [eax + eax*4]
mov eax, 4
mov word [ebx + esi*8 + 8], ax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
jmp 0x46eda9
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + ecx*8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*4]
mov eax, 0x80
mov word [esi + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [esi + ecx*8], eax
mov eax, 4
mov dword [esi + ecx*8 + 4], edx
mov word [esi + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x14]
mov edi, ecx
cmp dword [ecx + 8], 0
jne 0x46edac
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x30]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [ebx + eax*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ebx + eax*4]
mov eax, 0x80
mov word [esi + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x30]
mov eax, dword [edx + 4]
sub edx, edi
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8]
mov word [ebx + esi*8 + 8], ax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
mov dword [ebx + esi*8 + 4], edx
lea ecx, [edi + eax*4]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
je 0x46edc1
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x24]
imul ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 4]
test ecx, ecx
jne 0x46edcf
mov edx, dword [ebx + 0xc8]
test edx, edx
je 0x46edcc
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x18]
dec dword [ebx + 0xd0]
mov dword [ebx + 0xc8], eax
mov eax, dword [ebx + 0x2c]
add dword [ecx + 0x68], eax
mov dword [ecx + 0x64], eax
mov ecx, edx
call fcn.004629a0
mov ecx, eax
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov ebx, dword [edx + 0x68]
cmp dword [eax + 8], 4
mov dword [ebp - 0x30], ebx
jne 0x469764
lea eax, [ecx + ecx*4]
mov ecx, dword [ebx + eax*4 + 8]
dec ecx
mov esi, dword [edx + 0x58]
lea eax, [ecx + ecx*4]
lea ecx, [ebx + eax*4]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x4697aa
call fcn.00469470
mov ecx, eax
jmp 0x4697b3
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x18]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x4697f8
mov ecx, edx
call fcn.00469470
mov edx, eax
jmp 0x469801
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x18]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x469846
call fcn.00469470
mov ecx, eax
mov edi, dword [ebp - 0x14]
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0x1c]
movsd qword [ecx], xmm0
mov ecx, dword [ebp - 0x18]
add edi, 0x14
jmp 0x469593
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x469896
mov ecx, esi
call fcn.00469470
mov esi, eax
jmp 0x46989f
mov eax, 4
mov word [esi + 8], ax
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x4698aa
xor ecx, ecx
jmp 0x4698bf
mov ecx, edx
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4698b0
sub ecx, edi
and ecx, 0x3fffffff
cmp byte [ebp - 0x58], 1
mov dword [ebx + 4], ecx
je 0x469940
push 0
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.0045f6d0
add esp, 0xc
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x46e039
test byte [esi + 8], 2
je 0x469902
mov al, byte [ebp - 0x58]
cmp byte [esi + 0xa], al
je 0x469902
mov dl, al
mov ecx, esi
call fcn.0043dc30
test eax, eax
jne 0x46f060
mov ecx, dword [ebp - 0x14]
mov eax, 0x800
or word [esi + 8], ax
mov dword [esi + 0x18], 0
cmp byte [ecx + 1], 0xf9
jne 0x46992d
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x46992d
mov ecx, dword [ebp - 0x18]
call fcn.0043acb0
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x14]
mov byte [ecx + 1], 0xf9
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x18]
cmp ecx, dword [eax + 0x6c]
jg 0x46e039
mov byte [ebx], 0x47
jmp 0x469954
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x469975
call fcn.00469470
mov ecx, eax
mov eax, 0xa02
mov word [ecx + 8], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0xc], eax
mov al, byte [ebp - 0x58]
mov byte [ecx + 0xa], al
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x4696cc
mov ebx, dword [ebp - 0x28]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 2]
cdq
cmp dword [ebx + esi*8], eax
jne 0x4696cc
mov edi, dword [ebp - 0x14]
cmp dword [ebx + esi*8 + 4], edx
jne 0x46c11d
mov eax, 0xa10
mov esi, ebx
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x469a03
mov ecx, edx
call fcn.00469470
mov edx, eax
jmp 0x469a0c
mov eax, 4
mov word [edx + 8], ax
cmp dword [ebx + 4], 0
lea esi, [edx + 8]
mov edi, dword [ebx + 0xc]
mov eax, 1
mov ecx, dword [ebx + 8]
mov ebx, 0x101
cmovne eax, ebx
mov dword [edx + 0xc], 0
sub edi, ecx
movzx ebx, ax
mov word [esi], bx
test edi, edi
jle 0x4696cc
mov eax, 0x2400
test word [esi + 0x28], ax
lea esi, [esi + 0x28]
je 0x469a58
lea ecx, [esi - 8]
call fcn.0045ed10
mov eax, 0x2400
dec edi
mov word [esi], bx
mov dword [esi + 4], 0
test edi, edi
jg 0x469a42
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov edx, 0xff41
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov ax, word [esi + ecx*8 + 8]
and ax, dx
or ax, 1
mov word [esi + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x469ad3
mov ecx, esi
call fcn.00469470
mov esi, eax
jmp 0x469adc
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x14]
mov ecx, esi
push 0
push 0
push dword [eax + 4]
mov edx, dword [eax + 0x10]
call fcn.0045f6d0
mov al, byte [ebp - 0x58]
add esp, 0xc
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x64]
lea edi, [eax + ecx*8]
lea ecx, [edi - 0x28]
call fcn.0045f560
test eax, eax
jne 0x46e039
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x469b4d
mov ecx, esi
call fcn.0045ed10
movups xmm0, xmmword [edi - 0x28]
mov ecx, 0xebff
movups xmmword [esi], xmm0
mov eax, dword [edi - 0x18]
mov edi, dword [ebp - 0x14]
mov dword [esi + 0x10], eax
mov ax, word [esi + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov ecx, dword [ebp - 0x18]
mov word [esi + 8], ax
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
nop
mov eax, 0x2400
test word [esi + 8], ax
jne 0x469bb1
cmp dword [esi + 0x18], 0
je 0x469bb8
mov ecx, esi
call fcn.0045ed50
movups xmm0, xmmword [edi]
mov eax, 1
movups xmmword [esi], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [esi + 0x20], xmm0
mov word [edi + 8], ax
mov eax, 0x1000
mov dword [edi + 0x18], 0
test word [esi + 8], ax
je 0x469bfa
mov ecx, esi
call fcn.0045ea20
test eax, eax
jne 0x46f060
add edi, 0x28
add esi, 0x28
sub ebx, 1
jne 0x469ba0
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
push 0x1000
mov edx, edi
mov ecx, esi
call fcn.0045f5c0
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x469c5c
mov ecx, esi
call fcn.0045ea20
test eax, eax
jne 0x46f060
mov eax, ebx
dec ebx
test eax, eax
je 0x4696cc
add esi, 0x28
add edi, 0x28
jmp 0x469c31
mov ecx, dword [ebp - 0x14]
push 0x1000
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.0045f5c0
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov ebx, 0x2400
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
mov edx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
test word [ecx + 8], bx
je 0x469ce1
push eax
push edx
call fcn.0045f360
mov ecx, dword [ebp - 0x18]
add esp, 8
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edi, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x1c]
mov dword [ecx], edx
mov ecx, dword [ebp - 0x18]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea ebx, [esi + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [ecx + 0xc]
movzx ecx, word [ebx + 8]
mov dword [ebp - 0x5c], ecx
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov al, byte [edi + 8]
or al, cl
test al, 1
je 0x469d71
mov eax, 0x2400
test word [esi + 8], ax
je 0x469d54
mov ecx, esi
call fcn.0045ed10
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x18]
mov eax, 1
mov edi, dword [ebp - 0x14]
mov word [esi + 8], ax
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
test cl, 0x12
jne 0x469d87
mov dl, byte [ebp - 0x58]
mov ecx, ebx
push 0
call fcn.0045eaf0
add esp, 4
jmp 0x469d96
test ecx, 0x4000
je 0x469db0
mov ecx, ebx
call fcn.0045ea70
test eax, eax
jne 0x46f060
mov ax, word [ebx + 8]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x5c], eax
movzx edx, word [edi + 8]
mov dword [ebp - 0x3c], edx
test dl, 0x12
jne 0x469de7
mov dl, byte [ebp - 0x58]
mov ecx, edi
push 0
call fcn.0045eaf0
add esp, 4
test eax, eax
jne 0x46f060
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx edx, ax
mov dword [ebp - 0x3c], edx
jmp 0x469e10
test edx, 0x4000
je 0x469e10
mov ecx, edi
call fcn.0045ea70
test eax, eax
jne 0x46f060
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x18]
mov edx, dword [ebx + 0xc]
add edx, dword [edi + 0xc]
mov dword [ebp - 0x44], edx
cmp edx, dword [eax + 0x6c]
jg 0x46e039
xor eax, eax
mov ecx, esi
cmp esi, edi
sete al
add edx, 3
push eax
call fcn.0045e840
add esp, 4
test eax, eax
jne 0x46f060
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x469e72
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x3c]
add esp, 0xc
mov word [edi + 8], ax
push dword [ebx + 0xc]
mov eax, dword [esi + 0x10]
push dword [ebx + 0x10]
add eax, dword [edi + 0xc]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x44]
add esp, 0xc
mov eax, dword [ebp - 0x5c]
mov word [ebx + 8], ax
mov eax, dword [esi + 0x10]
mov edi, dword [ebp - 0x14]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 1], 0
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 2], 0
mov eax, 0x200
or word [esi + 8], ax
mov al, byte [ebp - 0x58]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.00469450
movzx ebx, ax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov ecx, esi
mov dword [ebp - 0x5c], esi
call fcn.00469450
mov edx, dword [ebp - 0x28]
movzx ecx, ax
mov eax, dword [ebp - 0x14]
and cl, bl
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x3c], eax
mov ax, word [esi + 8]
mov esi, dword [ebp - 0x34]
or ax, word [esi + 8]
movzx eax, ax
test cl, 4
je 0x46a0da
mov eax, esi
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x5c]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], edi
movzx eax, byte [eax]
add eax, 0xffffff97
cmp eax, 3
ja case.default.0x469f58
jmp dword [eax*4 + 0x46f5f8]
test esi, esi
jl 0x469fc3
jg 0x469f69
test edx, edx
jb 0x469fc3
test edi, edi
jl 0x469ff9
jg 0x469f7b
test ebx, ebx
je 0x469ff9
or ecx, 0xffffffff
mov eax, 0x7fffffff
sub ecx, ebx
sbb eax, edi
cmp eax, esi
jg 0x469ff9
jl 0x469f91
cmp ecx, edx
jae 0x469ff9
mov esi, dword [ebp - 0x34]
mov ecx, esi
call fcn.0045eed0
mov ebx, dword [ebp - 0x5c]
mov ecx, ebx
movsd qword [ebp - 0x48], xmm0
call fcn.0045eed0
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
add eax, 0xffffff97
cmp eax, 3
ja case.default.0x469fbc
jmp dword [eax*4 + 0x46f608]
test edi, edi
jg 0x469ff9
jl 0x469fcd
test ebx, ebx
jae 0x469ff9
mov eax, 1
mov ecx, 0x80000000
sub eax, ebx
mov dword [ebp - 0x44], eax
mov eax, edx
sbb ecx, edi
add eax, 1
mov dword [ebp - 0x74], eax
mov eax, esi
adc eax, 0
cmp ecx, eax
jg 0x469f91
jl 0x469ff9
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x74]
ja 0x469f91
add ebx, edx
mov dword [ebp - 0xa0], ebx
adc edi, esi
mov dword [ebp - 0x9c], edi
jmp 0x46a09b
push esi
push edx
lea ecx, [ebp - 0xa0]
call fcn.0043f840
add esp, 8
test eax, eax
jne 0x469f91
jmp 0x46a09b
push esi
push edx
lea ecx, [ebp - 0xa0]
call fcn.0043f890
add esp, 8
test eax, eax
jne 0x469f91
jmp 0x46a09b
mov eax, edx
or eax, esi
je 0x46a0e2
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x46a065
test ebx, ebx
jne 0x46a065
cmp edi, 0x80000000
je 0x469f91
push esi
push edx
push edi
push ebx
call fcn.005117f0
jmp 0x46a08f
mov eax, edx
or eax, esi
je 0x46a0e2
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x46a086
mov edx, 1
xor esi, esi
push esi
push edx
push edi
push ebx
call fcn.005119c0
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0x3c]
mov edx, 0x3e40
mov eax, dword [ebp - 0xa0]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [ebp - 0x9c]
mov dword [ecx + 4], eax
mov ax, word [ecx + 8]
and ax, dx
or ax, 4
movzx eax, ax
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
test al, 1
je 0x469f94
mov eax, dword [ebp - 0x3c]
mov ecx, 0x2400
test word [eax + 8], cx
je 0x46a1e2
mov ecx, eax
call fcn.0045ed10
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
addsd xmm0, qword [ebp - 0x48]
jmp 0x46a187
subsd xmm0, qword [ebp - 0x48]
jmp 0x46a187
mulsd xmm0, qword [ebp - 0x48]
jmp 0x46a187
movsd xmm1, qword [ebp - 0x48]
ucomisd xmm1, qword [ebp - 0x190]
lahf
test ah, 0x44
jnp 0x46a0e2
divsd xmm0, xmm1
jmp 0x46a187
mov ecx, esi
call fcn.0045ee40
mov ecx, ebx
mov esi, eax
mov edi, edx
call fcn.0045ee40
mov ecx, eax
mov dword [ebp - 0x9c], edx
mov eax, esi
mov dword [ebp - 0xa0], ecx
or eax, edi
je 0x46a0e2
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x46a177
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push ecx
call fcn.005119c0
mov ecx, eax
call fcn.00512000
movsd qword [ebp - 0x48], xmm0
mov ecx, dword [ebp - 0x44]
mov eax, ecx
and eax, 0x7ff00000
xor edx, edx
cmp eax, 0x7ff00000
jne 0x46a1b0
mov eax, dword [ebp - 0x48]
and ecx, 0xfffff
or eax, ecx
jne 0x46a0e2
mov ecx, dword [ebp - 0x3c]
mov edx, 0x3e40
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov ax, word [ecx + 8]
and ax, dx
movsd qword [ecx], xmm0
or ax, 8
movzx eax, ax
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edi, dword [ebp - 0x14]
mov ecx, 1
mov esi, dword [ebp - 0x28]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov eax, dword [edi + 4]
test eax, eax
je 0x46edc1
lea eax, [eax + eax*4]
mov edx, 0x2400
test word [esi + eax*8 + 8], dx
lea eax, [esi + eax*8]
je 0x46a238
push 0
push 0
mov ecx, eax
call fcn.0045f360
mov ecx, dword [ebp - 0x18]
add esp, 8
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 8], dx
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov al, byte [ecx + 8]
or al, byte [edi + 8]
mov dword [ebp - 0x44], edx
test al, 1
je 0x46a2c1
mov eax, 0x2400
test word [edx + 8], ax
je 0x46a2a7
mov ecx, edx
call fcn.0045ed10
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x18]
mov eax, 1
mov edi, dword [ebp - 0x14]
mov word [edx + 8], ax
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
call fcn.0045ee40
mov ebx, eax
mov esi, edx
mov ecx, edi
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0xfc], esi
call fcn.0045ee40
mov edi, eax
mov eax, dword [ebp - 0x14]
mov cl, byte [eax]
cmp cl, 0x65
jne 0x46a2ef
and ebx, edi
and esi, edx
jmp 0x46a352
cmp cl, 0x66
jne 0x46a2fa
or ebx, edi
or esi, edx
jmp 0x46a352
mov eax, edi
or eax, edx
je 0x46a352
test edx, edx
jg 0x46a32e
jl 0x46a30a
test edi, edi
jae 0x46a323
mov al, 0xcf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x46a32e
jg 0x46a31c
cmp edi, 0xffffffc0
jbe 0x46a32e
neg edi
adc edx, 0
neg edx
test edx, edx
jl 0x46a382
jg 0x46a32e
cmp edi, 0x40
jb 0x46a382
test esi, esi
jg 0x46a344
jl 0x46a338
test ebx, ebx
jae 0x46a344
cmp cl, 0x67
je 0x46a344
or ebx, 0xffffffff
or esi, ebx
jmp 0x46a352
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
mov esi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov edx, 0x3e40
mov edi, dword [ebp - 0x14]
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx + 4], esi
mov esi, dword [ebp - 0x28]
or ax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x1c]
mov dword [ecx], ebx
mov ecx, dword [ebp - 0x18]
add edi, 0x14
jmp 0x469593
movq xmm1, qword [ebp - 0x100]
movd xmm0, edi
cmp cl, 0x67
jne 0x46a39e
psllq xmm1, xmm0
movq qword [ebp - 0x40], xmm1
jmp 0x46a34c
psrlq xmm1, xmm0
movq qword [ebp - 0x40], xmm1
test esi, esi
jg 0x46a34c
jl 0x46a3b1
test ebx, ebx
jae 0x46a34c
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, edi
or edx, 0xffffffff
call fcn.00511a80
mov ebx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
or ebx, eax
or esi, edx
jmp 0x46a352
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov ecx, esi
call fcn.0045ee40
mov edi, dword [ebp - 0x14]
mov ecx, 0x3e40
mov dword [esi], eax
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0x18]
or ax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
mov eax, dword [ebp - 0x1c]
adc dword [esi + 4], edx
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x46a461
push dword [ebp - 0x58]
mov dl, 0x43
mov ecx, esi
call fcn.004692f0
movzx eax, word [esi + 8]
add esp, 4
mov ecx, eax
test al, 4
jne 0x46a461
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 8], 0
jne 0x46eda9
mov edx, 0x14
jmp 0x46e3a5
mov edi, dword [ebp - 0x14]
and ecx, 0x3e40
mov eax, dword [ebp - 0x1c]
or ecx, 4
mov word [esi + 8], cx
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x469593
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 0x24
lea esi, [esi + eax*8]
je 0x46edbe
mov ecx, esi
call fcn.0045eed0
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
movsd qword [esi], xmm0
mov ecx, dword [ebp - 0x18]
or ax, 8
mov word [esi + 8], ax
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x46a4f1
mov ecx, esi
call fcn.0045ea70
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov eax, dword [ebp - 0x14]
mov ecx, esi
push dword [ebp - 0x58]
mov dl, byte [eax + 8]
call fcn.0045f1c0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea ebx, [esi + eax*8]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
movzx eax, word [ebx + 8]
movzx esi, word [edi + 8]
mov ecx, esi
mov dword [ebp - 0x34], eax
mov edx, ecx
mov dword [ebp - 0x4c], ecx
or edx, eax
mov eax, dword [ebp - 0x14]
test dl, 1
je 0x46a5c5
movzx eax, word [eax + 2]
test al, al
jns 0x46a588
mov al, byte [ebp - 0x4c]
and al, byte [ebp - 0x34]
test al, 1
je 0x46a577
test ecx, 0x100
jne 0x46a577
xor ecx, ecx
jmp 0x46a6d3
not ecx
and ecx, 1
lea ecx, [ecx*2 - 1]
jmp 0x46a6d3
test al, 0x20
je 0x46a5a9
mov eax, dword [ebp - 0x14]
mov edx, 0x3e40
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x90], 1
mov eax, dword [eax + 8]
jmp 0x469a86
test al, 0x10
jne 0x46eda9
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov al, byte [eax + 2]
and al, 0x47
cmp al, 0x43
jb 0x46a64d
mov ecx, esi
test dl, 2
je 0x46a608
mov al, byte [ebp - 0x34]
and al, 0x2e
cmp al, 2
jne 0x46a5ee
xor edx, edx
mov ecx, ebx
call fcn.004691d0
movzx eax, word [edi + 8]
mov dword [ebp - 0x4c], eax
mov al, byte [ebp - 0x4c]
movzx ecx, word [ebp - 0x4c]
and al, 0x2e
cmp al, 2
jne 0x46a608
xor edx, edx
mov ecx, edi
call fcn.004691d0
movzx ecx, word [edi + 8]
mov al, byte [ebx + 8]
and al, cl
test al, 4
je 0x46a6bf
mov ecx, dword [edi + 4]
mov eax, dword [ebx + 4]
mov esi, dword [edi]
mov edx, dword [ebx]
cmp ecx, eax
jl 0x46a645
jg 0x46a629
cmp esi, edx
jbe 0x46a633
mov ecx, 1
jmp 0x46a6d3
cmp ecx, eax
jg 0x46a570
jl 0x46a645
cmp esi, edx
jae 0x46a570
or ecx, 0xffffffff
jmp 0x46a6d3
cmp al, 0x42
jne 0x46a6bf
mov al, byte [ebp - 0x34]
test al, 2
jne 0x46a691
test al, 0x2c
je 0x46a691
mov dl, byte [ebp - 0x58]
mov ecx, ebx
push 1
call fcn.0045eaf0
mov ax, word [ebx + 8]
mov esi, 0x3e40
xor ax, word [ebp - 0x34]
add esp, 4
and ax, si
xor word [ebp - 0x34], ax
cmp ebx, edi
jne 0x46a696
mov eax, dword [ebp - 0x34]
or eax, 2
movzx eax, ax
mov dword [ebp - 0x4c], eax
jmp 0x46a696
mov esi, 0x3e40
mov al, byte [ebp - 0x4c]
test al, 2
jne 0x46a6bf
test al, 0x2c
je 0x46a6bf
mov dl, byte [ebp - 0x58]
mov ecx, edi
push 1
call fcn.0045eaf0
mov ax, word [edi + 8]
add esp, 4
xor ax, word [ebp - 0x4c]
and ax, si
xor word [ebp - 0x4c], ax
mov eax, dword [ebp - 0x14]
mov edx, ebx
mov ecx, edi
push dword [eax + 0x10]
call fcn.00464840
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
test ecx, ecx
jns 0x46a6e5
mov al, byte [eax + 0x51f1ec]
jmp 0x46a6f5
jne 0x46a6ef
mov al, byte [eax + 0x51a4d0]
jmp 0x46a6f5
mov al, byte [eax + 0x5189ec]
movzx edx, al
movzx eax, word [ebp - 0x4c]
mov word [edi + 8], ax
movzx eax, word [ebp - 0x34]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 2]
test al, 0x20
je 0x46a76f
mov dword [ebp - 0x90], ecx
test al, 8
je 0x46a730
mov ecx, dword [ebp - 0x14]
xor eax, eax
cmp byte [ecx], 0x35
sete al
cmp eax, edx
je 0x4696cc
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x14]
mov eax, dword [eax + 8]
lea esi, [eax + eax*4]
mov eax, 0x3e40
mov cx, word [ebx + esi*8 + 8]
and cx, ax
mov eax, edx
cdq
or cx, 4
mov word [ebx + esi*8 + 8], cx
mov ecx, dword [ebp - 0x18]
mov dword [ebx + esi*8], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebx + esi*8 + 4], edx
mov esi, ebx
add edi, 0x14
jmp 0x469593
mov edi, dword [ebp - 0x14]
test edx, edx
jne 0x46edac
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
cmp dword [ebp - 0x90], 0
jne 0x46edaf
add edi, 0x14
jmp 0x469593
mov ebx, dword [ebp - 0x14]
test byte [ebx + 2], 1
jne 0x46a7ad
xor eax, eax
jmp 0x46a7b3
mov eax, dword [ebx - 4]
add eax, 4
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebp - 0x14]
mov edx, dword [ebx + 0x10]
mov ebx, dword [ebx + 4]
mov dword [ebp - 0x74], ebx
mov ebx, dword [esi + 8]
xor esi, esi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x64], ebx
test ecx, ecx
jle 0x4696cc
lea ebx, [edx + 0x14]
nop
test eax, eax
je 0x46a7e9
mov edi, dword [eax + esi*4]
jmp 0x46a7eb
mov edi, esi
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0x28]
push dword [ebx]
movzx eax, byte [eax + esi]
and eax, 1
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x64]
add eax, edi
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0x74]
add eax, edi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00464840
mov edx, eax
add esp, 4
mov dword [ebp - 0x90], edx
test edx, edx
jne 0x46a84a
mov eax, dword [ebp - 0x3c]
inc esi
mov edx, dword [ebp - 0x5c]
add ebx, 4
cmp esi, dword [ebp - 0x44]
jl 0x46a7e0
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x10]
test byte [esi + eax], 2
mov esi, dword [ebp - 0x28]
je 0x46a87f
mov eax, dword [ebp - 0x74]
add eax, edi
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
jne 0x46a877
mov eax, dword [ebp - 0x64]
add eax, edi
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
je 0x46a87f
neg edx
mov dword [ebp - 0x90], edx
cmp dword [ebp - 0x80], 0
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
je 0x46edbe
mov eax, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x90], edx
add edi, 0x14
jmp 0x469593
mov ebx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x14]
test ebx, ebx
jns 0x46a8c9
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x30]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
jne 0x46a8e5
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x30]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x30]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ebx, dword [ebp - 0x14]
mov edi, 2
mov edx, edi
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.0045ef00
mov ecx, dword [ebx + 8]
mov edx, edi
mov ebx, dword [ebp - 0x28]
mov esi, eax
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
call fcn.0045ef00
mov ecx, dword [ebp - 0x14]
lea eax, [eax + esi*2]
cmp byte [ecx], 0x2c
jne 0x46a940
mov dl, byte [esi + eax + 0x518ad4]
jmp 0x46a947
mov dl, byte [esi + eax + 0x518a60]
mov eax, dword [ecx + 0xc]
mov esi, 0x3e40
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 8]
and ax, si
movzx esi, ax
cmp dl, 2
jne 0x46a971
mov eax, 1
or eax, esi
mov esi, dword [ebp - 0x28]
jmp 0x469a95
movzx eax, dl
cdq
mov dword [ebx + ecx*8], eax
mov eax, 4
or eax, esi
mov dword [ebx + ecx*8 + 4], edx
mov esi, dword [ebp - 0x28]
jmp 0x469a95
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.0045ef00
mov ecx, dword [ebp - 0x14]
mov ebx, 0x2400
xor eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 8]
cdq
lea ecx, [ecx + ecx*4]
test word [esi + ecx*8 + 8], bx
lea ecx, [esi + ecx*8]
je 0x46a9d6
push edx
push eax
call fcn.0045f360
mov ecx, dword [ebp - 0x18]
add esp, 8
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edi, dword [ebp - 0x14]
mov dword [ecx], eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x18]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
lea ecx, [esi + eax*8]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
jne 0x46aa72
xor edx, edx
call fcn.0045ef00
neg eax
mov ecx, 0x2400
sbb eax, eax
inc eax
test word [esi + 8], cx
je 0x46aa4c
push 0
push eax
mov ecx, esi
call fcn.0045f360
mov ecx, dword [ebp - 0x18]
add esp, 8
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], 0
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x469593
mov eax, 0x2400
test word [esi + 8], ax
jne 0x469d39
mov ecx, dword [ebp - 0x18]
mov eax, 1
mov edi, dword [ebp - 0x14]
mov word [esi + 8], ax
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, edx
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x46aacc
mov ecx, esi
call fcn.0045ed10
mov ecx, dword [ebp - 0x18]
jmp 0x46aad5
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x4696cf
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.0045ee40
mov ecx, dword [ebp - 0x18]
not eax
mov edi, dword [ebp - 0x14]
not edx
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x24]
mov edi, dword [edx + 0xc8]
test edi, edi
je 0x46ab77
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [edx + 0x68]
mov edi, dword [edi + 0x18]
imul ecx
mov eax, 1
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov esi, ecx
and ecx, 7
shr esi, 3
shl eax, cl
movzx edx, byte [esi + edi]
test edx, eax
jne 0x46eda9
mov eax, dword [ebp - 0x24]
bts edx, ecx
mov byte [esi + edi], dl
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x14]
mov ecx, dword [eax + 0x68]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [edx + 0x68]
mov edi, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
cmp eax, dword [edi + 4]
je 0x46edac
mov ecx, edi
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.0045ef00
mov edi, dword [ebp - 0x14]
test eax, eax
jne 0x46edac
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ecx + 4]
cmp dword [ecx + 0xc], edx
sete dl
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.0045ef00
mov edi, dword [ebp - 0x14]
test eax, eax
je 0x46edac
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
jne 0x46edaf
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
je 0x46edaf
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x469773
mov eax, dword [ebp - 0x14]
mov ecx, 0x2400
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
test word [esi + eax*8 + 8], cx
lea eax, [esi + eax*8]
je 0x46ac70
mov ecx, eax
call fcn.0045ed10
jmp 0x46eda9
mov ecx, 1
mov word [eax + 8], cx
jmp 0x46eda9
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], eax
mov eax, dword [edx + 8]
lea edx, [ebp - 0x94]
mov dword [ebp - 0x94], eax
call fcn.00463ec0
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ebx, [esi + eax*8]
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x48]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x34], esi
cmp eax, dword [edx + 0x20]
je 0x46ade7
cmp byte [ecx + 2], 0
je 0x46ad3d
cmp byte [ecx], 3
jne 0x46ad0e
mov eax, dword [ecx + 0x20]
mov edi, dword [ebp - 0x28]
lea edx, [eax + eax*4]
mov eax, dword [edi + edx*8 + 0xc]
mov dword [ecx + 0x54], eax
mov ecx, dword [ebp - 0x54]
mov eax, dword [ecx + 0x54]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [edi + edx*8 + 0x10]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0x54]
jmp 0x46ad78
mov eax, 0x2400
test word [ebx + 8], ax
je 0x46ad20
mov ecx, ebx
jmp 0x469d3b
mov ecx, dword [ebp - 0x18]
mov eax, 1
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov esi, dword [ecx + 0x28]
mov ecx, esi
call fcn.00455930
mov eax, dword [ebp - 0x54]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0x50], ecx
mov ecx, esi
mov edx, dword [ebp - 0x54]
add edx, 0x54
call fcn.00455ff0
mov ecx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x18]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0x54]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edi + 0x6c]
ja 0x46e039
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x20]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x46ad96
movzx eax, al
mov dword [esi], eax
mov al, 1
jmp 0x46ad9d
mov edx, esi
call fcn.0043f540
movzx ecx, al
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x54]
mov word [eax + 0x3a], cx
mov ecx, dword [ebp - 0x54]
mov edi, dword [esi]
cmp dword [ecx + 0x54], edi
jae 0x46aeb1
mov dword [ecx + 0x4c], 0
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x54], 0
mov eax, dword [esi]
cmp eax, 0x18003
ja 0x46afbc
mov ecx, dword [ebp - 0x54]
cmp eax, dword [ecx + 0x50]
ja 0x46afbc
movzx eax, word [ecx + 0x3a]
mov esi, dword [ebp - 0x94]
cmp eax, esi
jg 0x46b01b
mov eax, dword [ebp - 0x34]
mov edi, dword [eax]
cmp dword [ecx + 0x30], edi
jae 0x46afd8
mov eax, dword [ecx + 0x4c]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x80], eax
test eax, eax
jne 0x46ae5e
xorps xmm0, xmm0
lea eax, [ebp - 0x188]
movups xmmword [ebp - 0x188], xmm0
push eax
movups xmmword [ebp - 0x178], xmm0
xor edx, edx
movq qword [ebp - 0x168], xmm0
push dword [esi]
mov ecx, dword [ecx + 0x28]
call fcn.0045fa90
mov ecx, eax
add esp, 8
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov eax, dword [ebp - 0x178]
mov edi, dword [esi]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x80], eax
movzx ebx, word [ecx + 0x3a]
xor edx, edx
mov dword [ebp - 0x3c], ebx
mov eax, dword [esi + ebx*4]
mov esi, dword [ecx + 0x30]
add esi, dword [ebp - 0x80]
add edi, dword [ebp - 0x80]
mov dword [ebp - 0x5c], edi
lea edi, [ebx*4 + 0x58]
nop dword [eax]
mov dword [ebp - 0x44], eax
movzx eax, byte [esi]
mov dword [ebp - 0x84], eax
mov dword [ecx + edi], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x64], edx
cmp eax, 0x80
jae 0x46aeb6
movzx eax, al
mov ebx, 1
movzx eax, byte [eax + 0x51b208]
cdq
jmp 0x46aeef
mov eax, dword [ecx + 0x4c]
jmp 0x46ae5b
lea edx, [ebp - 0x84]
mov ecx, esi
call fcn.0043f540
mov ecx, dword [ebp - 0x84]
movzx ebx, al
mov eax, dword [ebp - 0x54]
mov dword [eax + edi], ecx
mov eax, dword [ebp - 0x84]
cmp eax, 0x80
jb 0x46aee6
add eax, 0xfffffff4
shr eax, 1
jmp 0x46aeed
movzx eax, byte [eax + 0x51b208]
xor edx, edx
add eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x34]
adc edx, dword [ebp - 0x64]
add esi, ebx
mov ebx, dword [ebp - 0x3c]
add edi, 4
inc ebx
mov dword [ebp - 0x3c], ebx
mov dword [ecx + edi - 0x58], eax
mov ecx, dword [ebp - 0x54]
cmp ebx, dword [ebp - 0x94]
jg 0x46af21
cmp esi, dword [ebp - 0x5c]
jb 0x46ae80
mov edi, dword [ebp - 0x5c]
jmp 0x46af28
mov edi, dword [ebp - 0x5c]
cmp esi, edi
jb 0x46af35
cmp esi, edi
ja 0x46af40
cmp eax, dword [ecx + 0x50]
jne 0x46af40
test edx, edx
jne 0x46af40
test edx, edx
jb 0x46af4c
ja 0x46af40
cmp eax, dword [ecx + 0x50]
jbe 0x46af4c
mov eax, dword [ebp - 0x34]
cmp dword [eax], 0
jne 0x46af96
xor ebx, ebx
mov esi, edi
sub esi, dword [ebp - 0x80]
mov word [ecx + 0x3a], bx
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x30], esi
mov ecx, dword [ebp - 0x54]
cmp dword [ecx + 0x4c], 0
jne 0x46af85
test dword [ebp - 0x180], 0x2400
jne 0x46af77
cmp dword [ebp - 0x170], 0
je 0x46af85
lea ecx, [ebp - 0x188]
call fcn.0045ed50
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x94]
mov edx, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x74]
jmp 0x46afe0
cmp dword [ecx + 0x4c], 0
jne 0x46afbc
test dword [ebp - 0x180], 0x2400
jne 0x46afb1
cmp dword [ebp - 0x170], 0
je 0x46afbc
lea ecx, [ebp - 0x188]
call fcn.0045ed50
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x46ee8b
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ecx, [ebx + eax*4]
jmp 0x4696c9
xor edx, edx
mov dword [ebp - 0x84], edx
movzx eax, word [ecx + 0x3a]
cmp eax, esi
jg 0x46b025
mov ecx, dword [ebp - 0x14]
cmp byte [ecx + 1], 0xf5
jne 0x46ad0e
mov edx, dword [ecx + 0x10]
mov ecx, ebx
push 0x800
call fcn.0045f5c0
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ecx + esi*4 + 0x58]
mov dword [ebp - 0x84], edx
mov eax, 0x2400
test word [ebx + 8], ax
je 0x46b046
mov ecx, ebx
call fcn.0045ed10
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x94]
mov edx, dword [ebp - 0x84]
mov edi, dword [ebp - 0x34]
mov eax, dword [ecx + 0x54]
cmp eax, dword [edi + esi*4 + 4]
jb 0x46b104
mov eax, dword [ebp - 0x34]
mov edi, dword [ecx + 0x4c]
add edi, dword [eax + esi*4]
cmp edx, 0xc
jae 0x46b083
push ebx
mov ecx, edi
call fcn.00464090
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov al, byte [ebp - 0x58]
lea esi, [edx - 0xc]
shr esi, 1
mov dword [ebx + 0xc], esi
mov byte [ebx + 0xa], al
lea edx, [esi + 2]
cmp dword [ebx + 0x18], edx
jge 0x46b0bb
mov eax, 1
mov ecx, ebx
push 0
mov word [ebx + 8], ax
call fcn.0045e840
add esp, 4
test eax, eax
jne 0x46f060
mov eax, dword [ebx + 0x10]
jmp 0x46b0c1
mov eax, dword [ebx + 0x14]
mov dword [ebx + 0x10], eax
push esi
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebx + 0x10]
add esp, 0xc
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov byte [esi + eax], 0
mov eax, dword [ebx + 0x10]
mov byte [esi + eax + 1], 0
mov eax, dword [ebp - 0x84]
mov esi, dword [ebp - 0x28]
and eax, 1
mov ax, word [eax*2 + 0x518e80]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov al, byte [ebp - 0x58]
mov byte [ebx + 0xa], al
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x84]
movzx eax, word [eax + 2]
test al, 0xc0
je 0x46b129
cmp edx, 0xc
jb 0x46b125
test dl, 1
je 0x46b143
test al, al
js 0x46b143
cmp edx, 0x80
jb 0x46b138
lea eax, [edx - 0xc]
shr eax, 1
jmp 0x46b13f
movzx eax, byte [edx + 0x51b208]
test eax, eax
jne 0x46b165
push ebx
mov ecx, 0x51a810
call fcn.00464090
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x54]
push ebx
push eax
mov edx, dword [edi + edx*4]
mov ecx, dword [ecx + 0x28]
call fcn.0045fa90
mov ecx, eax
add esp, 8
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebx + 0x10]
push ebx
call fcn.00464090
mov ecx, dword [ebp - 0x18]
mov eax, 0xefff
mov edi, dword [ebp - 0x14]
add esp, 4
and word [ebx + 8], ax
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov al, byte [edi]
nop dword [eax + eax]
push dword [ebp - 0x58]
mov dl, al
mov ecx, esi
call fcn.004692f0
add esp, 4
cmp byte [edi], 0x45
jne 0x46b22d
movzx ebx, word [esi + 8]
test bl, 4
je 0x46b22d
mov ecx, dword [esi]
mov edx, dword [esi + 4]
add ecx, 0
mov eax, edx
adc eax, 0x8000
cmp eax, 0xffff
ja 0x46b215
jb 0x46b20a
cmp ecx, 0xffffffff
ja 0x46b215
and ebx, 0xfffb
or ebx, 0x20
jmp 0x46b229
mov ecx, dword [esi]
call fcn.00512000
and ebx, 0xfffb
movsd qword [esi], xmm0
or ebx, 8
mov word [esi + 8], bx
mov al, byte [edi + 1]
inc edi
test al, al
je 0x4696cc
add esi, 0x28
jmp 0x46b1d0
mov ebx, dword [ebp - 0x14]
xorps xmm0, xmm0
xor ecx, ecx
movlpd qword [ebp - 0x60], xmm0
mov dword [ebp - 0x6c], ecx
movlpd qword [ebp - 0x78], xmm0
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x3c], edx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebx, [edx + eax*8]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x44], ebx
mov al, byte [eax + 0x93]
mov byte [ebp - 0x4d], al
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x80], eax
test edi, edi
je 0x46b2ce
mov al, byte [edi]
lea esi, [edx + 8]
mov ebx, dword [ebp - 0x58]
push ebx
lea ecx, [esi - 8]
mov dl, al
call fcn.004692f0
add esp, 4
cmp byte [edi], 0x45
jne 0x46b2bd
movzx eax, word [esi]
test al, 4
je 0x46b2bd
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
mov al, byte [edi + 1]
inc edi
add esi, 0x28
test al, al
jne 0x46b298
mov ecx, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x5c]
lea eax, [ebx + 0x1c]
mov ebx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x78]
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x74], ebx
movzx ebx, word [eax - 0x14]
mov dword [ebp - 0x34], eax
test bl, 1
je 0x46b30a
and ebx, 0x4000
neg ebx
sbb ebx, ebx
and ebx, 0xa
inc ecx
mov dword [eax], ebx
jmp 0x46b551
test bl, 0x24
je 0x46b4a7
mov esi, dword [eax - 0x1c]
mov eax, dword [eax - 0x18]
test eax, eax
jg 0x46b32b
jl 0x46b323
test esi, esi
jae 0x46b32b
mov ecx, esi
not eax
not ecx
jmp 0x46b32d
mov ecx, esi
inc dword [ebp - 0x6c]
test eax, eax
ja 0x46b41b
jb 0x46b33f
cmp ecx, 0x7f
ja 0x46b38a
mov eax, esi
xor ebx, ebx
and eax, 1
cmp eax, esi
jne 0x46b36a
mov esi, dword [ebp - 0x34]
cmp ebx, dword [esi - 0x18]
jne 0x46b36a
cmp byte [ebp - 0x4d], 4
jb 0x46b36a
lea eax, [ecx + 8]
mov ecx, esi
mov dword [ecx], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x6c]
jmp 0x46b554
mov ecx, dword [ebp - 0x34]
add edx, 1
mov eax, 1
mov dword [ebp - 0x4c], edx
adc edi, ebx
mov dword [ebp - 0x7c], edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x6c]
jmp 0x46b554
test eax, eax
ja 0x46b41b
jb 0x46b39c
cmp ecx, 0x7fff
ja 0x46b3bd
mov ecx, dword [ebp - 0x34]
add edx, 2
mov eax, 2
mov dword [ebp - 0x4c], edx
adc edi, 0
mov dword [ebp - 0x7c], edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x6c]
jmp 0x46b554
test eax, eax
ja 0x46b41b
jb 0x46b3cb
cmp ecx, 0x7fffff
ja 0x46b3ec
mov ecx, dword [ebp - 0x34]
add edx, 3
mov eax, 3
mov dword [ebp - 0x4c], edx
adc edi, 0
mov dword [ebp - 0x7c], edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x6c]
jmp 0x46b554
test eax, eax
ja 0x46b41b
jb 0x46b3fa
cmp ecx, 0x7fffffff
ja 0x46b41b
mov ecx, dword [ebp - 0x34]
add edx, 4
mov eax, 4
mov dword [ebp - 0x4c], edx
adc edi, 0
mov dword [ebp - 0x7c], edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x6c]
jmp 0x46b554
cmp eax, 0x7fff
ja 0x46b44a
jb 0x46b429
cmp ecx, 0xffffffff
ja 0x46b44a
mov ecx, dword [ebp - 0x34]
add edx, 6
mov eax, 5
mov dword [ebp - 0x4c], edx
adc edi, 0
mov dword [ebp - 0x7c], edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x6c]
jmp 0x46b554
add edx, 8
mov dword [ebp - 0x4c], edx
adc edi, 0
mov dword [ebp - 0x7c], edi
test bl, 0x20
je 0x46b492
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx - 0x18]
mov ecx, esi
call fcn.00512000
mov eax, dword [ebp - 0x34]
and ebx, 0xffdf
mov ecx, dword [ebp - 0x34]
or ebx, 8
movsd qword [eax - 0x1c], xmm0
mov word [eax - 0x14], bx
mov eax, 7
mov dword [ecx], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x6c]
jmp 0x46b554
mov ecx, dword [ebp - 0x34]
mov eax, 6
mov dword [ecx], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x6c]
jmp 0x46b554
test bl, 8
je 0x46b4c4
inc ecx
mov dword [eax], 7
add edx, 8
mov dword [ebp - 0x4c], edx
adc edi, 0
mov dword [ebp - 0x7c], edi
jmp 0x46b551
mov edi, dword [eax - 0x10]
mov eax, ebx
shr eax, 1
and eax, 1
lea eax, [eax + edi*2]
add eax, 0xc
test ebx, 0x4000
mov ebx, dword [ebp - 0x34]
mov dword [ebp - 0x64], eax
je 0x46b516
mov ecx, dword [ebx - 0x1c]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x64], eax
mov eax, edx
or eax, dword [ebp - 0x7c]
je 0x46b507
lea ecx, [ebx - 0x1c]
call fcn.0045ea70
test eax, eax
jne 0x46f060
add edi, dword [ebx - 0x1c]
jmp 0x46b510
mov eax, ecx
cdq
add dword [ebp - 0x74], eax
adc dword [ebp - 0x5c], edx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x64]
add edx, edi
mov esi, 1
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 0x4c], edx
adc edi, 0
mov edx, eax
mov dword [ebp - 0x7c], edi
shr edx, 7
xor ecx, ecx
mov eax, edx
or eax, ecx
je 0x46b544
shrd edx, ecx, 7
inc esi
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x46b536
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x6c]
mov dword [ebx], eax
add ecx, esi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x6c], ecx
add eax, 0xffffffe4
cmp eax, dword [ebp - 0x3c]
je 0x46b56a
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x4c]
sub eax, 0x28
jmp 0x46b2e9
cmp ecx, 0x7e
jle 0x46b5c6
mov eax, ecx
mov ebx, 1
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x46b594
shrd esi, edx, 7
inc ebx
shr edx, 7
mov eax, esi
or eax, edx
jne 0x46b586
mov eax, dword [ebp - 0x6c]
mov edi, 1
add eax, ebx
mov dword [ebp - 0x6c], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x46b5bf
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x46b5b1
mov ecx, dword [ebp - 0x6c]
cmp ebx, edi
jge 0x46b5ca
inc ecx
mov dword [ebp - 0x6c], ecx
mov edi, dword [ebp - 0x4c]
mov eax, ecx
mov esi, dword [ebp - 0x80]
cdq
add edi, eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x7c]
mov ebx, edx
mov esi, dword [esi + 0x18]
adc eax, ebx
mov ecx, edi
add ecx, dword [ebp - 0x74]
adc eax, dword [ebp - 0x5c]
mov dword [ebp - 0x7c], eax
mov eax, esi
cdq
cmp dword [ebp - 0x7c], edx
jg 0x46b606
jl 0x46b5fb
cmp ecx, eax
ja 0x46b606
mov edx, dword [ebp - 0x80]
mov eax, dword [edx + 0x14]
mov dword [edx + 0x10], eax
jmp 0x46b650
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x6c]
cdq
cmp dword [ebp - 0x7c], edx
jg 0x46e039
jl 0x46b620
cmp ecx, eax
ja 0x46e039
cmp esi, edi
jge 0x46b638
mov ecx, dword [ebp - 0x80]
mov edx, edi
push 0
call fcn.0045e840
mov edx, dword [ebp - 0x80]
add esp, 4
jmp 0x46b648
mov edx, dword [ebp - 0x80]
mov eax, dword [edx + 0x14]
and word [edx + 8], 0x2d
mov dword [edx + 0x10], eax
xor eax, eax
test eax, eax
jne 0x46f060
mov ecx, dword [ebp - 0x74]
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [ebp - 0x5c]
mov dword [edx + 0xc], edi
je 0x46b671
mov eax, 0x4010
mov dword [edx], ecx
mov word [edx + 8], ax
mov eax, dword [ebp - 0x6c]
mov esi, dword [edx + 0x10]
lea edi, [esi + eax]
cmp eax, 0x80
jae 0x46b68a
mov byte [esi], al
mov eax, 1
jmp 0x46b698
push ebx
push dword [ebp - 0x64]
mov ecx, esi
call fcn.0043f320
add esp, 8
mov ebx, dword [ebp - 0x3c]
movzx eax, al
add esi, eax
mov ebx, dword [ebx + 0x1c]
cmp ebx, 0x80
jae 0x46b6b4
mov byte [esi], bl
mov eax, 1
jmp 0x46b6c1
push 0
push ebx
mov ecx, esi
call fcn.0043f320
add esp, 8
push ebx
mov ebx, dword [ebp - 0x3c]
mov ecx, edi
movzx eax, al
mov edx, ebx
add esi, eax
call fcn.00463f40
add ebx, 0x28
add esp, 4
add edi, eax
mov dword [ebp - 0x3c], ebx
cmp ebx, dword [ebp - 0x44]
jbe 0x46b6a0
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
xorps xmm0, xmm0
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x18]
mov edx, dword [eax + 0x28]
lea eax, [ebp - 0x108]
push eax
movlpd qword [ebp - 0x108], xmm0
call fcn.0045c2c0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x46b76d
call fcn.00469470
mov ecx, eax
mov eax, dword [ebp - 0x108]
mov dword [ecx], eax
mov eax, dword [ebp - 0x104]
mov dword [ecx + 4], eax
jmp 0x46d01e
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x108]
mov dword [ecx], eax
mov eax, dword [ebp - 0x104]
mov dword [ecx + 4], eax
jmp 0x46d01e
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x10]
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x46b880
cmp dword [ecx + 0xb8], eax
jg 0x46eeb3
test ebx, ebx
jne 0x46b7b4
xor esi, esi
jmp 0x46b7d2
mov esi, ebx
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x46b7c0
sub esi, ecx
mov ecx, dword [ebp - 0x18]
and esi, 0x3fffffff
mov eax, dword [ecx + 0x1e0]
xor edx, edx
add eax, dword [ecx + 0x1dc]
push eax
call fcn.004b3560
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
push ecx
mov ecx, dword [ebp - 0x18]
lea eax, [esi + 0x21]
push eax
call fcn.0043b020
mov edi, eax
add esp, 8
test edi, edi
je 0x4696cc
lea ecx, [esi + 1]
push ecx
lea edx, [edi + 0x20]
push ebx
push edx
mov dword [edi], edx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x18]
add esp, 0xc
cmp byte [ecx + 0x4f], 0
je 0x46b836
mov byte [ecx + 0x4f], 0
mov byte [ecx + 0x57], 1
jmp 0x46b83c
inc dword [ecx + 0x1dc]
mov eax, dword [ecx + 0x1d4]
mov esi, dword [ebp - 0x28]
mov dword [edi + 0x18], eax
mov eax, dword [ecx + 0x1e8]
mov dword [ecx + 0x1d4], edi
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x1ec]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0x1f0]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x1f4]
mov dword [edi + 0x14], eax
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov esi, dword [ecx + 0x1d4]
xor edi, edi
test esi, esi
je 0x46b8a5
nop dword [eax]
mov ecx, dword [esi]
mov edx, ebx
call fcn.0043e6c0
test eax, eax
je 0x46b8c0
mov esi, dword [esi + 0x18]
inc edi
test esi, esi
jne 0x46b890
push ebx
push str.no_such_savepoint:__s
push dword [ebp - 0x24]
call fcn.00460360
add esp, 0xc
mov edx, 1
jmp 0x46e3a5
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x34]
cmp dword [edx + 0xb8], 0
jle 0x46b8d8
cmp ebx, 1
je 0x46eecd
cmp dword [esi + 0x18], 0
jne 0x46b93e
cmp byte [edx + 0x57], 0
je 0x46b93e
mov dword [ebp - 0x74], 1
cmp ebx, 1
jne 0x46b945
mov ecx, dword [ebp - 0x24]
mov edx, ebx
call fcn.004634b0
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x46f246
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov byte [eax + 0x4f], bl
call fcn.00463510
cmp eax, 5
je 0x46eed4
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x28]
test eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
je 0x46b935
mov byte [eax + 0x4f], 0
jmp 0x46ba30
mov byte [eax + 0x57], 0
jmp 0x46ba3a
mov dword [ebp - 0x74], 0
mov ecx, dword [edx + 0x1dc]
mov eax, dword [edx + 0x14]
sub ecx, edi
dec ecx
mov dword [ebp - 0x3c], ecx
cmp ebx, 2
jne 0x46b9b0
mov edx, dword [edx + 0x18]
xor ebx, ebx
and edx, 1
mov dword [ebp - 0x5c], edx
test eax, eax
jle 0x46b9b5
mov ecx, edx
xor ecx, 1
xor edi, edi
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x18]
mov edx, 0x204
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.00455330
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov eax, dword [ebp - 0x18]
inc ebx
mov ecx, dword [ebp - 0x44]
add edi, 0x10
mov eax, dword [eax + 0x14]
cmp ebx, eax
jl 0x46b972
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x5c]
jmp 0x46b9b5
xor edx, edx
mov dword [ebp - 0x5c], edx
xor ebx, ebx
test eax, eax
mov eax, dword [ebp - 0x18]
jle 0x46b9f2
xor edi, edi
mov edx, dword [ebp - 0x34]
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.004555d0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov eax, dword [ebp - 0x18]
inc ebx
mov ecx, dword [ebp - 0x3c]
add edi, 0x10
cmp ebx, dword [eax + 0x14]
jl 0x46b9c0
mov edx, dword [ebp - 0x5c]
test edx, edx
je 0x46ba2a
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46ba1c
nop dword [eax]
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x46ba00
mov eax, dword [ebp - 0x18]
mov ecx, eax
call fcn.00485f00
mov eax, dword [ebp - 0x18]
or dword [eax + 0x18], 1
mov ebx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x3c]
cmp dword [ebp - 0x20], 0
jne 0x46e3a2
mov ecx, dword [eax + 0x1d4]
cmp ecx, esi
je 0x46ba6c
mov ebx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, ebx
mov dword [ebx + 0x1d4], eax
call fcn.0043acb0
mov ecx, dword [ebx + 0x1d4]
dec dword [ebx + 0x1dc]
cmp ecx, esi
jne 0x46ba47
mov ebx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x18]
cmp ebx, 1
jne 0x46ba99
mov eax, dword [esi + 0x18]
mov edx, esi
mov dword [ecx + 0x1d4], eax
call fcn.0043acb0
cmp dword [ebp - 0x74], 0
mov ecx, dword [ebp - 0x18]
jne 0x4696cf
dec dword [ecx + 0x1dc]
jmp 0x46bacc
cmp dword [ebp - 0x74], 0
mov eax, dword [esi + 8]
mov dword [ecx + 0x1e8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x1ec], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x1f0], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x1f4], eax
je 0x46bacc
cmp ebx, 2
jne 0x4696cf
push edi
mov edx, ebx
call fcn.004b3560
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x74], 0
mov edx, dword [edx + 8]
test edx, edx
je 0x46bb1a
mov eax, dword [ecx + 0x20]
and eax, 0x100000
or eax, 0
jne 0x46ef0b
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x46bbf0
lea eax, [ebp - 0x74]
mov ecx, esi
push eax
call fcn.00454160
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46ef15
mov eax, dword [ebp - 0x24]
test byte [eax + 0x98], 0x80
je 0x46bbf0
mov edx, dword [ebp - 0x14]
cmp dword [edx + 8], ecx
mov edx, dword [ebp - 0x18]
je 0x46bbf3
cmp byte [edx + 0x4f], cl
je 0x46bb80
cmp dword [edx + 0xb4], 1
jle 0x46bbf3
mov eax, dword [eax + 0x30]
mov ebx, dword [ebp - 0x24]
test eax, eax
jne 0x46bb9f
mov eax, dword [edx + 0x1dc]
inc dword [edx + 0x1e0]
add eax, dword [edx + 0x1e0]
mov dword [ebx + 0x30], eax
mov ecx, dword [ebp - 0x18]
dec eax
push eax
xor edx, edx
call fcn.004b3560
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46bbc4
mov edx, dword [ebx + 0x30]
mov ecx, esi
call fcn.00455570
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov eax, dword [edx + 0x1e8]
mov dword [ecx + 0x48], eax
mov eax, dword [edx + 0x1ec]
mov dword [ecx + 0x4c], eax
mov eax, dword [edx + 0x1f0]
mov dword [ecx + 0x50], eax
mov eax, dword [edx + 0x1f4]
mov dword [ecx + 0x54], eax
jmp 0x46bbf3
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
cmp word [ecx + 2], 0
je 0x46bc26
mov eax, dword [ebp - 0x74]
cmp eax, dword [ecx + 0xc]
jne 0x46ef4c
mov eax, ecx
mov ecx, dword [eax + 4]
mov eax, dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 0x10]
jne 0x46ef4c
cmp dword [ebp - 0x20], 0
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0xec]
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.0045c1b0
mov eax, dword [ebp - 0x14]
add esp, 4
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x46bca6
call fcn.00469470
mov edi, dword [ebp - 0x14]
mov ecx, eax
mov eax, dword [ebp - 0xec]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x18]
add edi, 0x14
jmp 0x469593
mov edi, dword [ebp - 0x14]
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xec]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x18]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov esi, dword [edx + 4]
push dword [edx + 0xc]
mov edx, dword [edx + 8]
shl esi, 4
add esi, dword [ecx + 0x10]
mov ecx, dword [esi + 4]
call fcn.0045c210
mov dword [ebp - 0x20], eax
add esp, 4
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x46bd0b
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
or dword [eax + 0x18], 1
jmp 0x46bd1f
cmp eax, 2
jne 0x46bd1c
mov eax, dword [ebp - 0x14]
mov ecx, dword [esi + 0xc]
mov al, byte [eax + 0xc]
mov byte [ecx + 0x4c], al
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 4], 1
jne 0x46bd53
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x46bd49
nop
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 0x46bd30
mov edx, dword [ebp - 0x24]
and dword [edx + 0x98], 0xfffffffc
cmp dword [ebp - 0x20], 0
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je case.0x4695ae.96
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 8]
je 0x46be99
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x98]
and al, 3
cmp al, 1
je 0x46efc7
mov eax, dword [ebp - 0x14]
xor ebx, ebx
mov edi, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, esi
shl eax, 4
add eax, dword [edi + 0x10]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x3c], esi
mov edi, dword [eax + 4]
mov dword [ebp - 0x74], edi
cmp dl, 0x61
jne 0x46bdf0
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
movzx edi, word [edx + 2]
mov edx, dword [ebp - 0x24]
and edi, 8
mov al, byte [eax + 0x4c]
or edi, 4
cmp al, byte [edx + 0x93]
jae 0x46bdf2
mov byte [edx + 0x93], al
jmp 0x46bdf2
xor edi, edi
mov eax, dword [ebp - 0x14]
test byte [eax + 2], 0x10
je 0x46be2c
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x28]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0045ee40
mov dword [esi], eax
mov ecx, 0x3e40
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 8], ax
mov eax, dword [esi]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + 1]
cmp al, 0xf7
jne 0x46be3f
mov ebx, dword [ecx + 0x10]
movzx eax, word [ebx + 8]
jmp 0x46be4a
cmp al, 0xfd
jne 0x46be48
mov eax, dword [ecx + 0x10]
jmp 0x46be4a
mov eax, ebx
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x24]
push 0
push esi
push eax
call fcn.00469020
mov esi, eax
add esp, 0xc
test esi, esi
je 0x46f060
push dword [esi + 0x28]
mov eax, dword [ebp - 0x44]
mov edx, eax
mov ecx, dword [ebp - 0x74]
or dword [esi + 8], 4
push ebx
push edi
mov byte [esi + 2], 1
mov dword [esi + 0x34], eax
call fcn.004557e0
mov dword [ebp - 0x20], eax
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x2c], ebx
cmp byte [eax + 1], 0xf7
setne al
mov byte [esi + 4], al
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + 2]
mov eax, dword [esi + 0x28]
and cl, 3
cmp dword [ebp - 0x20], 0
mov byte [eax + 3], cl
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x24]
push 0
push 0xffffffffffffffff
mov ecx, dword [edx + 8]
mov eax, dword [edi + 0x60]
mov edx, dword [edx + 4]
mov ebx, dword [eax + ecx*4]
mov ecx, edi
movsx eax, word [ebx + 0x38]
push eax
call fcn.00469020
mov edi, eax
add esp, 0xc
test edi, edi
je 0x46f060
or dword [edi + 8], 1
push dword [edi + 0x28]
mov byte [edi + 2], 1
mov esi, dword [ebx + 0x2c]
mov dword [edi + 0x2c], esi
mov al, byte [ebx + 4]
mov byte [edi + 4], al
mov edx, dword [ebx + 0x34]
mov dword [edi + 0x34], edx
mov eax, dword [ebx + 8]
xor eax, dword [edi + 8]
and eax, 4
xor dword [edi + 8], eax
mov ecx, dword [ebx + 0xc]
push esi
push 4
call fcn.004557e0
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + edx*4]
test esi, esi
je 0x46bf89
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x46bf89
mov edx, dword [esi + 0x34]
push 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x1c], 0
call fcn.0045bc80
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
jmp 0x46c077
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
push 0
push 0xffffffffffffffff
push dword [eax + 8]
call fcn.00469020
mov esi, eax
add esp, 0xc
test esi, esi
je 0x46f060
mov eax, dword [ebp - 0x14]
lea edi, [esi + 0xc]
or dword [esi + 8], 1
xor edx, edx
push 0x41e
movzx ecx, word [eax + 2]
mov eax, dword [ebp - 0x18]
or ecx, 5
push ecx
push edi
push eax
mov ecx, dword [eax]
call fcn.00452e50
add esp, 0x10
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x46c057
mov ecx, dword [edi]
lea edx, [eax + 1]
push eax
call fcn.00454160
add esp, 4
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x46c057
mov eax, dword [ebp - 0x14]
mov ecx, dword [edi]
mov ebx, dword [eax + 0x10]
mov dword [esi + 0x2c], ebx
test ebx, ebx
je 0x46c035
movzx eax, word [eax + 2]
lea edx, [esi + 0x34]
or eax, 2
push eax
call fcn.0045ba40
add esp, 4
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x46c02f
push dword [esi + 0x28]
mov edx, dword [esi + 0x34]
mov ecx, dword [edi]
push ebx
push 4
call fcn.004557e0
add esp, 0xc
mov dword [ebp - 0x20], eax
mov byte [esi + 4], 0
jmp 0x46c057
push dword [esi + 0x28]
mov edx, 1
mov dword [esi + 0x34], 1
push 0
push 4
call fcn.004557e0
add esp, 0xc
mov dword [ebp - 0x20], eax
mov byte [esi + 4], 1
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp word [eax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [esi + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 8], ecx
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov byte [esi + 2], 1
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
push 1
push 0xffffffffffffffff
push dword [ecx + 8]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x24]
call fcn.00469020
add esp, 0xc
test eax, eax
je 0x46f060
mov edx, dword [ebp - 0x14]
push eax
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x2c], ecx
mov edx, dword [edx + 0xc]
mov ecx, dword [ebp - 0x18]
call fcn.00470c40
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x10]
mov ecx, edi
mov esi, dword [edx + 0x14]
add ecx, 1
mov eax, esi
mov dword [edx + 0x10], ecx
adc eax, 0
or edi, esi
mov edi, dword [ebp - 0x14]
mov dword [edx + 0x14], eax
je 0x46edac
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
push 3
push 0xffffffffffffffff
push dword [ecx + 0xc]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x24]
call fcn.00469020
add esp, 0xc
test eax, eax
je 0x46f060
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
mov byte [eax + 2], 1
mov ecx, dword [ecx + 8]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x18]
mov byte [eax + 4], 1
mov dword [eax + 0x28], 0x53853a
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x24]
mov eax, dword [ecx + 4]
mov ecx, edi
mov edx, dword [edi + 0x60]
mov edx, dword [edx + eax*4]
call fcn.00462840
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x60]
mov edi, dword [ebp - 0x14]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
xor edi, edi
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x5c], edi
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 4], 0
mov word [esi + 2], di
mov dword [esi + 0x1c], edi
je 0x46c2de
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x28]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
movzx eax, word [edi + 8]
mov dword [ebp - 0x74], eax
and al, 0x2e
cmp al, 2
jne 0x46c1f5
xor edx, edx
mov ecx, edi
call fcn.004691d0
mov ecx, edi
call fcn.0045ee40
movzx ecx, word [edi + 8]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x3c], edx
mov word [edi + 8], ax
test cl, 0x24
jne 0x46c2a6
test cl, 8
jne 0x46c278
test cl, 1
jne 0x46eda9
cmp ebx, 0x18
jae 0x46eda9
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x8c]
call fcn.00456520
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
cmp dword [ebp - 0x8c], 0
jne 0x46eda9
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x5c], 0
mov esi, dword [ebp - 0x28]
lea eax, [ecx + 0x14]
cmove eax, ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov edi, eax
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x44]
call fcn.00512000
movsd xmm1, qword [edi]
comisd xmm0, xmm1
jbe 0x46c29a
test bl, 1
lea eax, [ebx - 1]
cmove eax, ebx
mov ebx, eax
jmp 0x46c2a6
comisd xmm1, xmm0
jbe 0x46c2a6
test bl, 1
jne 0x46c2a6
inc ebx
mov edi, dword [ebp - 0x44]
lea eax, [ebp - 0x8c]
mov ecx, dword [esi + 0x28]
xor edx, edx
push eax
push 0
push dword [ebp - 0x3c]
push edi
call fcn.00456590
mov ecx, eax
mov dword [esi + 0x40], edi
mov eax, dword [ebp - 0x3c]
add esp, 0x10
mov dword [ebp - 0x20], ecx
mov dword [esi + 0x44], eax
test ecx, ecx
jne 0x46e3a2
jmp 0x46c376
mov ecx, dword [esi + 0x28]
mov edx, 2
call fcn.0045d7c0
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x118]
test eax, eax
mov eax, 1
cmovne edi, eax
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x118], eax
test bl, 1
mov ax, word [ecx + 0x10]
mov word [ebp - 0x110], ax
sete al
mov byte [ebp - 0x10a], 0
mov dword [ebp - 0x5c], edi
lea eax, [eax*2 - 1]
mov byte [ebp - 0x10e], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x8c]
mov ecx, dword [esi + 0x28]
push eax
push 0
push 0
push 0
call fcn.00456590
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
test edi, edi
je 0x46c376
cmp byte [ebp - 0x10a], al
je 0x46c248
mov eax, dword [ebp - 0x8c]
cmp ebx, 0x18
jl 0x46c3de
test eax, eax
js 0x46c39b
jne 0x46c38c
cmp ebx, 0x19
je 0x46c39b
mov dword [ebp - 0x8c], 0
jmp 0x46c255
mov dword [ebp - 0x8c], 0
push 0
push dword [esi + 0x28]
call fcn.00456bd0
mov ecx, eax
add esp, 8
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x46c248
cmp ecx, 0x65
jne 0x46e3a2
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x8c], 1
jmp 0x46eda9
test eax, eax
jg 0x46c3fc
jne 0x46c3e9
cmp ebx, 0x16
je 0x46c3fc
mov ecx, dword [esi + 0x28]
call fcn.00456a70
mov dword [ebp - 0x8c], eax
jmp 0x46c248
mov dword [ebp - 0x8c], 0
push 0
push dword [esi + 0x28]
call fcn.00456d00
jmp 0x46c3af
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x14]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
shl eax, 3
xor eax, dword [ecx + 8]
and eax, 8
xor dword [ecx + 8], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
cmp dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x18]
je case.0x4695ae.11
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [edx + 0x60]
mov eax, dword [eax + ecx*4]
test byte [eax + 8], 8
jne 0x469773
jmp 0x46c489
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + 0x60]
mov ecx, dword [ecx + 4]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
test ecx, ecx
jle 0x46c4c8
mov eax, dword [ebx + 0x2c]
lea edi, [ebp - 0x1a0]
mov dword [ebp - 0x19c], esi
xor esi, esi
mov dword [ebp - 0x1a0], eax
mov word [ebp - 0x198], cx
jmp 0x46c50b
mov eax, 0x4000
test word [esi + 8], ax
je 0x46c4e2
mov ecx, esi
call fcn.0045ea70
test eax, eax
jne 0x46f060
mov ecx, dword [ebx + 0x2c]
call fcn.00464340
mov edi, eax
mov dword [ebp - 0x44], edi
test edi, edi
je 0x46f060
mov edx, dword [esi + 0xc]
mov ecx, dword [ebx + 0x2c]
push edi
push dword [esi + 0x10]
call fcn.004643a0
add esp, 8
mov esi, edi
mov eax, dword [ebp - 0x14]
mov byte [edi + 0xa], 0
mov dword [ebp - 0x44], 0
cmp byte [eax], 0x1c
jne 0x46c546
movzx edx, word [edi + 8]
xor ecx, ecx
test edx, edx
je 0x46c546
mov eax, dword [edi + 4]
add eax, 8
nop
test byte [eax], 1
jne 0x46c53f
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x46c530
jmp 0x46c546
mov dword [ebp - 0x44], 1
mov ecx, dword [ebx + 0x28]
lea eax, [ebp - 0xcc]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.00456590
add esp, 0x10
mov ecx, eax
mov dword [ebp - 0x20], ecx
test esi, esi
je 0x46c576
mov ecx, dword [ebp - 0x18]
mov edx, esi
call fcn.0043acb0
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x46e3a2
mov eax, dword [ebp - 0xcc]
mov edi, dword [ebp - 0x14]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0xcc]
test eax, eax
mov byte [ebx + 3], 0
sete cl
mov dword [ebx + 0x1c], 0
test eax, eax
setne al
mov byte [ebx + 2], al
cmp byte [edi], 0x1e
jne 0x46c5c6
test ecx, ecx
jne 0x46edac
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
cmp dword [ebp - 0x44], 0
jne 0x46edac
test ecx, ecx
je 0x46edac
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 0x24
jne 0x46c64f
movups xmm0, xmmword [esi + eax*8]
mov dl, 0x43
lea ecx, [ebp - 0x210]
push dword [ebp - 0x58]
movups xmmword [ebp - 0x210], xmm0
movups xmm0, xmmword [esi + eax*8 + 0x10]
movups xmmword [ebp - 0x200], xmm0
movq xmm0, qword [esi + eax*8 + 0x20]
movq qword [ebp - 0x1f0], xmm0
call fcn.004692f0
add esp, 4
test byte [ebp - 0x208], 4
je 0x46eda9
mov edi, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x20c]
jmp 0x46c65c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov edi, dword [esi + eax*8]
mov ebx, dword [esi + eax*8 + 4]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0xb0]
push eax
push 0
push ebx
mov ecx, dword [esi + 0x28]
push edi
mov dword [ebp - 0xb0], 0
call fcn.00456590
mov ecx, eax
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], ebx
add esp, 0x10
mov word [esi + 2], 0
mov dword [esi + 0x1c], 0
mov eax, dword [ebp - 0xb0]
mov dword [esi + 0x20], eax
cmp dword [ebp - 0xb0], 0
mov dword [ebp - 0x20], ecx
je 0x46c6d3
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 8], 0
jne 0x46eda9
mov ecx, 0x15dab
call fcn.004cfa10
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ebx, dword [ebp - 0x14]
mov edx, ebx
mov edi, dword [ebp - 0x24]
mov ecx, edi
call fcn.00469490
mov ecx, dword [edi + 0x60]
mov edx, dword [ebx + 4]
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x10]
mov dword [eax], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 4], ecx
mov eax, ebx
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x60]
mov edi, ebx
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x18]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x24]
movlpd qword [ebp - 0x68], xmm0
mov dword [ebp - 0x3c], 0
call fcn.00469490
mov ebx, eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x60]
mov edi, dword [ecx + edx*4]
test byte [edi + 8], 2
jne 0x46c7c1
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x3c]
call fcn.00456520
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
cmp dword [ebp - 0x3c], eax
je 0x46c78f
mov dword [ebp - 0x68], 1
mov dword [ebp - 0x64], eax
jmp 0x46c7be
mov ecx, dword [edi + 0x28]
call fcn.00455980
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
cmp edx, 0x7fffffff
jl 0x46c7b2
jg 0x46c7ac
cmp eax, 0xffffffff
jb 0x46c7b2
or dword [edi + 8], 2
jmp 0x46c7be
add eax, 1
mov dword [ebp - 0x68], eax
adc edx, 0
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x46c84a
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x46c7f4
mov eax, dword [edx + 4]
test eax, eax
je 0x46c7e9
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x46c7e0
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
jmp 0x46c7fa
lea eax, [ecx + ecx*4]
lea esi, [esi + eax*8]
mov ecx, esi
call fcn.0045efb0
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x46c817
cmp edx, 0x7fffffff
je 0x46c8a1
test byte [edi + 8], 2
jne 0x46c8a1
add ecx, 1
adc edx, 0
cmp dword [ebp - 0x64], edx
jg 0x46c83f
jl 0x46c835
mov eax, dword [ebp - 0x68]
cmp eax, ecx
jae 0x46c842
mov eax, ecx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x68], eax
jmp 0x46c842
mov eax, dword [ebp - 0x68]
mov dword [esi], eax
mov eax, dword [ebp - 0x64]
mov dword [esi + 4], eax
test byte [edi + 8], 2
je 0x46c8ab
xor esi, esi
lea eax, [ebp - 0x68]
push eax
push 8
call fcn.0043d860
mov eax, dword [ebp - 0x64]
lea edx, [ebp - 0x3c]
mov ecx, dword [ebp - 0x68]
and eax, 0x3fffffff
add ecx, 1
push edx
adc eax, 0
mov dword [ebp - 0x68], ecx
push 0
push eax
mov dword [ebp - 0x64], eax
xor edx, edx
push ecx
mov ecx, dword [edi + 0x28]
call fcn.00456590
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
cmp dword [ebp - 0x3c], eax
jne 0x46c8ab
inc esi
cmp esi, 0x64
jl 0x46c852
mov edx, 0xd
jmp 0x46e3a5
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
mov eax, dword [ebp - 0x68]
mov edi, dword [ebp - 0x14]
mov dword [ebx], eax
mov eax, dword [ebp - 0x64]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
cmp byte [edx + 1], 0xfa
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
lea edi, [eax + eax*4]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x74], esi
lea eax, [eax + eax*4]
mov ecx, dword [ebx + eax*8]
mov dword [ebp - 0x1c0], ecx
mov eax, dword [ebx + eax*8 + 4]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x1bc], eax
jne 0x46c935
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0xf0], 0
je 0x46c935
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ebx, dword [edx + 0x10]
mov ecx, dword [eax + ecx*8]
mov dword [ebp - 0x44], ecx
jmp 0x46c93a
xor ebx, ebx
mov dword [ebp - 0x44], ebx
movzx eax, word [edx + 2]
mov edx, eax
test al, 1
je 0x46c951
mov eax, dword [ebp - 0x24]
inc dword [eax + 0x2c]
mov eax, dword [ebp - 0x14]
movzx edx, word [eax + 2]
movzx ecx, dx
test dl, 0x20
je 0x46c96f
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x5c]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 2]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + edi*8 + 0x10]
mov dword [ebp - 0x1b8], eax
mov eax, dword [edx + edi*8 + 0xc]
mov dword [ebp - 0x1ac], eax
test cl, 0x10
je 0x46c990
mov edx, dword [esi + 0x20]
jmp 0x46c992
xor edx, edx
mov eax, dword [ebp - 0x28]
mov esi, 0x4000
test word [eax + edi*8 + 8], si
mov esi, dword [ebp - 0x74]
je 0x46c9af
mov eax, dword [eax + edi*8]
mov dword [ebp - 0x1a8], eax
jmp 0x46c9b9
mov dword [ebp - 0x1a8], 0
push edx
and ecx, 0xa
mov dword [ebp - 0x1c8], 0
push ecx
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x1c8]
call fcn.0045ae10
mov ecx, eax
mov byte [esi + 3], 0
add esp, 8
mov dword [ebp - 0x20], ecx
mov dword [esi + 0x1c], 0
test ecx, ecx
jne 0x46e3a2
test ebx, ebx
je 0x4696cc
push dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x14]
mov ecx, 0x17
push dword [ebp - 0x1c0]
push dword [ebx]
test byte [eax + 2], 4
mov eax, 0x12
push dword [ebp - 0x44]
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x18]
push dword [eax + 0xec]
mov eax, dword [eax + 0xf0]
call eax
mov ecx, dword [ebp - 0x18]
add esp, 0x18
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
cmp byte [edx + 1], 0xfa
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
jne 0x46ca9c
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0xf0], 0
je 0x46ca9c
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 0x46caa0
cmp byte [esi + 4], 0
je 0x46caa0
mov ecx, dword [esi + 0x28]
call fcn.00455980
mov dword [esi + 0x44], edx
mov edx, dword [ebp - 0x14]
mov dword [esi + 0x40], eax
jmp 0x46caa0
xor ebx, ebx
xor edi, edi
mov dl, byte [edx + 2]
mov ecx, dword [esi + 0x28]
call fcn.0045b220
mov ecx, eax
mov dword [esi + 0x1c], 0
mov dword [ebp - 0x20], ecx
mov dword [esi + 0x20], 0
test ecx, ecx
jne 0x46e3a2
test byte [ebp - 0x44], 1
mov ecx, dword [ebp - 0x18]
je 0x4696cf
mov edx, dword [ebp - 0x24]
inc dword [edx + 0x2c]
mov eax, dword [ecx + 0xf0]
test eax, eax
je 0x4696cf
test byte [edi + 0x24], 0x80
jne 0x4696cf
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [edi]
push ebx
push 9
push dword [ecx + 0xec]
call eax
mov ecx, dword [ebp - 0x18]
add esp, 0x18
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x2c]
call fcn.004658d0
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0x2c], 0
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xd0], 0
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0x10]
call fcn.004735b0
mov ecx, eax
add esp, 8
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov edi, dword [ebp - 0x14]
cmp dword [ebp - 0xd0], eax
jne 0x46edac
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
call fcn.00473510
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0x1c], 0
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edi, dword [ebp - 0x24]
mov ecx, edi
mov edx, dword [ebp - 0x14]
call fcn.00469490
mov ecx, dword [edi + 0x60]
mov esi, eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ecx + 0x28]
mov ecx, edi
call fcn.004559b0
mov ecx, dword [ebp - 0x18]
cmp eax, dword [ecx + 0x6c]
ja 0x46e039
push esi
push eax
xor edx, edx
mov ecx, edi
call fcn.0045fa90
mov ecx, eax
add esp, 8
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xc], eax
jne 0x4696cc
mov eax, 0x1000
test word [esi + 8], ax
je 0x4696cc
mov ecx, esi
call fcn.0045ea20
mov ecx, dword [ebp - 0x18]
test eax, eax
je 0x4696cf
mov edi, dword [ebp - 0x2c]
call fcn.0043b400
push str.out_of_memory
push dword [ebp - 0x24]
call fcn.00460360
mov ebx, dword [ebp - 0x30]
add esp, 8
mov dword [ebp - 0x20], 7
mov edx, dword [ebp - 0x20]
jmp 0x46e3ab
mov esi, dword [ebp - 0x24]
mov ecx, esi
mov edx, dword [ebp - 0x14]
call fcn.00469490
mov ecx, dword [ebp - 0x14]
mov edi, eax
mov edx, dword [ecx + 4]
mov ecx, dword [esi + 0x60]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x46ccd1
mov ecx, dword [ebp - 0x18]
mov eax, 1
mov esi, dword [ebp - 0x28]
mov word [edi + 8], ax
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
cmp byte [esi + 3], 0
je 0x46cd08
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + 0x44]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0xc4], eax
mov dword [edi], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x18]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
cmp byte [esi], 2
jne 0x46cd60
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0xc8]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [ebp - 0x24]
add esp, 8
mov edx, esi
mov dword [ebp - 0x20], eax
call fcn.00465a80
cmp dword [ebp - 0x20], 0
jne 0x46e3a2
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0x28]
mov dword [edi], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x18]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, esi
call fcn.00463ea0
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
cmp byte [esi + 2], al
je 0x46cd96
mov ecx, dword [ebp - 0x18]
mov eax, 1
mov esi, dword [ebp - 0x28]
mov word [edi + 8], ax
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [esi + 0x28]
call fcn.00455980
mov esi, dword [ebp - 0x28]
mov ecx, eax
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], edx
mov dword [edi], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x18]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 0
mov byte [ecx + 2], 1
mov dword [ecx + 0x1c], 0
jne 0x4696cc
mov ecx, dword [ecx + 0x28]
call fcn.00451190
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0xb8], 0
cmp dl, 0x81
jne 0x46ce3e
mov ecx, edi
mov dword [esi + 0x20], 0xffffffff
call fcn.00455970
test eax, eax
jne 0x4696cc
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.00456520
mov ecx, eax
mov al, byte [ebp - 0xb8]
mov dword [ebp - 0x20], ecx
mov byte [esi + 2], al
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 8], 0
jle 0x4696cc
cmp dword [ebp - 0xb8], 0
mov edi, ecx
jne 0x46edac
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0xbc]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.004564f0
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
cmp dword [ebp - 0xbc], eax
jne 0x46eda9
mov ecx, esi
call fcn.00456a80
test edx, edx
jl 0x46cf04
jg 0x46cee2
test eax, eax
jb 0x46cf04
push edx
push eax
call fcn.0043fa40
mov ecx, dword [ebp - 0x14]
add esp, 8
cwde
cmp eax, dword [ecx + 0xc]
jge 0x46cf04
mov dword [ebp - 0xbc], 1
jmp 0x46eda9
cmp dword [ebp - 0xbc], 0
mov edi, dword [ebp - 0x14]
jne 0x46edac
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov eax, dword [ebp - 0x24]
inc dword [eax + 0xac]
jmp 0x46cf33
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0xa4]
mov eax, dword [eax + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0xa4], 1
cmp byte [esi], 1
jne 0x46cf5d
mov ecx, esi
call fcn.004733c0
jmp 0x46cf70
mov ecx, dword [esi + 0x28]
call fcn.004564f0
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov al, byte [ebp - 0xa4]
mov edi, dword [ebp - 0x14]
mov byte [esi + 2], al
cmp dword [ebp - 0xa4], ecx
jne 0x46edac
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, dword [ebp - 0x18]
call fcn.00473420
jmp 0x46cfde
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
push dword [edx + 0xc]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + 0x10]
push dword [esi + 0x28]
call eax
add esp, 8
mov ecx, eax
mov dword [ebp - 0x20], ecx
mov dword [esi + 0x1c], 0
test ecx, ecx
jne 0x46d007
mov ecx, dword [ebp - 0x24]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 2]
inc dword [ecx + eax*4 + 0xa4]
jmp 0x46e906
cmp ecx, 0x65
jne 0x46e3a2
mov dword [ebp - 0x20], 0
mov byte [esi + 2], 1
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 0x110], 0
jne 0x46f296
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x1c]
cmp edi, ebx
jb 0x4696cf
nop
mov eax, dword [ecx + 0x158]
test eax, eax
je 0x4696cf
add ebx, dword [ecx + 0x160]
push dword [ecx + 0x15c]
mov dword [ebp - 0x2c], ebx
call eax
add esp, 4
test eax, eax
jne 0x46f068
mov ecx, dword [ebp - 0x18]
cmp edi, ebx
jae 0x46d040
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [edx + 0x60]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
je 0x46d0a3
inc dword [edx + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x46d0c5
mov ecx, esi
call fcn.0045ea70
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x14]
cmp byte [ecx], 0x82
jne 0x46d0d8
mov edx, esi
mov ecx, edi
call fcn.004722d0
mov esi, dword [ebp - 0x28]
jmp 0x46d13a
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], edx
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x260], eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x24c], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x248], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x46d11b
mov ecx, dword [edi + 0x20]
jmp 0x46d11d
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x260]
and eax, 0xa
push eax
call fcn.0045ae10
add esp, 8
mov dword [edi + 0x1c], 0
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0x150], eax
mov ax, word [edx + 0xc]
mov word [ebp - 0x148], ax
mov eax, dword [edx + 8]
lea edx, [ebp - 0x150]
mov byte [ebp - 0x146], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0xf0]
push eax
push 0
push 0
push 0
call fcn.00456590
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
cmp dword [ebp - 0xf0], eax
jne 0x46d1df
mov dl, 4
mov ecx, edi
call fcn.0045b220
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.00463ea0
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
cmp byte [esi + 2], al
jne 0x46d2d7
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0xd8]
xorps xmm0, xmm0
movlpd qword [ebp - 0xd8], xmm0
mov edx, dword [esi + 0x28]
push eax
call fcn.004656d0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x85
jne 0x46d2a8
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x14]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov byte [ecx + 2], 0
mov eax, dword [ebp - 0xd8]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0x14]
mov byte [ecx + 3], 1
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 0x24], esi
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x24]
mov edx, eax
call fcn.00469490
mov ecx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xd4]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.0045f2d0
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 3], 0
je 0x469773
call fcn.00463df0
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
cmp byte [ebp - 0x4d], 0x28
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x160], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x158], ax
sbb al, al
mov byte [ebp - 0x156], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xa8], 0
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x15c], eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.00465810
mov ecx, eax
add esp, 8
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
test byte [eax], 1
mov eax, dword [ebp - 0xa8]
jne 0x46d3b3
neg eax
jmp 0x46d3b4
inc eax
mov dword [ebp - 0xa8], eax
test ecx, ecx
jne 0x46e3a2
mov edi, dword [ebp - 0x14]
test eax, eax
jg 0x46edac
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ebx, dword [ebp - 0x14]
mov edx, ebx
mov ecx, dword [ebp - 0x24]
call fcn.00469490
mov edx, dword [ebp - 0x18]
mov esi, eax
mov eax, 1
mov word [esi + 8], ax
mov ecx, dword [edx + 0xc0]
inc ecx
cmp dword [edx + 0xb4], ecx
jg 0x46efd1
mov ebx, dword [ebx + 0xc]
lea eax, [ebp - 0xac]
mov ecx, dword [edx + 0x10]
mov edx, dword [ebp - 0x14]
push eax
mov eax, ebx
mov dword [ebp - 0xac], 0
add eax, eax
mov edx, dword [edx + 4]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0045c160
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0xac]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
test ecx, ecx
jne 0x46e3a2
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x4696cc
mov ecx, dword [ebp - 0x14]
mov edx, ebx
push dword [ecx + 4]
mov ecx, dword [ebp - 0x18]
push eax
call fcn.004893a0
mov edi, dword [ebp - 0x14]
lea ecx, [ebx + 1]
mov esi, dword [ebp - 0x28]
add esp, 8
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 0x85], cl
mov ecx, dword [ebp - 0x18]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x44]
mov ecx, dword [ecx + 0x10]
xor edi, edi
mov dword [ebp - 0x44], 0
cmp dword [edx + 0xc], edi
cmove eax, edi
push eax
mov eax, dword [edx + 8]
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0045bc80
mov edi, dword [ebp - 0x14]
add esp, 4
mov ecx, eax
mov dword [ebp - 0x20], ecx
cmp dword [edi + 0xc], 0
je 0x46d4f2
mov edx, dword [ebp - 0x24]
mov ecx, edi
mov eax, dword [ebp - 0x44]
add dword [edx + 0x2c], eax
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jle 0x46d4ef
lea ecx, [ecx + ecx*4]
cdq
add dword [esi + ecx*8], eax
adc dword [esi + ecx*8 + 4], edx
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x46d538
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x18]
call fcn.004713d0
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ecx + 0x28]
call fcn.0045bd40
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
call fcn.00469490
mov edx, dword [ebp - 0x14]
mov esi, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xdc], 0
mov ecx, dword [edx + 4]
push dword [edx + 0xc]
shl ecx, 4
lea edx, [ebp - 0xdc]
add ecx, dword [eax + 0x10]
mov ecx, dword [ecx + 4]
call fcn.0045ba40
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
inc byte [ecx + 0x5a]
push 0
push 0
push 0
push dword [edx + 0x10]
push ecx
call fcn.0049aea0
mov ecx, dword [ebp - 0x18]
mov edx, eax
add esp, 0x14
mov dword [ebp - 0x20], eax
dec byte [ecx + 0x5a]
test edx, edx
jne 0x46e3a5
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov esi, dword [ecx + 4]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
jne 0x46d652
mov ebx, dword [ebp - 0x18]
mov ecx, esi
add ecx, ecx
mov eax, dword [ebx + 0x10]
push dword [eax + ecx*8 + 0xc]
call fcn.0048dad0
mov eax, dword [ebp - 0x24]
add esp, 4
and dword [ebx + 0x18], 0xffffffef
add eax, 0x7c
mov edx, esi
mov ecx, ebx
push 1
push eax
call fcn.0049faf0
mov dword [ebp - 0x20], eax
mov ecx, ebx
mov eax, dword [ebp - 0x24]
add esp, 8
or dword [ecx + 0x18], 1
and dword [eax + 0x98], 0xfffffffc
jmp 0x46d70e
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
add eax, 0x7c
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x13c], eax
add esi, esi
mov eax, dword [edx + 0x10]
push ecx
push str.sqlite_master
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x130], 0
push dword [eax + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push edx
call fcn.0043d4e0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x46efe5
mov ebx, dword [ebp - 0x18]
lea eax, [ebp - 0x140]
push 0
push eax
push fcn.0049f8b0
push esi
push ebx
mov byte [ebx + 0xa5], 1
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x12c], 0
call fcn.0049aea0
add esp, 0x14
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x46d6fc
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x46d6fc
cmp dword [ebp - 0x12c], eax
jne 0x46d6fc
mov ecx, 0x16344
call fcn.004cfa10
mov dword [ebp - 0x20], eax
mov edx, esi
mov ecx, ebx
call fcn.0043acb0
mov ecx, ebx
mov byte [ecx + 0xa5], 0
mov edx, dword [ebp - 0x20]
test edx, edx
jne 0x46efec
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 4]
call fcn.00483cd0
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.004865a0
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.00485a40
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.004ad490
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
lea esi, [eax + eax*4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
lea eax, [ebp - 0xf4]
push eax
mov eax, dword [ebx + esi*8]
inc eax
push eax
push dword [edx + 8]
lea eax, [ecx + 4]
mov ecx, dword [ebp - 0x18]
push eax
movzx eax, word [edx + 2]
add eax, eax
mov edx, dword [ecx + 0x10]
mov edx, dword [edx + eax*8 + 4]
call fcn.0045cdf0
add esp, 0x10
mov ecx, edi
mov ebx, eax
call fcn.0045f2d0
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x46d838
test ebx, ebx
je 0x46f060
mov ecx, dword [ebp - 0x28]
dec eax
cdq
push fcn.0043abf0
push 1
sub dword [ecx + esi*8], eax
push 0xffffffffffffffff
sbb dword [ecx + esi*8 + 4], edx
mov edx, ebx
mov ecx, edi
call fcn.0045f6d0
add esp, 0xc
movzx edx, byte [ebp - 0x58]
mov ecx, edi
call fcn.0045e820
jmp 0x46d01b
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 0x10
lea esi, [esi + eax*8]
mov eax, dword [ecx + 8]
lea edi, [eax + eax*4]
jne 0x46d870
mov ecx, esi
call fcn.0045f490
test eax, eax
jne 0x46f060
mov eax, dword [ebp - 0x28]
mov ecx, dword [esi + 0x10]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.004468e0
mov ecx, dword [ebp - 0x18]
add esp, 8
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 0x10
lea esi, [esi + eax*8]
je 0x46d8e6
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x120]
call fcn.00446c70
test eax, eax
je 0x46d8e6
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x11c]
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x120]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.0045f390
add esp, 8
jmp 0x46d01e
mov ecx, esi
call fcn.0045f2d0
jmp 0x46e906
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 0x10
lea esi, [esi + eax*8]
mov eax, dword [ecx + 0xc]
lea edi, [eax + eax*4]
jne 0x46d91d
mov ecx, esi
call fcn.0045f490
test eax, eax
jne 0x46f060
test ebx, ebx
je 0x46d942
mov eax, dword [ebp - 0x28]
mov edx, ebx
mov ecx, dword [esi + 0x10]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.00446cd0
add esp, 8
test eax, eax
jne 0x46eda9
test ebx, ebx
js 0x4696cc
jmp 0x46d870
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
mov dword [ebp - 0x44], edi
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x3c], ecx
cmp word [eax + 2], 0
je 0x46d993
mov eax, dword [edx + 0xc8]
mov ecx, dword [edi + 0x14]
test eax, eax
je 0x46d990
nop dword [eax]
cmp dword [eax + 0x1c], ecx
je 0x469773
mov eax, dword [eax + 4]
test eax, eax
jne 0x46d980
mov ecx, dword [ebp - 0x3c]
mov eax, dword [edx + 0xd0]
mov edx, dword [ebp - 0x18]
cmp eax, dword [edx + 0x94]
jge 0x46f00c
test byte [ecx + 8], 0x10
jne 0x46daa9
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
add eax, ecx
test ecx, ecx
lea esi, [eax + 1]
cmovne esi, eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [edi + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x46d9da
add eax, 7
sar eax, 3
lea edi, [eax + ecx*4]
mov ecx, dword [ebp - 0x18]
mov eax, edi
cdq
push edx
push eax
call fcn.0043af20
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x46f060
mov ecx, dword [ebp - 0x3c]
call fcn.0045ed90
mov eax, dword [ebp - 0x3c]
mov ecx, 0x410
mov dword [eax + 0xc], edi
mov edi, dword [ebp - 0x44]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x30]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x24], 0x461d10
mov eax, dword [ebp - 0x24]
mov dword [ebx], eax
mov dword [ebx + 0x3c], esi
mov eax, dword [edi + 0xc]
mov dword [ebx + 0x40], eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x24]
mov dword [ebx + 0x30], eax
mov eax, dword [edx + 0x58]
mov dword [ebx + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [ebx + 0x38], eax
mov eax, dword [edx + 0x60]
mov dword [ebx + 0x14], eax
mov eax, dword [edx + 0x1c]
mov dword [ebx + 0x2c], eax
mov eax, dword [edx + 0x68]
mov dword [ebx + 8], eax
mov eax, dword [edx + 0x6c]
mov dword [ebx + 0x34], eax
mov eax, dword [edi + 0x14]
mov dword [ebx + 0x1c], eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
lea eax, [ebx + 0x50]
cmp eax, ecx
je 0x46daa1
mov edx, dword [ebp - 0x18]
mov esi, 0x80
nop dword [eax + eax]
mov word [eax + 8], si
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x46da90
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xd0]
jmp 0x46daaf
mov ebx, dword [ecx + 0x10]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
lea esi, [ebx + 0x50]
inc eax
mov dword [ebp - 0x28], esi
mov dword [edx + 0xd0], eax
mov eax, dword [edx + 0xc8]
mov dword [ebx + 4], eax
mov eax, dword [ecx + 0x28]
mov dword [ebx + 0x20], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebx + 0x24], eax
mov eax, dword [edx + 0x2c]
mov dword [ebx + 0x44], eax
mov eax, dword [edx]
mov eax, dword [eax + 0x64]
mov dword [ebx + 0x48], eax
mov eax, dword [edx + 0xdc]
mov dword [ebx + 0x28], eax
mov dword [edx + 0xdc], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0xc8], ebx
mov dword [edx + 0x58], esi
mov ecx, dword [ebx + 0x3c]
mov dword [edx + 0x18], ecx
movzx eax, word [ebx + 0x40]
mov dword [edx + 0x1c], eax
lea eax, [ecx + ecx*4]
lea ecx, [esi + eax*8]
mov dword [edx + 0x60], ecx
mov eax, dword [edi + 0xc]
lea ecx, [ecx + eax*4]
mov dword [ebx + 0x18], ecx
mov eax, dword [edi + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
mov edx, dword [ebp - 0x24]
add esp, 0xc
mov ecx, dword [edi]
mov dword [ebp - 0x30], ecx
mov dword [edx + 0x68], ecx
add ecx, 0xffffffec
mov eax, dword [edi + 4]
mov dword [edx + 0x6c], eax
mov dword [ebp - 0x14], ecx
jmp 0x46d021
mov edi, dword [ebp - 0x24]
mov ecx, edi
mov edx, dword [ebp - 0x14]
call fcn.00469490
mov esi, eax
mov eax, dword [edi + 0xc8]
push 0x1000
mov ecx, dword [eax + 0x30]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [ecx + edx*4 + 4]
mov edx, dword [ebp - 0x14]
add ecx, dword [edx + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.0045f5c0
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov eax, dword [ecx + 0x20]
and eax, 0x80000
or eax, 0
mov eax, dword [ebp - 0x14]
je 0x46dbdd
mov eax, dword [eax + 8]
mov edi, dword [ebp - 0x14]
cdq
add dword [ecx + 0x1f0], eax
mov eax, dword [ebp - 0x1c]
adc dword [ecx + 0x1f4], edx
add edi, 0x14
jmp 0x469593
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
cdq
je 0x46dc01
add dword [ecx + 0x1e8], eax
mov edi, dword [ebp - 0x14]
adc dword [ecx + 0x1ec], edx
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edi, dword [ebp - 0x24]
add dword [edi + 0x40], eax
mov eax, dword [ebp - 0x1c]
adc dword [edi + 0x44], edx
mov edi, dword [ebp - 0x14]
add edi, 0x14
jmp 0x469593
cmp dword [edi + 4], 0
je 0x46dc4d
mov eax, dword [ecx + 0x1e8]
or eax, dword [ecx + 0x1ec]
jne 0x46edc1
mov eax, dword [ecx + 0x1f0]
or eax, dword [ecx + 0x1f4]
je 0x46edaf
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x40]
or eax, dword [edx + 0x44]
jmp 0x46dc2a
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x46dc8a
mov eax, dword [edx + 4]
test eax, eax
je 0x46dc79
nop dword [eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x46dc70
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x46dc96
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov ecx, edi
call fcn.0045efb0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov ecx, esi
call fcn.0045efb0
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x4696cc
jl 0x46dcc8
cmp dword [edi], eax
jae 0x4696cc
mov esi, dword [ebp - 0x28]
mov dword [edi], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov edi, dword [ebx + esi*8 + 4]
mov ecx, dword [ebx + esi*8]
test edi, edi
jl 0x4696cc
jg 0x46dd06
test ecx, ecx
je 0x4696cc
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
mov dword [ebx + esi*8], ecx
sbb edi, edx
mov dword [ebx + esi*8 + 4], edi
jmp 0x46eda9
mov ecx, dword [ebp - 0x14]
mov edx, ecx
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x24]
lea ebx, [eax + eax*4]
call fcn.00469490
mov ecx, dword [ebp - 0x28]
mov edi, eax
mov eax, dword [ecx + esi*8]
mov ecx, dword [ecx + esi*8 + 4]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], ecx
test ecx, ecx
jl 0x46ddb0
jg 0x46dd58
test eax, eax
je 0x46ddb0
mov esi, dword [ebp - 0x28]
mov ecx, dword [esi + ebx*8 + 4]
mov eax, dword [esi + ebx*8]
test ecx, ecx
jl 0x46dd6c
jg 0x46dd7a
test eax, eax
jne 0x46dd7a
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
push ecx
push eax
lea ecx, [ebp - 0xe8]
call fcn.0043f7a0
add esp, 8
test eax, eax
jne 0x46ddb3
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x18]
mov dword [edi], eax
mov eax, dword [ebp - 0xe4]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
mov edi, dword [ebp - 0x14]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov ecx, dword [ebx + esi*8]
mov eax, ecx
mov edx, dword [ebx + esi*8 + 4]
or eax, edx
je 0x4696cc
test edx, edx
jl 0x46eda9
jg 0x46de00
test ecx, ecx
je 0x46eda9
sub ecx, 1
mov dword [ebx + esi*8], ecx
sbb edx, 0
mov dword [ebx + esi*8 + 4], edx
jmp 0x46eda9
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea edx, [eax + eax*4]
mov ecx, dword [esi + edx*8 + 4]
mov eax, dword [esi + edx*8]
cmp ecx, 0x80000000
jl 0x46de3d
jg 0x46de30
test eax, eax
je 0x46de3d
sub eax, 1
mov dword [esi + edx*8], eax
sbb ecx, 0
mov dword [esi + edx*8 + 4], ecx
mov edi, dword [ebp - 0x14]
or eax, ecx
mov ecx, dword [ebp - 0x18]
je 0x46edaf
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
push 0
movzx ebx, word [edx + 2]
lea eax, [ebx*4 + 0x44]
push eax
call fcn.0043b020
mov esi, eax
add esp, 8
test esi, esi
je 0x46f060
mov edx, dword [ebp - 0x18]
lea ecx, [ebx + 7]
lea ecx, [esi + ecx*4]
mov dword [esi + 8], 0
push 1
mov dword [esi], ecx
call fcn.0045f2b0
mov ecx, dword [ebp - 0x14]
add esp, 4
mov eax, dword [ecx + 0x10]
sub ecx, dword [ebp - 0x30]
mov dword [esi + 4], eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x14]
sar edx, 3
mov eax, edx
mov byte [esi + 0x18], 0
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x24]
mov dword [esi + 0xc], eax
mov byte [esi + 0x19], bl
mov word [ecx], 0xf09b
mov dword [ecx + 0x10], esi
jmp 0x46ded9
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0xc]
mov ebx, dword [ebp - 0x28]
mov esi, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov dword [ebp - 0x44], edi
cmp dword [esi + 8], edi
je 0x46df1e
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi + 8], edi
js 0x46df1e
mov edi, dword [ebp - 0x14]
lea edx, [ecx + 7]
lea edx, [esi + edx*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 0x46df05
mov edi, dword [ebp - 0x44]
inc dword [edi + 0xc]
lea eax, [esi + 0x1c]
mov edi, dword [ebp - 0x14]
movzx edx, byte [esi + 0x19]
mov ecx, dword [esi + 4]
push eax
cmp dword [edi + 4], 0
push edx
push esi
je 0x46df3c
mov eax, dword [ecx + 0x1c]
jmp 0x46df3f
mov eax, dword [ecx + 0x10]
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x46c11d
jle 0x46df72
push dword [esi]
call fcn.00466130
add esp, 4
push eax
push 0x522b44
push dword [ebp - 0x24]
call fcn.00460360
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x20], eax
cmp byte [esi + 0x18], 0
je 0x46df9b
mov eax, dword [ebp - 0x14]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x46df94
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ebx + eax*8]
call fcn.0045f390
add esp, 8
mov edi, dword [ebp - 0x14]
mov byte [esi + 0x18], 0
mov ecx, dword [esi]
call fcn.0045ed90
cmp dword [ebp - 0x20], 0
mov ecx, 1
mov eax, dword [esi]
mov word [eax + 8], cx
mov dword [esi + 0x14], 0
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x46e008
mov ebx, dword [ebp - 0x28]
lea eax, [eax + eax*4]
push dword [ecx + 0x10]
mov ecx, esi
lea edx, [ebx + eax*8]
call fcn.0045ecb0
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
jmp 0x46e014
mov edx, dword [ecx + 0x10]
mov ecx, esi
call fcn.0045ec10
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46f026
movzx edx, byte [ebp - 0x58]
mov ecx, esi
call fcn.0045e820
mov ecx, esi
call fcn.0045f560
test eax, eax
je 0x4696cc
push str.string_or_blob_too_big
push dword [ebp - 0x24]
call fcn.00460360
add esp, 8
mov edx, 0x12
jmp 0x46e3a5
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], 0
push eax
push dword [edx + 8]
mov edx, dword [edx + 4]
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0xc], 0xffffffff
call fcn.004ce360
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x46e0a1
cmp ecx, 5
jne 0x46e3a2
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
xor esi, esi
nop
mov eax, dword [ebp + esi*4 - 0x10]
mov ecx, edi
cdq
push edx
push eax
call fcn.0045f390
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x46e0b0
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ebx, dword [ebp - 0x14]
mov edx, ebx
mov ecx, dword [ebp - 0x24]
call fcn.00469490
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x44], eax
call fcn.0045c3c0
mov ebx, eax
mov ecx, ebx
call fcn.0044ccb0
mov edi, eax
cmp esi, 0xffffffff
mov ecx, ebx
cmove esi, edi
call fcn.0044ccc0
test eax, eax
mov ecx, ebx
cmove esi, edi
call fcn.0044c8e0
cmp esi, 5
jne 0x46e1ae
mov ecx, eax
call fcn.0043e370
test eax, eax
je 0x46e14d
mov ecx, ebx
call fcn.0044ce00
test eax, eax
jne 0x46e1ae
mov esi, edi
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x46e158
mov esi, edi
mov edx, esi
mov ecx, ebx
call fcn.0044cba0
mov ebx, dword [ebp - 0x3c]
mov ecx, 0xa02
mov word [ebx + 8], cx
mov ecx, eax
call fcn.0049c530
mov ecx, eax
mov dword [ebx + 0x10], eax
call fcn.0043e370
movzx edx, byte [ebp - 0x58]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov byte [ebx + 0xa], 1
call fcn.0045e820
cmp dword [ebp - 0x20], 0
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
cmp esi, edi
je 0x46e14f
cmp edi, 5
je 0x46e1bc
cmp esi, 5
jne 0x46e14f
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x4f], 0
je 0x46f03a
cmp dword [eax + 0xb4], 1
jg 0x46f03a
cmp edi, 5
jne 0x46e1fa
mov edx, eax
mov ecx, ebx
call fcn.0044d0a0
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x46e156
mov edx, esi
mov ecx, ebx
call fcn.0044cba0
jmp 0x46e213
cmp edi, 4
jne 0x46e209
lea edx, [edi - 2]
mov ecx, ebx
call fcn.0044cba0
cmp dword [ebp - 0x20], 0
jne 0x46e156
mov ecx, dword [ebp - 0x44]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.0045d730
mov dword [ebp - 0x20], eax
jmp 0x46e152
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
test eax, eax
je 0x46e23e
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
jmp 0x46e240
xor eax, eax
mov edx, dword [ebp - 0x18]
push eax
push dword [ecx + 4]
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx + 0x7c]
call fcn.004b1870
mov ecx, eax
add esp, 8
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.00454d20
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x4696cc
cmp ecx, 0x65
jne 0x46e3a2
mov dword [ebp - 0x20], 0
jmp 0x46eda9
cmp dword [edi + 4], 0
jne 0x46e2c8
mov edx, dword [edi + 8]
call fcn.004658f0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x24]
mov eax, dword [edi + 8]
inc eax
xor eax, dword [edx + 0x98]
and eax, 3
xor dword [edx + 0x98], eax
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x28]
call fcn.00455990
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x28]
call fcn.004559a0
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov al, byte [edi + 0xc]
mov byte [ebp - 0xb4], al
test al, al
jne 0x46e357
mov eax, dword [ecx + 0x20]
and eax, 0x400
mov dword [ebp - 0x48], eax
jne 0x46edc1
mov eax, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0xb4]
mov eax, dword [eax + 4]
add eax, eax
mov edx, dword [edx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0045d5f0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x469a9a
cmp cl, 6
jne 0x46e3a2
mov eax, dword [ebp - 0x14]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push dword [ebp - 0x24]
call fcn.00460360
add esp, 0xc
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov eax, 7
cmp byte [ecx + 0x51], 0
cmovne edx, eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], edx
cmp dword [eax + 0x7c], 0
jne 0x46e3f2
cmp edx, 0xc0a
je 0x46e3f2
mov ecx, edx
call fcn.004cd670
push eax
push 0x522b44
push dword [ebp - 0x24]
call fcn.00460360
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x28], edx
call fcn.0043e450
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
sub ecx, ebx
push dword [eax + 0x7c]
push dword [eax + 0xc0]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0x20]
call fcn.0043d780
mov ecx, dword [ebp - 0x24]
add esp, 0x14
call fcn.00463510
cmp dword [ebp - 0x20], 0xc0a
jne 0x46e446
mov ecx, dword [ebp - 0x18]
call fcn.0043b400
mov al, byte [ebp - 0x85]
mov dword [ebp - 0x20], 1
test al, al
je 0x46f2e4
mov ecx, dword [ebp - 0x18]
movzx edx, al
dec edx
call fcn.00485c00
mov ebx, dword [ebp - 0x20]
jmp 0x46f2e9
mov edx, dword [ebp - 0x14]
mov esi, dword [edx + 0x10]
mov edx, esi
call fcn.004b3480
mov ecx, eax
mov dword [ebp - 0x20], ecx
test esi, esi
je 0x46e493
mov edx, dword [esi + 8]
mov ecx, dword [ebp - 0x24]
call fcn.00465a80
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
xorps xmm0, xmm0
movq qword [ebp - 0x218], xmm0
mov dword [ebp - 0x218], ecx
mov ecx, dword [ebp - 0x14]
movups xmmword [ebp - 0x238], xmm0
movups xmmword [ebp - 0x228], xmm0
mov eax, dword [ecx + 8]
lea ecx, [ebp - 0x238]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
call fcn.0045f610
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x238]
push eax
call fcn.00466130
add esp, 4
test eax, eax
je 0x46e517
mov ecx, dword [ebp - 0x24]
add ecx, 0x7c
push ecx
mov ecx, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
call fcn.004b2e80
add esp, 8
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x238]
call fcn.0045ed90
cmp dword [ebp - 0x20], 0
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
inc dword [ecx + 0xc0]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.004b31b0
mov ecx, dword [ebp - 0x18]
mov edx, eax
add esp, 4
mov dword [ebp - 0x20], eax
dec dword [ecx + 0xc0]
test edx, edx
jne 0x46e3a5
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x5c], 0
mov eax, dword [ecx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x46efdb
mov edi, dword [esi]
test edi, edi
je 0x46efdb
lea eax, [ebp - 0x5c]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ecx, dword [ebp - 0x24]
add esp, 8
mov edx, esi
mov dword [ebp - 0x20], eax
call fcn.00465a80
cmp dword [ebp - 0x20], 0
jne 0x46e3a2
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x24]
push 2
push 0xffffffffffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
push 0
mov edx, dword [eax + 4]
call fcn.00469020
add esp, 0xc
test eax, eax
je 0x46f055
mov ecx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x14]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x24]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x60]
mov ebx, dword [ebx + 0x5c]
lea esi, [esi + edx*8]
add esi, 0x28
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x5c], esi
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x4c], eax
mov edi, dword [esi]
movd xmm0, esi
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x64], eax
pshufd xmm3, xmm0, 0
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [eax]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + edx*8]
mov dword [ebp - 0x74], edx
test edi, edi
jle 0x46e750
cmp edi, 0x10
jb 0x46e738
cmp dword [0x537b68], 2
jl 0x46e738
movaps xmm2, xmmword [0x52a2b0]
mov eax, edi
and eax, 0x8000000f
jns 0x46e67f
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [0x52a300]
mov edx, edi
sub edx, eax
mov esi, 8
mov dword [ebp - 0x44], edx
lea edx, [ebx + 0x20]
mov ebx, dword [ebp - 0x44]
nop dword [eax + eax]
movd xmm0, ecx
lea eax, [esi - 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
add ecx, 0x10
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [esi + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, esi
add esi, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x40], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x30], xmm0
cmp ecx, ebx
jl 0x46e6a0
mov ebx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x74]
cmp ecx, edi
jge 0x46e750
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, edi
jl 0x46e745
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x64]
push ebx
push edi
push dword [eax + 0x10]
mov edi, dword [ebp - 0x80]
push edx
push esi
mov eax, dword [edi + 0x20]
call eax
mov edx, dword [ebp - 0x34]
add esp, 0x14
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
call fcn.00465a80
cmp dword [ebp - 0x20], 0
jne 0x46e3a2
mov eax, dword [edi + 0x28]
push esi
call eax
mov ecx, dword [ebp - 0x4c]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
je 0x4696cc
jmp 0x46eda9
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
cmp byte [edi + 2], 0
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
je 0x46e7d6
mov ecx, esi
call fcn.0045f2d0
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
test byte [edx + 2], 1
xorps xmm0, xmm0
mov eax, dword [edi + 0x28]
mov ebx, dword [eax]
mov eax, dword [ebx]
movups xmmword [ebp - 0x1e8], xmm0
mov dword [ebp - 0x44], eax
movups xmmword [ebp - 0x1d8], xmm0
mov dword [ebp - 0x1e8], esi
je 0x46e814
mov ecx, esi
call fcn.0045f2d0
mov edx, dword [ebp - 0x14]
mov eax, 0x4001
mov dword [esi], 0
jmp 0x46e827
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 1
movzx eax, ax
mov word [esi + 8], ax
lea eax, [ebp - 0x1e8]
push dword [edx + 8]
push eax
mov eax, dword [ebp - 0x44]
push dword [edi + 0x28]
mov eax, dword [eax + 0x2c]
call eax
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov edx, ebx
mov dword [ebp - 0x20], eax
call fcn.00465a80
cmp dword [ebp - 0x1d4], 0
jle 0x46e87c
push esi
call fcn.00466130
add esp, 4
push eax
push 0x522b44
push dword [ebp - 0x24]
call fcn.00460360
mov eax, dword [ebp - 0x1d4]
add esp, 0xc
mov dword [ebp - 0x20], eax
movzx edx, byte [ebp - 0x58]
mov ecx, esi
call fcn.0045e820
mov ecx, esi
call fcn.0045f560
test eax, eax
jne 0x46e039
cmp dword [ebp - 0x20], eax
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x469773
mov eax, dword [edi + 0x28]
push eax
mov esi, dword [eax]
mov ebx, dword [esi]
mov eax, dword [ebx + 0x24]
call eax
mov ecx, dword [ebp - 0x24]
add esp, 4
mov edx, esi
mov dword [ebp - 0x20], eax
call fcn.00465a80
cmp dword [ebp - 0x20], 0
jne 0x46e3a2
push dword [edi + 0x28]
mov eax, dword [ebx + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x46d01b
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x30]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
jmp 0x46d024
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 - 0x14]
mov eax, dword [ecx + 0x10]
mov esi, dword [eax + 8]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x28]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.0045e820
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov eax, dword [esi]
push dword [ebx + 0x10]
push esi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [ebp - 0x20], eax
test edi, edi
jne 0x46e992
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0x24]
mov edx, esi
call fcn.00465a80
mov edx, dword [ebp - 0x24]
and dword [edx + 0x98], 0xfffffffc
cmp dword [ebp - 0x20], 0
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
cmp byte [ecx + 0x51], 0
jne 0x46cc69
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x46efdb
mov edx, dword [ebx]
test edx, edx
je 0x46efdb
cmp dword [edx + 0x34], 0
mov esi, dword [ebp - 0x14]
mov esi, dword [esi + 8]
je 0x4696cf
mov al, byte [ecx + 0x56]
mov ecx, dword [ebp - 0x28]
mov byte [ebp - 0x4d], al
mov eax, dword [ebp - 0x24]
mov edi, dword [eax + 0x5c]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x46ea2b
nop word [eax + eax]
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x46ea20
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov al, byte [eax + 2]
mov byte [ecx + 0x56], al
lea eax, [ebp - 0x128]
push eax
mov eax, dword [edx + 0x34]
push edi
push esi
push ebx
call eax
mov ecx, dword [ebp - 0x18]
add esp, 0x10
mov dword [ebp - 0x20], eax
mov edx, ebx
mov al, byte [ebp - 0x4d]
mov byte [ecx + 0x56], al
mov ecx, dword [ebp - 0x24]
call fcn.00465a80
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
test eax, eax
jne 0x46ea89
cmp dword [ecx + 4], eax
je 0x46ea89
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x128]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x124]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
cmp al, 0x13
jne 0x46ead3
mov eax, dword [ecx + 0x10]
cmp byte [eax + 0x10], 0
je 0x46ead3
movzx ecx, word [ecx + 2]
cmp ecx, 4
jne 0x46eaba
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
add edi, 0x14
jmp 0x469593
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov ecx, dword [ebp - 0x24]
mov byte [ecx + 0x92], al
jmp 0x46ead9
mov eax, dword [ebp - 0x24]
inc dword [eax + 0x2c]
cmp dword [ebp - 0x20], 0
jne 0x46e3a2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
call fcn.00469490
mov esi, eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x18]
shl edx, 4
mov ecx, dword [eax + 0x10]
mov ecx, dword [edx + ecx + 4]
call fcn.00452a20
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], 0
mov esi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x469593
mov ebx, dword [ebp - 0x14]
mov edx, ebx
mov ecx, dword [ebp - 0x24]
call fcn.00469490
mov edx, dword [ebx + 4]
mov edi, eax
mov eax, dword [ebp - 0x18]
add edx, edx
mov ecx, dword [eax + 0x10]
mov eax, ebx
mov esi, dword [ecx + edx*8 + 4]
xor edx, edx
cmp dword [eax + 0xc], edx
je 0x46eb73
mov ecx, esi
call fcn.00452a20
mov edx, eax
mov eax, ebx
mov eax, dword [eax + 0xc]
cmp edx, eax
cmovb edx, eax
mov ecx, esi
call fcn.00453b50
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x28]
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x14]
add edi, 0x14
jmp 0x469593
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x24]
mov eax, dword [ecx + 0xc]
mov esi, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x28]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [ebp - 0x44], edi
cmp dword [esi], edi
je 0x46ebeb
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi + 0xc], ebx
mov dword [esi], edi
js 0x46ebeb
mov edi, dword [ebp - 0x14]
lea edx, [esi + 0x1c]
mov ebx, dword [ebp - 0x28]
lea edx, [edx + ecx*4]
nop word [eax + eax]
mov eax, dword [edi + 8]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx], eax
sub edx, 4
sub ecx, 1
jns 0x46ebd0
mov edi, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x24]
mov ax, word [edi + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 1
mov word [edi + 8], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x19]
push eax
mov eax, dword [ecx + 0x10]
push esi
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x46ec69
jle 0x46ec3b
push edi
call fcn.00466130
add esp, 4
push eax
push 0x522b44
push ebx
call fcn.00460360
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
add edx, 0xdc
push dword [eax + 4]
push dword [esi + 0x10]
call fcn.00463a20
add esp, 8
mov dword [esi + 0x14], 0
cmp dword [ebp - 0x20], 0
jne 0x46e3a2
test byte [edi + 8], 0x12
je 0x4696cc
movzx edx, byte [ebp - 0x58]
mov ecx, edi
call fcn.0045e820
mov ecx, edi
call fcn.0045f560
test eax, eax
jne 0x46e039
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov cl, byte [ecx + 0x58]
mov edi, dword [ebp - 0x24]
test cl, 0x41
je 0x46ed5a
test byte [edi + 0x98], 0x10
jne 0x46ed5a
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x10]
test eax, eax
jne 0x46ecd5
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x46ed5a
mov ebx, dword [ebp - 0x18]
test cl, 0x40
je 0x46ed09
mov ecx, dword [ebp - 0x24]
mov edx, eax
mov edi, dword [ebx + 0xcc]
call fcn.00468b40
mov esi, eax
push esi
push dword [ebx + 0xd0]
call edi
push esi
call fcn.0043abf0
mov edi, dword [ebp - 0x24]
add esp, 0xc
mov esi, dword [ebp - 0x28]
jmp 0x46ed5a
cmp dword [ebx + 0xbc], 1
push eax
jle 0x46ed46
push str.____s
push ebx
call fcn.0043d4e0
mov ecx, dword [ebx + 0xcc]
add esp, 0xc
mov esi, eax
push esi
push edi
push dword [ebx + 0xd0]
push 1
call ecx
add esp, 0x10
mov edx, esi
mov ecx, ebx
call fcn.0043ad00
mov esi, dword [ebp - 0x28]
jmp 0x46ed5a
mov eax, dword [ebx + 0xcc]
push edi
push dword [ebx + 0xd0]
push 1
call eax
add esp, 0x10
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
cmp eax, dword [0x535164]
jl 0x46ed9f
cmp byte [ecx], 0xaa
je 0x469773
mov edx, 1
cmp dword [edi + 0x6c], edx
jle 0x46ed9d
mov eax, 0x14
mov ecx, dword [edi + 0x68]
cmp byte [eax + ecx], 0x11
jne 0x46ed91
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [edi + 0x6c]
jl 0x46ed80
mov ecx, dword [ebp - 0x14]
xor eax, eax
inc eax
mov dword [ecx + 4], eax
inc dword [edi + 0xbc]
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x30]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add edi, 0x14
jmp 0x469593
mov edx, dword [ebp - 0x14]
mov dword [ebx + 0x28], ecx
mov al, byte [edx + 8]
mov byte [ebx + 0x92], al
mov dword [ebx + 0x24], esi
test ecx, ecx
je 0x46ee51
movzx eax, word [edx + 2]
test ax, ax
je 0x46ee23
push dword [eax*4 + 0x519d34]
push str._s_constraint_failed
push ebx
call fcn.00460360
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov eax, dword [eax + 0x10]
test eax, eax
je 0x46ee34
push eax
push dword [ebx + 0x7c]
push str._z:__s
push dword [ebp - 0x18]
call fcn.0043d4e0
add esp, 0x10
mov dword [ebx + 0x7c], eax
jmp 0x46ee34
push dword [edx + 0x10]
push 0x522b44
push ebx
call fcn.00460360
add esp, 0xc
push dword [ebx + 0x7c]
mov eax, dword [ebp - 0x14]
push dword [ebx + 0xc0]
push esi
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.0043d780
add esp, 0x14
mov ecx, ebx
call fcn.00463510
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, 5
jne 0x46ee70
mov dword [ebx + 0x28], eax
mov ebx, eax
jmp 0x46f2e9
cmp dword [ebx + 0x28], 0
mov eax, 0x65
mov ecx, 1
cmovne eax, ecx
mov dword [ebp - 0x20], eax
mov ebx, eax
jmp 0x46f2e9
push 0x52a07c
push 0x1569f
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0043d780
add esp, 0x14
mov edx, 0xb
jmp 0x46e3a8
push str.cannot_open_savepoint___SQL_statements_in_progress
push dword [ebp - 0x24]
call fcn.00460360
add esp, 8
mov edx, 5
jmp 0x46e3a5
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x46eeb8
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x30]
mov ebx, 5
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
imul ecx
mov ecx, dword [ebp - 0x18]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x24], eax
mov byte [ecx + 0x4f], 0
mov dword [edx + 0x28], ebx
jmp 0x46f2f0
mov edx, 8
jmp 0x46e3a5
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
cmp cl, 5
jne 0x46f2d9
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x20]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x24], eax
mov dword [edx + 0x28], ebx
jmp 0x46f2e9
mov ebx, dword [ebp - 0x24]
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x46ef5e
mov ecx, dword [ebp - 0x18]
call fcn.0043acb0
mov ecx, dword [ebp - 0x18]
push 0
push 0x1c
call fcn.0043afe0
mov esi, eax
add esp, 8
test esi, esi
je 0x46ef83
push 0x1c
push str.database_schema_has_changed
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x7c], esi
mov edx, dword [eax + 4]
mov ecx, edx
mov eax, dword [ebp - 0x18]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x74]
je 0x46efa9
mov ecx, dword [ebp - 0x18]
call fcn.00485c00
mov ecx, ebx
mov edx, 0x11
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
jmp 0x46e3a5
mov edx, 0x204
jmp 0x46e3a5
mov ecx, dword [ebp - 0x24]
mov byte [ecx + 0x92], 2
mov edx, 6
jmp 0x46e3a5
mov dword [ebp - 0x20], 7
mov ecx, dword [ebp - 0x18]
call fcn.00485f00
cmp dword [ebp - 0x20], 7
mov edi, dword [ebp - 0x2c]
je 0x46f2d1
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x30]
jmp 0x46e3ab
push str.too_many_levels_of_trigger_recursion
push dword [ebp - 0x24]
call fcn.00460360
add esp, 8
mov edx, 1
jmp 0x46e3a5
push esi
call fcn.00466130
add esp, 4
push eax
push 0x522b44
jmp 0x46e397
cmp esi, 5
mov eax, str.into
mov ecx, str.out_of
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x46b8ab
push dword [ebp - 0x5c]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
mov ecx, dword [ebp - 0x18]
jmp 0x46cc69
mov ebx, dword [ebp - 0x30]
or edi, 0xffffffff
mov edx, 9
jmp 0x46e3ab
mov ecx, dword [ebp - 0x24]
xor edx, edx
call fcn.004634b0
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x46e3a2
mov edx, dword [ebp - 0x24]
mov eax, dword [edx]
cmp dword [eax + 0x1e0], ecx
je 0x46f0af
cmp dword [edx + 0x30], ecx
je 0x46f0af
lea edx, [ecx + 1]
mov ecx, dword [ebp - 0x24]
call fcn.00463390
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x20]
xor edi, edi
mov ecx, dword [ebp - 0x14]
add eax, 2
or eax, 1
mov dword [edx + 0x20], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [edx + 0x78], esi
cmp dword [ecx + 8], edi
jle 0x46f120
mov ebx, 0x202
nop word [eax + eax]
mov eax, 0x1000
test word [esi + 8], ax
je 0x46f0fd
mov ecx, esi
call fcn.0045ea20
test eax, eax
jne 0x46f060
mov ecx, dword [ebp - 0x14]
mov ax, word [esi + 8]
and ax, bx
cmp ax, 2
jne 0x46f114
mov ecx, esi
call fcn.0045e9d0
mov ecx, dword [ebp - 0x14]
inc edi
add esi, 0x28
cmp edi, dword [ecx + 8]
jl 0x46f0e0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
cmp byte [ecx + 0x51], 0
jne 0x46cc69
test byte [ecx + 0x58], 4
je 0x46f149
mov eax, dword [ecx + 0xcc]
push 0
push edx
push dword [ecx + 0xd0]
push 4
call eax
add esp, 0x10
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x30]
mov ebx, 0x64
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
imul ecx
mov ecx, dword [ebp - 0x24]
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [ecx + 0x24], eax
jmp 0x46f2e9
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov ebx, dword [ecx + 4]
movzx eax, byte [edx + 0x4f]
mov ecx, dword [ecx + 8]
cmp ebx, eax
je 0x46f254
test ecx, ecx
je 0x46f1ab
mov esi, dword [ebp - 0x18]
mov edx, 0x204
mov ecx, esi
call fcn.004cd530
mov al, 1
mov edi, 1
jmp 0x46f1e3
test ebx, ebx
je 0x46f1c2
cmp dword [edx + 0xb8], 0
jle 0x46f1c2
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x46eeb8
mov ecx, dword [ebp - 0x24]
mov edi, 1
mov edx, edi
mov dword [ebp - 0xb4], ebx
call fcn.004634b0
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x46f246
mov esi, dword [ebp - 0x18]
mov eax, ebx
mov ecx, dword [ebp - 0x24]
mov byte [esi + 0x4f], al
call fcn.00463510
cmp eax, 5
jne 0x46f22d
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
imul ecx
mov ecx, dword [ebp - 0x18]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x24], eax
mov al, 1
sub al, bl
mov ebx, 5
mov byte [ecx + 0x4f], al
mov dword [edx + 0x28], ebx
jmp 0x46f2f0
mov ecx, esi
call fcn.004cc950
mov ecx, dword [ebp - 0x24]
mov eax, 0x65
cmp dword [ecx + 0x28], 0
cmovne eax, edi
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
jmp 0x46f2e9
test ebx, ebx
jne 0x46f271
mov eax, str.cannot_start_a_transaction_within_a_transaction
push eax
push dword [ebp - 0x24]
call fcn.00460360
add esp, 8
lea edx, [ebx + 1]
jmp 0x46e3a5
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 dword [ebp - 0x24]
call fcn.00460360
add esp, 8
mov edx, 1
jmp 0x46e3a5
mov edi, dword [ebp - 0x2c]
xor eax, eax
cmp byte [ecx + 0x51], al
sete al
lea eax, [eax*2 + 7]
mov ecx, eax
mov dword [ebp - 0x20], eax
mov dword [edx + 0x28], eax
call fcn.004cd670
push eax
push 0x522b44
push dword [ebp - 0x24]
call fcn.00460360
mov edx, dword [ebp - 0x20]
add esp, 0xc
mov ebx, dword [ebp - 0x30]
jmp 0x46e3ab
mov ecx, dword [ebp - 0x18]
jmp 0x46cc6c
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x30]
jmp 0x46e3ae
mov ebx, 1
mov ecx, dword [ebp - 0x18]
nop dword [eax]
cmp esi, edi
jb 0x46f326
mov eax, dword [ecx + 0x158]
test eax, eax
je 0x46f326
push dword [ecx + 0x15c]
add edi, dword [ecx + 0x160]
call eax
mov ecx, dword [ebp - 0x18]
add esp, 4
test eax, eax
je 0x46f2f0
mov ebx, dword [ebp - 0x30]
or edi, 0xffffffff
mov edx, 9
jmp 0x46e3ae
mov edx, dword [ebp - 0x24]
mov ecx, edx
add dword [edx + 0xb4], esi
call fcn.00461c30
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0051023c
mov esp, ebp
pop ebp
ret