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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x2f8
mov eax, dword [0x5c51004]
xor eax, esp
mov dword [esp + 0x2f4], eax
push esi
push edi
mov edi, ecx
mov dword [esp + 0x24], 0
xorps xmm0, xmm0
mov dword [esp + 0x1c], edi
mov dword [esp + 0x60], 0
movlpd qword [esp + 0xa0], xmm0
mov eax, dword [edi + 0x68]
mov edx, dword [edi]
mov esi, dword [edi + 0x58]
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], eax
xor al, al
cmp dword [edi + 0xa0], 0
mov byte [esp + 0x67], al
mov al, byte [edx + 0x54]
mov dword [esp + 0x14], edx
mov byte [esp + 0x54], al
mov dword [esp + 0x20], esi
je 0x5be94e5
call fcn.05bf7dc0
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x184], 0
je 0x5be950e
mov ecx, dword [edx + 0x18c]
xor edx, edx
mov eax, dword [edi + 0xb4]
div ecx
mov dword [esp + 0x7c], 0
sub ecx, edx
mov edx, dword [esp + 0x14]
jmp 0x5be9519
or ecx, 0xffffffff
mov dword [esp + 0x7c], 0xffffffff
cmp dword [edi + 0x24], 7
mov dword [esp + 0x6c], ecx
je 0x5befd0e
mov dword [edi + 0x24], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
cmp dword [edx + 0x138], 0
mov dword [edx + 0x1d8], 0
jne 0x5befcd7
mov eax, dword [edi + 0x20]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*4]
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
add eax, 1
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], eax
adc ecx, 0
mov dword [esp + 0x88], ecx
mov cl, byte [edx]
movzx edx, cl
mov byte [esp + 0x3b], cl
mov dword [esp + 0x44], edx
cmp edx, 0xb5
ja case.0x5be959c.89
jmp dword [edx*4 + 0x5beff1c]
mov ecx, dword [esp + 0x10]
mov edx, 4
mov eax, dword [ecx + 4]
sub ecx, dword [esp + 0x28]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x20]
mov word [eax + esi*8 + 0x10], dx
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0x20]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ecx + esi*8], eax
mov dword [ecx + esi*8 + 4], edx
jmp 0x5bef1c5
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x10], 4
je 0x5be9cd0
mov eax, dword [esi + eax*8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*4]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
add edx, 0x14
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [esi + ecx*8 + 4], edx
mov edx, dword [esp + 0x10]
mov dword [esi + ecx*8], eax
mov eax, 4
mov word [esi + ecx*8 + 0x10], ax
cmp dword [edx + 8], 0
jne 0x5bec705
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*4]
xor eax, eax
add edx, 0xffffffec
mov word [esi + ecx*8 + 0x10], ax
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov ecx, 4
mov edi, dword [esp + 0x20]
mov eax, dword [edx + 4]
sub edx, dword [esp + 0x28]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x20]
mov word [eax + esi*8 + 0x10], cx
mov ecx, dword [eax + esi*8]
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [edi + esi*8], eax
mov eax, edi
mov edi, dword [esp + 0x1c]
mov dword [eax + esi*8 + 4], edx
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
lea edx, [ecx + eax*4]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
add edx, 0x14
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x10], 1
je 0x5be9cd0
mov edx, dword [edi + 0xd0]
test edx, edx
je 0x5bef7a5
mov edi, dword [esp + 0x10]
cmp dword [edi + 4], 0
mov edi, dword [esp + 0x1c]
jne 0x5bef7a5
mov eax, dword [edx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [edi + 0x2c]
dec dword [edi + 0xd8]
mov dword [edi + 0xd0], eax
mov eax, dword [edi + 0x28]
add dword [esi + 0x70], eax
mov dword [esi + 0x68], eax
mov eax, esi
mov dword [esi + 0x6c], ecx
adc dword [eax + 0x74], ecx
mov ecx, edx
call fcn.05bf7060
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 8], 4
jne 0x5be976d
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov esi, dword [edi + 0x58]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], esi
lea edx, [ecx + eax*4]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
add edx, 0x14
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.05bf0330
mov ecx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.05bf0330
mov edx, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x88]
mov dword [edx + 4], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.05bf0330
mov edx, dword [esp + 0x10]
mov ecx, eax
mov eax, 8
add edx, 0x14
mov word [ecx + 0x10], ax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [esp + 0x18]
movsd qword [ecx], xmm0
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.05bf0330
mov esi, eax
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x10]
mov ecx, edi
call fcn.05c1c9b0
cmp byte [esp + 0x54], 1
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], eax
je 0x5be98cf
push 0
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
mov edx, edi
mov ecx, esi
call fcn.05bfac70
mov edi, eax
add esp, 0x10
mov dword [esp + 0x24], edi
test edi, edi
jne 0x5bef9fa
movzx edx, byte [esp + 0x54]
mov ecx, esi
call fcn.05bfbd40
test eax, eax
jne 0x5beb100
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x18], eax
mov eax, 0x2000
or word [esi + 0x10], ax
cmp byte [ecx + 1], 0xfa
jne 0x5be98bf
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x5be98bf
mov ecx, dword [esp + 0x14]
call fcn.05c20b20
mov ecx, dword [esp + 0x10]
mov byte [ecx + 1], 0xfa
mov eax, dword [esi + 8]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 4], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x78]
jg 0x5bef9fa
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov byte [ecx], 0x49
jmp 0x5be98f0
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov ecx, edi
call fcn.05bf0330
mov esi, eax
mov eax, 0x2202
mov word [esi + 0x10], ax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
mov dword [esi + 8], ecx
mov ecx, dword [eax + 4]
mov dword [esi + 0xc], ecx
mov cl, byte [esp + 0x54]
mov byte [esi + 0x12], cl
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x5be9a8a
mov edi, dword [esp + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 2]
cdq
cmp dword [edi + ecx*8], eax
mov edi, dword [esp + 0x1c]
jne 0x5be9a8a
mov eax, dword [esp + 0x20]
cmp dword [eax + ecx*8 + 4], edx
mov edx, dword [esp + 0x10]
jne 0x5be9ccc
mov ecx, dword [esp + 0x88]
mov eax, 0x2210
mov word [esi + 0x10], ax
add edx, 0x14
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.05bf0330
mov ecx, dword [esp + 0x10]
mov edx, 0x101
mov esi, dword [esp + 0x10]
mov edi, dword [ecx + 0xc]
sub edi, dword [ecx + 8]
mov ecx, 1
cmp dword [esi + 4], 0
lea esi, [eax + 0xc]
mov dword [esi], 0
cmovne ecx, edx
movzx ecx, cx
mov dword [esp + 0x30], ecx
mov word [eax + 0x10], cx
test edi, edi
jle 0x5be9cc4
nop dword [eax + eax]
lea esi, [esi + 0x28]
lea ecx, [esi - 0xc]
call fcn.05bfb270
mov eax, dword [esp + 0x30]
dec edi
mov word [esi + 4], ax
mov dword [esi], 0
test edi, edi
jg 0x5be99c0
jmp 0x5be9cc4
mov ecx, dword [esp + 0x10]
mov edx, 0xffc1
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov ax, word [esi + ecx*8 + 0x10]
and ax, dx
mov edx, dword [esp + 0x10]
or ax, 1
add edx, 0x14
mov word [esi + ecx*8 + 0x10], ax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.05bf0330
mov esi, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x5be9a6d
mov edx, dword [eax + 4]
mov ecx, esi
call fcn.05bfb200
mov ecx, esi
call fcn.05bfbaa0
test eax, eax
jne 0x5beb104
mov al, byte [esp + 0x54]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
add edx, 0x14
mov byte [esi + 0x12], al
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
jmp 0x5be956e
mov eax, dword [eax + 4]
push 0
cdq
push 0
push edx
mov edx, ecx
mov ecx, esi
push eax
call fcn.05bfac70
mov al, byte [esp + 0x64]
add esp, 0x10
mov byte [esi + 0x12], al
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x64]
lea edi, [eax + ecx*8]
lea ecx, [edi - 0x28]
call fcn.05bfb030
test eax, eax
jne 0x5bef9fa
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, 0x9000
test word [esi + 0x10], ax
je 0x5be9ae4
mov ecx, esi
call fcn.05bfb270
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 0x5be9cc4
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov edx, edi
mov ecx, esi
call fcn.05bfaef0
mov eax, 0x4000
test word [esi + 0x10], ax
je 0x5be9b4a
mov ecx, esi
call fcn.05bfbb00
test eax, eax
jne 0x5beb100
add edi, 0x28
add esi, 0x28
sub dword [esp + 0x2c], 1
jne 0x5be9b27
jmp 0x5be9cc4
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
nop dword [eax]
push 0x4000
mov edx, edi
mov ecx, esi
call fcn.05bfafb0
mov eax, 0x4000
add esp, 4
test word [esi + 0x10], ax
je 0x5be9bab
mov ecx, esi
call fcn.05bfbb00
test eax, eax
jne 0x5beb100
movzx eax, word [esi + 0x10]
test eax, 0x800
je 0x5be9bc9
mov ecx, dword [esp + 0x10]
test byte [ecx + 2], 2
je 0x5be9bc9
and eax, 0xf7ff
mov word [esi + 0x10], ax
mov ecx, dword [esp + 0x2c]
mov eax, ecx
dec ecx
mov dword [esp + 0x2c], ecx
test eax, eax
je 0x5be9cc4
add esi, 0x28
add edi, 0x28
jmp 0x5be9b80
mov ecx, dword [esp + 0x10]
push 0x4000
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.05bfafb0
mov edx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
push dword [esi + eax*8 + 4]
push dword [esi + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.05bfb180
add esp, 8
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
xor edx, edx
mov ecx, edi
call fcn.05bf6670
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edx + 8]
mov dword [esp + 0x44], ecx
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
movzx edx, word [ecx + 0x10]
mov al, byte [esi + 0x10]
or al, dl
mov dword [esp + 0x3c], edx
test al, 1
je 0x5be9ce3
mov ecx, edi
call fcn.05bfb270
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
add edx, 0x14
jmp 0x5be956e
test dl, 0x12
jne 0x5be9d17
mov dl, byte [esp + 0x54]
push 0
call fcn.05bfb9f0
add esp, 4
test eax, eax
jne 0x5beb100
mov eax, dword [esp + 0x44]
mov ecx, 0xfffd
mov ax, word [eax + 0x10]
and ax, cx
movzx ecx, ax
mov dword [esp + 0x3c], ecx
jmp 0x5be9d43
test edx, 0x400
je 0x5be9d43
call fcn.05bfbaa0
test eax, eax
jne 0x5beb100
mov eax, dword [esp + 0x44]
mov ecx, 0xfffd
mov ax, word [eax + 0x10]
and ax, cx
movzx eax, ax
mov dword [esp + 0x3c], eax
movzx eax, word [esi + 0x10]
mov dword [esp + 0x2c], eax
test al, 0x12
jne 0x5be9d61
mov dl, byte [esp + 0x54]
mov ecx, esi
push 0
call fcn.05bfb9f0
add esp, 4
jmp 0x5be9d6f
test eax, 0x400
je 0x5be9d8a
mov ecx, esi
call fcn.05bfbaa0
test eax, eax
jne 0x5beb100
mov ax, word [esi + 0x10]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [esi + 0xc]
add eax, dword [ecx + 0xc]
cdq
mov ecx, eax
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x58], ecx
mov eax, dword [eax + 0x78]
cdq
cmp dword [esp + 0x50], edx
jg 0x5bef9fa
jl 0x5be9dbb
cmp ecx, eax
ja 0x5bef9fa
xor eax, eax
lea edx, [ecx + 2]
cmp edi, esi
mov ecx, edi
sete al
push eax
call fcn.05bfbbb0
add esp, 4
test eax, eax
jne 0x5beb100
mov ax, word [edi + 0x10]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [edi + 0x10], ax
cmp edi, esi
je 0x5be9e09
push dword [esi + 0xc]
push dword [esi + 8]
push dword [edi + 8]
call fcn.05b15590
mov eax, dword [esp + 0x38]
add esp, 0xc
mov word [esi + 0x10], ax
mov eax, dword [esp + 0x44]
push dword [eax + 0xc]
push dword [eax + 8]
mov eax, dword [edi + 8]
add eax, dword [esi + 0xc]
push eax
call fcn.05b15590
mov eax, dword [esp + 0x50]
add esp, 0xc
mov ecx, dword [esp + 0x3c]
mov dl, byte [esp + 0x54]
mov word [eax + 0x10], cx
mov ecx, dword [esp + 0x58]
cmp dl, 1
jbe 0x5be9e49
mov eax, dword [esp + 0x50]
and ecx, 0xfffffffe
mov dword [esp + 0x84], eax
mov eax, dword [edi + 8]
mov byte [ecx + eax], 0
mov eax, dword [edi + 8]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
or word [edi + 0x10], ax
mov dword [edi + 0xc], ecx
mov byte [edi + 0x12], dl
jmp 0x5be9cc4
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
movzx edx, word [esi + eax*8 + 0x10]
lea edi, [esi + eax*8]
mov eax, edx
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
movzx ecx, word [esi + eax*8 + 0x10]
lea esi, [esi + eax*8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], esi
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
mov al, cl
and al, dl
test al, 4
jne 0x5be9f01
or cl, dl
test cl, 1
jne 0x5bea0da
and edx, 0x2d
je 0x5be9ed3
mov ecx, edx
mov dword [esp + 0x2c], ecx
jmp 0x5be9ee1
mov ecx, edi
call fcn.05bf03c0
movzx eax, ax
mov dword [esp + 0x2c], eax
mov ax, word [esi + 0x10]
and ax, 0x2d
jne 0x5be9ef2
mov ecx, esi
call fcn.05bf03c0
movzx eax, ax
and al, byte [esp + 0x2c]
test al, 4
je 0x5be9fb0
mov eax, dword [esi + 4]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov edi, dword [esi]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x90], edi
movzx eax, byte [eax]
add eax, 0xffffff96
cmp eax, 3
ja case.default.0x5be9f30
jmp dword [eax*4 + 0x5bf01f4]
push edx
push ecx
lea ecx, [esp + 0x98]
call fcn.05c1b220
add esp, 8
test eax, eax
jne 0x5be9fac
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
jmp 0x5bea0b8
push edx
push ecx
lea ecx, [esp + 0x98]
call fcn.05c1b1d0
jmp 0x5be9f45
push edx
push ecx
lea ecx, [esp + 0x98]
call fcn.05c1b0b0
jmp 0x5be9f45
mov eax, ecx
or eax, edx
je 0x5bea0da
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x5bea086
test edi, edi
jne 0x5bea086
mov eax, dword [esi + 4]
cmp eax, 0x80000000
jne 0x5bea08a
mov edi, dword [esp + 0x44]
mov ecx, edi
call fcn.05bfb6f0
mov ecx, esi
movsd qword [esp + 0x98], xmm0
call fcn.05bfb6f0
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
add eax, 0xffffff96
cmp eax, 3
ja case.default.0x5be9fd6
jmp dword [eax*4 + 0x5bf0204]
addsd xmm0, qword [esp + 0x98]
jmp 0x5bea05c
subsd xmm0, qword [esp + 0x98]
jmp 0x5bea05c
mulsd xmm0, qword [esp + 0x98]
jmp 0x5bea05c
movsd xmm1, qword [esp + 0x98]
xorps xmm2, xmm2
ucomisd xmm1, xmm2
lahf
test ah, 0x44
jnp 0x5bea0da
divsd xmm0, xmm1
jmp 0x5bea05c
mov ecx, edi
call fcn.05bfb760
mov ecx, dword [esp + 0x30]
mov esi, eax
mov edi, edx
call fcn.05bfb760
mov ecx, esi
or ecx, edi
je 0x5bea0da
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x5bea04c
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.05b15250
mov ecx, eax
call fcn.05c24ae0
call fcn.05c1c9e0
test eax, eax
jne 0x5bea0da
mov ecx, dword [esp + 0x3c]
mov edx, 0xf248
mov ax, word [ecx + 0x10]
and ax, dx
movsd qword [ecx], xmm0
or ax, 8
mov word [ecx + 0x10], ax
jmp 0x5be9cc4
mov eax, dword [esp + 0x2c]
push edx
push ecx
push eax
push edi
call fcn.05b151a0
jmp 0x5bea0b8
mov eax, ecx
or eax, edx
je 0x5bea0da
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x5bea0ab
mov ecx, 1
xor edx, edx
mov eax, dword [esp + 0x2c]
push edx
push ecx
push eax
push edi
call fcn.05b15250
mov ecx, dword [esp + 0x3c]
mov dword [ecx], eax
mov ax, word [ecx + 0x10]
mov dword [ecx + 4], edx
mov edx, 0xf244
and ax, dx
or ax, 4
mov word [ecx + 0x10], ax
jmp 0x5be9cc4
mov ecx, dword [esp + 0x3c]
jmp 0x5be9cbf
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
test eax, eax
je 0x5be9cd0
push 0
push 0
jmp 0x5be9c32
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edx + 8]
mov dword [esp + 0x30], ecx
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov al, byte [edx + 0x10]
or al, byte [ecx + 0x10]
mov dword [esp + 0x40], esi
test al, 1
je 0x5bea152
mov ecx, esi
call fcn.05bfb270
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, edx
call fcn.05bfb760
mov ecx, dword [esp + 0x30]
mov edi, eax
mov esi, edx
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], esi
call fcn.05bfb760
mov ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], ecx
mov al, byte [eax]
mov byte [esp + 0x3b], al
cmp al, 0x66
jne 0x5bea191
and edi, ecx
and esi, edx
jmp 0x5bea234
cmp al, 0x67
jne 0x5bea19e
or edi, ecx
or esi, edx
jmp 0x5bea234
mov eax, ecx
or eax, edx
je 0x5bea234
test edx, edx
jg 0x5bea1d1
jl 0x5bea1b2
test ecx, ecx
jae 0x5bea1d1
mov al, 0xd1
sub al, byte [esp + 0x3b]
cmp edx, 0xffffffff
jl 0x5bea1e0
jg 0x5bea1c4
cmp ecx, 0xffffffc0
jbe 0x5bea1e0
neg ecx
mov dword [esp + 0x2c], ecx
adc edx, 0
neg edx
jmp 0x5bea1d5
mov al, byte [esp + 0x3b]
test edx, edx
jl 0x5bea211
jg 0x5bea1e0
cmp ecx, 0x40
jb 0x5bea211
test esi, esi
jg 0x5bea1f5
jl 0x5bea1ea
test edi, edi
jae 0x5bea1f5
cmp al, 0x68
je 0x5bea1f5
or edi, 0xffffffff
or esi, edi
jmp 0x5bea234
xorps xmm0, xmm0
movlpd qword [esp + 0x80], xmm0
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
jmp 0x5bea234
movq xmm1, qword [esp + 0xe8]
movd xmm0, ecx
cmp al, 0x68
jne 0x5bea256
psllq xmm1, xmm0
movq qword [esp + 0x70], xmm1
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x40]
mov edx, 0xf244
mov ax, word [ecx + 0x10]
and ax, dx
mov dword [ecx], edi
or ax, 4
mov dword [ecx + 4], esi
mov word [ecx + 0x10], ax
jmp 0x5be9cc4
psrlq xmm1, xmm0
movq qword [esp + 0x70], xmm1
test esi, esi
jg 0x5bea22c
jl 0x5bea26a
test edi, edi
jae 0x5bea22c
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, dword [esp + 0x2c]
or edx, 0xffffffff
call fcn.05b15480
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
or edi, eax
or esi, edx
jmp 0x5bea234
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov ecx, esi
call fcn.05bfb5c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
mov eax, dword [esp + 0x18]
adc dword [esi + 4], edx
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
add edx, 0x14
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
movzx eax, word [esi + 0x10]
test al, 4
jne 0x5bea31a
test al, 0x28
jne 0x5bea2f3
test al, 2
je 0x5bea2fe
mov edx, 1
mov ecx, esi
call fcn.05bf05c0
jmp 0x5bea2fa
mov ecx, esi
call fcn.05bfb630
mov edx, dword [esp + 0x10]
movzx eax, word [esi + 0x10]
test al, 4
jne 0x5bea31a
cmp dword [edx + 8], 0
jne 0x5bec705
mov edx, 0x14
jmp 0x5befcf5
mov ecx, dword [esp + 0x88]
and eax, 0xf244
or eax, 4
add edx, 0x14
mov word [esi + 0x10], ax
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x10], 0x24
lea ecx, [esi + eax*8]
je 0x5be97ae
call fcn.05bfb570
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, 0x400
test word [esi + 0x10], ax
je 0x5bea39e
mov ecx, esi
call fcn.05bfbaa0
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov eax, dword [esp + 0x10]
mov ecx, esi
push dword [esp + 0x54]
mov dl, byte [eax + 8]
call fcn.05bfb2b0
add esp, 4
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], ecx
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
movzx eax, word [ecx + 0x10]
movzx ecx, word [esi + 0x10]
mov edi, ecx
mov dword [esp + 0x48], eax
and edi, eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], edi
test byte [esp + 0x2c], 4
je 0x5bea4e3
mov edi, dword [esp + 0x34]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 0x30], eax
mov esi, dword [edi + 4]
mov eax, dword [edi]
mov edi, dword [esp + 0x30]
cmp edi, esi
jl 0x5bea47b
jg 0x5bea43d
cmp ecx, eax
jbe 0x5bea471
cmp byte [edx + 0x5c47978], 0
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
jne 0x5bec705
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x60], 1
jmp 0x5be956e
cmp edi, esi
jg 0x5bea4af
jl 0x5bea47b
cmp ecx, eax
jae 0x5bea4af
cmp byte [edx + 0x5c4796c], 0
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
jne 0x5bec705
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x60], 0xffffffff
jmp 0x5be956e
cmp byte [edx + 0x5c47972], 0
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
jne 0x5bec705
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x60], 0
jmp 0x5be956e
mov edx, dword [esp + 0x48]
mov eax, ecx
or eax, edx
test al, 1
je 0x5bea54a
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 2]
test al, al
jns 0x5bea543
test byte [esp + 0x2c], 1
je 0x5bea528
test ecx, 0x100
jne 0x5bea528
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x60], 0
movzx eax, byte [eax]
mov al, byte [eax + 0x5c47972]
jmp 0x5bea687
mov edi, dword [esp + 0x34]
test cl, 1
mov eax, 0
sete al
lea eax, [eax*2 - 1]
jmp 0x5bea652
test al, 0x10
jmp 0x5bea444
mov edx, dword [esp + 0x10]
mov dl, byte [edx + 2]
and dl, 0x47
cmp dl, 0x43
jb 0x5bea59a
test al, 2
je 0x5bea633
mov al, byte [esp + 0x48]
mov edi, dword [esp + 0x34]
and al, 0x2e
cmp al, 2
jne 0x5bea580
xor edx, edx
mov ecx, edi
call fcn.05bf05c0
movzx ecx, word [esi + 0x10]
mov dword [esp + 0x4c], ecx
mov al, cl
and al, 0x2e
cmp al, 2
jne 0x5bea637
xor edx, edx
mov ecx, esi
call fcn.05bf05c0
jmp 0x5bea637
cmp dl, 0x42
jne 0x5bea633
test al, 2
je 0x5bea633
mov eax, dword [esp + 0x48]
test al, 2
jne 0x5bea5fb
test al, 0x2c
je 0x5bea5fb
mov edi, dword [esp + 0x34]
mov ecx, edi
mov dl, byte [esp + 0x54]
push 1
call fcn.05bfb9f0
mov ax, word [edi + 0x10]
mov ecx, 0xdbf
xor ax, word [esp + 0x4c]
add esp, 4
and ax, cx
xor ax, word [edi + 0x10]
movzx eax, ax
mov dword [esp + 0x48], eax
cmp edi, esi
jne 0x5bea5f7
or eax, 2
movzx ecx, ax
mov dword [esp + 0x4c], ecx
jmp 0x5bea5fb
mov ecx, dword [esp + 0x4c]
test cl, 2
jne 0x5bea633
test cl, 0x2c
je 0x5bea633
mov dl, byte [esp + 0x54]
mov ecx, esi
push 1
call fcn.05bfb9f0
mov ecx, dword [esp + 0x50]
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 [esp + 0x4c], ecx
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
mov edx, edi
mov ecx, esi
push dword [eax + 0x10]
call fcn.05bf5380
mov ecx, dword [esp + 0x50]
add esp, 4
mov edx, dword [esp + 0x48]
mov dword [esp + 0x60], eax
test eax, eax
jns 0x5bea669
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
mov al, byte [eax + 0x5c4796c]
jmp 0x5bea687
jne 0x5bea67a
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
mov al, byte [eax + 0x5c47972]
jmp 0x5bea687
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
mov al, byte [eax + 0x5c47978]
mov word [esi + 0x10], cx
mov word [edi + 0x10], dx
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
test al, al
jne 0x5bec705
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
cmp dword [esp + 0x60], 0
mov edx, dword [esp + 0x10]
je 0x5bec705
mov ecx, dword [esp + 0x88]
add edx, 0x14
jmp 0x5be956e
mov edx, dword [esp + 0x10]
test byte [edx + 2], 1
jne 0x5bea6e2
xor eax, eax
jmp 0x5bea6e8
mov eax, dword [edx - 4]
add eax, 4
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x10]
mov ecx, dword [edx + 0xc]
mov edx, dword [edx + 0x10]
mov esi, dword [esi + 4]
mov dword [esp + 0x44], esi
mov esi, dword [edi + 8]
mov dword [esp + 0x58], esi
xor esi, esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x50], edx
test ecx, ecx
jle 0x5be9cc4
lea ecx, [edx + 0x14]
mov dword [esp + 0x2c], ecx
test eax, eax
je 0x5bea72a
mov edi, dword [eax + esi*4]
jmp 0x5bea72c
mov edi, esi
mov eax, dword [edx + 0x10]
push dword [ecx]
mov ecx, dword [esp + 0x24]
movzx eax, byte [eax + esi]
and eax, 1
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x5c]
add eax, edi
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x48]
add eax, edi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.05bf5380
mov ecx, eax
add esp, 4
mov dword [esp + 0x60], ecx
test ecx, ecx
jne 0x5bea789
mov ecx, dword [esp + 0x2c]
inc esi
mov eax, dword [esp + 0x3c]
add ecx, 4
mov edx, dword [esp + 0x50]
mov dword [esp + 0x2c], ecx
cmp esi, dword [esp + 0x30]
jl 0x5bea721
jmp 0x5be9cc4
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x10]
test byte [esi + eax], 2
mov esi, dword [esp + 0x20]
je 0x5bea7c0
mov eax, dword [esp + 0x44]
add eax, edi
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x10], 1
jne 0x5bea7ba
mov eax, dword [esp + 0x58]
add eax, edi
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x10], 1
je 0x5bea7c0
neg ecx
mov dword [esp + 0x60], ecx
cmp dword [esp + 0x40], 0
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
je 0x5be9cd4
neg ecx
add edx, 0x14
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x10]
test eax, eax
jns 0x5bea81b
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edx, [ecx + eax*4]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
add edx, 0x14
jmp 0x5be956e
jne 0x5bea840
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edx, [ecx + eax*4]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
add edx, 0x14
jmp 0x5be956e
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edx, [ecx + eax*4]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
add edx, 0x14
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov edx, 2
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.05bfb6a0
mov esi, eax
mov edx, 2
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x20]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
call fcn.05bfb6a0
mov ecx, dword [esp + 0x10]
lea eax, [eax + esi*2]
cmp byte [ecx], 0x2c
jne 0x5bea8ac
mov al, byte [esi + eax + 0x5c4c2c0]
jmp 0x5bea8b3
mov al, byte [esi + eax + 0x5c4d27c]
mov esi, dword [esp + 0x20]
movzx edx, al
mov eax, dword [ecx + 0xc]
lea ecx, [eax + eax*4]
mov ax, word [esi + ecx*8 + 0x10]
cmp edx, 2
jne 0x5bea8f2
mov edx, 0xf241
and ax, dx
mov edx, dword [esp + 0x10]
or ax, 1
add edx, 0x14
mov word [esi + ecx*8 + 0x10], ax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov dword [esi + ecx*8], edx
mov edx, 0xf244
and ax, dx
mov dword [esi + ecx*8 + 4], 0
mov edx, dword [esp + 0x10]
or ax, 4
mov word [esi + ecx*8 + 0x10], ax
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.05bfb6a0
mov ecx, dword [esp + 0x10]
xor eax, dword [ecx + 0x10]
cdq
push edx
push eax
jmp 0x5be9c2f
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x10], 1
lea ecx, [esi + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
jne 0x5bea130
xor edx, edx
call fcn.05bfb6a0
neg eax
mov ecx, esi
push 0
sbb eax, eax
inc eax
push eax
call fcn.05bfb180
mov edx, dword [esp + 0x18]
add esp, 8
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov ecx, esi
call fcn.05bfb270
test byte [edi + 0x10], 1
jne 0x5be9cc4
mov eax, 4
mov ecx, edi
mov word [esi + 0x10], ax
call fcn.05bfb760
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x5be9cc4
mov edi, dword [edi + 0xd0]
test edi, edi
je 0x5beaa55
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edi, dword [edi + 0x14]
sub ecx, dword [eax + 0x68]
mov eax, 0x66666667
imul ecx
mov eax, 1
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov esi, ecx
and ecx, 7
shr esi, 3
shl eax, cl
movzx edx, byte [esi + edi]
test edx, eax
jne 0x5bec6fd
bts edx, ecx
mov ecx, dword [esp + 0x88]
mov byte [esi + edi], dl
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 4]
mov dword [edx + 4], eax
add edx, 0x14
mov eax, dword [esp + 0x18]
jmp 0x5be956e
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 4]
cmp eax, dword [edx + 4]
je 0x5bec705
mov eax, dword [edi + 0x68]
mov ecx, dword [esp + 0x88]
mov eax, dword [eax + 4]
mov dword [edx + 4], eax
add edx, 0x14
mov eax, dword [esp + 0x18]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.05bfb6a0
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x5bec705
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
xor edx, edx
mov eax, dword [ecx + 4]
cmp dword [ecx + 0xc], edx
sete dl
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.05bfb6a0
mov edx, dword [esp + 0x10]
test eax, eax
je 0x5bec705
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x10], 1
jne 0x5bec705
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
test ecx, ecx
js 0x5beab6b
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xc]
movzx eax, word [ecx + 0x3e]
cmp edx, eax
jge 0x5beab62
mov eax, dword [ecx + edx*4 + 0x58]
cmp eax, 0xc
jb 0x5beab59
test al, 1
mov eax, 0
sete al
lea eax, [eax*4 + 4]
jmp 0x5beab8d
movzx eax, byte [eax + 0x5c46cf4]
jmp 0x5beab90
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
jmp 0x5beab84
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
movzx eax, word [esi + eax*8 + 0x10]
and eax, 0x3f
movzx ecx, byte [eax + 0x5c46c68]
dec ecx
mov eax, 1
shl ax, cl
movzx eax, ax
mov edx, dword [esp + 0x10]
test word [edx + 2], ax
jne 0x5bec705
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x10], 1
jne 0x5beabd8
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x10], 1
jne 0x5beabd8
push 0
push 0
jmp 0x5be9c2f
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.05bfb270
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x10], 1
je 0x5bec705
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x5be97ae
cmp byte [eax + 2], 0
je 0x5be97ae
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.05bfb270
jmp 0x5bec701
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [edx + 8]
mov dword [esp + 0x34], ecx
nop
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x48]
mov dword [esp + 0x44], edx
cmp eax, dword [edi + 0x1c]
je 0x5beacd1
cmp byte [esi + 2], 0
jne 0x5bead30
cmp byte [esi + 3], 0
mov edi, dword [esi + 0x2c]
je 0x5beacad
mov eax, dword [esi + 0x10]
test eax, eax
je 0x5beacfb
mov eax, dword [eax + ecx*4 + 4]
test eax, eax
je 0x5beacfb
mov esi, dword [esi + 0x28]
lea ecx, [eax - 1]
mov edi, dword [esp + 0x1c]
jmp 0x5beac6b
cmp byte [edi], 0
je 0x5bead10
mov ecx, esi
call fcn.05bf5cc0
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x1c]
jmp 0x5beac70
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
je 0x5beadcd
mov ecx, esi
call fcn.05bf5cc0
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov ecx, dword [esp + 0x34]
jmp 0x5beac70
mov ecx, esi
call fcn.05bf5d00
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov ecx, edi
call fcn.05c04c50
mov eax, dword [edi + 0x2c]
lea edx, [esi + 0x54]
mov ecx, edi
mov dword [esi + 0x50], eax
call fcn.05c045a0
mov edx, dword [esp + 0x44]
lea edi, [esi + 0x54]
jmp 0x5bead5f
cmp byte [esi], 3
jne 0x5beaea6
mov eax, dword [esi + 0x24]
test eax, eax
jle 0x5beaea6
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea edi, [esi + 0x54]
mov eax, dword [eax + ecx*8 + 0xc]
mov dword [edi], eax
mov dword [esi + 0x50], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ecx*8 + 8]
mov dword [esi + 0x4c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x1c]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x4c]
movzx eax, byte [eax]
mov dword [edx], eax
cmp eax, 0x80
jae 0x5bead84
mov dword [esi + 0x34], 1
jmp 0x5bead96
mov ecx, dword [esi + 0x4c]
call fcn.05c1b490
mov edx, dword [esp + 0x44]
movzx eax, al
mov dword [esi + 0x34], eax
xor eax, eax
mov word [esi + 0x3e], ax
mov eax, dword [edi]
cmp eax, dword [edx]
jae 0x5beaea1
mov dword [esi + 0x4c], 0
mov dword [edi], 0
mov eax, dword [edx]
cmp eax, 0x18003
ja 0x5beaff4
cmp eax, dword [esi + 0x50]
ja 0x5beaff4
mov ecx, dword [esp + 0x34]
movzx eax, word [esi + 0x3e]
cmp eax, ecx
ja 0x5beb052
mov eax, dword [esi + 0x34]
cmp eax, dword [edx]
jae 0x5beb027
mov eax, dword [esi + 0x4c]
mov dword [esp + 0x50], eax
test eax, eax
jne 0x5beae3d
xorps xmm0, xmm0
lea eax, [esp + 0x200]
movaps xmmword [esp + 0x200], xmm0
movaps xmmword [esp + 0x210], xmm0
movq qword [esp + 0x220], xmm0
mov edx, dword [edx]
mov ecx, dword [esi + 0x2c]
push eax
call fcn.05bfab20
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov eax, dword [esp + 0x208]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x50], eax
movzx ecx, word [esi + 0x3e]
mov edi, dword [esi + 0x34]
add edi, dword [esp + 0x50]
mov dword [esp + 0x40], ecx
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [edx]
add eax, dword [esp + 0x50]
mov dword [esp + 0x58], eax
lea eax, [ecx + 0x16]
lea eax, [esi + eax*4]
mov dword [esp + 0x2c], eax
nop dword [eax]
movzx ecx, byte [edi]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x5c], ecx
mov dword [eax], ecx
cmp ecx, 0x80
jae 0x5beaed3
movzx eax, cl
mov ecx, dword [esp + 0x3c]
movzx eax, byte [eax + 0x5c47230]
cdq
add ecx, eax
adc dword [esp + 0x4c], edx
mov edx, 1
jmp 0x5beaf01
mov eax, dword [esi + 0x4c]
jmp 0x5beae39
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.05bfb270
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
lea edx, [esp + 0x5c]
mov ecx, edi
call fcn.05c1b490
mov ecx, dword [esp + 0x2c]
movzx edx, al
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x48], eax
mov dword [ecx], eax
mov ecx, eax
call fcn.05bf5c80
mov ecx, dword [esp + 0x3c]
add ecx, eax
adc dword [esp + 0x4c], 0
mov eax, dword [esp + 0x44]
add edi, edx
mov edx, dword [esp + 0x40]
add dword [esp + 0x2c], 4
inc edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dword [eax + edx*4], ecx
mov eax, dword [esp + 0x2c]
cmp edx, dword [esp + 0x34]
ja 0x5beaf36
cmp edi, dword [esp + 0x58]
jb 0x5beae70
mov eax, dword [esp + 0x58]
jmp 0x5beaf3e
mov eax, dword [esp + 0x58]
cmp edi, eax
jb 0x5beaf51
cmp edi, eax
ja 0x5beaf64
cmp ecx, dword [esi + 0x50]
jne 0x5beaf64
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x5beaf60
jmp 0x5beaf55
mov eax, dword [esp + 0x4c]
test eax, eax
jb 0x5beaf71
ja 0x5beaf60
cmp ecx, dword [esi + 0x50]
jbe 0x5beaf71
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
cmp dword [ecx], 0
jne 0x5beafe2
xor edx, edx
mov edi, eax
sub edi, dword [esp + 0x50]
cmp dword [esi + 0x4c], 0
mov word [esi + 0x3e], dx
mov dword [esi + 0x34], edi
jne 0x5beaf8e
lea ecx, [esp + 0x200]
call fcn.05bfb850
mov ecx, dword [esp + 0x48]
movzx eax, word [esi + 0x3e]
cmp eax, dword [esp + 0x34]
ja 0x5beb05a
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
cmp byte [edx + 1], 0xf6
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
jne 0x5beb032
mov edx, dword [edx + 0x10]
push 0x2000
call fcn.05bfafb0
add esp, 4
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
cmp dword [esi + 0x4c], 0
jne 0x5beaff4
lea ecx, [esp + 0x200]
call fcn.05bfb850
mov esi, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x5bef881
mov edi, dword [esp + 0x1c]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x88]
lea eax, [eax - 5]
lea edx, [esi + eax*4]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
add edx, 0x14
jmp 0x5be956e
xor ecx, ecx
mov dword [esp + 0x48], ecx
jmp 0x5beaf92
call fcn.05bfb270
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esi + ecx*4 + 0x58]
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, 0x9000
mov dword [esp + 0x30], edi
test word [edi + 0x10], ax
je 0x5beb085
mov ecx, edi
call fcn.05bfb270
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
mov eax, dword [esi + 0x54]
cmp eax, dword [edx + edi*4 + 4]
mov edi, dword [esp + 0x30]
jb 0x5beb164
mov eax, dword [esi + 0x4c]
mov esi, dword [esp + 0x34]
add eax, dword [edx + esi*4]
mov dword [esp + 0x30], eax
cmp ecx, 0xc
jae 0x5beb0c3
mov edx, ecx
mov ecx, eax
push edi
call fcn.05bf59f0
add esp, 4
jmp 0x5be9cc4
mov al, byte [esp + 0x54]
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 0x5beb127
mov eax, dword [esp + 0x14]
cmp esi, dword [eax + 0x78]
jg 0x5bef9fa
mov eax, 1
mov ecx, edi
push 0
mov word [edi + 0x10], ax
call fcn.05bfbbb0
add esp, 4
test eax, eax
je 0x5beb12d
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, eax
call fcn.05c20310
push 0x5c37d90
push edi
call fcn.05bf98b0
mov edx, 7
add esp, 8
jmp 0x5befcf5
mov eax, dword [edi + 0x20]
mov dword [edi + 8], eax
push esi
push dword [esp + 0x34]
push dword [edi + 8]
call fcn.05b15590
mov eax, dword [edi + 8]
add esp, 0xc
mov edx, dword [esp + 0x48]
and edx, 1
mov byte [esi + eax], 0
mov eax, dword [edi + 8]
mov byte [esi + eax + 1], 0
mov ax, word [edx*2 + 0x5c42eec]
mov word [edi + 0x10], ax
jmp 0x5be9cc4
mov al, byte [esp + 0x54]
mov byte [edi + 0x12], al
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 2]
test al, 0xc0
je 0x5beb185
cmp ecx, 0xc
jb 0x5beb181
test cl, 1
je 0x5beb18e
test al, al
js 0x5beb18e
call fcn.05bf5c80
test eax, eax
jne 0x5beb1a3
mov edx, ecx
mov ecx, 0x5c462f0
push edi
call fcn.05bf59f0
add esp, 4
jmp 0x5be9cc4
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x78]
jg 0x5bef9fa
mov ecx, dword [esi + 0x2c]
push edi
push eax
mov eax, dword [esp + 0x3c]
mov edx, dword [edx + eax*4]
call fcn.05bfab80
mov edx, eax
add esp, 8
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x48]
mov ecx, dword [edi + 8]
push edi
call fcn.05bf59f0
mov eax, 0xbfff
add esp, 4
and word [edi + 0x10], ax
jmp 0x5be9cc4
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x10]
xor ecx, ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], ecx
lea eax, [eax + eax*4]
mov edi, dword [edx + 4]
lea esi, [esi + eax*8]
xor eax, eax
mov dword [esp + 0x5c], edi
cmp ax, word [edx + 0x22]
jge 0x5be9cc4
add edi, 0xe
movzx eax, word [edi]
test al, 0x60
je 0x5beb23d
test al, 0x20
jne 0x5beb2ed
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xc], 0
jne 0x5beb2ea
push dword [esp + 0x54]
mov dl, byte [edi - 6]
mov ecx, esi
call fcn.05bf0560
movzx ecx, word [esi + 0x10]
add esp, 4
mov dword [esp + 0x40], ecx
test cl, 1
jne case.default.0x5beb270
mov eax, dword [edi - 0xa]
shr eax, 4
and eax, 0xf
add eax, 0xfffffffe
cmp eax, 4
ja case.default.0x5beb270
jmp dword [eax*4 + 0x5bf0214]
test cl, 0x10
jmp 0x5beb2dc
test cl, 4
jmp 0x5beb2dc
test cl, 2
jmp 0x5beb2dc
test cl, 4
je 0x5beb2d9
mov edx, dword [esi + 4]
mov eax, dword [esi]
cmp edx, 0x7fff
jg 0x5beb2bc
jl 0x5beb29f
cmp eax, 0xffffffff
ja 0x5beb2bc
cmp edx, 0xffff8000
jl 0x5beb2bc
jg 0x5beb2ad
test eax, eax
jb 0x5beb2bc
and ecx, 0xfffb
or ecx, 0x20
mov word [esi + 0x10], cx
jmp case.default.0x5beb270
mov ecx, eax
call fcn.05c24ae0
mov eax, dword [esp + 0x40]
and eax, 0xfffb
movsd qword [esi], xmm0
or eax, 8
mov word [esi + 0x10], ax
jmp case.default.0x5beb270
test cl, 0x28
je 0x5bef89a
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
add esi, 0x28
movsx eax, word [edx + 0x22]
inc ecx
add edi, 0x10
mov dword [esp + 0x2c], ecx
cmp ecx, eax
jl 0x5beb220
jmp 0x5be9cc4
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
push dword [esp + 0x54]
mov dl, byte [edi]
mov ecx, esi
call fcn.05bf0560
add esp, 4
cmp byte [edi], 0x45
jne 0x5beb37c
movzx eax, word [esi + 0x10]
mov dword [esp + 0x30], eax
test al, 4
je 0x5beb37c
mov edx, dword [esi + 4]
mov ecx, dword [esi]
cmp edx, 0x7fff
jg 0x5beb363
jl 0x5beb34b
cmp ecx, 0xffffffff
ja 0x5beb363
cmp edx, 0xffff8000
jl 0x5beb363
jg 0x5beb359
test ecx, ecx
jb 0x5beb363
and eax, 0xfffb
or eax, 0x20
jmp 0x5beb378
call fcn.05c24ae0
mov eax, dword [esp + 0x30]
and eax, 0xfff9
movsd qword [esi], xmm0
or eax, 8
mov word [esi + 0x10], ax
inc edi
cmp byte [edi], 0
je 0x5be9cc4
add esi, 0x28
jmp 0x5beb316
mov edx, dword [esp + 0x10]
xorps xmm0, xmm0
movlpd qword [esp + 0x80], xmm0
mov dword [esp + 0x48], 0
movlpd qword [esp + 0xb8], xmm0
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edx + 8]
mov dword [esp + 0x40], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [ecx + eax*8]
mov dword [esp + 0x5c], eax
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x58], eax
test edi, edi
je 0x5beb411
lea esi, [ecx + 0x10]
push dword [esp + 0x54]
mov dl, byte [edi]
lea ecx, [esi - 0x10]
call fcn.05bf0560
add esp, 4
cmp byte [edi], 0x45
jne 0x5beb408
movzx eax, word [esi]
test al, 4
je 0x5beb408
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
inc edi
add esi, 0x28
cmp byte [edi], 0
jne 0x5beb3e0
mov eax, dword [esp + 0xbc]
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x80]
add esi, 0x1c
mov edi, dword [esp + 0x84]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x34], edx
mov dword [esp + 0x50], eax
movzx ecx, word [esi - 0xc]
mov dword [esp + 0x30], ecx
test cl, 1
je 0x5beb466
and ecx, 0x400
neg ecx
sbb ecx, ecx
and ecx, 0xa
mov dword [esi], ecx
mov ecx, dword [esp + 0x48]
inc ecx
jmp 0x5beb69f
test cl, 0x24
je 0x5beb5f0
cmp dword [esi - 0x18], 0
mov eax, dword [esi - 0x1c]
jg 0x5beb48b
jl 0x5beb47e
test eax, eax
jae 0x5beb48b
not eax
mov dword [esp + 0x4c], eax
mov eax, dword [esi - 0x18]
not eax
jmp 0x5beb492
mov dword [esp + 0x4c], eax
mov eax, dword [esi - 0x18]
inc dword [esp + 0x48]
test eax, eax
ja 0x5beb576
jb 0x5beb4a7
cmp dword [esp + 0x4c], 0x7f
ja 0x5beb4fb
mov eax, dword [esi - 0x1c]
and eax, 1
mov dword [esp + 0x30], 0
cmp eax, dword [esi - 0x1c]
jne 0x5beb4e2
mov eax, dword [esp + 0x30]
cmp eax, dword [esi - 0x18]
jne 0x5beb4e2
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x93], 4
jb 0x5beb4e2
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
add eax, 8
mov dword [esi], eax
jmp 0x5beb6a3
mov ecx, dword [esp + 0x48]
add edx, 1
mov dword [esp + 0x34], edx
adc edi, 0
mov dword [esi], 1
jmp 0x5beb6a3
test eax, eax
ja 0x5beb576
jb 0x5beb50b
cmp dword [esp + 0x4c], 0x7fff
ja 0x5beb524
mov ecx, dword [esp + 0x48]
add edx, 2
mov dword [esp + 0x34], edx
adc edi, 0
mov dword [esi], 2
jmp 0x5beb6a3
test eax, eax
ja 0x5beb576
jb 0x5beb534
cmp dword [esp + 0x4c], 0x7fffff
ja 0x5beb54d
mov ecx, dword [esp + 0x48]
add edx, 3
mov dword [esp + 0x34], edx
adc edi, 0
mov dword [esi], 3
jmp 0x5beb6a3
test eax, eax
ja 0x5beb576
jb 0x5beb55d
cmp dword [esp + 0x4c], 0x7fffffff
ja 0x5beb576
mov ecx, dword [esp + 0x48]
add edx, 4
mov dword [esp + 0x34], edx
adc edi, 0
mov dword [esi], 4
jmp 0x5beb6a3
cmp eax, 0x7fff
ja 0x5beb59f
jb 0x5beb586
cmp dword [esp + 0x4c], 0xffffffff
ja 0x5beb59f
mov ecx, dword [esp + 0x48]
add edx, 6
mov dword [esp + 0x34], edx
adc edi, 0
mov dword [esi], 5
jmp 0x5beb6a3
add edx, 8
mov dword [esp + 0x34], edx
adc edi, 0
test cl, 0x20
je 0x5beb5e1
mov edx, dword [esi - 0x18]
mov ecx, dword [esi - 0x1c]
call fcn.05c24ae0
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
and eax, 0xffdf
mov ecx, dword [esp + 0x48]
or eax, 8
movsd qword [esi - 0x1c], xmm0
mov word [esi - 0xc], ax
mov dword [esi], 7
jmp 0x5beb6a3
mov ecx, dword [esp + 0x48]
mov dword [esi], 6
jmp 0x5beb6a3
test cl, 8
je 0x5beb60f
mov ecx, dword [esp + 0x48]
inc ecx
mov dword [esi], 7
add edx, 8
mov dword [esp + 0x34], edx
adc edi, 0
jmp 0x5beb69f
mov eax, dword [esi - 0x10]
mov dword [esp + 0x2c], eax
mov eax, ecx
mov edx, dword [esp + 0x2c]
shr eax, 1
and eax, 1
lea eax, [eax + edx*2]
mov edx, dword [esp + 0x34]
add eax, 0xc
mov dword [esp + 0x3c], eax
test ecx, 0x400
je 0x5beb679
mov edx, dword [esi - 0x1c]
lea ecx, [esi - 0x1c]
lea eax, [eax + edx*2]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x34]
or eax, edi
je 0x5beb666
call fcn.05bfbaa0
test eax, eax
jne 0x5beb100
mov edx, dword [esp + 0x2c]
add edx, dword [esi - 0x1c]
mov dword [esp + 0x2c], edx
jmp 0x5beb671
mov eax, edx
cdq
add dword [esp + 0x50], eax
adc dword [esp + 0x44], edx
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
add edx, dword [esp + 0x2c]
push 0
push eax
mov dword [esp + 0x3c], edx
adc edi, 0
call fcn.05c1b450
mov ecx, dword [esp + 0x50]
add esp, 8
mov edx, dword [esp + 0x34]
add ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [esi], eax
mov dword [esp + 0x48], ecx
lea eax, [esi - 0x1c]
cmp eax, dword [esp + 0x40]
je 0x5beb6b4
sub esi, 0x28
jmp 0x5beb440
cmp ecx, 0x7e
jle 0x5beb6e2
mov eax, ecx
cdq
push edx
push eax
call fcn.05c1b450
mov esi, eax
mov eax, dword [esp + 0x50]
add eax, esi
mov dword [esp + 0x50], eax
cdq
push edx
push eax
call fcn.05c1b450
mov ecx, dword [esp + 0x58]
add esp, 0x10
cmp esi, eax
jge 0x5beb6e7
inc ecx
mov dword [esp + 0x48], ecx
mov esi, dword [esp + 0x34]
mov eax, ecx
cdq
mov ecx, eax
mov eax, edx
add esi, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
mov ecx, esi
adc edi, eax
mov eax, dword [esp + 0x58]
add ecx, dword [esp + 0x50]
adc edi, dword [esp + 0x44]
mov eax, dword [eax + 0x18]
cdq
cmp edi, edx
jg 0x5beb720
jl 0x5beb71a
cmp ecx, eax
ja 0x5beb720
mov edi, dword [esp + 0x58]
jmp 0x5beb760
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x78]
cdq
cmp edi, edx
jg 0x5bef9fa
jl 0x5beb73a
cmp ecx, eax
ja 0x5bef9fa
mov edi, dword [esp + 0x58]
cmp dword [edi + 0x18], esi
jge 0x5beb75b
push 0
mov edx, esi
mov ecx, edi
call fcn.05bfbbb0
add esp, 4
test eax, eax
jne 0x5beb100
jmp 0x5beb766
and word [edi + 0x10], 0x2d
mov eax, dword [edi + 0x20]
mov dword [edi + 8], eax
mov ecx, dword [esp + 0x50]
mov eax, 0x10
mov word [edi + 0x10], ax
mov eax, ecx
or eax, dword [esp + 0x44]
mov dword [edi + 0xc], esi
je 0x5beb789
mov eax, 0x410
mov dword [edi], ecx
mov word [edi + 0x10], ax
mov ecx, dword [edi + 8]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x34], ecx
lea edi, [ecx + eax]
cmp eax, 0x80
jge 0x5beb7a3
mov byte [ecx], al
inc ecx
jmp 0x5beb7b9
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.05c1b6c0
mov ecx, dword [esp + 0x3c]
add esp, 8
add ecx, eax
mov esi, dword [esp + 0x40]
mov dword [esp + 0x34], ecx
add esi, 0xc
mov edx, dword [esi + 0x10]
cmp edx, 7
ja 0x5beb809
mov byte [ecx], dl
inc ecx
mov dword [esp + 0x34], ecx
test edx, edx
je 0x5beb853
movzx edx, byte [edx + 0x5c47230]
mov ecx, dword [esi - 0xc]
mov eax, dword [esi - 8]
mov dword [esp + 0x30], edx
sub edx, 1
mov byte [edx + edi], cl
je 0x5beb803
shrd ecx, eax, 8
shr eax, 8
sub edx, 1
mov byte [edx + edi], cl
jne 0x5beb7f4
add edi, dword [esp + 0x30]
jmp 0x5beb84f
cmp edx, 0x80
jae 0x5beb825
mov byte [ecx], dl
inc ecx
mov dword [esp + 0x34], ecx
cmp edx, 0xe
jb 0x5beb853
mov eax, dword [esi]
test eax, eax
jle 0x5beb853
jmp 0x5beb840
push 0
push edx
call fcn.05c1b6c0
mov ecx, dword [esp + 0x3c]
add esp, 8
add ecx, eax
mov eax, dword [esi]
mov dword [esp + 0x34], ecx
test eax, eax
je 0x5beb853
push eax
push dword [esi - 4]
push edi
call fcn.05b15590
add esp, 0xc
add edi, dword [esi]
mov ecx, dword [esp + 0x34]
lea eax, [esi - 0xc]
cmp eax, dword [esp + 0x5c]
je 0x5be9cc4
add esi, 0x28
jmp 0x5beb7c4
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov edx, dword [eax + 0x2c]
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xc], 0
je 0x5beb88f
mov ecx, edx
call fcn.05c03960
mov esi, eax
mov edi, edx
jmp 0x5beb8cb
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xb8]
xorps xmm0, xmm0
push eax
movlpd qword [esp + 0xbc], xmm0
call fcn.05bfe270
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov edi, dword [esp + 0xbc]
mov esi, dword [esp + 0xb8]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
call fcn.05bf0330
mov dword [eax], esi
mov dword [eax + 4], edi
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x138], 0
jne 0x5befcf0
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x7c]
jb 0x5be97ae
mov ecx, dword [esp + 0x6c]
ja 0x5beb920
mov eax, dword [esp + 0x18]
cmp eax, ecx
jb case.0x5be959c.89
nop word [eax + eax]
mov eax, dword [edx + 0x184]
test eax, eax
je 0x5be97ae
add ecx, dword [edx + 0x18c]
push dword [edx + 0x188]
adc dword [esp + 0x80], 0
mov dword [esp + 0x70], ecx
call eax
add esp, 4
test eax, eax
jne 0x5befed4
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x6c]
cmp eax, dword [esp + 0x7c]
ja 0x5beb920
mov eax, dword [esp + 0x18]
jb case.0x5be959c.89
cmp eax, ecx
jae 0x5beb920
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
add edx, 0x14
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 4]
test ecx, ecx
mov eax, dword [edx + 0x10]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
jne 0x5beba67
cmp dword [ecx + 0xc4], 0
jg 0x5bef8ee
mov ecx, eax
call fcn.05c1c9b0
mov edi, eax
xor edx, edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x20c]
add ecx, dword [eax + 0x208]
push ecx
mov ecx, eax
call fcn.05b9b990
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov ecx, dword [esp + 0x14]
lea eax, [edi + 0x21]
push edx
push eax
call fcn.05c20690
mov esi, eax
add esp, 8
test esi, esi
je 0x5bebceb
lea ecx, [edi + 1]
push ecx
push dword [esp + 0x30]
lea edx, [esi + 0x20]
push edx
mov dword [esi], edx
call fcn.05b15590
mov edx, dword [esp + 0x20]
add esp, 0xc
cmp byte [edx + 0x55], 0
je 0x5beba29
mov byte [edx + 0x55], 0
mov byte [edx + 0x5d], 1
jmp 0x5beba2f
inc dword [edx + 0x208]
mov eax, dword [edx + 0x1fc]
mov dword [esi + 0x18], eax
mov eax, dword [edx + 0x210]
mov dword [edx + 0x1fc], esi
mov dword [esi + 8], eax
mov eax, dword [edx + 0x214]
mov dword [esi + 0xc], eax
mov eax, dword [edx + 0x218]
mov dword [esi + 0x10], eax
mov eax, dword [edx + 0x21c]
mov dword [esi + 0x14], eax
jmp 0x5bebceb
mov esi, dword [ecx + 0x1fc]
xor edi, edi
test esi, esi
je 0x5bef96a
mov ecx, dword [esi]
mov edx, eax
call fcn.05c1c500
test eax, eax
je 0x5beba8e
mov esi, dword [esi + 0x18]
inc edi
mov eax, dword [esp + 0x2c]
jmp 0x5beba6f
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
cmp dword [ecx + 0xc4], 0
jle 0x5bebaa8
cmp edx, 1
je 0x5bef906
cmp dword [esi + 0x18], 0
jne 0x5bebb17
cmp byte [ecx + 0x5d], 0
je 0x5bebb17
mov dword [esp + 0x3c], 1
cmp edx, 1
jne 0x5bebb1f
mov ecx, dword [esp + 0x1c]
call fcn.05bf6670
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befe89
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov byte [eax + 0x55], 1
call fcn.05bf62e0
cmp eax, 5
je 0x5bef921
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 0x24]
mov dword [esp + 0x24], edx
test edx, edx
je 0x5bebb0e
mov byte [ecx + 0x55], 0
jmp 0x5bebc24
mov byte [ecx + 0x5d], 0
jmp 0x5bebc2c
mov dword [esp + 0x3c], 0
mov eax, dword [ecx + 0x208]
sub eax, edi
dec eax
mov dword [esp + 0x2c], eax
cmp edx, 2
jne 0x5bebba6
mov edi, dword [esp + 0x14]
mov ecx, dword [ecx + 0x18]
and ecx, 1
mov dword [esp + 0x40], 0
mov dword [esp + 0x5c], ecx
cmp dword [edi + 0x14], 0
jle 0x5bebbb0
mov eax, ecx
mov ecx, dword [esp + 0x14]
xor eax, 1
xor edi, edi
mov dword [esp + 0x30], eax
mov ecx, dword [ecx + 0x10]
mov edx, 0x204
push eax
mov ecx, dword [ecx + edi + 4]
call fcn.05c05190
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov eax, dword [esp + 0x40]
add edi, 0x10
mov ecx, dword [esp + 0x14]
inc eax
mov dword [esp + 0x40], eax
cmp eax, dword [ecx + 0x14]
mov eax, dword [esp + 0x30]
jl 0x5bebb60
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x44]
jmp 0x5bebbb2
mov dword [esp + 0x5c], 0
jmp 0x5bebbb2
mov ecx, edi
cmp dword [ecx + 0x14], 0
mov dword [esp + 0x40], 0
jle 0x5bebbfd
xor edi, edi
mov ecx, dword [ecx + 0x10]
push eax
mov ecx, dword [ecx + edi + 4]
call fcn.05c04f10
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov eax, dword [esp + 0x40]
add edi, 0x10
mov ecx, dword [esp + 0x14]
inc eax
mov edx, dword [esp + 0x44]
mov dword [esp + 0x40], eax
cmp eax, dword [ecx + 0x14]
mov eax, dword [esp + 0x2c]
jl 0x5bebbc2
cmp dword [esp + 0x5c], 0
je 0x5bebc1c
xor edx, edx
call fcn.05bf4530
mov ecx, dword [esp + 0x14]
call fcn.05bce5e0
mov ecx, dword [esp + 0x14]
or dword [ecx + 0x18], 1
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
test edx, edx
jne 0x5befcf9
cmp dword [ecx + 0x1fc], esi
je 0x5bebc66
nop dword [eax]
nop dword [eax + eax]
mov edx, dword [ecx + 0x1fc]
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x1fc], eax
call fcn.05c20b20
mov ecx, dword [esp + 0x14]
dec dword [ecx + 0x208]
cmp dword [ecx + 0x1fc], esi
jne 0x5bebc40
mov ecx, dword [esp + 0x44]
cmp ecx, 1
jne 0x5bebc9a
mov ecx, dword [esp + 0x14]
mov edx, esi
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x1fc], eax
call fcn.05c20b20
cmp dword [esp + 0x3c], 0
jne 0x5bebceb
mov ecx, dword [esp + 0x14]
dec dword [ecx + 0x208]
mov ecx, dword [esp + 0x44]
jmp 0x5bebcce
cmp dword [esp + 0x3c], 0
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 8]
mov dword [edx + 0x210], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 0x214], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x218], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x21c], eax
je 0x5bebcce
cmp ecx, 2
jne 0x5bebceb
mov edx, ecx
mov ecx, dword [esp + 0x14]
push edi
call fcn.05b9b990
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov edi, dword [esp + 0x1c]
cmp byte [edi + 0x95], 3
je 0x5bef95d
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], 0
mov edx, dword [ecx + 8]
test edx, edx
je 0x5bebd49
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
and ecx, 0x100000
and eax, 2
or ecx, eax
jne 0x5bef986
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov esi, dword [ecx + 4]
shl esi, 4
add esi, dword [eax + 0x10]
mov edi, dword [esi + 4]
test edi, edi
je 0x5bebe24
lea eax, [esp + 0x44]
mov ecx, edi
push eax
call fcn.05c05f90
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5bef9bb
mov edx, dword [esp + 0x1c]
test byte [edx + 0x98], 0x20
je 0x5bebe30
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 0
je 0x5bebe30
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x55], 0
je 0x5bebdb4
cmp dword [ecx + 0xc0], 1
jle 0x5bebe30
cmp dword [edx + 0x30], 0
jne 0x5bebdcf
mov eax, dword [ecx + 0x208]
inc dword [ecx + 0x20c]
add eax, dword [ecx + 0x20c]
mov dword [edx + 0x30], eax
mov eax, dword [edx + 0x30]
xor edx, edx
dec eax
push eax
call fcn.05b9b990
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
jne 0x5bebdf8
mov eax, dword [esp + 0x1c]
mov ecx, edi
mov edx, dword [eax + 0x30]
call fcn.05c04fe0
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x210]
mov dword [edx + 0x48], eax
mov eax, dword [ecx + 0x214]
mov dword [edx + 0x4c], eax
mov eax, dword [ecx + 0x218]
mov dword [edx + 0x50], eax
mov eax, dword [ecx + 0x21c]
mov dword [edx + 0x54], eax
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x10]
cmp word [edx + 2], 0
je 0x5be9cc8
mov eax, dword [esp + 0x44]
cmp eax, dword [edx + 0xc]
jne 0x5bebe57
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [edx + 0x10]
je 0x5be9cc8
mov esi, dword [esp + 0x1c]
mov edx, dword [esi + 0x7c]
test edx, edx
je 0x5bebe6b
mov ecx, dword [esp + 0x14]
call fcn.05c20b20
mov ecx, dword [esp + 0x14]
mov edx, str.database_schema_has_changed
call fcn.05c204b0
mov dword [esi + 0x7c], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 4]
mov ecx, edx
mov eax, dword [esp + 0x14]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [esp + 0x44]
je 0x5bebea3
mov ecx, dword [esp + 0x14]
call fcn.05bce660
mov eax, dword [esi + 0x98]
mov edx, 0x11
and eax, 0xffffffed
or eax, 1
mov dword [esi + 0x98], eax
jmp 0x5befcf5
mov edx, dword [esp + 0x10]
lea eax, [esp + 0xdc]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [edx + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.05bfe4e0
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, edi
call fcn.05bf0330
mov ecx, eax
mov eax, dword [esp + 0xdc]
cdq
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x10]
mov dword [ecx], eax
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov esi, dword [ecx + 4]
push dword [ecx + 0xc]
mov edx, dword [ecx + 8]
shl esi, 4
add esi, dword [eax + 0x10]
mov ecx, dword [esi + 4]
call fcn.05bfe410
mov edx, dword [esp + 0x14]
add esp, 4
mov dword [esp + 0x24], eax
mov eax, dword [edx + 8]
cmp eax, 1
jne 0x5bebf6f
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 [esp + 0x14]
mov ecx, eax
or dword [eax + 0x18], 1
mov edx, dword [edx + 4]
call fcn.05bbedc0
mov edx, dword [esp + 0x10]
jmp 0x5bebf7d
cmp eax, 2
jne 0x5bebf7d
mov ecx, dword [esi + 0xc]
mov al, byte [edx + 0xc]
mov byte [ecx + 0x4c], al
cmp dword [edx + 4], 1
jne 0x5bebf95
mov ecx, dword [esp + 0x14]
xor edx, edx
call fcn.05bf4530
and dword [edi + 0x98], 0xfffffffc
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
test edi, edi
je 0x5bebfe9
mov eax, dword [edi + 0x38]
cmp eax, dword [edx + 8]
jne 0x5bebfe9
mov ecx, dword [edi + 0x2c]
add edi, 0x2c
call fcn.05c090d0
mov edx, dword [esp + 0x24]
jmp 0x5bec11c
mov cl, byte [esp + 0x3b]
mov edi, dword [esp + 0x1c]
jmp 0x5bebff7
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x98]
and al, 3
cmp al, 1
je 0x5bef9f0
mov eax, dword [edx + 0xc]
mov edi, dword [edx + 8]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
shl eax, 4
mov dword [esp + 0x30], 0
add eax, dword [edx + 0x10]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x5c], edi
mov edx, dword [eax + 4]
mov dword [esp + 0x50], edx
cmp cl, 0x71
jne 0x5bec067
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
movzx ecx, word [ecx + 2]
mov al, byte [eax + 0x4c]
and ecx, 8
or ecx, 4
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x1c]
cmp al, byte [ecx + 0x93]
jae 0x5bec06f
mov byte [ecx + 0x93], al
jmp 0x5bec06f
mov dword [esp + 0x40], 0
mov ecx, dword [esp + 0x10]
test byte [ecx + 2], 0x10
je 0x5bec090
lea eax, [edi + edi*4]
lea esi, [esi + eax*8]
mov ecx, esi
call fcn.05bfb5c0
mov edi, dword [esi]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x5c], edi
mov al, byte [ecx + 1]
cmp al, 0xf8
jne 0x5bec0a4
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x2c], eax
movzx eax, word [eax + 8]
jmp 0x5bec0b1
cmp al, 0xfd
jne 0x5bec0ad
mov eax, dword [ecx + 0x10]
jmp 0x5bec0b1
mov eax, dword [esp + 0x30]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x1c]
push 0
push eax
call fcn.05bf0730
mov esi, eax
add esp, 8
test esi, esi
je 0x5beb100
push dword [esi + 0x2c]
mov eax, dword [esp + 0x40]
push dword [esp + 0x30]
mov edx, dword [esp + 0x64]
push dword [esp + 0x48]
mov ecx, dword [esp + 0x5c]
or dword [esi + 8], 4
mov dword [esi + 0x38], edi
lea edi, [esi + 0x2c]
mov byte [esi + 1], al
mov byte [esi + 2], 1
call fcn.05c04da0
mov edx, eax
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], edx
cmp byte [eax + 1], 0xf8
setne al
mov byte [esi + 4], al
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 2]
mov eax, dword [edi]
and cl, 3
mov byte [eax + 3], cl
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
push 0
mov ecx, dword [edx + 8]
mov edx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x20]
movsx eax, word [edi + 0x3c]
push eax
call fcn.05bf0730
mov esi, eax
add esp, 8
test esi, esi
je 0x5beb100
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 eax, dword [edi + 8]
xor eax, dword [esi + 8]
and eax, 4
xor dword [esi + 8], eax
mov eax, dword [edi + 0x10]
or dword [esi + 8], 8
mov dword [esi + 0x10], eax
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.05c04da0
add esp, 0xc
mov dword [esp + 0x24], eax
jmp 0x5be9cc4
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x5bec1f2
lea eax, [eax + eax*4]
mov dword [esi + eax*8 + 0xc], 0
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov dword [esi + eax*8 + 8], 0x5c37db0
mov edx, dword [ecx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + edx*4]
test esi, esi
je 0x5bec23e
test byte [esi + 8], 8
jne 0x5bec23e
movsx eax, word [esi + 0x3c]
cmp dword [ecx + 8], eax
jg 0x5bec23e
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.05bfe7f0
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
jmp 0x5bec350
push 0
push dword [ecx + 8]
mov ecx, edi
call fcn.05bf0730
mov esi, eax
add esp, 8
test esi, esi
je 0x5beb104
mov eax, dword [esp + 0x10]
lea edi, [esi + 0x10]
or dword [esi + 8], 1
xor edx, edx
push 0x41e
movzx ecx, word [eax + 2]
mov eax, dword [esp + 0x18]
or ecx, 5
push ecx
push edi
push eax
mov ecx, dword [eax]
call fcn.05c06cc0
mov edx, eax
add esp, 0x10
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov ecx, dword [edi]
lea edx, [eax + 1]
push eax
call fcn.05c05f90
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5bec323
mov edx, dword [esp + 0x10]
mov ecx, dword [edi]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x30], eax
mov dword [esi + 0x30], eax
test eax, eax
je 0x5bec2fe
movzx eax, word [edx + 2]
lea edx, [esi + 0x38]
or eax, 2
push eax
call fcn.05bfea90
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5bec2f8
push dword [esi + 0x2c]
mov edx, dword [esi + 0x38]
push dword [esp + 0x34]
mov ecx, dword [edi]
push 4
call fcn.05c04da0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x24], edx
mov byte [esi + 4], 0
jmp 0x5bec323
push dword [esi + 0x2c]
mov edx, 1
mov dword [esi + 0x38], 1
push 0
push 4
call fcn.05c04da0
mov edx, eax
mov byte [esi + 4], 1
add esp, 0xc
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x10]
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 0x5bec358
mov ecx, dword [edi]
call fcn.05c06af0
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x5befcf9
mov byte [esi + 2], 1
jmp 0x5be9cc4
mov ecx, dword [esp + 0x10]
push 1
push dword [ecx + 8]
mov edx, dword [ecx + 4]
mov ecx, edi
call fcn.05bf0730
add esp, 8
test eax, eax
je 0x5beb104
mov edx, dword [esp + 0x10]
push eax
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x30], ecx
mov edx, dword [edx + 0xc]
mov ecx, dword [esp + 0x18]
call fcn.05be7e50
add esp, 4
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov eax, dword [edi + 0x60]
mov ecx, dword [esp + 0x10]
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 edi, dword [esp + 0x1c]
mov dword [edx + 0x1c], eax
mov edx, dword [esp + 0x10]
je 0x5bec705
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
push 3
push dword [ecx + 0xc]
mov edx, dword [ecx + 4]
mov ecx, edi
call fcn.05bf0730
add esp, 8
test eax, eax
je 0x5beb104
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov byte [eax + 2], 1
add edx, 0x14
mov ecx, dword [ecx + 8]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x88]
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x5c54684
mov eax, dword [esp + 0x18]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x5bec46e
mov ecx, edi
call fcn.05bf71a0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
add edx, 0x14
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x60]
mov dword [eax + ecx*4], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov dword [esp + 0x2c], 0
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 4], 0
mov word [esi + 2], 0
mov dword [esi + 0x20], 0
je 0x5bec5ba
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
movzx eax, word [edi + 0x10]
mov dword [esp + 0x30], eax
and al, 0x2e
cmp al, 2
jne 0x5bec4ea
xor edx, edx
mov ecx, edi
call fcn.05bf05c0
mov ecx, edi
call fcn.05bfb760
movzx ecx, word [edi + 0x10]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], edx
mov word [edi + 0x10], ax
test cl, 0x24
jne 0x5bec57e
test cl, 8
jne 0x5bec542
test cl, 1
jne 0x5bec6fd
cmp dword [esp + 0x44], 0x17
jae 0x5bec6fd
mov ecx, dword [esi + 0x2c]
lea edx, [esp + 0x68]
call fcn.05c04130
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
jmp 0x5bec6f6
push dword [esp + 0x3c]
movsd xmm1, qword [edi]
push dword [esp + 0x44]
call fcn.05bf54f0
add esp, 8
test eax, eax
jle 0x5bec56f
mov ecx, dword [esp + 0x44]
test cl, 1
lea eax, [ecx - 1]
cmovne eax, ecx
mov ecx, eax
mov dword [esp + 0x44], ecx
jmp 0x5bec57e
jns 0x5bec57e
mov eax, dword [esp + 0x44]
test al, 1
je 0x5bec57e
inc eax
mov dword [esp + 0x44], eax
mov edi, dword [esp + 0x40]
lea eax, [esp + 0x68]
mov ecx, dword [esi + 0x2c]
xor edx, edx
push eax
push dword [esp + 0x40]
push edi
call fcn.05c03e60
mov edx, eax
mov dword [esi + 0x40], edi
mov eax, dword [esp + 0x48]
add esp, 0xc
mov dword [esp + 0x24], edx
mov dword [esi + 0x44], eax
test edx, edx
jne 0x5befcf9
mov edi, dword [esp + 0x1c]
jmp 0x5bec65e
mov eax, dword [esi + 0x2c]
mov ecx, dword [esp + 0x10]
mov al, byte [eax + 3]
and al, 2
mov byte [esp + 0x3b], al
mov eax, 0
setne al
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x190], eax
mov ax, word [ecx + 0x10]
mov word [esp + 0x1a4], ax
lea eax, [edx - 1]
test al, 1
mov byte [esp + 0x1aa], 0
lea edx, [esp + 0x190]
sete al
lea eax, [eax*2 - 1]
mov byte [esp + 0x1a6], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x194], eax
lea eax, [esp + 0x68]
mov ecx, dword [esi + 0x2c]
push eax
call fcn.05c039e0
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
cmp byte [esp + 0x3b], al
je 0x5bec65e
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
cmp byte [esp + 0x1aa], dl
je 0x5bec6f6
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x68]
cmp eax, 0x17
jl 0x5bec6dd
test ecx, ecx
js 0x5bec6a8
jne 0x5bec676
cmp eax, 0x18
je 0x5bec6a8
mov dword [esp + 0x68], 0
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x2c], 0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
lea edx, [ecx + 0x14]
cmove edx, ecx
mov ecx, dword [esp + 0x88]
add edx, 0x14
jmp 0x5be956e
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x68], 0
call fcn.05c037d0
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
je 0x5bec67e
cmp edx, 0x65
jne 0x5befcf9
mov dword [esp + 0x24], 0
mov dword [esp + 0x68], 1
jmp 0x5bec701
test ecx, ecx
jg 0x5bec72c
jne 0x5bec6e8
cmp eax, 0x15
je 0x5bec72c
mov eax, dword [esi + 0x2c]
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov dword [esp + 0x68], ecx
cmp dword [esp + 0x68], 0
je 0x5bec67e
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edx, [ecx + eax*4]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
add edx, 0x14
jmp 0x5be956e
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x68], 0
call fcn.05c03620
jmp 0x5bec6b8
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 0x18]
mov edi, dword [eax + ecx*4]
mov eax, dword [edi + 0x2c]
cmp byte [eax], 0
jne 0x5beafc7
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x30]
mov dword [esp + 0x268], eax
mov byte [esp + 0x27e], 0
mov ax, word [ecx + 0x24]
mov esi, dword [ecx + 4]
mov word [esp + 0x27c], ax
mov eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x40], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x26c], eax
nop dword [eax + eax]
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x26c]
mov edx, edi
push eax
call fcn.05bf4590
mov edx, eax
add esp, 8
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x10]
test eax, eax
jle 0x5bec7de
cmp word [edx + 2], 0
je 0x5bec817
test eax, eax
jns 0x5bec81a
test esi, esi
jle 0x5be9cc8
mov ecx, dword [edi + 0x2c]
dec esi
mov dword [edi + 0x20], 0
call fcn.05c037d0
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
je 0x5bec7a0
cmp edx, 0x65
jne 0x5befcf9
mov edx, dword [esp + 0x10]
mov dword [esp + 0x24], 0
add edx, 0x14
mov edi, dword [esp + 0x1c]
jmp 0x5bec705
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov edx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
movzx eax, word [ecx + 0xc]
cmp eax, dword [edx + 8]
jge 0x5bec85a
mov eax, edx
add edx, 0x14
mov ax, word [eax + 8]
mov word [ecx + 0xc], ax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
cmp eax, dword [edx + 0xc]
jle 0x5be9cd0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
add edx, 0x14
mov ax, word [eax + 0xc]
mov word [ecx + 0xc], ax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
test eax, eax
je case.0x5be959c.9
cmp byte [eax + 2], 0
je 0x5be97ae
jmp case.0x5be959c.9
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov edx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
movzx eax, word [eax + 0xc]
cmp eax, dword [edx + 0x10]
jge 0x5be9cd0
jmp 0x5bec8ce
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], esi
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x11c], ecx
mov ax, word [eax + 0x10]
mov word [esp + 0x12c], ax
test ax, ax
je 0x5bec938
mov eax, dword [esi + 0x30]
lea edi, [esi + 0x24]
mov dword [esp + 0x118], eax
lea edx, [esp + 0x118]
mov byte [esp + 0x12e], 0
mov ecx, dword [esi + 0x2c]
push edi
call fcn.05c039e0
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
jmp 0x5bec9ac
mov eax, 0x400
test word [ecx + 0x10], ax
je 0x5bec950
call fcn.05bfbaa0
test eax, eax
jne 0x5beb104
mov ecx, dword [esi + 0x30]
call fcn.05bf59a0
mov esi, eax
test esi, esi
je 0x5beb104
mov edx, dword [esp + 0x11c]
mov ecx, dword [esp + 0x2c]
push esi
push dword [edx + 8]
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + 0x30]
call fcn.05bf5810
mov eax, dword [esp + 0x34]
mov edx, esi
mov byte [esi + 0x16], 0
mov ecx, dword [eax + 0x2c]
lea edi, [eax + 0x24]
push edi
call fcn.05c039e0
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edx, esi
mov dword [esp + 0x24], eax
call fcn.05c20b20
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x5befcf9
xor ecx, ecx
mov byte [esi + 3], dl
cmp dword [edi], ecx
mov al, 1
mov dword [esi + 0x20], edx
sete cl
sub al, cl
mov byte [esi + 2], al
mov eax, dword [esp + 0x10]
mov al, byte [eax]
mov byte [esp + 0x3b], al
cmp al, 0x1d
jne 0x5bec9fd
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
test ecx, ecx
jne 0x5bec705
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
test ecx, ecx
je 0x5bec6fd
cmp al, 0x1b
jne 0x5beca36
movzx edx, word [esp + 0x12c]
xor ecx, ecx
test edx, edx
je 0x5beca36
mov eax, dword [esp + 0x11c]
add eax, 0x10
test byte [eax], 1
jne 0x5bec6fd
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x5beca21
mov al, byte [esp + 0x3b]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
cmp al, 0x1a
jne 0x5be9ccc
mov ecx, dword [esp + 0x88]
mov eax, edx
add edx, 0x14
mov ax, word [eax + 0x10]
mov word [esi + 0xc], ax
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x10], 0x24
jne 0x5becafc
movups xmm0, xmmword [esi + eax*8]
movups xmm1, xmmword [esi + eax*8 + 0x10]
movups xmmword [esp + 0x160], xmm0
movq xmm0, qword [esi + eax*8 + 0x20]
movd eax, xmm1
movaps xmmword [esp + 0x170], xmm1
movq qword [esp + 0x180], xmm0
test al, 4
jne 0x5becae8
test al, 0x28
jne 0x5becac9
test al, 2
je 0x5becae0
mov eax, 1
lea ecx, [esp + 0x160]
mov edx, eax
call fcn.05bf05c0
jmp 0x5becad5
lea ecx, [esp + 0x160]
call fcn.05bfb630
mov edx, dword [esp + 0x10]
mov al, byte [esp + 0x170]
test al, 4
je 0x5bec705
mov edi, dword [esp + 0x160]
mov edx, dword [esp + 0x164]
jmp 0x5becb09
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
mov edi, dword [esi + eax*8]
mov edx, dword [esi + eax*8 + 4]
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], 0
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
lea eax, [esp + 0x58]
push eax
push edx
push edi
mov ecx, dword [esi + 0x2c]
xor edx, edx
call fcn.05c03e60
mov edx, eax
mov dword [esi + 0x40], edi
mov eax, dword [esp + 0x4c]
add esp, 0xc
mov dword [esi + 0x44], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x24], edx
mov word [esi + 2], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], eax
test eax, eax
je 0x5becb80
mov edx, dword [esp + 0x10]
cmp dword [edx + 8], 0
jne 0x5bec81a
mov ecx, 0x1786b
call fcn.05b7ad30
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
jmp 0x5be9cc4
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.05bf0330
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [edi + 0x60]
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x18]
mov dword [eax], ecx
mov ecx, dword [edx + 0x1c]
mov edx, dword [esp + 0x10]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x88]
add dword [eax + 0x18], 1
adc dword [eax + 0x1c], 0
add edx, 0x14
mov eax, dword [esp + 0x18]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
xorps xmm0, xmm0
mov ecx, edi
movlpd qword [esp + 0x70], xmm0
mov dword [esp + 0x2c], 0
call fcn.05bf0330
mov ecx, dword [edi + 0x60]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 4]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x44], eax
test byte [eax + 8], 2
jne 0x5becc8d
mov ecx, dword [eax + 0x2c]
lea edx, [esp + 0x2c]
call fcn.05c04130
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
cmp dword [esp + 0x2c], eax
je 0x5becc48
mov edi, 1
xor esi, esi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], esi
jmp 0x5becc95
mov eax, dword [esp + 0x44]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call fcn.05c04c50
mov edi, dword [esi + 0x20]
mov esi, dword [esi + 0x24]
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], esi
cmp esi, 0x7fffffff
jl 0x5becc7d
jg 0x5becc73
cmp edi, 0xffffffff
jb 0x5becc7d
mov eax, dword [esp + 0x44]
or dword [eax + 8], 2
jmp 0x5becc95
add edi, 1
mov dword [esp + 0x70], edi
adc esi, 0
mov dword [esp + 0x74], esi
jmp 0x5becc95
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x5becd34
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0xd0]
test edx, edx
je 0x5beccd4
mov eax, dword [edx + 4]
test eax, eax
je 0x5beccc9
nop dword [eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x5beccc0
mov eax, dword [edx + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
jmp 0x5beccde
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x20]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x3c], ecx
call fcn.05bfb5c0
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
cmp ecx, 0xffffffff
jne 0x5becd01
cmp edx, 0x7fffffff
je 0x5becdb8
mov eax, dword [esp + 0x44]
test byte [eax + 8], 2
mov eax, dword [esp + 0x3c]
jne 0x5becdb8
add ecx, 1
adc edx, 0
cmp esi, edx
jg 0x5becd2f
jl 0x5becd23
cmp edi, ecx
jae 0x5becd2f
mov edi, ecx
mov esi, edx
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], esi
mov dword [eax], edi
mov dword [eax + 4], esi
mov eax, dword [esp + 0x44]
test byte [eax + 8], 2
je 0x5becdc6
mov dword [esp + 0x40], 0
nop word [eax + eax]
lea eax, [esp + 0x70]
push eax
push 8
call fcn.05c1d360
mov esi, dword [esp + 0x7c]
lea eax, [esp + 0x34]
mov edi, dword [esp + 0x78]
and esi, 0x3fffffff
add edi, 1
push eax
mov eax, dword [esp + 0x50]
adc esi, 0
push esi
push edi
xor edx, edx
mov dword [esp + 0x84], edi
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x88], esi
call fcn.05c03e60
mov edx, eax
add esp, 0x14
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
cmp dword [esp + 0x2c], eax
jne 0x5becdc2
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
cmp eax, 0x64
jl 0x5becd50
mov edx, 0xd
jmp 0x5befcf5
mov eax, dword [esp + 0x44]
mov byte [eax + 3], 0
mov dword [eax + 0x20], 0
mov eax, dword [esp + 0x30]
mov dword [eax], edi
mov dword [eax + 4], esi
jmp 0x5be9cc4
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 8]
mov ecx, dword [edx + 4]
lea eax, [edi + edi*4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x2c], ecx
lea eax, [eax + eax*4]
mov edx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x40], edx
mov dword [esp + 0x140], edx
cmp byte [eax + 1], 0xfb
jne 0x5bece9c
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x114]
test edx, edx
jne 0x5bece41
cmp dword [eax + 0xfc], edx
je 0x5bece9c
movsx ecx, byte [ecx + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
mov esi, dword [eax + 0x10]
test esi, esi
je 0x5becea2
test edx, edx
je 0x5bece85
test byte [eax + 2], 4
jne 0x5bece85
mov edx, dword [esp + 0x2c]
push 0xffffffffffffffff
push edi
push dword [esp + 0x64]
push dword [esp + 0x4c]
push esi
push ecx
mov ecx, dword [esp + 0x34]
push 0x12
call fcn.05bf40f0
add esp, 0x1c
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0xfc], 0
je 0x5bece98
cmp dword [esi + 4], 0
jne 0x5becea6
xor esi, esi
jmp 0x5becea6
xor esi, esi
mov dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 2]
test al, 0x40
jne 0x5be9cc4
test al, 1
je 0x5becede
mov eax, dword [esp + 0x1c]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov eax, dword [esp + 0x10]
test byte [eax + 2], 0x20
je 0x5becede
mov eax, dword [esp + 0x40]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x5c]
mov dword [ecx + 0x2c], eax
mov edx, dword [esp + 0x20]
lea ecx, [edi + edi*4]
mov eax, dword [edx + ecx*8 + 8]
mov dword [esp + 0x148], eax
mov eax, dword [edx + ecx*8 + 0xc]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 2]
mov dword [esp + 0x40], ecx
test cl, 0x10
je 0x5becf15
mov edi, dword [esp + 0x2c]
mov edx, dword [edi + 0x24]
jmp 0x5becf17
xor edx, edx
mov edi, dword [esp + 0x20]
mov ecx, 0x400
mov eax, dword [esp + 0x30]
test word [edi + eax*8 + 0x10], cx
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x2c]
je 0x5becf47
mov edi, dword [esp + 0x20]
mov eax, dword [edi + eax*8]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x158], eax
jmp 0x5becf52
mov dword [esp + 0x158], 0
push edx
and ecx, 0x8a
mov dword [esp + 0x13c], 0
push ecx
mov ecx, dword [edi + 0x2c]
lea edx, [esp + 0x140]
call fcn.05bff5d0
mov edx, eax
mov byte [edi + 3], 0
add esp, 8
mov dword [esp + 0x24], edx
mov dword [edi + 0x20], 0
test edx, edx
jne 0x5befcf9
test esi, esi
je 0x5be9cc4
push dword [esp + 0x144]
mov eax, dword [esp + 0x14]
mov ecx, 0x17
push dword [esp + 0x144]
push dword [esi]
test byte [eax + 2], 4
mov eax, 0x12
push dword [esp + 0x48]
cmovne eax, ecx
push eax
mov eax, dword [esp + 0x28]
push dword [eax + 0xf8]
mov eax, dword [eax + 0xfc]
call eax
add esp, 0x18
jmp 0x5be9cc4
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 0x60]
mov eax, dword [edx + 4]
mov esi, dword [ecx + eax*4]
mov eax, dword [edx + 8]
mov edx, dword [ecx + eax*4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x5bed012
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
mov edi, dword [esp + 0x20]
mov ecx, dword [ecx + eax*8]
mov eax, dword [edi + eax*8 + 4]
mov edi, dword [esp + 0x1c]
jmp 0x5bed02c
xorps xmm0, xmm0
movlpd qword [esp + 0x80], xmm0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
mov edx, dword [edx + 0x2c]
push eax
push ecx
mov ecx, dword [esi + 0x2c]
call fcn.05bff1a0
add esp, 8
jmp 0x5bea3b3
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x2c], edx
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x10]
cmp byte [eax + 1], 0xfb
jne 0x5bed0c0
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x114], 0
jne 0x5bed075
cmp dword [eax + 0xfc], 0
je 0x5bed0c0
movsx ecx, byte [edi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
test byte [ecx + 2], 2
mov esi, dword [ecx + 0x10]
mov dword [esp + 0x30], esi
je 0x5bed0c8
cmp byte [edi + 4], 0
je 0x5bed0c8
mov esi, dword [edi + 0x2c]
mov ecx, esi
call fcn.05c04c50
mov eax, dword [esi + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [edi + 0x40], eax
mov eax, dword [esi + 0x24]
mov esi, dword [esp + 0x30]
mov dword [edi + 0x44], eax
mov eax, dword [esp + 0x3c]
jmp 0x5bed0c8
xor eax, eax
xor esi, esi
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x114], 0
je 0x5bed109
test esi, esi
je 0x5bed109
mov ecx, dword [esp + 0x10]
test dl, 4
push 0xffffffffffffffff
mov edx, edi
push dword [ecx + 0xc]
mov ecx, 0x17
push dword [edi + 0x44]
push dword [edi + 0x40]
push esi
push eax
mov eax, 9
cmovne eax, ecx
mov ecx, dword [esp + 0x34]
push eax
call fcn.05bf40f0
add esp, 0x1c
test byte [esp + 0x2c], 0x40
jne 0x5be9cc4
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x2c]
mov dl, byte [eax + 2]
call fcn.05bfed90
mov edx, eax
mov dword [edi + 0x20], 0
mov dword [esp + 0x24], edx
mov dword [edi + 0x24], 0
test edx, edx
jne 0x5befcf9
test byte [esp + 0x2c], 1
je 0x5be9cc4
mov eax, dword [esp + 0x1c]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], edx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xfc]
test eax, eax
je 0x5be9cc4
test esi, esi
je 0x5be9cc4
test byte [esi + 0x1c], 0x80
jne 0x5be9cc4
push dword [edi + 0x44]
push dword [edi + 0x40]
push dword [esi]
push dword [esp + 0x48]
push 9
push dword [edx + 0xf8]
call eax
add esp, 0x18
jmp 0x5be9cc4
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add dword [edi + 0x70], eax
mov dword [edi + 0x68], eax
adc dword [edi + 0x74], ecx
add edx, 0x14
mov eax, dword [esp + 0x18]
mov dword [edi + 0x6c], ecx
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov dword [esp + 0x4c], 0
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
lea eax, [esp + 0x4c]
push eax
mov eax, dword [esp + 0x14]
push dword [eax + 0x10]
call fcn.05be59a0
mov edx, eax
add esp, 8
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x4c], eax
jne 0x5bec705
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + ecx*4]
call fcn.05be5ac0
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x88]
mov dword [eax + 0x20], edx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.05bf0330
mov ecx, dword [edi + 0x60]
mov esi, eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ecx + 0x2c]
mov ecx, edi
call fcn.05c04c50
mov eax, dword [esp + 0x14]
mov edx, dword [edi + 0x2c]
cmp edx, dword [eax + 0x78]
ja 0x5bef9fa
push esi
mov ecx, edi
call fcn.05bfab20
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x10]
cmp dword [edx + 0xc], eax
jne 0x5be9cc8
mov eax, 0x4000
test word [esi + 0x10], ax
je 0x5be9cc8
mov ecx, esi
call fcn.05bfbb00
mov edi, dword [esp + 0x1c]
test eax, eax
jne 0x5beb104
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.05bf0330
mov ecx, dword [esp + 0x10]
mov edi, eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x60]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x5bed350
mov eax, 1
mov word [edi + 0x10], ax
jmp 0x5be9cc4
cmp byte [esi + 3], 0
je 0x5bed37b
mov ecx, dword [esi + 0x40]
mov dword [esp + 0xb0], ecx
mov eax, dword [esi + 0x44]
mov dword [esp + 0xb4], eax
mov dword [edi], ecx
mov eax, dword [esp + 0xb4]
mov dword [edi + 4], eax
jmp 0x5be9cc4
cmp byte [esi], 2
jne 0x5bed3cb
mov ecx, dword [esi + 0x2c]
lea edx, [esp + 0xb0]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [esp + 0x24]
add esp, 8
mov edx, esi
mov dword [esp + 0x24], eax
call fcn.05bf43c0
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x5befcf9
mov ecx, dword [esp + 0xb0]
mov dword [edi], ecx
mov eax, dword [esp + 0xb4]
mov dword [edi + 4], eax
jmp 0x5be9cc4
mov ecx, esi
call fcn.05bf5ca0
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
cmp byte [esi + 2], al
je 0x5bed3f3
mov eax, 1
mov word [edi + 0x10], ax
jmp 0x5be9cc4
mov esi, dword [esi + 0x2c]
mov ecx, esi
call fcn.05c04c50
mov ecx, dword [esi + 0x20]
mov dword [esp + 0xb0], ecx
mov eax, dword [esi + 0x24]
mov dword [esp + 0xb4], eax
mov dword [edi], ecx
mov eax, dword [esp + 0xb4]
mov dword [edi + 4], eax
jmp 0x5be9cc4
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov edx, dword [edx + 4]
mov eax, dword [eax + edx*4]
test eax, eax
jne 0x5bed45f
push 3
push 1
mov ecx, edi
call fcn.05bf0730
add esp, 8
test eax, eax
je 0x5beb104
or dword [eax + 8], 8
mov dword [eax + 0x24], 0
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x5c54684
cmp byte [eax], 0
mov byte [eax + 2], 1
mov dword [eax + 0x20], 0
jne 0x5be97ae
mov ecx, dword [eax + 0x2c]
call fcn.05c090d0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
cmp byte [esp + 0x3b], 0x89
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov dword [esp + 0x34], 0
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x2c]
jne 0x5bed4c1
mov dword [esi + 0x24], 0xffffffff
cmp byte [ecx], 0
je 0x5be9a8a
lea edx, [esp + 0x34]
call fcn.05c04130
mov edx, eax
mov byte [esi + 3], 0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x24], edx
mov byte [esi + 2], al
mov dword [esi + 0x20], 0
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x10]
cmp dword [edx + 8], 0
jle 0x5be9ccc
test eax, eax
jne 0x5bec705
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0xc4]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call fcn.05c04190
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
cmp dword [esp + 0xc4], eax
jne 0x5bec701
mov ecx, esi
call fcn.05c03960
test edx, edx
jl 0x5be9a8a
jg 0x5bed569
test eax, eax
jb 0x5be9a8a
push edx
push eax
call fcn.05c1af80
mov edx, dword [esp + 0x18]
add esp, 8
cwde
cmp eax, dword [edx + 0xc]
jge 0x5be9ccc
mov dword [esp + 0xc4], 1
jmp 0x5bec705
inc dword [edi + 0xac]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x50]
mov eax, dword [edi + 0x60]
mov dword [esp + 0x50], 1
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
cmp byte [esi], 1
jne 0x5bed5be
mov ecx, esi
call fcn.05be5c40
jmp 0x5bed5d1
mov ecx, dword [esi + 0x2c]
call fcn.05c04190
mov byte [esi + 3], 0
mov dword [esi + 0x20], 0
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov eax, dword [esp + 0x50]
mov byte [esi + 2], al
jmp 0x5bed4ea
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov edx, esi
mov ecx, dword [esp + 0x14]
call fcn.05be5bb0
jmp 0x5bed631
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x2c]
call fcn.05c03620
jmp 0x5bed631
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x2c]
call fcn.05c037d0
mov edx, eax
mov dword [esp + 0x24], edx
mov dword [esi + 0x20], 0
test edx, edx
jne 0x5bed659
mov byte [esi + 2], al
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 2]
inc dword [edi + eax*4 + 0xa4]
jmp 0x5bef1c5
cmp edx, 0x65
jne 0x5befcf9
mov dword [esp + 0x24], 0
mov byte [esi + 2], 1
jmp 0x5beb8e1
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
je 0x5bed69f
mov eax, dword [esp + 0x1c]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov eax, 0x400
test word [esi + 0x10], ax
je 0x5bed6c3
mov ecx, esi
call fcn.05bfbaa0
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
cdq
mov dword [esp + 0x2d0], eax
mov eax, dword [esi + 8]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x2c8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x2d4], edx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x2dc], eax
mov ax, word [ecx + 0x10]
mov word [esp + 0x2e0], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x5bed70c
mov ecx, dword [edi + 0x24]
jmp 0x5bed70e
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x2c]
lea edx, [esp + 0x2cc]
and eax, 0x8a
push eax
call fcn.05bff5d0
mov edx, eax
mov dword [edi + 0x20], 0
add esp, 8
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, 0x400
test word [esi + 0x10], ax
je 0x5bed78d
mov ecx, esi
call fcn.05bfbaa0
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov edx, esi
mov ecx, edi
call fcn.05be6a90
jmp 0x5becb7a
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x20]
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x288], eax
mov ax, word [edx + 0xc]
mov word [esp + 0x29c], ax
mov eax, dword [edx + 8]
lea edx, [esp + 0x288]
mov byte [esp + 0x29e], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [esp + 0x28c], eax
lea eax, [esp + 0xe0]
push eax
call fcn.05c039e0
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
cmp dword [esp + 0xe0], eax
jne 0x5bed849
mov dl, 4
mov ecx, edi
call fcn.05bfed90
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
add edx, 0x14
mov ecx, dword [esp + 0x88]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
cmp word [edx + 2], 0
je 0x5bed865
mov ecx, dword [esp + 0x14]
call fcn.05bcdc20
test eax, eax
je 0x5befa15
mov edi, dword [esp + 0x1c]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov esi, dword [esp + 0x20]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.05bf5ca0
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
cmp byte [esi + 2], al
jne 0x5bed978
mov edx, dword [esi + 0x2c]
lea eax, [esp + 0x98]
mov ecx, dword [esp + 0x14]
xorps xmm0, xmm0
push eax
movlpd qword [esp + 0x9c], xmm0
call fcn.05bf4650
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov eax, dword [esp + 0x10]
cmp byte [eax], 0x8d
jne 0x5bed941
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esp + 0x98]
mov dword [ecx + 0x40], eax
mov eax, dword [esp + 0x9c]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x20], edx
mov edx, dword [esp + 0x10]
mov word [ecx + 2], 0x100
add edx, 0x14
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x28], esi
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, eax
mov ecx, edi
call fcn.05bf0330
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
add edx, 0x14
mov dword [eax], ecx
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.05bfb270
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 3], 0
je 0x5be97ae
call fcn.05bf5d00
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
cmp byte [esp + 0x3b], 0x2a
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [esp + 0x2a8], eax
mov ax, word [edx + 0x10]
mov word [esp + 0x2bc], ax
sbb al, al
mov byte [esp + 0x2be], al
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov esi, dword [ecx + 0x2c]
mov ecx, esi
mov dword [esp + 0x2ac], eax
call fcn.05c04c50
xor eax, eax
mov edx, dword [esi + 0x2c]
jl 0x5befa40
jg 0x5beda46
test edx, edx
je 0x5befa40
test eax, eax
jg 0x5befa40
jl 0x5beda5c
cmp edx, 0x7fffffff
ja 0x5befa40
xor eax, eax
mov dword [esp + 0x1f0], 0
mov word [esp + 0x1e8], ax
mov ecx, esi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1ec], eax
lea eax, [esp + 0x1d8]
push eax
call fcn.05bfab20
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1e4]
push eax
lea eax, [esp + 0x2ac]
push eax
call fcn.05bf4bf0
add esp, 8
mov esi, eax
cmp dword [esp + 0x1f0], 0
je 0x5bedad3
lea ecx, [esp + 0x1d8]
call fcn.05bfb870
mov edx, dword [esp + 0x10]
test byte [edx], 1
jne 0x5bedae0
neg esi
jmp 0x5bedae1
inc esi
test esi, esi
jg 0x5bec705
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.05bf0330
mov ecx, dword [esp + 0x14]
mov esi, eax
mov edi, dword [esp + 0x14]
mov eax, 1
mov word [esi + 0x10], ax
mov ecx, dword [ecx + 0xcc]
inc ecx
cmp dword [edi + 0xc0], ecx
jg 0x5befa51
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
mov dword [esp + 0x4c], 0
mov eax, dword [edx + 0xc]
mov edx, dword [edx + 4]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x44], eax
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.05bfe540
mov ecx, dword [esp + 0x4c]
add esp, 4
mov dword [esp + 0x24], eax
mov eax, 4
mov word [esi + 0x10], ax
mov eax, ecx
cdq
mov dword [esi + 4], edx
mov edx, dword [esp + 0x24]
mov dword [esi], eax
test edx, edx
jne 0x5befcfd
test ecx, ecx
je 0x5be9cc4
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
push dword [eax + 4]
push ecx
mov ecx, edi
call fcn.05bcaa90
mov al, byte [esp + 0x48]
add esp, 8
inc al
mov byte [esp + 0x67], al
jmp 0x5be9cc4
mov edx, dword [esp + 0x10]
lea eax, [esp + 0xc8]
mov ecx, dword [esp + 0x14]
xorps xmm0, xmm0
push eax
movlpd qword [esp + 0xcc], xmm0
mov eax, dword [edx + 8]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov edx, dword [edx + 4]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.05bfe7f0
mov edi, dword [esp + 0x14]
add esp, 4
mov edx, eax
mov dword [esp + 0x24], edx
cmp dword [edi + 0xc], 0
mov edi, dword [esp + 0x1c]
je 0x5bedc2c
mov edx, dword [esp + 0xc8]
add dword [edi + 0x28], edx
mov eax, dword [esp + 0xcc]
adc dword [edi + 0x2c], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x5bedc28
lea ecx, [eax + eax*4]
add dword [esi + ecx*8], edx
mov eax, dword [esp + 0xcc]
adc dword [esi + ecx*8 + 4], eax
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x5bedc80
mov edx, dword [ecx + 0x2c]
mov ecx, dword [esp + 0x14]
call fcn.05be77a0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [ecx + 0x2c]
push 0
mov edx, dword [ecx + 0x40]
mov ecx, dword [ecx + 8]
call fcn.05bfe7f0
jmp 0x5bec396
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.05bf0330
mov edx, dword [esp + 0x10]
mov esi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], 0
mov ecx, dword [edx + 4]
push dword [edx + 0xc]
shl ecx, 4
lea edx, [esp + 0x34]
add ecx, dword [eax + 0x10]
mov ecx, dword [ecx + 4]
call fcn.05bfea90
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x88]
mov dword [esi + 4], edx
mov edx, dword [esp + 0x10]
mov dword [esi], eax
add edx, 0x14
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
jmp 0x5be956e
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push 0
push 0
inc byte [eax + 0x60]
push 0
push dword [ecx + 0x10]
push eax
call sym.SQLite.Interop.dll_SIa2c646e1460e3d6a
mov edi, dword [esp + 0x28]
mov edx, eax
add esp, 0x14
mov dword [esp + 0x24], edx
dec byte [edi + 0x60]
test edx, edx
jne 0x5befcfd
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x10]
mov esi, dword [ecx + 4]
test edx, edx
jne 0x5beddaa
mov eax, dword [esp + 0x14]
mov ecx, esi
add ecx, ecx
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8 + 0xc]
call fcn.05bc5f50
mov ecx, dword [esp + 0x18]
add esp, 4
mov eax, dword [esp + 0x10]
mov edx, esi
and dword [ecx + 0x18], 0xffffffef
movzx eax, word [eax + 2]
push eax
lea eax, [edi + 0x7c]
push eax
call fcn.05bb2500
mov ecx, dword [esp + 0x1c]
mov edx, eax
add esp, 8
mov dword [esp + 0x24], edx
or dword [ecx + 0x18], 1
and dword [edi + 0x98], 0xfffffffc
jmp 0x5bede8d
mov ecx, dword [esp + 0x14]
lea eax, [edi + 0x7c]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x104], esi
add esi, esi
mov dword [esp + 0x100], eax
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x10c], 0
push edx
push str.sqlite_master
mov eax, dword [ecx + esi*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x11c], eax
push dword [ecx + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push dword [esp + 0x24]
call fcn.05c1db30
mov esi, eax
add esp, 0x14
test esi, esi
je 0x5befa6a
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xfc]
push 0
push ecx
push fcn.05bb29d0
push esi
push eax
mov byte [eax + 0xb1], 1
mov dword [esp + 0x11c], 0
mov dword [esp + 0x124], 0
call sym.SQLite.Interop.dll_SIa2c646e1460e3d6a
add esp, 0x14
mov dword [esp + 0x24], eax
test eax, eax
jne 0x5bede73
mov eax, dword [esp + 0x108]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x5bede73
cmp dword [esp + 0x110], eax
jne 0x5bede73
mov ecx, 0x17e67
call fcn.05b7ad30
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x14]
mov edx, esi
call fcn.05c20b20
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov byte [ecx + 0xb1], 0
test edx, edx
jne 0x5befa72
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x14]
call fcn.05bd0b10
jmp 0x5bec399
mov ecx, dword [esp + 0x10]
push dword [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x18]
call fcn.05bcde70
mov edx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
push dword [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x18]
call fcn.05bcea80
mov edx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
push dword [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x18]
call fcn.05ba34f0
mov edx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
lea esi, [eax + eax*4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0xe8]
push eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax + esi*8]
inc eax
push eax
push dword [edx + 8]
lea eax, [ecx + 4]
mov ecx, dword [esp + 0x24]
push eax
movzx eax, word [edx + 2]
add eax, eax
mov edx, dword [ecx + 0x10]
mov edx, dword [edx + eax*8 + 4]
call fcn.05bfd250
add esp, 0x14
mov dword [esp + 0x24], eax
mov ecx, edi
call fcn.05bfb270
mov eax, dword [esp + 0xe4]
test eax, eax
je 0x5bedfe9
cmp dword [esp + 0x24], 0
jne 0x5befa8d
mov ecx, dword [esp + 0x20]
dec eax
cdq
push sym.SQLite.Interop.dll_SI9edfb98001bcad06
push 1
sub dword [ecx + esi*8], eax
push 0xffffffffffffffff
sbb dword [ecx + esi*8 + 4], edx
mov ecx, edi
mov edx, dword [esp + 0x98]
push 0xffffffffffffffff
call fcn.05bfac70
add esp, 0x10
movzx edx, byte [esp + 0x54]
mov ecx, edi
call fcn.05bfbd40
jmp 0x5beb8dd
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x10], 0x10
lea esi, [esi + eax*8]
mov eax, dword [ecx + 8]
lea edi, [eax + eax*4]
jne 0x5bee023
mov ecx, esi
call fcn.05bfb060
test eax, eax
jne 0x5beb100
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 8]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.05c13480
add esp, 8
jmp 0x5be9cc4
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x10], 0x10
lea esi, [esi + eax*8]
je 0x5bee091
mov ecx, dword [esi + 8]
lea edx, [esp + 0xf0]
call fcn.05c13120
test eax, eax
je 0x5bee091
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
push dword [esp + 0xf4]
mov eax, dword [eax + 0xc]
push dword [esp + 0xf4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.05bfb180
add esp, 8
jmp 0x5beb8e5
mov ecx, esi
call fcn.05bfb270
jmp 0x5bef1c5
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x10], 0x10
lea esi, [esi + eax*8]
mov eax, dword [ecx + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x30], eax
jne 0x5bee0d1
mov ecx, esi
call fcn.05bfb060
test eax, eax
jne 0x5beb100
mov eax, dword [esp + 0x30]
test eax, eax
je 0x5bee0fb
mov ecx, dword [esp + 0x20]
mov edx, eax
push dword [ecx + edi*8 + 4]
push dword [ecx + edi*8]
mov ecx, dword [esi + 8]
call fcn.05c12fc0
add esp, 8
test eax, eax
jne 0x5bec6fd
mov eax, dword [esp + 0x30]
test eax, eax
js 0x5be9cc4
jmp 0x5bee023
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
mov esi, dword [ecx + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], esi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], ecx
cmp word [eax + 2], 0
je 0x5bee154
mov eax, dword [edi + 0xd0]
mov ecx, dword [esi + 0x14]
test eax, eax
je 0x5bee150
nop word [eax + eax]
cmp dword [eax + 0x18], ecx
je 0x5be9a8a
mov eax, dword [eax + 4]
test eax, eax
jne 0x5bee140
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0xd8]
cmp eax, dword [edx + 0xa0]
jge 0x5befaa5
test byte [ecx + 0x10], 0x10
jne 0x5bee33e
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 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 [esp + 0x3c]
mov eax, dword [eax + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x5bee19d
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x14]
add eax, 0x58
mov dword [esp + 0x30], eax
cdq
push edx
push eax
call fcn.05c20800
mov edi, eax
add esp, 8
test edi, edi
je 0x5beb100
mov ecx, dword [esp + 0x2c]
call fcn.05bfb850
mov ecx, dword [esp + 0x2c]
mov eax, 0x1010
mov edx, dword [esp + 0x10]
sub edx, dword [esp + 0x28]
mov word [ecx + 0x10], ax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 8], edi
mov dword [ecx + 0x24], 0x5bf7c60
mov ecx, dword [esp + 0x3c]
mov dword [edi], eax
mov dword [edi + 0x3c], esi
mov eax, dword [ecx + 0xc]
mov dword [edi + 0x40], eax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
mov dword [edi + 0x30], eax
mov eax, dword [edx + 0x58]
mov dword [edi + 0xc], eax
mov eax, dword [edx + 0x14]
mov dword [edi + 0x38], eax
mov eax, dword [edx + 0x60]
mov dword [edi + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [edi + 0x2c], eax
mov eax, dword [edx + 0x68]
mov dword [edi + 8], eax
mov eax, dword [edx + 0x6c]
mov dword [edi + 0x34], eax
mov eax, dword [ecx + 0x14]
mov dword [edi + 0x18], eax
lea eax, [esi*4 + 0xb]
add eax, esi
lea ecx, [edi + eax*8]
lea eax, [edi + 0x58]
cmp eax, ecx
je 0x5bee274
mov edx, dword [esp + 0x14]
nop
xor esi, esi
mov dword [eax + 0x14], edx
mov word [eax + 0x10], si
add eax, 0x28
cmp eax, ecx
jne 0x5bee260
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x3c]
inc dword [edx + 0xd8]
mov eax, dword [edx + 0xd0]
mov ecx, dword [esp + 0x14]
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 [edx + 0x28]
mov dword [edi + 0x48], eax
mov eax, dword [edx + 0x2c]
mov dword [edi + 0x4c], eax
mov ecx, dword [edx]
mov eax, dword [ecx + 0x68]
mov dword [edi + 0x50], eax
mov eax, dword [ecx + 0x6c]
lea ecx, [edi + 0x58]
mov dword [edi + 0x54], eax
mov eax, dword [edx + 0xe4]
mov dword [edi + 0x28], eax
mov dword [edx + 0x58], ecx
mov dword [edx + 0xe4], 0
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0xd0], edi
mov eax, dword [edi + 0x3c]
mov dword [edx + 0x14], eax
movzx eax, word [edi + 0x40]
mov dword [edx + 0x18], eax
mov eax, dword [edx + 0x14]
mov dword [esp + 0x20], ecx
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [edx + 0x60], ecx
mov eax, dword [esi + 0xc]
lea ecx, [ecx + eax*4]
mov dword [edi + 0x14], ecx
mov eax, dword [esi + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call fcn.05b02790
mov ecx, dword [esi]
add esp, 0xc
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
lea edx, [ecx - 0x14]
mov dword [edi + 0x68], ecx
mov eax, dword [esi + 4]
mov dword [edi + 0x6c], eax
mov dword [esp + 0x10], edx
jmp 0x5beb8e1
mov edi, dword [ecx + 8]
mov edx, dword [esp + 0x1c]
jmp 0x5bee278
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.05bf0330
mov esi, eax
mov eax, dword [edi + 0xd0]
push 0x4000
mov ecx, dword [eax + 0x30]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ecx + edx*4 + 4]
mov edx, dword [esp + 0x14]
add ecx, dword [edx + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.05bfafb0
mov edx, dword [esp + 0x14]
add esp, 4
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x20]
and eax, 0x80000
or eax, 0
mov eax, dword [esp + 0x10]
je 0x5bee3e4
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x14]
cdq
add dword [ecx + 0x218], eax
mov eax, dword [esp + 0x18]
adc dword [ecx + 0x21c], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
add edx, 0x14
jmp 0x5be956e
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
cdq
je 0x5bee415
mov ecx, dword [esp + 0x14]
add dword [ecx + 0x210], eax
mov eax, dword [esp + 0x18]
adc dword [ecx + 0x214], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
add edx, 0x14
jmp 0x5be956e
add dword [edi + 0x40], eax
mov eax, dword [esp + 0x18]
adc dword [edi + 0x44], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
add edx, 0x14
jmp 0x5be956e
mov edx, dword [esp + 0x10]
cmp dword [edx + 4], 0
je 0x5bee47d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x210]
or eax, dword [ecx + 0x214]
jne 0x5be9cd0
mov eax, ecx
mov eax, dword [eax + 0x218]
or eax, dword [ecx + 0x21c]
je 0x5bec705
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jne 0x5be9cd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x218]
or eax, dword [ecx + 0x21c]
je 0x5bec705
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [edi + 0xd0]
test edx, edx
je 0x5bee4e2
mov eax, dword [edx + 4]
test eax, eax
je 0x5bee4d0
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x5bee4c7
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edi, [eax + ecx*8]
jmp 0x5bee4ef
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov ecx, edi
call fcn.05bfb5c0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov ecx, esi
call fcn.05bfb5c0
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x5be9cc4
jl 0x5bee522
cmp dword [edi], eax
jae 0x5be9cc4
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x5be9cc4
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x20]
mov edi, dword [eax + esi*8 + 4]
mov ecx, dword [eax + esi*8]
test edi, edi
jl 0x5be9cc4
jg 0x5bee553
test ecx, ecx
je 0x5be9cc4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
mov eax, dword [esp + 0x20]
sbb edi, edx
mov dword [eax + esi*8], ecx
mov dword [eax + esi*8 + 4], edi
jmp 0x5bec6fd
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov eax, dword [ecx + 0xc]
mov ecx, edi
lea eax, [eax + eax*4]
mov dword [esp + 0x30], eax
call fcn.05bf0330
mov ecx, dword [esp + 0x20]
mov edi, eax
mov eax, dword [ecx + esi*8]
mov ecx, dword [ecx + esi*8 + 4]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
test ecx, ecx
jl 0x5bee627
jg 0x5bee5b1
test eax, eax
je 0x5bee627
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x20]
mov eax, dword [esi + ecx*8]
mov ecx, dword [esi + ecx*8 + 4]
test ecx, ecx
jl 0x5bee5ca
jg 0x5bee5e4
test eax, eax
jne 0x5bee5e4
xorps xmm0, xmm0
movlpd qword [esp + 0x80], xmm0
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
push ecx
push eax
lea ecx, [esp + 0xd8]
call fcn.05c1b220
add esp, 8
test eax, eax
jne 0x5bee62b
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
add edx, 0x14
mov dword [edi], eax
mov eax, dword [esp + 0xd4]
mov dword [edi + 4], eax
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
jmp 0x5be956e
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
mov edi, dword [esp + 0x1c]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + esi*8]
mov edx, dword [eax + esi*8 + 4]
mov eax, ecx
or eax, edx
je 0x5be9a8a
test edx, edx
jl 0x5bec701
jg 0x5bee684
test ecx, ecx
je 0x5bec701
mov eax, dword [esp + 0x20]
sub ecx, 1
sbb edx, 0
mov dword [eax + esi*8], ecx
mov dword [eax + esi*8 + 4], edx
jmp 0x5bec701
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov edx, dword [esi + ecx*8 + 4]
mov eax, dword [esi + ecx*8]
cmp edx, 0x80000000
jl 0x5bee6c6
jg 0x5bee6b9
test eax, eax
je 0x5bee6c6
sub eax, 1
mov dword [esi + ecx*8], eax
sbb edx, 0
mov dword [esi + ecx*8 + 4], edx
mov eax, dword [esi + ecx*8]
or eax, dword [esi + ecx*8 + 4]
mov edx, dword [esp + 0x10]
je 0x5bec705
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
push 0
movzx eax, word [ecx + 2]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x34], eax
lea eax, [eax*4 + 0x44]
push eax
call fcn.05c20690
mov esi, eax
add esp, 8
test esi, esi
je 0x5beb104
mov eax, dword [esp + 0x30]
add eax, 7
mov dword [esi + 8], 0
lea ecx, [esi + eax*4]
mov eax, 1
mov dword [esi], ecx
mov word [ecx + 0x10], ax
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], 0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10]
sub ecx, dword [esp + 0x28]
mov dword [esi + 4], eax
mov eax, 0x66666667
imul ecx
mov dword [esi + 0xc], edi
sar edx, 3
mov eax, edx
mov byte [esi + 0x19], 0
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x14], 0
mov edx, dword [esp + 0x10]
mov dword [esi + 0x10], eax
mov al, byte [esp + 0x54]
mov byte [esi + 0x18], al
mov eax, dword [esp + 0x30]
mov byte [esi + 0x1a], al
mov word [edx], 0xf1a3
mov dword [edx + 0x10], esi
jmp 0x5bee790
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x20]
mov esi, dword [edx + 0x10]
mov dword [esp + 0x30], esi
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [esp + 0x40], edi
cmp dword [esi + 8], edi
je 0x5bee7e9
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edi
js 0x5bee7e9
mov edi, dword [esp + 0x10]
lea edx, [esi + 0x1c]
mov esi, dword [esp + 0x20]
lea edx, [edx + ecx*4]
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + 4], eax
jns 0x5bee7c7
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x10]
inc dword [edi + 0xc]
lea eax, [esi + 0x1c]
cmp dword [edx + 4], 0
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
push esi
je 0x5bee804
mov eax, dword [ecx + 0x1c]
jmp 0x5bee807
mov eax, dword [ecx + 0x10]
call eax
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x5be9cc4
jle 0x5bee83f
push dword [esi]
call fcn.05bf3ac0
mov edi, dword [esp + 0x20]
add esp, 4
push eax
push 0x5c38c48
push edi
call fcn.05bf98b0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x24], eax
jmp 0x5bee843
mov edi, dword [esp + 0x1c]
cmp byte [esi + 0x19], 0
je 0x5bee86e
mov eax, dword [esp + 0x10]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x5bee86a
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.05bfb180
add esp, 8
mov byte [esi + 0x19], 0
mov ecx, dword [esi]
call fcn.05bfb850
mov eax, dword [esi]
mov ecx, 1
mov edx, dword [esp + 0x24]
mov word [eax + 0x10], cx
mov dword [esi + 0x14], 0
jmp 0x5bea3b9
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x5bee8d0
push dword [ecx + 0x10]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov ecx, esi
call fcn.05bfb8f0
mov ecx, dword [esp + 0x24]
mov edi, eax
mov eax, dword [esp + 0x14]
add esp, 4
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
jmp 0x5bee8dc
mov edx, dword [ecx + 0x10]
mov ecx, esi
call fcn.05bfb950
mov edi, eax
mov dword [esp + 0x24], edi
test edi, edi
jne 0x5befac5
movzx edx, byte [esp + 0x54]
mov ecx, esi
call fcn.05bfbd40
jmp 0x5be9cc4
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x2f8]
push eax
lea eax, [esp + 0x2f8]
mov dword [esp + 0x2f4], 0
push eax
push dword [ecx + 8]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x304], 0xffffffff
mov dword [esp + 0x300], 0xffffffff
call fcn.05b7c4c0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x24], edx
test edx, edx
je 0x5bee966
cmp edx, 5
jne 0x5befcf9
mov dword [esp + 0x24], 0
mov dword [esp + 0x2f0], 1
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
xor esi, esi
mov eax, dword [esp + esi*4 + 0x2f0]
mov ecx, edi
cdq
push edx
push eax
call fcn.05bfb180
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x5bee975
jmp 0x5be9cc4
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.05bf0330
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0xc]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x14]
add edx, edx
cmp esi, 0xffffffff
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov dword [esp + 0x30], eax
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x34], ecx
movzx edx, byte [ecx + 5]
mov dword [esp + 0x4c], edx
cmove esi, edx
call fcn.05c0d560
test eax, eax
mov edi, edx
cmovne edi, esi
cmp byte [ecx + 0xf], 0
jne 0x5bee9fa
cmp dword [ecx], 0x5c51830
je 0x5bee9fa
mov eax, dword [ecx + 0xb8]
jmp 0x5bee9ff
mov eax, 0x5c4518c
cmp edi, 5
jne 0x5beea2f
mov ecx, eax
call fcn.05c1c9b0
test eax, eax
je 0x5beea1c
mov ecx, dword [esp + 0x34]
call fcn.05c0d3f0
test eax, eax
jne 0x5beea2b
mov edx, dword [esp + 0x4c]
mov edi, edx
mov eax, dword [esp + 0x24]
jmp 0x5beeac4
mov edx, dword [esp + 0x4c]
cmp edi, edx
je 0x5beeabc
cmp edx, 5
je 0x5beea41
cmp edi, 5
jne 0x5beeabc
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x55], 0
je 0x5befae9
cmp dword [eax + 0xc0], 1
jg 0x5befae9
cmp edx, 5
jne 0x5beea81
mov edx, eax
call fcn.05c0d1b0
mov esi, dword [esp + 0x34]
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5beeab2
mov edx, edi
mov ecx, esi
call fcn.05c0d5a0
jmp 0x5beea9c
cmp edx, 4
jne 0x5beea90
mov edx, 2
call fcn.05c0d5a0
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x5beeac0
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
xor edx, edx
cmp edi, 5
sete dl
inc edx
call fcn.05bfcf00
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x24]
jmp 0x5beeac8
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x34]
test eax, eax
mov ecx, esi
cmove edx, edi
call fcn.05c0d5a0
mov esi, dword [esp + 0x40]
mov ecx, 0x2202
mov word [esi + 0x10], cx
mov ecx, eax
call fcn.05bb70a0
mov ecx, eax
mov dword [esi + 8], eax
call fcn.05c1c9b0
movzx edx, byte [esp + 0x54]
mov ecx, esi
mov dword [esi + 0xc], eax
mov byte [esi + 0x12], 1
call fcn.05bfbd40
mov edx, dword [esp + 0x24]
jmp 0x5becb80
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
test eax, eax
je 0x5beeb21
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
jmp 0x5beeb23
xor eax, eax
mov edx, dword [esp + 0x14]
push eax
push dword [ecx + 4]
lea ecx, [edi + 0x7c]
call fcn.05b9d330
add esp, 8
jmp 0x5bec399
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.05c05790
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
je 0x5be97ae
cmp edx, 0x65
jne 0x5befcf9
mov dword [esp + 0x24], 0
jmp 0x5bec701
mov edx, dword [esp + 0x10]
cmp dword [edx + 4], 0
jne 0x5beeba5
mov edx, dword [edx + 8]
mov ecx, dword [esp + 0x14]
call fcn.05bf4530
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 0x14
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x88]
inc eax
xor eax, dword [edi + 0x98]
and eax, 3
xor dword [edi + 0x98], eax
add edx, 0x14
mov eax, dword [esp + 0x18]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov edx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x88]
mov eax, dword [eax + 0x2c]
or byte [eax + 1], 0x40
add edx, 0x14
mov eax, dword [esp + 0x18]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov edx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x88]
mov eax, dword [eax + 0x2c]
and byte [eax + 1], 0xbf
add edx, 0x14
mov eax, dword [esp + 0x18]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov al, byte [edx + 0xc]
mov byte [esp + 0xa0], al
test al, al
jne 0x5beec4d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x24]
and eax, 4
xor ecx, ecx
jne 0x5be9cd0
test eax, eax
jne 0x5be9cd0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push dword [esp + 0xa0]
mov eax, dword [eax + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov edx, dword [edx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.05bfd010
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
test edx, edx
je 0x5be9c40
cmp dl, 6
jne 0x5befcf9
mov eax, dword [esp + 0x10]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push edi
call fcn.05bf98b0
mov edx, dword [esp + 0x30]
add esp, 0xc
jmp 0x5befcf9
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0x10]
mov edx, esi
mov ecx, dword [esp + 0x14]
call fcn.05b9ba70
mov edx, eax
mov dword [esp + 0x24], edx
test esi, esi
je 0x5bea3b9
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.05bf43c0
mov edx, dword [esp + 0x24]
jmp 0x5bea3b9
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x230]
xorps xmm0, xmm0
movaps xmmword [esp + 0x240], xmm0
mov dword [esp + 0x244], eax
mov eax, dword [esp + 0x10]
movaps xmmword [esp + 0x230], xmm0
movq qword [esp + 0x250], xmm0
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
call fcn.05bfaf40
mov dword [esp + 0x24], eax
lea eax, [esp + 0x230]
push eax
call fcn.05bf3ac0
add esp, 4
test eax, eax
je 0x5beed53
lea ecx, [edi + 0x7c]
push ecx
mov ecx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 4]
call fcn.05b9c0b0
add esp, 8
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x230]
call fcn.05bfb850
mov edx, dword [esp + 0x24]
jmp 0x5bec39f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
inc dword [eax + 0xcc]
push dword [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, eax
call fcn.05b9bd70
mov edi, dword [esp + 0x18]
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
dec dword [edi + 0xcc]
test edx, edx
jne 0x5befcfd
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], 0
mov eax, dword [ecx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x5befb2e
mov edi, dword [esi]
test edi, edi
je 0x5befb2e
lea eax, [esp + 0x3c]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ecx, dword [esp + 0x24]
add esp, 8
mov edx, esi
mov dword [esp + 0x24], eax
call fcn.05bf43c0
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x5befcf9
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
push 2
push edx
mov dword [eax], esi
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 4]
call fcn.05bf0730
add esp, 8
test eax, eax
je 0x5befb1d
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x2c], ecx
inc dword [esi + 4]
jmp 0x5be9cc4
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
call fcn.05b7ef20
test eax, eax
jne 0x5beb100
cmp dword [0x5c525e8], eax
je 0x5beeea1
mov eax, dword [0x5c545d8]
test eax, eax
je 0x5beee6e
push eax
call dword [0x5c52638]
add esp, 4
lea edx, [esp + 0xac]
mov ecx, 8
call fcn.05c20dc0
mov eax, dword [0x5c545d8]
test eax, eax
je 0x5beee98
push eax
call dword [0x5c52640]
mov esi, dword [esp + 0xb0]
jmp 0x5beeeb2
mov esi, dword [esp + 0xac]
jmp 0x5beeeb5
push 8
call dword [0x5c52608]
mov esi, eax
mov dword [esp + 0xb0], esi
add esp, 4
test esi, esi
je 0x5beb100
mov ecx, dword [edi + 0x2c]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov dword [esi], ecx
mov ecx, dword [edx + 0xc]
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x20]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [esi + 4], eax
call fcn.05bf0330
mov ecx, 1
mov edx, esi
push 0x5bf2d50
push str.ValueList
mov word [eax + 0x10], cx
mov ecx, eax
call fcn.05bfb120
mov edx, dword [esp + 0x18]
add esp, 8
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x1c]
lea edi, [edx + 5]
lea edi, [esi + edi*8]
mov esi, dword [edi]
mov eax, dword [eax + 0x60]
movd xmm0, edi
mov dword [esp + 0x30], edi
pshufd xmm3, xmm0, 0
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [esp + 0x50], eax
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x5c], eax
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edx*8]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0x5c]
test esi, esi
jle 0x5bef013
cmp esi, 8
jb 0x5beeffb
cmp dword [0x5c53e5c], 2
jl 0x5beeffb
movaps xmm2, xmmword [0x5c4d6a0]
mov eax, esi
and eax, 0x80000007
jns 0x5beef9d
dec eax
or eax, 0xfffffff8
inc eax
movaps xmm1, xmmword [str.____PPPP]
mov edi, esi
sub edi, eax
nop dword [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx + ecx*4], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx + ecx*4 + 0x10], xmm0
add ecx, 8
cmp ecx, edi
jl 0x5beefb0
mov edi, dword [esp + 0x30]
cmp ecx, esi
jge 0x5bef013
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x5bef008
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
push edx
push esi
push dword [eax + 0x10]
mov esi, dword [esp + 0x68]
push dword [esp + 0x4c]
mov eax, dword [edi + 0x20]
push esi
call eax
mov edx, dword [esp + 0x50]
add esp, 0x14
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
call fcn.05bf43c0
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x5befcf9
mov eax, dword [edi + 0x28]
push esi
call eax
mov ecx, dword [esp + 0x54]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
je 0x5be9cc4
jmp 0x5bec6fd
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
cmp byte [edi + 2], 0
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
je 0x5bef08f
mov ecx, esi
jmp 0x5be9cbf
test byte [edx + 2], 1
xorps xmm0, xmm0
mov eax, dword [edi + 0x2c]
mov eax, dword [eax]
mov dword [esp + 0x40], eax
mov eax, dword [eax]
mov dword [esp + 0x30], eax
mov al, byte [esp + 0x54]
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
mov dword [esp + 0x1b0], esi
mov byte [esp + 0x1c8], al
je 0x5bef0e1
mov ecx, esi
call fcn.05bfb270
mov edx, dword [esp + 0x10]
mov eax, 0x401
mov dword [esi], 0
jmp 0x5bef0f1
mov ax, word [esi + 0x10]
mov ecx, 0xf241
and ax, cx
or ax, 1
mov word [esi + 0x10], ax
lea eax, [esp + 0x1b0]
push dword [edx + 8]
push eax
mov eax, dword [esp + 0x38]
push dword [edi + 0x2c]
mov eax, dword [eax + 0x2c]
call eax
mov edi, dword [esp + 0x28]
add esp, 0xc
mov edx, dword [esp + 0x40]
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.05bf43c0
cmp dword [esp + 0x1c4], 0
jle 0x5bef14f
push esi
call fcn.05bf3ac0
add esp, 4
push eax
push 0x5c38c48
push edi
call fcn.05bf98b0
mov eax, dword [esp + 0x1d0]
add esp, 0xc
mov dword [esp + 0x24], eax
movzx edx, byte [esp + 0x54]
mov ecx, esi
call fcn.05bfbd40
mov edx, dword [esp + 0x24]
jmp 0x5bea3b9
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [ecx + 4]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x5beafc7
mov eax, dword [edi + 0x2c]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [esp + 0x34], ecx
mov eax, dword [ecx + 0x24]
call eax
mov ecx, dword [esp + 0x20]
add esp, 4
mov edx, esi
mov dword [esp + 0x24], eax
call fcn.05bf43c0
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x5befcf9
mov eax, dword [esp + 0x30]
push dword [edi + 0x2c]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x5beb8dd
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 8]
mov ecx, dword [esp + 0x28]
dec edx
lea edx, [edx + edx*4]
lea edx, [ecx + edx*4]
mov dword [esp + 0x10], edx
jmp 0x5beb8e5
mov ecx, dword [esp + 0x14]
mov edx, 1
mov edi, dword [ecx + 0x20]
or dword [ecx + 0x20], 0x4000000
and edi, 0x4000000
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10]
mov esi, dword [eax + 8]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, eax
mov dword [esp + 0x30], eax
call fcn.05bfbd40
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befcf9
mov ecx, dword [esp + 0x30]
mov eax, dword [esi]
push dword [ecx + 8]
mov eax, dword [eax + 0x4c]
push esi
call eax
add esp, 8
mov dword [esp + 0x24], eax
test edi, edi
jne 0x5bef25e
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
mov edi, dword [esp + 0x1c]
mov edx, esi
mov ecx, edi
call fcn.05bf43c0
jmp 0x5bebf8e
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
movlpd qword [esp + 0x80], xmm0
cmp byte [eax + 0x57], 0
jne 0x5beb108
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 8]
mov dword [esp + 0x40], edx
test edx, edx
je 0x5befb2e
mov eax, dword [edx]
mov dword [esp + 0x30], eax
test eax, eax
je 0x5befb2e
cmp dword [eax + 0x34], 0
mov esi, dword [esp + 0x10]
mov esi, dword [esi + 8]
je 0x5be9a8a
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov edi, dword [edi + 0x5c]
mov al, byte [eax + 0x5c]
mov byte [esp + 0x3b], al
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x5bef2ef
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x5bef2e4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov al, byte [eax + 2]
mov byte [ecx + 0x5c], al
lea eax, [esp + 0x80]
push eax
mov eax, dword [esp + 0x34]
push edi
push esi
push edx
mov eax, dword [eax + 0x34]
call eax
mov ecx, dword [esp + 0x24]
add esp, 0x10
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov al, byte [esp + 0x3b]
mov byte [ecx + 0x5c], al
mov ecx, esi
call fcn.05bf43c0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
test edx, edx
jne 0x5bef35f
cmp dword [eax + 4], edx
je 0x5bef35f
mov eax, dword [esp + 0x80]
mov dword [edi + 0x28], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0x10]
cmp dl, 0x13
jne 0x5bef3b1
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x5bef3b1
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 2]
cmp eax, 4
jne 0x5bef39f
mov edx, dword [esp + 0x10]
mov edi, esi
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x24], 0
jmp 0x5be956e
cmp eax, 5
jne 0x5bef3a9
mov eax, 2
mov byte [esi + 0x92], al
jmp 0x5bef3b9
add dword [esi + 0x28], 1
adc dword [esi + 0x2c], 0
test edx, edx
jne 0x5befcfd
mov edx, dword [esp + 0x10]
mov edi, esi
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.05bf0330
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x14]
add edx, edx
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
mov edx, dword [esp + 0x10]
add edx, 0x14
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x30]
mov dword [eax], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 4], 0
mov eax, dword [esp + 0x18]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.05bf0330
mov edi, eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x14]
add edx, edx
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x10]
mov esi, dword [ecx + edx*8 + 4]
xor edx, edx
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x5bef45c
mov eax, dword [esi + 4]
mov edx, dword [eax + 0x30]
cmp edx, ecx
cmovb edx, ecx
mov ecx, esi
call fcn.05c067c0
mov dword [edi], eax
mov dword [edi + 4], 0
jmp 0x5be9cc4
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0x10]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x30], esi
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [esp + 0x40], edi
cmp dword [esi], edi
je 0x5bef4d6
mov eax, dword [esp + 0x1c]
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 0xc], eax
mov al, byte [esp + 0x54]
mov dword [esi], edi
mov byte [esi + 0x18], al
js 0x5bef4d6
mov edi, dword [esp + 0x10]
lea edx, [esi + 0x1c]
mov esi, dword [esp + 0x20]
lea edx, [edx + ecx*4]
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + 4], eax
jns 0x5bef4b8
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x40]
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 0x5be9cc4
jle 0x5bef531
push edi
call fcn.05bf3ac0
mov edi, dword [esp + 0x20]
add esp, 4
push eax
push 0x5c38c48
push edi
call fcn.05bf98b0
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x24], eax
jmp 0x5bef535
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
lea edx, [edi + 0xe4]
mov ecx, dword [esp + 0x14]
push dword [eax + 4]
push dword [esi + 0x10]
call fcn.05bf6060
mov edx, dword [esp + 0x2c]
add esp, 8
mov dword [esi + 0x14], 0
test edx, edx
jne 0x5befcf9
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov edx, dword [esp + 0x10]
mov ecx, 0xf7ff
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
and word [esi + eax*8 + 0x10], cx
add edx, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov eax, dword [ecx + 4]
mov ecx, esi
lea edi, [eax + eax*4]
mov dword [esp + 0x30], edi
call fcn.05bf0250
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edi*8 + 0xc]
cdq
push edx
push eax
push ecx
push esi
call fcn.05c24710
mov ecx, dword [esp + 0x30]
mov edi, eax
mov eax, dword [esp + 0x20]
mov esi, edi
shrd esi, edx, 3
and edi, 7
shr edx, 3
mov ecx, dword [eax + ecx*8 + 8]
movsx eax, byte [esi + ecx]
bts eax, edi
mov byte [esi + ecx], al
jmp 0x5be9cc4
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov eax, dword [ecx + 4]
mov ecx, esi
lea edi, [eax + eax*4]
mov dword [esp + 0x30], edi
call fcn.05bf0250
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edi*8 + 0xc]
cdq
push edx
push eax
push ecx
push esi
call fcn.05c24710
mov ecx, dword [esp + 0x30]
mov edi, eax
mov eax, dword [esp + 0x20]
mov esi, edi
shrd esi, edx, 3
and edi, 7
shr edx, 3
mov ecx, dword [eax + ecx*8 + 8]
mov eax, 1
movsx edx, byte [esi + ecx]
mov ecx, edi
mov edi, dword [esp + 0x1c]
shl eax, cl
test eax, edx
mov edx, dword [esp + 0x10]
jne 0x5bef667
inc dword [edi + 0xc4]
jmp 0x5bec705
inc dword [edi + 0xc0]
add edx, 0x14
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x88]
jmp 0x5be956e
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 0x5e]
test cl, 0x41
je 0x5bef747
cmp byte [edi + 0x93], 0xfe
je 0x5bef747
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x5bef6ba
mov eax, dword [edi + 0xc8]
test eax, eax
je 0x5bef747
test cl, 0x40
je 0x5bef6ec
mov edx, eax
mov ecx, edi
call fcn.05bf0850
mov esi, eax
mov eax, dword [esp + 0x14]
push esi
push dword [eax + 0xdc]
mov ecx, dword [eax + 0xd8]
call ecx
push esi
call sym.SQLite.Interop.dll_SI9edfb98001bcad06
mov esi, dword [esp + 0x2c]
add esp, 0xc
jmp 0x5bef747
mov ecx, dword [esp + 0x14]
push eax
cmp dword [ecx + 0xc8], 1
jle 0x5bef733
push str.____s
push ecx
call fcn.05c1db30
add esp, 0xc
mov esi, eax
mov eax, dword [esp + 0x14]
push esi
mov ecx, dword [eax + 0xd8]
push edi
push dword [eax + 0xdc]
push 1
call ecx
push esi
push dword [esp + 0x28]
call fcn.05c20ab0
mov esi, dword [esp + 0x38]
add esp, 0x18
jmp 0x5bef747
mov eax, dword [ecx + 0xd8]
push edi
push dword [ecx + 0xdc]
push 1
call eax
add esp, 0x10
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + 4]
cmp eax, dword [0x5c526f4]
jl 0x5bef797
cmp byte [edx], 0xb5
je 0x5be9cd0
mov edx, 1
cmp dword [edi + 0x6c], edx
jle 0x5bef78c
mov eax, 0x14
mov ecx, dword [edi + 0x68]
cmp byte [eax + ecx], 0xf
jne 0x5bef783
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [edi + 0x6c]
jl 0x5bef772
mov edx, dword [esp + 0x10]
mov dword [edx + 4], 0
inc dword [edx + 4]
inc dword [edi + 0xbc]
jmp 0x5bec705
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 4]
mov dword [edi + 0x24], ecx
mov al, byte [edx + 8]
mov byte [edi + 0x92], al
test ecx, ecx
je 0x5bef849
movzx eax, word [edx + 2]
test ax, ax
je 0x5bef803
push dword [eax*4 + 0x5c445f0]
push str._s_constraint_failed
push edi
call fcn.05bf98b0
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esi + 0x10]
test eax, eax
je 0x5bef818
push eax
push dword [edi + 0x7c]
push str._z:__s
push dword [esp + 0x20]
call fcn.05c1db30
add esp, 0x10
mov dword [edi + 0x7c], eax
jmp 0x5bef818
push dword [edx + 0x10]
push 0x5c38c48
push edi
call fcn.05bf98b0
mov esi, dword [esp + 0x1c]
add esp, 0xc
push dword [edi + 0x7c]
mov ecx, esi
mov eax, 0x66666667
sub ecx, dword [esp + 0x2c]
push dword [edi + 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 [esi + 4]
call sym.SQLite.Interop.dll_SI350ef657c32efd79
add esp, 0x14
mov ecx, edi
call fcn.05bf62e0
mov ecx, dword [esp + 0x14]
mov edx, eax
mov dword [esp + 0x24], edx
cmp edx, 5
jne 0x5bef867
mov dword [edi + 0x24], eax
jmp 0x5befe91
cmp dword [edi + 0x24], 0
mov edx, 0x65
mov eax, 1
cmovne edx, eax
mov dword [esp + 0x24], edx
jmp 0x5befe91
mov ecx, 0x16fa7
call fcn.05b7ad30
mov edi, dword [esp + 0x14]
mov edx, eax
mov dword [esp + 0x24], edx
jmp 0x5befd01
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x5c]
add eax, eax
mov ecx, dword [esp + 0x30]
push dword [edx + eax*8]
mov eax, dword [edx + eax*8 + 4]
push dword [ecx]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x5c526fc]
movzx eax, word [esi + 0x10]
and eax, 0x3f
movzx eax, byte [eax + 0x5c46c68]
push dword [eax*4 + 0x5c4a774]
push str.cannot_store__s_value_in__s_column__s._s
push dword [esp + 0x30]
call fcn.05bf98b0
add esp, 0x18
mov edx, 0xc13
jmp 0x5befcf5
push str.cannot_open_savepoint___SQL_statements_in_progress
push edi
call fcn.05bf98b0
mov edx, 5
add esp, 8
jmp 0x5befcf5
push str.cannot_release_savepoint___SQL_statements_in_progress
push dword [esp + 0x20]
call fcn.05bf98b0
mov edx, 5
add esp, 8
jmp 0x5befcf5
mov ecx, dword [esp + 0x10]
mov eax, 0x66666667
sub ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
imul ecx
mov ecx, dword [esp + 0x14]
sar edx, 3
mov eax, edx
mov dword [esp + 0x24], 5
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x20], eax
mov byte [ecx + 0x55], 0
mov dword [edi + 0x24], 5
jmp 0x5befe91
mov dword [esp + 0x24], 0x65
jmp 0x5befe8d
push eax
push str.no_such_savepoint:__s
push dword [esp + 0x24]
call fcn.05bf98b0
add esp, 0xc
mov edx, 1
jmp 0x5befcf5
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
mov eax, dword [eax + 0x20]
and eax, 0x100000
or eax, 0
je 0x5bef9ad
mov edx, 8
mov dword [esp + 0x24], edx
jmp 0x5befd01
mov edx, 0xb
mov dword [esp + 0x24], edx
jmp 0x5befd01
cmp dl, 5
jne 0x5befcf9
mov ecx, dword [esp + 0x10]
mov eax, 0x66666667
sub ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x24]
mov dword [edi + 0x24], eax
jmp 0x5befe8d
mov edx, 0x204
jmp 0x5befcf5
push str.string_or_blob_too_big
push dword [esp + 0x20]
call fcn.05bf98b0
mov edx, 0x12
add esp, 8
jmp 0x5befcf5
push 0x5c40e4c
push 0x17c9e
push str.index_corruption
push str._s_at_line__d_of___.10s_
push 0x30b
call sym.SQLite.Interop.dll_SI350ef657c32efd79
add esp, 0x14
mov edx, 0x30b
jmp 0x5befcf5
mov ecx, 0x17d6b
call fcn.05b7ad30
mov edx, eax
jmp 0x5befcf5
mov eax, dword [esp + 0x1c]
mov edx, 6
mov dword [esp + 0x24], edx
mov byte [eax + 0x92], 2
jmp 0x5befcfd
mov dword [esp + 0x24], 7
mov ecx, dword [esp + 0x14]
call fcn.05bce5e0
mov edx, dword [esp + 0x24]
cmp edx, 7
je 0x5beb104
jmp 0x5befcf9
push dword [esp + 0x8c]
call sym.SQLite.Interop.dll_SI9edfb98001bcad06
mov edx, dword [esp + 0x28]
add esp, 4
jmp 0x5befcf9
push str.too_many_levels_of_trigger_recursion
push edi
mov dword [esp + 0x2c], 1
call fcn.05bf98b0
add esp, 8
mov edx, 1
jmp 0x5befcf9
push esi
call fcn.05bf3ac0
add esp, 4
push eax
push 0x5c38c48
push dword [esp + 0x24]
call fcn.05bf98b0
mov edx, dword [esp + 0x30]
add esp, 0xc
jmp 0x5befcf9
mov ecx, str.out_of
mov dword [esp + 0x24], 1
cmp edi, 5
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push dword [esp + 0x24]
call fcn.05bf98b0
add esp, 0xc
mov edx, 1
jmp 0x5befcf9
push dword [esp + 0x3c]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
jmp 0x5beb100
mov edx, 6
jmp 0x5befcf5
mov eax, dword [edi + 0x1c]
add eax, 2
or eax, 1
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edi + 0x78], eax
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x57], 0
jne 0x5beb108
test byte [eax + 0x5e], 4
je 0x5befb7e
push 0
push edi
push dword [eax + 0xdc]
mov eax, dword [eax + 0xd8]
push 4
call eax
add esp, 0x10
mov ecx, dword [esp + 0x10]
mov eax, 0x66666667
sub ecx, dword [esp + 0x28]
imul ecx
mov dword [esp + 0x24], 0x64
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [edi + 0x20], eax
jmp 0x5befe8d
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 4]
mov esi, dword [edx + 8]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x8c], ecx
movzx eax, byte [edx + 0x55]
cmp ecx, eax
je 0x5befc9d
test esi, esi
je 0x5befbe3
mov esi, dword [esp + 0x14]
mov edx, 0x204
mov ecx, esi
call fcn.05b7d5b0
mov byte [esi + 0x55], 1
jmp 0x5befc30
test ecx, ecx
je 0x5befc08
cmp dword [edx + 0xc4], 0
jle 0x5befc08
push str.cannot_commit_transaction___SQL_statements_in_progress
push edi
call fcn.05bf98b0
mov edx, 5
add esp, 8
jmp 0x5befcf5
mov edx, 1
mov ecx, edi
call fcn.05bf6670
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x5befe8d
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x8c]
mov byte [esi + 0x55], al
mov ecx, edi
call fcn.05bf62e0
cmp eax, 5
jne 0x5befc7c
mov ecx, dword [esp + 0x10]
mov eax, 0x66666667
sub ecx, dword [esp + 0x28]
imul ecx
mov ecx, dword [esp + 0x14]
sar edx, 3
mov eax, edx
mov dword [esp + 0x24], 5
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x20], eax
mov al, 1
sub al, byte [esp + 0x8c]
mov byte [ecx + 0x55], al
mov dword [edi + 0x24], 5
jmp 0x5befe91
mov ecx, esi
call fcn.05b7e120
cmp dword [edi + 0x24], 0
mov edx, 0x65
mov eax, 1
cmovne edx, eax
mov dword [esp + 0x24], edx
jmp 0x5befe8d
test ecx, ecx
jne 0x5befcb7
mov eax, str.cannot_start_a_transaction_within_a_transaction
push eax
push edi
call fcn.05bf98b0
mov edx, 1
add esp, 8
jmp 0x5befcf5
mov ecx, str.cannot_commit___no_transaction_is_active
test esi, esi
mov eax, str.cannot_rollback___no_transaction_is_active
cmove eax, ecx
push eax
push edi
call fcn.05bf98b0
mov edx, 1
add esp, 8
jmp 0x5befcf5
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x18], eax
mov edx, 9
mov dword [esp + 0x24], edx
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
cmp byte [edi + 0x57], 0
je 0x5befd2c
mov edx, 7
jmp 0x5befd57
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x18], eax
jmp 0x5beb104
cmp edx, 0x210a
jne 0x5befd5b
push 0x5c40e4c
push 0x185fd
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.SQLite.Interop.dll_SI350ef657c32efd79
add esp, 0x14
mov edx, 0xb
mov dword [esp + 0x24], edx
mov edi, dword [esp + 0x1c]
cmp dword [edi + 0x7c], 0
jne 0x5befdbe
cmp edx, 0xc0a
je 0x5befdbe
mov eax, edx
mov ecx, str.unknown_error
sub eax, 0x64
je 0x5befdaa
sub eax, 1
je 0x5befda3
sub eax, 0x19f
je 0x5befd9c
movzx eax, dl
cmp eax, 0x1d
jae 0x5befdaf
mov eax, dword [eax*4 + 0x5c42fb8]
test eax, eax
je 0x5befdaf
mov ecx, eax
jmp 0x5befdaf
mov ecx, str.abort_due_to_ROLLBACK
jmp 0x5befdaf
mov ecx, str.no_more_rows_available
jmp 0x5befdaf
mov ecx, str.another_row_available
push ecx
push 0x5c38c48
push edi
call fcn.05bf98b0
add esp, 0xc
mov eax, dword [esp + 0x24]
mov dword [edi + 0x24], eax
cmp eax, 0xc0a
je 0x5befdfb
movzx eax, al
cmp eax, 0xe
je 0x5befdd9
cmp eax, 0xa
jne 0x5befdfb
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x5befdf2
push 0
push 0
push eax
call ecx
add esp, 0xc
jmp 0x5befdf4
xor eax, eax
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x4c], eax
mov ecx, dword [esp + 0x10]
mov eax, 0x66666667
push dword [edi + 0x7c]
sub ecx, esi
mov esi, dword [esp + 0x28]
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 esi
call sym.SQLite.Interop.dll_SI350ef657c32efd79
add esp, 0x14
cmp byte [edi + 0x95], 2
jne 0x5befe3e
mov ecx, edi
call fcn.05bf62e0
cmp esi, 0xc0a
jne 0x5befe6e
mov ecx, dword [esp + 0x14]
call fcn.05c20310
mov ecx, dword [esp + 0x14]
mov al, byte [esp + 0x67]
mov dword [esp + 0x24], 1
test al, al
je 0x5befe91
movzx edx, al
dec edx
call fcn.05bce660
jmp 0x5befe8d
cmp esi, 0xb
jne 0x5befe4f
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x55], 0
jne 0x5befe53
mov eax, dword [ecx + 0x20]
or dword [ecx + 0x24], 2
mov dword [ecx + 0x20], eax
jmp 0x5befe53
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x7c]
cmp dword [esp + 0x88], esi
jb 0x5befee8
mov edx, dword [esp + 0x6c]
ja 0x5befeaa
cmp dword [esp + 0x18], edx
jb 0x5befee8
mov eax, dword [ecx + 0x184]
test eax, eax
je 0x5befee8
add edx, dword [ecx + 0x18c]
push dword [ecx + 0x188]
mov dword [esp + 0x70], edx
adc esi, 0
call eax
mov ecx, dword [esp + 0x18]
add esp, 4
test eax, eax
je 0x5befe95
or ecx, 0xffffffff
mov dword [esp + 0x7c], 0xffffffff
mov dword [esp + 0x6c], ecx
jmp 0x5befcf0
mov ecx, dword [esp + 0x18]
add dword [edi + 0xb4], ecx
cmp dword [edi + 0xa0], 0
je 0x5beff02
mov ecx, edi
call fcn.05bf7d50
mov ecx, dword [esp + 0x2fc]
mov eax, dword [esp + 0x24]
pop edi
pop esi
xor ecx, esp
call fcn.05b011bc
mov esp, ebp
pop ebp
ret