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

Disassembly:
sub esp, 0x264
mov eax, dword [0x501008]
xor eax, esp
mov dword [esp + 0x25c], eax
push ebx
mov ebx, ecx
mov dword [esp + 0x14], 0
push ebp
push esi
push edi
mov eax, dword [ebx + 0x68]
mov ebp, dword [ebx]
mov edi, dword [ebx + 0x58]
mov dword [esp + 0x54], eax
mov dword [esp + 0x14], eax
xor al, al
mov byte [esp + 0x8b], al
mov al, byte [ebp + 0x4e]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x2c], ebp
mov byte [esp + 0x50], al
mov dword [esp + 0x90], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x28], edi
call fcn.00457f00
cmp dword [ebp + 0x158], 0
je 0x45eb03
mov esi, dword [ebp + 0x160]
xor edx, edx
mov eax, dword [ebx + 0xb4]
div esi
sub esi, edx
jmp 0x45eb06
or esi, 0xffffffff
mov edx, ebx
mov dword [esp + 0x24], esi
cmp dword [edx + 0x28], 7
je 0x464c7b
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov dword [edx + 0x78], 0
cmp dword [ebp + 0x110], 0
mov dword [ebp + 0x1ac], 0
jne 0x464c37
mov eax, dword [edx + 0x24]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x54]
movsd qword [esp + 0x188], xmm0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
xor eax, eax
mov dl, byte [ecx]
inc eax
mov esi, dword [esp + 0x50]
movzx ebx, dl
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x4b], dl
cmp ebx, 0xaa
ja case.0x45eb7f.85
jmp dword [ebx*4 + 0x464d30]
mov edx, dword [esp + 0x14]
mov ecx, edx
sub ecx, dword [esp + 0x54]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, 4
mov word [edi + esi*8 + 8], ax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [edi + esi*8], eax
mov dword [edi + esi*8 + 4], edx
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebp, [ecx + eax*4]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x54]
lea ecx, [eax + eax*4]
mov eax, dword [edi + ecx*8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*4]
mov eax, 0x80
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x28]
mov word [edi + ecx*8 + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [edi + ecx*8], eax
mov eax, 4
mov dword [edi + ecx*8 + 4], edx
mov word [edi + ecx*8 + 8], ax
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 8], 0
jne 0x45ebb9
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x54]
lea ecx, [eax + eax*4]
mov eax, dword [edi + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x45ebfd
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
sub edx, dword [esp + 0x54]
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [edi + esi*8]
mov word [edi + esi*8 + 8], ax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [edi + esi*8], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x54]
mov dword [edi + esi*8 + 4], edx
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 1
je 0x45f18b
sub ecx, dword [esp + 0x54]
mov eax, 0x66666667
mov ebx, dword [esp + 0x18]
imul ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 4]
test ecx, ecx
jne 0x464735
mov edx, dword [ebx + 0xc8]
test edx, edx
je 0x464731
mov eax, dword [edx + 4]
mov ecx, edx
dec dword [ebx + 0xd0]
mov dword [ebx + 0xc8], eax
mov eax, dword [ebx + 0x2c]
add dword [ebp + 0x68], eax
mov dword [ebp + 0x64], eax
call fcn.00458ae0
mov ecx, eax
mov edx, ebx
mov eax, dword [esp + 0x14]
mov esi, dword [edx + 0x68]
cmp dword [eax + 8], 4
mov dword [esp + 0x54], esi
jne 0x45ed49
lea eax, [ecx + ecx*4]
mov ecx, dword [esi + eax*4 + 8]
dec ecx
mov edi, dword [edx + 0x58]
lea eax, [ecx + ecx*4]
lea ecx, [esi + eax*4]
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x45eda5
call fcn.0045ea20
mov ecx, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x45eb5d
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x45edf5
mov ecx, edx
call fcn.0045ea20
mov edx, eax
jmp 0x45edfe
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x45ee45
call fcn.0045ea20
mov ecx, eax
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [esp + 0x1c]
movsd qword [ecx], xmm0
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x45eb5d
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x45ee97
mov ecx, esi
call fcn.0045ea20
mov esi, eax
jmp 0x45eea0
mov eax, 4
mov word [esi + 8], ax
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x45eeab
xor ecx, ecx
jmp 0x45eec3
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45eeb0
sub ecx, edi
mov edi, dword [esp + 0x28]
and ecx, 0x3fffffff
cmp byte [esp + 0x50], 1
mov dword [ebx + 4], ecx
je 0x45ef49
push 0
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.00455f80
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
jne 0x464a15
test byte [esi + 8], 2
je 0x45ef09
mov al, byte [esp + 0x50]
cmp byte [esi + 0xa], al
je 0x45ef09
mov dl, al
mov ecx, esi
call fcn.0043a6a0
test eax, eax
jne 0x464c77
mov ecx, dword [esp + 0x14]
mov eax, 0x800
or word [esi + 8], ax
mov dword [esi + 0x18], 0
cmp byte [ecx + 1], 0xf9
jne 0x45ef35
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x45ef35
mov ecx, ebp
call fcn.00437a00
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 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
cmp ecx, dword [ebp + 0x6c]
jg 0x464a15
mov byte [ebx], 0x47
jmp 0x45ef5b
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x45ef7d
call fcn.0045ea20
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 [esp + 0x50]
mov byte [ecx + 0xa], al
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x45f4db
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
cdq
cmp dword [edi + esi*8], eax
jne 0x45f4db
cmp dword [edi + esi*8 + 4], edx
jne 0x45f4db
mov eax, 0xa10
mov word [ecx + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x45f00a
mov ecx, edx
call fcn.0045ea20
mov edx, eax
jmp 0x45f013
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 0x45f4db
mov eax, 0x2400
nop dword [eax]
test word [esi + 0x28], ax
lea esi, [esi + 0x28]
je 0x45f066
lea ecx, [esi - 8]
call fcn.004556f0
mov eax, 0x2400
dec edi
mov word [esi], bx
mov dword [esi + 4], 0
test edi, edi
jg 0x45f050
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [ecx + 4]
mov edx, 0xff41
lea ecx, [eax + eax*4]
mov ax, word [edi + ecx*8 + 8]
and ax, dx
or ax, 1
mov word [edi + ecx*8 + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x45f0df
mov ecx, esi
call fcn.0045ea20
mov esi, eax
jmp 0x45f0e8
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
mov ecx, esi
push 0
push 0
push dword [eax + 4]
mov edx, dword [eax + 0x10]
call fcn.00455f80
mov al, byte [esp + 0x5c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov byte [esi + 0xa], al
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x64]
lea edi, [eax + ecx*8]
lea ecx, [edi - 0x28]
call fcn.00455e70
test eax, eax
jne 0x464a15
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x45f15e
mov ecx, esi
call fcn.004556f0
movups xmm0, xmmword [edi - 0x28]
mov ecx, 0xebff
movups xmmword [esi], xmm0
mov eax, dword [edi - 0x18]
mov dword [esi + 0x10], eax
mov ax, word [esi + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [esi + 8], ax
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x2400
test word [esi + 8], ax
jne 0x45f1c5
cmp dword [esi + 0x18], 0
je 0x45f1cc
mov ecx, esi
call fcn.00455730
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 0x45f20e
mov ecx, esi
call fcn.00455490
test eax, eax
jne 0x464c77
add edi, 0x28
add esi, 0x28
sub ebx, 1
jne 0x45f1b4
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
nop word [eax + eax]
push 0x1000
mov edx, edi
mov ecx, esi
call fcn.00455ec0
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x45f27b
mov ecx, esi
call fcn.00455490
test eax, eax
jne 0x464c77
mov eax, ebx
dec ebx
test eax, eax
je 0x45f4db
add esi, 0x28
add edi, 0x28
jmp 0x45f250
mov edx, dword [esp + 0x14]
push 0x1000
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.00455ec0
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ebx, 0x2400
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
mov edx, dword [edi + eax*8]
mov eax, dword [edi + eax*8 + 4]
test word [ecx + 8], bx
je 0x45f304
push eax
push edx
call fcn.00455cc0
mov ecx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov dword [ecx + 4], eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [esp + 0x1c]
mov dword [ecx], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, edx
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [ebx + 8]
mov al, byte [edi + 8]
or al, cl
mov dword [esp + 0x58], ecx
test al, 1
je 0x45f388
mov eax, 0x2400
test word [esi + 8], ax
je 0x45f37e
mov ecx, esi
call fcn.004556f0
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, 1
jmp 0x45f17f
test cl, 0x12
jne 0x45f39f
mov dl, byte [esp + 0x50]
mov ecx, ebx
push 0
call fcn.00455540
add esp, 4
jmp 0x45f3ae
test ecx, 0x4000
je 0x45f3c9
mov ecx, ebx
call fcn.004554e0
test eax, eax
jne 0x464c77
mov ax, word [ebx + 8]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [esp + 0x58], eax
movzx edx, word [edi + 8]
mov dword [esp + 0x38], edx
test dl, 0x12
jne 0x45f3ff
mov dl, byte [esp + 0x50]
mov ecx, edi
push 0
call fcn.00455540
add esp, 4
test eax, eax
jne 0x464c77
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx ebp, ax
jmp 0x45f42b
test edx, 0x4000
je 0x45f427
mov ecx, edi
call fcn.004554e0
test eax, eax
jne 0x464c77
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx ebp, ax
jmp 0x45f42b
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov edx, dword [ebx + 0xc]
add edx, dword [edi + 0xc]
mov dword [esp + 0x38], edx
cmp edx, dword [eax + 0x6c]
jg 0x464a13
xor eax, eax
mov ecx, esi
cmp esi, edi
sete al
add edx, 3
push eax
call fcn.004552d0
add esp, 4
test eax, eax
jne 0x464c73
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x45f48c
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov word [edi + 8], bp
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 eax, dword [esp + 0x64]
add esp, 0xc
mov ecx, dword [esp + 0x38]
mov word [ebx + 8], ax
mov eax, dword [esi + 0x10]
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 [esp + 0x50]
mov dword [esi + 0xc], ecx
mov byte [esi + 0xa], al
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ebp, [edi + eax*8]
mov ecx, ebp
mov dword [esp + 0x34], ebp
call fcn.0045ea00
movzx ebx, ax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [esp + 0x58], eax
call fcn.0045ea00
movzx ecx, ax
mov eax, dword [esp + 0x14]
and cl, bl
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x58]
mov ax, word [eax + 8]
or ax, word [ebp + 8]
movzx eax, ax
test cl, 4
je 0x45f6e2
mov eax, dword [esp + 0x58]
mov edx, dword [ebp]
mov esi, dword [ebp + 4]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], edi
movzx eax, byte [eax]
add eax, 0xffffff97
cmp eax, 3
ja case.default.0x45f580
jmp dword [eax*4 + 0x464fdc]
test esi, esi
jl 0x45f5ba
jg 0x45f591
test edx, edx
jb 0x45f5ba
test edi, edi
jl 0x45f5f4
jg 0x45f59b
test ebx, ebx
je 0x45f5f4
or ecx, 0xffffffff
mov eax, 0x7fffffff
sub ecx, ebx
sbb eax, edi
cmp eax, esi
jg 0x45f5f4
jl 0x45f71c
cmp ecx, edx
jae 0x45f5f4
jmp 0x45f71c
test edi, edi
jg 0x45f5f4
jl 0x45f5c4
test ebx, ebx
jae 0x45f5f4
mov ebp, edx
mov ecx, esi
add ebp, 1
mov eax, 1
adc ecx, 0
sub eax, ebx
mov dword [esp + 0x38], eax
mov eax, 0x80000000
sbb eax, edi
cmp eax, ecx
jg 0x45f718
jl 0x45f5f4
cmp dword [esp + 0x38], ebp
ja 0x45f718
add ebx, edx
mov dword [esp + 0x98], ebx
adc edi, esi
mov dword [esp + 0x9c], edi
jmp 0x45f69c
push esi
push edx
lea ecx, [esp + 0xa0]
call fcn.0043bf70
add esp, 8
test eax, eax
jne 0x45f71c
jmp 0x45f69c
push esi
push edx
lea ecx, [esp + 0xa0]
call fcn.0043bfc0
add esp, 8
test eax, eax
jne 0x45f71c
jmp 0x45f69c
mov eax, edx
or eax, esi
je 0x45f6e6
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x45f664
test ebx, ebx
jne 0x45f664
cmp edi, 0x80000000
je 0x45f71c
push esi
push edx
push edi
push ebx
call fcn.004daff0
jmp 0x45f68e
mov eax, edx
or eax, esi
je 0x45f6e6
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x45f685
mov edx, 1
xor esi, esi
push esi
push edx
push edi
push ebx
call fcn.004db1c0
mov dword [esp + 0x9c], edx
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x78]
mov edx, 0x3e40
mov eax, dword [esp + 0x98]
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov dword [ecx], eax
mov eax, dword [esp + 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 [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
test al, 1
je 0x45f71c
mov eax, dword [esp + 0x78]
mov ecx, 0x2400
test word [eax + 8], cx
je 0x45f830
mov ecx, eax
call fcn.004556f0
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ebp, dword [esp + 0x34]
mov ecx, ebp
call fcn.004558b0
mov ebx, dword [esp + 0x58]
mov ecx, ebx
movsd qword [esp + 0x38], xmm0
call fcn.004558b0
mov eax, dword [esp + 0x14]
movzx eax, byte [eax]
add eax, 0xffffff97
cmp eax, 3
ja case.default.0x45f743
jmp dword [eax*4 + 0x464fec]
addsd xmm0, qword [esp + 0x38]
jmp 0x45f7cd
subsd xmm0, qword [esp + 0x38]
jmp 0x45f7cd
mulsd xmm0, qword [esp + 0x38]
jmp 0x45f7cd
movsd xmm1, qword [esp + 0x38]
ucomisd xmm1, qword [esp + 0x188]
lahf
test ah, 0x44
jnp 0x45f6e6
divsd xmm0, xmm1
jmp 0x45f7cd
mov ecx, ebp
call fcn.00455820
mov ecx, ebx
mov esi, eax
mov edi, edx
call fcn.00455820
mov ecx, eax
mov dword [esp + 0x9c], edx
mov eax, esi
mov dword [esp + 0x98], ecx
or eax, edi
je 0x45f6e6
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x45f7bd
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push ecx
call fcn.004db1c0
mov ecx, eax
call fcn.004db7d0
movsd qword [esp + 0x38], xmm0
mov ecx, dword [esp + 0x3c]
mov eax, ecx
and eax, 0x7ff00000
xor edx, edx
cmp eax, 0x7ff00000
jne 0x45f7f9
mov eax, dword [esp + 0x38]
and ecx, 0xfffff
or eax, ecx
jne 0x45f6e6
mov ecx, dword [esp + 0x78]
mov edx, 0x3e40
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 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 [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ebp, dword [esp + 0x2c]
mov ecx, 1
mov edi, dword [esp + 0x28]
mov word [eax + 8], cx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [ecx + 4]
test eax, eax
je 0x45f18b
lea eax, [eax + eax*4]
mov edx, 0x2400
test word [edi + eax*8 + 8], dx
lea eax, [edi + eax*8]
je 0x45f88c
push 0
push 0
mov ecx, eax
call fcn.00455cc0
mov ecx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 8], dx
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea ebp, [edx + eax*8]
mov al, byte [ecx + 8]
or al, byte [edi + 8]
test al, 1
je 0x45f926
mov eax, 0x2400
test word [ebp + 8], ax
je 0x45f905
mov ecx, ebp
call fcn.004556f0
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edi, dword [esp + 0x28]
mov eax, 1
mov ecx, dword [esp + 0x14]
mov word [ebp + 8], ax
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
call fcn.00455820
mov ebx, eax
mov esi, edx
mov ecx, edi
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], esi
call fcn.00455820
mov edi, eax
mov eax, dword [esp + 0x14]
mov cl, byte [eax]
cmp cl, 0x65
jne 0x45f957
and ebx, edi
and esi, edx
jmp 0x45f9bd
cmp cl, 0x66
jne 0x45f962
or ebx, edi
or esi, edx
jmp 0x45f9bd
mov eax, edi
or eax, edx
je 0x45f9bd
test edx, edx
jg 0x45f996
jl 0x45f972
test edi, edi
jae 0x45f98b
mov al, 0xcf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x45f996
jg 0x45f984
cmp edi, 0xffffffc0
jbe 0x45f996
neg edi
adc edx, 0
neg edx
test edx, edx
jl 0x45f9ef
jg 0x45f996
cmp edi, 0x40
jb 0x45f9ef
test esi, esi
jg 0x45f9ac
jl 0x45f9a0
test ebx, ebx
jae 0x45f9ac
cmp cl, 0x67
je 0x45f9ac
or ebx, 0xffffffff
or esi, ebx
jmp 0x45f9bd
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov ax, word [ebp + 8]
mov ecx, 0x3e40
mov edi, dword [esp + 0x28]
and ax, cx
mov ecx, dword [esp + 0x14]
or ax, 4
mov word [ebp + 8], ax
mov eax, dword [esp + 0x1c]
mov dword [ebp], ebx
mov dword [ebp + 4], esi
mov ebp, dword [esp + 0x2c]
add ecx, 0x14
jmp 0x45eb5d
movq xmm1, qword [esp + 0xf8]
movd xmm0, edi
cmp cl, 0x67
jne 0x45fa0d
psllq xmm1, xmm0
movq qword [esp + 0x38], xmm1
jmp 0x45f9b5
psrlq xmm1, xmm0
movq qword [esp + 0x38], xmm1
test esi, esi
jg 0x45f9b5
jl 0x45fa21
test ebx, ebx
jae 0x45f9b5
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, edi
or edx, 0xffffffff
call fcn.004db280
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
or ebx, eax
or esi, edx
jmp 0x45f9bd
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov ecx, esi
call fcn.00455820
mov dword [esi], eax
mov ecx, 0x3e40
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
mov ecx, dword [esp + 0x14]
or ax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
mov eax, dword [esp + 0x1c]
adc dword [esi + 4], edx
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x45fad3
push dword [esp + 0x50]
mov dl, 0x43
mov ecx, esi
call fcn.0045e8c0
movzx eax, word [esi + 8]
add esp, 4
mov ecx, eax
test al, 4
jne 0x45fad3
mov eax, dword [esp + 0x14]
cmp dword [eax + 8], 0
jne 0x45ebb9
mov eax, 0x14
jmp 0x461102
mov eax, dword [esp + 0x1c]
and ecx, 0x3e40
or ecx, 4
mov word [esi + 8], cx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 0x24
lea esi, [edi + eax*8]
je 0x45f18b
mov ecx, esi
call fcn.004558b0
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
movsd qword [esi], xmm0
mov ecx, dword [esp + 0x14]
or ax, 8
mov word [esi + 8], ax
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x45fb5a
mov ecx, esi
call fcn.004554e0
test eax, eax
jne 0x464ca8
mov eax, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0x50]
mov dl, byte [eax + 8]
call fcn.00455ba0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
movzx esi, word [edi + eax*8 + 8]
lea edi, [edi + eax*8]
movzx eax, word [ebx + 8]
mov ecx, esi
mov edx, ecx
mov dword [esp + 0x44], eax
or edx, eax
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x14]
test dl, 1
je 0x45fc58
movzx eax, word [eax + 2]
test al, al
jns 0x45fbf9
mov al, byte [esp + 0x30]
and al, byte [esp + 0x44]
test al, 1
je 0x45fbe8
test ecx, 0x100
jne 0x45fbe8
xor ecx, ecx
jmp 0x45fd79
not ecx
and ecx, 1
lea ecx, [ecx*2 - 1]
jmp 0x45fd79
test al, 0x20
je 0x45fc3c
mov eax, dword [esp + 0x14]
mov edx, 0x3e40
mov edi, dword [esp + 0x28]
mov dword [esp + 0x90], 1
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov ax, word [edi + ecx*8 + 8]
and ax, dx
or ax, 1
mov word [edi + ecx*8 + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
test al, 0x10
jne 0x45ebb9
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov al, byte [eax + 2]
and al, 0x47
cmp al, 0x43
jb 0x45fce8
mov ecx, esi
test dl, 2
je 0x45fca3
mov al, byte [esp + 0x44]
and al, 0x2e
cmp al, 2
jne 0x45fc87
xor edx, edx
mov ecx, ebx
call fcn.0045e7b0
movzx eax, word [edi + 8]
mov dword [esp + 0x30], eax
mov al, byte [esp + 0x30]
movzx ecx, word [esp + 0x30]
and al, 0x2e
cmp al, 2
jne 0x45fca3
xor edx, edx
mov ecx, edi
call fcn.0045e7b0
movzx ecx, word [edi + 8]
mov al, byte [ebx + 8]
and al, cl
test al, 4
je 0x45fd64
mov ecx, dword [edi + 4]
mov eax, dword [ebx + 4]
mov esi, dword [edi]
mov edx, dword [ebx]
cmp ecx, eax
jl 0x45fce0
jg 0x45fcc4
cmp esi, edx
jbe 0x45fcce
mov ecx, 1
jmp 0x45fd79
cmp ecx, eax
jg 0x45fbe1
jl 0x45fce0
cmp esi, edx
jae 0x45fbe1
or ecx, 0xffffffff
jmp 0x45fd79
cmp al, 0x42
jne 0x45fd64
mov al, byte [esp + 0x44]
test al, 2
jne 0x45fd32
test al, 0x2c
je 0x45fd32
mov dl, byte [esp + 0x50]
mov ecx, ebx
push 1
call fcn.00455540
mov ax, word [ebx + 8]
mov esi, 0x3e40
xor ax, word [esp + 0x48]
add esp, 4
and ax, si
xor word [esp + 0x44], ax
cmp ebx, edi
jne 0x45fd37
mov eax, dword [esp + 0x44]
or eax, 2
movzx eax, ax
mov dword [esp + 0x30], eax
jmp 0x45fd37
mov esi, 0x3e40
mov al, byte [esp + 0x30]
test al, 2
jne 0x45fd64
test al, 0x2c
je 0x45fd64
mov dl, byte [esp + 0x50]
mov ecx, edi
push 1
call fcn.00455540
mov ax, word [edi + 8]
add esp, 4
xor ax, word [esp + 0x30]
and ax, si
xor word [esp + 0x30], ax
mov eax, dword [esp + 0x14]
mov edx, ebx
mov ecx, edi
push dword [eax + 0x10]
call fcn.0045a4a0
add esp, 4
mov ecx, eax
mov eax, dword [esp + 0x14]
movzx eax, byte [eax]
test ecx, ecx
jns 0x45fd8c
mov al, byte [eax + 0x4eaf60]
jmp 0x45fd9c
jne 0x45fd96
mov al, byte [eax + 0x4e7078]
jmp 0x45fd9c
mov al, byte [eax + 0x4e5a74]
movzx edx, al
movzx eax, word [esp + 0x30]
mov word [edi + 8], ax
movzx eax, word [esp + 0x44]
mov word [ebx + 8], ax
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
test al, 0x20
je 0x45fe1a
mov dword [esp + 0x90], ecx
test al, 8
je 0x45fddc
mov ecx, dword [esp + 0x14]
xor eax, eax
cmp byte [ecx], 0x35
sete al
cmp eax, edx
je 0x45f4df
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [eax + 8]
lea esi, [eax + eax*4]
mov eax, 0x3e40
mov cx, word [edi + esi*8 + 8]
and cx, ax
mov eax, edx
cdq
or cx, 4
mov word [edi + esi*8 + 8], cx
mov ecx, dword [esp + 0x14]
mov dword [edi + esi*8], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + esi*8 + 4], edx
add ecx, 0x14
jmp 0x45eb5d
test edx, edx
jne 0x45ebb9
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
cmp dword [esp + 0x90], 0
jne 0x45ebb9
add ecx, 0x14
jmp 0x45eb5d
mov ebx, dword [esp + 0x14]
test byte [ebx + 2], 1
jne 0x45fe5a
xor eax, eax
jmp 0x45fe60
mov eax, dword [ebx - 4]
add eax, 4
mov ecx, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov edx, dword [ebx + 0x10]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x34], ebx
mov ebx, dword [esi + 8]
xor esi, esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x30], ebx
test ecx, ecx
jle 0x45f187
lea ebx, [edx + 0x14]
test eax, eax
je 0x45fe9a
mov edi, dword [eax + esi*4]
jmp 0x45fe9c
mov edi, esi
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x28]
push dword [ebx]
movzx ebp, byte [eax + esi]
mov eax, dword [esp + 0x34]
and ebp, 1
add eax, edi
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x38]
add eax, edi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0045a4a0
mov edx, eax
add esp, 4
mov dword [esp + 0x90], edx
test edx, edx
jne 0x45ff03
mov eax, dword [esp + 0x58]
inc esi
mov edx, dword [esp + 0x78]
add ebx, 4
cmp esi, dword [esp + 0x38]
jl 0x45fe91
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x10]
test byte [esi + eax], 2
je 0x45ff3d
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
add eax, edi
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne 0x45ff34
mov eax, dword [esp + 0x30]
add eax, edi
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x45ff3d
neg edx
mov dword [esp + 0x90], edx
mov ecx, dword [esp + 0x14]
test ebp, ebp
mov ebp, dword [esp + 0x2c]
je 0x45f4df
mov edi, dword [esp + 0x28]
neg edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x90], edx
add ecx, 0x14
jmp 0x45eb5d
mov ebx, dword [esp + 0x90]
mov edx, dword [esp + 0x14]
test ebx, ebx
jns 0x45ff91
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x54]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x1c]
add ecx, 0xffffffec
add ecx, 0x14
jmp 0x45eb5d
jne 0x45ffaf
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x54]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x1c]
add ecx, 0xffffffec
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x54]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x1c]
add ecx, 0xffffffec
add ecx, 0x14
jmp 0x45eb5d
mov ebx, dword [esp + 0x14]
mov edx, 2
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.004558e0
mov ecx, dword [ebx + 8]
mov edx, 2
mov esi, eax
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
call fcn.004558e0
mov ecx, ebx
lea eax, [eax + esi*2]
cmp byte [ecx], 0x2c
jne 0x46000a
mov dl, byte [esi + eax + 0x4e5b24]
jmp 0x460011
mov dl, byte [esi + eax + 0x4e5b04]
mov eax, dword [ecx + 0xc]
mov ebx, 0x3e40
lea ecx, [eax + eax*4]
mov ax, word [edi + ecx*8 + 8]
and ax, bx
movzx esi, ax
cmp dl, 2
jne 0x460048
mov eax, 1
or eax, esi
mov word [edi + ecx*8 + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
movzx eax, dl
cdq
mov dword [edi + ecx*8], eax
mov eax, 4
or eax, esi
mov dword [edi + ecx*8 + 4], edx
mov word [edi + ecx*8 + 8], ax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.004558e0
mov ecx, dword [esp + 0x14]
mov ebx, 0x2400
xor eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 8]
cdq
lea ecx, [ecx + ecx*4]
test word [edi + ecx*8 + 8], bx
lea ecx, [edi + ecx*8]
je 0x4600bb
push edx
push eax
call fcn.00455cc0
mov ecx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov dword [ecx], eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 1
lea ecx, [edi + eax*8]
mov eax, edx
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
jne 0x46014e
xor edx, edx
call fcn.004558e0
neg eax
mov ecx, 0x2400
sbb eax, eax
inc eax
test word [esi + 8], cx
je 0x46012c
push 0
push eax
mov ecx, esi
call fcn.00455cc0
mov ecx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ecx, dword [esp + 0x14]
mov dword [esi], eax
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], 0
add ecx, 0x14
jmp 0x45eb5d
mov eax, 0x2400
test word [esi + 8], ax
je 0x460170
mov ecx, esi
call fcn.004556f0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ecx, dword [esp + 0x14]
mov eax, 1
mov word [esi + 8], ax
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, edx
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x4601b9
mov ecx, esi
call fcn.004556f0
jmp 0x4601c2
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x45f4db
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.00455820
mov edi, dword [esp + 0x28]
not eax
mov ecx, dword [esp + 0x14]
not edx
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], edx
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x18]
mov edi, dword [edx + 0xc8]
test edi, edi
je 0x460264
mov ecx, dword [esp + 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 0x45ebb9
mov eax, dword [esp + 0x18]
bts edx, ecx
mov byte [esi + edi], dl
mov edi, dword [esp + 0x28]
mov ecx, dword [eax + 0x68]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ecx, dword [edx + 0x68]
mov edi, dword [esp + 0x14]
mov eax, dword [ecx + 4]
cmp eax, dword [edi + 4]
je 0x45ebb9
mov ecx, edi
mov edi, dword [esp + 0x28]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.004558e0
test eax, eax
jne 0x45ebb9
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [ecx + 4]
xor edx, edx
cmp dword [ecx + 0xc], edx
sete dl
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.004558e0
test eax, eax
je 0x45ebb9
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 1
jne 0x45ebb9
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 1
je 0x45ebb9
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [esp + 0x18]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x45f187
mov eax, dword [esp + 0x14]
mov ecx, 0x2400
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
test word [edi + eax*8 + 8], cx
lea eax, [edi + eax*8]
je 0x46035d
mov ecx, eax
call fcn.004556f0
jmp 0x45ebb9
mov ecx, 1
mov word [eax + 8], cx
jmp 0x45ebb9
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, dword [edx + 4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], eax
mov eax, dword [edx + 8]
lea edx, [esp + 0x94]
mov dword [esp + 0x94], eax
call fcn.00459c60
mov dword [esp + 0x20], eax
test eax, eax
jne 0x464ca1
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x4c]
mov eax, dword [eax + 0xc]
mov ebp, dword [ecx + 0x48]
mov dword [esp + 0x34], ebp
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x64], ebx
cmp eax, dword [esi + 0x20]
je 0x4604fd
cmp byte [ecx + 2], 0
je 0x460447
cmp byte [ecx], 3
jne 0x460404
mov eax, dword [ecx + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [edi + edx*8 + 0xc]
mov dword [ecx + 0x54], eax
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x54]
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [edi + edx*8 + 0x10]
mov dword [eax + 0x4c], ecx
mov ecx, dword [esp + 0x4c]
jmp 0x460488
mov eax, 0x2400
test word [ebx + 8], ax
je 0x46042a
mov ecx, ebx
call fcn.004556f0
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ebp, dword [esp + 0x2c]
mov eax, 1
mov ecx, dword [esp + 0x14]
mov word [ebx + 8], ax
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov esi, dword [ecx + 0x28]
mov ecx, esi
call fcn.0044d9c0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0x50], ecx
mov ecx, esi
mov edx, dword [esp + 0x4c]
add edx, 0x54
call fcn.0044dfd0
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x2c]
mov dword [ecx + 0x4c], eax
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edi + 0x6c]
ja 0x464a0f
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x20]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4604a5
movzx eax, al
mov dword [ebp], eax
mov al, 1
jmp 0x4604ac
mov edx, ebp
call fcn.0043bd60
movzx ecx, al
mov eax, dword [esp + 0x4c]
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov eax, dword [esp + 0x4c]
mov word [eax + 0x3a], cx
mov ecx, dword [esp + 0x4c]
mov eax, dword [ebp]
cmp dword [ecx + 0x54], eax
jae 0x4605d2
mov dword [ecx + 0x4c], 0
mov eax, dword [esp + 0x4c]
mov dword [eax + 0x54], 0
mov eax, dword [ebp]
cmp eax, 0x18003
ja 0x4606f7
mov ecx, dword [esp + 0x4c]
cmp eax, dword [ecx + 0x50]
ja 0x4606f7
movzx eax, word [ecx + 0x3a]
mov esi, dword [esp + 0x94]
cmp eax, esi
jg 0x4607bf
mov eax, dword [ebp]
cmp dword [ecx + 0x30], eax
jae 0x46072b
mov edx, dword [ecx + 0x4c]
mov dword [esp + 0x78], edx
test edx, edx
jne 0x460577
xorps xmm0, xmm0
lea eax, [esp + 0x160]
movups xmmword [esp + 0x160], xmm0
push eax
movups xmmword [esp + 0x174], xmm0
movq qword [esp + 0x184], xmm0
push dword [ebp]
mov ecx, dword [ecx + 0x28]
call fcn.00456350
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne 0x464814
mov edx, dword [esp + 0x170]
mov eax, dword [ebp]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x78], edx
movzx edi, word [ecx + 0x3a]
mov esi, dword [ecx + 0x30]
add esi, edx
mov dword [esp + 0x30], edi
add eax, edx
mov dword [esp + 0x58], 0
mov ebx, dword [ebp + edi*4]
lea edi, [edi*4 + 0x58]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x58], eax
movzx eax, byte [esi]
mov dword [esp + 0x84], eax
mov dword [ecx + edi], eax
mov eax, dword [esp + 0x84]
cmp eax, 0x80
jae 0x4605d7
movzx eax, al
mov ebp, 1
movzx eax, byte [eax + 0x4e7ad8]
cdq
jmp 0x460614
mov edx, dword [ecx + 0x4c]
jmp 0x460573
lea edx, [esp + 0x84]
mov ecx, esi
call fcn.0043bd60
mov ecx, dword [esp + 0x84]
movzx ebp, al
mov eax, dword [esp + 0x4c]
mov dword [eax + edi], ecx
mov eax, dword [esp + 0x84]
cmp eax, 0x80
jb 0x46060b
add eax, 0xfffffff4
shr eax, 1
jmp 0x460612
movzx eax, byte [eax + 0x4e7ad8]
xor edx, edx
mov ecx, dword [esp + 0x34]
add ebx, eax
mov eax, dword [esp + 0x58]
adc eax, edx
add esi, ebp
mov edx, dword [esp + 0x30]
add edi, 4
mov ebp, dword [esp + 0x44]
inc edx
mov dword [esp + 0x30], edx
mov dword [ecx + edi - 0x58], ebx
mov ecx, dword [esp + 0x4c]
cmp edx, dword [esp + 0x94]
jg 0x46064d
cmp esi, ebp
jb 0x4605a1
jmp 0x460651
cmp esi, ebp
jb 0x46065e
cmp esi, ebp
ja 0x460669
cmp ebx, dword [ecx + 0x50]
jne 0x460669
test eax, eax
jne 0x460669
test eax, eax
jb 0x460676
ja 0x460669
cmp ebx, dword [ecx + 0x50]
jbe 0x460676
mov eax, dword [esp + 0x34]
cmp dword [eax], 0
jne 0x4606ce
xor edx, edx
mov esi, ebp
sub esi, dword [esp + 0x78]
mov word [ecx + 0x3a], dx
mov eax, dword [esp + 0x4c]
mov dword [eax + 0x30], esi
mov ecx, dword [esp + 0x4c]
cmp dword [ecx + 0x4c], 0
jne 0x4606b6
test dword [esp + 0x168], 0x2400
jne 0x4606a6
cmp dword [esp + 0x178], 0
je 0x4606b6
lea ecx, [esp + 0x160]
call fcn.00455730
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x94]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x34]
jmp 0x460734
cmp dword [ecx + 0x4c], 0
jne 0x4606f7
test dword [esp + 0x168], 0x2400
jne 0x4606eb
cmp dword [esp + 0x178], 0
je 0x4606f7
lea ecx, [esp + 0x160]
call fcn.00455730
mov esi, dword [esp + 0x54]
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x4647f1
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebp, [esi + eax*4]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x45eb5d
xor edx, edx
mov dword [esp + 0x84], edx
movzx eax, word [ecx + 0x3a]
cmp eax, esi
jg 0x4607ca
mov ebp, dword [esp + 0x14]
cmp byte [ebp + 1], 0xf5
jne 0x460774
mov edx, dword [ebp + 0x10]
mov ecx, ebx
push 0x800
call fcn.00455ec0
mov ebp, dword [esp + 0x30]
add esp, 4
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, 0x2400
test word [ebx + 8], ax
je 0x46079e
mov ecx, ebx
call fcn.004556f0
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ebp, dword [esp + 0x2c]
mov eax, 1
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov word [ebx + 8], ax
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [ecx + esi*4 + 0x58]
mov dword [esp + 0x84], edx
mov eax, 0x2400
test word [ebx + 8], ax
je 0x4607ee
mov ecx, ebx
call fcn.004556f0
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x94]
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + 0x54]
cmp eax, dword [ebp + esi*4 + 4]
jb 0x4608b1
mov edi, dword [ecx + 0x4c]
add edi, dword [ebp + esi*4]
cmp edx, 0xc
jae 0x46082a
mov ecx, edi
push ebx
call fcn.00459d10
mov ebp, dword [esp + 0x30]
add esp, 4
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov al, byte [esp + 0x50]
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 0x460863
mov eax, 1
mov ecx, ebx
push 0
mov word [ebx + 8], ax
call fcn.004552d0
add esp, 4
test eax, eax
jne 0x464c73
mov eax, dword [ebx + 0x10]
jmp 0x460869
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 ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov byte [esi + eax], 0
mov eax, dword [ebx + 0x10]
mov byte [esi + eax + 1], 0
mov eax, dword [esp + 0x84]
and eax, 1
mov ax, word [eax*2 + 0x4e5f24]
mov word [ebx + 8], ax
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov al, byte [esp + 0x50]
mov byte [ebx + 0xa], al
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x84]
movzx eax, word [eax + 2]
test al, 0xc0
je 0x4608d9
cmp edx, 0xc
jb 0x4608d5
test dl, 1
je 0x4608f3
test al, al
js 0x4608f3
cmp edx, 0x80
jb 0x4608e8
lea eax, [edx - 0xc]
shr eax, 1
jmp 0x4608ef
movzx eax, byte [edx + 0x4e7ad8]
test eax, eax
jne 0x4608fd
mov ecx, 0x4e74b0
jmp 0x460809
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x4c]
push ebx
push eax
mov edx, dword [ebp + edx*4]
mov ecx, dword [ecx + 0x28]
call fcn.00456350
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne 0x464814
mov edx, dword [esp + 0x84]
mov ecx, dword [ebx + 0x10]
push ebx
call fcn.00459d10
mov ebp, dword [esp + 0x30]
mov eax, 0xefff
mov ecx, dword [esp + 0x18]
add esp, 4
and word [ebx + 8], ax
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov al, byte [edi]
nop
push dword [esp + 0x50]
mov dl, al
mov ecx, esi
call fcn.0045e8c0
add esp, 4
cmp byte [edi], 0x45
jne 0x4609d0
movzx ebx, word [esi + 8]
test bl, 4
je 0x4609d0
mov ebp, dword [esi]
mov ecx, ebp
mov edx, dword [esi + 4]
add ecx, 0
mov eax, edx
adc eax, 0x8000
cmp eax, 0xffff
ja 0x4609b8
jb 0x4609ad
cmp ecx, 0xffffffff
ja 0x4609b8
and ebx, 0xfffb
or ebx, 0x20
jmp 0x4609cc
mov ecx, ebp
call fcn.004db7d0
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 0x45f4d7
add esi, 0x28
jmp 0x460970
mov ebp, dword [esp + 0x14]
xorps xmm0, xmm0
mov esi, dword [esp + 0x28]
xor ecx, ecx
movlpd qword [esp + 0x58], xmm0
mov dword [esp + 0x74], ecx
mov eax, dword [ebp + 4]
mov edi, dword [ebp + 0x10]
movlpd qword [esp + 0x78], xmm0
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ebp + 8]
mov dword [esp + 0x68], edx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebx, [edx + eax*8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], ebx
mov al, byte [eax + 0x93]
mov byte [esp + 0x4b], al
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x34], eax
test edi, edi
je 0x460a7e
mov al, byte [edi]
lea esi, [edx + 8]
mov ebx, dword [esp + 0x50]
push ebx
lea ecx, [esi - 8]
mov dl, al
call fcn.0045e8c0
add esp, 4
cmp byte [edi], 0x45
jne 0x460a6b
movzx eax, word [esi]
test al, 4
je 0x460a6b
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
mov al, byte [edi + 1]
inc edi
add esi, 0x28
test al, al
jne 0x460a46
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x58]
lea eax, [ebx + 0x1c]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x64], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x78], ebx
movzx ebx, word [eax - 0x14]
mov dword [esp + 0x44], eax
test bl, 1
je 0x460ac3
and ebx, 0x4000
neg ebx
sbb ebx, ebx
and ebx, 0xa
inc ecx
mov dword [eax], ebx
jmp 0x460d2b
test bl, 0x24
je 0x460c80
mov ebp, dword [eax - 0x18]
mov esi, dword [eax - 0x1c]
test ebp, ebp
jg 0x460ae6
jl 0x460adc
test esi, esi
jae 0x460ae6
mov ecx, esi
mov eax, ebp
not ecx
not eax
jmp 0x460aea
mov ecx, esi
mov eax, ebp
inc dword [esp + 0x74]
test eax, eax
ja 0x460bee
jb 0x460afd
cmp ecx, 0x7f
ja 0x460b4e
mov eax, esi
xor ebx, ebx
and eax, 1
cmp eax, esi
jne 0x460b29
cmp ebx, ebp
jne 0x460b29
cmp byte [esp + 0x4b], 4
jb 0x460b29
mov esi, dword [esp + 0x44]
lea eax, [ecx + 8]
mov ecx, dword [esp + 0x74]
mov dword [esi], eax
mov eax, dword [esp + 0x44]
jmp 0x460d2f
mov esi, dword [esp + 0x44]
add edx, 1
mov ecx, dword [esp + 0x74]
mov eax, 1
adc edi, ebx
mov dword [esp + 0x30], edx
mov dword [esp + 0x64], edi
mov dword [esi], eax
mov eax, dword [esp + 0x44]
jmp 0x460d2f
test eax, eax
ja 0x460bee
jb 0x460b60
cmp ecx, 0x7fff
ja 0x460b86
mov esi, dword [esp + 0x44]
add edx, 2
mov ecx, dword [esp + 0x74]
mov eax, 2
adc edi, 0
mov dword [esp + 0x30], edx
mov dword [esp + 0x64], edi
mov dword [esi], eax
mov eax, dword [esp + 0x44]
jmp 0x460d2f
test eax, eax
ja 0x460bee
jb 0x460b94
cmp ecx, 0x7fffff
ja 0x460bba
mov esi, dword [esp + 0x44]
add edx, 3
mov ecx, dword [esp + 0x74]
mov eax, 3
adc edi, 0
mov dword [esp + 0x30], edx
mov dword [esp + 0x64], edi
mov dword [esi], eax
mov eax, dword [esp + 0x44]
jmp 0x460d2f
test eax, eax
ja 0x460bee
jb 0x460bc8
cmp ecx, 0x7fffffff
ja 0x460bee
mov esi, dword [esp + 0x44]
add edx, 4
mov ecx, dword [esp + 0x74]
mov eax, 4
adc edi, 0
mov dword [esp + 0x30], edx
mov dword [esp + 0x64], edi
mov dword [esi], eax
mov eax, dword [esp + 0x44]
jmp 0x460d2f
cmp eax, 0x7fff
ja 0x460c22
jb 0x460bfc
cmp ecx, 0xffffffff
ja 0x460c22
mov esi, dword [esp + 0x44]
add edx, 6
mov ecx, dword [esp + 0x74]
mov eax, 5
adc edi, 0
mov dword [esp + 0x30], edx
mov dword [esp + 0x64], edi
mov dword [esi], eax
mov eax, dword [esp + 0x44]
jmp 0x460d2f
add edx, 8
mov dword [esp + 0x30], edx
adc edi, 0
mov dword [esp + 0x64], edi
test bl, 0x20
je 0x460c68
mov edx, ebp
mov ecx, esi
call fcn.004db7d0
mov esi, dword [esp + 0x44]
and ebx, 0xffdf
mov ecx, dword [esp + 0x74]
or ebx, 8
mov eax, 7
movsd qword [esi - 0x1c], xmm0
mov word [esi - 0x14], bx
mov dword [esi], eax
mov eax, dword [esp + 0x44]
jmp 0x460d2f
mov esi, dword [esp + 0x44]
mov eax, 6
mov ecx, dword [esp + 0x74]
mov dword [esi], eax
mov eax, dword [esp + 0x44]
jmp 0x460d2f
test bl, 8
je 0x460c9f
inc ecx
mov dword [eax], 7
add edx, 8
mov dword [esp + 0x30], edx
adc edi, 0
mov dword [esp + 0x64], edi
jmp 0x460d2b
mov edi, dword [eax - 0x10]
mov eax, ebx
shr eax, 1
and eax, 1
lea ebp, [edi + 6]
lea ebp, [eax + ebp*2]
test ebx, 0x4000
je 0x460cee
mov esi, dword [esp + 0x44]
mov eax, edx
or eax, dword [esp + 0x64]
mov ecx, dword [esi - 0x1c]
lea ebp, [ebp + ecx*2]
je 0x460cdf
lea ecx, [esi - 0x1c]
call fcn.004554e0
test eax, eax
jne 0x464c73
add edi, dword [esi - 0x1c]
jmp 0x460cea
mov eax, ecx
cdq
add dword [esp + 0x78], eax
adc dword [esp + 0x58], edx
mov edx, dword [esp + 0x30]
add edx, edi
mov esi, 1
mov edi, dword [esp + 0x64]
mov dword [esp + 0x30], edx
adc edi, 0
mov edx, ebp
mov dword [esp + 0x64], edi
shr edx, 7
xor ecx, ecx
mov eax, edx
or eax, ecx
je 0x460d1f
shrd edx, ecx, 7
inc esi
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x460d11
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x74]
add ecx, esi
mov dword [eax], ebp
mov dword [esp + 0x74], ecx
add eax, 0xffffffe4
cmp eax, dword [esp + 0x68]
je 0x460d48
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
sub eax, 0x28
jmp 0x460aa1
cmp ecx, 0x7e
jle 0x460da7
mov eax, ecx
mov ebx, 1
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x460d72
shrd esi, edx, 7
inc ebx
shr edx, 7
mov eax, esi
or eax, edx
jne 0x460d64
mov eax, dword [esp + 0x74]
mov edi, 1
add eax, ebx
mov dword [esp + 0x74], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x460d9f
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x460d91
mov ecx, dword [esp + 0x74]
cmp ebx, edi
jge 0x460dac
inc ecx
mov dword [esp + 0x74], ecx
mov edi, dword [esp + 0x30]
mov eax, ecx
mov esi, dword [esp + 0x34]
cdq
mov ebp, eax
mov ebx, edx
mov eax, dword [esp + 0x64]
add edi, ebp
mov esi, dword [esi + 0x18]
mov ecx, edi
adc eax, ebx
add ecx, dword [esp + 0x78]
adc eax, dword [esp + 0x58]
mov dword [esp + 0x64], eax
mov eax, esi
cdq
cmp dword [esp + 0x64], edx
jg 0x460def
jl 0x460de3
cmp ecx, eax
ja 0x460def
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x14]
mov dword [edx + 0x10], eax
jmp 0x460e3e
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x6c]
cdq
cmp dword [esp + 0x64], edx
jg 0x464a09
jl 0x460e0b
cmp ecx, eax
ja 0x464a09
cmp esi, edi
jge 0x460e25
mov ecx, dword [esp + 0x34]
mov edx, edi
push 0
call fcn.004552d0
mov edx, dword [esp + 0x38]
add esp, 4
jmp 0x460e36
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x14]
and word [edx + 8], 0x2d
mov dword [edx + 0x10], eax
xor eax, eax
test eax, eax
jne 0x464c73
mov ecx, dword [esp + 0x78]
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [esp + 0x58]
mov dword [edx + 0xc], edi
je 0x460e61
mov eax, 0x4010
mov dword [edx], ecx
mov word [edx + 8], ax
mov eax, dword [esp + 0x74]
mov esi, dword [edx + 0x10]
lea edi, [esi + eax]
cmp eax, 0x80
jae 0x460e7b
mov byte [esi], al
mov eax, 1
jmp 0x460e87
push ebx
push ebp
mov ecx, esi
call fcn.0043bb50
add esp, 8
mov ebp, dword [esp + 0x68]
movzx eax, al
add esi, eax
mov ebx, dword [ebp + 0x1c]
cmp ebx, 0x80
jae 0x460ea4
mov byte [esi], bl
mov eax, 1
jmp 0x460eb1
push 0
push ebx
mov ecx, esi
call fcn.0043bb50
add esp, 8
movzx eax, al
mov edx, ebp
push ebx
mov ecx, edi
add esi, eax
call fcn.00459cb0
add ebp, 0x28
add esp, 4
add edi, eax
cmp ebp, dword [esp + 0x38]
jbe 0x460e90
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
xorps xmm0, xmm0
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, ebp
mov edx, dword [eax + 0x28]
lea eax, [esp + 0x100]
push eax
movlpd qword [esp + 0x104], xmm0
call fcn.004534d0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x460f4c
call fcn.0045ea20
mov ecx, eax
jmp 0x460f55
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [esp + 0x100]
mov dword [ecx], eax
mov eax, dword [esp + 0x104]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp dword [ebp + 0x110], 0
jne 0x464c33
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
cmp edi, ebx
jb 0x45f4df
nop dword [eax]
mov eax, dword [ebp + 0x158]
test eax, eax
je 0x45f4db
add ebx, dword [ebp + 0x160]
push dword [ebp + 0x15c]
mov dword [esp + 0x28], ebx
call eax
add esp, 4
test eax, eax
jne 0x464cf3
cmp edi, ebx
jae 0x460f90
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov edi, dword [edx + 4]
mov ebx, dword [edx + 0x10]
mov dword [esp + 0x34], edi
test edi, edi
jne 0x4610c0
cmp dword [ebp + 0xb8], edi
jg 0x46481d
test ebx, ebx
jne 0x460ffd
xor esi, esi
jmp 0x461011
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x461002
sub esi, ecx
and esi, 0x3fffffff
mov eax, dword [ebp + 0x1e0]
xor edx, edx
add eax, dword [ebp + 0x1dc]
mov ecx, ebp
push eax
call fcn.004a0bc0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
lea eax, [esi + 0x21]
mov ecx, ebp
push 0
push eax
call fcn.00437cf0
mov edi, eax
add esp, 8
test edi, edi
je 0x45f4db
lea ecx, [esi + 1]
push ecx
lea edx, [edi + 0x20]
push ebx
push edx
mov dword [edi], edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [ebp + 0x4f], 0
je 0x461073
mov byte [ebp + 0x4f], 0
mov byte [ebp + 0x57], 1
jmp 0x461079
inc dword [ebp + 0x1dc]
mov eax, dword [ebp + 0x1d4]
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x18], eax
mov eax, dword [ebp + 0x1e8]
mov dword [ebp + 0x1d4], edi
mov dword [edi + 8], eax
mov eax, dword [ebp + 0x1ec]
mov dword [edi + 0xc], eax
mov eax, dword [ebp + 0x1f0]
mov dword [edi + 0x10], eax
mov eax, dword [ebp + 0x1f4]
mov dword [edi + 0x14], eax
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edi, dword [esp + 0x2c]
xor ebp, ebp
mov esi, dword [edi + 0x1d4]
test esi, esi
je 0x4610e9
mov ecx, dword [esi]
mov edx, ebx
call fcn.0043af30
test eax, eax
je 0x4611d1
mov esi, dword [esi + 0x18]
inc ebp
test esi, esi
jne 0x4610d0
push ebx
push str.no_such_savepoint:__s
push dword [esp + 0x20]
call fcn.00456ab0
add esp, 0xc
mov eax, 1
mov ebp, edi
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
cmp byte [ebp + 0x51], 0
mov edx, 7
cmovne eax, edx
cmp dword [ecx + 0x7c], 0
mov dword [esp + 0x20], eax
jne 0x461148
cmp eax, 0xc0a
je 0x461148
mov ecx, eax
call fcn.004b81b0
push eax
push 0x4edc94
push dword [esp + 0x20]
call fcn.00456ab0
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x28], eax
mov edx, eax
mov ecx, ebp
call fcn.0043ace0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
sub ecx, dword [esp + 0x54]
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 [esp + 0x30]
call fcn.0043a410
mov ecx, dword [esp + 0x2c]
add esp, 0x14
call fcn.004594e0
cmp dword [esp + 0x20], 0xc0a
jne 0x4611a6
mov ecx, ebp
call fcn.004380d0
mov al, byte [esp + 0x8b]
mov dword [esp + 0x20], 1
test al, al
je 0x464cc1
movzx edx, al
mov ecx, ebp
dec edx
call fcn.00478780
mov ebx, dword [esp + 0x20]
jmp 0x464cc6
cmp dword [edi + 0xb8], 0
mov edx, dword [esp + 0x34]
jle 0x4611e7
cmp edx, 1
je 0x464838
cmp dword [esi + 0x18], 0
jne 0x46124d
cmp byte [edi + 0x57], 0
je 0x46124d
mov ebx, 1
mov dword [esp + 0x78], ebx
cmp edx, ebx
jne 0x461255
mov ecx, dword [esp + 0x18]
mov edx, ebx
call fcn.00459480
mov dword [esp + 0x20], eax
test eax, eax
jne 0x464cb5
mov ecx, dword [esp + 0x18]
mov byte [edi + 0x4f], bl
call fcn.004594e0
cmp eax, 5
je 0x464853
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x20], eax
test eax, eax
je 0x461244
mov byte [edi + 0x4f], 0
jmp 0x46134c
mov byte [edi + 0x57], 0
jmp 0x461354
mov dword [esp + 0x78], 0
mov eax, dword [edi + 0x1dc]
sub eax, ebp
lea ebp, [eax - 1]
mov eax, dword [edi + 0x14]
mov dword [esp + 0x38], ebp
cmp edx, 2
jne 0x4612c5
mov ecx, dword [edi + 0x18]
xor ebx, ebx
and ecx, 1
mov dword [esp + 0x58], ecx
test eax, eax
jle 0x4612cb
mov ebp, ecx
xor ebp, 1
xor edi, edi
mov eax, dword [esp + 0x2c]
mov edx, 0x204
push ebp
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.0044d470
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x464814
mov eax, dword [esp + 0x2c]
inc ebx
add edi, 0x10
mov eax, dword [eax + 0x14]
cmp ebx, eax
jl 0x461283
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x34]
jmp 0x4612cb
xor ecx, ecx
mov dword [esp + 0x58], ecx
xor ebx, ebx
test eax, eax
jle 0x461308
mov eax, dword [esp + 0x2c]
xor edi, edi
mov ecx, dword [eax + 0x10]
push ebp
mov ecx, dword [edi + ecx + 4]
call fcn.0044d6f0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x464814
mov eax, dword [esp + 0x2c]
inc ebx
mov edx, dword [esp + 0x34]
add edi, 0x10
cmp ebx, dword [eax + 0x14]
jl 0x4612d7
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x2c]
test ecx, ecx
je 0x461344
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x461339
nop word [eax + eax]
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x461320
mov ecx, edi
call fcn.004787e0
or dword [edi + 0x18], 1
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x78]
test eax, eax
jne 0x464814
mov ecx, dword [edi + 0x1d4]
cmp ecx, esi
je 0x461382
nop
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, edi
mov dword [edi + 0x1d4], eax
call fcn.00437a00
mov ecx, dword [edi + 0x1d4]
dec dword [edi + 0x1dc]
cmp ecx, esi
jne 0x461360
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
cmp edi, 1
jne 0x4613b1
mov eax, dword [esi + 0x18]
mov edx, esi
mov dword [ecx + 0x1d4], eax
mov esi, ecx
call fcn.00437a00
test ebx, ebx
jne 0x464604
dec dword [esi + 0x1dc]
jmp 0x4613e2
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
test ebx, ebx
je 0x4613e2
cmp edi, 2
jne 0x4645ee
push ebp
mov ebp, dword [esp + 0x30]
mov edx, edi
mov ecx, ebp
call fcn.004a0bc0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov dword [esp + 0x34], 0
mov edx, dword [edx + 8]
test edx, edx
je 0x461437
mov eax, dword [ebp + 0x20]
and eax, 0x100000
or eax, 0
jne 0x46488e
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x461508
lea eax, [esp + 0x34]
mov ecx, esi
push eax
call fcn.0044c4f0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x464898
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
test byte [edx + 0x98], 0x80
je 0x461514
cmp dword [ecx + 8], eax
je 0x461514
cmp byte [ebp + 0x4f], al
je 0x46149a
cmp dword [ebp + 0xb4], 1
jle 0x461514
mov eax, dword [edx + 0x30]
test eax, eax
jne 0x4614b6
mov eax, dword [ebp + 0x1dc]
inc dword [ebp + 0x1e0]
add eax, dword [ebp + 0x1e0]
mov dword [edx + 0x30], eax
dec eax
xor edx, edx
push eax
mov ecx, ebp
call fcn.004a0bc0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4614de
mov eax, dword [esp + 0x18]
mov ecx, esi
mov edx, dword [eax + 0x30]
call fcn.0044d690
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 0x1e8]
mov dword [edx + 0x48], eax
mov eax, dword [ebp + 0x1ec]
mov dword [edx + 0x4c], eax
mov eax, dword [ebp + 0x1f0]
mov dword [edx + 0x50], eax
mov eax, dword [ebp + 0x1f4]
mov dword [edx + 0x54], eax
jmp 0x46150c
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
cmp word [ecx + 2], 0
je 0x46154c
mov eax, dword [esp + 0x34]
cmp eax, dword [ecx + 0xc]
jne 0x4648d2
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 0x10]
jne 0x4648d2
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x461102
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
lea eax, [esp + 0xec]
mov ecx, dword [ebp + 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.004533c0
mov eax, dword [esp + 0x18]
add esp, 4
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x4615c6
call fcn.0045ea20
mov ecx, eax
mov eax, dword [esp + 0xec]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x45eb5d
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [esp + 0xec]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov esi, dword [edx + 4]
push dword [edx + 0xc]
mov edx, dword [edx + 8]
shl esi, 4
add esi, dword [ebp + 0x10]
mov ecx, dword [esi + 4]
call fcn.00453420
mov edx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [edx + 8]
cmp eax, 1
jne 0x461628
mov ecx, dword [esi + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ecx], eax
or dword [ebp + 0x18], 1
jmp 0x461636
cmp eax, 2
jne 0x461636
mov ecx, dword [esi + 0xc]
mov al, byte [edx + 0xc]
mov byte [ecx + 0x4c], al
mov eax, dword [esp + 0x14]
cmp dword [eax + 4], 1
jne 0x461674
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x461669
nop word [eax + eax]
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x461650
mov edx, dword [esp + 0x18]
and dword [edx + 0x98], 0xfffffffc
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je case.0x45eb7f.96
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 8]
je 0x4617d2
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x98]
and al, 3
cmp al, 1
je 0x464938
mov eax, dword [esp + 0x14]
xor ebp, ebp
mov edi, dword [esp + 0x2c]
xor ebx, ebx
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, esi
shl eax, 4
add eax, dword [edi + 0x10]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x68], esi
mov edi, dword [eax + 4]
mov dword [esp + 0x58], edi
cmp dl, 0x61
jne 0x46171b
mov edx, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
movzx edi, word [edx + 2]
mov edx, dword [esp + 0x18]
and edi, 8
mov al, byte [eax + 0x4c]
or edi, 4
cmp al, byte [edx + 0x93]
jae 0x46171d
mov byte [edx + 0x93], al
jmp 0x46171d
xor edi, edi
mov eax, dword [esp + 0x14]
test byte [eax + 2], 0x10
je 0x46175b
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x28]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00455820
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 [esp + 0x68]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 1]
cmp al, 0xf7
jne 0x46176f
mov ebx, dword [ecx + 0x10]
movzx ebp, word [ebx + 8]
jmp 0x461776
cmp al, 0xfd
jne 0x461776
mov ebp, dword [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x18]
push 0
push esi
push ebp
call fcn.0045e6b0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x464c73
push dword [esi + 0x28]
mov eax, dword [esp + 0x3c]
mov edx, eax
mov ecx, dword [esp + 0x5c]
or dword [esi + 8], 4
push ebx
push edi
mov byte [esi + 2], 1
mov dword [esi + 0x34], eax
call fcn.0044d890
mov ebp, dword [esp + 0x38]
add esp, 0xc
mov edi, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0x2c], ebx
cmp byte [eax + 1], 0xf7
setne al
mov byte [esi + 4], al
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 2]
mov eax, dword [esi + 0x28]
and cl, 3
mov byte [eax + 3], cl
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
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.0045e6b0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x464c77
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.0044d890
mov edi, dword [esp + 0x34]
mov ecx, eax
mov eax, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + edx*4]
test esi, esi
je 0x4618c7
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x4618c7
mov edx, dword [esi + 0x34]
push 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x1c], 0
call fcn.00452ff0
add esp, 4
mov dword [esp + 0x20], eax
jmp 0x4619c6
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push 0
push 0xffffffffffffffff
push dword [eax + 8]
call fcn.0045e6b0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x464c77
mov eax, dword [esp + 0x14]
lea edi, [esi + 0xc]
or dword [esi + 8], 1
xor edx, edx
push 0x41e
movzx ecx, word [eax + 2]
or ecx, 5
push ecx
mov ecx, dword [ebp]
push edi
push ebp
call fcn.0044b3a0
add esp, 0x10
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4619a0
mov ecx, dword [edi]
lea edx, [eax + 1]
push eax
call fcn.0044c4f0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4619a0
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
mov ebx, dword [eax + 0x10]
mov dword [esi + 0x2c], ebx
test ebx, ebx
je 0x461979
movzx eax, word [eax + 2]
lea edx, [esi + 0x34]
or eax, 2
push eax
call fcn.00452df0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461973
push dword [esi + 0x28]
mov edx, dword [esi + 0x34]
mov ecx, dword [edi]
push ebx
push 4
call fcn.0044d890
add esp, 0xc
mov dword [esp + 0x20], eax
mov byte [esi + 4], 0
jmp 0x46199c
push dword [esi + 0x28]
mov edx, 1
mov dword [esi + 0x34], 1
push 0
push 4
call fcn.0044d890
add esp, 0xc
mov dword [esp + 0x20], eax
mov byte [esi + 4], 1
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov edi, dword [esp + 0x28]
cmp word [eax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [esi + 8]
and eax, 0xfffffffb
or ecx, eax
mov eax, dword [esp + 0x20]
mov dword [esi + 8], ecx
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov byte [esi + 2], 1
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push 1
push 0xffffffffffffffff
push dword [edx + 8]
mov edx, dword [edx + 4]
call fcn.0045e6b0
add esp, 0xc
test eax, eax
je 0x464c77
mov edx, dword [esp + 0x14]
push eax
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x2c], ecx
mov ecx, ebp
mov edx, dword [edx + 0xc]
call fcn.004662d0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 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 dword [edx + 0x14], eax
je 0x45ebb9
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push 3
push 0xffffffffffffffff
push dword [edx + 0xc]
mov edx, dword [edx + 4]
call fcn.0045e6b0
add esp, 0xc
test eax, eax
je 0x464c77
mov ecx, dword [esp + 0x14]
mov byte [eax + 2], 1
mov ecx, dword [ecx + 8]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x14]
mov byte [eax + 4], 1
mov dword [eax + 0x28], 0x503b9d
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [edx + 4]
mov edx, dword [ecx + 0x60]
mov edx, dword [edx + eax*4]
call fcn.00458a50
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x60]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
xor ebp, ebp
mov eax, dword [esp + 0x18]
mov dword [esp + 0x68], ebp
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], bp
mov dword [esi + 0x1c], ebp
je 0x461c36
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
movzx eax, word [edi + 8]
mov dword [esp + 0x58], eax
and al, 0x2e
cmp al, 2
jne 0x461b49
xor edx, edx
mov ecx, edi
call fcn.0045e7b0
mov ecx, edi
call fcn.00455820
movzx ecx, word [edi + 8]
mov ebp, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x38], edx
mov word [edi + 8], ax
test cl, 0x24
jne 0x461c02
test cl, 8
jne 0x461bd4
test cl, 1
jne 0x45ebb9
cmp ebx, 0x18
jae 0x45ebb9
mov ecx, dword [esi + 0x28]
lea edx, [esp + 0x8c]
call fcn.0044e2d0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x464814
cmp dword [esp + 0x8c], 0
jne 0x45ebb9
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x68], 0
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
lea eax, [ecx + 0x14]
cmove eax, ecx
mov dword [esp + 0x14], eax
mov ecx, eax
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x38]
mov ecx, ebp
call fcn.004db7d0
movsd xmm1, qword [edi]
comisd xmm0, xmm1
jbe 0x461bf6
test bl, 1
lea eax, [ebx - 1]
cmove eax, ebx
mov ebx, eax
jmp 0x461c02
comisd xmm1, xmm0
jbe 0x461c02
test bl, 1
jne 0x461c02
inc ebx
mov edi, dword [esp + 0x38]
lea eax, [esp + 0x8c]
mov ecx, dword [esi + 0x28]
xor edx, edx
push eax
push 0
push edi
push ebp
call fcn.0044e340
add esp, 0x10
mov dword [esp + 0x20], eax
mov dword [esi + 0x40], ebp
mov dword [esi + 0x44], edi
test eax, eax
jne 0x464814
jmp 0x461cd4
mov ecx, dword [esi + 0x28]
mov edx, 2
call fcn.00454660
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x108]
test eax, eax
mov eax, 1
cmovne ebp, eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x108], eax
test bl, 1
mov ax, word [ecx + 0x10]
mov word [esp + 0x110], ax
sete al
mov byte [esp + 0x116], 0
mov dword [esp + 0x68], ebp
lea eax, [eax*2 - 1]
mov byte [esp + 0x112], al
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x10c], eax
lea eax, [esp + 0x8c]
mov ecx, dword [esi + 0x28]
push eax
push 0
push 0
push 0
call fcn.0044e340
add esp, 0x10
mov dword [esp + 0x20], eax
test eax, eax
jne 0x464814
test ebp, ebp
je 0x461cd4
cmp byte [esp + 0x116], al
je 0x461b9d
mov eax, dword [esp + 0x8c]
cmp ebx, 0x18
jl 0x461d40
test eax, eax
js 0x461cfb
jne 0x461ceb
cmp ebx, 0x19
je 0x461cfb
mov dword [esp + 0x8c], 0
jmp 0x461bab
mov dword [esp + 0x8c], 0
push 0
push dword [esi + 0x28]
call fcn.0044ea30
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
je 0x461b9d
cmp eax, 0x65
jne 0x464814
mov dword [esp + 0x20], 0
mov dword [esp + 0x8c], 1
jmp 0x45ebb9
test eax, eax
jg 0x461d5f
jne 0x461d4b
cmp ebx, 0x16
je 0x461d5f
mov ecx, dword [esi + 0x28]
call fcn.0044e870
mov dword [esp + 0x8c], eax
jmp 0x461b9d
mov dword [esp + 0x8c], 0
push 0
push dword [esi + 0x28]
call fcn.0044eba0
jmp 0x461d10
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, edx
mov eax, dword [eax + 8]
shl eax, 3
xor eax, dword [ecx + 8]
and eax, 8
xor dword [ecx + 8], eax
mov ecx, edx
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x18]
mov ecx, dword [ecx + 4]
mov eax, dword [edx + 0x60]
cmp dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x14]
je 0x46425a
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x18]
mov ecx, dword [ecx + 4]
mov eax, dword [edx + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
test byte [eax + 8], 8
jne 0x45f18b
jmp 0x461deb
mov edx, dword [esp + 0x18]
mov ecx, dword [ecx + 4]
mov eax, dword [edx + 0x60]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
test ecx, ecx
jle 0x461e2c
mov eax, dword [ebx + 0x2c]
lea edi, [esp + 0x190]
mov dword [esp + 0x190], eax
xor ebp, ebp
mov word [esp + 0x198], cx
mov dword [esp + 0x194], esi
jmp 0x461e6c
mov eax, 0x4000
test word [esi + 8], ax
je 0x461e46
mov ecx, esi
call fcn.004554e0
test eax, eax
jne 0x464c77
mov ecx, dword [ebx + 0x2c]
call fcn.00459fb0
mov edi, eax
mov ebp, edi
test edi, edi
je 0x464c73
mov edx, dword [esi + 0xc]
mov ecx, dword [ebx + 0x2c]
push edi
push dword [esi + 0x10]
call fcn.0045a010
add esp, 8
mov eax, dword [esp + 0x14]
xor esi, esi
mov byte [edi + 0xa], 0
cmp byte [eax], 0x1c
jne 0x461ea4
movzx edx, word [edi + 8]
xor ecx, ecx
test edx, edx
je 0x461ea4
mov eax, dword [edi + 4]
add eax, 8
nop dword [eax + eax]
test byte [eax], 1
jne 0x461e9f
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x461e90
jmp 0x461ea4
mov esi, 1
mov ecx, dword [ebx + 0x28]
lea eax, [esp + 0xcc]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.0044e340
add esp, 0x10
mov dword [esp + 0x20], eax
test ebp, ebp
je 0x461eda
mov edx, ebp
mov ebp, dword [esp + 0x2c]
mov ecx, ebp
call fcn.00437a00
mov eax, dword [esp + 0x20]
jmp 0x461ede
mov ebp, dword [esp + 0x2c]
test eax, eax
jne 0x461102
mov eax, dword [esp + 0xcc]
xor ecx, ecx
mov edi, dword [esp + 0x14]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 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 0x461f34
test ecx, ecx
jne 0x45ebb9
mov eax, dword [esp + 0x1c]
mov ecx, edi
mov edi, dword [esp + 0x28]
add ecx, 0x14
jmp 0x45eb5d
test esi, esi
jne 0x45ebb9
test ecx, ecx
je 0x45ebb9
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 0x24
jne 0x461fc5
movups xmm0, xmmword [edi + eax*8]
push esi
mov dl, 0x43
lea ecx, [esp + 0x1ec]
movups xmmword [esp + 0x1ec], xmm0
movups xmm0, xmmword [edi + eax*8 + 0x10]
movups xmmword [esp + 0x1fc], xmm0
movq xmm0, qword [edi + eax*8 + 0x20]
movq qword [esp + 0x20c], xmm0
call fcn.0045e8c0
add esp, 4
test byte [esp + 0x1f0], 4
je 0x45ebb9
mov edi, dword [esp + 0x1e8]
mov ebx, dword [esp + 0x1ec]
jmp 0x461fd6
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov edi, dword [edi + eax*8]
mov ebx, dword [ecx + eax*8 + 4]
mov eax, dword [esp + 0x14]
xor edx, edx
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
lea eax, [esp + 0xac]
push eax
push 0
push ebx
mov ecx, dword [esi + 0x28]
push edi
mov dword [esp + 0xbc], 0
call fcn.0044e340
mov dword [esi + 0x40], edi
add esp, 0x10
mov dword [esi + 0x44], ebx
mov word [esi + 2], 0
mov dword [esi + 0x1c], 0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xac]
mov dword [esi + 0x20], eax
cmp dword [esp + 0xac], 0
je 0x463955
mov eax, dword [esp + 0x14]
cmp dword [eax + 8], 0
jne 0x45ebb9
mov ecx, 0x15dab
call fcn.004ba4e0
mov dword [esp + 0x20], eax
jmp 0x463959
mov ebx, dword [esp + 0x14]
mov edx, ebx
mov esi, dword [esp + 0x18]
mov ecx, esi
call fcn.0045ea40
mov ecx, dword [esi + 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, esi
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, ebx
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x18]
movlpd qword [esp + 0x68], xmm0
mov dword [esp + 0x58], 0
call fcn.0045ea40
mov ebx, eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x60]
mov edi, dword [ecx + edx*4]
test byte [edi + 8], 2
jne 0x46213d
mov ecx, dword [edi + 0x28]
lea edx, [esp + 0x58]
call fcn.0044e2d0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
cmp dword [esp + 0x58], eax
je 0x462106
mov dword [esp + 0x68], 1
mov dword [esp + 0x6c], eax
jmp 0x462139
mov ecx, dword [edi + 0x28]
call fcn.0044da10
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
cmp edx, 0x7fffffff
jl 0x46212b
jg 0x462125
cmp eax, 0xffffffff
jb 0x46212b
or dword [edi + 8], 2
jmp 0x462139
add eax, 1
mov dword [esp + 0x68], eax
adc edx, 0
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x4621d4
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x462174
mov eax, dword [edx + 4]
test eax, eax
je 0x462169
nop dword [eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x462160
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
jmp 0x46217e
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x28]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00455990
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x46219b
cmp edx, 0x7fffffff
je 0x462238
test byte [edi + 8], 2
jne 0x462238
add ecx, 1
adc edx, 0
cmp dword [esp + 0x6c], edx
jg 0x4621c7
jl 0x4621bb
mov eax, dword [esp + 0x68]
cmp eax, ecx
jae 0x4621cb
mov eax, ecx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], eax
jmp 0x4621cb
mov eax, dword [esp + 0x68]
mov dword [esi], eax
mov eax, dword [esp + 0x6c]
mov dword [esi + 4], eax
test byte [edi + 8], 2
je 0x462242
xor esi, esi
nop dword [eax]
lea eax, [esp + 0x68]
push eax
push 8
call fcn.0043a450
mov eax, dword [esp + 0x74]
lea edx, [esp + 0x60]
mov ecx, dword [esp + 0x70]
and eax, 0x3fffffff
add ecx, 1
push edx
adc eax, 0
mov dword [esp + 0x74], ecx
push 0
push eax
mov dword [esp + 0x80], eax
xor edx, edx
push ecx
mov ecx, dword [edi + 0x28]
call fcn.0044e340
add esp, 0x18
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
cmp dword [esp + 0x58], eax
jne 0x462242
inc esi
cmp esi, 0x64
jl 0x4621e0
mov eax, 0xd
jmp 0x461102
mov ecx, dword [esp + 0x14]
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x28]
mov dword [ebx], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
cmp byte [edx + 1], 0xfa
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
lea edi, [eax + eax*4]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov ebp, dword [ecx + eax*8]
mov dword [esp + 0x1a8], ebp
mov eax, dword [ecx + eax*8 + 4]
mov dword [esp + 0x68], eax
mov dword [esp + 0x1ac], eax
jne 0x4622d0
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0xf0], 0
je 0x4622d0
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 [esp + 0x38], ecx
jmp 0x4622d6
xor ebx, ebx
mov dword [esp + 0x38], ebx
movzx eax, word [edx + 2]
mov edx, eax
test al, 1
je 0x4622ef
mov eax, dword [esp + 0x18]
inc dword [eax + 0x2c]
mov eax, dword [esp + 0x14]
movzx edx, word [eax + 2]
movzx ecx, dx
test dl, 0x20
je 0x462311
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x28], ebp
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x68]
mov dword [ebp + 0x2c], eax
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + 2]
mov edx, dword [esp + 0x28]
mov eax, dword [edx + edi*8 + 0x10]
mov dword [esp + 0x1b0], eax
mov eax, dword [edx + edi*8 + 0xc]
mov dword [esp + 0x1bc], eax
test cl, 0x10
je 0x462335
mov edx, dword [esi + 0x20]
jmp 0x462337
xor edx, edx
mov eax, dword [esp + 0x28]
mov ebp, 0x4000
test word [eax + edi*8 + 8], bp
mov ebp, dword [esp + 0x2c]
je 0x462357
mov eax, dword [eax + edi*8]
mov dword [esp + 0x1c0], eax
jmp 0x462362
mov dword [esp + 0x1c0], 0
push edx
and ecx, 0xa
mov dword [esp + 0x1a4], 0
push ecx
mov ecx, dword [esi + 0x28]
lea edx, [esp + 0x1a8]
call fcn.00452280
add esp, 8
mov dword [esp + 0x20], eax
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test eax, eax
jne 0x461102
test ebx, ebx
je 0x45f4db
push dword [esp + 0x1ac]
mov eax, dword [esp + 0x18]
mov ecx, 0x17
push dword [esp + 0x1ac]
push dword [ebx]
test byte [eax + 2], 4
mov eax, 0x12
push dword [esp + 0x44]
cmovne eax, ecx
push eax
push dword [ebp + 0xec]
mov eax, dword [ebp + 0xf0]
call eax
mov ecx, dword [esp + 0x2c]
add esp, 0x18
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
cmp byte [edx + 1], 0xfa
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
jne 0x462448
cmp dword [ebp + 0xf0], 0
je 0x462448
movsx ecx, byte [esi + 1]
mov eax, dword [ebp + 0x10]
add ecx, ecx
test byte [edx + 2], 2
mov edi, dword [edx + 0x10]
mov ebx, dword [eax + ecx*8]
je 0x46244c
cmp byte [esi + 4], 0
je 0x46244c
mov ecx, dword [esi + 0x28]
call fcn.0044da10
mov dword [esi + 0x44], edx
mov edx, dword [esp + 0x14]
mov dword [esi + 0x40], eax
jmp 0x46244c
xor ebx, ebx
xor edi, edi
mov dl, byte [edx + 2]
mov ecx, dword [esi + 0x28]
call fcn.004526d0
mov dword [esp + 0x20], eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
test eax, eax
jne 0x461102
test byte [esp + 0x38], 1
je 0x45f4db
mov edx, dword [esp + 0x18]
inc dword [edx + 0x2c]
mov eax, dword [ebp + 0xf0]
test eax, eax
je 0x45f4db
test byte [edi + 0x24], 0x80
jne 0x45f4db
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [edi]
push ebx
push 9
push dword [ebp + 0xec]
call eax
mov ecx, dword [esp + 0x2c]
add esp, 0x18
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [esp + 0x18]
mov ecx, ebp
mov edx, dword [eax + 0x2c]
call fcn.0045b3e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x2c], 0
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov dword [esp + 0xd0], 0
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
lea eax, [esp + 0xd0]
push eax
mov eax, dword [esp + 0x18]
push dword [eax + 0x10]
call fcn.004682d0
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
cmp dword [esp + 0xd0], eax
jne 0x45ebb9
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
call fcn.00468230
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov eax, ebx
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, ebx
mov dword [eax + 0x1c], 0
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edi, dword [esp + 0x18]
mov ecx, edi
mov edx, dword [esp + 0x14]
call fcn.0045ea40
mov ecx, dword [edi + 0x60]
mov esi, eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 4]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ecx + 0x28]
mov ecx, edi
call fcn.0044da40
cmp eax, dword [ebp + 0x6c]
ja 0x464a15
push esi
push eax
xor edx, edx
mov ecx, edi
call fcn.00456350
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0xc], eax
jne 0x45f4df
mov eax, 0x1000
test word [esi + 8], ax
je 0x45f4df
mov ecx, esi
call fcn.00455490
test eax, eax
jne 0x464c77
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov esi, dword [esp + 0x18]
mov ecx, esi
mov edx, dword [esp + 0x14]
call fcn.0045ea40
mov ecx, dword [esp + 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 0x46266d
mov ecx, dword [esp + 0x14]
mov eax, 1
mov word [edi + 8], ax
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
cmp byte [esi + 3], 0
je 0x4626a7
mov ecx, dword [esi + 0x40]
mov dword [esp + 0xc0], ecx
mov eax, dword [esi + 0x44]
mov dword [esp + 0xc4], eax
mov dword [edi], ecx
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x14]
mov dword [edi + 4], eax
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
cmp byte [esi], 2
jne 0x462706
mov ecx, dword [esi + 0x28]
lea edx, [esp + 0xc0]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [esp + 0x20]
add esp, 8
mov edx, esi
mov dword [esp + 0x20], eax
call fcn.0045b560
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0xc0]
mov dword [edi], ecx
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x14]
mov dword [edi + 4], eax
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ecx, esi
call fcn.00459c40
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
cmp byte [esi + 2], al
je 0x46273b
mov ecx, dword [esp + 0x14]
mov eax, 1
mov word [edi + 8], ax
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ecx, dword [esi + 0x28]
call fcn.0044da10
mov ecx, eax
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc0], ecx
mov dword [edi], ecx
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x14]
mov dword [edi + 4], eax
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [esp + 0x18]
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 0x45f4db
mov ecx, dword [ecx + 0x28]
call fcn.00449aa0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [esp + 0x18]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov edi, dword [esi + 0x28]
mov dword [esp + 0xb0], 0
cmp dl, 0x81
jne 0x4627e2
mov ecx, edi
mov dword [esi + 0x20], 0xffffffff
call fcn.0044da00
test eax, eax
jne 0x45f4db
lea edx, [esp + 0xb0]
mov ecx, edi
call fcn.0044e2d0
mov dword [esp + 0x20], eax
mov al, byte [esp + 0xb0]
mov byte [esi + 2], al
mov eax, dword [esp + 0x20]
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 8], eax
jle 0x45f4df
cmp dword [esp + 0xb0], eax
jne 0x45ebb9
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 4]
lea edx, [esp + 0xb4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.0044e2a0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
cmp dword [esp + 0xb4], eax
jne 0x45ebb9
mov ecx, esi
call fcn.0044e880
test edx, edx
jl 0x4628af
jg 0x46288b
test eax, eax
jb 0x4628af
push edx
push eax
call fcn.0043c170
mov ecx, dword [esp + 0x1c]
add esp, 8
cwde
cmp eax, dword [ecx + 0xc]
jge 0x4628b3
mov dword [esp + 0xb4], 1
jmp 0x45ebb9
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0xb4], 0
jne 0x45ebb9
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [esp + 0x18]
inc dword [eax + 0xac]
jmp 0x4628dd
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [eax + 0x60]
mov ecx, dword [edx + 4]
lea edx, [esp + 0xa4]
mov esi, dword [eax + ecx*4]
mov dword [esp + 0xa4], 1
cmp byte [esi], 1
jne 0x46290a
mov ecx, esi
call fcn.00468100
jmp 0x46291d
mov ecx, dword [esi + 0x28]
call fcn.0044e2a0
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov al, byte [esp + 0xa4]
mov byte [esi + 2], al
cmp dword [esp + 0xa4], 0
jne 0x45ebb9
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, ebp
call fcn.00468190
jmp 0x46298c
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
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 dword [esp + 0x20], eax
mov dword [esi + 0x1c], 0
test eax, eax
jne 0x4629ba
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov byte [esi + 2], al
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
inc dword [edx + eax*4 + 0xa4]
jmp 0x46425a
cmp eax, 0x65
jne 0x461102
xor ecx, ecx
mov byte [esi + 2], 1
mov dword [esp + 0x20], ecx
jmp 0x460f68
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x60]
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
je 0x4629fd
inc dword [edx + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x462a1b
mov ecx, esi
call fcn.004554e0
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x82
jne 0x462a2b
mov edx, esi
mov ecx, edi
call fcn.00467280
jmp 0x462a90
mov eax, dword [esi + 0xc]
cdq
mov dword [esp + 0x240], eax
mov dword [esp + 0x244], edx
mov eax, dword [esi + 0x10]
mov dword [esp + 0x238], eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0x24c], eax
mov ax, word [ecx + 0x10]
mov word [esp + 0x250], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x462a70
mov ecx, dword [edi + 0x20]
jmp 0x462a72
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [esp + 0x23c]
and eax, 0xa
push eax
call fcn.00452280
add esp, 8
mov dword [edi + 0x1c], 0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov dword [esp + 0x140], eax
mov ax, word [edx + 0xc]
mov word [esp + 0x148], ax
mov eax, dword [edx + 8]
lea edx, [esp + 0x140]
mov byte [esp + 0x14a], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [esp + 0x144], eax
lea eax, [esp + 0xf0]
push eax
push 0
push 0
push 0
call fcn.0044e340
add esp, 0x10
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
cmp dword [esp + 0xf0], eax
jne 0x462b3f
mov dl, 4
mov ecx, edi
call fcn.004526d0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.00459c40
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
cmp byte [esi + 2], al
jne 0x462c38
xorps xmm0, xmm0
lea eax, [esp + 0xd8]
movlpd qword [esp + 0xd8], xmm0
mov ecx, ebp
mov edx, dword [esi + 0x28]
push eax
call fcn.0045b170
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x85
jne 0x462c0a
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov byte [ecx + 2], 0
mov eax, dword [esp + 0xd8]
mov dword [ecx + 0x40], eax
mov eax, dword [esp + 0xdc]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x14]
mov byte [ecx + 3], 1
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 0x24], esi
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x45eb5d
mov ecx, dword [esp + 0x18]
mov edx, eax
call fcn.0045ea40
mov ecx, dword [esp + 0xd8]
mov dword [eax], ecx
mov ecx, dword [esp + 0xdc]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.00455ca0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [esp + 0x18]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 3], 0
je 0x45f187
call fcn.00459b90
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp byte [esp + 0x4b], 0x28
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x150], eax
mov ax, word [ecx + 0x10]
mov word [esp + 0x158], ax
sbb al, al
mov byte [esp + 0x15a], al
mov eax, dword [ecx + 0xc]
mov ecx, ebp
mov dword [esp + 0xa8], 0
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x154], eax
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x154]
push eax
call fcn.0045b2d0
mov dword [esp + 0x28], eax
add esp, 8
mov eax, dword [esp + 0x14]
test byte [eax], 1
mov eax, dword [esp + 0xa8]
jne 0x462d18
neg eax
jmp 0x462d19
inc eax
cmp dword [esp + 0x20], 0
mov dword [esp + 0xa8], eax
jne 0x4649b5
test eax, eax
jg 0x45ebb9
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
call fcn.0045ea40
mov esi, eax
mov eax, 1
mov word [esi + 8], ax
mov ecx, dword [ebp + 0xc0]
inc ecx
cmp dword [ebp + 0xb4], ecx
jg 0x464942
mov edx, dword [esp + 0x14]
lea eax, [esp + 0xb8]
mov ecx, dword [ebp + 0x10]
push eax
mov dword [esp + 0xbc], 0
mov ebx, dword [edx + 0xc]
mov eax, ebx
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00453370
mov dword [esp + 0x24], eax
add esp, 4
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0xb8]
cdq
mov dword [esi], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 4], edx
test eax, eax
jne 0x461102
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x45f4df
push dword [ecx + 4]
mov edx, ebx
mov ecx, ebp
push eax
call fcn.0047b340
mov ecx, dword [esp + 0x1c]
mov al, bl
add esp, 8
inc al
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x38]
xor ecx, ecx
mov dword [esp + 0x38], 0
cmp dword [edx + 0xc], ecx
cmove eax, ecx
mov ecx, dword [ebp + 0x10]
push eax
mov eax, dword [edx + 8]
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00452ff0
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x20], eax
cmp dword [ecx + 0xc], 0
je 0x462e65
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
add dword [edx + 0x2c], eax
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jle 0x462e5d
lea ecx, [ecx + ecx*4]
cdq
add dword [edi + ecx*8], eax
adc dword [edi + ecx*8 + 4], edx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x461102
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x462ea9
mov edx, dword [ecx + 0x28]
mov ecx, ebp
call fcn.004667a0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ecx, dword [ecx + 0x28]
call fcn.004530a0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
call fcn.0045ea40
mov esi, eax
mov dword [esp + 0xd4], 0
mov eax, dword [esp + 0x14]
lea edx, [esp + 0xd4]
mov ecx, dword [eax + 4]
push dword [eax + 0xc]
shl ecx, 4
add ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 4]
call fcn.00452df0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x14]
cdq
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], edx
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
inc byte [ebp + 0x5a]
push 0
push 0
push 0
push dword [edx + 0x10]
push ebp
call fcn.0048ab30
dec byte [ebp + 0x5a]
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x10]
mov esi, dword [edx + 4]
test ecx, ecx
jne 0x462fbd
mov eax, dword [ebp + 0x10]
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.0047f020
mov eax, dword [esp + 0x1c]
add esp, 4
and dword [ebp + 0x18], 0xffffffef
add eax, 0x7c
mov edx, esi
mov ecx, ebp
push 1
push eax
call fcn.0048f0e0
mov edx, dword [esp + 0x20]
add esp, 8
or dword [ebp + 0x18], 1
mov dword [esp + 0x20], eax
and dword [edx + 0x98], 0xfffffffc
jmp 0x463082
mov eax, dword [esp + 0x18]
add eax, 0x7c
mov dword [esp + 0x130], esi
mov dword [esp + 0x12c], eax
add esi, esi
mov eax, dword [ebp + 0x10]
push ecx
push str.sqlite_master
mov dword [esp + 0x130], ebp
mov dword [esp + 0x140], 0
push dword [eax + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push ebp
call fcn.0043a160
mov esi, eax
add esp, 0x14
test esi, esi
je 0x464957
push 0
lea eax, [esp + 0x12c]
mov byte [ebp + 0xa5], 1
push eax
push fcn.0048ee90
push esi
push ebp
mov dword [esp + 0x148], 0
mov dword [esp + 0x150], 0
call fcn.0048ab30
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
jne 0x46306e
mov eax, dword [esp + 0x134]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x46306e
cmp dword [esp + 0x13c], eax
jne 0x46306e
mov ecx, 0x16344
call fcn.004ba4e0
mov dword [esp + 0x20], eax
mov edx, esi
mov ecx, ebp
call fcn.00437a00
mov eax, dword [esp + 0x20]
mov byte [ebp + 0xa5], 0
test eax, eax
jne 0x46495f
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, ebp
mov edx, dword [edx + 4]
call fcn.00476c20
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, ebp
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.00478b10
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, ebp
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.00478630
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, ebp
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.0049b540
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
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, [edi + eax*8]
lea eax, [esp + 0xf4]
push eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + esi*8]
inc eax
push eax
push dword [edx + 8]
lea eax, [ecx + 4]
mov ecx, ebp
push eax
movzx eax, word [edx + 2]
mov edx, dword [ebp + 0x10]
add eax, eax
mov edx, dword [edx + eax*8 + 4]
call fcn.00453fe0
add esp, 0x10
mov ecx, edi
mov ebx, eax
call fcn.00455ca0
mov eax, dword [esp + 0xf4]
test eax, eax
je 0x4631b3
test ebx, ebx
je 0x464c77
mov ecx, dword [esp + 0x28]
dec eax
cdq
push fcn.00437940
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.00455f80
add esp, 0xc
movzx edx, byte [esp + 0x50]
mov ecx, edi
call fcn.004552b0
jmp 0x460f68
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 0x10
lea esi, [edi + eax*8]
mov eax, dword [edx + 8]
lea edi, [eax + eax*4]
jne 0x4631ed
mov ecx, esi
call fcn.00455da0
test eax, eax
jne 0x464c77
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0x10]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.00441680
mov ecx, dword [esp + 0x1c]
add esp, 8
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 0x10
lea esi, [edi + eax*8]
je 0x463266
mov ecx, dword [esi + 0x10]
lea edx, [esp + 0x118]
call fcn.00441990
test eax, eax
je 0x463266
mov eax, dword [esp + 0x14]
push dword [esp + 0x11c]
push dword [esp + 0x11c]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.00455cf0
add esp, 8
jmp 0x460f68
mov ecx, esi
call fcn.00455ca0
jmp 0x464252
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x10]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 0x10
lea esi, [edi + eax*8]
mov eax, dword [edx + 0xc]
lea edi, [eax + eax*4]
jne 0x46329e
mov ecx, esi
call fcn.00455da0
test eax, eax
jne 0x464c77
test ebx, ebx
je 0x4632c4
mov eax, dword [esp + 0x28]
mov edx, ebx
mov ecx, dword [esi + 0x10]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.004419f0
add esp, 8
test eax, eax
jne 0x45ebb9
test ebx, ebx
js 0x45f183
jmp 0x4631ed
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x38], edi
lea eax, [eax + eax*4]
lea ebp, [ecx + eax*8]
mov eax, dword [esp + 0x14]
cmp word [eax + 2], 0
je 0x463313
mov eax, dword [edx + 0xc8]
mov ecx, dword [edi + 0x14]
test eax, eax
je 0x463313
cmp dword [eax + 0x1c], ecx
je 0x45f4d7
mov eax, dword [eax + 4]
test eax, eax
jne 0x463303
mov ebx, dword [esp + 0x2c]
mov eax, dword [edx + 0xd0]
cmp eax, dword [ebx + 0x94]
jge 0x464980
test byte [ebp + 8], 0x10
jne 0x46342a
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 0x46335b
add eax, 7
sar eax, 3
lea edi, [eax + ecx*4]
mov ecx, ebx
mov eax, edi
cdq
push edx
push eax
call fcn.00437c50
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x464c73
mov ecx, ebp
call fcn.00455770
mov ecx, dword [esp + 0x14]
mov eax, 0x410
sub ecx, dword [esp + 0x54]
mov word [ebp + 8], ax
mov eax, dword [esp + 0x18]
mov dword [ebp + 0xc], edi
mov edi, dword [esp + 0x38]
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x24], 0x458090
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 [esp + 0x18]
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 0x463422
mov edx, dword [esp + 0x2c]
mov ebp, 0x80
nop dword [eax]
mov word [eax + 8], bp
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x463410
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0xd0]
jmp 0x46342d
mov ebx, dword [ebp + 0x10]
mov ebp, dword [esp + 0x2c]
lea esi, [ebx + 0x50]
inc eax
mov dword [esp + 0x28], esi
mov dword [edx + 0xd0], eax
mov eax, dword [edx + 0xc8]
mov dword [ebx + 4], eax
mov eax, dword [ebp + 0x28]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp + 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 esi, dword [edi]
add esp, 0xc
mov edx, dword [esp + 0x18]
mov dword [esp + 0x54], esi
lea ecx, [esi - 0x14]
mov dword [edx + 0x68], esi
mov eax, dword [edi + 4]
mov dword [edx + 0x6c], eax
mov dword [esp + 0x14], ecx
jmp 0x460f70
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
call fcn.0045ea40
mov esi, eax
mov eax, dword [esp + 0x18]
push 0x1000
mov eax, dword [eax + 0xc8]
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 [esp + 0x18]
add ecx, dword [edx + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.00455ec0
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [ebp + 0x20]
and eax, 0x80000
or eax, 0
mov eax, dword [esp + 0x14]
je 0x463564
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x14]
cdq
add dword [ebp + 0x1f0], eax
mov eax, dword [esp + 0x1c]
adc dword [ebp + 0x1f4], edx
add ecx, 0x14
jmp 0x45eb5d
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
cdq
je 0x46358a
add dword [ebp + 0x1e8], eax
mov ecx, dword [esp + 0x14]
adc dword [ebp + 0x1ec], edx
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ecx, dword [esp + 0x18]
add dword [ecx + 0x40], eax
mov eax, dword [esp + 0x1c]
adc dword [ecx + 0x44], edx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x45eb5d
cmp dword [ecx + 4], 0
je 0x4635da
mov eax, dword [ebp + 0x1e8]
or eax, dword [ebp + 0x1ec]
jne 0x45f18b
mov eax, dword [ebp + 0x1f0]
or eax, dword [ebp + 0x1f4]
je 0x45ebb9
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x40]
or eax, dword [edx + 0x44]
jmp 0x4635b6
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x46361b
mov eax, dword [edx + 4]
test eax, eax
je 0x463609
nop dword [eax + eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x463600
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x463628
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov ecx, edi
call fcn.00455990
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00455990
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x45f4db
jl 0x46365f
cmp dword [edi], eax
jae 0x45f4db
mov dword [edi], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov ecx, dword [edi + esi*8]
mov edi, dword [edi + esi*8 + 4]
test edi, edi
jl 0x45f183
jg 0x463697
test ecx, ecx
je 0x45f183
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
mov eax, dword [esp + 0x28]
sbb edi, edx
mov dword [eax + esi*8], ecx
mov dword [eax + esi*8 + 4], edi
jmp 0x45ebb9
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ebx, [eax + eax*4]
call fcn.0045ea40
mov edx, dword [esp + 0x28]
mov edi, eax
mov ecx, dword [edx + esi*8 + 4]
mov eax, dword [edx + esi*8]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
test ecx, ecx
jl 0x46374f
jg 0x4636f1
test eax, eax
je 0x46374f
mov ecx, dword [edx + ebx*8 + 4]
mov eax, dword [edx + ebx*8]
test ecx, ecx
jl 0x463702
jg 0x463713
test eax, eax
jne 0x463713
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
push ecx
push eax
lea ecx, [esp + 0xe8]
call fcn.0043bed0
add esp, 8
test eax, eax
jne 0x46374f
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x14]
mov dword [edi], eax
mov eax, dword [esp + 0xe4]
mov dword [edi + 4], eax
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
mov edi, dword [esp + 0x28]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov ecx, dword [edi + esi*8]
mov eax, ecx
mov edx, dword [edi + esi*8 + 4]
or eax, edx
je 0x45f187
test edx, edx
jl 0x45ebb9
jg 0x46379d
test ecx, ecx
je 0x45ebb9
sub ecx, 1
mov dword [edi + esi*8], ecx
sbb edx, 0
jmp 0x45ebb5
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
lea edx, [eax + eax*4]
mov ecx, dword [edi + edx*8 + 4]
mov eax, dword [edi + edx*8]
cmp ecx, 0x80000000
jl 0x4637d7
jg 0x4637ca
test eax, eax
je 0x4637d7
sub eax, 1
mov dword [edi + edx*8], eax
sbb ecx, 0
mov dword [edi + edx*8 + 4], ecx
or eax, ecx
je 0x45ebb9
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, ebp
push 0
movzx ebx, word [edx + 2]
lea eax, [ebx*4 + 0x44]
push eax
call fcn.00437cf0
mov esi, eax
add esp, 8
test esi, esi
je 0x464c77
lea ecx, [ebx + 7]
mov dword [esi + 8], 0
lea ecx, [esi + ecx*4]
mov edx, ebp
push 1
mov dword [esi], ecx
call fcn.00455c80
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [ecx + 0x10]
sub ecx, dword [esp + 0x54]
mov dword [esi + 4], eax
mov eax, 0x66666667
imul ecx
mov byte [esi + 0x18], 0
sar edx, 3
mov eax, edx
mov dword [esi + 0x14], 0
shr eax, 0x1f
add eax, edx
mov byte [esi + 0x19], bl
mov edx, dword [esp + 0x14]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0xc], eax
mov word [edx], 0xf09b
mov dword [edx + 0x10], esi
jmp 0x463879
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
mov esi, dword [edx + 0x10]
mov ebx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
cmp dword [esi + 8], edi
je 0x4638be
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi + 8], edi
js 0x4638be
mov ebp, dword [esp + 0x14]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebp + 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 0x4638a4
mov ebp, dword [esp + 0x2c]
inc dword [edi + 0xc]
lea eax, [esi + 0x1c]
mov edi, dword [esp + 0x14]
movzx edx, byte [esi + 0x19]
mov ecx, dword [esi + 4]
push eax
cmp dword [edi + 4], 0
push edx
push esi
je 0x4638dd
mov eax, dword [ecx + 0x1c]
jmp 0x4638e0
mov eax, dword [ecx + 0x10]
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x45f4db
jle 0x463915
push dword [esi]
call fcn.0045bb80
add esp, 4
push eax
push 0x4edc94
push dword [esp + 0x20]
call fcn.00456ab0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x20], eax
cmp byte [esi + 0x18], 0
je 0x46393c
mov eax, dword [esp + 0x14]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x463938
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ebx + eax*8]
call fcn.00455cf0
add esp, 8
mov byte [esi + 0x18], 0
mov ecx, dword [esi]
call fcn.00455770
mov eax, dword [esi]
mov ecx, 1
mov word [eax + 8], cx
mov dword [esi + 0x14], 0
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [edx + 0xc]
mov ecx, esi
test eax, eax
je 0x4639ad
push dword [edx + 0x10]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
call fcn.00455680
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
jmp 0x4639b7
mov edx, dword [edx + 0x10]
call fcn.004555e0
mov ecx, eax
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0x46499a
movzx edx, byte [esp + 0x50]
mov ecx, esi
call fcn.004552b0
mov ecx, esi
call fcn.00455e70
test eax, eax
jne 0x464a15
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x268]
push eax
lea eax, [esp + 0x268]
mov dword [esp + 0x264], 0
push eax
push dword [edx + 8]
mov edx, dword [edx + 4]
mov ecx, ebp
mov dword [esp + 0x274], 0xffffffff
mov dword [esp + 0x270], 0xffffffff
call fcn.004b8e40
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
je 0x463a57
cmp eax, 5
jne 0x461102
mov dword [esp + 0x20], 0
mov dword [esp + 0x260], 1
mov eax, dword [esp + 0x14]
xor esi, esi
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [esp + esi*4 + 0x260]
mov ecx, edi
cdq
push edx
push eax
call fcn.00455cf0
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x463a66
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ebx, dword [esp + 0x14]
mov edx, ebx
mov ecx, dword [esp + 0x18]
call fcn.0045ea40
mov edx, dword [ebx + 4]
mov ebp, eax
mov eax, dword [esp + 0x2c]
add edx, edx
mov esi, dword [ebx + 0xc]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [esp + 0x38], eax
call fcn.00453600
mov ebx, eax
mov ecx, ebx
call fcn.00446760
mov edi, eax
cmp esi, 0xffffffff
mov ecx, ebx
cmove esi, edi
call fcn.00446770
test eax, eax
mov edx, 1
mov ecx, ebx
cmove esi, edi
call fcn.00446400
cmp esi, 5
jne 0x463b74
mov ecx, eax
call fcn.0043ac20
test eax, eax
je 0x463b0e
mov ecx, ebx
call fcn.004467a0
test eax, eax
jne 0x463b74
mov esi, edi
mov eax, dword [esp + 0x20]
test eax, eax
je 0x463b1a
mov esi, edi
mov edx, esi
mov ecx, ebx
call fcn.00446650
mov ecx, 0xa02
mov word [ebp + 8], cx
mov ecx, eax
call fcn.0048ba50
mov ecx, eax
mov dword [ebp + 0x10], eax
call fcn.0043ac20
movzx edx, byte [esp + 0x50]
mov ecx, ebp
mov dword [ebp + 0xc], eax
mov byte [ebp + 0xa], 1
call fcn.004552b0
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x2c]
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
cmp esi, edi
je 0x463b10
cmp edi, 5
je 0x463b82
cmp esi, 5
jne 0x463b10
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x4f], 0
je 0x4649be
cmp dword [eax + 0xb4], 1
jg 0x4649be
cmp edi, 5
jne 0x463bc2
mov edx, eax
mov ecx, ebx
call fcn.004469c0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x463b18
mov edx, esi
mov ecx, ebx
call fcn.00446650
jmp 0x463bdc
cmp edi, 4
jne 0x463bd1
lea edx, [edi - 2]
mov ecx, ebx
call fcn.00446650
cmp dword [esp + 0x20], 0
jne 0x463b18
mov ecx, dword [esp + 0x38]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.004545d0
mov dword [esp + 0x20], eax
jmp 0x463b14
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
test eax, eax
je 0x463c0a
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
jmp 0x463c0c
xor eax, eax
mov ecx, dword [esp + 0x18]
push eax
push dword [edx + 4]
mov edx, ebp
lea ecx, [ecx + 0x7c]
call fcn.0049f0c0
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0x10]
mov ecx, dword [edx + 4]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0044cf10
mov dword [esp + 0x20], eax
test eax, eax
je 0x45f4db
cmp eax, 0x65
jne 0x461102
mov dword [esp + 0x20], 0
jmp 0x45ebb9
cmp dword [ecx + 4], 0
jne 0x463c94
mov edx, dword [ecx + 8]
mov ecx, ebp
call fcn.0045b3f0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + 8]
inc eax
xor eax, dword [edx + 0x98]
and eax, 3
xor dword [edx + 0x98], eax
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x28]
call fcn.0044da20
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x28]
call fcn.0044da30
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov al, byte [ecx + 0xc]
mov byte [esp + 0xbc], al
test al, al
jne 0x463d29
mov eax, dword [ebp + 0x20]
and eax, 0x400
mov dword [esp + 0x38], eax
jne 0x45f18b
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x14]
push dword [esp + 0xbc]
mov eax, dword [eax + 4]
add eax, eax
mov edx, dword [edx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004544a0
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
je 0x45f187
cmp al, 6
jne 0x461102
mov eax, dword [esp + 0x14]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push dword [esp + 0x20]
call fcn.00456ab0
mov eax, dword [esp + 0x2c]
add esp, 0xc
jmp 0x461102
mov edx, dword [esp + 0x14]
mov ecx, ebp
mov esi, dword [edx + 0x10]
mov edx, esi
call fcn.004a0a90
mov dword [esp + 0x20], eax
test esi, esi
je 0x463dac
mov edx, dword [esi + 8]
mov ecx, dword [esp + 0x18]
call fcn.0045b560
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x210]
xorps xmm0, xmm0
movq qword [esp + 0x230], xmm0
movups xmmword [esp + 0x210], xmm0
mov eax, dword [edx + 8]
movups xmmword [esp + 0x220], xmm0
mov dword [esp + 0x230], ebp
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
call fcn.00455f10
mov dword [esp + 0x20], eax
lea eax, [esp + 0x210]
push eax
call fcn.0045bb80
add esp, 4
test eax, eax
je 0x463e36
mov ecx, dword [esp + 0x18]
add ecx, 0x7c
push ecx
push eax
mov eax, dword [esp + 0x1c]
mov ecx, ebp
mov edx, dword [eax + 4]
call fcn.004a0570
add esp, 8
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x210]
call fcn.00455770
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, ebp
inc dword [ebp + 0xc0]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.004a0900
dec dword [ebp + 0xc0]
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov dword [esp + 0x78], 0
mov eax, dword [edx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x4649ff
mov edi, dword [esi]
test edi, edi
je 0x4649ff
lea eax, [esp + 0x78]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ecx, dword [esp + 0x20]
add esp, 8
mov edx, esi
mov dword [esp + 0x20], eax
call fcn.0045b560
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
test eax, eax
jne 0x461106
mov eax, dword [esp + 0x78]
push 2
push 0xffffffffffffffff
push 0
mov dword [eax], esi
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 4]
call fcn.0045e6b0
add esp, 0xc
test eax, eax
je 0x4649ee
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x28]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov ebx, dword [esp + 0x18]
lea edx, [eax + eax*4]
lea esi, [edx + 5]
mov eax, dword [ebx + 0x60]
lea esi, [edi + esi*8]
mov edi, dword [esi]
mov ebx, dword [ebx + 0x5c]
movd xmm0, esi
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], esi
pshufd xmm3, xmm0, 0
mov ebp, dword [eax + 0x28]
mov dword [esp + 0x68], ebp
mov eax, dword [ebp]
mov dword [esp + 0x34], eax
mov eax, dword [eax]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x28]
mov edx, dword [eax + edx*8]
mov dword [esp + 0x58], edx
test edi, edi
jle 0x464083
cmp edi, 0x10
jb 0x46406b
cmp dword [0x503ab0], 2
jl 0x46406b
movaps xmm2, xmmword [0x4f5870]
mov eax, edi
and eax, 0x8000000f
jns 0x463fb3
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [str.____PPPP]
lea edx, [ebx + 0x20]
mov ebp, edi
mov esi, 8
sub ebp, eax
nop word [eax + eax]
movd xmm0, ecx
lea eax, [esi - 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
add ecx, 0x10
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [esi + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, esi
add esi, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x40], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x30], xmm0
cmp ecx, ebp
jl 0x463fd0
mov esi, dword [esp + 0x38]
mov ebp, dword [esp + 0x68]
mov edx, dword [esp + 0x58]
cmp ecx, edi
jge 0x464083
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 0x464078
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x78]
push ebx
push edi
push dword [eax + 0x10]
mov eax, dword [esi + 0x20]
push edx
push ebp
call eax
mov edx, dword [esp + 0x48]
add esp, 0x14
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
call fcn.0045b560
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x464814
mov eax, dword [esi + 0x28]
push ebp
call eax
mov ecx, dword [esp + 0x34]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
je 0x45f4d7
jmp 0x45ebb9
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x28]
cmp byte [edi + 2], 0
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
je 0x464114
mov ecx, esi
call fcn.00455ca0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
test byte [edx + 2], 1
xorps xmm0, xmm0
mov eax, dword [edi + 0x28]
mov ebx, dword [eax]
mov ebp, dword [ebx]
movups xmmword [esp + 0x1c8], xmm0
mov dword [esp + 0x1c8], esi
movups xmmword [esp + 0x1d8], xmm0
je 0x464153
mov ecx, esi
call fcn.00455ca0
mov edx, dword [esp + 0x14]
mov eax, 0x4001
mov dword [esi], 0
jmp 0x464166
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 1
movzx eax, ax
mov word [esi + 8], ax
lea eax, [esp + 0x1c8]
push dword [edx + 8]
push eax
push dword [edi + 0x28]
mov eax, dword [ebp + 0x2c]
call eax
mov ebp, dword [esp + 0x24]
add esp, 0xc
mov edx, ebx
mov dword [esp + 0x20], eax
mov ecx, ebp
call fcn.0045b560
cmp dword [esp + 0x1dc], 0
jle 0x4641be
push esi
call fcn.0045bb80
add esp, 4
push eax
push 0x4edc94
push ebp
call fcn.00456ab0
mov eax, dword [esp + 0x1e8]
add esp, 0xc
mov dword [esp + 0x20], eax
movzx edx, byte [esp + 0x50]
mov ecx, esi
call fcn.004552b0
mov ecx, esi
call fcn.00455e70
mov ebp, dword [esp + 0x2c]
test eax, eax
jne 0x464a15
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov eax, dword [esp + 0x18]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x45f183
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 [esp + 0x1c]
add esp, 4
mov edx, esi
mov dword [esp + 0x20], eax
call fcn.0045b560
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x461102
push dword [edi + 0x28]
mov eax, dword [ebx + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x460f68
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x54]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
add ecx, 0xffffffec
mov dword [esp + 0x14], ecx
jmp 0x460f70
mov edx, dword [esp + 0x14]
mov edi, dword [ebp + 0x20]
or dword [ebp + 0x20], 0x4000000
and edi, 0x4000000
mov eax, dword [ebp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [ebp + 0x24], eax
mov eax, dword [edx + 0x10]
mov esi, dword [eax + 8]
mov eax, dword [edx + 4]
mov edx, 1
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.004552b0
test eax, eax
jne 0x461102
mov eax, dword [esi]
push dword [ebx + 0x10]
push esi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [esp + 0x20], eax
test edi, edi
jne 0x4642d7
mov eax, dword [ebp + 0x24]
and dword [ebp + 0x20], 0xfbffffff
mov dword [ebp + 0x24], eax
mov ecx, dword [esp + 0x18]
mov edx, esi
call fcn.0045b560
mov eax, dword [esp + 0x18]
and dword [eax + 0x98], 0xfffffffc
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
cmp byte [ebp + 0x51], 0
jne 0x464c77
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x4649ff
mov edx, dword [ebx]
test edx, edx
je 0x4649ff
cmp dword [edx + 0x34], 0
mov esi, dword [esp + 0x14]
mov esi, dword [esi + 8]
je 0x45f187
mov al, byte [ebp + 0x56]
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x4b], al
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x5c]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x46437b
nop dword [eax]
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x464370
mov eax, dword [esp + 0x14]
mov al, byte [eax + 2]
mov byte [ebp + 0x56], al
lea eax, [esp + 0x120]
push eax
mov eax, dword [edx + 0x34]
push edi
push esi
push ebx
call eax
mov ecx, dword [esp + 0x28]
add esp, 0x10
mov dword [esp + 0x20], eax
mov edx, ebx
mov al, byte [esp + 0x4b]
mov byte [ebp + 0x56], al
call fcn.0045b560
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x4643d7
cmp dword [ecx + 4], eax
je 0x4643d7
mov eax, dword [esp + 0x120]
mov dword [ebp + 0x28], eax
mov eax, dword [esp + 0x124]
mov dword [ebp + 0x2c], eax
mov eax, dword [esp + 0x20]
cmp al, 0x13
jne 0x464421
mov eax, dword [ecx + 0x10]
cmp byte [eax + 0x10], 0
je 0x464421
movzx ecx, word [ecx + 2]
cmp ecx, 4
jne 0x464407
mov edi, dword [esp + 0x28]
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
add ecx, 0x14
jmp 0x45eb5d
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov ecx, dword [esp + 0x18]
mov byte [ecx + 0x92], al
jmp 0x464428
mov eax, dword [esp + 0x18]
inc dword [eax + 0x2c]
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x461102
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
call fcn.0045ea40
mov ecx, dword [ebp + 0x10]
mov esi, eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 4]
shl edx, 4
mov ecx, dword [edx + ecx + 4]
call fcn.0044b120
mov ecx, dword [esp + 0x14]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], 0
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
call fcn.0045ea40
mov ecx, dword [ebp + 0x10]
mov edi, eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 4]
add edx, edx
mov esi, dword [ecx + edx*8 + 4]
xor edx, edx
cmp dword [eax + 0xc], edx
je 0x4644c1
mov ecx, esi
call fcn.0044b120
mov edx, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
cmp edx, eax
cmovb edx, eax
mov ecx, esi
call fcn.0044bf10
mov ecx, dword [esp + 0x14]
cdq
mov dword [edi], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + 4], edx
mov edi, dword [esp + 0x28]
add ecx, 0x14
jmp 0x45eb5d
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
cmp dword [esi], edi
je 0x464533
movzx ecx, byte [esi + 0x19]
sub ecx, 1
mov dword [esi + 0xc], ebx
mov dword [esi], edi
js 0x464533
mov ebp, dword [esp + 0x14]
lea edx, [esi + 0x1c]
mov ebx, dword [esp + 0x28]
lea edx, [edx + ecx*4]
mov eax, dword [ebp + 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 0x464516
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x18]
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 0x4645b5
jle 0x464584
push edi
call fcn.0045bb80
add esp, 4
push eax
push 0x4edc94
push ebx
call fcn.00456ab0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
mov ecx, ebp
mov edx, dword [esp + 0x18]
add edx, 0xdc
push dword [eax + 4]
push dword [esi + 0x10]
call fcn.004599c0
mov eax, dword [esp + 0x28]
add esp, 8
mov dword [esi + 0x14], 0
test eax, eax
jne 0x461102
test byte [edi + 8], 0x12
je 0x45f4db
movzx edx, byte [esp + 0x50]
mov ecx, edi
call fcn.004552b0
mov ecx, edi
call fcn.00455e70
test eax, eax
jne 0x464a15
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov edi, dword [esp + 0x28]
mov ebp, ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov ecx, dword [esp + 0x14]
mov ebp, esi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ecx, 0x14
jmp 0x45eb5d
mov cl, byte [ebp + 0x58]
mov edx, dword [esp + 0x18]
test cl, 0x41
je 0x4646d5
test byte [edx + 0x98], 0x10
jne 0x4646d5
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x10]
test eax, eax
jne 0x464650
mov eax, dword [edx + 0xc0]
test eax, eax
je 0x4646d1
test cl, 0x40
je 0x46467c
mov ecx, dword [esp + 0x18]
mov edx, eax
mov edi, dword [ebp + 0xcc]
call fcn.0045e1d0
mov esi, eax
push esi
push dword [ebp + 0xd0]
call edi
push esi
call fcn.00437940
add esp, 0xc
jmp 0x4646cd
cmp dword [ebp + 0xbc], 1
push eax
jle 0x4646b9
push str.____s
push ebp
call fcn.0043a160
mov ecx, dword [ebp + 0xcc]
add esp, 0xc
mov esi, eax
push esi
push dword [esp + 0x1c]
push dword [ebp + 0xd0]
push 1
call ecx
add esp, 0x10
mov edx, esi
mov ecx, ebp
call fcn.00437a50
jmp 0x4646cd
mov eax, dword [ebp + 0xcc]
push edx
push dword [ebp + 0xd0]
push 1
call eax
add esp, 0x10
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
cmp eax, dword [0x501154]
jl 0x46471e
cmp byte [ecx], 0xaa
je 0x45f18b
mov ebx, dword [esp + 0x18]
mov edx, 1
cmp dword [ebx + 0x6c], edx
jle 0x46471a
mov eax, 0x14
mov ecx, dword [ebx + 0x68]
cmp byte [eax + ecx], 0x11
jne 0x464711
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [ebx + 0x6c]
jl 0x464700
xor eax, eax
mov edx, ebx
mov ebp, dword [esp + 0x14]
inc eax
mov dword [ebp + 4], eax
inc dword [edx + 0xbc]
jmp 0x45ebbd
mov edx, dword [esp + 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 0x4647b7
movzx eax, word [edx + 2]
test ax, ax
je 0x464788
push dword [eax*4 + 0x4e6bf4]
push str._s_constraint_failed
push ebx
call fcn.00456ab0
mov eax, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [eax + 0x10]
test eax, eax
je 0x464799
push eax
push dword [ebx + 0x7c]
push str._z:__s
push ebp
call fcn.0043a160
add esp, 0x10
mov dword [ebx + 0x7c], eax
jmp 0x464799
push dword [edx + 0x10]
push 0x4edc94
push ebx
call fcn.00456ab0
add esp, 0xc
push dword [ebx + 0x7c]
mov eax, dword [esp + 0x18]
push dword [ebx + 0xc0]
push esi
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.0043a410
add esp, 0x14
mov ecx, ebx
call fcn.004594e0
mov esi, dword [esp + 0x24]
mov dword [esp + 0x20], eax
cmp eax, 5
jne 0x4647d5
mov dword [ebx + 0x28], eax
mov ebx, eax
jmp 0x464cc6
cmp dword [ebx + 0x28], 0
mov eax, 0x65
mov ecx, 1
cmovne eax, ecx
mov dword [esp + 0x20], eax
mov ebx, eax
jmp 0x464cc6
push 0x4f48ac
push 0x1569f
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.0043a410
add esp, 0x14
mov eax, 0xb
mov ebp, dword [esp + 0x2c]
jmp 0x461102
push str.cannot_open_savepoint___SQL_statements_in_progress
push dword [esp + 0x1c]
call fcn.00456ab0
add esp, 8
mov eax, 5
jmp 0x461102
push str.cannot_release_savepoint___SQL_statements_in_progress
push dword [esp + 0x1c]
call fcn.00456ab0
add esp, 8
mov eax, 5
jmp 0x461100
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x54]
mov ebp, edi
mov esi, dword [esp + 0x24]
mov ebx, 5
imul ecx
mov ecx, dword [esp + 0x18]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x24], eax
mov byte [ebp + 0x4f], 0
mov dword [ecx + 0x28], 5
jmp 0x464cc6
mov eax, 8
jmp 0x461102
mov esi, dword [esp + 0x24]
cmp al, 5
jne 0x464cac
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x54]
imul ecx
mov ecx, dword [esp + 0x18]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x20]
mov ebx, eax
mov dword [ecx + 0x28], eax
jmp 0x464cc6
mov edx, dword [edx + 0x7c]
test edx, edx
je 0x4648e0
mov ecx, ebp
call fcn.00437a00
mov edx, str.database_schema_has_changed
mov ecx, ebp
call fcn.00437f30
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x7c], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 4]
mov ecx, edx
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [esp + 0x34]
je 0x464914
mov ecx, ebp
call fcn.00478780
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov eax, 0x11
jmp 0x461106
mov eax, 0x204
jmp 0x461102
mov ecx, dword [esp + 0x18]
mov eax, 6
mov byte [ecx + 0x92], 2
jmp 0x461106
mov dword [esp + 0x20], 7
mov ecx, ebp
call fcn.004787e0
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
cmp eax, 7
je 0x464c7b
mov ecx, dword [esp + 0x18]
jmp 0x46110a
push str.too_many_levels_of_trigger_recursion
push edx
call fcn.00456ab0
add esp, 8
mov ebp, ebx
mov eax, 1
jmp 0x461102
push esi
call fcn.0045bb80
add esp, 4
push eax
push 0x4edc94
push dword [esp + 0x20]
call fcn.00456ab0
add esp, 0xc
mov eax, dword [esp + 0x20]
jmp 0x461102
mov ecx, str.out_of
cmp esi, 5
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push dword [esp + 0x20]
call fcn.00456ab0
mov ebp, dword [esp + 0x38]
add esp, 0xc
mov eax, 1
jmp 0x461102
push dword [esp + 0x78]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
jmp 0x464c77
mov eax, 6
jmp 0x461102
mov ebp, dword [esp + 0x2c]
jmp 0x464a15
mov ebp, edi
jmp 0x464a15
mov ebp, eax
push str.string_or_blob_too_big
push dword [esp + 0x1c]
call fcn.00456ab0
add esp, 8
mov eax, 0x12
jmp 0x461102
mov ecx, dword [esp + 0x18]
xor edx, edx
call fcn.00459480
test eax, eax
jne 0x461102
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
cmp dword [eax + 0x1e0], 0
je 0x464a6a
cmp dword [edx + 0x30], 0
je 0x464a6a
mov ecx, dword [esp + 0x18]
mov edx, 1
call fcn.00459380
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x14]
add eax, 2
or eax, 1
mov dword [edx + 0x20], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
xor edi, edi
mov dword [edx + 0x78], esi
cmp dword [ecx + 8], edi
jle 0x464ad5
mov ebx, 0x202
mov eax, 0x1000
test word [esi + 8], ax
je 0x464ab0
mov ecx, esi
call fcn.00455490
test eax, eax
jne 0x464c77
mov ecx, dword [esp + 0x14]
mov ax, word [esi + 8]
and ax, bx
cmp ax, 2
jne 0x464ac8
mov ecx, esi
call fcn.00455440
mov ecx, dword [esp + 0x14]
inc edi
add esi, 0x28
cmp edi, dword [ecx + 8]
jl 0x464a92
mov edx, dword [esp + 0x18]
cmp byte [ebp + 0x51], 0
jne 0x464c77
test byte [ebp + 0x58], 4
je 0x464afb
mov eax, dword [ebp + 0xcc]
push 0
push edx
push dword [ebp + 0xd0]
push 4
call eax
add esp, 0x10
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x54]
mov ebx, 0x64
mov esi, dword [esp + 0x24]
imul ecx
mov ecx, dword [esp + 0x18]
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [ecx + 0x24], eax
jmp 0x464cc6
mov edx, dword [esp + 0x14]
movzx eax, byte [ebp + 0x4f]
mov ebx, dword [edx + 4]
mov ecx, dword [edx + 8]
cmp ebx, eax
je 0x464c02
test ecx, ecx
je 0x464b59
mov edx, 0x204
mov ecx, ebp
call fcn.004b8070
mov al, 1
mov esi, 1
jmp 0x464b91
test ebx, ebx
je 0x464b70
cmp dword [ebp + 0xb8], 0
jle 0x464b70
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x464822
mov ecx, dword [esp + 0x18]
mov esi, 1
mov edx, esi
mov dword [esp + 0xbc], ebx
call fcn.00459480
mov dword [esp + 0x20], eax
test eax, eax
jne 0x464bf5
mov eax, ebx
mov ecx, dword [esp + 0x18]
mov byte [ebp + 0x4f], al
call fcn.004594e0
cmp eax, 5
jne 0x464bda
mov ecx, dword [esp + 0x14]
mov eax, 0x66666667
sub ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x24]
imul ecx
mov ecx, dword [esp + 0x18]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x24], eax
mov al, 1
sub al, bl
mov ebx, 5
mov byte [ebp + 0x4f], al
mov dword [ecx + 0x28], ebx
jmp 0x464cc6
mov ecx, ebp
call fcn.004b7ab0
mov ecx, dword [esp + 0x18]
mov eax, 0x65
cmp dword [ecx + 0x28], 0
cmovne eax, esi
mov dword [esp + 0x20], eax
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
jmp 0x464cc6
test ebx, ebx
jne 0x464c0d
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x464c1c
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov edx, str.cannot_commit___no_transaction_is_active
cmove eax, edx
push eax
push dword [esp + 0x1c]
call fcn.00456ab0
add esp, 8
mov eax, 1
jmp 0x461102
mov esi, dword [esp + 0x24]
xor eax, eax
cmp byte [ebp + 0x51], al
sete al
lea eax, [eax*2 + 7]
mov ecx, eax
mov dword [esp + 0x20], eax
mov dword [edx + 0x28], eax
call fcn.004b81b0
push eax
push 0x4edc94
push dword [esp + 0x20]
call fcn.00456ab0
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov ecx, dword [esp + 0x18]
jmp 0x46110a
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
mov ecx, ebp
call fcn.004380d0
push str.out_of_memory
push dword [esp + 0x1c]
call fcn.00456ab0
mov ecx, dword [esp + 0x20]
add esp, 8
mov eax, 7
jmp 0x46110a
mov ecx, esi
jmp 0x461106
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
jmp 0x46110a
mov ebx, dword [esp + 0x20]
mov ebp, edi
mov esi, dword [esp + 0x24]
jmp 0x464cc6
mov ebx, 1
mov edi, dword [esp + 0x1c]
nop word [eax + eax]
cmp edi, esi
jb 0x464d04
mov eax, dword [ebp + 0x158]
test eax, eax
je 0x464d04
push dword [ebp + 0x15c]
add esi, dword [ebp + 0x160]
call eax
add esp, 4
test eax, eax
je 0x464cd0
mov ecx, dword [esp + 0x18]
or esi, 0xffffffff
mov eax, 9
jmp 0x46110a
mov ecx, dword [esp + 0x18]
add dword [ecx + 0xb4], edi
call fcn.00457fd0
mov ecx, dword [esp + 0x26c]
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004d99e2
add esp, 0x264
ret