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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2ec
mov eax, dword [0x57f0b4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x294], 0
xor cl, cl
mov dword [ebp - 0x288], esi
mov byte [ebp - 0x2b5], cl
xorps xmm0, xmm0
push edi
mov eax, dword [esi + 0x68]
mov ecx, esi
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x284], eax
mov eax, dword [esi]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x2b4], 0
movlpd qword [ebp - 0x2d0], xmm0
mov al, byte [eax + 0x54]
mov byte [ebp - 0x2a4], al
mov eax, dword [esi + 0x58]
mov dword [ebp - 0x298], eax
call fcn.00440fb0
mov ecx, dword [ebp - 0x28c]
cmp dword [ecx + 0x170], 0
je 0x447f4a
mov ebx, dword [ecx + 0x178]
xor edx, edx
mov eax, dword [esi + 0xb4]
div ebx
sub ebx, edx
xor eax, eax
jmp 0x447f50
or ebx, 0xffffffff
or eax, 0xffffffff
cmp dword [esi + 0x24], 7
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x2bc], ebx
je 0x44ec5b
mov dword [esi + 0x24], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x78], 0
cmp dword [ecx + 0x128], 0
mov dword [ecx + 0x1c4], 0
jne 0x44ec3e
mov eax, dword [esi + 0x20]
xorps xmm0, xmm0
mov edx, dword [ebp - 0x2a8]
mov dword [ebp - 0x2dc], 0x566cc8
movsd qword [ebp - 0x2e8], xmm0
lea eax, [eax + eax*4]
lea edi, [edx + eax*4]
mov edx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x2d0]
add eax, 1
mov dword [ebp - 0x284], edi
mov dword [ebp - 0x290], eax
adc edx, 0
mov dword [ebp - 0x2c8], edx
mov dl, byte [edi]
movzx ebx, dl
cmp ebx, 0xb4
ja case.0x447ff2.89
jmp dword [ebx*4 + 0x44ee10]
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
sub ecx, dword [ebp - 0x2a8]
lea esi, [eax + eax*4]
mov eax, 4
mov word [ebx + esi*8 + 0x10], ax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
jmp 0x44e13f
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 4
je 0x448666
mov eax, dword [ebx + eax*8]
mov edx, dword [ebp - 0x2a8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [ebx + ecx*8], eax
mov eax, 4
mov dword [ebx + ecx*8 + 4], edx
mov word [ebx + ecx*8 + 0x10], ax
mov ecx, dword [ebp - 0x284]
cmp dword [ecx + 8], 0
jne 0x44b742
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov edx, dword [ebp - 0x2a8]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
xor eax, eax
mov word [ebx + ecx*8 + 0x10], ax
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov edi, dword [ebp - 0x2a8]
mov eax, dword [edx + 4]
sub edx, edi
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8]
mov word [ebx + esi*8 + 0x10], ax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
mov dword [ebx + esi*8 + 4], edx
lea ecx, [edi + eax*4]
mov dword [ebp - 0x284], ecx
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov esi, dword [ebp - 0x288]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
je 0x448666
mov edx, dword [esi + 0xd0]
test edx, edx
je 0x44e701
mov ecx, dword [ebp - 0x284]
cmp dword [ecx + 4], 0
jne 0x44e701
mov eax, dword [edx + 4]
mov ebx, dword [ebp - 0x28c]
mov ecx, dword [esi + 0x2c]
dec dword [esi + 0xd8]
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0x28]
add dword [ebx + 0x70], eax
mov dword [ebx + 0x6c], ecx
adc dword [ebx + 0x74], ecx
mov ecx, edx
mov dword [ebx + 0x68], eax
call fcn.00441af0
mov edx, dword [esi + 0x68]
mov ecx, eax
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x2a8], edx
cmp dword [eax + 8], 4
jne 0x44820b
lea eax, [ecx + ecx*4]
mov ecx, dword [edx + eax*4 + 8]
dec ecx
mov eax, dword [esi + 0x58]
mov dword [ebp - 0x298], eax
lea eax, [ecx + ecx*4]
lea ecx, [edx + eax*4]
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x284], ecx
mov ecx, ebx
mov edi, dword [ebp - 0x284]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x448262
call fcn.00447d70
mov ecx, eax
jmp 0x44826b
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x284]
mov edi, dword [ebp - 0x284]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x290]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x4482c2
mov ecx, edx
call fcn.00447d70
mov edx, eax
jmp 0x4482cb
mov eax, 4
mov word [edx + 0x10], ax
mov eax, dword [ebp - 0x284]
mov edi, dword [ebp - 0x284]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x28c]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x448322
call fcn.00447d70
mov ecx, eax
mov edi, dword [ebp - 0x284]
mov eax, 8
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0x290]
movsd qword [ecx], xmm0
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ebx, dword [ebp - 0x284]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x448384
mov ecx, esi
call fcn.00447d70
mov esi, eax
jmp 0x44838d
mov eax, 4
mov word [esi + 0x10], ax
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x448398
xor ecx, ecx
jmp 0x4483af
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4483a0
sub ecx, edi
and ecx, 0x3fffffff
cmp byte [ebp - 0x2a4], 1
mov dword [ebx + 4], ecx
je 0x448452
push 0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, esi
call fcn.0043f010
mov edi, eax
add esp, 0x10
mov dword [ebp - 0x294], edi
test edi, edi
jne 0x44e944
test byte [esi + 0x10], 2
mov al, byte [ebp - 0x2a4]
jne 0x4483f2
mov byte [esi + 0x12], al
jmp 0x448408
cmp byte [esi + 0x12], al
je 0x448408
mov dl, al
mov ecx, esi
call fcn.00420e10
test eax, eax
jne 0x44cdea
mov ecx, dword [ebp - 0x284]
mov eax, 0x2000
or word [esi + 0x10], ax
mov dword [esi + 0x18], 0
cmp byte [ecx + 1], 0xfa
jne 0x44843c
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x44843c
mov ecx, dword [ebp - 0x28c]
call fcn.0041def0
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x284]
mov byte [ecx + 1], 0xfa
mov eax, dword [esi + 8]
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x28c]
mov esi, dword [ebp - 0x288]
cmp ecx, dword [eax + 0x78]
jg 0x44e94a
mov byte [ebx], 0x49
jmp 0x448472
mov ebx, dword [ebp - 0x284]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x448490
call fcn.00447d70
mov ecx, eax
mov eax, 0x2202
mov word [ecx + 0x10], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0xc], eax
mov al, byte [ebp - 0x2a4]
mov byte [ecx + 0x12], al
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x4480ab
mov ebx, dword [ebp - 0x298]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x284]
movzx eax, word [eax + 2]
cdq
cmp dword [ebx + esi*8], eax
jne 0x44e4e4
cmp dword [ebx + esi*8 + 4], edx
mov edi, dword [ebp - 0x284]
mov esi, dword [ebp - 0x288]
jne 0x4480fd
mov eax, 0x2210
mov word [ecx + 0x10], ax
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ebx, dword [ebp - 0x284]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x44853d
mov ecx, edx
call fcn.00447d70
mov edx, eax
jmp 0x448546
mov eax, 4
mov word [edx + 0x10], ax
cmp dword [ebx + 4], 0
lea esi, [edx + 0x10]
mov edi, dword [ebx + 0xc]
mov eax, 1
mov ecx, dword [ebx + 8]
mov ebx, 0x101
cmovne eax, ebx
mov dword [edx + 0xc], 0
sub edi, ecx
movzx ebx, ax
mov word [esi], bx
test edi, edi
jle 0x44e4e4
mov eax, 0x9000
nop dword [eax]
test word [esi + 0x28], ax
lea esi, [esi + 0x28]
je 0x448596
lea ecx, [esi - 0x10]
call fcn.0043e690
mov eax, 0x9000
dec edi
mov word [esi], bx
mov dword [esi - 4], 0
test edi, edi
jg 0x448580
jmp 0x448654
mov ecx, dword [ebp - 0x284]
mov edx, 0xffc1
mov ebx, dword [ebp - 0x298]
mov edi, dword [ebp - 0x284]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 0x10]
and ax, dx
or ax, 1
mov word [ebx + ecx*8 + 0x10], ax
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x44861a
mov ecx, esi
call fcn.00447d70
mov esi, eax
jmp 0x448623
mov eax, 4
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0x284]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 4]
test ecx, ecx
jne 0x44867a
mov edx, eax
mov ecx, esi
call fcn.0043eca0
mov ecx, esi
call fcn.0043e450
test eax, eax
jne 0x44cdea
mov al, byte [ebp - 0x2a4]
mov byte [esi + 0x12], al
mov edi, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x28c]
mov esi, dword [ebp - 0x288]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
push 0
cdq
push 0
push edx
mov edx, ecx
mov ecx, esi
push eax
call fcn.0043f010
add esp, 0x10
jmp 0x44864b
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x64]
lea edi, [eax + ecx*8]
lea ecx, [edi - 0x28]
call fcn.0043eef0
test eax, eax
jne 0x44e94a
mov eax, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x298]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x4486d8
mov ecx, esi
call fcn.0043e690
movups xmm0, xmmword [edi - 0x28]
mov ecx, 0xafff
movups xmmword [esi], xmm0
mov eax, dword [edi - 0x18]
mov dword [esi + 0x10], eax
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [esi + 0x10], ax
jmp 0x448654
mov ecx, dword [ebp - 0x284]
mov edx, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
nop
mov eax, 0x9000
test word [esi + 0x10], ax
jne 0x448731
cmp dword [esi + 0x18], 0
je 0x448738
mov ecx, esi
call fcn.0043e6d0
movups xmm0, xmmword [edi]
mov eax, 1
movups xmmword [esi], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [esi + 0x20], xmm0
mov word [edi + 0x10], ax
mov eax, 0x4000
mov dword [edi + 0x18], 0
test word [esi + 0x10], ax
je 0x44877a
mov ecx, esi
call fcn.0043e400
test eax, eax
jne 0x44cdea
add edi, 0x28
add esi, 0x28
sub ebx, 1
jne 0x448720
jmp 0x448654
mov ecx, dword [ebp - 0x284]
mov edx, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
nop dword [eax + eax]
push 0x4000
mov edx, edi
mov ecx, esi
call fcn.0043ef50
mov eax, 0x4000
add esp, 4
test word [esi + 0x10], ax
je 0x4487db
mov ecx, esi
call fcn.0043e400
test eax, eax
jne 0x44cdea
mov eax, ebx
dec ebx
test eax, eax
je 0x44e4e4
add esi, 0x28
add edi, 0x28
jmp 0x4487b0
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
push 0x4000
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.0043ef50
mov ecx, dword [ebp - 0x28c]
add esp, 4
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
mov edx, dword [ebx + eax*8]
mov eax, dword [ebx + eax*8 + 4]
mov ebx, 0x9000
test word [ecx + 0x10], bx
je 0x448890
push eax
push edx
call fcn.0043ecf0
mov ecx, dword [ebp - 0x28c]
add esp, 8
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edi, dword [ebp - 0x284]
mov dword [ecx + 4], eax
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x290]
mov dword [ecx], edx
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
xor edx, edx
mov ecx, esi
call fcn.00442530
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov edx, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + 0xc]
movzx ecx, word [ebx + 0x10]
mov dword [ebp - 0xd4], ecx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov al, byte [edi + 0x10]
or al, cl
test al, 1
je 0x448950
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x448942
mov ecx, esi
call fcn.0043e690
jmp 0x448654
mov eax, 1
mov word [esi + 0x10], ax
jmp 0x448654
test cl, 0x12
jne 0x448969
mov dl, byte [ebp - 0x2a4]
mov ecx, ebx
push 0
call fcn.0043e4b0
add esp, 4
jmp 0x448978
test ecx, 0x400
je 0x448995
mov ecx, ebx
call fcn.0043e450
test eax, eax
jne 0x44cdea
mov ax, word [ebx + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0xd4], eax
movzx edx, word [edi + 0x10]
mov dword [ebp - 0x1c], edx
test dl, 0x12
jne 0x4489cf
mov dl, byte [ebp - 0x2a4]
mov ecx, edi
push 0
call fcn.0043e4b0
add esp, 4
test eax, eax
jne 0x44cdea
mov ax, word [edi + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx edx, ax
mov dword [ebp - 0x1c], edx
jmp 0x4489f8
test edx, 0x400
je 0x4489f8
mov ecx, edi
call fcn.0043e450
test eax, eax
jne 0x44cdea
mov ax, word [edi + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x28c]
mov edx, dword [edi + 0xc]
add edx, dword [ebx + 0xc]
mov dword [ebp - 0x14], edx
cmp edx, dword [eax + 0x78]
jg 0x44e944
xor eax, eax
mov ecx, esi
cmp esi, edi
sete al
add edx, 3
push eax
call fcn.0043e240
add esp, 4
test eax, eax
jne 0x44cdea
mov ax, word [esi + 0x10]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [esi + 0x10], ax
cmp esi, edi
je 0x448a5d
push dword [edi + 0xc]
push dword [edi + 8]
push dword [esi + 8]
call fcn.0051ad20
mov eax, dword [ebp - 0x1c]
add esp, 0xc
mov word [edi + 0x10], ax
push dword [ebx + 0xc]
mov eax, dword [esi + 8]
push dword [ebx + 8]
add eax, dword [edi + 0xc]
push eax
call fcn.0051ad20
mov eax, dword [ebp - 0xd4]
add esp, 0xc
mov ecx, dword [ebp - 0x14]
mov word [ebx + 0x10], ax
mov eax, dword [esi + 8]
mov byte [ecx + eax], 0
mov eax, dword [esi + 8]
mov byte [eax + ecx + 1], 0
mov eax, dword [esi + 8]
mov byte [eax + ecx + 2], 0
mov eax, 0x200
or word [esi + 0x10], ax
mov dword [esi + 0xc], ecx
jmp 0x44864b
mov ecx, dword [ebp - 0x284]
mov edi, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x29c], eax
call fcn.00447d50
movzx ebx, ax
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov ecx, esi
mov dword [ebp - 0x34], esi
call fcn.00447d50
movzx ecx, ax
mov eax, dword [ebp - 0x284]
and cl, bl
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0xd4], eax
mov ax, word [esi + 0x10]
mov esi, dword [ebp - 0x29c]
or ax, word [esi + 0x10]
movzx eax, ax
test cl, 4
je 0x448ca3
mov eax, esi
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x48], ebx
movzx eax, byte [eax]
add eax, 0xffffff96
mov dword [ebp - 0x44], edi
cmp eax, 3
ja case.default.0x448b49
jmp dword [eax*4 + 0x44f0e4]
test esi, esi
jl 0x448bba
jg 0x448b5a
test edx, edx
jb 0x448bba
test edi, edi
jl 0x448bed
jg 0x448b6c
test ebx, ebx
je 0x448bed
or ecx, 0xffffffff
mov eax, bind
sub ecx, ebx
sbb eax, edi
cmp eax, esi
jg 0x448bed
jl 0x448b82
cmp ecx, edx
jae 0x448bed
mov esi, dword [ebp - 0x29c]
mov ecx, esi
call fcn.0043e860
mov ebx, dword [ebp - 0x34]
mov ecx, ebx
movsd qword [ebp - 0x18], xmm0
call fcn.0043e860
mov eax, dword [ebp - 0x284]
movzx eax, byte [eax]
add eax, 0xffffff96
cmp eax, 3
ja case.default.0x448bb3
jmp dword [eax*4 + 0x44f0f4]
test edi, edi
jg 0x448bed
jl 0x448bc4
test ebx, ebx
jae 0x448bed
mov ebx, 1
mov ecx, bind
sub ebx, dword [ebp - 0x1c]
mov eax, esi
sbb ecx, edi
mov edi, edx
add edi, 1
adc eax, 0
cmp ecx, eax
jg 0x448b82
jl 0x448be7
cmp ebx, edi
ja 0x448b82
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x24]
add edx, ebx
mov dword [ebp - 0x48], edx
adc esi, edi
mov dword [ebp - 0x44], esi
jmp 0x448c76
push esi
push edx
lea ecx, [ebp - 0x48]
call fcn.004228c0
add esp, 8
test eax, eax
jne 0x448b82
jmp 0x448c76
push esi
push edx
lea ecx, [ebp - 0x48]
call fcn.00422910
add esp, 8
test eax, eax
jne 0x448b82
jmp 0x448c76
mov eax, edx
or eax, esi
je 0x448cab
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x448c46
test ebx, ebx
jne 0x448c46
cmp edi, 0x80000000
je 0x448b82
push esi
push edx
push edi
push ebx
call fcn.00518f20
jmp 0x448c70
mov eax, edx
or eax, esi
je 0x448cab
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x448c67
mov edx, 1
xor esi, esi
push esi
push edx
push edi
push ebx
call fcn.00519460
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0xd4]
mov edx, 0xf244
mov eax, dword [ebp - 0x48]
mov dword [ecx], eax
mov eax, dword [ebp - 0x44]
mov dword [ecx + 4], eax
mov ax, word [ecx + 0x10]
and ax, dx
or ax, 4
movzx eax, ax
mov word [ecx + 0x10], ax
jmp 0x448654
test al, 1
je 0x448b88
mov eax, dword [ebp - 0xd4]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x448d85
mov ecx, eax
call fcn.0043e690
jmp 0x448654
addsd xmm0, qword [ebp - 0x18]
jmp 0x448d38
subsd xmm0, qword [ebp - 0x18]
jmp 0x448d38
mulsd xmm0, qword [ebp - 0x18]
jmp 0x448d38
movsd xmm1, qword [ebp - 0x18]
ucomisd xmm1, qword [ebp - 0x2e8]
lahf
test ah, 0x44
jnp 0x448cab
divsd xmm0, xmm1
jmp 0x448d38
mov ecx, esi
call fcn.0043e7d0
mov ecx, ebx
mov esi, eax
mov edi, edx
call fcn.0043e7d0
mov ecx, esi
mov dword [ebp - 0x48], eax
or ecx, edi
mov dword [ebp - 0x44], edx
je 0x448cab
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x448d28
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.00519460
mov ecx, eax
call fcn.00519350
movsd qword [ebp - 0x18], xmm0
mov ecx, dword [ebp - 0x14]
mov eax, ecx
and eax, 0x7ff00000
cmp eax, 0x7ff00000
jne 0x448d5f
mov eax, dword [ebp - 0x18]
and ecx, 0xfffff
or eax, ecx
jne 0x448cab
mov ecx, dword [ebp - 0xd4]
mov edx, 0xf248
mov ax, word [ecx + 0x10]
and ax, dx
movsd qword [ecx], xmm0
or ax, 8
movzx eax, ax
mov word [ecx + 0x10], ax
jmp 0x448654
mov ecx, 1
mov word [eax + 0x10], cx
jmp 0x448654
mov eax, dword [edi + 4]
test eax, eax
je 0x448666
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x9000
test word [eax + 0x10], dx
je 0x448ddd
push 0
push 0
mov ecx, eax
call fcn.0043ecf0
mov ecx, dword [ebp - 0x28c]
add esp, 8
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 0x10], dx
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov al, byte [ecx + 0x10]
or al, byte [edi + 0x10]
mov dword [ebp - 0x14], edx
test al, 1
je 0x448e96
mov eax, 0x9000
test word [edx + 0x10], ax
je 0x448e6d
mov ecx, edx
call fcn.0043e690
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x28c]
mov eax, 1
mov edi, dword [ebp - 0x284]
mov word [edx + 0x10], ax
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
call fcn.0043e7d0
mov ebx, eax
mov esi, edx
mov ecx, edi
mov dword [ebp - 0x2d8], ebx
mov dword [ebp - 0x2d4], esi
call fcn.0043e7d0
mov edi, eax
mov eax, dword [ebp - 0x284]
mov cl, byte [eax]
cmp cl, 0x66
jne 0x448ec7
and ebx, edi
and esi, edx
jmp 0x448f2a
cmp cl, 0x67
jne 0x448ed2
or ebx, edi
or esi, edx
jmp 0x448f2a
mov eax, edi
or eax, edx
je 0x448f2a
test edx, edx
jg 0x448f06
jl 0x448ee2
test edi, edi
jae 0x448efb
mov al, 0xd1
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x448f06
jg 0x448ef4
cmp edi, 0xffffffc0
jbe 0x448f06
neg edi
adc edx, 0
neg edx
test edx, edx
jl 0x448f4b
jg 0x448f06
cmp edi, 0x40
jb 0x448f4b
test esi, esi
jg 0x448f1c
jl 0x448f10
test ebx, ebx
jae 0x448f1c
cmp cl, 0x68
je 0x448f1c
or ebx, 0xffffffff
or esi, ebx
jmp 0x448f2a
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov edx, 0xf244
mov ax, word [ecx + 0x10]
and ax, dx
mov dword [ecx], ebx
or ax, 4
mov dword [ecx + 4], esi
mov word [ecx + 0x10], ax
jmp 0x448654
movq xmm1, qword [ebp - 0x2d8]
movd xmm0, edi
cmp cl, 0x68
jne 0x448f67
psllq xmm1, xmm0
movq qword [ebp - 0x20], xmm1
jmp 0x448f24
psrlq xmm1, xmm0
movq qword [ebp - 0x20], xmm1
test esi, esi
jg 0x448f24
jl 0x448f7a
test ebx, ebx
jae 0x448f24
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, edi
or edx, 0xffffffff
call fcn.00544cb0
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
or ebx, eax
or esi, edx
jmp 0x448f2a
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0043e7d0
mov dword [esi], eax
mov ecx, 0xf244
mov ax, word [esi + 0x10]
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x448654
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x10]
mov ecx, eax
test al, 4
jne 0x449036
push dword [ebp - 0x2a4]
mov dl, 0x43
mov ecx, esi
call fcn.00447bf0
movzx eax, word [esi + 0x10]
add esp, 4
mov ecx, eax
test al, 4
jne 0x449036
mov ecx, dword [ebp - 0x284]
cmp dword [ecx + 8], 0
jne 0x44b73c
mov edx, 0x14
jmp 0x44ea6e
and ecx, 0xf244
or ecx, 4
mov word [esi + 0x10], cx
jmp 0x448654
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 0x24
lea esi, [edx + eax*8]
je 0x448660
mov ecx, esi
call fcn.0043e860
mov ax, word [esi + 0x10]
mov ecx, 0xf248
and ax, cx
movsd qword [esi], xmm0
mov ecx, dword [ebp - 0x28c]
or ax, 8
mov word [esi + 0x10], ax
mov esi, dword [ebp - 0x288]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x400
test word [esi + 0x10], ax
je 0x4490d8
mov ecx, esi
call fcn.0043e450
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov eax, dword [ebp - 0x284]
mov ecx, esi
push dword [ebp - 0x2a4]
mov dl, byte [eax + 8]
call fcn.0043eb70
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
jmp 0x448654
mov ecx, dword [ebp - 0x284]
mov esi, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
movzx edi, word [esi + eax*8 + 0x10]
lea ecx, [esi + eax*8]
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x2a0], ecx
mov dword [ebp - 0x29c], edi
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
movzx ecx, word [esi + eax*8 + 0x10]
lea esi, [esi + eax*8]
mov eax, ecx
mov dword [ebp - 0x2ac], ecx
and eax, edi
test al, 4
je 0x44920c
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [esi + 4]
mov edi, dword [esi]
mov edx, dword [eax]
mov eax, dword [eax + 4]
cmp ecx, eax
jl 0x449192
jg 0x44916c
cmp edi, edx
jbe 0x449188
cmp byte [ebx + 0x566cc8], 0
jne 0x44b73c
mov dword [ebp - 0x2b4], 1
jmp 0x448654
cmp ecx, eax
jg 0x4491cf
jl 0x449192
cmp edi, edx
jae 0x4491cf
cmp byte [ebx + 0x566cbc], 0
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov esi, dword [ebp - 0x288]
jne 0x44b74e
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x2b4], 0xffffffff
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
cmp byte [ebx + 0x566cc2], 0
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov esi, dword [ebp - 0x288]
jne 0x44b74e
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x2b4], 0
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ebx, ecx
or ebx, edi
test bl, 1
je 0x4492a0
mov ebx, dword [ebp - 0x284]
movzx ebx, word [ebx + 2]
test bl, bl
jns 0x449267
test al, 1
je 0x449248
test ecx, 0x100
jne 0x449248
mov ebx, dword [ebp - 0x2a0]
mov dword [ebp - 0x2b4], 0
jmp 0x4493d4
mov ebx, dword [ebp - 0x2a0]
mov eax, ecx
not eax
and eax, 1
lea eax, [eax*2 - 1]
mov dword [ebp - 0x2b4], eax
jmp 0x4493d4
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov esi, dword [ebp - 0x288]
test bl, 0x10
jne 0x44b74e
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x2b4], 1
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov eax, dword [ebp - 0x284]
mov al, byte [eax + 2]
and al, 0x47
cmp al, 0x43
jb 0x4492fb
test bl, 2
je 0x4493a5
mov ebx, dword [ebp - 0x29c]
mov al, bl
mov ebx, dword [ebp - 0x2a0]
and al, 0x2e
cmp al, 2
jne 0x4492df
xor edx, edx
mov ecx, ebx
call fcn.00447b00
movzx ecx, word [esi + 0x10]
mov dword [ebp - 0x2ac], ecx
mov al, cl
and al, 0x2e
cmp al, 2
jne 0x4492f0
xor edx, edx
mov ecx, esi
call fcn.00447b00
mov edi, dword [ebp - 0x29c]
jmp 0x4493ab
cmp al, 0x42
jne 0x4493a5
mov ebx, dword [ebp - 0x29c]
test bl, 2
jne 0x449361
test bl, 0x2c
je 0x449361
mov edi, dword [ebp - 0x2a0]
mov ecx, edi
mov dl, byte [ebp - 0x2a4]
push 1
call fcn.0043e4b0
mov ax, word [edi + 0x10]
mov ecx, 0xdbf
xor ax, bx
add esp, 4
and ax, cx
xor ax, word [edi + 0x10]
movzx ebx, ax
mov dword [ebp - 0x29c], ebx
cmp edi, esi
jne 0x44935b
mov eax, ebx
or eax, 2
movzx ecx, ax
mov dword [ebp - 0x2ac], ecx
jmp 0x449361
mov ecx, dword [ebp - 0x2ac]
test cl, 2
jne 0x44939f
test cl, 0x2c
je 0x44939f
mov dl, byte [ebp - 0x2a4]
mov ecx, esi
push 1
call fcn.0043e4b0
mov ecx, dword [ebp - 0x2ac]
add esp, 4
mov ax, word [esi + 0x10]
xor ax, cx
mov ecx, 0xdbf
and ax, cx
xor ax, word [esi + 0x10]
movzx ecx, ax
mov dword [ebp - 0x2ac], ecx
mov edi, dword [ebp - 0x29c]
mov ebx, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x284]
mov edx, ebx
mov ecx, esi
push dword [eax + 0x10]
call fcn.00443630
mov ecx, dword [ebp - 0x2ac]
add esp, 4
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x284]
mov dl, byte [eax]
cmp dword [ebp - 0x2b4], 0
movzx edx, dl
jge 0x4493e7
mov eax, 0x566cbc
jmp 0x4493f3
mov eax, 0x566cc2
cmovne eax, dword [ebp - 0x2dc]
mov al, byte [edx + eax]
mov word [esi + 0x10], cx
mov esi, dword [ebp - 0x288]
mov word [ebx + 0x10], di
test al, al
jne 0x44b742
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
cmp dword [ebp - 0x2b4], 0
je 0x44b74e
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ebx, dword [ebp - 0x284]
test byte [ebx + 2], 1
jne 0x449457
xor eax, eax
jmp 0x44945d
mov eax, dword [ebx - 4]
add eax, 4
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebp - 0x284]
mov edx, dword [ebx + 0x10]
mov ebx, dword [ebx + 4]
mov dword [ebp - 0x24], ebx
mov ebx, dword [esi + 8]
xor esi, esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0x34], ebx
test ecx, ecx
jle 0x448163
lea ebx, [edx + 0x14]
nop
test eax, eax
je 0x449499
mov edi, dword [eax + esi*4]
jmp 0x44949b
mov edi, esi
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0x298]
push dword [ebx]
movzx eax, byte [eax + esi]
and eax, 1
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x34]
add eax, edi
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0x24]
add eax, edi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00443630
mov edx, eax
add esp, 4
mov dword [ebp - 0x2b4], edx
test edx, edx
jne 0x4494f1
mov eax, dword [ebp - 0x1c]
inc esi
mov edx, dword [ebp - 0xd4]
add ebx, 4
cmp esi, dword [ebp - 0x14]
jl 0x449490
jmp 0x448654
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x10]
test byte [esi + eax], 2
je 0x44952c
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x298]
add eax, edi
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
jne 0x449524
mov eax, dword [ebp - 0x34]
add eax, edi
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
je 0x44952c
neg edx
mov dword [ebp - 0x2b4], edx
cmp dword [ebp - 0x3c], 0
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov esi, dword [ebp - 0x288]
je 0x448666
mov eax, dword [ebp - 0x290]
neg edx
mov dword [ebp - 0x2b4], edx
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ebx, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x284]
test ebx, ebx
jns 0x44959a
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x2a8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
jne 0x4495c2
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x2a8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x2a8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ebx, dword [ebp - 0x284]
mov edi, 2
mov ecx, dword [ebp - 0x298]
mov edx, edi
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0043e890
mov ecx, dword [ebx + 8]
mov edx, edi
mov ebx, dword [ebp - 0x298]
mov esi, eax
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
call fcn.0043e890
mov ecx, dword [ebp - 0x284]
lea eax, [eax + esi*2]
cmp byte [ecx], 0x2c
jne 0x449638
mov dl, byte [esi + eax + 0x565d94]
jmp 0x44963f
mov dl, byte [esi + eax + 0x566568]
mov eax, dword [ecx + 0xc]
lea esi, [eax + eax*4]
movzx ecx, word [ebx + esi*8 + 0x10]
cmp dl, 2
jne 0x449662
and ecx, 0xf241
or ecx, 1
mov word [ebx + esi*8 + 0x10], cx
jmp 0x448654
movzx eax, dl
and ecx, 0xf244
cdq
or ecx, 4
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
mov word [ebx + esi*8 + 0x10], cx
jmp 0x448654
mov edx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.0043e890
mov ecx, dword [ebp - 0x284]
xor eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 8]
cdq
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov ebx, 0x9000
test word [ecx + 0x10], bx
je 0x4496e5
push edx
push eax
call fcn.0043ecf0
mov ecx, dword [ebp - 0x28c]
add esp, 8
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edi, dword [ebp - 0x284]
mov dword [ecx], eax
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x290]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
lea ecx, [ebx + eax*8]
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
jne 0x44977e
xor edx, edx
call fcn.0043e890
neg eax
mov ecx, 0x9000
sbb eax, eax
inc eax
test word [esi + 0x10], cx
je 0x449767
push 0
push eax
mov ecx, esi
call fcn.0043ecf0
add esp, 8
jmp 0x448654
mov dword [esi], eax
mov eax, 4
mov dword [esi + 4], 0
mov word [esi + 0x10], ax
jmp 0x448654
mov eax, 0x9000
test word [esi + 0x10], ax
jne 0x448936
mov eax, 1
mov word [esi + 0x10], ax
jmp 0x448163
mov edx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, edx
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x4497d5
mov ecx, esi
call fcn.0043e690
mov ecx, dword [ebp - 0x28c]
jmp 0x4497de
mov eax, 1
mov word [esi + 0x10], ax
test byte [edi + 0x10], 1
jne 0x44e4ea
mov eax, 4
mov ecx, edi
mov word [esi + 0x10], ax
call fcn.0043e7d0
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x448163
mov edi, dword [esi + 0xd0]
test edi, edi
je 0x449883
mov ecx, dword [ebp - 0x284]
mov eax, 0x66666667
sub ecx, dword [esi + 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 0x44b73c
bts edx, ecx
mov byte [esi + edi], dl
mov esi, dword [ebp - 0x288]
mov edi, dword [ebp - 0x284]
mov ecx, dword [esi + 0x68]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x284]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [esi + 0x68]
mov edi, dword [ebp - 0x284]
mov eax, dword [ecx + 4]
cmp eax, dword [edi + 4]
je 0x44b748
mov ecx, edi
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x298]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0043e890
test eax, eax
jne 0x44b742
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
xor edx, edx
mov eax, dword [ecx + 4]
cmp dword [ecx + 0xc], edx
mov ecx, dword [ebp - 0x298]
sete dl
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0043e890
test eax, eax
je 0x44b742
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
jne 0x44b74e
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
movzx eax, word [edx + eax*8 + 0x10]
test al, 1
jne 0x44b74e
and eax, 0x3f
movzx eax, byte [eax + 0x5699f8]
cmp eax, dword [edi + 0xc]
je 0x44b74e
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
jne 0x449a50
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 1
jne 0x449a50
mov eax, edx
mov edx, 0x9000
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
test word [ebx + eax*8 + 0x10], dx
lea eax, [ebx + eax*8]
je 0x449a20
push 0
push 0
mov ecx, eax
call fcn.0043ecf0
mov ecx, dword [ebp - 0x28c]
add esp, 8
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edi, dword [ebp - 0x284]
mov edx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 0x10], dx
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov eax, dword [ebp - 0x284]
mov edx, 0x9000
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
test word [ebx + eax*8 + 0x10], dx
lea eax, [ebx + eax*8]
je 0x449a92
mov ecx, eax
call fcn.0043e690
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edi, dword [ebp - 0x284]
mov edx, 1
mov word [eax + 0x10], dx
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 1
je 0x44b74e
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x4480ab
mov eax, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x298]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x449b25
mov ecx, eax
call fcn.0043e690
jmp 0x44b742
mov ecx, 1
mov word [eax + 0x10], cx
jmp 0x44b742
mov ebx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebx + 8]
mov edi, dword [ebp - 0x288]
mov dword [ebp - 0x2a0], ecx
mov eax, dword [esi + 0x20]
mov ebx, dword [esi + 0x48]
mov dword [ebp - 0x29c], ebx
cmp eax, dword [edi + 0x1c]
je 0x449bb6
cmp byte [esi + 2], 0
jne 0x449c1c
cmp byte [esi + 3], 0
mov edi, dword [esi + 0x2c]
je 0x449b8c
mov eax, dword [esi + 0x10]
test eax, eax
je 0x449be4
mov eax, dword [eax + ecx*4 + 4]
test eax, eax
je 0x449be4
mov esi, dword [esi + 0x28]
lea ecx, [eax - 1]
jmp 0x449b45
cmp byte [edi], 0
je 0x449bfb
mov ecx, esi
call fcn.00442e10
mov edi, dword [ebp - 0x288]
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea7a
mov ecx, dword [ebp - 0x2a0]
jmp 0x449b51
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
je 0x449cb5
mov ecx, esi
call fcn.00442e10
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea7a
mov ecx, dword [ebp - 0x2a0]
jmp 0x449b51
mov ecx, esi
call fcn.00442da0
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov ecx, edi
call fcn.00435a40
mov eax, dword [edi + 0x2c]
lea ebx, [esi + 0x54]
mov edx, ebx
mov dword [esi + 0x50], eax
mov ecx, edi
call fcn.00436100
mov edi, dword [ebp - 0x288]
jmp 0x449c49
cmp byte [esi], 3
jne 0x449d3a
mov eax, dword [esi + 0x24]
test eax, eax
jle 0x449d3a
mov edx, dword [ebp - 0x298]
lea ecx, [eax + eax*4]
lea ebx, [esi + 0x54]
mov eax, dword [edx + ecx*8 + 0xc]
mov dword [ebx], eax
mov dword [esi + 0x50], eax
mov eax, dword [edx + ecx*8 + 8]
mov dword [esi + 0x4c], eax
mov eax, dword [edi + 0x1c]
mov edi, dword [ebp - 0x29c]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x4c]
movzx eax, byte [eax]
mov dword [edi], eax
cmp eax, 0x80
jae 0x449c6e
mov eax, 1
jmp 0x449c7b
mov ecx, dword [esi + 0x4c]
mov edx, edi
call fcn.004226a0
movzx eax, al
mov dword [esi + 0x34], eax
xor eax, eax
mov word [esi + 0x3e], ax
mov ecx, dword [edi]
cmp dword [ebx], ecx
jae 0x449d2d
mov dword [ebx], eax
mov ebx, dword [ebp - 0x29c]
mov dword [esi + 0x4c], eax
mov eax, dword [ebx]
cmp eax, 0x18003
ja 0x449ed7
cmp eax, dword [esi + 0x50]
ja 0x449ed7
mov ecx, dword [ebp - 0x2a0]
movzx edx, word [esi + 0x3e]
cmp edx, ecx
ja 0x449f40
mov edi, dword [esi + 0x34]
mov ecx, dword [ebx]
cmp edi, ecx
jae 0x449ef6
mov eax, dword [esi + 0x4c]
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x449d74
xorps xmm0, xmm0
lea eax, [ebp - 0x120]
movups xmmword [ebp - 0x120], xmm0
push eax
movups xmmword [ebp - 0x110], xmm0
movq qword [ebp - 0x100], xmm0
mov edx, dword [ebx]
mov ecx, dword [esi + 0x2c]
call fcn.0043f3f0
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebx]
mov edi, dword [esi + 0x34]
mov dword [ebp - 0x3c], eax
movzx eax, word [esi + 0x3e]
jmp 0x449d76
mov eax, dword [esi + 0x4c]
mov edi, dword [esi + 0x34]
mov dword [ebp - 0x3c], eax
xor eax, eax
jmp 0x449d76
mov eax, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x298]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x449d66
mov ecx, eax
call fcn.0043e690
jmp 0x448654
mov ecx, 1
mov word [eax + 0x10], cx
jmp 0x448163
mov eax, edx
add ecx, dword [ebp - 0x3c]
xor edx, edx
add edi, dword [ebp - 0x3c]
movzx ebx, ax
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0xd4], ecx
mov eax, dword [eax + ebx*4]
add ebx, 0x16
lea ebx, [esi + ebx*4]
nop dword [eax]
mov dword [ebp - 0x14], eax
movzx eax, byte [edi]
mov dword [ebp - 0xdc], eax
mov dword [ebx], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x24], edx
cmp eax, 0x80
jae 0x449dd0
movzx eax, al
mov ecx, 1
movzx eax, byte [eax + 0x5666c0]
cdq
jmp 0x449e05
lea edx, [ebp - 0xdc]
mov ecx, edi
call fcn.004226a0
movzx ecx, al
mov eax, dword [ebp - 0xdc]
mov dword [ebx], eax
mov eax, dword [ebp - 0xdc]
cmp eax, 0x80
jb 0x449dfc
add eax, 0xfffffff4
shr eax, 1
jmp 0x449e03
movzx eax, byte [eax + 0x5666c0]
xor edx, edx
add eax, dword [ebp - 0x14]
adc edx, dword [ebp - 0x24]
add edi, ecx
mov ecx, dword [ebp - 0x1c]
add ebx, 4
mov dword [ebp - 0x14], edx
inc ecx
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x1c], ecx
mov dword [edx + ecx*4], eax
mov edx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x2a0]
ja 0x449e42
cmp edi, dword [ebp - 0xd4]
jb 0x449da0
mov ebx, dword [ebp - 0xd4]
jmp 0x449e4c
mov ebx, dword [ebp - 0xd4]
cmp edi, ebx
jb 0x449e59
cmp edi, ebx
ja 0x449e64
cmp eax, dword [esi + 0x50]
jne 0x449e64
test edx, edx
jne 0x449e64
test edx, edx
jb 0x449e73
ja 0x449e64
cmp eax, dword [esi + 0x50]
jbe 0x449e73
mov eax, dword [ebp - 0x29c]
cmp dword [eax], 0
jne 0x449eb1
xor ecx, ecx
mov edi, ebx
sub edi, dword [ebp - 0x3c]
cmp dword [esi + 0x4c], 0
mov word [esi + 0x3e], cx
mov dword [esi + 0x34], edi
jne 0x449ea3
test dword [ebp - 0x110], 0x9000
jne 0x449e98
cmp dword [ebp - 0x108], 0
je 0x449ea3
lea ecx, [ebp - 0x120]
call fcn.0043e6d0
mov ecx, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0x29c]
jmp 0x449efe
cmp dword [esi + 0x4c], 0
jne 0x449ed7
test dword [ebp - 0x110], 0x9000
jne 0x449ecc
cmp dword [ebp - 0x108], 0
je 0x449ed7
lea ecx, [ebp - 0x120]
call fcn.0043e6d0
mov edx, dword [ebp - 0x2a8]
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x44e7cf
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ecx, [edx + eax*4]
jmp 0x44815d
xor ecx, ecx
mov dword [ebp - 0xdc], ecx
movzx eax, word [esi + 0x3e]
cmp eax, dword [ebp - 0x2a0]
ja 0x449f4a
mov ecx, dword [ebp - 0x284]
mov edx, dword [ebp - 0x298]
cmp byte [ecx + 1], 0xf6
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
jne 0x449d4f
mov edx, dword [ecx + 0x10]
mov ecx, eax
push 0x2000
call fcn.0043ef50
add esp, 4
jmp 0x448163
mov ecx, dword [esi + ecx*4 + 0x58]
mov dword [ebp - 0xdc], ecx
mov eax, dword [ebp - 0x284]
mov edx, dword [ebp - 0x298]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, 0x9000
test word [edi + 0x10], ax
je 0x449f77
mov ecx, edi
call fcn.0043e690
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x2a0]
mov eax, dword [esi + 0x54]
cmp eax, dword [ebx + edx*4 + 4]
jb 0x44a031
mov eax, dword [ebp - 0x29c]
mov ebx, dword [esi + 0x4c]
add ebx, dword [eax + edx*4]
cmp ecx, 0xc
jae 0x449fad
mov edx, ecx
mov ecx, ebx
push edi
call fcn.00442e70
add esp, 4
jmp 0x448163
mov al, byte [ebp - 0x2a4]
lea esi, [ecx - 0xc]
shr esi, 1
mov dword [edi + 0xc], esi
mov byte [edi + 0x12], al
lea edx, [esi + 2]
cmp dword [edi + 0x18], edx
jge 0x449ff7
mov eax, dword [ebp - 0x28c]
cmp esi, dword [eax + 0x78]
jg 0x44e944
mov eax, 1
mov ecx, edi
push 0
mov word [edi + 0x10], ax
call fcn.0043e240
add esp, 4
test eax, eax
jne 0x44cdea
mov eax, dword [edi + 8]
jmp 0x449ffd
mov eax, dword [edi + 0x20]
mov dword [edi + 8], eax
push esi
push ebx
push eax
call fcn.0051ad20
mov eax, dword [edi + 8]
add esp, 0xc
mov byte [esi + eax], 0
mov eax, dword [edi + 8]
mov byte [esi + eax + 1], 0
mov eax, dword [ebp - 0xdc]
and eax, 1
mov ax, word [eax*2 + 0x56674c]
mov word [edi + 0x10], ax
jmp 0x448163
mov al, byte [ebp - 0x2a4]
mov byte [edi + 0x12], al
mov eax, dword [ebp - 0x284]
mov edx, dword [ebp - 0xdc]
movzx eax, word [eax + 2]
test al, 0xc0
je 0x44a05c
cmp edx, 0xc
jb 0x44a058
test dl, 1
je 0x44a076
test al, al
js 0x44a076
cmp edx, 0x80
jb 0x44a06b
lea eax, [edx - 0xc]
shr eax, 1
jmp 0x44a072
movzx eax, byte [edx + 0x5666c0]
test eax, eax
jne 0x44a089
push edi
mov ecx, 0x566088
call fcn.00442e70
add esp, 4
jmp 0x448163
mov edx, dword [ebp - 0x28c]
cmp eax, dword [edx + 0x78]
jg 0x44e944
mov ecx, dword [esi + 0x2c]
push edi
push eax
mov eax, dword [ebp - 0x2a0]
mov edx, dword [ebx + eax*4]
call fcn.0043f310
mov edx, eax
add esp, 8
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov edx, dword [ebp - 0xdc]
mov ecx, dword [edi + 8]
push edi
call fcn.00442e70
mov eax, 0xbfff
add esp, 4
and word [edi + 0x10], ax
jmp 0x448163
mov ecx, dword [ebp - 0x284]
mov edx, dword [ecx + 0x10]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0x14], edx
mov ebx, dword [edx + 4]
lea eax, [eax + eax*4]
mov dword [ebp - 0x24], ebx
lea esi, [ecx + eax*8]
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x1c], ecx
cmp ax, word [edx + 0x22]
jge 0x448163
lea edi, [ebx + 8]
mov dword [ebp - 0xd4], edi
nop dword [eax]
movzx eax, word [edi + 6]
test al, 0x60
je 0x44a140
test al, 0x20
jne 0x44a1f3
mov eax, dword [ebp - 0x284]
cmp dword [eax + 0xc], 0
jne 0x44a1f0
push dword [ebp - 0x2a4]
mov dl, byte [edi]
mov ecx, esi
call fcn.00447bf0
movzx eax, word [esi + 0x10]
add esp, 4
mov ebx, eax
test al, 1
jne case.default.0x44a171
mov ecx, dword [edi - 4]
shr ecx, 4
and ecx, 0xf
lea edx, [ecx - 2]
cmp edx, 4
ja case.default.0x44a171
jmp dword [edx*4 + 0x44f104]
test al, 0x10
jmp 0x44a1e4
test al, 4
jmp 0x44a1e4
test al, 2
jmp 0x44a1e4
test al, 4
je 0x44a1e2
mov edi, dword [esi]
mov ecx, edi
mov edx, dword [esi + 4]
add ecx, 0
mov eax, edx
adc eax, 0x8000
cmp eax, 0xffff
ja 0x44a1bf
jb 0x44a1a7
cmp ecx, 0xffffffff
ja 0x44a1bf
mov eax, 0x20
or eax, ebx
and eax, 0xfffb
mov word [esi + 0x10], ax
mov edi, dword [ebp - 0xd4]
jmp case.default.0x44a171
mov ecx, edi
call fcn.00519350
mov eax, 8
movsd qword [esi], xmm0
or eax, ebx
and eax, 0xfffb
mov word [esi + 0x10], ax
mov edi, dword [ebp - 0xd4]
jmp case.default.0x44a171
test al, 0x28
je 0x44e7f7
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
add esi, 0x28
movsx eax, word [edx + 0x22]
inc ecx
add edi, 0x10
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xd4], edi
cmp ecx, eax
jl 0x44a120
jmp 0x448163
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov al, byte [edi]
nop dword [eax + eax]
push dword [ebp - 0x2a4]
mov dl, al
mov ecx, esi
call fcn.00447bf0
add esp, 4
cmp byte [edi], 0x45
jne 0x44a290
movzx ebx, word [esi + 0x10]
test bl, 4
je 0x44a290
mov ecx, dword [esi]
mov edx, dword [esi + 4]
add ecx, 0
mov eax, edx
adc eax, 0x8000
cmp eax, 0xffff
ja 0x44a278
jb 0x44a26d
cmp ecx, 0xffffffff
ja 0x44a278
and ebx, 0xfffb
or ebx, 0x20
jmp 0x44a28c
mov ecx, dword [esi]
call fcn.00519350
and ebx, 0xfffb
movsd qword [esi], xmm0
or ebx, 8
mov word [esi + 0x10], bx
mov al, byte [edi + 1]
inc edi
test al, al
je 0x44e4e4
add esi, 0x28
jmp 0x44a230
mov edx, dword [ebp - 0x284]
xorps xmm0, xmm0
mov esi, dword [ebp - 0x298]
xor ecx, ecx
movlpd qword [ebp - 0xd8], xmm0
mov dword [ebp - 0x2b0], ecx
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x10]
movlpd qword [ebp - 0x28], xmm0
lea eax, [eax + eax*4]
lea ebx, [esi + eax*8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x1c], ebx
lea eax, [eax + eax*4]
mov dword [ebp - 0x14], eax
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x3c], eax
test edi, edi
je 0x44a331
mov al, byte [edi]
lea esi, [ebx + 0x10]
mov ebx, dword [ebp - 0x2a4]
push ebx
lea ecx, [esi - 0x10]
mov dl, al
call fcn.00447bf0
add esp, 4
cmp byte [edi], 0x45
jne 0x44a31d
movzx eax, word [esi]
test al, 4
je 0x44a31d
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
mov al, byte [edi + 1]
inc edi
add esi, 0x28
test al, al
jne 0x44a2f8
mov ecx, dword [ebp - 0x2b0]
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x2a0], edi
lea eax, [eax*8 - 0xc]
mov dword [ebp - 0x2ac], edx
add eax, ebx
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0xd4], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x24], ebx
movzx ebx, word [eax - 0xc]
mov dword [ebp - 0x29c], eax
test bl, 1
je 0x44a38e
and ebx, 0x400
neg ebx
sbb ebx, ebx
and ebx, 0xa
inc ecx
mov dword [eax], ebx
mov dword [ebp - 0x2b0], ecx
jmp 0x44a5eb
test bl, 0x24
je 0x44a509
mov esi, dword [eax - 0x1c]
mov eax, dword [eax - 0x18]
test eax, eax
jg 0x44a3af
jl 0x44a3a7
test esi, esi
jae 0x44a3af
mov ecx, esi
not eax
not ecx
jmp 0x44a3b1
mov ecx, esi
inc dword [ebp - 0x2b0]
test eax, eax
ja 0x44a48c
jb 0x44a3c6
cmp ecx, 0x7f
ja 0x44a40e
mov eax, esi
xor ebx, ebx
and eax, 1
cmp eax, esi
jne 0x44a3f3
mov esi, dword [ebp - 0x29c]
cmp ebx, dword [esi - 0x18]
jne 0x44a3f3
mov eax, dword [ebp - 0x288]
cmp byte [eax + 0x93], 4
jb 0x44a3f3
lea eax, [ecx + 8]
jmp 0x44a5d7
add edx, 1
mov eax, 1
mov dword [ebp - 0x2ac], edx
adc edi, ebx
mov dword [ebp - 0x2a0], edi
jmp 0x44a5d7
test eax, eax
ja 0x44a48c
jb 0x44a41c
cmp ecx, 0x7fff
ja 0x44a438
add edx, 2
mov eax, 2
mov dword [ebp - 0x2ac], edx
adc edi, 0
mov dword [ebp - 0x2a0], edi
jmp 0x44a5d7
test eax, eax
ja 0x44a48c
jb 0x44a446
cmp ecx, 0x7fffff
ja 0x44a462
add edx, 3
mov eax, 3
mov dword [ebp - 0x2ac], edx
adc edi, 0
mov dword [ebp - 0x2a0], edi
jmp 0x44a5d7
test eax, eax
ja 0x44a48c
jb 0x44a470
cmp ecx, 0x7fffffff
ja 0x44a48c
add edx, 4
mov eax, 4
mov dword [ebp - 0x2ac], edx
adc edi, 0
mov dword [ebp - 0x2a0], edi
jmp 0x44a5d7
cmp eax, 0x7fff
ja 0x44a4b6
jb 0x44a49a
cmp ecx, 0xffffffff
ja 0x44a4b6
add edx, 6
mov eax, 5
mov dword [ebp - 0x2ac], edx
adc edi, 0
mov dword [ebp - 0x2a0], edi
jmp 0x44a5d7
add edx, 8
mov dword [ebp - 0x2ac], edx
adc edi, 0
mov dword [ebp - 0x2a0], edi
test bl, 0x20
je 0x44a4ff
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx - 0x18]
mov ecx, esi
call fcn.00519350
mov eax, dword [ebp - 0x29c]
and ebx, 0xffdf
or ebx, 8
movsd qword [eax - 0x1c], xmm0
mov word [eax - 0xc], bx
mov eax, 7
jmp 0x44a5d7
mov eax, 6
jmp 0x44a5d7
test bl, 8
je 0x44a532
inc ecx
mov dword [eax], 7
add edx, 8
mov dword [ebp - 0x2b0], ecx
mov dword [ebp - 0x2ac], edx
adc edi, 0
mov dword [ebp - 0x2a0], edi
jmp 0x44a5eb
mov edi, dword [eax - 0x10]
mov eax, ebx
shr eax, 1
and eax, 1
lea eax, [eax + edi*2]
add eax, 0xc
mov dword [ebp - 0x34], eax
test ebx, 0x400
je 0x44a590
mov esi, dword [ebp - 0x29c]
mov ecx, dword [esi - 0x1c]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x34], eax
mov eax, edx
or eax, dword [ebp - 0x2a0]
je 0x44a57b
lea ecx, [esi - 0x1c]
call fcn.0043e450
test eax, eax
jne 0x44cdea
add edi, dword [esi - 0x1c]
jmp 0x44a587
mov eax, ecx
cdq
add dword [ebp - 0x24], eax
adc dword [ebp - 0xd4], edx
mov edx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x34]
add edx, edi
mov esi, 1
mov edi, dword [ebp - 0x2a0]
mov dword [ebp - 0x2ac], edx
adc edi, 0
mov edx, eax
mov dword [ebp - 0x2a0], edi
shr edx, 7
xor ecx, ecx
mov eax, edx
or eax, ecx
je 0x44a5ce
nop dword [eax]
shrd edx, ecx, 7
inc esi
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x44a5c0
add dword [ebp - 0x2b0], esi
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x29c]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x29c]
add eax, 0xffffffe4
cmp eax, dword [ebp - 0x1c]
je 0x44a607
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x2ac]
sub eax, 0x28
jmp 0x44a364
cmp ecx, 0x7e
jle 0x44a66c
mov eax, ecx
mov ebx, 1
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x44a631
shrd esi, edx, 7
inc ebx
shr edx, 7
mov eax, esi
or eax, edx
jne 0x44a623
mov eax, dword [ebp - 0x2b0]
mov edi, 1
add eax, ebx
mov dword [ebp - 0x2b0], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x44a662
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x44a654
mov ecx, dword [ebp - 0x2b0]
cmp ebx, edi
jge 0x44a673
inc ecx
mov dword [ebp - 0x2b0], ecx
mov edi, dword [ebp - 0x2ac]
mov eax, ecx
mov esi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x2a0]
cdq
mov ecx, eax
mov eax, edx
mov esi, dword [esi + 0x18]
add edi, ecx
mov dword [ebp - 0x29c], ecx
mov ecx, edi
adc ebx, eax
mov dword [ebp - 0x34], eax
add ecx, dword [ebp - 0x24]
mov eax, esi
cdq
adc ebx, dword [ebp - 0xd4]
cmp ebx, edx
jg 0x44a6bc
jl 0x44a6b1
cmp ecx, eax
ja 0x44a6bc
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + 0x20]
mov dword [edx + 8], eax
jmp 0x44a708
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + 0x78]
cdq
cmp ebx, edx
jg 0x44e944
jl 0x44a6d8
cmp ecx, eax
ja 0x44e944
cmp esi, edi
jge 0x44a6f0
mov ecx, dword [ebp - 0x3c]
mov edx, edi
push 0
call fcn.0043e240
mov edx, dword [ebp - 0x3c]
add esp, 4
jmp 0x44a700
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + 0x20]
and word [edx + 0x10], 0x2d
mov dword [edx + 8], eax
xor eax, eax
test eax, eax
jne 0x44cdea
mov ecx, dword [ebp - 0x24]
mov eax, 0x10
mov word [edx + 0x10], ax
mov eax, ecx
or eax, dword [ebp - 0xd4]
mov dword [edx + 0xc], edi
je 0x44a72c
mov eax, 0x410
mov dword [edx], ecx
mov word [edx + 0x10], ax
mov eax, dword [ebp - 0x2b0]
mov ebx, dword [edx + 8]
lea edi, [ebx + eax]
cmp eax, 0x80
jge 0x44a744
mov byte [ebx], al
inc ebx
jmp 0x44a759
push dword [ebp - 0x34]
mov ecx, ebx
push dword [ebp - 0x29c]
call fcn.00422480
add esp, 8
add ebx, eax
mov esi, dword [ebp - 0x1c]
add esi, 0xc
nop
mov edx, dword [esi + 0x10]
cmp edx, 7
ja 0x44a7a7
mov byte [ebx], dl
inc ebx
test edx, edx
je 0x44a7e3
movzx edx, byte [edx + 0x5666c0]
mov ecx, dword [esi - 0xc]
mov eax, dword [esi - 8]
mov dword [ebp - 0xd4], edx
sub edx, 1
mov byte [edx + edi], cl
je 0x44a79f
nop word [eax + eax]
shrd ecx, eax, 8
shr eax, 8
sub edx, 1
mov byte [edx + edi], cl
jne 0x44a790
add edi, dword [ebp - 0xd4]
jmp 0x44a7e3
cmp edx, 0x80
jae 0x44a7bf
mov byte [ebx], dl
inc ebx
cmp edx, 0xe
jb 0x44a7e3
mov eax, dword [esi]
test eax, eax
jle 0x44a7e3
jmp 0x44a7d4
push 0
push edx
mov ecx, ebx
call fcn.00422480
add ebx, eax
add esp, 8
mov eax, dword [esi]
test eax, eax
je 0x44a7e3
push eax
push dword [esi - 4]
push edi
call fcn.0051ad20
add esp, 0xc
add edi, dword [esi]
mov eax, dword [ebp - 0x14]
lea eax, [eax*8 - 0x1c]
add eax, dword [ebp - 0x1c]
cmp esi, eax
je 0x44e4e4
add esi, 0x28
jmp 0x44a760
mov ebx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
cmp dword [ebx + 0xc], 0
mov ecx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
mov edx, dword [eax + 0x2c]
je 0x44a827
mov ecx, edx
call fcn.00436b40
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
jmp 0x44a851
mov ecx, dword [ebp - 0x28c]
lea eax, [ebp - 0x80]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x80], xmm0
call fcn.0043c010
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x44a877
call fcn.00447d70
mov ecx, eax
jmp 0x44a880
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x80]
mov dword [ecx], eax
mov eax, dword [ebp - 0x7c]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x28c]
cmp dword [ecx + 0x128], 0
jne 0x44ea69
mov esi, dword [ebp - 0x2c4]
cmp dword [ebp - 0x2c8], esi
jb 0x44e4ea
mov ebx, dword [ebp - 0x2bc]
mov edi, dword [ebp - 0x290]
ja 0x44a8d0
cmp edi, ebx
jb 0x44e4ea
nop word [eax + eax]
mov eax, dword [ecx + 0x170]
test eax, eax
je 0x44e4ea
add ebx, dword [ecx + 0x178]
push dword [ecx + 0x174]
adc esi, 0
mov dword [ebp - 0x2bc], ebx
mov dword [ebp - 0x2c4], esi
call eax
add esp, 4
test eax, eax
jne 0x44ea57
mov ecx, dword [ebp - 0x28c]
cmp dword [ebp - 0x2c8], esi
ja 0x44a8d0
jb 0x448163
cmp edi, ebx
jae 0x44a8d0
jmp 0x448163
mov edx, dword [ebp - 0x284]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x10]
mov dword [ebp - 0x29c], eax
test eax, eax
jne 0x44aa16
cmp dword [ecx + 0xc4], eax
jg 0x44e843
test ebx, ebx
jne 0x44a951
xor esi, esi
jmp 0x44a96b
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x44a956
sub esi, ecx
mov ecx, dword [ebp - 0x28c]
and esi, 0x3fffffff
mov eax, dword [ecx + 0x1f8]
xor edx, edx
add eax, dword [ecx + 0x1f4]
push eax
call fcn.00492ed0
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov ecx, dword [ebp - 0x28c]
lea eax, [esi + 0x21]
push edx
push eax
call fcn.0041e1f0
mov edi, eax
add esp, 8
test edi, edi
je 0x44acdf
lea ecx, [esi + 1]
push ecx
lea edx, [edi + 0x20]
push ebx
push edx
mov dword [edi], edx
call fcn.0051ad20
mov ecx, dword [ebp - 0x28c]
add esp, 0xc
cmp byte [ecx + 0x55], 0
je 0x44a9d8
mov byte [ecx + 0x55], 0
mov byte [ecx + 0x5d], 1
jmp 0x44a9de
inc dword [ecx + 0x1f4]
mov eax, dword [ecx + 0x1e8]
mov dword [edi + 0x18], eax
mov eax, dword [ecx + 0x200]
mov dword [ecx + 0x1e8], edi
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x204]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0x208]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x20c]
mov dword [edi + 0x14], eax
jmp 0x44acdf
mov esi, dword [ecx + 0x1e8]
xor edi, edi
test esi, esi
je 0x44aa37
mov ecx, dword [esi]
mov edx, ebx
call fcn.00421800
test eax, eax
je 0x44aa5c
mov esi, dword [esi + 0x18]
inc edi
test esi, esi
jne 0x44aa22
mov edi, dword [ebp - 0x288]
push ebx
push str.no_such_savepoint:__s
push edi
call fcn.0043fbe0
mov edx, 1
add esp, 0xc
mov dword [ebp - 0x294], edx
jmp 0x44ea7a
mov edx, dword [ebp - 0x28c]
mov ebx, dword [ebp - 0x29c]
cmp dword [edx + 0xc4], 0
jle 0x44aa7a
cmp ebx, 1
je 0x44e85b
cmp dword [esi + 0x18], 0
jne 0x44aafb
cmp byte [edx + 0x5d], 0
je 0x44aafb
mov dword [ebp - 0x24], 1
cmp ebx, 1
jne 0x44ab02
mov ecx, dword [ebp - 0x288]
mov edx, ebx
call fcn.00442530
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x44ed64
mov eax, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x288]
mov byte [eax + 0x55], bl
call fcn.004425a0
cmp eax, 5
je 0x44e87f
mov eax, dword [ebp - 0x288]
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x294], edx
test edx, edx
je 0x44aaec
mov eax, dword [ebp - 0x28c]
mov byte [eax + 0x55], 0
jmp 0x44ac14
mov edx, dword [ebp - 0x28c]
mov byte [edx + 0x5d], 0
jmp 0x44ac22
mov dword [ebp - 0x24], 0
mov ecx, dword [edx + 0x1f4]
mov eax, dword [edx + 0x14]
sub ecx, edi
dec ecx
mov dword [ebp - 0x1c], ecx
cmp ebx, 2
jne 0x44ab7c
mov edx, dword [edx + 0x18]
xor ebx, ebx
and edx, 1
mov dword [ebp - 0xd4], edx
test eax, eax
jle 0x44ab84
mov ecx, edx
xor ecx, 1
xor edi, edi
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x28c]
mov edx, 0x204
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.004355b0
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov eax, dword [ebp - 0x28c]
inc ebx
mov ecx, dword [ebp - 0x14]
add edi, 0x10
mov eax, dword [eax + 0x14]
cmp ebx, eax
jl 0x44ab32
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xd4]
jmp 0x44ab84
xor edx, edx
mov dword [ebp - 0xd4], edx
xor ebx, ebx
test eax, eax
jle 0x44abd0
mov eax, dword [ebp - 0x28c]
xor edi, edi
mov edx, dword [ebp - 0x29c]
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.00435850
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov eax, dword [ebp - 0x28c]
inc ebx
mov ecx, dword [ebp - 0x1c]
add edi, 0x10
cmp ebx, dword [eax + 0x14]
jl 0x44ab92
mov edx, dword [ebp - 0xd4]
test edx, edx
je 0x44ac05
mov ebx, dword [ebp - 0x28c]
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x44abfa
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 0x44abe1
mov ecx, ebx
call fcn.00465a40
or dword [ebx + 0x18], 1
mov edx, dword [ebp - 0x294]
mov ebx, dword [ebp - 0x29c]
mov edi, dword [ebp - 0x1c]
test edx, edx
jne 0x44ea74
mov edx, dword [ebp - 0x28c]
mov ecx, dword [edx + 0x1e8]
cmp ecx, esi
je 0x44ac60
mov ebx, dword [ebp - 0x28c]
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, ebx
mov dword [ebx + 0x1e8], eax
call fcn.0041def0
mov ecx, dword [ebx + 0x1e8]
dec dword [ebx + 0x1f4]
cmp ecx, esi
jne 0x44ac32
mov ebx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x28c]
cmp ebx, 1
jne 0x44ac8f
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x28c]
mov dword [edx + 0x1e8], eax
mov edx, esi
call fcn.0041def0
cmp dword [ebp - 0x24], 0
jne 0x44acdf
mov edx, dword [ebp - 0x28c]
dec dword [edx + 0x1f4]
jmp 0x44acbe
cmp dword [ebp - 0x24], 0
mov eax, dword [esi + 8]
mov dword [edx + 0x200], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 0x204], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x208], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x20c], eax
je 0x44acbe
cmp ebx, 2
jne 0x44acdf
mov ecx, dword [ebp - 0x28c]
mov edx, ebx
push edi
call fcn.00492ed0
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov esi, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x28c]
cmp byte [esi + 0x95], 3
je 0x44e8bc
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ebx, dword [ebp - 0x284]
mov dword [ebp - 0x24], 0
mov edi, dword [ebx + 8]
test edi, edi
je 0x44ad44
mov edx, dword [ecx + 0x20]
mov eax, edx
mov ecx, dword [ecx + 0x24]
and eax, 0x100000
and ecx, 2
or eax, ecx
jne 0x44e8cc
mov ecx, dword [ebp - 0x28c]
mov esi, dword [ebx + 4]
shl esi, 4
add esi, dword [ecx + 0x10]
mov ebx, dword [esi + 4]
test ebx, ebx
je 0x44ae27
lea eax, [ebp - 0x24]
mov edx, edi
push eax
mov ecx, ebx
call fcn.004344d0
mov edi, dword [ebp - 0x288]
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44e903
test byte [edi + 0x98], 0x20
je 0x44ae3b
mov eax, dword [ebp - 0x284]
cmp dword [eax + 8], edx
je 0x44ae3b
mov edx, dword [ebp - 0x28c]
cmp byte [edx + 0x55], 0
je 0x44adb3
cmp dword [edx + 0xc0], 1
jle 0x44ae3b
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x44adcf
mov eax, dword [edx + 0x1f4]
inc dword [edx + 0x1f8]
add eax, dword [edx + 0x1f8]
mov dword [edi + 0x30], eax
mov ecx, dword [ebp - 0x28c]
dec eax
push eax
xor edx, edx
call fcn.00492ed0
add esp, 4
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x44adfb
mov edx, dword [edi + 0x30]
mov ecx, ebx
call fcn.004357f0
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx + 0x200]
mov dword [edi + 0x48], eax
mov eax, dword [ecx + 0x204]
mov dword [edi + 0x4c], eax
mov eax, dword [ecx + 0x208]
mov dword [edi + 0x50], eax
mov eax, dword [ecx + 0x20c]
mov dword [edi + 0x54], eax
jmp 0x44ae2d
mov edi, dword [ebp - 0x288]
mov edx, dword [ebp - 0x294]
test edx, edx
jne 0x44ea7a
mov ecx, dword [ebp - 0x284]
cmp word [ecx + 2], 0
je 0x448163
mov eax, dword [ebp - 0x24]
cmp eax, dword [ecx + 0xc]
jne 0x44ae63
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 0x10]
je 0x448163
mov edx, dword [edi + 0x7c]
mov ebx, dword [ebp - 0x28c]
test edx, edx
je 0x44ae77
mov ecx, ebx
call fcn.0041def0
mov edx, str.database_schema_has_changed
mov ecx, ebx
call fcn.0041e440
mov esi, dword [ebp - 0x284]
mov dword [edi + 0x7c], eax
mov eax, dword [ebx + 0x10]
mov edx, dword [esi + 4]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x24]
je 0x44aea8
mov ecx, ebx
call fcn.004659e0
mov eax, dword [edi + 0x98]
mov edx, 0x11
and eax, 0xfffffffd
mov dword [ebp - 0x294], edx
or eax, 1
mov dword [edi + 0x98], eax
jmp 0x44ea80
mov edx, dword [ebp - 0x284]
lea eax, [ebp - 0x9c]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0043bf00
mov eax, dword [ebp - 0x284]
add esp, 4
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x9000
test word [ecx + 0x10], ax
je 0x44af3e
call fcn.00447d70
mov edi, dword [ebp - 0x284]
mov ecx, eax
mov eax, dword [ebp - 0x9c]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x290]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edi, dword [ebp - 0x284]
mov eax, 4
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x9c]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x290]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
mov esi, dword [edx + 4]
push dword [edx + 0xc]
mov edx, dword [edx + 8]
shl esi, 4
add esi, dword [ecx + 0x10]
mov ecx, dword [esi + 4]
call fcn.0043bf60
mov edx, dword [ebp - 0x284]
add esp, 4
mov dword [ebp - 0x294], eax
mov eax, dword [edx + 8]
cmp eax, 1
jne 0x44afd1
movzx eax, word [edx + 2]
mov ecx, dword [edx + 0xc]
sub ecx, eax
mov eax, dword [esi + 0xc]
mov dword [eax], ecx
mov eax, dword [ebp - 0x28c]
mov ecx, eax
or dword [eax + 0x18], 1
mov edx, dword [edx + 4]
call fcn.004737b0
mov edx, dword [ebp - 0x284]
jmp 0x44afdf
cmp eax, 2
jne 0x44afdf
mov ecx, dword [esi + 0xc]
mov al, byte [edx + 0xc]
mov byte [ecx + 0x4c], al
cmp dword [edx + 4], 1
jne 0x44b001
mov ecx, dword [ebp - 0x28c]
xor edx, edx
call fcn.00444610
mov esi, dword [ebp - 0x288]
and dword [esi + 0x98], 0xfffffffc
jmp 0x44b007
mov esi, dword [ebp - 0x288]
mov edx, dword [ebp - 0x294]
test edx, edx
jne 0x44ea74
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ebx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [ebx + 4]
mov edi, dword [eax + ecx*4]
test edi, edi
je 0x44b060
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 8]
jne 0x44b060
mov ecx, dword [edi + 0x2c]
add edi, 0x2c
call fcn.00431690
jmp 0x44b183
mov ecx, dword [ebp - 0x28c]
mov eax, dword [esi + 0x98]
and al, 3
cmp al, 1
je 0x44e93a
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0x1c], 0
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x24], eax
shl eax, 4
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x14], edi
mov ecx, dword [eax + 4]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x284]
cmp dl, 0x71
jne 0x44b0d0
mov eax, dword [eax + 0xc]
movzx ebx, word [ecx + 2]
and ebx, 8
or ebx, 4
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x93]
jae 0x44b0d2
mov byte [esi + 0x93], al
jmp 0x44b0d2
xor ebx, ebx
test byte [ecx + 2], 0x10
je 0x44b0fc
mov ecx, dword [ebp - 0x298]
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0043e940
mov edi, dword [esi]
mov ecx, dword [ebp - 0x284]
mov esi, dword [ebp - 0x288]
mov dword [ebp - 0x14], edi
mov al, byte [ecx + 1]
cmp al, 0xf8
jne 0x44b10f
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x1c], eax
movzx eax, word [eax + 8]
jmp 0x44b11e
cmp al, 0xfd
jne 0x44b118
mov eax, dword [ecx + 0x10]
jmp 0x44b11e
mov eax, dword [ebp - 0xd4]
mov edx, dword [ecx + 4]
mov ecx, esi
push 0
push eax
call fcn.00447a00
mov esi, eax
add esp, 8
test esi, esi
je 0x44cdea
push dword [esi + 0x2c]
mov eax, dword [ebp - 0x24]
push dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x34]
or dword [esi + 8], 4
mov dword [esi + 0x38], edi
lea edi, [esi + 0x2c]
push ebx
mov byte [esi + 1], al
mov byte [esi + 2], 1
call fcn.004359d0
mov dword [ebp - 0x294], eax
add esp, 0xc
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x284]
cmp byte [eax + 1], 0xf8
setne al
mov byte [esi + 4], al
mov esi, dword [ebp - 0x288]
mov eax, dword [ebp - 0x284]
mov ecx, dword [edi]
movzx edx, word [eax + 2]
and edx, 3
call fcn.00431840
jmp 0x44b007
mov edx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
push 0
mov ecx, dword [edx + 8]
mov edx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, esi
movsx eax, word [edi + 0x3c]
push eax
call fcn.00447a00
mov esi, eax
add esp, 8
test esi, esi
je 0x44cdea
or dword [esi + 8], 1
mov byte [esi + 2], 1
mov ecx, dword [edi + 0x30]
mov dword [esi + 0x30], ecx
mov al, byte [edi + 4]
mov byte [esi + 4], al
mov eax, dword [edi + 0x38]
mov dword [esi + 0x38], eax
mov ecx, dword [edi + 8]
xor ecx, dword [esi + 8]
and ecx, 4
xor ecx, dword [esi + 8]
mov dword [esi + 8], ecx
or ecx, 8
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov dword [esi + 8], ecx
or dword [edi + 8], 8
push dword [esi + 0x2c]
mov edx, dword [esi + 0x38]
push dword [esi + 0x30]
mov ecx, dword [esi + 0x10]
push 4
call fcn.004359d0
add esp, 0xc
mov dword [ebp - 0x294], eax
jmp 0x448163
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x44b24f
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
mov dword [edx + eax*8 + 0xc], 0
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov dword [edx + eax*8 + 8], 0x563af1
mov edx, dword [ecx + 4]
mov eax, dword [esi + 0x60]
mov esi, dword [eax + edx*4]
test esi, esi
je 0x44b29d
test byte [esi + 8], 8
jne 0x44b29d
movsx eax, word [esi + 0x3c]
cmp dword [ecx + 8], eax
jg 0x44b29d
mov edx, dword [esi + 0x38]
mov ecx, dword [esi + 0x10]
push 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
call fcn.0043bb30
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
jmp 0x44b3c7
push 0
push dword [ecx + 8]
mov ecx, dword [ebp - 0x288]
call fcn.00447a00
mov esi, eax
add esp, 8
test esi, esi
je 0x44cdea
mov eax, dword [ebp - 0x284]
lea edi, [esi + 0x10]
or dword [esi + 8], 1
xor edx, edx
push 0x41e
movzx ecx, word [eax + 2]
mov eax, dword [ebp - 0x28c]
or ecx, 5
push ecx
push edi
push eax
mov ecx, dword [eax]
call fcn.00433240
mov edx, eax
add esp, 0x10
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov ecx, dword [edi]
lea edx, [eax + 1]
push eax
call fcn.004344d0
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44b396
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x14], eax
mov dword [esi + 0x30], eax
test eax, eax
je 0x44b36d
movzx eax, word [ecx + 2]
lea edx, [esi + 0x38]
mov ecx, dword [edi]
or eax, 2
push eax
call fcn.0043b8e0
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44b367
push dword [esi + 0x2c]
mov edx, dword [esi + 0x38]
push dword [ebp - 0x14]
mov ecx, dword [edi]
push 4
call fcn.004359d0
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x294], edx
mov byte [esi + 4], 0
jmp 0x44b396
push dword [esi + 0x2c]
mov ecx, dword [edi]
mov edx, 1
push 0
push 4
mov dword [esi + 0x38], 1
call fcn.004359d0
mov edx, eax
mov byte [esi + 4], 1
add esp, 0xc
mov dword [ebp - 0x294], edx
mov eax, dword [ebp - 0x284]
xor ecx, ecx
cmp word [eax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [esi + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 8], ecx
test edx, edx
je 0x44b3cf
mov ecx, dword [edi]
call fcn.00433990
mov edx, dword [ebp - 0x294]
test edx, edx
jne 0x44ea74
mov byte [esi + 2], 1
jmp 0x448163
mov ecx, dword [ebp - 0x284]
push 1
push dword [ecx + 8]
mov edx, dword [ecx + 4]
mov ecx, esi
call fcn.00447a00
add esp, 8
test eax, eax
je 0x44cdf0
mov edx, dword [ebp - 0x284]
push eax
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x30], ecx
mov edx, dword [edx + 0xc]
mov ecx, dword [ebp - 0x28c]
call fcn.00450410
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
jmp 0x44b00d
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x18]
mov ecx, edi
mov esi, dword [edx + 0x1c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x18], ecx
adc eax, 0
or edi, esi
mov esi, dword [ebp - 0x288]
mov dword [edx + 0x1c], eax
je 0x44b742
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
push 3
push dword [ecx + 0xc]
mov edx, dword [ecx + 4]
mov ecx, esi
call fcn.00447a00
add esp, 8
test eax, eax
je 0x44cdf0
mov ecx, dword [ebp - 0x284]
mov edi, dword [ebp - 0x284]
mov byte [eax + 2], 1
mov ecx, dword [ecx + 8]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebp - 0x28c]
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x629520
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov edx, dword [esi + 0x60]
mov eax, dword [ecx + 4]
mov ecx, esi
mov edx, dword [edx + eax*4]
call fcn.00441990
mov eax, dword [ebp - 0x284]
mov edi, dword [ebp - 0x284]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x60]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
xor edi, edi
mov eax, dword [esi + 0x60]
mov dword [ebp - 0xd4], edi
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 4], 0
mov word [esi + 2], di
mov dword [esi + 0x20], edi
je 0x44b643
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
movzx eax, word [edi + 0x10]
mov dword [ebp - 0x24], eax
and al, 0x2e
cmp al, 2
jne 0x44b567
xor edx, edx
mov ecx, edi
call fcn.00447b00
mov ecx, edi
call fcn.0043e7d0
movzx ecx, word [edi + 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
mov word [edi + 0x10], ax
test cl, 0x24
jne 0x44b60d
test cl, 8
jne 0x44b5e2
test cl, 1
jne 0x44b73c
cmp ebx, 0x16
jae 0x44b73c
mov ecx, dword [esi + 0x2c]
lea edx, [ebp - 0x2c]
call fcn.00436400
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
cmp dword [ebp - 0x2c], 0
jne 0x44b73c
mov ecx, dword [ebp - 0x284]
cmp dword [ebp - 0xd4], 0
lea eax, [ecx + 0x14]
cmove eax, ecx
mov dword [ebp - 0x284], eax
jmp 0x448163
push dword [ebp - 0x1c]
movsd xmm1, qword [edi]
push dword [ebp - 0x14]
call fcn.004435b0
add esp, 8
test eax, eax
jle 0x44b605
test bl, 1
lea eax, [ebx - 1]
cmove eax, ebx
mov ebx, eax
jmp 0x44b60d
jns 0x44b60d
test bl, 1
jne 0x44b60d
inc ebx
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x2c]
mov ecx, dword [esi + 0x2c]
xor edx, edx
push eax
push dword [ebp - 0x1c]
push edi
call fcn.00436470
mov edx, eax
mov dword [esi + 0x40], edi
mov eax, dword [ebp - 0x1c]
add esp, 0xc
mov dword [ebp - 0x294], edx
mov dword [esi + 0x44], eax
test edx, edx
jne 0x44ea74
jmp 0x44b6de
mov ecx, dword [esi + 0x2c]
mov edx, 2
call fcn.0043d1e0
mov ecx, dword [ebp - 0x284]
lea edx, [ebp - 0x1a8]
test eax, eax
mov eax, 1
cmovne edi, eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x1a8], eax
test bl, 1
mov ax, word [ecx + 0x10]
mov word [ebp - 0x194], ax
sete al
mov byte [ebp - 0x18e], 0
mov dword [ebp - 0xd4], edi
lea eax, [eax*2 - 1]
mov byte [ebp - 0x192], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x2c]
mov ecx, dword [esi + 0x2c]
push eax
call fcn.00436740
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
test edi, edi
je 0x44b6de
cmp byte [ebp - 0x18e], al
je 0x44b5ba
mov eax, dword [ebp - 0x2c]
cmp ebx, 0x16
jl 0x44b774
test eax, eax
js 0x44b701
jne 0x44b6f5
cmp ebx, 0x17
je 0x44b701
mov dword [ebp - 0x2c], 0
jmp 0x44b5c4
mov dword [ebp - 0x2c], 0
xor edx, edx
mov ecx, dword [esi + 0x2c]
call fcn.00436cf0
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
je 0x44b5ba
cmp edx, 0x65
jne 0x44ea74
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x2c], 1
mov esi, dword [ebp - 0x288]
mov edi, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x28c]
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0x2a8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
test eax, eax
jg 0x44b78f
jne 0x44b77f
cmp ebx, 0x14
je 0x44b78f
mov ecx, dword [esi + 0x2c]
call fcn.00436b30
mov dword [ebp - 0x2c], eax
jmp 0x44b5ba
mov dword [ebp - 0x2c], 0
xor edx, edx
mov ecx, dword [esi + 0x2c]
call fcn.00436e40
jmp 0x44b712
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 0x18]
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi + 0x2c]
call fcn.00435a80
test eax, eax
je 0x4480ab
mov ecx, dword [ebp - 0x284]
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x210], eax
mov byte [ebp - 0x1fa], 0
mov ax, word [ecx + 0x24]
mov esi, dword [ecx + 4]
mov word [ebp - 0x1fc], ax
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0x6c], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x28c]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x210]
mov edx, edi
push eax
call fcn.00444510
mov edx, eax
add esp, 8
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov eax, dword [ebp - 0x6c]
test eax, eax
jg 0x44b86c
je 0x44b73c
test esi, esi
jle 0x44e4e4
mov ecx, dword [edi + 0x2c]
dec esi
call fcn.00436cf0
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
je 0x44b804
cmp edx, 0x65
jne 0x44ea74
mov dword [ebp - 0x294], 0
add dword [ebp - 0x284], 0x14
jmp 0x44b73c
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov edi, dword [ebp - 0x284]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x284]
movzx edx, word [eax + 0xc]
mov ecx, dword [ecx + 8]
cmp edx, ecx
jge 0x44b8bc
mov word [eax + 0xc], cx
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov ecx, dword [ecx + 0xc]
cmp edx, ecx
jle 0x4480fd
mov word [eax + 0xc], cx
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
cmp dword [eax + ecx*4], 0
je 0x44e13f
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x284]
movzx eax, word [eax + 0xc]
cmp eax, dword [ecx + 0x10]
jge 0x4480ab
jmp 0x44b94b
mov ecx, dword [ebp - 0x284]
mov ecx, dword [ecx + 4]
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x298]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x13c], ecx
movzx eax, word [eax + 0x10]
mov word [ebp - 0x12c], ax
test ax, ax
je 0x44b9b4
mov eax, dword [esi + 0x30]
lea ebx, [esi + 0x24]
mov dword [ebp - 0x140], eax
lea edx, [ebp - 0x140]
mov byte [ebp - 0x12a], 0
mov ecx, dword [esi + 0x2c]
push ebx
call fcn.00436740
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
jmp 0x44ba21
mov eax, 0x400
test word [ecx + 0x10], ax
je 0x44b9cc
call fcn.0043e450
test eax, eax
jne 0x44cdea
mov ecx, dword [esi + 0x30]
call fcn.00443100
mov edi, eax
test edi, edi
je 0x44cdea
mov edx, dword [ebp - 0x13c]
mov ecx, dword [esi + 0x30]
push edi
push dword [edx + 8]
mov edx, dword [edx + 0xc]
call fcn.00443160
mov byte [edi + 0x16], 0
lea ebx, [esi + 0x24]
mov ecx, dword [esi + 0x2c]
mov edx, edi
push ebx
call fcn.00436740
mov ecx, dword [ebp - 0x28c]
add esp, 0xc
mov edx, edi
mov dword [ebp - 0x294], eax
call fcn.0041def0
mov edx, dword [ebp - 0x294]
test edx, edx
jne 0x44ea74
mov ecx, dword [ebx]
test ecx, ecx
mov byte [esi + 3], dl
setne al
mov dword [esi + 0x20], edx
mov byte [esi + 2], al
mov eax, dword [ebp - 0x284]
mov al, byte [eax]
cmp al, 0x1c
jne 0x44ba73
mov esi, dword [ebp - 0x288]
test ecx, ecx
je 0x44b742
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
test ecx, ecx
jne 0x44b73c
cmp al, 0x1a
jne 0x44baad
movzx edx, word [ebp - 0x12c]
test edx, edx
je 0x44e4e4
mov eax, dword [ebp - 0x13c]
add eax, 0x10
test byte [eax], 1
jne 0x44b73c
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x44ba97
jmp 0x448163
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
cmp al, 0x19
jne 0x448660
mov eax, edi
mov ax, word [eax + 0x10]
mov word [esi + 0xc], ax
mov esi, dword [ebp - 0x288]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 0x24
jne 0x44bb60
movups xmm0, xmmword [ebx + eax*8]
mov dl, 0x43
lea ecx, [ebp - 0xd0]
push dword [ebp - 0x2a4]
movups xmmword [ebp - 0xd0], xmm0
movups xmm0, xmmword [ebx + eax*8 + 0x10]
movups xmmword [ebp - 0xc0], xmm0
movq xmm0, qword [ebx + eax*8 + 0x20]
movq qword [ebp - 0xb0], xmm0
call fcn.00447bf0
add esp, 4
test byte [ebp - 0xc0], 4
je 0x44b742
mov edi, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xcc]
jmp 0x44bb6d
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov edi, dword [ebx + eax*8]
mov ebx, dword [ebx + eax*8 + 4]
mov eax, dword [ebp - 0x284]
xor edx, edx
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x50]
push eax
push ebx
push edi
mov ecx, dword [esi + 0x2c]
mov dword [ebp - 0x50], 0
call fcn.00436470
mov edx, eax
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], ebx
add esp, 0xc
mov word [esi + 2], 0
mov dword [esi + 0x20], 0
mov eax, dword [ebp - 0x50]
mov dword [esi + 0x24], eax
cmp dword [ebp - 0x50], 0
mov dword [ebp - 0x294], edx
je 0x44bbdf
mov ecx, dword [ebp - 0x284]
cmp dword [ecx + 8], 0
jne 0x44b73c
mov ecx, 0x16d10
call fcn.004afae0
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
jmp 0x448163
mov ebx, dword [ebp - 0x284]
mov ecx, esi
mov edx, ebx
call fcn.00447d90
mov ecx, dword [esi + 0x60]
mov edi, ebx
mov edx, dword [ebx + 4]
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x18]
mov dword [eax], ecx
mov ecx, dword [edx + 0x1c]
mov dword [eax + 4], ecx
mov eax, ebx
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28c]
add dword [eax + 0x18], 1
adc dword [eax + 0x1c], 0
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
xorps xmm0, xmm0
mov ecx, esi
movlpd qword [ebp - 0x18], xmm0
mov dword [ebp - 0x1c], 0
call fcn.00447d90
mov ecx, dword [esi + 0x60]
mov ebx, eax
mov eax, dword [ebp - 0x284]
mov edx, dword [eax + 4]
mov edi, dword [ecx + edx*4]
test byte [edi + 8], 2
jne 0x44bccc
mov ecx, dword [edi + 0x2c]
lea edx, [ebp - 0x1c]
call fcn.00436400
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
cmp dword [ebp - 0x1c], eax
je 0x44bc9d
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], eax
jmp 0x44bccc
mov ecx, dword [edi + 0x2c]
call fcn.00435a90
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
cmp edx, 0x7fffffff
jl 0x44bcc0
jg 0x44bcba
cmp eax, 0xffffffff
jb 0x44bcc0
or dword [edi + 8], 2
jmp 0x44bccc
add eax, 1
mov dword [ebp - 0x18], eax
adc edx, 0
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x284]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x44bd60
mov edx, dword [esi + 0xd0]
test edx, edx
je 0x44bd04
mov eax, dword [edx + 4]
test eax, eax
je 0x44bcf9
nop
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x44bcf0
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
jmp 0x44bd10
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x298]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0043e940
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x44bd2d
cmp edx, 0x7fffffff
je 0x44bdb8
test byte [edi + 8], 2
jne 0x44bdb8
add ecx, 1
adc edx, 0
cmp dword [ebp - 0x14], edx
jg 0x44bd55
jl 0x44bd4b
mov eax, dword [ebp - 0x18]
cmp eax, ecx
jae 0x44bd58
mov eax, ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], eax
jmp 0x44bd58
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
mov eax, dword [ebp - 0x14]
mov dword [esi + 4], eax
test byte [edi + 8], 2
je 0x44bdc2
xor esi, esi
lea eax, [ebp - 0x18]
push eax
push 8
call fcn.00420ba0
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
and eax, 0x3fffffff
add ecx, 1
push edx
adc eax, 0
mov dword [ebp - 0x18], ecx
push eax
mov dword [ebp - 0x14], eax
xor edx, edx
push ecx
mov ecx, dword [edi + 0x2c]
call fcn.00436470
mov edx, eax
add esp, 0x14
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
cmp dword [ebp - 0x1c], eax
jne 0x44bdc2
inc esi
cmp esi, 0x64
jl 0x44bd68
mov edx, 0xd
jmp 0x44ea6e
mov byte [edi + 3], 0
mov dword [edi + 0x20], 0
mov eax, dword [ebp - 0x18]
mov dword [ebx], eax
mov eax, dword [ebp - 0x14]
mov dword [ebx + 4], eax
jmp 0x448163
mov edx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
cmp byte [edx + 1], 0xfb
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
lea edi, [eax + eax*4]
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x24], esi
lea eax, [eax + eax*4]
mov ecx, dword [ebx + eax*8]
mov dword [ebp - 0x160], ecx
mov eax, dword [ebx + eax*8 + 4]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x15c], eax
jne 0x44be46
mov eax, dword [ebp - 0x28c]
cmp dword [eax + 0xfc], 0
je 0x44be46
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ebx, dword [edx + 0x10]
mov ecx, dword [eax + ecx*8]
mov dword [ebp - 0x14], ecx
jmp 0x44be4b
xor ebx, ebx
mov dword [ebp - 0x14], ebx
movzx eax, word [edx + 2]
mov edx, eax
test al, 1
je 0x44be6d
mov eax, dword [ebp - 0x288]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov eax, dword [ebp - 0x284]
movzx edx, word [eax + 2]
movzx ecx, dx
test dl, 0x20
je 0x44be94
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x284]
movzx ecx, word [eax + 2]
mov edx, dword [ebp - 0x298]
mov eax, dword [edx + edi*8 + 8]
mov dword [ebp - 0x158], eax
mov eax, dword [edx + edi*8 + 0xc]
mov dword [ebp - 0x14c], eax
test cl, 0x10
je 0x44beb8
mov edx, dword [esi + 0x24]
jmp 0x44beba
xor edx, edx
mov eax, dword [ebp - 0x298]
mov esi, 0x400
test word [eax + edi*8 + 0x10], si
mov esi, dword [ebp - 0x24]
je 0x44beda
mov eax, dword [eax + edi*8]
mov dword [ebp - 0x148], eax
jmp 0x44bee4
mov dword [ebp - 0x148], 0
push edx
and ecx, 0x8a
mov dword [ebp - 0x168], 0
push ecx
mov ecx, dword [esi + 0x2c]
lea edx, [ebp - 0x168]
call fcn.0043a6f0
mov edx, eax
mov byte [esi + 3], 0
add esp, 8
mov dword [ebp - 0x294], edx
mov dword [esi + 0x20], 0
test edx, edx
jne 0x44ea74
test ebx, ebx
je 0x44e4e4
push dword [ebp - 0x15c]
mov eax, dword [ebp - 0x284]
mov ecx, 0x17
push dword [ebp - 0x160]
push dword [ebx]
test byte [eax + 2], 4
mov eax, 0x12
push dword [ebp - 0x14]
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x28c]
push dword [eax + 0xf8]
mov eax, dword [eax + 0xfc]
call eax
add esp, 0x18
jmp 0x448163
mov edx, dword [ebp - 0x284]
mov ecx, dword [esi + 0x60]
mov eax, dword [edx + 4]
mov esi, dword [ecx + eax*4]
mov eax, dword [edx + 8]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x44bfa3
mov ebx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
mov ecx, dword [ebx + eax*8]
mov eax, dword [ebx + eax*8 + 4]
jmp 0x44bfb1
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov edx, dword [edx + 0x2c]
push eax
push ecx
mov ecx, dword [esi + 0x2c]
call fcn.0043acd0
mov edx, eax
add esp, 8
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
jmp 0x448163
mov edx, dword [ebp - 0x284]
cmp byte [edx + 1], 0xfb
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x60]
mov esi, dword [eax + ecx*4]
jne 0x44c031
mov eax, dword [ebp - 0x28c]
cmp dword [eax + 0xfc], 0
je 0x44c031
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
test byte [edx + 2], 2
mov edi, dword [edx + 0x10]
mov ebx, dword [eax + ecx*8]
je 0x44c035
cmp byte [esi + 4], 0
je 0x44c035
mov ecx, dword [esi + 0x2c]
call fcn.00435a90
mov dword [esi + 0x44], edx
mov edx, dword [ebp - 0x284]
mov dword [esi + 0x40], eax
jmp 0x44c035
xor ebx, ebx
xor edi, edi
mov dl, byte [edx + 2]
mov ecx, dword [esi + 0x2c]
call fcn.0043b0e0
mov edx, eax
mov dword [esi + 0x20], 0
mov dword [ebp - 0x294], edx
mov dword [esi + 0x24], 0
test edx, edx
jne 0x44ea74
test byte [ebp - 0x14], 1
mov ecx, dword [ebp - 0x28c]
je 0x44e4ea
mov eax, dword [ebp - 0x288]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], edx
mov eax, dword [ecx + 0xfc]
test eax, eax
je 0x44e4ea
test edi, edi
je 0x44e4ea
test byte [edi + 0x1c], 0x80
jne 0x44e4ea
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [edi]
push ebx
push 9
push dword [ecx + 0xf8]
call eax
add esp, 0x18
jmp 0x448163
push dword [esi + 0x2c]
push dword [esi + 0x28]
call fcn.004445f0
mov ecx, dword [ebp - 0x28c]
add esp, 8
mov eax, dword [ebp - 0x290]
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x298]
mov dword [ebp - 0x88], 0
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x284]
push dword [eax + 0x10]
call fcn.004525a0
mov edx, eax
add esp, 8
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
cmp dword [ebp - 0x88], eax
jmp 0x4480a5
mov ecx, dword [ebp - 0x284]
mov edx, dword [ebp - 0x298]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [esi + 0x60]
mov ecx, dword [eax + ecx*4]
call fcn.00452500
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov eax, dword [ebp - 0x284]
mov edi, dword [ebp - 0x284]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28c]
mov dword [eax + 0x20], edx
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
mov ecx, esi
call fcn.00447d90
mov esi, eax
mov eax, dword [ebp - 0x284]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x288]
mov ecx, dword [eax + 0x60]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ecx + 0x2c]
mov ecx, edi
call fcn.00435ac0
mov edx, dword [ebp - 0x28c]
cmp eax, dword [edx + 0x78]
ja 0x44e944
push esi
mov edx, eax
mov ecx, edi
call fcn.0043f3f0
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov ecx, dword [ebp - 0x284]
cmp dword [ecx + 0xc], eax
jne 0x44e4e4
mov eax, 0x4000
test word [esi + 0x10], ax
je 0x44e4e4
mov ecx, esi
call fcn.0043e400
mov ecx, dword [ebp - 0x28c]
mov esi, dword [ebp - 0x288]
test eax, eax
jne 0x44cdf6
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
mov ecx, esi
call fcn.00447d90
mov ecx, dword [ebp - 0x284]
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 0x44c28b
mov eax, 1
mov word [edi + 0x10], ax
jmp 0x448163
cmp byte [esi + 3], 0
je 0x44c2cb
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0x68], ecx
mov eax, dword [esi + 0x44]
mov esi, dword [ebp - 0x288]
mov dword [ebp - 0x64], eax
mov dword [edi], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x28c]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
cmp byte [esi], 2
jne 0x44c332
mov ecx, dword [esi + 0x2c]
lea edx, [ebp - 0x68]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
add esp, 8
mov dword [ebp - 0x294], eax
mov edx, esi
mov esi, dword [ebp - 0x288]
mov ecx, esi
call fcn.00444780
mov edx, dword [ebp - 0x294]
test edx, edx
jne 0x44ea74
mov ecx, dword [ebp - 0x68]
mov dword [edi], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x28c]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, esi
call fcn.00442e50
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
cmp byte [esi + 2], al
je 0x44c35c
mov eax, 1
mov word [edi + 0x10], ax
jmp 0x448163
mov ecx, dword [esi + 0x2c]
call fcn.00435a90
mov esi, dword [ebp - 0x288]
mov ecx, eax
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
mov dword [edi], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x28c]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov edx, dword [edx + 4]
mov eax, dword [eax + edx*4]
test eax, eax
jne 0x44c3db
push 3
push 1
mov ecx, esi
call fcn.00447a00
mov ecx, dword [ebp - 0x28c]
add esp, 8
test eax, eax
je 0x44cdf6
mov dword [eax + 0x24], 0
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x629520
cmp byte [eax], 0
mov byte [eax + 2], 1
mov dword [eax + 0x20], 0
jne 0x4480b1
mov ecx, dword [eax + 0x2c]
call fcn.00431690
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov edi, dword [esi + 0x2c]
mov dword [ebp - 0x54], 0
cmp dl, 0x89
jne 0x44c44b
mov ecx, edi
mov dword [esi + 0x24], 0xffffffff
call fcn.00435a80
test eax, eax
jne 0x44e4e4
lea edx, [ebp - 0x54]
mov ecx, edi
call fcn.00436400
mov edx, eax
mov al, byte [ebp - 0x54]
mov dword [ebp - 0x294], edx
mov byte [esi + 2], al
mov byte [esi + 3], 0
mov dword [esi + 0x20], 0
test edx, edx
jne 0x44ea74
mov ecx, dword [ebp - 0x284]
cmp dword [ecx + 8], edx
jle 0x44e4e4
mov esi, dword [ebp - 0x288]
cmp dword [ebp - 0x54], edx
jmp 0x4480a5
mov ecx, dword [ebp - 0x284]
lea edx, [ebp - 0x58]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call fcn.004363d0
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
cmp dword [ebp - 0x58], eax
jne 0x44b73c
mov ecx, esi
call fcn.00436b40
test edx, edx
jl 0x44c4fb
jg 0x44c4d9
test eax, eax
jb 0x44c4fb
push edx
push eax
call fcn.00422ac0
mov ecx, dword [ebp - 0x284]
add esp, 8
cwde
cmp eax, dword [ecx + 0xc]
jge 0x44c4fb
mov dword [ebp - 0x58], 1
jmp 0x44b73c
mov esi, dword [ebp - 0x288]
cmp dword [ebp - 0x58], 0
jmp 0x4480a5
inc dword [esi + 0xac]
mov ecx, dword [ebp - 0x284]
lea edx, [ebp - 0x4c]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x4c], 1
cmp byte [esi], 1
jne 0x44c537
mov ecx, esi
call fcn.004523c0
jmp 0x44c54a
mov ecx, dword [esi + 0x2c]
call fcn.004363d0
mov byte [esi + 3], 0
mov dword [esi + 0x20], 0
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov al, byte [ebp - 0x4c]
mov byte [esi + 2], al
mov esi, dword [ebp - 0x288]
cmp dword [ebp - 0x4c], edx
jmp 0x4480a5
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, dword [ebp - 0x28c]
call fcn.00452460
jmp 0x44c5c2
mov edx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 0xc]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x2c]
call fcn.00436e40
jmp 0x44c5c2
mov edx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 0xc]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x2c]
call fcn.00436cf0
mov edx, eax
mov dword [ebp - 0x294], edx
mov dword [esi + 0x20], 0
test edx, edx
jne 0x44c5f4
mov ecx, dword [ebp - 0x288]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x284]
movzx eax, word [eax + 2]
inc dword [ecx + eax*4 + 0xa4]
jmp 0x44e13f
cmp edx, 0x65
jne 0x44ea74
mov dword [ebp - 0x294], 0
mov byte [esi + 2], 1
jmp 0x44a88b
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ebx, dword [ebp - 0x298]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x284]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
je 0x44c648
mov eax, dword [ebp - 0x288]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov eax, 0x400
test word [esi + 0x10], ax
je 0x44c670
mov ecx, esi
call fcn.0043e450
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], edx
mov eax, dword [esi + 8]
mov dword [ebp - 0x258], eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [ebp - 0x244], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x240], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x44c6b0
mov ecx, dword [edi + 0x24]
jmp 0x44c6b2
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x2c]
lea edx, [ebp - 0x258]
and eax, 0x8a
push eax
call fcn.0043a6f0
mov edx, eax
mov dword [edi + 0x20], 0
add esp, 8
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
jmp 0x448163
mov edx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x400
test word [esi + 0x10], ax
je 0x44c726
mov ecx, esi
call fcn.0043e450
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov edx, esi
mov ecx, edi
call fcn.00451530
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
jmp 0x448163
mov edx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x298]
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x2c]
mov dword [ebp - 0x1f0], eax
mov ax, word [edx + 0xc]
mov word [ebp - 0x1dc], ax
mov eax, dword [edx + 8]
lea edx, [ebp - 0x1f0]
mov byte [ebp - 0x1da], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x1ec], eax
lea eax, [ebp - 0x98]
push eax
call fcn.00436740
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
cmp dword [ebp - 0x98], eax
jne 0x44c7d9
mov dl, 4
mov ecx, edi
call fcn.0043b0e0
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
jmp 0x448163
mov ecx, dword [ebp - 0x284]
cmp word [ecx + 2], 0
je 0x44c7f9
mov ecx, dword [ebp - 0x28c]
call fcn.00466140
test eax, eax
je 0x44e962
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
jmp 0x448163
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.00442e50
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
cmp byte [esi + 2], al
jne 0x44c8e6
mov ecx, dword [ebp - 0x28c]
lea eax, [ebp - 0x78]
xorps xmm0, xmm0
movlpd qword [ebp - 0x78], xmm0
mov edx, dword [esi + 0x2c]
push eax
call fcn.004443a0
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov eax, dword [ebp - 0x284]
cmp byte [eax], 0x8d
jne 0x44c8ac
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x288]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov byte [ecx + 2], dl
mov eax, dword [ebp - 0x78]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x74]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0x284]
mov byte [ecx + 3], 1
mov dword [ecx + 0x20], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x28], esi
jmp 0x448163
mov esi, dword [ebp - 0x288]
mov edx, eax
mov ecx, esi
call fcn.00447d90
mov ecx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x284]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x74]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov eax, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x298]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0043ec80
jmp 0x448163
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 3], 0
je 0x4480ab
call fcn.00442da0
mov edx, eax
mov dword [ebp - 0x294], edx
jmp 0x44b00d
mov ebx, dword [ebp - 0x284]
cmp dl, 0x29
mov eax, dword [esi + 0x60]
mov edx, dword [ebp - 0x298]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x230], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x21c], ax
sbb al, al
mov byte [ebp - 0x21a], al
mov eax, ebx
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x22c], eax
mov edi, dword [ecx + 0x2c]
mov ecx, edi
call fcn.00435ac0
mov esi, eax
test esi, esi
je 0x44e980
cmp esi, 0x7fffffff
ja 0x44e980
mov edx, dword [ebp - 0x28c]
lea ecx, [ebp - 0x280]
push 0
call fcn.0043ec60
add esp, 4
lea eax, [ebp - 0x280]
mov edx, esi
mov ecx, edi
push eax
call fcn.0043f3f0
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov edx, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x274]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.004437b0
add esp, 8
lea ecx, [ebp - 0x280]
mov esi, eax
call fcn.0043e730
mov ecx, ebx
mov dl, byte [ecx]
lea ecx, [esi + 1]
neg esi
and dl, 1
cmove esi, ecx
test esi, esi
mov esi, dword [ebp - 0x288]
jg 0x44b742
mov ecx, dword [ebp - 0x28c]
mov edi, ebx
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ebx, dword [ebp - 0x284]
mov ecx, esi
mov edx, ebx
call fcn.00447d90
mov edx, dword [ebp - 0x28c]
mov esi, eax
mov eax, 1
mov word [esi + 0x10], ax
mov ecx, dword [edx + 0xcc]
inc ecx
cmp dword [edx + 0xc0], ecx
jg 0x44e991
mov ebx, dword [ebx + 0xc]
lea eax, [ebp - 0x5c]
mov ecx, dword [edx + 0x10]
mov edx, dword [ebp - 0x284]
push eax
mov eax, ebx
mov dword [ebp - 0x5c], 0
add eax, eax
mov edx, dword [edx + 4]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0043beb0
mov dword [ebp - 0x294], eax
add esp, 4
mov eax, 4
mov word [esi + 0x10], ax
mov eax, dword [ebp - 0x5c]
cdq
mov dword [esi + 4], edx
mov edx, dword [ebp - 0x294]
mov dword [esi], eax
test edx, edx
jne 0x44ea74
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x44e4e4
mov ecx, dword [ebp - 0x284]
mov edx, ebx
push dword [ecx + 4]
mov ecx, dword [ebp - 0x28c]
push eax
call fcn.00468fc0
lea ecx, [ebx + 1]
add esp, 8
mov byte [ebp - 0x2b5], cl
jmp 0x448163
mov edx, dword [ebp - 0x284]
lea eax, [ebp - 0x38]
mov ecx, dword [ecx + 0x10]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x38], xmm0
mov eax, dword [edx + 8]
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0043bb30
mov ecx, dword [ebp - 0x284]
add esp, 4
mov edx, eax
mov dword [ebp - 0x294], edx
cmp dword [ecx + 0xc], 0
je 0x44b00d
mov edx, dword [ebp - 0x38]
add dword [esi + 0x28], edx
mov eax, dword [ebp - 0x34]
adc dword [esi + 0x2c], eax
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x44b007
mov ebx, dword [ebp - 0x298]
lea ecx, [eax + eax*4]
add dword [ebx + ecx*8], edx
mov eax, dword [ebp - 0x34]
adc dword [ebx + ecx*8 + 4], eax
jmp 0x44b007
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x44cb98
mov edx, dword [ecx + 0x2c]
mov ecx, dword [ebp - 0x28c]
call fcn.00450930
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ecx + 0x2c]
call fcn.0043bbf0
mov edx, eax
mov dword [ebp - 0x294], edx
jmp 0x44b00d
mov edx, dword [ebp - 0x284]
mov ecx, esi
call fcn.00447d90
mov edx, dword [ebp - 0x284]
mov esi, eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x84], 0
mov ecx, dword [edx + 4]
push dword [edx + 0xc]
shl ecx, 4
lea edx, [ebp - 0x84]
add ecx, dword [eax + 0x10]
mov ecx, dword [ecx + 4]
call fcn.0043b8e0
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov eax, dword [ebp - 0x84]
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x448163
mov edx, dword [ebp - 0x284]
inc byte [ecx + 0x60]
push 0
push 0
push 0
push dword [edx + 0x10]
push ecx
call fcn.00479a50
mov ecx, dword [ebp - 0x28c]
mov edx, eax
add esp, 0x14
mov dword [ebp - 0x294], edx
dec byte [ecx + 0x60]
test edx, edx
jne 0x44ea74
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
cmp dword [edx + 0x10], 0
mov esi, dword [edx + 4]
jne 0x44ccca
mov ebx, dword [ebp - 0x28c]
mov ecx, esi
add ecx, ecx
mov eax, dword [ebx + 0x10]
push dword [eax + ecx*8 + 0xc]
call fcn.0046d060
mov eax, dword [ebp - 0x284]
add esp, 4
and dword [ebx + 0x18], 0xffffffef
mov edx, esi
mov ecx, ebx
movzx eax, word [eax + 2]
push eax
mov eax, dword [ebp - 0x288]
add eax, 0x7c
push eax
call fcn.0047e470
mov esi, dword [ebp - 0x288]
mov ecx, ebx
mov edx, eax
add esp, 8
mov dword [ebp - 0x294], edx
or dword [ecx + 0x18], 1
and dword [esi + 0x98], 0xfffffffc
jmp 0x44cdc2
mov edi, dword [ebp - 0x288]
mov dword [ebp - 0xf8], ecx
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0xf0], esi
add esi, esi
lea eax, [edi + 0x7c]
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xf4], eax
mov ecx, dword [ecx + esi*8 + 4]
call fcn.00432f90
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x284]
push dword [eax + 0x10]
mov eax, dword [ecx + 0x10]
push str.sqlite_master
push dword [eax + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push ecx
call fcn.004207d0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x44e9ae
mov eax, dword [ebp - 0x28c]
lea ecx, [ebp - 0xf8]
push 0
push ecx
push fcn.0047e280
push esi
push eax
mov byte [eax + 0xb1], 1
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe4], 0
call fcn.00479a50
add esp, 0x14
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x44cda0
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x44cda0
cmp dword [ebp - 0xe4], eax
jne 0x44cda0
mov ecx, 0x172fd
call fcn.004afae0
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x28c]
mov edx, esi
call fcn.0041def0
mov ecx, dword [ebp - 0x28c]
mov esi, edi
mov edx, dword [ebp - 0x294]
mov byte [ecx + 0xb1], 0
test edx, edx
je 0x4480b1
mov edi, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x28c]
call fcn.00465a40
mov edx, dword [ebp - 0x294]
cmp edx, 7
jne 0x44ea7a
mov esi, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x28c]
call fcn.0041e5f0
push str.out_of_memory
push esi
call fcn.0043fbe0
add esp, 8
mov edx, 7
jmp 0x44ea6e
mov edx, dword [ebp - 0x284]
mov edx, dword [edx + 4]
call fcn.00463920
mov edx, eax
mov dword [ebp - 0x294], edx
jmp 0x44b00d
mov edx, dword [ebp - 0x284]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.00465f90
mov ecx, dword [ebp - 0x28c]
add esp, 4
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.00465890
mov ecx, dword [ebp - 0x28c]
add esp, 4
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.0048c2a0
mov ecx, dword [ebp - 0x28c]
add esp, 4
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
lea esi, [eax + eax*4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
lea eax, [ebp - 0x94]
push eax
mov eax, dword [ebx + esi*8]
inc eax
push eax
push dword [edx + 8]
lea eax, [ecx + 4]
mov ecx, dword [ebp - 0x28c]
push eax
movzx eax, word [edx + 2]
add eax, eax
mov edx, dword [ecx + 0x10]
mov edx, dword [edx + eax*8 + 4]
call fcn.0043ca80
add esp, 0x10
mov ecx, edi
mov ebx, eax
call fcn.0043ec80
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x44cf57
test ebx, ebx
je 0x44cdea
mov ecx, dword [ebp - 0x298]
dec eax
cdq
push fcn.0041de30
push 1
sub dword [ecx + esi*8], eax
push 0xffffffffffffffff
sbb dword [ecx + esi*8 + 4], edx
mov edx, ebx
push 0xffffffffffffffff
mov ecx, edi
call fcn.0043f010
add esp, 0x10
movzx edx, byte [ebp - 0x2a4]
mov ecx, edi
call fcn.0043e220
jmp 0x44a88b
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 0x10
lea esi, [ebx + eax*8]
mov eax, dword [ecx + 8]
lea edi, [eax + eax*4]
jne 0x44cf9b
mov ecx, esi
call fcn.0043ee20
test eax, eax
jne 0x44cdea
push dword [ebx + edi*8 + 4]
mov ecx, dword [esi + 8]
push dword [ebx + edi*8]
call fcn.00428da0
add esp, 8
jmp 0x448163
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x10], 0x10
lea esi, [ebx + eax*8]
je 0x44d008
mov ecx, dword [esi + 8]
lea edx, [ebp - 0xa8]
call fcn.00429100
test eax, eax
je 0x44d008
mov eax, dword [ebp - 0x284]
push dword [ebp - 0xa4]
push dword [ebp - 0xa8]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.0043ed20
add esp, 8
jmp 0x44a88b
mov ecx, esi
call fcn.0043ec80
jmp 0x44e13f
mov ecx, dword [ebp - 0x284]
mov edx, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x10], 0x10
lea esi, [edx + eax*8]
mov eax, dword [ecx + 0xc]
lea edi, [eax + eax*4]
jne 0x44d04e
mov ecx, esi
call fcn.0043ee20
test eax, eax
jne 0x44cdea
mov edx, dword [ebp - 0x298]
test ebx, ebx
je 0x44d070
push dword [edx + edi*8 + 4]
mov ecx, dword [esi + 8]
push dword [edx + edi*8]
mov edx, ebx
call fcn.00429160
add esp, 8
test eax, eax
jne 0x44b73c
test ebx, ebx
js 0x448163
mov ebx, dword [ebp - 0x298]
jmp 0x44cf9b
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0x14], ebx
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x1c], ecx
cmp word [eax + 2], 0
je 0x44d0d3
mov eax, dword [esi + 0xd0]
mov ecx, dword [ebx + 0x14]
test eax, eax
je 0x44d0d0
nop dword [eax]
cmp dword [eax + 0x1c], ecx
je 0x4480ab
mov eax, dword [eax + 4]
test eax, eax
jne 0x44d0c0
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x28c]
mov eax, dword [esi + 0xd8]
cmp eax, dword [edi + 0xa0]
jge 0x44e9bd
test byte [ecx + 0x10], 0x10
jne 0x44d1fe
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
add eax, ecx
test ecx, ecx
lea esi, [eax + 1]
cmovne esi, eax
lea eax, [esi + esi*4]
lea ecx, [ecx + eax*2]
mov eax, dword [ebx + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x44d11a
add eax, 7
sar eax, 3
lea ecx, [ecx + 0x16]
lea ebx, [eax + ecx*4]
mov ecx, edi
mov eax, ebx
cdq
push edx
push eax
call fcn.0041e180
mov edi, eax
add esp, 8
test edi, edi
je 0x44cdea
mov ecx, dword [ebp - 0x1c]
call fcn.0043e710
mov eax, dword [ebp - 0x1c]
mov ecx, 0x1010
mov word [eax + 0x10], cx
mov dword [eax + 0xc], ebx
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x284]
sub ecx, dword [ebp - 0x2a8]
mov dword [eax + 8], edi
mov dword [eax + 0x24], 0x441120
mov eax, dword [ebp - 0x288]
mov dword [edi], eax
mov dword [edi + 0x3c], esi
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x40], eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x288]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x30], eax
mov eax, dword [ecx + 0x58]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x14]
mov dword [edi + 0x38], eax
mov eax, dword [ecx + 0x60]
mov dword [edi + 0x14], eax
mov eax, dword [ecx + 0x18]
mov dword [edi + 0x2c], eax
mov eax, dword [ecx + 0x68]
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x6c]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [edi + 0x1c], eax
lea eax, [esi*4 + 0xb]
add eax, esi
lea ecx, [edi + eax*8]
lea eax, [edi + 0x58]
cmp eax, ecx
je 0x44d1f0
mov edx, dword [ebp - 0x28c]
nop word [eax + eax]
xor esi, esi
mov dword [eax + 0x14], edx
mov word [eax + 0x10], si
add eax, 0x28
cmp eax, ecx
jne 0x44d1e0
mov esi, dword [ebp - 0x288]
mov eax, dword [esi + 0xd8]
jmp 0x44d201
mov edi, dword [ecx + 8]
mov ecx, dword [ebp - 0x28c]
lea edx, [edi + 0x58]
inc eax
mov dword [ebp - 0x298], edx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd0]
mov dword [edi + 4], eax
mov eax, dword [ecx + 0x28]
mov dword [edi + 0x20], eax
mov eax, dword [ecx + 0x2c]
mov dword [edi + 0x24], eax
mov eax, dword [esi + 0x28]
mov dword [edi + 0x48], eax
mov eax, dword [esi + 0x2c]
mov dword [edi + 0x4c], eax
mov ecx, dword [esi]
mov eax, dword [ecx + 0x68]
mov dword [edi + 0x50], eax
mov eax, dword [ecx + 0x6c]
mov dword [edi + 0x54], eax
mov eax, dword [esi + 0xe4]
mov dword [edi + 0x28], eax
mov dword [esi + 0x58], edx
mov dword [esi + 0xe4], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0xd0], edi
mov ecx, dword [edi + 0x3c]
mov dword [esi + 0x14], ecx
movzx eax, word [edi + 0x40]
mov dword [esi + 0x18], eax
lea eax, [ecx + ecx*4]
lea ecx, [edx + eax*8]
mov dword [esi + 0x60], ecx
mov eax, dword [ebx + 0xc]
lea ecx, [ecx + eax*4]
mov dword [edi + 0x18], ecx
mov eax, dword [ebx + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call fcn.0051b820
mov ecx, dword [ebx]
add esp, 0xc
mov dword [esi + 0x68], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x2a8], ecx
add ecx, 0xffffffec
mov dword [esi + 0x6c], eax
mov dword [ebp - 0x284], ecx
jmp 0x44a88b
mov edx, dword [ebp - 0x284]
mov ecx, esi
call fcn.00447d90
mov esi, eax
mov eax, dword [ebp - 0x288]
push 0x4000
mov eax, dword [eax + 0xd0]
mov ecx, dword [eax + 0x30]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [ecx + edx*4 + 4]
mov edx, dword [ebp - 0x284]
add ecx, dword [edx + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.0043ef50
add esp, 4
jmp 0x448163
mov eax, dword [ecx + 0x20]
and eax, 0x80000
or eax, 0
mov eax, dword [ebp - 0x284]
mov edi, eax
je 0x44d350
mov eax, dword [eax + 8]
cdq
add dword [ecx + 0x208], eax
mov eax, dword [ebp - 0x290]
adc dword [ecx + 0x20c], edx
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
cdq
je 0x44d37a
add dword [ecx + 0x200], eax
mov eax, dword [ebp - 0x290]
adc dword [ecx + 0x204], edx
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
add dword [esi + 0x40], eax
mov eax, dword [ebp - 0x290]
adc dword [esi + 0x44], edx
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
cmp dword [edi + 4], 0
je 0x44d3d2
mov eax, dword [ecx + 0x200]
or eax, dword [ecx + 0x204]
jne 0x448666
mov eax, dword [ecx + 0x208]
or eax, dword [ecx + 0x20c]
je 0x44b74e
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov eax, dword [esi + 0x40]
or eax, dword [esi + 0x44]
jmp 0x44d3a6
mov edx, dword [esi + 0xd0]
test edx, edx
je 0x44d413
mov eax, dword [edx + 4]
test eax, eax
je 0x44d3f9
nop dword [eax + eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x44d3f0
mov eax, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x44d428
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov ecx, edi
call fcn.0043e940
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, esi
call fcn.0043e940
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x44e4e4
jl 0x44d45d
cmp dword [edi], eax
jae 0x44e4e4
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x448163
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov edi, dword [ebx + esi*8 + 4]
mov ecx, dword [ebx + esi*8]
test edi, edi
jl 0x448163
jg 0x44d492
test ecx, ecx
je 0x448163
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
mov dword [ebx + esi*8], ecx
sbb edi, edx
mov dword [ebx + esi*8 + 4], edi
jmp 0x44b73c
mov ecx, dword [ebp - 0x284]
mov edx, ecx
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x288]
lea ebx, [eax + eax*4]
call fcn.00447d90
mov edx, dword [ebp - 0x298]
mov edi, eax
mov ecx, dword [edx + esi*8 + 4]
mov eax, dword [edx + esi*8]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], ecx
test ecx, ecx
jl 0x44d539
jg 0x44d4f0
test eax, eax
je 0x44d539
mov ecx, dword [edx + ebx*8 + 4]
mov eax, dword [edx + ebx*8]
test ecx, ecx
jl 0x44d501
jg 0x44d50f
test eax, eax
jne 0x44d50f
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
push ecx
push eax
lea ecx, [ebp - 0x90]
call fcn.00422820
add esp, 8
test eax, eax
jne 0x44d539
mov eax, dword [ebp - 0x90]
mov dword [edi], eax
mov eax, dword [ebp - 0x8c]
mov dword [edi + 4], eax
jmp 0x448163
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
jmp 0x448163
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov ecx, dword [ebx + esi*8]
mov eax, ecx
mov edx, dword [ebx + esi*8 + 4]
or eax, edx
je 0x448163
test edx, edx
jl 0x44b73c
jg 0x44d580
test ecx, ecx
je 0x44b73c
sub ecx, 1
mov dword [ebx + esi*8], ecx
sbb edx, 0
mov dword [ebx + esi*8 + 4], edx
jmp 0x44b73c
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
lea edx, [eax + eax*4]
mov ecx, dword [ebx + edx*8 + 4]
mov eax, dword [ebx + edx*8]
cmp ecx, 0x80000000
jl 0x44d5c6
jg 0x44d5b9
test eax, eax
je 0x44d5c6
sub eax, 1
mov dword [ebx + edx*8], eax
sbb ecx, 0
mov dword [ebx + edx*8 + 4], ecx
mov edi, dword [ebp - 0x284]
or eax, ecx
mov ecx, dword [ebp - 0x28c]
je 0x44b74e
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov edx, dword [ebp - 0x284]
push 0
movzx ebx, word [edx + 2]
lea eax, [ebx*4 + 0x44]
push eax
call fcn.0041e1f0
mov esi, eax
add esp, 8
test esi, esi
je 0x44cdea
mov edx, dword [ebp - 0x28c]
lea ecx, [ebx + 7]
lea ecx, [esi + ecx*4]
mov dword [esi + 8], 0
push 1
mov dword [esi], ecx
call fcn.0043ec60
mov ecx, dword [ebp - 0x284]
add esp, 4
mov eax, dword [ecx + 0x10]
sub ecx, dword [ebp - 0x2a8]
mov dword [esi + 4], eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x284]
sar edx, 3
mov eax, edx
mov byte [esi + 0x19], 0
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x288]
mov dword [esi + 0xc], eax
mov al, byte [ebp - 0x2a4]
mov byte [esi + 0x18], al
mov byte [esi + 0x1a], bl
mov word [ecx], 0xf1a3
mov dword [ecx + 0x10], esi
jmp 0x44d68f
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 0xc]
mov ebx, dword [ebp - 0x298]
mov esi, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov dword [ebp - 0x14], edi
cmp dword [esi + 8], edi
je 0x44d6da
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edi
js 0x44d6da
mov edi, dword [ebp - 0x284]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x44d6c1
mov edi, dword [ebp - 0x14]
inc dword [edi + 0xc]
lea eax, [esi + 0x1c]
mov edi, dword [ebp - 0x284]
movzx edx, byte [esi + 0x1a]
mov ecx, dword [esi + 4]
push eax
cmp dword [edi + 4], 0
push edx
push esi
je 0x44d6fb
mov eax, dword [ecx + 0x1c]
jmp 0x44d6fe
mov eax, dword [ecx + 0x10]
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x44865a
jle 0x44d737
push dword [esi]
call fcn.00444e10
add esp, 4
push eax
push 0x56f680
push dword [ebp - 0x288]
call fcn.0043fbe0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x294], eax
cmp byte [esi + 0x19], 0
je 0x44d766
mov eax, dword [ebp - 0x284]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x44d75c
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ebx + eax*8]
call fcn.0043ed20
add esp, 8
mov edi, dword [ebp - 0x284]
mov byte [esi + 0x19], 0
mov ecx, dword [esi]
call fcn.0043e710
mov eax, dword [esi]
mov ecx, 1
mov edx, dword [ebp - 0x294]
mov word [eax + 0x10], cx
mov dword [esi + 0x14], 0
test edx, edx
jne 0x44ea74
mov ecx, dword [ebp - 0x28c]
mov esi, dword [ebp - 0x288]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x44d7ef
push dword [ecx + 0x10]
lea eax, [eax + eax*4]
mov ecx, esi
lea edx, [ebx + eax*8]
call fcn.0043e610
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
jmp 0x44d7fb
mov edx, dword [ecx + 0x10]
mov ecx, esi
call fcn.0043e550
mov edi, eax
mov dword [ebp - 0x294], edi
test edi, edi
jne 0x44e9df
movzx edx, byte [ebp - 0x2a4]
mov ecx, esi
call fcn.0043e220
jmp 0x448163
mov edx, dword [ebp - 0x284]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], 0
push eax
push dword [edx + 8]
mov edx, dword [edx + 4]
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0xc], 0xffffffff
call fcn.004ae390
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x294], edx
test edx, edx
je 0x44d873
cmp edx, 5
jne 0x44ea74
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x284]
xor esi, esi
mov ecx, dword [ebp - 0x298]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
nop word [eax + eax]
mov eax, dword [ebp + esi*4 - 0x10]
mov ecx, edi
cdq
push edx
push eax
call fcn.0043ed20
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x44d890
jmp 0x448163
mov ebx, dword [ebp - 0x284]
mov ecx, esi
mov edx, ebx
call fcn.00447d90
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x14], eax
call fcn.0043c150
mov ebx, eax
mov ecx, ebx
call fcn.0042e290
mov edi, eax
cmp esi, 0xffffffff
mov ecx, ebx
cmove esi, edi
call fcn.0042e2a0
test eax, eax
mov edx, 1
mov ecx, ebx
cmove esi, edi
call fcn.0042dee0
cmp esi, 5
jne 0x44d980
mov ecx, eax
call fcn.00421410
test eax, eax
je 0x44d924
mov ecx, ebx
call fcn.0042e2d0
test eax, eax
jne 0x44d980
mov esi, edi
mov eax, dword [ebp - 0x294]
test eax, eax
je 0x44d932
mov esi, edi
mov edx, esi
mov ecx, ebx
call fcn.0042e170
mov ebx, dword [ebp - 0x1c]
mov ecx, 0x2202
mov word [ebx + 0x10], cx
mov ecx, eax
call fcn.0047a950
mov ecx, eax
mov dword [ebx + 8], eax
call fcn.00421410
movzx edx, byte [ebp - 0x2a4]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov byte [ebx + 0x12], 1
call fcn.0043e220
mov edx, dword [ebp - 0x294]
test edx, edx
jne 0x44ea74
jmp 0x448163
cmp esi, edi
je 0x44d926
cmp edi, 5
je 0x44d98e
cmp esi, 5
jne 0x44d926
mov eax, dword [ebp - 0x28c]
cmp byte [eax + 0x55], 0
je 0x44ea05
cmp dword [eax + 0xc0], 1
jg 0x44ea05
cmp edi, 5
jne 0x44d9d2
mov edx, eax
mov ecx, ebx
call fcn.0042e4f0
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x44d930
mov edx, esi
mov ecx, ebx
call fcn.0042e170
jmp 0x44d9ee
cmp edi, 4
jne 0x44d9e1
lea edx, [edi - 2]
mov ecx, ebx
call fcn.0042e170
cmp dword [ebp - 0x294], 0
jne 0x44d930
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.0043d150
mov dword [ebp - 0x294], eax
jmp 0x44d92c
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 8]
test eax, eax
je 0x44da25
mov edx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
jmp 0x44da27
xor eax, eax
mov edx, dword [ebp - 0x28c]
push eax
push dword [ecx + 4]
lea ecx, [esi + 0x7c]
call fcn.00491420
mov edx, eax
add esp, 8
mov dword [ebp - 0x294], edx
jmp 0x44b00d
mov ecx, dword [ebp - 0x284]
mov eax, dword [ebp - 0x28c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.00434f00
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
je 0x4480ab
cmp edx, 0x65
jne 0x44ea74
mov dword [ebp - 0x294], 0
jmp 0x44b742
cmp dword [edi + 4], 0
jne 0x44dab6
mov edx, dword [edi + 8]
call fcn.00444610
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov eax, dword [edi + 8]
inc eax
xor eax, dword [esi + 0x98]
and eax, 3
xor dword [esi + 0x98], eax
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x2c]
call fcn.00435aa0
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x2c]
call fcn.00435ab0
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov al, byte [edi + 0xc]
mov byte [ebp - 0x2cc], al
test al, al
jne 0x44db69
mov eax, dword [ecx + 0x20]
and eax, 0x400
mov dword [ebp - 0x18], eax
jne 0x448666
mov eax, dword [ebp - 0x284]
mov ecx, dword [ecx + 0x10]
mov edx, dword [ebp - 0x284]
push dword [ebp - 0x2cc]
mov eax, dword [eax + 4]
add eax, eax
mov edx, dword [edx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0043d020
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
test edx, edx
je 0x4480ab
cmp dl, 6
jne 0x44ea74
mov eax, dword [ebp - 0x284]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push esi
call fcn.0043fbe0
mov edx, dword [ebp - 0x294]
add esp, 0xc
jmp 0x44ea74
mov edx, dword [ebp - 0x284]
mov esi, dword [edx + 0x10]
mov edx, esi
call fcn.00492da0
mov edx, eax
mov dword [ebp - 0x294], edx
test esi, esi
je 0x44dbfe
mov edx, dword [esi + 8]
mov esi, dword [ebp - 0x288]
mov ecx, esi
call fcn.00444780
jmp 0x44b007
mov esi, dword [ebp - 0x288]
jmp 0x44b00d
xorps xmm0, xmm0
movups xmmword [ebp - 0x1c0], xmm0
mov dword [ebp - 0x1bc], ecx
mov ecx, dword [ebp - 0x284]
movups xmmword [ebp - 0x1d0], xmm0
movq qword [ebp - 0x1b0], xmm0
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x1d0]
call fcn.0043efa0
mov dword [ebp - 0x294], eax
lea eax, [ebp - 0x1d0]
push eax
call fcn.00444e10
add esp, 4
test eax, eax
je 0x44dc83
lea ecx, [esi + 0x7c]
push ecx
mov ecx, dword [ebp - 0x28c]
push eax
mov eax, dword [ebp - 0x284]
mov edx, dword [eax + 4]
call fcn.00492820
add esp, 8
mov dword [ebp - 0x294], eax
lea ecx, [ebp - 0x1d0]
call fcn.0043e710
jmp 0x44b007
mov edx, dword [ebp - 0x284]
inc dword [ecx + 0xcc]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.00492c00
mov ecx, dword [ebp - 0x28c]
mov edx, eax
add esp, 4
mov dword [ebp - 0x294], edx
dec dword [ecx + 0xcc]
test edx, edx
jne 0x44ea74
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov dword [ebp - 0xd4], 0
mov eax, dword [ecx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x44ea50
mov edi, dword [esi]
test edi, edi
je 0x44ea50
lea eax, [ebp - 0xd4]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ebx, dword [ebp - 0x288]
add esp, 8
mov edx, esi
mov dword [ebp - 0x294], eax
mov ecx, ebx
call fcn.00444780
mov edx, dword [ebp - 0x294]
test edx, edx
jne 0x44ec78
mov eax, dword [ebp - 0xd4]
mov ecx, ebx
push 2
push edx
mov dword [eax], esi
mov eax, dword [ebp - 0x284]
mov edx, dword [eax + 4]
call fcn.00447a00
add esp, 8
test eax, eax
je 0x44ea3b
mov ecx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0x284]
mov dword [eax + 0x2c], ecx
inc dword [esi + 4]
mov esi, ebx
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
push 0
push 8
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
call fcn.0041dda0
mov esi, eax
add esp, 8
test esi, esi
je 0x44cdea
mov eax, dword [ebp - 0x284]
mov ecx, dword [edi + 0x2c]
mov edx, dword [ebp - 0x298]
mov dword [esi], ecx
mov ecx, dword [eax + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov edx, eax
mov dword [esi + 4], ecx
mov ecx, dword [ebp - 0x288]
call fcn.00447d90
mov ecx, 1
mov edx, esi
push fcn.0041de30
push str.ValueList
mov word [eax + 0x10], cx
mov ecx, eax
call fcn.0043ed60
add esp, 8
jmp 0x448163
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x288]
mov esi, dword [ebp - 0x298]
add esi, 0x28
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x60]
mov edi, dword [esi + edx*8]
lea esi, [esi + edx*8]
mov ebx, dword [ebx + 0x5c]
movd xmm0, esi
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0xd4], esi
pshufd xmm3, xmm0, 0
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], ebx
mov eax, dword [eax]
mov dword [ebp - 0x29c], eax
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x298]
mov edx, dword [eax + edx*8]
mov dword [ebp - 0x24], edx
test edi, edi
jle 0x44df73
cmp edi, 0x10
jb 0x44df5b
cmp dword [0x592e5c], 2
jl 0x44df5b
movaps xmm2, xmmword [0x575e80]
mov eax, edi
and eax, reloc.WS2_32.dll_ntohs
jns 0x44de9e
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [0x575e90]
mov edx, edi
sub edx, eax
mov esi, 8
mov dword [ebp - 0x14], edx
lea edx, [ebx + 0x20]
mov ebx, dword [ebp - 0x14]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [esi - 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
add ecx, 0x10
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [esi + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, esi
add esi, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x40], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x30], xmm0
cmp ecx, ebx
jl 0x44dec0
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x24]
cmp ecx, edi
jge 0x44df73
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 0x44df68
mov eax, dword [ebp - 0x284]
mov esi, dword [ebp - 0x34]
push ebx
push edi
push dword [eax + 0x10]
mov edi, dword [ebp - 0x3c]
push edx
push esi
mov eax, dword [edi + 0x20]
call eax
mov edx, dword [ebp - 0x29c]
add esp, 0x14
mov ecx, dword [ebp - 0x288]
mov dword [ebp - 0x294], eax
call fcn.00444780
mov edx, dword [ebp - 0x294]
test edx, edx
jne 0x44ea74
mov eax, dword [edi + 0x28]
push esi
call eax
mov ecx, dword [ebp - 0x2a0]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
je 0x448163
jmp 0x44b73c
mov edx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x298]
cmp byte [edi + 2], 0
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
je 0x44e003
mov ecx, esi
call fcn.0043ec80
jmp 0x448163
test byte [edx + 2], 1
xorps xmm0, xmm0
mov eax, dword [edi + 0x2c]
mov ebx, dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x14], eax
mov al, byte [ebp - 0x2a4]
movups xmmword [ebp - 0x188], xmm0
mov dword [ebp - 0x188], esi
movups xmmword [ebp - 0x178], xmm0
mov byte [ebp - 0x170], al
je 0x44e050
mov ecx, esi
call fcn.0043ec80
mov edx, dword [ebp - 0x284]
mov eax, 0x401
mov dword [esi], 0
jmp 0x44e063
mov ax, word [esi + 0x10]
mov ecx, 0xf241
and ax, cx
or ax, 1
movzx eax, ax
mov word [esi + 0x10], ax
lea eax, [ebp - 0x188]
push dword [edx + 8]
push eax
mov eax, dword [ebp - 0x14]
push dword [edi + 0x2c]
mov eax, dword [eax + 0x2c]
call eax
mov edi, dword [ebp - 0x288]
add esp, 0xc
mov edx, ebx
mov dword [ebp - 0x294], eax
mov ecx, edi
call fcn.00444780
cmp dword [ebp - 0x174], 0
jle 0x44e0c1
push esi
call fcn.00444e10
add esp, 4
push eax
push 0x56f680
push edi
call fcn.0043fbe0
mov eax, dword [ebp - 0x174]
add esp, 0xc
mov dword [ebp - 0x294], eax
movzx edx, byte [ebp - 0x2a4]
mov ecx, esi
call fcn.0043e220
mov edx, dword [ebp - 0x294]
test edx, edx
jne 0x44ea7a
jmp 0x448163
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x4480ab
mov eax, dword [edi + 0x2c]
push eax
mov esi, dword [eax]
mov ebx, dword [esi]
mov eax, dword [ebx + 0x24]
call eax
mov ecx, dword [ebp - 0x288]
add esp, 4
mov edx, esi
mov dword [ebp - 0x294], eax
call fcn.00444780
mov edx, dword [ebp - 0x294]
test edx, edx
jne 0x44ea74
push dword [edi + 0x2c]
mov eax, dword [ebx + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x44a88b
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x284]
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x2a8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [edx + eax*4]
mov dword [ebp - 0x284], eax
jmp 0x44a891
mov edi, dword [ecx + 0x20]
mov edx, 1
or dword [ecx + 0x20], 0x4000000
and edi, 0x4000000
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 0x10]
mov esi, dword [eax + 8]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x298]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.0043e220
mov edx, eax
mov dword [ebp - 0x294], edx
test edx, edx
jne 0x44ea74
mov eax, dword [esi]
push dword [ebx + 8]
push esi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [ebp - 0x294], eax
test edi, edi
jne 0x44e1e0
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
mov edx, esi
mov esi, dword [ebp - 0x288]
mov ecx, esi
call fcn.00444780
and dword [esi + 0x98], 0xfffffffc
jmp 0x44b007
cmp byte [ecx + 0x57], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
jne 0x44cdf6
mov edx, dword [ebp - 0x284]
mov eax, dword [edx + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x44ea50
mov edx, dword [ebx]
test edx, edx
je 0x44ea50
cmp dword [edx + 0x34], 0
mov esi, dword [ebp - 0x284]
mov esi, dword [esi + 8]
je 0x448169
mov al, byte [ecx + 0x5c]
mov ecx, dword [ebp - 0x298]
mov byte [ebp - 0x2bd], al
mov eax, dword [ebp - 0x288]
mov edi, dword [eax + 0x5c]
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x44e27b
nop dword [eax + eax]
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x44e270
mov eax, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x28c]
mov al, byte [eax + 2]
mov byte [ecx + 0x5c], al
lea eax, [ebp - 0x40]
push eax
mov eax, dword [edx + 0x34]
push edi
push esi
push ebx
call eax
mov ecx, dword [ebp - 0x28c]
add esp, 0x10
mov esi, dword [ebp - 0x288]
mov edx, ebx
mov dword [ebp - 0x294], eax
mov al, byte [ebp - 0x2bd]
mov byte [ecx + 0x5c], al
mov ecx, esi
call fcn.00444780
mov edx, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x284]
test edx, edx
jne 0x44e2ed
cmp dword [ecx + 4], edx
je 0x44e2ed
mov ecx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x40]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x3c]
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebp - 0x284]
cmp dl, 0x13
jne 0x44e347
mov eax, dword [ecx + 0x10]
cmp byte [eax + 0x10], 0
je 0x44e347
movzx ecx, word [ecx + 2]
cmp ecx, 4
jne 0x44e32e
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x294], 0
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov byte [esi + 0x92], al
jmp 0x44b00d
add dword [esi + 0x28], 1
adc dword [esi + 0x2c], 0
jmp 0x44b00d
mov edx, dword [ebp - 0x284]
mov ecx, esi
call fcn.00447d90
mov esi, eax
mov eax, dword [ebp - 0x284]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x28c]
add edx, edx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
call fcn.00432f90
mov dword [esi], eax
mov dword [esi + 4], 0
jmp 0x448163
mov ebx, dword [ebp - 0x284]
mov ecx, esi
mov edx, ebx
call fcn.00447d90
mov edx, dword [ebx + 4]
mov edi, eax
mov eax, dword [ebp - 0x28c]
add edx, edx
mov ecx, dword [eax + 0x10]
mov eax, ebx
mov esi, dword [ecx + edx*8 + 4]
xor edx, edx
cmp dword [eax + 0xc], edx
je 0x44e3cd
mov ecx, esi
call fcn.00432f90
mov edx, eax
mov eax, ebx
mov eax, dword [eax + 0xc]
cmp edx, eax
cmovb edx, eax
mov ecx, esi
call fcn.00433eb0
mov dword [edi], eax
mov dword [edi + 4], 0
jmp 0x448163
mov ecx, dword [ebp - 0x284]
mov ebx, dword [ebp - 0x298]
mov eax, dword [ecx + 0xc]
mov esi, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov dword [ebp - 0x14], edi
cmp dword [esi], edi
je 0x44e449
mov eax, dword [ebp - 0x288]
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 0xc], eax
mov al, byte [ebp - 0x2a4]
mov dword [esi], edi
mov byte [esi + 0x18], al
js 0x44e449
mov edi, dword [ebp - 0x284]
lea edx, [esi + 0x1c]
lea edx, [edx + ecx*4]
nop word [eax + eax]
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x44e430
mov edi, dword [ebp - 0x14]
mov ax, word [edi + 0x10]
mov ecx, 0xf241
and ax, cx
or ax, 1
mov word [edi + 0x10], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov eax, dword [ecx + 0x10]
push esi
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x44e4e4
jle 0x44e4a4
push edi
call fcn.00444e10
mov edi, dword [ebp - 0x288]
add esp, 4
push eax
push 0x56f680
push edi
call fcn.0043fbe0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x294], eax
jmp 0x44e4aa
mov edi, dword [ebp - 0x288]
mov eax, dword [ebp - 0x284]
lea edx, [edi + 0xe4]
mov ecx, dword [ebp - 0x28c]
push dword [eax + 4]
push dword [esi + 0x10]
call fcn.00442ab0
mov edx, dword [ebp - 0x294]
add esp, 8
mov dword [esi + 0x14], 0
test edx, edx
jne 0x44ea7a
jmp 0x448163
mov ecx, dword [ebp - 0x28c]
mov esi, dword [ebp - 0x288]
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov ecx, dword [ebp - 0x284]
mov edx, ecx
mov ebx, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
mov ecx, ebx
lea edi, [eax + eax*4]
call fcn.00447dc0
mov esi, eax
mov ecx, edx
mov eax, dword [ebx + edi*8 + 0xc]
cdq
push edx
push eax
push ecx
push esi
call fcn.00544a20
mov esi, eax
and eax, 7
shrd esi, edx, 3
mov edx, dword [ebx + edi*8 + 8]
movsx ecx, byte [esi + edx]
bts ecx, eax
mov byte [esi + edx], cl
jmp 0x448163
mov ecx, dword [ebp - 0x284]
mov edx, ecx
mov edi, dword [ebp - 0x298]
mov eax, dword [ecx + 4]
mov ecx, edi
lea ebx, [eax + eax*4]
call fcn.00447dc0
mov esi, eax
mov ecx, edx
mov eax, dword [edi + ebx*8 + 0xc]
cdq
push edx
push eax
push ecx
push esi
call fcn.00544a20
mov edi, eax
mov eax, dword [ebp - 0x298]
mov esi, edi
and edi, 7
shrd esi, edx, 3
mov ecx, dword [eax + ebx*8 + 8]
mov eax, 1
movsx edx, byte [esi + ecx]
mov ecx, edi
mov esi, dword [ebp - 0x288]
mov edi, dword [ebp - 0x284]
shl eax, cl
mov ecx, dword [ebp - 0x28c]
test eax, edx
jne 0x44e5c3
inc dword [esi + 0xc4]
jmp 0x44b74e
inc dword [esi + 0xc0]
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x2c8]
add edi, 0x14
jmp 0x447fc9
mov cl, byte [ecx + 0x5e]
test cl, 0x41
je 0x44e6a4
cmp byte [esi + 0x93], 0xfe
je 0x44e6a4
mov edx, dword [ebp - 0x284]
mov eax, dword [edx + 0x10]
test eax, eax
jne 0x44e611
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x44e6a4
test cl, 0x40
je 0x44e647
mov edx, eax
mov ecx, esi
call fcn.00447520
mov esi, eax
mov eax, dword [ebp - 0x28c]
push esi
push dword [eax + 0xdc]
mov ecx, dword [eax + 0xd8]
call ecx
push esi
call fcn.0041de30
mov esi, dword [ebp - 0x288]
add esp, 0xc
jmp 0x44e6a4
mov ebx, dword [ebp - 0x28c]
push eax
cmp dword [ebx + 0xc8], 1
jle 0x44e690
push str.____s
push ebx
call fcn.004207d0
mov ecx, dword [ebx + 0xd8]
add esp, 0xc
mov esi, eax
push esi
push dword [ebp - 0x288]
push dword [ebx + 0xdc]
push 1
call ecx
push esi
push ebx
call fcn.0041df40
mov esi, dword [ebp - 0x288]
add esp, 0x18
jmp 0x44e6a4
mov eax, dword [ebx + 0xd8]
push esi
push dword [ebx + 0xdc]
push 1
call eax
add esp, 0x10
mov ecx, dword [ebp - 0x284]
mov eax, dword [ecx + 4]
cmp eax, dword [0x57fd94]
jl 0x44e6f2
cmp byte [ecx], 0xb4
je 0x4480ab
mov edx, 1
cmp dword [esi + 0x6c], edx
jle 0x44e6f0
mov eax, 0x14
nop dword [eax]
mov ecx, dword [esi + 0x68]
cmp byte [eax + ecx], 0xe
jne 0x44e6e1
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [esi + 0x6c]
jl 0x44e6d0
mov ecx, dword [ebp - 0x284]
xor eax, eax
inc eax
mov dword [ecx + 4], eax
inc dword [esi + 0xbc]
jmp 0x44b742
mov edx, dword [ebp - 0x284]
mov ecx, dword [edx + 4]
mov dword [esi + 0x24], ecx
mov al, byte [edx + 8]
mov byte [esi + 0x92], al
test ecx, ecx
je 0x44e7af
movzx eax, word [edx + 2]
test ax, ax
je 0x44e765
push dword [eax*4 + 0x565af0]
push str._s_constraint_failed
push esi
call fcn.0043fbe0
mov ebx, dword [ebp - 0x284]
add esp, 0xc
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x44e77c
push eax
push dword [esi + 0x7c]
push str._z:__s
push dword [ebp - 0x28c]
call fcn.004207d0
add esp, 0x10
mov dword [esi + 0x7c], eax
jmp 0x44e77c
push dword [edx + 0x10]
push 0x56f680
push esi
call fcn.0043fbe0
mov ebx, dword [ebp - 0x284]
add esp, 0xc
push dword [esi + 0x7c]
mov ecx, ebx
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2a8]
push dword [esi + 0xc8]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.00420b60
add esp, 0x14
mov ecx, esi
call fcn.004425a0
mov edi, dword [ebp - 0x288]
mov esi, eax
cmp esi, 5
jne 0x44ebe2
mov dword [edi + 0x24], eax
jmp 0x44ed70
push 0x574e8c
push 0x1647f
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.00420b60
add esp, 0x14
mov edx, 0xb
jmp 0x44ea6e
mov edx, dword [ebp - 0x1c]
and eax, 0x3f
mov esi, dword [ebp - 0x24]
add edx, edx
mov edi, dword [ebp - 0x288]
movzx eax, byte [eax + 0x5699f8]
push dword [esi + edx*8]
mov edx, dword [ebp - 0x14]
push dword [edx]
push dword [ecx*4 + 0x590ee4]
push dword [eax*4 + 0x568630]
push str.cannot_store__s_value_in__s_column__s._s
push edi
call fcn.0043fbe0
mov edx, 0xc13
add esp, 0x18
mov dword [ebp - 0x294], edx
jmp 0x44ea7a
push str.cannot_open_savepoint___SQL_statements_in_progress
push esi
call fcn.0043fbe0
add esp, 8
mov edx, 5
jmp 0x44ea6e
mov edi, dword [ebp - 0x288]
push str.cannot_release_savepoint___SQL_statements_in_progress
push edi
call fcn.0043fbe0
mov edx, 5
add esp, 8
mov dword [ebp - 0x294], edx
jmp 0x44ea7a
mov ecx, dword [ebp - 0x284]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2a8]
mov esi, 5
mov edi, dword [ebp - 0x288]
imul ecx
mov ecx, dword [ebp - 0x28c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x20], eax
mov byte [ecx + 0x55], 0
mov dword [edi + 0x24], esi
jmp 0x44ed76
mov edi, dword [ebp - 0x288]
mov esi, 0x65
jmp 0x44ed76
mov esi, dword [ebp - 0x284]
and edx, 0x100000
or edx, 0
mov edi, dword [ebp - 0x288]
je 0x44e8f3
mov edx, 8
mov dword [ebp - 0x294], edx
jmp 0x44ea80
mov edx, 0xb
mov dword [ebp - 0x294], edx
jmp 0x44ea80
cmp dl, 5
jne 0x44ea7a
mov ecx, dword [ebp - 0x284]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2a8]
mov esi, dword [ebp - 0x294]
imul ecx
mov dword [edi + 0x24], esi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x20], eax
jmp 0x44ed70
mov edx, 0x204
jmp 0x44ea6e
mov esi, dword [ebp - 0x288]
push str.string_or_blob_too_big
push esi
call fcn.0043fbe0
add esp, 8
mov edx, 0x12
jmp 0x44ea6e
push str.index_corruption
mov edx, 0x17134
mov ecx, 0x30b
call fcn.004afab0
add esp, 4
mov edx, eax
jmp 0x44ea6e
mov ecx, 0x17201
call fcn.004afae0
mov edx, eax
jmp 0x44ea6e
mov edi, dword [ebp - 0x288]
mov edx, 6
mov dword [ebp - 0x294], edx
mov byte [edi + 0x92], 2
jmp 0x44ea7a
mov dword [ebp - 0x294], 7
jmp 0x44cdd0
push str.too_many_levels_of_trigger_recursion
push esi
mov dword [ebp - 0x294], 1
call fcn.0043fbe0
add esp, 8
mov edx, 1
jmp 0x44ea74
push esi
call fcn.00444e10
mov edi, dword [ebp - 0x288]
add esp, 4
push eax
push 0x56f680
push edi
call fcn.0043fbe0
mov edx, dword [ebp - 0x294]
add esp, 0xc
jmp 0x44ea7a
mov edi, dword [ebp - 0x288]
mov ecx, str.out_of
cmp esi, 5
mov dword [ebp - 0x294], 1
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push edi
call fcn.0043fbe0
add esp, 0xc
mov edx, 1
jmp 0x44ea7a
push dword [ebp - 0xd4]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
mov esi, ebx
jmp 0x44cdf0
mov edx, 6
jmp 0x44ea6e
or ebx, 0xffffffff
or eax, 0xffffffff
mov dword [ebp - 0x2bc], ebx
mov dword [ebp - 0x2c4], eax
mov edx, 9
mov dword [ebp - 0x294], edx
mov edi, dword [ebp - 0x288]
mov esi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x28c]
cmp byte [eax + 0x57], 0
je 0x44ec7f
mov edx, 7
jmp 0x44ec93
mov eax, dword [esi + 0x1c]
mov ebx, dword [ebp - 0x284]
add eax, 2
mov edx, dword [ebp - 0x298]
or eax, 1
mov dword [esi + 0x1c], eax
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esi + 0x78], eax
cmp byte [ecx + 0x57], 0
jne 0x44cdf6
test byte [ecx + 0x5e], 4
je 0x44eae4
mov eax, dword [ecx + 0xd8]
push 0
push esi
push dword [ecx + 0xdc]
push 4
call eax
add esp, 0x10
mov ecx, ebx
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2a8]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [esi + 0x20], eax
mov esi, 0x64
jmp 0x44ed6a
mov ecx, dword [ebp - 0x284]
mov edx, dword [ebp - 0x28c]
mov ebx, dword [ecx + 4]
movzx eax, byte [edx + 0x55]
mov ecx, dword [ecx + 8]
cmp ebx, eax
je 0x44ec00
test ecx, ecx
je 0x44eb43
mov esi, dword [ebp - 0x28c]
mov edx, 0x204
mov ecx, esi
call fcn.004ad500
mov al, 1
jmp 0x44eb8c
test ebx, ebx
je 0x44eb68
cmp dword [edx + 0xc4], 0
jle 0x44eb68
push str.cannot_commit_transaction___SQL_statements_in_progress
push esi
call fcn.0043fbe0
add esp, 8
mov edx, 5
jmp 0x44ea6e
mov edx, 1
mov dword [ebp - 0x2cc], ebx
mov ecx, esi
call fcn.00442530
mov esi, eax
test esi, esi
jne 0x44ed6a
mov esi, dword [ebp - 0x28c]
mov eax, ebx
mov edi, dword [ebp - 0x288]
mov ecx, edi
mov byte [esi + 0x55], al
call fcn.004425a0
cmp eax, 5
jne 0x44ebdb
mov ecx, dword [ebp - 0x284]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2a8]
mov esi, 5
imul ecx
mov ecx, dword [ebp - 0x28c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x20], eax
mov al, 1
sub al, bl
mov byte [ecx + 0x55], al
mov dword [edi + 0x24], esi
jmp 0x44ed76
mov ecx, esi
call fcn.004ace60
cmp dword [edi + 0x24], 0
mov eax, 0x65
mov ecx, 1
cmovne eax, ecx
mov dword [ebp - 0x294], eax
mov esi, eax
jmp 0x44ed70
test ebx, ebx
jne 0x44ec1b
mov eax, str.cannot_start_a_transaction_within_a_transaction
push eax
push esi
call fcn.0043fbe0
add esp, 8
lea edx, [ebx + 1]
jmp 0x44ea6e
test ecx, ecx
mov edx, str.cannot_commit___no_transaction_is_active
mov eax, str.cannot_rollback___no_transaction_is_active
cmove eax, edx
push eax
push esi
call fcn.0043fbe0
add esp, 8
mov edx, 1
jmp 0x44ea6e
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x290], eax
jmp 0x44ea69
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x290], eax
jmp 0x44cdf6
mov edi, ebx
jmp 0x44ea7a
cmp edx, 0x210a
jne 0x44ec99
mov ecx, 0x17a8a
call fcn.004afae0
mov edx, eax
mov dword [ebp - 0x294], edx
cmp dword [edi + 0x7c], 0
jne 0x44ecbd
cmp edx, 0xc0a
je 0x44ecbd
mov ecx, edx
call fcn.004ad640
push eax
push 0x56f680
push edi
call fcn.0043fbe0
add esp, 0xc
mov ebx, dword [ebp - 0x294]
mov edx, ebx
mov ecx, dword [ebp - 0x28c]
mov dword [edi + 0x24], ebx
call fcn.00421510
push dword [edi + 0x7c]
mov ecx, esi
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2a8]
push dword [edi + 0xc8]
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 ebx
call fcn.00420b60
add esp, 0x14
cmp byte [edi + 0x95], 2
jne 0x44ed14
mov ecx, edi
call fcn.004425a0
cmp ebx, 0xc0a
jne 0x44ed47
mov ecx, dword [ebp - 0x28c]
call fcn.0041e5f0
mov ecx, dword [ebp - 0x28c]
mov al, byte [ebp - 0x2b5]
mov esi, 1
test al, al
je 0x44ed76
movzx edx, al
dec edx
call fcn.004659e0
jmp 0x44ed70
cmp ebx, 0xb
jne 0x44ed27
mov ecx, dword [ebp - 0x28c]
cmp byte [ecx + 0x55], 0
jne 0x44ed2d
mov eax, dword [ecx + 0x20]
or dword [ecx + 0x24], 2
mov dword [ecx + 0x20], eax
jmp 0x44ed2d
mov esi, dword [ebp - 0x294]
mov edi, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x28c]
mov ebx, dword [ebp - 0x2c4]
nop dword [eax]
cmp dword [ebp - 0x2c8], ebx
jb 0x44ede8
mov edx, dword [ebp - 0x2bc]
ja 0x44ed98
cmp dword [ebp - 0x290], edx
jb 0x44ede8
mov eax, dword [ecx + 0x170]
test eax, eax
je 0x44ede8
add edx, dword [ecx + 0x178]
push dword [ecx + 0x174]
mov dword [ebp - 0x2bc], edx
adc ebx, 0
call eax
mov ecx, dword [ebp - 0x28c]
add esp, 4
test eax, eax
je 0x44ed80
or ebx, 0xffffffff
mov edx, 9
or eax, 0xffffffff
mov dword [ebp - 0x2bc], ebx
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x294], edx
jmp 0x44ea7a
mov ecx, dword [ebp - 0x290]
add dword [edi + 0xb4], ecx
mov ecx, edi
call fcn.00441080
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00518690
mov esp, ebp
pop ebp
ret