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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x308
mov eax, dword [0x783760]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor eax, eax
mov esi, eax
mov byte [ebp - 0x85], al
xorps xmm0, xmm0
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x18], esi
mov edx, dword [edi]
mov ecx, dword [edi + 0x68]
mov ebx, ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x14], edx
mov al, byte [edx + 0x54]
mov byte [ebp - 0x68], al
xor eax, eax
mov dword [ebp - 0x7c], eax
mov eax, dword [edi + 0x58]
mov dword [ebp - 0x28], eax
xor eax, eax
movlpd qword [ebp - 0xd0], xmm0
mov dword [ebp - 0xb8], eax
cmp dword [edi + 0xa0], eax
je 0x604d08
push edi
call fcn.00604c12
mov edx, dword [ebp - 0x14]
xor eax, eax
pop ecx
mov ecx, ebx
or dword [ebp - 0x84], 0xffffffff
cmp dword [edx + 0x174], eax
je 0x604d3b
mov eax, dword [edx + 0x17c]
xor edx, edx
mov dword [ebp - 0x80], eax
mov eax, dword [edi + 0xb4]
div dword [ebp - 0x80]
sub dword [ebp - 0x80], edx
xor eax, eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x90], eax
jmp 0x604d46
or dword [ebp - 0x80], 0xffffffff
or dword [ebp - 0x90], 0xffffffff
cmp dword [edi + 0x24], 7
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x78], 0x14
mov dword [ebp - 0x64], 2
je 0x60a307
mov dword [edi + 0x24], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edx + 0x1c8], eax
cmp dword [edx + 0x128], eax
jne 0x60a2ed
imul ebx, dword [edi + 0x20], 0x14
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], 4
mov dword [ebp - 0xec], 0xf244
mov dword [ebp - 0x10c], 5
add ebx, ecx
mov ecx, dword [ebp - 0xcc]
xor edx, edx
add eax, 1
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x1c], eax
adc ecx, edx
mov dword [ebp - 0xb4], ecx
mov cl, byte [ebx]
movzx edx, cl
mov byte [ebp - 0x3d], cl
mov dword [ebp - 0x34], edx
cmp edx, 0xb5
ja case.0x604dd6.89
jmp dword [edx*4 + 0x60a4a0]
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [ebp - 0x28]
mov word [ecx + 0x10], ax
mov eax, ebx
sub eax, dword [ebp - 0x74]
cdq
idiv dword [ebp - 0x78]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x604dd6.9
imul eax, dword [ebx + 4], 0x28
push 4
pop ecx
add eax, dword [ebp - 0x28]
test byte [eax + 0x10], cl
je 0x604e14
imul ebx, dword [eax], 0x14
add ebx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x1c]
xor edx, edx
add ebx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0xb4]
jmp 0x604db2
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
push 4
add ecx, dword [ebp - 0x28]
dec eax
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor edx, edx
pop eax
mov word [ecx + 0x10], ax
cmp dword [ebx + 8], edx
jne 0x605c80
mov eax, dword [ebp - 0x1c]
jmp 0x604e19
imul ecx, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x74]
add ecx, dword [ebp - 0x28]
lea ebx, [edx - 0x14]
imul eax, dword [ecx], 0x14
imul eax, dword [eax + edx + 8], 0x14
add ebx, eax
xor eax, eax
mov word [ecx + 0x10], ax
jmp 0x604e14
imul esi, dword [ebx + 4], 0x28
sub ebx, dword [ebp - 0x74]
push 4
pop eax
add esi, dword [ebp - 0x28]
mov word [esi + 0x10], ax
mov eax, ebx
cdq
idiv dword [ebp - 0x78]
mov ecx, dword [esi]
imul ebx, ecx, 0x14
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
add ebx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x18]
jmp 0x604e14
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
test byte [eax + ecx + 0x10], dl
je 0x604e14
mov edx, dword [edi + 0xd0]
test edx, edx
je 0x609ec3
xor eax, eax
cmp dword [ebx + 4], eax
jne 0x609ec3
mov eax, dword [edx + 4]
dec dword [edi + 0xd8]
mov ecx, dword [edi + 0x2c]
mov dword [edi + 0xd0], eax
mov eax, dword [edi + 0x28]
mov edi, dword [ebp - 0x14]
push edx
add dword [edi + 0x70], eax
mov dword [edi + 0x68], eax
mov eax, edi
mov dword [edi + 0x6c], ecx
adc dword [eax + 0x74], ecx
call fcn.0060ab9b
mov edi, dword [ebp - 0x48]
pop ecx
push 4
pop ecx
cmp dword [ebx + 8], ecx
jne 0x604f08
imul ecx, eax, 0x14
mov eax, dword [edi + 0x68]
mov eax, dword [ecx + eax + 8]
dec eax
mov edx, dword [edi + 0x68]
mov ecx, dword [edi + 0x58]
imul ebx, eax, 0x14
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x28], ecx
add ebx, edx
jmp 0x604e14
push ebx
push edi
call fcn.005d96f5
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x604e14
push ebx
push edi
call fcn.005d96f5
mov edx, dword [ebx + 0x10]
pop ecx
pop ecx
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
jmp 0x604e14
push ebx
push edi
call fcn.005d96f5
pop ecx
pop ecx
push 8
pop ecx
mov word [eax + 0x10], cx
mov ecx, dword [ebx + 0x10]
movsd xmm0, qword [ecx]
movsd qword [eax], xmm0
jmp 0x604e14
push ebx
push edi
call fcn.005d96f5
push dword [ebx + 0x10]
mov dword [ebp - 0x38], eax
call fcn.006017cf
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov dword [ebx + 4], eax
cmp byte [ebp - 0x68], cl
je 0x60500a
xor eax, eax
push eax
mov eax, dword [ebp - 0x84]
push ecx
push eax
push eax
push dword [ebx + 0x10]
push dword [ebp - 0x38]
call fcn.0060be9f
mov esi, eax
add esp, 0x18
mov dword [ebp - 0x18], esi
test esi, esi
jne 0x6064f7
movzx ecx, byte [ebp - 0x68]
push ecx
push dword [ebp - 0x38]
call fcn.00604663
pop ecx
pop ecx
test eax, eax
jne 0x60a31c
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 0x18], eax
mov eax, 0x2000
or word [ecx + 0x10], ax
cmp byte [ebx + 1], 0xfa
jne 0x604ffa
cmp dword [ebx + 0x10], esi
je 0x604ffa
push dword [ebx + 0x10]
push dword [ebp - 0x14]
call fcn.005eac86
pop ecx
pop ecx
mov ecx, dword [ebp - 0x38]
mov byte [ebx + 1], 0xfa
mov eax, dword [ecx + 8]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 0xc]
mov dword [ebx + 4], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 4]
cmp eax, dword [ecx + 0x78]
jg 0x6064f7
mov byte [ebx], 0x49
push ebx
push edi
call fcn.005d96f5
pop ecx
pop ecx
mov ecx, 0x2202
mov dword [ebp - 0x2c], eax
mov word [eax + 0x10], cx
mov ecx, dword [ebx + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [ebx + 4]
mov dword [eax + 0xc], ecx
mov cl, byte [ebp - 0x68]
mov byte [eax + 0x12], cl
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x6088b0
mov edi, dword [ebp - 0x28]
imul ecx, eax, 0x28
movzx eax, word [ebx + 2]
cdq
cmp dword [ecx + edi], eax
mov edi, dword [ebp - 0x48]
jne 0x609ce6
mov eax, dword [ebp - 0x28]
cmp dword [ecx + eax + 4], edx
jne 0x6088b0
mov eax, dword [ebp - 0x2c]
mov ecx, 0x2210
mov word [eax + 0x10], cx
jmp 0x604e14
push ebx
push edi
call fcn.005d96f5
mov edx, dword [ebx + 0xc]
sub edx, dword [ebx + 8]
cmp dword [ebx + 4], 0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x2c], 0x101
cmovne ecx, dword [ebp - 0x2c]
movzx ecx, cx
mov word [eax + 0x10], cx
add eax, 0xc
mov dword [ebp - 0x54], ecx
xor ecx, ecx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x2c], eax
mov dword [eax], ecx
test edx, edx
jle 0x6088b0
mov ebx, dword [ebp - 0x54]
mov edi, eax
mov esi, edx
lea edi, [edi + 0x28]
lea eax, [edi - 0xc]
push eax
call fcn.0060bdc2
xor edx, edx
mov word [edi + 4], bx
dec esi
mov dword [edi], edx
pop ecx
test esi, esi
jg 0x6050ca
mov ebx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x48]
jmp 0x604e47
imul ecx, dword [ebx + 4], 0x28
mov edx, 0xffc1
add ecx, dword [ebp - 0x28]
mov ax, word [ecx + 0x10]
and ax, dx
or ax, word [ebp - 0x24]
jmp 0x604e65
push ebx
push edi
call fcn.005d96f5
cmp dword [ebx + 0x10], 0
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x20], ecx
jne 0x605140
push dword [ebx + 4]
push ecx
call fcn.0060c080
push dword [ebp - 0x20]
call fcn.0060b890
add esp, 0xc
test eax, eax
jne 0x60a31c
jmp 0x605156
xor eax, eax
push eax
push eax
mov eax, dword [ebx + 4]
cdq
push edx
push eax
push dword [ebx + 0x10]
push ecx
call fcn.0060be9f
add esp, 0x18
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp - 0x68]
mov byte [eax + 0x12], cl
jmp 0x604e14
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [edi + 0x64]
add ecx, 0xffffffd8
add eax, ecx
push eax
mov dword [ebp - 0x2c], eax
call fcn.0060c165
pop ecx
test eax, eax
jne 0x6064f7
imul eax, dword [ebx + 8], 0x28
mov ecx, 0x9000
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
test word [eax + 0x10], cx
je 0x6051a1
push eax
call fcn.0060bdc2
mov eax, dword [ebp - 0x20]
pop ecx
push dword [ebp - 0x78]
push dword [ebp - 0x2c]
push eax
call fcn.00643300
mov ecx, dword [ebp - 0x20]
mov edx, 0xafff
add esp, 0xc
mov ax, word [ecx + 0x10]
and ax, dx
mov edx, 0x2040
or ax, dx
jmp 0x604e65
mov eax, dword [ebx + 0xc]
imul ecx, dword [ebx + 4], 0x28
mov dword [ebp - 0x38], eax
imul eax, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x5c], ecx
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
push ecx
push eax
call fcn.0060bc22
mov eax, dword [ebp - 0x20]
pop ecx
pop ecx
mov ecx, 0x4000
test word [eax + 0x10], cx
je 0x60520f
push eax
call fcn.0060bbd1
pop ecx
test eax, eax
jne 0x60a31c
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x5c]
add eax, 0x28
add ecx, 0x28
mov dword [ebp - 0x20], eax
sub dword [ebp - 0x38], 1
mov dword [ebp - 0x5c], ecx
jne 0x6051e6
jmp 0x604e14
mov eax, dword [ebx + 0xc]
imul esi, dword [ebx + 8], 0x28
mov dword [ebp - 0x20], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x28]
add esi, dword [ebp - 0x28]
mov ecx, 0x4000
mov dword [ebp - 0x5c], eax
push ecx
push eax
push esi
call fcn.0060c0b1
mov eax, 0x4000
add esp, 0xc
test word [esi + 0x10], ax
je 0x60526a
push esi
call fcn.0060bbd1
pop ecx
test eax, eax
jne 0x60a31c
movzx eax, word [esi + 0x10]
test eax, 0x800
je 0x605288
mov ecx, dword [ebp - 0x64]
test byte [ebx + 2], cl
je 0x605288
mov ecx, 0xf7ff
and eax, ecx
mov word [esi + 0x10], ax
mov ecx, dword [ebp - 0x20]
mov eax, ecx
dec ecx
mov dword [ebp - 0x20], ecx
test eax, eax
je 0x6088b0
mov eax, dword [ebp - 0x5c]
add esi, 0x28
add eax, 0x28
jmp 0x60523d
mov eax, 0x4000
push eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x28]
push eax
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0x28]
push eax
call fcn.0060c0b1
add esp, 0xc
jmp 0x604e14
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x28]
push dword [eax + ecx + 4]
push dword [eax + ecx]
imul eax, dword [ebx + 8], 0x28
add eax, ecx
push eax
call fcn.0060bd8c
jmp 0x6052bf
xor eax, eax
push eax
push edi
call fcn.00604760
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
jmp 0x604e90
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
imul edx, dword [ebx + 0xc], 0x28
mov edi, dword [ebp - 0x48]
add eax, dword [ebp - 0x28]
add ecx, dword [ebp - 0x28]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
movzx eax, word [eax + 0x10]
mov dword [ebp - 0x44], eax
mov al, byte [ecx + 0x10]
or al, byte [ebp - 0x44]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x58], edx
test al, 1
je 0x60533e
push edx
call fcn.0060bdc2
pop ecx
jmp 0x604e14
mov edx, dword [ebp - 0x44]
test dl, 0x12
jne 0x605377
mov edx, dword [ebp - 0x34]
xor eax, eax
push eax
push dword [ebp - 0x68]
push edx
call fcn.0060c107
add esp, 0xc
test eax, eax
jne 0x60a31c
mov eax, dword [ebp - 0x34]
mov ecx, 0xfffd
mov ax, word [eax + 0x10]
and ax, cx
movzx edx, ax
mov dword [ebp - 0x44], edx
jmp 0x6053a6
mov eax, 0x400
test eax, edx
je 0x6053a9
push dword [ebp - 0x34]
call fcn.0060b890
pop ecx
test eax, eax
jne 0x60a31c
mov eax, dword [ebp - 0x34]
mov ecx, 0xfffd
mov ax, word [eax + 0x10]
and ax, cx
movzx eax, ax
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x3c]
movzx eax, word [ecx + 0x10]
mov dword [ebp - 0x20], eax
test al, 0x12
jne 0x6053c5
xor eax, eax
push eax
push dword [ebp - 0x68]
push ecx
call fcn.0060c107
add esp, 0xc
jmp 0x6053d5
mov edx, 0x400
test edx, eax
je 0x6053f2
push ecx
call fcn.0060b890
pop ecx
test eax, eax
jne 0x60a31c
mov ecx, dword [ebp - 0x3c]
mov edx, 0xfffd
mov ax, word [ecx + 0x10]
and ax, dx
movzx eax, ax
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x34]
mov eax, dword [ecx + 0xc]
add eax, dword [edx + 0xc]
cdq
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x5c], edx
mov eax, dword [eax + 0x78]
cdq
cmp dword [ebp - 0x5c], edx
jg 0x6064f7
jl 0x60541d
cmp dword [ebp - 0x38], eax
ja 0x6064f7
mov edx, dword [ebp - 0x58]
xor eax, eax
cmp edx, ecx
sete al
push eax
mov eax, dword [ebp - 0x38]
add eax, 2
push eax
push edx
call fcn.0060ba30
add esp, 0xc
test eax, eax
jne 0x60a31c
mov ecx, dword [ebp - 0x58]
mov edx, 0xf242
mov ax, word [ecx + 0x10]
and ax, dx
or ax, word [ebp - 0x64]
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
je 0x60547b
push dword [eax + 0xc]
push dword [eax + 8]
push dword [ecx + 8]
call fcn.00643300
mov ecx, dword [ebp - 0x3c]
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov word [ecx + 0x10], ax
jmp 0x60547e
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x58]
push dword [eax + 0xc]
push dword [eax + 8]
mov eax, dword [edx + 8]
add eax, dword [ecx + 0xc]
push eax
call fcn.00643300
mov eax, dword [ebp - 0x34]
add esp, 0xc
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x38]
mov word [eax + 0x10], cx
mov eax, dword [ebp - 0x24]
cmp byte [ebp - 0x68], al
jbe 0x6054ba
mov eax, dword [ebp - 0x5c]
and edx, 0xfffffffe
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + 8]
mov byte [edx + eax], 0
mov eax, dword [ecx + 8]
mov byte [edx + eax + 1], 0
mov eax, 0x200
or word [ecx + 0x10], ax
mov al, byte [ebp - 0x68]
mov dword [ecx + 0xc], edx
mov byte [ecx + 0x12], al
jmp 0x604e14
imul eax, dword [ebx + 4], 0x28
mov edi, dword [ebp - 0x48]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
movzx edx, word [eax + 0x10]
mov eax, edx
mov dword [ebp - 0x20], eax
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x58], eax
movzx ecx, word [eax + 0x10]
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
mov al, cl
and al, dl
test al, 4
jne 0x60556b
mov eax, dword [ebp - 0x24]
or cl, dl
test al, cl
jne 0x60573d
push 0x2d
pop eax
and edx, eax
je 0x605535
movzx edx, dx
mov dword [ebp - 0x20], edx
jmp 0x605544
push dword [ebp - 0x38]
call fcn.005ca3d0
movzx eax, ax
pop ecx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x58]
push 0x2d
pop edx
mov ax, word [ecx + 0x10]
and ax, dx
jne 0x60555a
push ecx
call fcn.005ca3d0
pop ecx
movzx eax, ax
and al, byte [ebp - 0x20]
push 4
pop ecx
test cl, al
je 0x60565f
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x58]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xc0], eax
movzx eax, byte [ebx]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0xc4], edi
mov edi, dword [ebp - 0x48]
sub eax, 0x6a
je 0x605622
sub eax, 1
je 0x605612
sub eax, 1
je 0x605602
sub eax, 1
mov eax, ecx
je 0x6055d4
or eax, edx
je 0x60573d
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x6055c5
mov ecx, dword [ebp - 0x24]
xor eax, eax
mov edx, eax
push edx
push ecx
push dword [ebp - 0x5c]
push dword [ebp - 0x20]
call fcn.0066a440
jmp 0x605643
or eax, edx
je 0x60573d
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x20]
jne 0x6055f5
test eax, eax
jne 0x6055f5
cmp dword [ebp - 0x5c], 0x80000000
je 0x60565f
push edx
push ecx
push dword [ebp - 0x5c]
push eax
call fcn.0056eec0
jmp 0x605643
push edx
push ecx
lea eax, [ebp - 0xc4]
push eax
call fcn.005f704a
jmp 0x605630
push edx
push ecx
lea eax, [ebp - 0xc4]
push eax
call fcn.006017ec
jmp 0x605630
push edx
push ecx
lea eax, [ebp - 0xc4]
push eax
call fcn.005e2f93
add esp, 0xc
test eax, eax
jne 0x60565f
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x3c]
push 4
mov dword [ecx + 4], edx
mov edx, 0xf244
mov dword [ecx], eax
mov ax, word [ecx + 0x10]
and ax, dx
pop edx
jmp 0x6051c4
push dword [ebp - 0x38]
call fcn.0060c89d
push dword [ebp - 0x58]
fstp qword [ebp - 0x50]
call fcn.0060c89d
movzx eax, byte [ebx]
pop ecx
fstp qword [ebp - 0x30]
pop ecx
sub eax, 0x6a
je 0x60571c
sub eax, 1
je 0x605710
sub eax, 1
je 0x605704
sub eax, 1
je 0x6056e6
push dword [ebp - 0x38]
call fcn.0060b1fd
push dword [ebp - 0x58]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x4c], edx
call fcn.0060b1fd
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
mov ecx, eax
mov dword [ebp - 0x54], edx
mov edx, dword [ebp - 0x4c]
or ecx, edx
je 0x60573d
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
jne 0x6056d0
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov edx, ecx
push edx
push eax
push dword [ebp - 0x54]
push dword [ebp - 0x20]
call fcn.0066a440
mov ecx, eax
call fcn.0056e920
jmp 0x605726
movsd xmm1, qword [ebp - 0x50]
ucomisd xmm1, qword [0x6b2b08]
lahf
test ah, 0x44
jnp 0x60573d
movsd xmm0, qword [ebp - 0x30]
divsd xmm0, xmm1
jmp 0x605726
movsd xmm0, qword [ebp - 0x30]
mulsd xmm0, qword [ebp - 0x50]
jmp 0x605726
movsd xmm0, qword [ebp - 0x30]
subsd xmm0, qword [ebp - 0x50]
jmp 0x605726
movsd xmm0, qword [ebp - 0x30]
addsd xmm0, qword [ebp - 0x50]
push ecx
push ecx
movsd qword [ebp - 0x30], xmm0
movsd qword [esp], xmm0
call fcn.005f5bf8
pop ecx
pop ecx
test eax, eax
je 0x605746
mov ecx, dword [ebp - 0x3c]
push ecx
jmp 0x605333
mov ecx, dword [ebp - 0x3c]
mov edx, 0xf248
movsd xmm0, qword [ebp - 0x30]
push 8
movsd qword [ecx], xmm0
jmp 0x605652
mov eax, dword [ebx + 4]
test eax, eax
je 0x604e14
xor ecx, ecx
imul eax, eax, 0x28
push ecx
push ecx
add eax, dword [ebp - 0x28]
jmp 0x6052db
imul edx, dword [ebx + 8], 0x28
imul ecx, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
mov edi, dword [ebp - 0x48]
add edx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
mov al, byte [edx + 0x10]
or al, byte [ecx + 0x10]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x24]
test cl, al
je 0x6057a8
mov ecx, dword [ebp - 0x20]
jmp 0x605740
push edx
call fcn.0060b1fd
push dword [ebp - 0x2c]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
call fcn.0060b1fd
pop ecx
pop ecx
mov ecx, eax
mov al, byte [ebx]
mov dword [ebp - 0x3c], ecx
mov byte [ebp - 0x3d], al
cmp al, 0x66
jne 0x6057e3
and dword [ebp - 0xa0], ecx
and dword [ebp - 0x9c], edx
jmp 0x605930
cmp al, 0x67
jne 0x6057f8
or dword [ebp - 0xa0], ecx
or dword [ebp - 0x9c], edx
jmp 0x605930
mov eax, ecx
or eax, edx
je 0x605930
xor eax, eax
cmp edx, eax
jg 0x605838
jl 0x60580e
cmp ecx, eax
jae 0x605838
mov al, 0xd1
sub al, byte [ebp - 0x3d]
mov byte [ebp - 0x3d], al
cmp edx, 0xffffffff
jl 0x60582e
jg 0x605822
cmp ecx, 0xffffffc0
jbe 0x60582e
neg ecx
mov dword [ebp - 0x3c], ecx
adc edx, 0
neg edx
jmp 0x60583b
push 0x40
pop ecx
mov dword [ebp - 0x3c], ecx
xor edx, edx
jmp 0x60583b
mov al, byte [ebp - 0x3d]
test edx, edx
jl 0x605890
jg 0x605846
cmp ecx, 0x40
jb 0x605890
xor edx, edx
cmp dword [ebp - 0x9c], edx
jg 0x605868
jl 0x60585a
cmp dword [ebp - 0xa0], edx
jae 0x605868
cmp al, 0x68
je 0x605868
mov ecx, dword [ebp - 0x84]
mov eax, ecx
jmp 0x60587f
xorps xmm0, xmm0
movlpd qword [ebp - 0xa8], xmm0
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], ecx
jmp 0x605932
push 8
pop eax
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00643300
mov eax, dword [ebp - 0xb0]
add esp, 0xc
cmp byte [ebp - 0x3d], 0x68
mov edx, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x3c]
jne 0x6058d2
call fcn.0056eae0
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
jmp 0x605916
call fcn.0066a500
mov dword [ebp - 0xb0], eax
xor eax, eax
mov dword [ebp - 0xac], edx
cmp dword [ebp - 0x9c], eax
jg 0x605916
jl 0x6058f7
cmp dword [ebp - 0xa0], eax
jae 0x605916
mov edx, dword [ebp - 0x84]
mov eax, edx
push 0x40
pop ecx
sub ecx, dword [ebp - 0x3c]
call fcn.0056eae0
or dword [ebp - 0xb0], eax
or dword [ebp - 0xac], edx
push 8
pop eax
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.00643300
add esp, 0xc
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xa0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x9c]
mov dword [ecx + 4], eax
mov ax, word [ecx + 0x10]
and ax, word [ebp - 0xec]
or ax, word [ebp - 0xd4]
mov word [ecx + 0x10], ax
jmp 0x604e47
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0x28]
push esi
call fcn.0060bba5
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
pop ecx
adc dword [esi + 4], edx
jmp 0x604e90
imul ecx, dword [ebx + 4], 0x28
push 4
pop edx
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
movzx eax, word [ecx + 0x10]
test dl, al
jne 0x6059c4
push dword [ebp - 0x68]
push 0x43
push ecx
call fcn.005c3e79
mov ecx, dword [ebp - 0x2c]
add esp, 0xc
movzx eax, word [ecx + 0x10]
push 4
pop edx
test dl, al
jne 0x6059c4
xor edx, edx
cmp dword [ebx + 8], edx
jne 0x605c80
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x18], ecx
jmp 0x60a33e
and eax, 0xf244
or eax, edx
jmp 0x604e65
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x28]
test byte [eax + 0x10], 0x24
je 0x604e14
push eax
call fcn.0060bd0d
jmp 0x605338
imul esi, dword [ebx + 4], 0x28
mov eax, 0x400
add esi, dword [ebp - 0x28]
test word [esi + 0x10], ax
je 0x605a07
push esi
call fcn.0060b890
pop ecx
jmp 0x605a09
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
push dword [ebp - 0x68]
movzx eax, byte [ebx + 8]
push eax
push esi
call fcn.0060b733
add esp, 0xc
jmp 0x6052ee
imul ecx, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x44], eax
movzx ecx, word [ecx + 0x10]
mov dword [ebp - 0x34], ecx
movzx ecx, word [eax + 0x10]
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x38], ecx
and dword [ebp - 0x38], edi
test byte [ebp - 0x38], 4
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x3c], ecx
je 0x605adf
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x6c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x5c], edi
mov edi, dword [ebp - 0x48]
cmp ecx, eax
jl 0x605aaf
jg 0x605a87
mov edi, dword [ebp - 0x20]
cmp edi, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x48]
jbe 0x605aa1
mov eax, dword [0x785a48]
cmp byte [edx + eax], 0
jne 0x605c7e
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x7c], eax
jmp 0x604e14
cmp ecx, eax
jg 0x605ac6
jl 0x605aaf
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x5c]
jae 0x605ac6
mov eax, dword [0x785a40]
cmp byte [edx + eax], 0
jne 0x605c7e
mov eax, dword [ebp - 0x84]
jmp 0x605a99
mov eax, dword [0x785a44]
cmp byte [edx + eax], 0
jne 0x605c7e
xor edx, edx
mov dword [ebp - 0x7c], edx
jmp 0x604e47
mov edx, ecx
or edx, dword [ebp - 0x34]
test dl, 1
je 0x605b2e
movzx eax, word [ebx + 2]
test al, al
jns 0x605b16
mov eax, dword [ebp - 0x24]
test byte [ebp - 0x38], al
je 0x605b0b
test ecx, 0x100
jne 0x605b0b
xor eax, eax
mov dword [ebp - 0x7c], eax
jmp 0x605c50
test al, cl
cmovne eax, dword [ebp - 0x84]
jmp 0x605b92
push 0x10
pop ecx
xor edx, edx
test cl, al
jne 0x605c80
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x7c], eax
jmp 0x604e47
mov cl, byte [ebx + 2]
and cl, 0x47
mov byte [ebp - 0x3d], cl
cmp cl, 0x43
mov ecx, dword [ebp - 0x3c]
jb 0x605ba7
mov eax, dword [ebp - 0x64]
test al, dl
je 0x605b80
mov al, byte [ebp - 0x34]
and al, 0x2e
cmp al, byte [ebp - 0x64]
jne 0x605b69
xor eax, eax
push eax
push dword [ebp - 0x6c]
call fcn.005c3edf
mov edx, dword [ebp - 0x44]
pop ecx
pop ecx
movzx ecx, word [edx + 0x10]
mov dword [ebp - 0x3c], ecx
jmp 0x605b6c
mov edx, dword [ebp - 0x44]
mov al, cl
and al, 0x2e
cmp al, byte [ebp - 0x64]
jne 0x605b80
xor eax, eax
push eax
push edx
call fcn.005c3edf
pop ecx
pop ecx
mov edx, dword [ebp - 0x44]
push dword [ebx + 0x10]
push dword [ebp - 0x6c]
push edx
call fcn.005f6f15
add esp, 0xc
mov dword [ebp - 0x7c], eax
test eax, eax
jns 0x605c4e
mov eax, dword [0x785a40]
jmp 0x605c5c
cmp byte [ebp - 0x3d], 0x42
jne 0x605b80
test dl, 2
je 0x605b80
mov edx, dword [ebp - 0x34]
test dl, 2
jne 0x605c07
test dl, 0x2c
je 0x605c07
push dword [ebp - 0x24]
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0060c107
mov ecx, dword [ebp - 0x6c]
mov edx, 0xdbf
add esp, 0xc
mov ax, word [ecx + 0x10]
xor ax, word [ebp - 0x34]
and ax, dx
xor ax, word [ecx + 0x10]
movzx edx, ax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], edx
cmp ecx, eax
jne 0x605c04
mov eax, edx
or eax, dword [ebp - 0x64]
movzx ecx, ax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x3c], ecx
jmp 0x605c07
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x64]
test dl, cl
jne 0x605b80
test cl, 0x2c
je 0x605b80
push dword [ebp - 0x24]
push dword [ebp - 0x68]
push eax
call fcn.0060c107
mov edx, dword [ebp - 0x44]
add esp, 0xc
mov ecx, dword [ebp - 0x3c]
mov ax, word [edx + 0x10]
xor ax, cx
mov ecx, 0xdbf
and ax, cx
xor ax, word [edx + 0x10]
movzx eax, ax
mov dword [ebp - 0x3c], eax
jmp 0x605b83
jne 0x605c57
mov eax, dword [0x785a44]
jmp 0x605c5c
mov eax, dword [0x785a48]
movzx ecx, byte [ebx]
mov dl, byte [ecx + eax]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
mov word [eax + 0x10], cx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x34]
mov word [eax + 0x10], cx
test dl, dl
je 0x604e14
xor edx, edx
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x74]
add ebx, 0xffffffec
add ebx, eax
jmp 0x6050ea
xor edx, edx
cmp dword [ebp - 0x7c], edx
je 0x605c80
jmp 0x604e19
mov eax, dword [ebp - 0x24]
test byte [ebx + 2], al
jne 0x605ca9
xor eax, eax
jmp 0x605cb1
mov eax, dword [ebx - 4]
push 4
pop ecx
add eax, ecx
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x6c], ecx
xor ecx, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x5c], ecx
cmp dword [ebp - 0x38], ecx
jle 0x604e14
add edx, 0x14
mov dword [ebp - 0x20], edx
test eax, eax
je 0x605cec
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x34], edx
jmp 0x605cf1
mov edx, ecx
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x10]
movzx eax, byte [ecx + eax]
and eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
push dword [eax]
mov eax, dword [ebp - 0x6c]
add eax, edx
imul eax, eax, 0x28
add eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x44]
add eax, edx
imul eax, eax, 0x28
add eax, dword [ebp - 0x28]
push eax
call fcn.005f6f15
mov ecx, dword [ebp - 0x5c]
mov edx, eax
add esp, 0xc
mov dword [ebp - 0x7c], edx
test edx, edx
jne 0x605d49
push 4
pop eax
add dword [ebp - 0x20], eax
inc ecx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x5c], ecx
cmp ecx, dword [ebp - 0x38]
jl 0x605ce0
jmp 0x604e14
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x10]
test byte [ecx + eax], 2
je 0x605d88
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x34]
add eax, ecx
mov edx, dword [ebp - 0x28]
imul eax, eax, 0x28
test byte [eax + edx + 0x10], 1
jne 0x605d7b
mov eax, dword [ebp - 0x6c]
add eax, ecx
mov ecx, dword [ebp - 0x24]
imul eax, eax, 0x28
test byte [eax + edx + 0x10], cl
je 0x605d85
mov edx, dword [ebp - 0x7c]
neg edx
mov dword [ebp - 0x7c], edx
jmp 0x605d88
mov edx, dword [ebp - 0x7c]
cmp dword [ebp - 0x2c], 0
je 0x6088b0
neg edx
mov dword [ebp - 0x7c], edx
jmp 0x604e14
mov edx, dword [ebp - 0x7c]
test edx, edx
jns 0x605db4
imul eax, dword [ebx + 4], 0x14
mov ebx, dword [ebp - 0x74]
add ebx, 0xffffffec
add ebx, eax
jmp 0x604e14
jne 0x605dbc
imul eax, dword [ebx + 8], 0x14
jmp 0x605da7
imul eax, dword [ebx + 0xc], 0x14
jmp 0x605da7
imul eax, dword [ebx + 4], 0x28
push dword [ebp - 0x64]
add eax, dword [ebp - 0x28]
push eax
call fcn.0060461b
imul ecx, dword [ebx + 8], 0x28
push dword [ebp - 0x64]
mov dword [ebp - 0x20], eax
add ecx, dword [ebp - 0x28]
push ecx
call fcn.0060461b
add esp, 0x10
mov edx, eax
cmp byte [ebx], 0x2c
jne 0x605dfe
mov eax, dword [ebp - 0x20]
imul ecx, eax, 3
mov al, byte [ecx + edx + 0x719944]
jmp 0x605e09
imul eax, dword [ebp - 0x20], 3
mov al, byte [eax + edx + 0x719950]
imul ecx, dword [ebx + 0xc], 0x28
movzx eax, al
add ecx, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x64]
jne 0x605e22
mov edx, 0xf241
jmp 0x6050fe
xor edx, edx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x605946
imul eax, dword [ebx + 4], 0x28
push dword [ebx + 0xc]
add eax, dword [ebp - 0x28]
push eax
call fcn.0060461b
xor eax, dword [ebx + 0x10]
cdq
push edx
push eax
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0x28]
push eax
call fcn.0060bd8c
add esp, 0x14
jmp 0x604e14
imul ecx, dword [ebx + 4], 0x28
imul eax, dword [ebx + 8], 0x28
mov edx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
test byte [ecx + 0x10], dl
jne 0x606023
xor eax, eax
push eax
push ecx
call fcn.0060461b
neg eax
sbb eax, eax
inc eax
xor ecx, ecx
push ecx
push eax
push dword [ebp - 0x2c]
jmp 0x605e4c
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0x28]
push eax
mov dword [ebp - 0x20], eax
call fcn.0060bdc2
mov eax, dword [ebp - 0x24]
pop ecx
mov ecx, dword [ebp - 0x2c]
test byte [ecx + 0x10], al
jne 0x6088b0
mov eax, dword [ebp - 0x20]
push 4
pop edx
push ecx
mov word [eax + 0x10], dx
call fcn.0060b1fd
pop ecx
mov ecx, dword [ebp - 0x20]
not eax
not edx
jmp 0x604f2d
mov eax, dword [edi + 0xd0]
test eax, eax
je 0x605f1d
mov eax, ebx
sub eax, dword [edi + 0x68]
cdq
idiv dword [ebp - 0x78]
mov edx, dword [edi + 0xd0]
mov ecx, eax
shr eax, 3
mov dword [ebp - 0x2c], eax
and ecx, 7
mov edx, dword [edx + 0x14]
mov dword [ebp - 0x4c], edx
movzx eax, byte [eax + edx]
mov edx, dword [ebp - 0x24]
shl edx, cl
test eax, edx
jne 0x605c7e
mov edx, dword [ebp - 0x4c]
bts eax, ecx
mov ecx, dword [ebp - 0x2c]
mov byte [ecx + edx], al
jmp 0x605f2c
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 4]
cmp eax, dword [ebx + 4]
je 0x605c7e
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 4]
mov dword [ebx + 4], eax
jmp 0x604e14
imul eax, dword [ebx + 4], 0x28
push dword [ebx + 0xc]
add eax, dword [ebp - 0x28]
push eax
call fcn.0060461b
pop ecx
pop ecx
test eax, eax
jne 0x605c7e
jmp 0x604e14
xor eax, eax
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
sete al
push eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x28]
push eax
call fcn.0060461b
pop ecx
pop ecx
test eax, eax
jne 0x604e14
jmp 0x605c7e
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
test byte [eax + ecx + 0x10], dl
jmp 0x605f4e
mov ecx, dword [ebx + 4]
test ecx, ecx
js 0x605fcf
mov eax, dword [edi + 0x60]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax + ecx*4]
movzx eax, word [ecx + 0x3e]
cmp edx, eax
jge 0x605fca
mov eax, dword [ecx + edx*4 + 0x5c]
cmp eax, 0xc
jb 0x605fc1
mov ecx, dword [ebp - 0x24]
test cl, al
push 4
pop eax
push 8
pop ecx
cmove eax, ecx
jmp 0x605fec
movzx eax, byte [eax + 0x71995c]
jmp 0x605fef
mov ecx, dword [ebx + 0x10]
jmp 0x605fe5
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x28]
movzx eax, word [eax + ecx + 0x10]
and eax, 0x3f
movzx ecx, byte [eax + 0x7198b8]
mov eax, dword [ebp - 0x24]
dec ecx
shl ax, cl
movzx eax, ax
xor edx, edx
test word [ebx + 2], ax
jmp 0x604e41
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
test byte [eax + ecx + 0x10], dl
jne 0x60601d
imul eax, dword [ebx + 0xc], 0x28
test byte [eax + ecx + 0x10], dl
jne 0x60601d
xor eax, eax
push eax
push eax
jmp 0x6052d5
imul eax, dword [ebx + 8], 0x28
add eax, ecx
push eax
jmp 0x605333
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
test byte [eax + ecx + 0x10], dl
je 0x605c7e
jmp 0x604e14
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x604e14
cmp byte [eax + 2], 0
je 0x604e14
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x28]
push eax
call fcn.0060bdc2
pop ecx
jmp 0x605c7e
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x2c], esi
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x48]
mov dword [ebp - 0x34], edx
cmp eax, dword [edi + 0x1c]
je 0x6060c4
cmp byte [esi + 2], 0
jne 0x60611d
cmp byte [esi + 3], 0
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x20], eax
je 0x6060bd
mov eax, dword [esi + 0x10]
test eax, eax
je 0x6060e9
mov eax, dword [eax + ecx*4 + 4]
test eax, eax
je 0x6060e9
mov esi, dword [esi + 0x28]
lea ecx, [eax - 1]
jmp 0x60607c
cmp byte [eax], 0
je 0x606100
jmp 0x6060d0
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
je 0x6061a6
push esi
call fcn.0060b036
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
mov ecx, dword [ebp - 0x44]
jmp 0x606082
push esi
call fcn.0060ab3e
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
mov eax, dword [ebp - 0x20]
push eax
call fcn.005e7763
mov dword [esi + 0x50], eax
lea eax, [esi + 0x54]
push eax
push dword [ebp - 0x20]
call fcn.005e7737
mov edx, dword [ebp - 0x34]
add esp, 0xc
jmp 0x606143
cmp byte [esi], 3
jne 0x606261
mov eax, dword [esi + 0x24]
test eax, eax
jle 0x606261
imul ecx, eax, 0x28
add ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0xc]
mov dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0x4c], eax
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x4c]
movzx eax, byte [eax]
mov dword [edx], eax
cmp eax, 0x80
jae 0x606160
mov eax, dword [ebp - 0x24]
jmp 0x606171
push edx
push dword [esi + 0x4c]
call fcn.005f405a
mov edx, dword [ebp - 0x34]
pop ecx
pop ecx
movzx eax, al
mov dword [esi + 0x34], eax
xor eax, eax
mov word [esi + 0x3e], ax
mov eax, dword [esi + 0x54]
cmp eax, dword [edx]
jae 0x60625c
xor eax, eax
mov dword [esi + 0x4c], eax
mov dword [esi + 0x54], eax
mov eax, dword [edx]
cmp eax, 0x18003
ja 0x606323
cmp eax, dword [esi + 0x50]
ja 0x606323
mov ecx, dword [ebp - 0x44]
movzx eax, word [esi + 0x3e]
cmp eax, ecx
ja 0x60639e
mov eax, dword [esi + 0x34]
cmp eax, dword [edx]
jae 0x606395
mov edx, dword [esi + 0x4c]
mov dword [ebp - 0x5c], edx
test edx, edx
jne 0x606205
xor eax, eax
push 0x28
push eax
lea eax, [ebp - 0x2b8]
push eax
call fcn.00644240
lea eax, [ebp - 0x2b8]
push eax
mov eax, dword [ebp - 0x34]
push dword [eax]
push dword [esi + 0x2c]
call fcn.0060b9e5
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
mov edx, dword [ebp - 0x2b0]
mov dword [ebp - 0x5c], edx
movzx ebx, word [esi + 0x3e]
lea ecx, [esi + 0x5c]
mov eax, dword [ebp - 0x34]
mov edi, dword [esi + 0x34]
add edi, edx
lea ecx, [ecx + ebx*4]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x58], eax
xor eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x4c], ecx
mov eax, dword [eax]
add eax, edx
mov dword [ebp - 0x20], eax
movzx eax, byte [edi]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x54], eax
mov dword [ecx], eax
cmp eax, 0x80
jae 0x606274
movzx eax, al
movzx eax, byte [eax + 0x719838]
cdq
add dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x24]
adc esi, edx
mov edx, dword [ebp - 0x58]
jmp 0x6062a8
mov edx, dword [esi + 0x4c]
jmp 0x606202
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x28]
push eax
call fcn.0060bdc2
pop ecx
jmp 0x604e90
lea eax, [ebp - 0x54]
push eax
push edi
call fcn.005f405a
mov ecx, dword [ebp - 0x4c]
movzx eax, al
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x54]
push eax
mov dword [ebp - 0x6c], eax
mov dword [ecx], eax
call fcn.0060d0af
mov edx, dword [ebp - 0x58]
add esp, 0xc
add edx, eax
mov dword [ebp - 0x58], edx
push 0
pop eax
adc esi, eax
mov eax, dword [ebp - 0x38]
add edi, eax
inc ebx
push 4
pop eax
add ecx, eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x4c], ecx
mov dword [eax + ebx*4], edx
cmp ebx, dword [ebp - 0x44]
ja 0x6062c7
cmp edi, dword [ebp - 0x20]
jb 0x606232
mov ecx, dword [ebp - 0x20]
cmp edi, ecx
mov dword [ebp - 0x4c], edi
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebp - 0x38], esi
mov esi, dword [ebp - 0x2c]
jb 0x6062f5
cmp eax, ecx
ja 0x606303
cmp edx, dword [esi + 0x50]
jne 0x606303
mov ecx, dword [ebp - 0x38]
test ecx, ecx
jne 0x606303
jmp 0x6062f8
mov ecx, dword [ebp - 0x38]
test ecx, ecx
jb 0x60633e
ja 0x606303
cmp edx, dword [esi + 0x50]
jbe 0x60633e
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp dword [eax], ecx
jne 0x606311
mov eax, dword [ebp - 0x20]
jmp 0x606341
cmp dword [esi + 0x4c], ecx
jne 0x606323
lea eax, [ebp - 0x2b8]
push eax
call fcn.0060bd36
pop ecx
mov edx, dword [ebp - 0x74]
mov eax, dword [edx + 0xc]
test eax, eax
jle 0x609f7a
imul eax, eax, 0x14
lea ebx, [edx - 0x14]
add ebx, eax
jmp 0x604e90
mov ecx, dword [ebp - 0x54]
sub eax, dword [ebp - 0x5c]
mov dword [esi + 0x34], eax
xor eax, eax
mov word [esi + 0x3e], cx
cmp dword [esi + 0x4c], eax
jne 0x60635f
lea eax, [ebp - 0x2b8]
push eax
call fcn.0060bd36
pop ecx
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x6c]
movzx eax, word [esi + 0x3e]
cmp eax, ecx
ja 0x6063a5
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x28]
cmp byte [ebx + 1], 0xf6
jne 0x606268
mov ecx, 0x2000
push ecx
push dword [ebx + 0x10]
push eax
call fcn.0060c0b1
add esp, 0xc
jmp 0x604e90
xor eax, eax
mov edx, eax
mov dword [ebp - 0x6c], edx
jmp 0x606365
mov edx, dword [esi + ecx*4 + 0x5c]
mov dword [ebp - 0x6c], edx
imul ecx, dword [ebx + 0xc], 0x28
mov eax, 0x9000
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
test word [ecx + 0x10], ax
je 0x6063c4
push ecx
call fcn.0060bdc2
mov edx, dword [ebp - 0x6c]
pop ecx
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x44]
mov eax, dword [esi + 0x54]
cmp eax, dword [edi + ecx*4 + 4]
mov edi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x20]
jb 0x60647f
mov eax, dword [esi + 0x4c]
mov edi, dword [ebp - 0x44]
mov esi, dword [ebp - 0x34]
add eax, dword [esi + edi*4]
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x2c], eax
cmp edx, 0xc
jae 0x6063fe
push ecx
push edx
push eax
call fcn.0060cf3f
jmp 0x60638d
mov al, byte [ebp - 0x68]
lea esi, [edx - 0xc]
shr esi, 1
mov byte [ecx + 0x12], al
mov dword [ecx + 0xc], esi
lea eax, [esi + 2]
cmp dword [ecx + 0x18], eax
jge 0x606441
mov edx, dword [ebp - 0x14]
cmp esi, dword [edx + 0x78]
jg 0x6064f7
mov edx, dword [ebp - 0x24]
mov word [ecx + 0x10], dx
xor edx, edx
push edx
push eax
push ecx
call fcn.0060ba30
add esp, 0xc
test eax, eax
jne 0x60a31c
mov ecx, dword [ebp - 0x20]
jmp 0x606447
mov eax, dword [ecx + 0x20]
mov dword [ecx + 8], eax
push esi
push dword [ebp - 0x2c]
push dword [ecx + 8]
call fcn.00643300
mov ecx, dword [ebp - 0x20]
xor edx, edx
add esp, 0xc
mov eax, dword [ecx + 8]
mov byte [esi + eax], dl
mov eax, dword [ecx + 8]
mov byte [esi + eax + 1], dl
mov eax, dword [ebp - 0x6c]
and eax, 1
mov ax, word [eax*2 + 0x719968]
mov word [ecx + 0x10], ax
jmp 0x60711b
mov al, byte [ebp - 0x68]
mov byte [ecx + 0x12], al
mov al, byte [ebx + 2]
and al, 0xc0
je 0x60649e
cmp al, 0x80
je 0x6064ab
cmp edx, 0xc
jb 0x60649e
test dl, 1
je 0x6064ab
cmp al, 0xc0
je 0x6064ab
push edx
call fcn.0060d0af
add esp, 4
test eax, eax
jne 0x6064b7
push ecx
push edx
push 0x718660
jmp 0x6063f7
push ecx
push dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x44]
xor eax, eax
push dword [edi + 0x1c]
push eax
mov eax, dword [ebp - 0x34]
push dword [eax + ecx*4]
push edx
push ecx
push esi
call fcn.00615e7d
mov ecx, eax
add esp, 0x20
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x604e90
cmp ecx, 7
je 0x60a31c
cmp ecx, 0x12
jne 0x60a33e
push str.string_or_blob_too_big
push edi
call fcn.00604c68
pop ecx
pop ecx
push 0x12
jmp 0x607dbe
imul edx, dword [ebx + 4], 0x28
xor ecx, ecx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x5c], eax
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x20], ecx
add edx, dword [ebp - 0x28]
mov eax, dword [eax + 4]
mov dword [ebp - 0x38], edx
xor edx, edx
cmp dx, word [edi + 0x22]
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x54], eax
jge 0x604e14
add eax, 0xe
mov dword [ebp - 0x58], eax
movzx eax, word [eax]
test al, 0x60
je 0x60655b
test al, 0x20
jne 0x60661e
xor eax, eax
cmp dword [ebx + 0xc], eax
jne 0x606618
mov eax, dword [ebp - 0x58]
push dword [ebp - 0x68]
movzx eax, byte [eax - 6]
push eax
push edx
call fcn.005c3e79
mov edx, dword [ebp - 0x38]
add esp, 0xc
mov ecx, dword [ebp - 0x24]
movzx eax, word [edx + 0x10]
mov dword [ebp - 0x4c], eax
test cl, al
jne 0x606615
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx - 0xa]
shr ecx, 4
and ecx, 0xf
cmp ecx, 2
je 0x60660a
jbe 0x606615
cmp ecx, 4
jbe 0x606606
cmp ecx, 5
je 0x6065ab
cmp ecx, 6
jne 0x606615
mov ecx, dword [ebp - 0x64]
jmp 0x60660d
push 4
pop ecx
test cl, al
je 0x606602
cmp dword [edx + 4], 0x7fff
mov ecx, dword [edx]
mov edi, dword [ebp - 0x48]
jg 0x6065e0
jl 0x6065c7
cmp ecx, 0xffffffff
ja 0x6065e0
cmp dword [edx + 4], 0xffff8000
jl 0x6065e0
jg 0x6065d6
test ecx, ecx
jb 0x6065e0
and eax, 0xfffb
or eax, 0x20
jmp 0x6065fc
mov edx, dword [edx + 4]
call fcn.0056e920
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x4c]
push 8
and eax, 0xfffb
pop ecx
movsd qword [edx], xmm0
or eax, ecx
mov word [edx + 0x10], ax
jmp 0x606615
test al, 0x28
jmp 0x60660f
push 4
jmp 0x60660c
push 0x10
pop ecx
test cl, al
je 0x609f8c
mov ecx, dword [ebp - 0x20]
add edx, 0x28
mov dword [ebp - 0x38], edx
push 0x10
pop eax
add dword [ebp - 0x58], eax
inc ecx
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x20], ecx
movsx eax, word [eax + 0x22]
cmp ecx, eax
mov eax, dword [ebp - 0x58]
jl 0x606541
jmp 0x604e14
imul esi, dword [ebx + 4], 0x28
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x20], ecx
add esi, dword [ebp - 0x28]
push dword [ebp - 0x68]
movzx eax, byte [ecx]
push eax
push esi
call fcn.005c3e79
mov ecx, dword [ebp - 0x20]
add esp, 0xc
cmp byte [ecx], 0x45
jne 0x6066bc
movzx eax, word [esi + 0x10]
push 4
pop edx
mov dword [ebp - 0x2c], eax
test dl, al
je 0x6066bc
mov edx, dword [esi + 4]
cmp edx, 0x7fff
jg 0x60669d
jl 0x606684
cmp dword [esi], 0xffffffff
ja 0x60669d
cmp edx, 0xffff8000
jl 0x60669d
jg 0x606693
cmp dword [esi], 0
jb 0x60669d
and eax, 0xfffb
or eax, 0x20
jmp 0x6066b8
mov ecx, dword [esi]
call fcn.0056e920
mov eax, dword [ebp - 0x2c]
push 8
pop ecx
and eax, 0xfff9
movsd qword [esi], xmm0
or eax, ecx
mov ecx, dword [ebp - 0x20]
mov word [esi + 0x10], ax
inc ecx
mov dword [ebp - 0x20], ecx
cmp byte [ecx], 0
je 0x6088b0
add esi, 0x28
jmp 0x60664c
imul edx, dword [ebx + 4], 0x28
xor eax, eax
mov ecx, dword [ebx + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0x6c], eax
imul eax, dword [ebx + 8], 0x28
movlpd qword [ebp - 0xa8], xmm0
add edx, dword [ebp - 0x28]
movlpd qword [ebp - 0x60], xmm0
mov dword [ebp - 0x2c], ecx
add eax, 0xffffffd8
mov dword [ebp - 0x4c], edx
add eax, edx
mov dword [ebp - 0x54], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x58], eax
test ecx, ecx
je 0x606751
push 4
lea esi, [edx + 0x10]
mov edi, ecx
pop ebx
push dword [ebp - 0x68]
movzx eax, byte [edi]
push eax
lea eax, [esi - 0x10]
push eax
call fcn.005c3e79
add esp, 0xc
cmp byte [edi], 0x45
jne 0x606742
movzx eax, word [esi]
test bl, al
je 0x606742
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
inc edi
add esi, 0x28
cmp byte [edi], 0
jne 0x606718
mov ebx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0xa4]
add esi, 0x1c
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x5c], edx
movzx edx, word [esi - 0xc]
mov dword [ebp - 0x2c], edx
test dl, 1
je 0x60679c
mov eax, 0x400
and ax, dx
mov edx, dword [ebp - 0x6c]
movzx eax, ax
neg eax
sbb eax, eax
and eax, 0xa
inc edx
jmp 0x606954
test dl, 0x24
je 0x6068be
cmp dword [esi - 0x18], 0
mov eax, dword [esi - 0x1c]
jg 0x6067c0
jl 0x6067b4
test eax, eax
jae 0x6067c0
not eax
mov dword [ebp - 0x3c], eax
mov eax, dword [esi - 0x18]
not eax
jmp 0x6067c6
mov dword [ebp - 0x3c], eax
mov eax, dword [esi - 0x18]
inc dword [ebp - 0x6c]
test eax, eax
ja 0x60684c
jb 0x6067d5
cmp dword [ebp - 0x3c], 0x7f
ja 0x606804
mov eax, dword [esi - 0x1c]
mov edx, dword [ebp - 0x24]
and eax, edx
cmp eax, dword [esi - 0x1c]
jne 0x606800
xor eax, eax
cmp eax, dword [esi - 0x18]
jne 0x606840
cmp byte [edi + 0x95], 4
jb 0x606840
mov eax, dword [ebp - 0x3c]
add eax, 8
mov edx, dword [ebp - 0x6c]
jmp 0x606957
xor eax, eax
jmp 0x606840
test eax, eax
ja 0x60684c
jb 0x606813
cmp dword [ebp - 0x3c], 0x7fff
ja 0x606818
mov edx, dword [ebp - 0x64]
jmp 0x60683d
test eax, eax
ja 0x60684c
jb 0x606827
cmp dword [ebp - 0x3c], 0x7fffff
ja 0x60682b
push 3
jmp 0x60683c
test eax, eax
ja 0x60684c
jb 0x60683a
cmp dword [ebp - 0x3c], 0x7fffffff
ja 0x60684c
push 4
pop edx
push 0
pop eax
add dword [ebp - 0x44], edx
mov dword [esi], edx
adc ecx, eax
mov dword [ebp - 0x34], ecx
jmp 0x6068b6
cmp eax, 0x7fff
ja 0x606871
jb 0x606860
mov eax, dword [ebp - 0x84]
cmp dword [ebp - 0x3c], eax
ja 0x606871
add dword [ebp - 0x44], 6
push 0
pop eax
adc ecx, eax
push 5
mov dword [ebp - 0x34], ecx
pop eax
jmp 0x6067f8
push 8
pop eax
add dword [ebp - 0x44], eax
push 0
pop eax
adc ecx, eax
mov dword [ebp - 0x34], ecx
test dl, 0x20
je 0x6068b0
mov edx, dword [esi - 0x18]
mov ecx, dword [esi - 0x1c]
call fcn.0056e920
mov eax, dword [ebp - 0x2c]
push 8
pop ecx
and eax, 0xffdf
movsd qword [esi - 0x1c], xmm0
or eax, ecx
mov dword [esi], 7
mov ecx, dword [ebp - 0x34]
mov word [esi - 0xc], ax
jmp 0x6068b6
mov dword [esi], 6
mov edx, dword [ebp - 0x6c]
jmp 0x606959
test dl, 8
je 0x6068e0
mov edx, dword [ebp - 0x6c]
inc edx
mov dword [esi], 7
add eax, 8
mov dword [ebp - 0x6c], edx
push 0
mov dword [ebp - 0x44], eax
pop eax
adc ecx, eax
mov dword [ebp - 0x34], ecx
jmp 0x606959
mov ecx, dword [esi - 0x10]
mov eax, edx
shr eax, 1
and eax, 1
mov dword [ebp - 0x2c], ecx
lea eax, [eax + ecx*2]
add eax, 0xc
mov dword [ebp - 0x38], eax
test edx, 0x400
je 0x606937
lea ecx, [esi - 0x1c]
mov edx, dword [ecx]
lea eax, [eax + edx*2]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 0x34]
je 0x606928
push ecx
call fcn.0060b890
pop ecx
test eax, eax
jne 0x60a31c
mov ecx, dword [ebp - 0x2c]
add ecx, dword [esi - 0x1c]
jmp 0x606934
mov ecx, dword [ebp - 0x2c]
mov eax, edx
cdq
add dword [ebp - 0x5c], eax
adc dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x38]
add dword [ebp - 0x44], ecx
push 0
pop ecx
adc dword [ebp - 0x34], ecx
push ecx
push eax
call fcn.00604264
mov edx, dword [ebp - 0x6c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x34]
add edx, eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x6c], edx
mov dword [esi], eax
lea eax, [esi - 0x1c]
cmp eax, dword [ebp - 0x4c]
je 0x60696c
mov eax, dword [ebp - 0x44]
sub esi, 0x28
jmp 0x606775
cmp edx, 0x7e
jle 0x606997
mov eax, edx
cdq
push edx
push eax
call fcn.00604264
mov esi, eax
mov eax, dword [ebp - 0x6c]
add eax, esi
mov dword [ebp - 0x6c], eax
cdq
push edx
push eax
call fcn.00604264
mov edx, dword [ebp - 0x6c]
add esp, 0x10
cmp esi, eax
jge 0x60699b
inc edx
mov dword [ebp - 0x6c], edx
mov eax, edx
cdq
mov ecx, eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x44]
add eax, ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x34]
mov esi, eax
mov dword [ebp - 0x44], eax
adc ecx, edx
mov eax, dword [ebp - 0x58]
add esi, dword [ebp - 0x5c]
adc ecx, dword [ebp - 0x20]
mov eax, dword [eax + 0x18]
cdq
cmp ecx, edx
jg 0x6069d7
jl 0x6069cc
cmp esi, eax
ja 0x6069d7
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + 0x20]
mov dword [ecx + 8], eax
jmp 0x606a08
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x78]
cdq
cmp ecx, edx
jg 0x6064f7
jl 0x6069f0
cmp esi, eax
ja 0x6064f7
push dword [ebp - 0x44]
push dword [ebp - 0x58]
call fcn.0060b7fa
pop ecx
pop ecx
test eax, eax
jne 0x60a31c
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x5c]
mov dword [ecx + 0xc], eax
push 0x10
pop eax
mov word [ecx + 0x10], ax
mov eax, edx
or eax, dword [ebp - 0x20]
je 0x606a2a
mov eax, 0x410
mov dword [ecx], edx
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x6c]
mov esi, dword [ecx + 8]
lea edx, [esi + eax]
mov dword [ebp - 0x34], edx
cmp eax, 0x80
jge 0x606a42
mov byte [esi], al
inc esi
jmp 0x606a56
push dword [ebp - 0x2c]
push dword [ebp - 0x38]
push esi
call fcn.005fcbdb
mov edx, dword [ebp - 0x34]
add esp, 0xc
add esi, eax
mov ecx, dword [ebp - 0x4c]
add ecx, 0xc
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x4c], eax
cmp eax, 7
ja 0x606b07
mov byte [esi], al
inc esi
test eax, eax
je 0x606b5a
cmp eax, 7
jne 0x606a9d
push 8
pop eax
push eax
lea eax, [ecx - 0xc]
push eax
lea eax, [ebp - 0xdc]
push eax
call fcn.00643300
mov ecx, dword [ebp - 0xdc]
add esp, 0xc
jmp 0x606ab5
mov eax, dword [ecx - 0xc]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xdc], eax
mov eax, dword [ecx - 8]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x4c]
movzx edx, byte [eax + 0x719838]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], edx
sub edx, 1
mov byte [edx + eax], cl
je 0x606af9
mov edi, eax
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd8]
shrd ecx, eax, 8
shr eax, 8
sub edx, 1
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], eax
mov byte [edx + edi], cl
jne 0x606acf
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x34]
add edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x34], edx
jmp 0x606b5a
cmp eax, 0x80
jae 0x606b36
mov byte [esi], al
inc esi
cmp eax, 0xe
jb 0x606b5a
cmp dword [ecx], 0
jle 0x606b5a
push dword [ecx]
push dword [ecx - 4]
push edx
call fcn.00643300
mov ecx, dword [ebp - 0x38]
add esp, 0xc
mov edx, dword [ebp - 0x34]
add edx, dword [ecx]
mov dword [ebp - 0x34], edx
jmp 0x606b5a
xor ecx, ecx
push ecx
push eax
push esi
call fcn.005fcbdb
mov ecx, dword [ebp - 0x38]
add esp, 0xc
add esi, eax
cmp dword [ecx], 0
je 0x606b57
push dword [ecx]
push dword [ecx - 4]
push dword [ebp - 0x34]
jmp 0x606b21
mov edx, dword [ebp - 0x34]
lea eax, [ecx - 0xc]
cmp eax, dword [ebp - 0x54]
je 0x6088b0
add ecx, 0x28
jmp 0x606a5c
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [eax + 0x2c]
cmp dword [ebx + 0xc], ecx
je 0x606b8d
push eax
call fcn.005e78aa
pop ecx
mov dword [ebp - 0x4c], edx
jmp 0x606bc9
lea ecx, [ebp - 0xa8]
xorps xmm0, xmm0
push ecx
push eax
push dword [ebp - 0x14]
movlpd qword [ebp - 0xa8], xmm0
call fcn.005e5dbf
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
mov eax, dword [ebp - 0xa4]
mov esi, ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xa8]
push ebx
push edi
mov dword [ebp - 0x2c], eax
call fcn.005d96f5
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [eax + 4], ecx
xor edx, edx
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x128], edx
jne 0x60a1c2
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x90]
jb 0x604e47
mov edx, dword [ebp - 0x80]
ja 0x606c13
mov eax, dword [ebp - 0x1c]
cmp eax, edx
jb 0x609ce9
mov eax, dword [ecx + 0x174]
test eax, eax
je 0x609ce6
add edx, dword [ecx + 0x17c]
push 0
mov dword [ebp - 0x80], edx
pop edx
push dword [ecx + 0x178]
adc dword [ebp - 0x90], edx
call eax
pop ecx
test eax, eax
jne 0x60a1b3
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x90]
ja 0x606c13
mov eax, dword [ebp - 0x1c]
jb case.0x604dd6.89
cmp eax, edx
jae 0x606c13
jmp case.0x604dd6.89
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x5c], eax
test ecx, ecx
jne 0x606d47
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp dword [ecx + 0xc4], edx
jg 0x609fda
push eax
call fcn.006017cf
mov esi, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], esi
mov ecx, dword [eax + 0x1fc]
add ecx, dword [eax + 0x1f8]
push ecx
xor ecx, ecx
push ecx
push eax
call fcn.0060e297
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
push ecx
lea eax, [esi + 0x21]
push eax
push dword [ebp - 0x14]
call fcn.005ead4d
mov esi, eax
add esp, 0xc
test esi, esi
je 0x606fcc
mov ecx, dword [ebp - 0x2c]
lea edx, [esi + 0x20]
inc ecx
mov dword [esi], edx
push ecx
push dword [ebp - 0x5c]
push edx
call fcn.00643300
mov edx, dword [ebp - 0x14]
add esp, 0xc
cmp byte [edx + 0x55], 0
je 0x606d09
xor eax, eax
mov byte [edx + 0x55], al
mov eax, dword [ebp - 0x24]
mov byte [edx + 0x5d], al
jmp 0x606d0f
inc dword [edx + 0x1f8]
mov eax, dword [edx + 0x1ec]
mov dword [esi + 0x18], eax
mov eax, dword [edx + 0x200]
mov dword [edx + 0x1ec], esi
mov dword [esi + 8], eax
mov eax, dword [edx + 0x204]
mov dword [esi + 0xc], eax
mov eax, dword [edx + 0x208]
mov dword [esi + 0x10], eax
mov eax, dword [edx + 0x20c]
mov dword [esi + 0x14], eax
jmp 0x606fcc
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x14]
mov esi, dword [ecx + 0x1ec]
test esi, esi
je 0x60a014
mov edi, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x34]
push edi
push dword [esi]
call fcn.00601757
pop ecx
pop ecx
test eax, eax
je 0x606d79
mov esi, dword [esi + 0x18]
inc ebx
test esi, esi
jne 0x606d63
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebp - 0x20], esi
test esi, esi
je 0x60a011
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x38]
cmp dword [eax + 0xc4], edx
jle 0x606da6
cmp ecx, 1
je 0x609fec
cmp dword [esi + 0x18], edx
jne 0x606e0a
cmp byte [eax + 0x5d], dl
je 0x606e0a
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x5c], edx
cmp ecx, edx
jne 0x606e0d
push edx
push edi
call fcn.00604760
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x60a40f
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
push edi
mov byte [eax + 0x55], cl
call fcn.0060ad14
pop ecx
push 5
pop ecx
cmp eax, ecx
je 0x609ff3
mov ecx, dword [edi + 0x24]
xor eax, eax
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x606e02
mov byte [edx + 0x55], al
jmp 0x606f13
mov byte [edx + 0x5d], al
jmp 0x606f13
mov dword [ebp - 0x5c], edx
mov eax, dword [eax + 0x1f8]
sub eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x34], eax
cmp ecx, dword [ebp - 0x64]
jne 0x606e88
mov eax, dword [edx + 0x18]
xor ecx, ecx
and eax, dword [ebp - 0x24]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x2c], ecx
cmp dword [edx + 0x14], ecx
jle 0x606e92
xor eax, dword [ebp - 0x24]
mov edx, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x4c], ecx
push eax
mov eax, dword [ebp - 0x14]
push 0x204
mov eax, dword [eax + 0x10]
push dword [eax + edx + 4]
call fcn.005e813d
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x4c]
inc eax
add edx, 0x10
mov dword [ebp - 0x2c], eax
cmp eax, dword [edi + 0x14]
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x4c], edx
jl 0x606e40
mov edx, dword [ebp - 0x14]
jmp 0x606e95
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x18]
jmp 0x606e98
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
and dword [ebp - 0x2c], 0
cmp dword [edx + 0x14], 0
jle 0x606eed
xor ecx, ecx
mov edx, ecx
mov dword [ebp - 0x4c], ecx
push eax
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
push dword [eax + edx + 4]
call fcn.005e7909
mov esi, dword [ebp - 0x14]
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a341
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x4c]
inc eax
add edx, 0x10
mov dword [ebp - 0x2c], eax
cmp eax, dword [esi + 0x14]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x4c], edx
jl 0x606ea9
mov edx, dword [ebp - 0x14]
cmp dword [ebp - 0x54], 0
je 0x606f13
xor eax, eax
push eax
push edx
call fcn.005ecb51
push dword [ebp - 0x14]
call fcn.005fd83e
mov edx, dword [ebp - 0x14]
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
or dword [edx + 0x18], eax
test ecx, ecx
jne 0x60a33e
cmp dword [edx + 0x1ec], esi
je 0x606f52
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi + 0x1ec]
push ecx
push edi
mov eax, dword [ecx + 0x18]
mov dword [edi + 0x1ec], eax
call fcn.005eac86
dec dword [edi + 0x1f8]
pop ecx
pop ecx
cmp dword [edi + 0x1ec], esi
jne 0x606f26
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [ebp - 0x24]
jne 0x606f80
mov eax, dword [esi + 0x18]
push esi
push edx
mov dword [edx + 0x1ec], eax
call fcn.005eac86
cmp dword [ebp - 0x5c], 0
pop ecx
pop ecx
jne 0x606fcc
mov ecx, dword [ebp - 0x14]
dec dword [ecx + 0x1f8]
mov ecx, dword [ebp - 0x38]
jmp 0x606faf
cmp dword [ebp - 0x5c], 0
mov eax, dword [esi + 8]
mov dword [edx + 0x200], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 0x204], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x208], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x20c], eax
je 0x606faf
cmp ecx, dword [ebp - 0x64]
jne 0x606fcc
mov edx, dword [ebp - 0x34]
push edx
push ecx
push dword [ebp - 0x14]
call fcn.0060e297
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
cmp byte [edi + 0x97], 3
jne 0x604e90
push 0x65
pop esi
jmp 0x60a40f
mov edx, dword [ebp - 0x14]
xor eax, eax
mov esi, eax
mov dword [ebp - 0x5c], esi
cmp dword [ebx + 8], eax
je 0x607007
mov ecx, dword [edx + 0x20]
mov eax, dword [edx + 0x24]
and ecx, 0x100000
and eax, 2
or ecx, eax
jne 0x60a02b
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [edx + 0x10]
mov dword [ebp - 0x4c], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x6070ed
lea ecx, [ebp - 0x5c]
push ecx
push dword [ebx + 8]
push eax
call fcn.005e59e6
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a04d
test byte [edi + 0x98], 0x20
je 0x607123
cmp dword [ebx + 8], ecx
je 0x607123
mov esi, dword [ebp - 0x14]
cmp byte [esi + 0x55], cl
je 0x60706b
mov eax, dword [ebp - 0x24]
cmp dword [esi + 0xc0], eax
jle 0x607123
cmp dword [edi + 0x30], ecx
jne 0x607085
mov eax, dword [esi + 0x1f8]
inc dword [esi + 0x1fc]
add eax, dword [esi + 0x1fc]
mov dword [edi + 0x30], eax
mov eax, dword [edi + 0x30]
dec eax
push eax
push ecx
push esi
call fcn.0060e297
add esp, 0xc
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x6070c6
mov eax, dword [ebp - 0x2c]
mov esi, dword [edi + 0x30]
push eax
mov edi, dword [eax + 4]
call fcn.005e62b3
push esi
push dword [edi]
call fcn.005f860b
push dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
call fcn.005e703f
mov edi, dword [ebp - 0x48]
add esp, 0x10
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 0x200]
mov dword [edi + 0x48], eax
mov eax, dword [esi + 0x204]
mov dword [edi + 0x4c], eax
mov eax, dword [esi + 0x208]
mov dword [edi + 0x50], eax
mov eax, dword [esi + 0x20c]
mov esi, dword [ebp - 0x5c]
mov dword [edi + 0x54], eax
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x60a33e
xor edx, edx
cmp word [ebx + 2], dx
je 0x60711b
cmp esi, dword [ebx + 0xc]
jne 0x60a06d
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 4]
cmp eax, dword [ebx + 0x10]
jne 0x60a06d
mov esi, dword [ebp - 0x18]
jmp 0x604e47
mov esi, dword [ebp - 0x5c]
jmp 0x6070f8
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0x100]
push eax
mov eax, dword [ebp - 0x14]
add ecx, ecx
push dword [ebx + 0xc]
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8 + 4]
call fcn.005e6346
push ebx
push edi
call fcn.005d96f5
mov ecx, eax
add esp, 0x14
mov eax, dword [ebp - 0x100]
jmp 0x604f2c
mov eax, dword [ebp - 0x14]
mov esi, dword [ebx + 4]
push dword [ebx + 0xc]
shl esi, 4
add esi, dword [eax + 0x10]
push dword [ebx + 8]
push dword [esi + 4]
call fcn.005e81cb
mov edx, dword [ebp - 0x24]
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp dword [ebx + 8], edx
jne 0x6071a9
movzx eax, word [ebx + 2]
mov ecx, dword [ebx + 0xc]
sub ecx, eax
mov eax, dword [esi + 0xc]
mov dword [eax], ecx
mov eax, dword [ebp - 0x14]
or dword [eax + 0x18], edx
push dword [ebx + 4]
push eax
call fcn.005f158a
mov edx, dword [ebp - 0x24]
pop ecx
pop ecx
jmp 0x6071ba
mov eax, dword [ebp - 0x64]
cmp dword [ebx + 8], eax
jne 0x6071ba
mov ecx, dword [esi + 0xc]
mov al, byte [ebx + 0xc]
mov byte [ecx + 0x4c], al
cmp dword [ebx + 4], edx
jne 0x6071d3
xor eax, eax
push eax
push dword [ebp - 0x14]
call fcn.005ecb51
and dword [edi + 0x98], 0xfffffffc
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
jmp 0x6052f3
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x607200
mov eax, dword [esi + 0x38]
cmp eax, dword [ebx + 8]
jne 0x607200
add esi, 0x2c
push dword [esi]
call fcn.005e5a56
pop ecx
jmp 0x607301
mov cl, byte [ebp - 0x3d]
mov eax, dword [edi + 0x98]
mov esi, dword [ebp - 0x14]
and al, 3
cmp al, byte [ebp - 0x24]
je 0x60a0ce
mov edx, dword [ebx + 8]
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x5c], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [ebp - 0x2c], edx
mov esi, dword [eax + 4]
mov dword [ebp - 0x38], esi
cmp cl, 0x71
jne 0x607261
mov eax, dword [eax + 0xc]
movzx ecx, word [ebx + 2]
push 8
pop esi
mov al, byte [eax + 0x4c]
and ecx, esi
or ecx, 4
mov dword [ebp - 0x4c], ecx
cmp al, byte [edi + 0x95]
jae 0x607266
mov byte [edi + 0x95], al
jmp 0x607266
xor eax, eax
mov dword [ebp - 0x4c], eax
push 0x10
pop eax
test byte [ebx + 2], al
je 0x607280
imul esi, edx, 0x28
add esi, dword [ebp - 0x28]
push esi
call fcn.0060bba5
mov eax, dword [esi]
pop ecx
mov dword [ebp - 0x2c], eax
mov al, byte [ebx + 1]
cmp al, 0xf8
jne 0x607293
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x20], eax
movzx eax, word [eax + 8]
jmp 0x60729f
cmp al, 0xfd
jne 0x60729c
mov eax, dword [ebx + 0x10]
jmp 0x60729f
mov eax, dword [ebp - 0x54]
xor ecx, ecx
push ecx
push eax
push dword [ebx + 4]
push edi
call fcn.005c2f05
mov esi, eax
add esp, 0x10
test esi, esi
je 0x60a31c
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x2c]
push 4
mov byte [esi + 1], al
mov eax, dword [ebp - 0x24]
mov byte [esi + 2], al
pop eax
or dword [esi + 8], eax
lea eax, [esi + 0x2c]
push dword [eax]
mov dword [esi + 0x38], ecx
push dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x4c]
push ecx
push dword [ebp - 0x38]
call fcn.005e5edd
mov dword [ebp - 0x18], eax
add esp, 0x14
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x30], eax
cmp byte [ebx + 1], 0xf8
setne al
mov byte [esi + 4], al
mov esi, dword [ebp - 0x2c]
mov cl, byte [ebx + 2]
mov eax, dword [esi]
and cl, 3
mov byte [eax + 3], cl
jmp 0x6071d3
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 8]
mov esi, dword [eax + ecx*4]
xor eax, eax
push eax
movsx eax, word [esi + 0x3c]
push eax
push dword [ebx + 4]
push edi
call fcn.005c2f05
mov edx, eax
add esp, 0x10
test edx, edx
je 0x60a31c
mov eax, dword [ebp - 0x24]
or dword [edx + 8], eax
mov byte [edx + 2], al
mov ecx, dword [esi + 0x30]
mov dword [edx + 0x30], ecx
mov al, byte [esi + 4]
mov byte [edx + 4], al
mov eax, dword [esi + 0x38]
mov dword [edx + 0x38], eax
mov eax, dword [esi + 8]
xor eax, dword [edx + 8]
push 4
pop ecx
and eax, ecx
xor dword [edx + 8], eax
mov eax, dword [esi + 0x10]
push 8
mov dword [edx + 0x10], eax
pop eax
or dword [edx + 8], eax
or dword [esi + 8], eax
push dword [edx + 0x2c]
push dword [edx + 0x30]
push ecx
push dword [edx + 0x38]
push dword [edx + 0x10]
call fcn.005e5edd
mov esi, eax
add esp, 0x14
mov dword [ebp - 0x18], esi
jmp 0x604e14
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x6073ae
mov ecx, dword [ebp - 0x28]
xor edx, edx
imul eax, eax, 0x28
mov dword [eax + ecx + 0xc], edx
imul eax, dword [ebx + 0xc], 0x28
mov dword [eax + ecx + 8], 0x732230
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x3c], ecx
test ecx, ecx
je 0x6073f1
test byte [ecx + 8], 8
jne 0x6073f1
movsx eax, word [ecx + 0x3c]
cmp dword [ebx + 8], eax
jg 0x6073f1
xor eax, eax
push eax
push dword [ecx + 0x38]
mov dword [ecx + 0x18], eax
push dword [ecx + 0x10]
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x20], eax
call fcn.005e5a70
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x18], ecx
jmp 0x607514
xor eax, eax
push eax
push dword [ebx + 8]
push edx
push edi
call fcn.005c2f05
add esp, 0x10
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x60a31c
mov ecx, dword [ebp - 0x24]
lea esi, [eax + 0x10]
or dword [eax + 8], ecx
movzx ecx, word [ebx + 2]
push 0x41e
push 5
pop eax
or ecx, eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x14]
push ecx
push esi
push eax
xor ecx, ecx
push ecx
push dword [eax]
call fcn.005e7149
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
push eax
push dword [ebp - 0x24]
push dword [esi]
call fcn.005e59e6
mov esi, eax
add esp, 0xc
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x18], esi
test esi, esi
jne 0x6074e5
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x2c], ecx
mov dword [eax + 0x30], ecx
test ecx, ecx
je 0x6074b9
lea ecx, [eax + 0x38]
movzx eax, word [ebx + 2]
or eax, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x20]
push ecx
push dword [eax]
call fcn.005e5eb1
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x18], esi
test esi, esi
jne 0x6074b5
mov eax, dword [ebp - 0x3c]
push dword [eax + 0x2c]
push dword [ebp - 0x2c]
push 4
pop ecx
push ecx
push dword [eax + 0x38]
mov eax, dword [ebp - 0x20]
push dword [eax]
call fcn.005e5edd
mov esi, eax
add esp, 0x14
mov dword [ebp - 0x18], esi
xor ecx, ecx
jmp 0x6074df
push dword [eax + 0x2c]
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x38], ecx
xor eax, eax
push eax
push 4
pop eax
push eax
mov eax, dword [ebp - 0x20]
push ecx
push dword [eax]
call fcn.005e5edd
mov ecx, dword [ebp - 0x24]
mov esi, eax
add esp, 0x14
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x3c]
mov byte [eax + 4], cl
mov eax, dword [eax + 8]
xor ecx, ecx
push 8
pop edx
cmp word [ebx + 2], dx
push 4
pop edx
cmovne ecx, edx
and eax, 0xfffffffb
or ecx, eax
mov eax, dword [ebp - 0x3c]
mov dword [eax + 8], ecx
test esi, esi
je 0x607522
mov eax, dword [ebp - 0x20]
push dword [eax]
call fcn.005e5acc
pop ecx
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x60a33e
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
mov byte [eax + 2], cl
jmp 0x604e14
push dword [ebp - 0x24]
push dword [ebx + 8]
push dword [ebx + 4]
push edi
call fcn.005c2f05
add esp, 0x10
test eax, eax
je 0x60a31c
mov ecx, dword [ebx + 0x10]
push eax
mov dword [eax + 0x30], ecx
push dword [ebx + 0xc]
push dword [ebp - 0x14]
call fcn.0060d263
jmp 0x605a24
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x18]
mov ecx, edi
mov esi, dword [edx + 0x1c]
mov eax, esi
add ecx, dword [ebp - 0x24]
mov dword [edx + 0x18], ecx
adc eax, 0
or edi, esi
mov esi, dword [ebp - 0x18]
mov dword [edx + 0x1c], eax
jne 0x6088a5
jmp 0x605c7e
push 3
push dword [ebx + 0xc]
push dword [ebx + 4]
push edi
call fcn.005c2f05
add esp, 0x10
test eax, eax
je 0x60a31c
mov edx, dword [ebp - 0x24]
mov byte [eax + 2], dl
mov ecx, dword [ebx + 8]
mov dword [eax + 0x24], ecx
mov byte [eax + 4], dl
mov dword [eax + 0x2c], 0x7ea864
jmp 0x604e14
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
cmp dword [eax + ecx*4], 0
je 0x6075d8
push dword [eax + ecx*4]
push edi
call fcn.0060ac1e
pop ecx
pop ecx
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x60]
mov dword [eax + ecx*4], edx
jmp 0x604e47
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x5c], eax
mov word [ecx + 2], ax
mov dword [ecx + 0x20], eax
cmp byte [ecx + 4], al
je 0x607727
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
movzx eax, word [ecx + 0x10]
mov dword [ebp - 0x4c], eax
and al, 0x2e
cmp al, byte [ebp - 0x64]
jne 0x60762f
xor eax, eax
push eax
push ecx
call fcn.005c3edf
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.0060b1fd
pop ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x58], edx
mov edx, dword [ebp - 0x4c]
movzx eax, word [ecx + 0x10]
mov word [ecx + 0x10], dx
test al, 0x24
jne 0x6076ea
test al, 8
jne 0x6076a5
mov ecx, dword [ebp - 0x24]
test cl, al
jne 0x605c7e
push 0x17
pop ecx
cmp dword [ebp - 0x34], ecx
jae 0x605c7e
mov esi, dword [ebp - 0x20]
lea eax, [ebp - 0x8c]
push eax
push dword [esi + 0x2c]
call fcn.005e7017
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
mov esi, dword [ebp - 0x18]
xor edx, edx
cmp dword [ebp - 0x8c], 0
jne 0x605c80
jmp 0x607876
movsd xmm0, qword [ecx]
mov esi, dword [ebp - 0x38]
push ecx
push ecx
movsd qword [esp], xmm0
push dword [ebp - 0x58]
push esi
call fcn.005f5aa0
add esp, 0x10
test eax, eax
jle 0x6076d8
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
test al, cl
lea eax, [ecx - 1]
cmovne eax, ecx
mov ecx, eax
mov dword [ebp - 0x34], ecx
jmp 0x6076ed
jns 0x6076ed
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x24]
test cl, al
je 0x6076ed
inc eax
mov dword [ebp - 0x34], eax
jmp 0x6076ed
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x8c]
push eax
xor eax, eax
push eax
push dword [ebp - 0x58]
push esi
mov esi, dword [ebp - 0x20]
push dword [esi + 0x2c]
call fcn.005e7c4e
mov ecx, eax
add esp, 0x14
mov eax, dword [ebp - 0x38]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x18], ecx
mov dword [esi + 0x44], eax
test ecx, ecx
jne 0x60a33e
jmp 0x6077b8
mov eax, dword [ecx + 0x2c]
push 0
mov al, byte [eax + 3]
and al, 2
mov byte [ebp - 0x3d], al
pop eax
setne al
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x1a0], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x18c], ax
lea eax, [edx - 1]
and al, byte [ebp - 0x24]
neg al
sbb al, al
and al, 0xfe
inc al
mov byte [ebp - 0x18a], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x19c], eax
xor eax, eax
mov byte [ebp - 0x186], al
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x1a0]
push eax
push dword [ecx + 0x2c]
call fcn.005e648a
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
cmp byte [ebp - 0x3d], al
je 0x6077b5
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], eax
cmp byte [ebp - 0x186], cl
je 0x60768e
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
push 0x17
pop ecx
cmp eax, ecx
mov ecx, dword [ebp - 0x8c]
jl 0x60781a
test ecx, ecx
js 0x6077e0
jne 0x6077d3
cmp eax, 0x18
je 0x6077e0
xor edx, edx
mov dword [ebp - 0x8c], edx
jmp 0x607876
xor eax, eax
push eax
push dword [esi + 0x2c]
mov dword [ebp - 0x8c], eax
call fcn.005e70c0
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x607874
cmp ecx, 0x65
jne 0x60a33e
mov eax, dword [ebp - 0x24]
xor edx, edx
mov esi, edx
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x18], esi
jmp 0x605c80
test ecx, ecx
jg 0x60783a
jne 0x607825
cmp eax, 0x15
je 0x60783a
mov eax, dword [esi + 0x2c]
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov dword [ebp - 0x8c], ecx
jmp 0x60768e
xor eax, eax
push eax
push dword [esi + 0x2c]
mov dword [ebp - 0x8c], eax
call fcn.005e7777
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x607874
cmp ecx, 0x65
jne 0x60a33e
mov eax, dword [ebp - 0x24]
xor edx, edx
mov esi, edx
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x18], esi
jmp 0x607693
xor edx, edx
cmp dword [ebp - 0x5c], 0
lea eax, [ebx + 0x14]
cmove eax, ebx
mov ebx, eax
jmp 0x60711b
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 0x18]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x4c], edx
mov eax, dword [edx + 0x2c]
cmp byte [eax], 0
jne 0x604e14
mov eax, dword [edx + 0x30]
xor ecx, ecx
mov esi, dword [ebx + 4]
mov dword [ebp - 0x228], eax
mov ax, word [ebx + 0x24]
mov word [ebp - 0x214], ax
imul eax, dword [ebx + 0x20], 0x28
mov byte [ebp - 0x212], cl
mov dword [ebp - 0x2c], ecx
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x228]
push eax
push edx
push dword [ebp - 0x14]
call fcn.0060b071
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
mov eax, dword [ebp - 0x2c]
xor edx, edx
test eax, eax
jle 0x607903
cmp word [ebx + 2], dx
je 0x607941
test eax, eax
jns 0x608391
test esi, esi
jle 0x60711b
mov eax, dword [ebp - 0x4c]
dec esi
push edx
push dword [eax + 0x2c]
mov dword [eax + 0x20], edx
call fcn.005e70c0
mov edx, dword [ebp - 0x4c]
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x6078ce
cmp ecx, 0x65
jne 0x60a33e
xor edx, edx
mov esi, edx
mov dword [ebp - 0x18], esi
jmp 0x607944
mov esi, dword [ebp - 0x18]
add ebx, dword [ebp - 0x78]
jmp 0x605c80
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
movzx eax, word [ecx + 0xc]
cmp eax, dword [ebx + 8]
jge 0x60796b
mov ax, word [ebx + 8]
mov word [ecx + 0xc], ax
jmp 0x604e14
xor edx, edx
cmp eax, dword [ebx + 0xc]
jle 0x604e47
mov ax, word [ebx + 0xc]
mov word [ecx + 0xc], ax
jmp 0x604e47
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x6099fe
cmp byte [eax + 2], dl
je 0x604e47
jmp 0x6099fe
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
movzx eax, word [eax + 0xc]
cmp eax, dword [ebx + 0x10]
jge 0x604e14
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
imul ecx, dword [ebx + 0xc], 0x28
mov ax, word [ebx + 0x10]
mov word [ebp - 0x144], ax
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x154], ecx
test ax, ax
je 0x607a0e
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x158], eax
xor eax, eax
mov byte [ebp - 0x142], al
lea eax, [esi + 0x24]
push eax
lea eax, [ebp - 0x158]
push eax
push dword [esi + 0x2c]
call fcn.005e648a
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x18], ecx
jmp 0x607a7e
mov eax, 0x400
test word [ecx + 0x10], ax
je 0x607a22
push ecx
call fcn.0060b890
pop ecx
jmp 0x607a24
xor eax, eax
test eax, eax
jne 0x60a31c
push dword [esi + 0x30]
call fcn.0060459e
mov dword [ebp - 0x2c], eax
pop ecx
test eax, eax
je 0x60a31c
mov ecx, dword [ebp - 0x154]
push eax
push dword [ecx + 8]
push dword [ecx + 0xc]
push dword [esi + 0x30]
call fcn.0060cd4a
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov byte [eax + 0x16], cl
lea ecx, [esi + 0x24]
push ecx
push eax
push dword [esi + 0x2c]
call fcn.005e648a
push dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
push dword [ebp - 0x14]
call fcn.005eac86
mov ecx, dword [ebp - 0x18]
add esp, 0x24
test ecx, ecx
jne 0x60a33e
xor eax, eax
cmp dword [esi + 0x24], eax
mov al, byte [ebp - 0x24]
sete cl
sub al, cl
mov byte [esi + 2], al
xor eax, eax
mov byte [esi + 3], al
mov dword [esi + 0x20], eax
mov dl, byte [ebx]
cmp dl, 0x1d
jne 0x607ab1
mov esi, dword [ebp - 0x18]
xor edx, edx
test ecx, ecx
jmp 0x604e41
test ecx, ecx
je 0x6098c0
cmp dl, 0x1b
jne 0x607ae9
mov ecx, eax
movzx eax, word [ebp - 0x144]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x607ae9
mov eax, dword [ebp - 0x154]
add eax, 0x10
test byte [eax], 1
jne 0x607bcf
inc ecx
add eax, 0x28
cmp ecx, dword [ebp - 0x2c]
jl 0x607ad7
cmp dl, 0x1a
jne 0x6088b0
mov ax, word [ebx + 0x10]
mov word [esi + 0xc], ax
jmp 0x604e90
imul esi, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x28]
add esi, ecx
test byte [esi + 0x10], 0x24
jne 0x607b50
push 0xa
pop ecx
push dword [ebp - 0x68]
lea eax, [ebp - 0x2e0]
lea edi, [ebp - 0x2e0]
push 0x43
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.005c3e79
add esp, 0xc
push 4
pop eax
test byte [ebp - 0x2d0], al
je 0x6098c0
mov edx, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x2dc]
mov edi, dword [ebp - 0x48]
jmp 0x607b5b
mov ecx, dword [ebp - 0x28]
imul eax, dword [ebx + 0xc], 0x28
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x4c]
push eax
xor ecx, ecx
push ecx
push dword [ebp - 0x20]
mov dword [ebp - 0x4c], ecx
push edx
push dword [esi + 0x2c]
call fcn.005e7c4e
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2c]
add esp, 0x14
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x18], ecx
mov word [esi + 2], dx
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], eax
test eax, eax
je 0x607bc2
cmp dword [ebx + 8], edx
jne 0x608391
push 0x17bb5
call fcn.005e9975
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
xor edx, edx
test ecx, ecx
jne 0x60a33e
jmp 0x60711b
xor edx, edx
jmp 0x608391
push ebx
push edi
call fcn.005d96f5
mov edx, dword [ebx + 4]
pop ecx
pop ecx
mov ecx, dword [edi + 0x60]
push 0
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x18]
mov dword [eax], ecx
mov ecx, dword [edx + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
pop edx
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x24]
add dword [eax + 0x18], ecx
adc dword [eax + 0x1c], edx
jmp 0x604e47
xorps xmm0, xmm0
xor eax, eax
push ebx
push edi
movlpd qword [ebp - 0x98], xmm0
mov dword [ebp - 0x20], eax
call fcn.005d96f5
mov edx, dword [ebx + 4]
pop ecx
pop ecx
mov ecx, dword [edi + 0x60]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x64]
mov esi, dword [ecx + edx*4]
mov dword [ebp - 0x5c], esi
test byte [esi + 8], al
jne 0x607cb3
lea eax, [ebp - 0x20]
push eax
push dword [esi + 0x2c]
call fcn.005e7017
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
cmp dword [ebp - 0x20], eax
je 0x607c70
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x98], eax
xor eax, eax
mov dword [ebp - 0x94], eax
jmp 0x607cb3
push dword [esi + 0x2c]
call fcn.005e6c45
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
pop ecx
cmp edx, 0x7fffffff
jl 0x607c9f
jg 0x607c97
cmp eax, dword [ebp - 0x84]
jb 0x607c9f
mov eax, dword [ebp - 0x64]
or dword [esi + 8], eax
jmp 0x607cb3
add eax, dword [ebp - 0x24]
push 0
mov dword [ebp - 0x98], eax
pop eax
adc edx, eax
mov dword [ebp - 0x94], edx
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x607d4c
mov eax, dword [edi + 0xd0]
test eax, eax
jne 0x607d29
imul esi, edx, 0x28
add esi, dword [ebp - 0x28]
push esi
call fcn.0060bba5
mov edx, dword [esi + 4]
pop ecx
mov ecx, dword [esi]
cmp ecx, dword [ebp - 0x84]
jne 0x607cee
cmp edx, 0x7fffffff
je 0x607dbc
mov eax, dword [ebp - 0x5c]
test byte [eax + 8], 2
jne 0x607dbc
add ecx, dword [ebp - 0x24]
push 0
pop eax
adc edx, eax
cmp dword [ebp - 0x94], edx
jg 0x607d38
jl 0x607d17
mov eax, dword [ebp - 0x98]
cmp eax, ecx
jae 0x607d3e
mov eax, ecx
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x98], eax
jmp 0x607d3e
mov eax, ecx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x607d27
imul esi, edx, 0x28
add esi, dword [eax + 0xc]
jmp 0x607cce
mov eax, dword [ebp - 0x98]
mov dword [esi], eax
mov eax, dword [ebp - 0x94]
mov dword [esi + 4], eax
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x64]
test byte [esi + 8], al
je 0x607dc7
xor eax, eax
mov esi, eax
lea eax, [ebp - 0x98]
push eax
push 8
pop eax
push eax
call fcn.005bc60f
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x98]
and eax, 0x3fffffff
add ecx, dword [ebp - 0x24]
push 0
pop edx
adc eax, edx
mov dword [ebp - 0x98], ecx
lea edx, [ebp - 0x20]
mov dword [ebp - 0x94], eax
push edx
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x5c]
push ecx
push dword [eax + 0x2c]
call fcn.005e7c4e
mov ecx, eax
add esp, 0x1c
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
cmp dword [ebp - 0x20], eax
jne 0x607dc4
inc esi
cmp esi, 0x64
jl 0x607d58
push 0xd
pop ecx
jmp 0x6059bc
mov esi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov byte [esi + 3], dl
mov dword [esi + 0x20], edx
mov eax, dword [ebp - 0x98]
mov dword [ecx], eax
mov eax, dword [ebp - 0x94]
mov dword [ecx + 4], eax
jmp 0x60711b
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
imul edx, dword [ebx + 8], 0x28
mov edi, dword [ebp - 0x28]
mov esi, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0x28]
add edx, dword [ebp - 0x28]
cmp byte [ebx + 1], 0xfb
mov ecx, dword [eax + ecx]
mov dword [ebp - 0x178], ecx
mov eax, dword [eax + edi + 4]
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x174], eax
jne 0x607e53
mov edi, dword [ebp - 0x14]
cmp dword [edi + 0xfc], 0
mov edi, dword [ebp - 0x48]
je 0x607e53
mov eax, dword [ebp - 0x14]
movsx ecx, byte [esi + 1]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x54], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x20]
jmp 0x607e5b
and dword [ebp - 0x4c], 0
and dword [ebp - 0x54], 0
test byte [ebx + 2], 1
je 0x607e7d
add dword [edi + 0x28], 1
adc dword [edi + 0x2c], 0
test byte [ebx + 2], 0x20
je 0x607e7d
mov edi, dword [ebp - 0x14]
mov dword [edi + 0x28], ecx
mov ecx, edi
mov edi, dword [ebp - 0x48]
mov dword [ecx + 0x2c], eax
mov eax, dword [edx + 8]
movzx ecx, word [ebx + 2]
mov dword [ebp - 0x170], eax
mov eax, dword [edx + 0xc]
push 0x10
mov dword [ebp - 0x164], eax
pop eax
test al, cl
je 0x607e9f
mov eax, dword [esi + 0x24]
jmp 0x607ea1
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, 0x400
test word [edx + 0x10], ax
push 0
pop eax
je 0x607ebe
mov eax, dword [edx]
mov dword [ebp - 0x160], eax
xor eax, eax
jmp 0x607ec4
mov dword [ebp - 0x160], eax
push dword [ebp - 0x2c]
mov dword [ebp - 0x180], eax
and ecx, 0x8a
push ecx
lea eax, [ebp - 0x180]
push eax
push dword [esi + 0x2c]
call fcn.005e67f6
xor edx, edx
add esp, 0x10
inc dword [ebp - 0xb8]
mov ecx, eax
mov dword [ebp - 0x18], ecx
mov byte [esi + 3], dl
mov dword [esi + 0x20], edx
test ecx, ecx
jne 0x60a33e
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x60711b
push dword [ebp - 0x174]
push dword [ebp - 0x178]
push dword [eax]
push dword [ebp - 0x54]
push 4
pop eax
test byte [ebx + 2], al
push 0x12
pop eax
push 0x17
pop ecx
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0xf8]
call dword [eax + 0xfc]
add esp, 0x18
jmp 0x604e90
mov ecx, dword [edi + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebx + 8]
mov esi, dword [ecx + eax*4]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x607f6f
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x28]
imul eax, eax, 0x28
mov ecx, dword [eax + ecx]
mov eax, dword [eax + edi + 4]
mov edi, dword [ebp - 0x48]
jmp 0x607f86
xorps xmm0, xmm0
movlpd qword [ebp - 0xa8], xmm0
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa8]
push eax
push ecx
push dword [esi + 0x2c]
push dword [edx + 0x2c]
call fcn.005e7e4c
add esp, 0x10
jmp 0x6052ee
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x54], eax
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
jne 0x607ff1
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp dword [eax + 0xfc], ecx
je 0x607ff1
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x64]
test byte [ebx + 2], al
je 0x607ff9
cmp byte [esi + 4], 0
je 0x607ff9
push dword [esi + 0x2c]
call fcn.005e6c45
pop ecx
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], edx
jmp 0x607ff9
xor eax, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x2c], eax
movzx eax, byte [ebx + 2]
push eax
push dword [esi + 0x2c]
call fcn.005e5f2b
pop ecx
xor edx, edx
inc dword [ebp - 0xb8]
pop ecx
mov ecx, eax
mov dword [esi + 0x20], edx
mov dword [ebp - 0x18], ecx
mov dword [esi + 0x24], edx
test ecx, ecx
jne 0x60a33e
mov eax, dword [ebp - 0x24]
test byte [ebp - 0x54], al
je 0x60711b
add dword [edi + 0x28], eax
adc dword [edi + 0x2c], edx
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0xfc]
test ecx, ecx
je 0x6088b0
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x6088b0
test byte [eax + 0x1c], 0x80
jne 0x6088b0
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [eax]
push dword [ebp - 0x4c]
push 9
push dword [edx + 0xf8]
call ecx
jmp 0x607f3c
mov edx, dword [ebp - 0x14]
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
add dword [edx + 0x70], eax
mov dword [edx + 0x68], eax
adc dword [edx + 0x74], ecx
mov dword [edx + 0x6c], ecx
xor edx, edx
mov dword [edi + 0x28], edx
mov dword [edi + 0x2c], edx
jmp 0x604e47
mov eax, dword [edi + 0x60]
xor edx, edx
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x58], edx
lea edx, [ebp - 0x58]
push edx
push dword [ebx + 0x10]
mov ecx, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x28]
push eax
push ecx
call fcn.0060d1d2
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
xor edx, edx
mov esi, eax
cmp dword [ebp - 0x58], edx
jmp 0x604e41
imul edx, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
add edx, dword [ebp - 0x28]
push edx
push dword [eax + ecx*4]
call fcn.0060d5e8
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
mov ecx, dword [ebx + 0xc]
xor edx, edx
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x20], edx
jmp 0x60711b
push ebx
push edi
call fcn.005d96f5
mov edx, dword [ebx + 4]
mov esi, eax
mov ecx, dword [edi + 0x60]
mov ecx, dword [ecx + edx*4]
mov eax, dword [ecx + 0x2c]
push eax
mov dword [ebp - 0x2c], eax
call fcn.005e7763
mov ecx, dword [ebp - 0x14]
add esp, 0xc
cmp eax, dword [ecx + 0x78]
ja 0x6064f7
push esi
push eax
push dword [ebp - 0x2c]
call fcn.0060b9e5
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
xor edx, edx
cmp dword [ebx + 0xc], edx
jne 0x60711b
mov eax, 0x4000
test word [esi + 0x10], ax
je 0x60711b
push esi
call fcn.0060bbd1
pop ecx
test eax, eax
jne 0x60a31c
jmp 0x604e90
push ebx
push edi
call fcn.005d96f5
mov edx, dword [ebx + 4]
pop ecx
pop ecx
mov ecx, dword [edi + 0x60]
mov dword [ebp - 0x2c], eax
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x4c], edx
cmp byte [edx + 2], 0
je 0x6081a9
mov ecx, dword [ebp - 0x24]
jmp 0x60507a
cmp byte [edx + 3], 0
je 0x6081c6
mov ecx, dword [edx + 0x40]
mov dword [ebp - 0xe4], ecx
mov eax, dword [edx + 0x44]
mov dword [ebp - 0xe0], eax
jmp 0x608250
mov eax, dword [ebp - 0x64]
cmp byte [edx], al
jne 0x6081ff
mov ecx, dword [edx + 0x2c]
lea edx, [ebp - 0xe4]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
call dword [eax + 0x30]
push esi
push edi
mov dword [ebp - 0x18], eax
call fcn.0060e0f7
mov ecx, dword [ebp - 0x18]
add esp, 0x10
test ecx, ecx
jne 0x60a33e
mov ecx, dword [ebp - 0xe4]
jmp 0x60824d
mov eax, dword [edx + 0x2c]
cmp byte [eax], 0
je 0x608213
push edx
call fcn.0060b036
mov edx, dword [ebp - 0x4c]
pop ecx
jmp 0x608215
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
cmp byte [edx + 2], al
je 0x608236
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov word [edx + 0x10], ax
jmp 0x604e90
push dword [edx + 0x2c]
call fcn.005e6c45
pop ecx
mov ecx, eax
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xe4], ecx
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x2c]
mov dword [edx], ecx
mov eax, dword [ebp - 0xe0]
mov dword [edx + 4], eax
jmp 0x604e14
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
test eax, eax
jne 0x60829f
push 3
push dword [ebp - 0x24]
push ecx
push edi
call fcn.005c2f05
add esp, 0x10
test eax, eax
je 0x60a31c
mov ecx, dword [ebp - 0x24]
xor edx, edx
or dword [eax + 8], 8
mov dword [eax + 0x24], edx
mov byte [eax + 4], cl
mov dword [eax + 0x2c], 0x7ea864
jmp 0x6082a4
mov ecx, dword [ebp - 0x24]
xor edx, edx
cmp byte [eax], 0
mov byte [eax + 2], cl
mov dword [eax + 0x20], edx
jne 0x604e47
push dword [eax + 0x2c]
call fcn.005e5a56
jmp 0x605338
mov ecx, dword [ebx + 4]
xor edx, edx
cmp byte [ebp - 0x3d], 0x89
mov eax, dword [edi + 0x60]
mov dword [ebp - 0x3c], edx
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2c], eax
mov ecx, dword [eax + 0x2c]
jne 0x6082e6
or dword [eax + 0x24], 0xffffffff
cmp byte [ecx], dl
je 0x604e47
lea eax, [ebp - 0x3c]
push eax
push ecx
call fcn.005e7017
mov edx, dword [ebp - 0x3c]
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], ecx
and dword [eax + 0x20], 0
mov byte [eax + 2], dl
mov byte [eax + 3], 0
test ecx, ecx
jne 0x60a33e
xor eax, eax
cmp dword [ebx + 8], eax
jle 0x6088b0
mov esi, ecx
test edx, edx
jmp 0x605f4e
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x2c]
lea eax, [ebp - 0xe8]
push eax
push esi
call fcn.005e62e6
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
cmp dword [ebp - 0xe8], eax
jne 0x6098c0
push esi
call fcn.005e78aa
pop ecx
xor ecx, ecx
cmp edx, ecx
jl 0x609ce6
jg 0x608373
cmp eax, ecx
jb 0x6088b0
push edx
push eax
call fcn.005f696c
cwde
xor edx, edx
pop ecx
pop ecx
cmp eax, dword [ebx + 0xc]
jge 0x60711b
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xe8], eax
mov esi, dword [ebp - 0x18]
jmp 0x605c80
inc dword [edi + 0xac]
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], eax
cmp byte [esi], al
lea eax, [ebp - 0x38]
push eax
jne 0x6083c0
push esi
call fcn.0060d585
xor edx, edx
jmp 0x6083d0
push dword [esi + 0x2c]
call fcn.005e62e6
xor edx, edx
mov byte [esi + 3], dl
mov dword [esi + 0x20], edx
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
mov eax, dword [ebp - 0x38]
mov byte [esi + 2], al
cmp dword [ebx + 8], edx
jle 0x60711b
mov esi, ecx
test eax, eax
jmp 0x604e41
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
push esi
push dword [ebp - 0x14]
mov dword [ebp - 0x20], esi
call fcn.0060d410
jmp 0x60843e
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
push dword [ebx + 0xc]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x20], esi
push dword [esi + 0x2c]
call fcn.005e7777
jmp 0x60843e
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
push dword [ebx + 0xc]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x20], esi
push dword [esi + 0x2c]
call fcn.005e70c0
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
xor edx, edx
mov dword [esi + 0x20], edx
test ecx, ecx
jne 0x608463
mov byte [esi + 2], dl
mov esi, ecx
movzx eax, word [ebx + 2]
inc dword [edi + eax*4 + 0xa4]
jmp 0x6099fe
cmp ecx, 0x65
jne 0x60a33e
mov eax, dword [ebp - 0x20]
mov esi, edx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x18], esi
mov byte [eax + 2], cl
jmp 0x606be2
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul esi, dword [ebx + 8], 0x28
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2c], eax
add esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
test byte [ebx + 2], al
je 0x6084a5
add dword [edi + 0x28], eax
push 0
pop edx
adc dword [edi + 0x2c], edx
jmp 0x6084a7
xor edx, edx
mov eax, 0x400
test word [esi + 0x10], ax
je 0x6084bd
push esi
call fcn.0060b890
pop ecx
mov ecx, eax
jmp 0x6084bf
mov ecx, edx
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], edx
mov eax, dword [esi + 8]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x290], eax
imul eax, dword [ebx + 0xc], 0x28
push 0x10
pop ecx
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x27c], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x278], ax
movzx eax, word [ebx + 2]
test cl, al
je 0x60850e
mov ecx, dword [esi + 0x24]
jmp 0x608510
xor ecx, ecx
push ecx
and eax, 0x8a
push eax
lea eax, [ebp - 0x290]
push eax
push dword [esi + 0x2c]
call fcn.005e67f6
add esp, 0x10
mov ecx, eax
xor edx, edx
mov dword [ebp - 0x18], ecx
mov dword [esi + 0x20], edx
jmp 0x607bc2
imul esi, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
add esi, dword [ebp - 0x28]
mov eax, dword [eax + ecx*4]
mov ecx, 0x400
mov dword [ebp - 0x2c], eax
test word [esi + 0x10], cx
je 0x608564
push esi
call fcn.0060b890
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x2c]
jmp 0x608566
xor ecx, ecx
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
push esi
push eax
call fcn.0060d646
jmp 0x6052ec
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x248], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x234], ax
xor eax, eax
mov byte [ebp - 0x232], al
imul eax, dword [ebx + 8], 0x28
mov dword [ebp - 0x2c], ecx
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x244], eax
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x248]
push eax
push ecx
call fcn.005e648a
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
cmp dword [ebp - 0x104], eax
jne 0x6085fe
push 4
pop eax
push eax
push dword [ebp - 0x2c]
call fcn.005e5f2b
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
jmp 0x608617
xor edx, edx
cmp word [ebx + 2], dx
je 0x608619
push dword [ebp - 0x14]
call fcn.006138b6
pop ecx
test eax, eax
je 0x60a0d8
xor edx, edx
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], edx
jmp 0x60711b
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
je 0x60863e
push esi
call fcn.0060b036
pop ecx
jmp 0x608640
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
cmp byte [esi + 2], al
jne 0x6086c8
lea eax, [ebp - 0x70]
xorps xmm0, xmm0
push eax
push dword [esi + 0x2c]
movlpd qword [ebp - 0x70], xmm0
push dword [ebp - 0x14]
call fcn.0060b105
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
cmp byte [ebx], 0x8d
jne 0x6086af
mov eax, dword [edi + 0x60]
xor edx, edx
mov ecx, dword [ebx + 0xc]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x70]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x6c]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0x24]
mov byte [ecx + 2], dl
mov byte [ecx + 3], al
mov dword [ecx + 0x20], edx
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x28], esi
jmp 0x60711b
push ebx
push edi
call fcn.005d96f5
pop ecx
pop ecx
mov ecx, dword [ebp - 0x70]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [eax + 4], ecx
jmp 0x604e90
imul eax, dword [ebx + 8], 0x28
jmp 0x606265
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 3], 0
je 0x604e14
push eax
call fcn.0060ab3e
jmp 0x6052ed
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
cmp byte [ebp - 0x3d], 0x2a
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov esi, dword [ecx + 0x2c]
mov dword [ebp - 0x268], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x254], ax
sbb al, al
mov byte [ebp - 0x252], al
imul eax, dword [ebx + 0xc], 0x28
push esi
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x264], eax
call fcn.005e7763
xor edx, edx
pop ecx
cmp eax, edx
jbe 0x60a0f4
cmp eax, 0x7fffffff
ja 0x60a0f4
xor ecx, ecx
mov dword [ebp - 0x1d0], edx
mov word [ebp - 0x1d8], cx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1d4], ecx
lea ecx, [ebp - 0x1e8]
push ecx
push eax
push esi
call fcn.0060b9e5
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
push eax
lea eax, [ebp - 0x268]
push eax
push dword [ebp - 0x1e0]
push dword [ebp - 0x1dc]
call fcn.0060c8f7
add esp, 0x10
mov esi, eax
cmp dword [ebp - 0x1d0], 0
je 0x6087ae
lea eax, [ebp - 0x1e8]
push eax
call fcn.00616929
pop ecx
mov eax, dword [ebp - 0x24]
test byte [ebx], al
jne 0x6087b9
neg esi
jmp 0x6087ba
inc esi
xor edx, edx
test esi, esi
mov esi, dword [ebp - 0x18]
jg 0x605c80
jmp 0x604e47
push ebx
push edi
call fcn.005d96f5
mov esi, dword [ebp - 0x14]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x24]
mov word [eax + 0x10], cx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ecx + 0xcc]
inc ecx
cmp dword [esi + 0xc0], ecx
jg 0x60a0fe
mov eax, dword [ebx + 0xc]
xor ecx, ecx
mov esi, dword [ebx + 4]
mov dword [ebp - 0x34], ecx
mov ecx, eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x14]
shl ecx, 4
mov dword [ebp - 0x4c], ecx
mov eax, dword [eax + 0x10]
mov edi, dword [eax + ecx + 4]
push edi
call fcn.005e62b3
lea eax, [ebp - 0x34]
push eax
push esi
push edi
call fcn.005c666f
push edi
mov dword [ebp - 0x18], eax
call fcn.005e703f
mov ecx, dword [ebp - 0x2c]
add esp, 0x14
mov esi, dword [ebp - 0x34]
push 4
pop eax
mov word [ecx + 0x10], ax
mov eax, esi
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x60a33b
test esi, esi
je 0x6088ad
mov eax, dword [ebp - 0x14]
mov edi, dword [ebx + 4]
mov edx, dword [eax + 0x10]
add edx, dword [ebp - 0x4c]
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0x10]
jmp 0x60887a
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x608878
mov dword [ecx + 0x14], edi
mov eax, dword [eax]
test eax, eax
jne 0x60886d
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0x20]
jmp 0x608893
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x2c], esi
jne 0x608891
mov dword [ecx + 0x2c], edi
mov eax, dword [eax]
test eax, eax
jne 0x608886
mov al, byte [ebp - 0x54]
inc al
mov byte [ebp - 0x85], al
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x48]
jmp 0x604e14
mov edi, dword [ebp - 0x48]
xor edx, edx
jmp 0x60711b
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x14]
add ecx, ecx
push dword [ebx + 4]
xorps xmm0, xmm0
movlpd qword [ebp - 0xf4], xmm0
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8 + 4]
call fcn.005e5a70
xor edx, edx
add esp, 0xc
mov ecx, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebx + 0xc], edx
je 0x607bc2
mov edx, dword [ebp - 0xf4]
add dword [edi + 0x28], edx
mov eax, dword [ebp - 0xf0]
adc dword [edi + 0x2c], eax
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x607bc0
imul ecx, eax, 0x28
mov eax, dword [ebp - 0x28]
add dword [ecx + eax], edx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xf0]
adc dword [ecx + edx + 4], eax
mov ecx, dword [ebp - 0x18]
jmp 0x607bc0
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x24]
cmp byte [eax], cl
jne 0x60894f
push dword [eax + 0x2c]
push dword [ebp - 0x14]
call fcn.0060d489
pop ecx
jmp 0x605338
mov eax, dword [eax + 0x2c]
xor ecx, ecx
push ecx
push dword [eax + 0x40]
push dword [eax + 8]
call fcn.005e5a70
jmp 0x605a24
push ebx
push edi
call fcn.005d96f5
mov ecx, dword [ebx + 4]
mov esi, eax
push dword [ebx + 0xc]
xor eax, eax
shl ecx, 4
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x14]
add ecx, dword [eax + 0x10]
lea eax, [ebp - 0x44]
push eax
push dword [ecx + 4]
call fcn.005e5eb1
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
mov eax, dword [ebp - 0x44]
xor edx, edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x60711b
mov eax, dword [ebp - 0x14]
xor ecx, ecx
push ecx
push ecx
push ecx
inc byte [eax + 0x60]
push dword [ebx + 0x10]
push eax
call fcn.005b8cbb
mov esi, dword [ebp - 0x14]
add esp, 0x14
dec byte [esi + 0x60]
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a341
jmp 0x604e90
cmp dword [ebx + 0x10], 0
mov esi, dword [ebx + 4]
jne 0x608a2e
mov eax, dword [ebp - 0x14]
mov ecx, esi
add ecx, ecx
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8 + 0xc]
call fcn.005fe93b
mov eax, dword [ebp - 0x14]
and dword [eax + 0x18], 0xffffffef
movzx eax, word [ebx + 2]
push eax
lea eax, [edi + 0x7c]
push eax
push esi
mov esi, dword [ebp - 0x14]
push esi
call fcn.005f48f1
mov ecx, eax
add esp, 0x14
mov eax, dword [ebp - 0x24]
or dword [esi + 0x18], eax
and dword [edi + 0x98], 0xfffffffc
xor edx, edx
mov dword [ebp - 0x18], ecx
jmp 0x608af8
mov edx, dword [ebp - 0x14]
lea eax, [edi + 0x7c]
push dword [ebx + 0x10]
mov dword [ebp - 0x130], esi
add esi, esi
mov dword [ebp - 0x134], eax
xor eax, eax
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x128], eax
push str.sqlite_master
mov eax, dword [ecx + esi*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x120], eax
push dword [ecx + esi*8]
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
push edx
call fcn.005f6bae
mov esi, eax
add esp, 0x14
test esi, esi
je 0x60a112
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov byte [eax + 0xb1], cl
xor ecx, ecx
push ecx
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x124], ecx
lea ecx, [ebp - 0x138]
push ecx
push fcn.005f4734
push esi
push eax
call fcn.005b8cbb
add esp, 0x14
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x608ae1
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x608ae1
cmp dword [ebp - 0x124], eax
jne 0x608ae1
push 0x181b3
call fcn.005e9975
pop ecx
mov dword [ebp - 0x18], eax
push esi
mov esi, dword [ebp - 0x14]
push esi
call fcn.005eac86
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov byte [esi + 0xb1], dl
test ecx, ecx
jne 0x60a118
jmp 0x60711b
push dword [ebx + 4]
push dword [ebp - 0x14]
call fcn.005e40fd
jmp 0x6052ec
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [ecx + 0x10]
xor ecx, ecx
push ecx
push dword [ebx + 0x10]
mov eax, dword [eax + 0xc]
push 8
pop ecx
add eax, ecx
push eax
call fcn.005f41e7
push eax
push dword [ebp - 0x14]
call fcn.005eba6d
mov ecx, dword [ebp - 0x14]
add esp, 0x14
mov eax, dword [ebp - 0x24]
or dword [ecx + 0x18], eax
jmp 0x604e14
push dword [ebx + 0x10]
push dword [ebx + 4]
push dword [ebp - 0x14]
call fcn.006023dc
jmp 0x6052bf
push dword [ebx + 0x10]
push dword [ebx + 4]
push dword [ebp - 0x14]
call fcn.0060244a
jmp 0x6052bf
imul edx, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebx + 0x10]
add edx, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
lea edx, [ebp - 0xbc]
push edx
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0x108]
mov eax, dword [eax]
push edx
mov edx, dword [ebp - 0x14]
inc eax
push eax
push dword [ebx + 8]
lea eax, [ecx + 4]
movzx ecx, word [ebx + 2]
push eax
mov eax, dword [edx + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 4]
push edx
call fcn.005e6c5c
push dword [ebp - 0x20]
mov esi, eax
mov dword [ebp - 0x18], esi
call fcn.0060bdc2
mov eax, dword [ebp - 0x108]
add esp, 0x20
test eax, eax
je 0x608c08
test esi, esi
jne 0x60a132
mov ecx, dword [ebp - 0x2c]
dec eax
push fcn.005bc3c6
push dword [ebp - 0x24]
cdq
sub dword [ecx], eax
mov eax, dword [ebp - 0x84]
sbb dword [ecx + 4], edx
push eax
push eax
push dword [ebp - 0xbc]
push dword [ebp - 0x20]
call fcn.0060be9f
add esp, 0x18
movzx eax, byte [ebp - 0x68]
push eax
push dword [ebp - 0x20]
call fcn.00604663
pop ecx
pop ecx
jmp 0x606be0
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
push 0x10
pop edx
add eax, dword [ebp - 0x28]
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x4c], ecx
test byte [eax + 0x10], dl
jne 0x608c4d
push eax
call fcn.0060be28
pop ecx
test eax, eax
jne 0x60a31c
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x4c]
push dword [ecx + 4]
push dword [ecx]
push dword [eax + 8]
call fcn.005fdee2
jmp 0x6052bf
imul eax, dword [ebx + 4], 0x28
push 0x10
pop ecx
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
test byte [eax + 0x10], cl
je 0x608caa
lea ecx, [ebp - 0x11c]
push ecx
push dword [eax + 8]
call fcn.005fdf2e
pop ecx
pop ecx
test eax, eax
je 0x608ca7
imul eax, dword [ebx + 0xc], 0x28
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
add eax, dword [ebp - 0x28]
push eax
call fcn.0060bd8c
add esp, 0xc
jmp 0x606be0
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0060bdc2
pop ecx
jmp case.0x604dd6.9
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 0xc], 0x28
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x2c], edx
add eax, dword [ebp - 0x28]
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x4c], ecx
test byte [eax + 0x10], 0x10
jne 0x608cee
push eax
call fcn.0060be28
pop ecx
test eax, eax
jne 0x60a31c
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x2c]
test edx, edx
je 0x608d10
push dword [ecx + 4]
push dword [ecx]
push edx
push dword [eax + 8]
call fcn.005fdf84
add esp, 0x10
test eax, eax
jne 0x605c7e
mov edx, dword [ebp - 0x2c]
test edx, edx
js 0x604e14
mov eax, dword [ebp - 0x4c]
push dword [eax + 4]
push dword [eax]
mov eax, dword [ebp - 0x54]
jmp 0x608c52
imul ecx, dword [ebx + 0xc], 0x28
xor eax, eax
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x3c], edx
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
cmp word [ebx + 2], ax
je 0x608d62
mov eax, dword [edi + 0xd0]
test eax, eax
je 0x608d62
mov ecx, dword [edx + 0x14]
cmp dword [eax + 0x18], ecx
je 0x608d57
mov eax, dword [eax + 4]
test eax, eax
jne 0x608d4b
mov ecx, dword [ebp - 0x20]
test eax, eax
jne 0x604e14
mov eax, dword [edi + 0xd8]
mov edi, dword [ebp - 0x14]
cmp eax, dword [edi + 0xa0]
mov edi, dword [ebp - 0x48]
jge 0x60a146
push 0x10
pop eax
test byte [ecx + 0x10], al
jne 0x608e74
mov eax, dword [ebp - 0x3c]
mov edx, dword [edx + 0xc]
mov eax, dword [eax + 8]
add eax, edx
test edx, edx
lea ecx, [eax + 1]
cmovne ecx, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], ecx
imul ecx, ecx, 0xa
mov eax, dword [eax + 4]
add eax, 7
add ecx, edx
mov eax, eax
test eax, eax
jns 0x608db3
add eax, 7
sar eax, 3
lea eax, [eax + ecx*4]
add eax, 0x58
mov dword [ebp - 0x54], eax
cdq
push edx
push eax
push dword [ebp - 0x14]
call fcn.005eae40
add esp, 0xc
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x60a31c
push dword [ebp - 0x20]
call fcn.0060bd36
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x74]
pop ecx
mov dword [eax + 0xc], edx
mov ecx, 0x1010
mov word [eax + 0x10], cx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 8], ecx
mov dword [eax + 0x24], 0x60ab82
mov eax, dword [ebp - 0x4c]
mov dword [ecx + 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ecx], edi
mov eax, dword [eax + 0xc]
mov dword [ecx + 0x40], eax
mov eax, ebx
cdq
idiv dword [ebp - 0x78]
mov ebx, dword [ebp - 0x3c]
mov edx, ecx
imul ecx, dword [ebp - 0x4c], 0x28
mov dword [edx + 0x30], eax
mov eax, dword [edi + 0x58]
mov dword [edx + 0xc], eax
add ecx, 0x58
mov eax, dword [edi + 0x14]
add ecx, edx
mov dword [edx + 0x38], eax
mov eax, dword [edi + 0x60]
mov dword [edx + 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [edx + 0x2c], eax
mov eax, dword [edi + 0x68]
mov dword [edx + 8], eax
mov eax, dword [edi + 0x6c]
mov dword [edx + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [edx + 0x18], eax
lea eax, [edx + 0x58]
cmp eax, ecx
je 0x608e7a
mov edi, dword [ebp - 0x14]
xor ebx, ebx
mov dword [eax + 0x14], edi
mov word [eax + 0x10], bx
add eax, 0x28
cmp eax, ecx
jne 0x608e5f
mov edi, dword [ebp - 0x48]
jmp 0x608e77
mov edx, dword [ecx + 8]
mov ebx, dword [ebp - 0x3c]
inc dword [edi + 0xd8]
mov eax, dword [edi + 0xd0]
mov ecx, dword [ebp - 0x14]
mov dword [edx + 4], eax
mov eax, dword [ecx + 0x28]
mov dword [edx + 0x20], eax
mov eax, dword [ecx + 0x2c]
mov dword [edx + 0x24], eax
mov eax, dword [edi + 0x28]
mov dword [edx + 0x48], eax
mov eax, dword [edi + 0x2c]
mov dword [edx + 0x4c], eax
mov ecx, dword [edi]
mov eax, dword [ecx + 0x68]
mov dword [edx + 0x50], eax
mov eax, dword [ecx + 0x6c]
lea ecx, [edx + 0x58]
mov dword [edx + 0x54], eax
mov eax, dword [edi + 0xe4]
mov dword [edx + 0x28], eax
xor eax, eax
mov dword [edi + 0xe4], eax
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], eax
mov dword [edi + 0xd0], edx
mov dword [edi + 0x58], ecx
mov eax, dword [edx + 0x3c]
mov dword [edi + 0x14], eax
movzx eax, word [edx + 0x40]
mov dword [edi + 0x18], eax
imul eax, dword [edi + 0x14], 0x28
mov dword [ebp - 0x28], ecx
add ecx, eax
mov dword [edi + 0x60], ecx
mov eax, dword [ebx + 0xc]
lea ecx, [ecx + eax*4]
mov dword [edx + 0x14], ecx
mov eax, dword [ebx + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
xor eax, eax
push eax
push ecx
call fcn.00644240
mov edx, dword [ebx]
add esp, 0xc
mov dword [edi + 0x68], edx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x74], edx
mov dword [edi + 0x6c], eax
lea ebx, [edx - 0x14]
jmp 0x606be0
push ebx
push edi
call fcn.005d96f5
mov esi, dword [edi + 0xd0]
mov ecx, 0x4000
push ecx
imul edx, dword [esi + 0x30], 0x14
mov ecx, dword [esi + 8]
mov ecx, dword [edx + ecx + 4]
add ecx, dword [ebx + 4]
imul ecx, ecx, 0x28
add ecx, dword [esi + 0xc]
push ecx
push eax
call fcn.0060c0b1
add esp, 0x14
jmp 0x604e90
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ecx + 0x20]
and eax, 0x80000
or eax, edx
mov eax, dword [ebx + 8]
je 0x608f85
cdq
add dword [ecx + 0x208], eax
adc dword [ecx + 0x20c], edx
jmp 0x604e14
cmp dword [ebx + 4], edx
cdq
je 0x608f9c
add dword [ecx + 0x200], eax
adc dword [ecx + 0x204], edx
jmp 0x604e14
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp 0x604e14
xor edx, edx
cmp dword [ebx + 4], edx
je 0x608fc5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x200]
or eax, dword [ecx + 0x204]
jne 0x604e47
jmp 0x608fd4
mov eax, dword [edi + 0x40]
or eax, dword [edi + 0x44]
jne 0x604e47
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x208]
or eax, dword [ecx + 0x20c]
je 0x605c80
jmp 0x604e47
mov ecx, dword [edi + 0xd0]
test ecx, ecx
jne 0x60903b
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x28]
push eax
mov dword [ebp - 0x2c], eax
call fcn.0060bba5
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0x28]
push esi
call fcn.0060bba5
mov eax, dword [ebp - 0x2c]
mov edx, dword [esi + 4]
pop ecx
pop ecx
mov ecx, dword [esi]
cmp dword [eax + 4], edx
jg 0x604e90
jl 0x60902f
cmp dword [eax], ecx
jae 0x604e90
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x604e90
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x609039
imul eax, dword [ebx + 4], 0x28
add eax, dword [ecx + 0xc]
jmp 0x608ffc
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
test edx, edx
jl 0x604e14
jg 0x60906b
xor edx, edx
cmp eax, edx
jbe 0x604e47
mov eax, dword [ebx + 0xc]
cdq
sub dword [ecx], eax
mov eax, dword [ecx + 4]
sbb eax, edx
mov dword [ecx + 4], eax
jmp 0x605c7e
imul eax, dword [ebx + 0xc], 0x28
imul esi, dword [ebx + 4], 0x28
push ebx
push edi
add eax, dword [ebp - 0x28]
add esi, dword [ebp - 0x28]
mov dword [ebp - 0x4c], eax
call fcn.005d96f5
mov edx, dword [esi]
pop ecx
pop ecx
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0xf8], ecx
test ecx, ecx
jl 0x609114
jg 0x6090b8
xor ecx, ecx
cmp edx, ecx
jbe 0x609114
mov eax, dword [ebp - 0x4c]
xor edx, edx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, edx
jl 0x6090cc
jg 0x6090e3
cmp ecx, edx
ja 0x6090e3
xorps xmm0, xmm0
movlpd qword [ebp - 0xa8], xmm0
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa8]
push eax
push ecx
lea eax, [ebp - 0xfc]
push eax
call fcn.005e2f93
add esp, 0xc
test eax, eax
jne 0x609111
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xfc]
mov dword [ecx], eax
mov eax, dword [ebp - 0xf8]
mov dword [ecx + 4], eax
jmp 0x604e90
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x84]
mov dword [eax], ecx
jmp 0x6086c0
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
mov dword [ebp - 0x2c], eax
mov eax, edx
or eax, dword [ebp - 0x2c]
je 0x604e14
mov eax, dword [ebp - 0x2c]
test eax, eax
jl 0x605c7e
jg 0x609150
test edx, edx
je 0x605c7e
sub edx, 1
mov dword [ecx], edx
sbb eax, 0
jmp 0x609076
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
cmp edx, 0x80000000
jl 0x609182
jg 0x609177
test eax, eax
je 0x609182
sub eax, 1
mov dword [ecx], eax
sbb edx, 0
mov dword [ecx + 4], edx
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jmp 0x606037
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
push ecx
lea eax, [eax*4 + 0x44]
push eax
push dword [ebp - 0x14]
call fcn.005ead4d
mov esi, eax
add esp, 0xc
test esi, esi
je 0x60a31c
mov eax, dword [ebp - 0x2c]
xor edx, edx
add eax, 7
mov dword [esi + 8], edx
lea ecx, [esi + eax*4]
mov eax, dword [ebp - 0x24]
mov dword [esi], ecx
mov word [ecx + 0x10], ax
mov eax, dword [ebp - 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], edx
mov eax, dword [ebx + 0x10]
mov dword [esi + 4], eax
mov eax, ebx
sub eax, dword [ebp - 0x74]
cdq
idiv dword [ebp - 0x78]
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], eax
xor eax, eax
mov byte [esi + 0x19], al
mov dword [esi + 0x14], eax
mov al, byte [ebp - 0x68]
mov byte [esi + 0x18], al
mov eax, dword [ebp - 0x2c]
mov byte [esi + 0x1a], al
mov word [ebx], 0xf1a3
mov dword [ebx + 0x10], esi
imul edx, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
cmp dword [esi + 8], edx
je 0x609245
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edx
js 0x609245
lea edi, [ecx + 7]
push 4
lea edi, [esi + edi*4]
pop edx
mov eax, dword [ebx + 8]
add eax, ecx
imul eax, eax, 0x28
add eax, dword [ebp - 0x28]
mov dword [edi], eax
sub edi, edx
sub ecx, 1
jns 0x60922b
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x2c]
inc dword [edx + 0xc]
xor eax, eax
cmp dword [ebx + 4], eax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
push esi
je 0x609261
call dword [ecx + 0x1c]
jmp 0x609264
call dword [ecx + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x609ce6
jle 0x609290
push dword [esi]
call fcn.005b7131
push eax
push 0x71ddfc
push edi
call fcn.00604c68
mov eax, dword [esi + 0x14]
add esp, 0x10
mov dword [ebp - 0x18], eax
cmp byte [esi + 0x19], 0
je 0x6092b7
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x6092b2
imul eax, eax, 0x28
xor ecx, ecx
push ecx
push dword [ebp - 0x24]
add eax, dword [ebp - 0x28]
push eax
call fcn.0060bd8c
add esp, 0xc
xor eax, eax
mov byte [esi + 0x19], al
push dword [esi]
call fcn.0060bd36
mov eax, dword [esi]
pop ecx
mov ecx, dword [ebp - 0x24]
mov word [eax + 0x10], cx
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [esi + 0x14], edx
jmp 0x607bc2
imul eax, dword [ebx + 4], 0x28
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebx + 0xc]
add eax, edx
mov dword [ebp - 0x2c], eax
test ecx, ecx
je 0x609347
mov edi, dword [ebx + 0x10]
xor eax, eax
imul esi, ecx, 0x28
push 0x20
push eax
lea eax, [ebp - 0x1c0]
push eax
add esi, edx
call fcn.00644240
push esi
call fcn.0060bdc2
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1c0], esi
mov dword [ebp - 0x1bc], edi
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x54]
mov byte [ebp - 0x1a8], al
lea eax, [ebp - 0x1c0]
push eax
call dword [edi + 0x18]
imul ecx, dword [ebx + 0xc], 0x28
add esp, 0x14
mov esi, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x48]
add ecx, dword [ebp - 0x28]
jmp 0x609357
push dword [ebx + 0x10]
push eax
call fcn.0060b8e4
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c]
mov esi, eax
mov dword [ebp - 0x18], esi
test esi, esi
jne 0x60a15a
movzx eax, byte [ebp - 0x68]
push eax
push ecx
call fcn.00604663
jmp 0x608949
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebp - 0x14]
call fcn.005e8345
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x6093bf
push 5
pop eax
cmp ecx, eax
jne 0x60a33e
mov ecx, dword [ebp - 0x24]
xor eax, eax
mov esi, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], esi
jmp 0x6093c1
xor eax, eax
imul edi, dword [ebx + 0xc], 0x28
mov esi, eax
add edi, dword [ebp - 0x28]
mov eax, dword [ebp + esi*4 - 0x10]
cdq
push edx
push eax
push edi
call fcn.0060bd8c
add esp, 0xc
add edi, 0x28
inc esi
cmp esi, 3
jl 0x6093ca
jmp 0x6088a2
push ebx
push edi
call fcn.005d96f5
mov edx, dword [ebx + 4]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
add edx, edx
mov dword [ebp - 0x54], eax
mov eax, dword [ebx + 0xc]
cmp eax, 0xffffffff
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ecx + 4]
mov edx, dword [ecx]
mov dword [ebp - 0x38], edx
movzx ecx, byte [edx + 5]
cmove eax, ecx
mov dword [ebp - 0x20], ecx
cmp byte [edx + 0x11], 3
mov dword [ebp - 0x2c], eax
jb 0x60942b
xor eax, eax
jmp 0x609444
mov eax, dword [edx + 0x44]
cmp dword [eax], 0
je 0x609441
xor eax, eax
cmp dword [edx + 0x54], eax
jl 0x609441
jg 0x609444
cmp dword [edx + 0x50], eax
ja 0x609444
mov eax, dword [ebp - 0x24]
push dword [ebp - 0x24]
test eax, eax
push edx
cmovne ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], ecx
call fcn.005f7e18
add esp, 8
cmp ecx, 5
jne 0x60948f
push eax
call fcn.006017cf
pop ecx
test eax, eax
je 0x60947c
push 5
pop eax
push dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
call fcn.005f8d53
pop ecx
test eax, eax
jne 0x609489
mov eax, dword [ebp - 0x20]
mov ecx, eax
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x3c], ecx
jmp 0x609492
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
je 0x60952a
cmp eax, 5
je 0x6094a8
cmp ecx, 5
jne 0x60952a
mov edi, dword [ebp - 0x14]
cmp byte [edi + 0x55], 0
mov edi, dword [ebp - 0x48]
je 0x60a171
mov edi, dword [ebp - 0x14]
cmp dword [edi + 0xc0], 1
mov edi, dword [ebp - 0x48]
jg 0x60a171
push 5
pop ecx
cmp eax, ecx
jne 0x6094f6
push dword [ebp - 0x14]
push edx
call fcn.005f7b8b
mov esi, eax
mov dword [ebp - 0x18], esi
pop ecx
pop ecx
test esi, esi
jne 0x60952c
mov esi, dword [ebp - 0x3c]
push esi
push dword [ebp - 0x38]
call fcn.005f88b0
pop ecx
pop ecx
jmp 0x60950f
push 4
pop ecx
cmp eax, ecx
jne 0x609508
push dword [ebp - 0x64]
push edx
call fcn.005f88b0
pop ecx
pop ecx
test esi, esi
jne 0x60952c
mov esi, dword [ebp - 0x3c]
push 5
pop ecx
xor eax, eax
cmp esi, ecx
sete al
inc eax
push eax
push dword [ebp - 0x4c]
call fcn.005e7bcd
pop ecx
mov esi, eax
pop ecx
mov dword [ebp - 0x18], esi
test esi, esi
mov eax, dword [ebp - 0x20]
cmove eax, dword [ebp - 0x3c]
push eax
push dword [ebp - 0x38]
call fcn.005f88b0
mov esi, dword [ebp - 0x54]
pop ecx
pop ecx
mov ecx, 0x2202
mov word [esi + 0x10], cx
cmp eax, 6
jne 0x609553
xor eax, eax
jmp 0x60955a
mov eax, dword [eax*4 + 0x7199e0]
push eax
mov dword [esi + 8], eax
call fcn.006017cf
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x24]
mov byte [esi + 0x12], al
movzx eax, byte [ebp - 0x68]
push eax
push esi
call fcn.00604663
add esp, 0xc
jmp 0x6071d3
mov eax, dword [ebx + 8]
test eax, eax
je 0x60958e
imul eax, eax, 0x28
add eax, dword [ebp - 0x28]
jmp 0x609590
xor eax, eax
push eax
push dword [ebx + 4]
lea eax, [edi + 0x7c]
push dword [ebp - 0x14]
push eax
call fcn.005fe443
jmp 0x607f93
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 4]
add ecx, ecx
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8 + 4]
call fcn.005e63c2
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x609ce6
cmp ecx, 0x65
jne 0x60a33e
xor edx, edx
mov esi, edx
mov dword [ebp - 0x18], esi
jmp 0x605c80
xor edx, edx
cmp dword [ebx + 4], edx
jne 0x6095f3
push dword [ebx + 8]
push dword [ebp - 0x14]
call fcn.005ecb51
jmp 0x608949
mov eax, dword [ebx + 8]
inc eax
xor eax, dword [edi + 0x98]
and eax, 3
xor dword [edi + 0x98], eax
jmp 0x604e47
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x2c]
or byte [eax + 1], 0x40
jmp 0x604e14
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x2c]
and byte [eax + 1], 0xbf
jmp 0x604e14
mov al, byte [ebx + 0xc]
mov byte [ebp - 0xcc], al
test al, al
jne 0x609657
mov eax, dword [ebp - 0x14]
xor edx, edx
push 4
pop ecx
mov eax, dword [eax + 0x24]
and eax, ecx
cmp eax, edx
jne 0x604e47
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 4]
push dword [ebp - 0xcc]
add ecx, ecx
mov eax, dword [eax + 0x10]
push dword [ebx + 8]
push dword [eax + ecx*8 + 4]
call fcn.005e706f
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x604e90
cmp cl, 6
jne 0x60a33e
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x60a18f
mov esi, dword [ebx + 0x10]
push esi
push dword [ebp - 0x14]
call fcn.0060da29
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test esi, esi
je 0x6052f3
push dword [esi + 8]
push edi
call fcn.0060e0f7
jmp 0x6071d1
xor eax, eax
push 0x28
push eax
lea eax, [ebp - 0x308]
push eax
call fcn.00644240
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2f4], eax
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x308]
push eax
call fcn.0060b825
push dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x308]
push eax
call fcn.00604225
add esp, 0x1c
test eax, eax
je 0x609720
lea ecx, [edi + 0x7c]
push ecx
push eax
push dword [ebx + 4]
push dword [ebp - 0x14]
call fcn.0060dc26
add esp, 0x10
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x308]
push eax
call fcn.0060bd36
jmp 0x6071d2
mov eax, dword [ebp - 0x14]
inc dword [eax + 0xcc]
push dword [ebx + 0x10]
push dword [ebx + 4]
push eax
call fcn.0060dcde
mov esi, dword [ebp - 0x14]
add esp, 0xc
dec dword [esi + 0xcc]
jmp 0x6089ca
xor eax, eax
mov dword [ebp - 0xc8], eax
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x60a1ac
mov eax, dword [esi]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x60a1ac
lea ecx, [ebp - 0xc8]
push ecx
push esi
call dword [eax + 0x18]
push esi
push edi
mov dword [ebp - 0x18], eax
call fcn.0060e0f7
mov ecx, dword [ebp - 0x18]
add esp, 0x10
test ecx, ecx
jne 0x60a33e
mov eax, dword [ebp - 0xc8]
push dword [ebp - 0x64]
mov dword [eax], esi
xor eax, eax
push eax
push dword [ebx + 4]
push edi
call fcn.005c2f05
add esp, 0x10
test eax, eax
je 0x60a19a
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x2c], ecx
inc dword [esi + 4]
jmp 0x604e90
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2c], eax
xor eax, eax
push eax
push 8
pop eax
push eax
call fcn.005bc17e
mov dword [ebp - 0x4c], eax
pop ecx
pop ecx
test eax, eax
je 0x60a31c
mov ecx, dword [ebp - 0x2c]
push ebx
push edi
mov ecx, dword [ecx + 0x2c]
mov dword [eax], ecx
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0x28]
mov dword [eax + 4], ecx
call fcn.005d96f5
mov ecx, dword [ebp - 0x24]
push 0x60d993
push str.ValueList
push dword [ebp - 0x4c]
mov word [eax + 0x10], cx
push eax
call fcn.0060bde5
add esp, 0x18
jmp 0x604e14
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
imul edx, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x5c], eax
add edx, dword [ebp - 0x28]
mov esi, dword [eax + 0x2c]
mov ecx, dword [edx + 0x28]
mov eax, dword [esi]
mov dword [ebp - 0x20], eax
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [edx]
mov dword [ebp - 0x54], eax
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0x2c], eax
xor eax, eax
test ecx, ecx
jle 0x609878
mov edi, dword [ebp - 0x2c]
add edx, 0x50
mov dword [edi + eax*4], edx
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x60986a
mov edi, dword [ebp - 0x48]
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4c]
push ecx
push dword [ebx + 0x10]
push dword [ebp - 0x54]
push esi
call dword [eax + 0x20]
push dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
push edi
call fcn.0060e0f7
mov ecx, dword [ebp - 0x18]
add esp, 0x1c
test ecx, ecx
jne 0x60a33e
mov eax, dword [ebp - 0x4c]
push esi
call dword [eax + 0x28]
pop ecx
mov ecx, dword [ebp - 0x5c]
xor edx, edx
mov byte [ecx + 2], dl
test eax, eax
je 0x60711b
jmp 0x608391
mov esi, dword [ebp - 0x18]
jmp 0x605c7e
mov eax, dword [edi + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
imul eax, dword [ebx + 0xc], 0x28
mov dword [ebp - 0x4c], ecx
add eax, dword [ebp - 0x28]
cmp byte [ecx + 2], 0
mov dword [ebp - 0x2c], eax
jne 0x606023
mov eax, dword [ecx + 0x2c]
push 0x20
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
xor eax, eax
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.00644240
mov al, byte [ebp - 0x68]
add esp, 0xc
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x208], esi
mov byte [ebp - 0x1f0], al
test byte [ebx + 2], cl
je 0x609939
push esi
call fcn.0060bdc2
mov eax, 0x401
mov word [esi + 0x10], ax
xor eax, eax
pop ecx
mov dword [esi], eax
jmp 0x60994c
mov ax, word [esi + 0x10]
mov edx, 0xf241
and ax, dx
or ax, cx
mov word [esi + 0x10], ax
push dword [ebx + 8]
lea eax, [ebp - 0x208]
push eax
mov eax, dword [ebp - 0x4c]
push dword [eax + 0x2c]
mov eax, dword [ebp - 0x54]
call dword [eax + 0x2c]
push dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
push edi
call fcn.0060e0f7
add esp, 0x14
cmp dword [ebp - 0x1f4], 0
jle 0x609998
push esi
call fcn.005b7131
push eax
push 0x71ddfc
push edi
call fcn.00604c68
mov eax, dword [ebp - 0x1f4]
add esp, 0x10
mov dword [ebp - 0x18], eax
movzx eax, byte [ebp - 0x68]
push eax
push esi
call fcn.00604663
jmp 0x6071d1
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2c], eax
cmp byte [eax + 2], 0
jne 0x604e14
mov eax, dword [eax + 0x2c]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x4c], ecx
call dword [ecx + 0x24]
push esi
push edi
mov dword [ebp - 0x18], eax
call fcn.0060e0f7
mov ecx, dword [ebp - 0x18]
add esp, 0xc
test ecx, ecx
jne 0x60a33e
mov eax, dword [ebp - 0x2c]
push dword [eax + 0x2c]
mov eax, dword [ebp - 0x4c]
call dword [eax + 0x28]
mov esi, dword [ebp - 0x18]
pop ecx
test eax, eax
jne 0x606be0
xor edx, edx
imul eax, dword [ebx + 8], 0x14
mov ebx, dword [ebp - 0x74]
add ebx, 0xffffffec
add ebx, eax
jmp 0x606be2
mov ecx, dword [ebp - 0x14]
mov edx, 0x4000000
push dword [ebp - 0x24]
mov eax, dword [ecx + 0x20]
or dword [ecx + 0x20], edx
and eax, edx
mov dword [ebp - 0x4c], eax
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
imul esi, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0x10]
add esi, dword [ebp - 0x28]
mov eax, dword [eax + 8]
push esi
mov dword [ebp - 0x2c], eax
call fcn.00604663
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x60a33e
mov ecx, dword [ebp - 0x2c]
push dword [esi + 8]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x4c]
cmp dword [ebp - 0x4c], 0
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
jne 0x609a77
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x24]
and dword [ecx + 0x20], 0xfbffffff
mov dword [ecx + 0x24], eax
push dword [ebp - 0x2c]
push edi
call fcn.0060e0f7
jmp 0x6071ca
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
movlpd qword [ebp - 0x114], xmm0
cmp byte [eax + 0x57], 0
jne 0x60a31f
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 8]
mov dword [ebp - 0x4c], edx
test edx, edx
je 0x60a1ac
mov ecx, dword [edx]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x60a1ac
mov eax, dword [ebx + 8]
mov dword [ebp - 0x54], eax
xor eax, eax
cmp dword [ecx + 0x34], eax
je 0x604e14
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov esi, dword [ebp - 0x54]
mov al, byte [eax + 0x5c]
mov byte [ebp - 0x3d], al
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0x2c], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0x28]
test esi, esi
jle 0x609afc
mov edx, dword [ebp - 0x2c]
mov dword [edx + ecx*4], eax
add eax, 0x28
inc ecx
cmp ecx, esi
jl 0x609aee
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x14]
mov al, byte [ebx + 2]
mov byte [ecx + 0x5c], al
lea eax, [ebp - 0x114]
push eax
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
push esi
push edx
call dword [eax + 0x34]
mov ecx, dword [ebp - 0x14]
push dword [ebp - 0x4c]
mov dword [ebp - 0x18], eax
mov al, byte [ebp - 0x3d]
push edi
mov byte [ecx + 0x5c], al
call fcn.0060e0f7
mov ecx, dword [ebp - 0x18]
add esp, 0x18
mov esi, dword [ebp - 0x14]
xor edx, edx
test ecx, ecx
jne 0x609b52
cmp dword [ebx + 4], edx
je 0x609b52
mov eax, dword [ebp - 0x114]
mov dword [esi + 0x28], eax
mov eax, dword [ebp - 0x110]
mov dword [esi + 0x2c], eax
cmp cl, 0x13
jne 0x609b8b
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x609b8b
movzx eax, word [ebx + 2]
cmp ax, word [ebp - 0xd4]
jne 0x609b77
mov esi, edx
mov dword [ebp - 0x18], esi
jmp 0x604e47
cmp ax, word [ebp - 0x10c]
jne 0x609b83
mov eax, dword [ebp - 0x64]
mov byte [edi + 0x94], al
jmp 0x609b94
mov eax, dword [ebp - 0x24]
add dword [edi + 0x28], eax
adc dword [edi + 0x2c], edx
test ecx, ecx
jne 0x60a341
jmp 0x60711b
push ebx
push edi
call fcn.005d96f5
mov edx, dword [ebx + 4]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
add edx, edx
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
xor edx, edx
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x30]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x604e47
push ebx
push edi
call fcn.005d96f5
mov edx, dword [ebx + 4]
mov dword [ebp - 0x4c], eax
add edx, edx
mov eax, dword [ebp - 0x14]
pop ecx
pop ecx
mov ecx, dword [eax + 0x10]
xor eax, eax
mov esi, eax
mov ecx, dword [ecx + edx*8 + 4]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x2c], ecx
test edx, edx
je 0x609bff
mov eax, dword [ecx + 4]
mov esi, dword [eax + 0x30]
cmp esi, edx
cmovb esi, edx
push ecx
call fcn.005e62b3
pop ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
test esi, esi
je 0x609c18
mov dword [eax + 0xa0], esi
mov esi, dword [eax + 0xa0]
push ecx
call fcn.005e703f
mov eax, dword [ebp - 0x4c]
xor edx, edx
pop ecx
mov dword [eax], esi
mov dword [eax + 4], edx
jmp 0x60711b
imul edx, dword [ebx + 0xc], 0x28
mov esi, dword [ebx + 0x10]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
cmp dword [esi], edx
je 0x609c7c
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov al, byte [ebp - 0x68]
mov dword [esi + 0xc], edi
mov dword [esi], edx
mov byte [esi + 0x18], al
js 0x609c7c
lea edi, [ecx + 7]
push 4
lea edi, [esi + edi*4]
pop edx
mov eax, dword [ebx + 8]
add eax, ecx
imul eax, eax, 0x28
add eax, dword [ebp - 0x28]
mov dword [edi], eax
sub edi, edx
sub ecx, 1
jns 0x609c62
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x2c]
mov ax, word [edx + 0x10]
mov ecx, 0xf241
and ax, cx
or ax, word [ebp - 0x24]
mov word [edx + 0x10], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
push esi
call dword [ecx + 0x10]
mov eax, dword [esi + 0x14]
add esp, 0xc
test eax, eax
je 0x609ce6
jle 0x609cc9
push dword [ebp - 0x2c]
call fcn.005b7131
push eax
push 0x71ddfc
push edi
call fcn.00604c68
mov eax, dword [esi + 0x14]
add esp, 0x10
mov dword [ebp - 0x18], eax
push dword [ebx + 4]
lea eax, [edi + 0xe4]
push dword [esi + 0x10]
push eax
push dword [ebp - 0x14]
call fcn.00604943
add esp, 0x10
jmp 0x6092c8
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
jmp case.0x604dd6.89
imul eax, dword [ebx + 4], 0x28
mov ecx, 0xf7ff
add eax, dword [ebp - 0x28]
and word [eax + 0x10], cx
jmp 0x604e14
imul ebx, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x3c]
push eax
add ebx, eax
call fcn.005cf168
pop ecx
mov esi, eax
mov eax, dword [ebx + 0xc]
pop ecx
mov ecx, edx
shl eax, 3
cdq
push edx
push eax
push ecx
push esi
call fcn.0056ec10
mov ecx, dword [ebx + 8]
mov edi, eax
mov ebx, dword [ebp - 0x3c]
mov esi, edi
shrd esi, edx, 3
and edi, 7
shr edx, 3
movsx eax, byte [esi + ecx]
bts eax, edi
mov byte [esi + ecx], al
jmp 0x6088a2
imul ebx, dword [ebx + 4], 0x28
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x3c]
push eax
add ebx, eax
call fcn.005cf168
pop ecx
mov esi, eax
mov eax, dword [ebx + 0xc]
pop ecx
mov ecx, edx
shl eax, 3
cdq
push edx
push eax
push ecx
push esi
call fcn.0056ec10
mov ecx, dword [ebx + 8]
mov edi, eax
mov eax, dword [ebp - 0x24]
mov esi, edi
mov ebx, dword [ebp - 0x3c]
and edi, 7
shrd esi, edx, 3
shr edx, 3
movsx edx, byte [esi + ecx]
mov ecx, edi
mov esi, dword [ebp - 0x18]
shl eax, cl
test eax, edx
jne 0x609dad
mov eax, dword [ebp - 0x48]
inc dword [eax + 0xc4]
jmp 0x605c7e
mov edi, dword [ebp - 0x48]
inc dword [edi + 0xc0]
jmp 0x604e14
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + 0x5e]
test cl, 0x41
je 0x609e70
cmp byte [edi + 0x95], 0xfe
je 0x609e70
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x609dec
mov eax, dword [edi + 0xc8]
test eax, eax
je 0x609e70
push eax
test cl, 0x40
je 0x609e18
push edi
call fcn.0060a778
mov esi, eax
mov eax, dword [ebp - 0x14]
push esi
push dword [eax + 0xdc]
call dword [eax + 0xd8]
push esi
call fcn.005bc3c6
mov esi, dword [ebp - 0x18]
add esp, 0x14
jmp 0x609e70
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
cmp dword [ecx + 0xc8], edx
jle 0x609e5f
push str.____s
push ecx
call fcn.005f6bae
push eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
push edi
push dword [eax + 0xdc]
push dword [ebp - 0x24]
call dword [eax + 0xd8]
mov eax, dword [ebp - 0x2c]
add esp, 0x1c
test eax, eax
je 0x609e70
push eax
push dword [ebp - 0x14]
call fcn.005eac86
pop ecx
pop ecx
jmp 0x609e70
push edi
push dword [ecx + 0xdc]
push edx
call dword [ecx + 0xd8]
add esp, 0x10
mov eax, dword [ebx + 4]
cmp eax, dword [0x784894]
jl 0x609eb3
cmp byte [ebx], 0xb5
je 0x604e14
mov eax, dword [ebp - 0x24]
mov edx, eax
cmp dword [edi + 0x6c], eax
jle 0x609eac
mov eax, dword [ebp - 0x78]
mov esi, eax
mov ecx, dword [edi + 0x68]
cmp byte [eax + ecx], 0xf
jne 0x609ea1
and dword [eax + ecx + 4], 0
inc edx
add eax, esi
cmp edx, dword [edi + 0x6c]
jl 0x609e93
mov esi, dword [ebp - 0x18]
xor edx, edx
mov dword [ebx + 4], edx
jmp 0x609eb5
xor edx, edx
inc dword [ebx + 4]
inc dword [edi + 0xbc]
jmp 0x605c80
mov ecx, dword [ebx + 4]
mov dword [edi + 0x24], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x94], al
test ecx, ecx
je 0x609f49
movzx eax, word [ebx + 2]
test ax, ax
je 0x609f15
push dword [eax*4 + 0x719930]
push str._s_constraint_failed
push edi
call fcn.00604c68
add esp, 0xc
cmp dword [ebx + 0x10], 0
je 0x609f26
push dword [ebx + 0x10]
push dword [edi + 0x7c]
push str._z:__s
push dword [ebp - 0x14]
call fcn.005f6bae
add esp, 0x10
mov dword [edi + 0x7c], eax
jmp 0x609f26
push dword [ebx + 0x10]
push 0x71ddfc
push edi
call fcn.00604c68
add esp, 0xc
mov eax, ebx
sub eax, dword [ebp - 0x74]
cdq
idiv dword [ebp - 0x78]
push dword [edi + 0x7c]
push dword [edi + 0xc8]
push eax
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.005b4454
add esp, 0x14
push edi
call fcn.0060ad14
mov edx, dword [ebp - 0x14]
mov esi, eax
pop ecx
push 5
pop eax
cmp esi, eax
jne 0x609f64
mov dword [edi + 0x24], eax
jmp 0x60a412
xor eax, eax
cmp dword [edi + 0x24], eax
push 0x65
pop ecx
cmovne ecx, dword [ebp - 0x24]
mov dword [ebp - 0x18], ecx
mov esi, ecx
jmp 0x60a412
push 0x172f1
call fcn.005e9975
pop ecx
mov ecx, eax
jmp 0x6059bc
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x54]
add eax, eax
mov esi, dword [ebp - 0x5c]
push dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
push dword [esi]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x7848a0]
movzx eax, word [edx + 0x10]
and eax, 0x3f
movzx eax, byte [eax + 0x7198b8]
push dword [eax*4 + 0x785a9c]
push str.cannot_store__s_value_in__s_column__s._s
push edi
call fcn.00604c68
add esp, 0x18
mov ecx, 0xc13
jmp 0x6059bc
push str.cannot_open_savepoint___SQL_statements_in_progress
push edi
call fcn.00604c68
pop ecx
pop ecx
push 5
pop eax
jmp 0x609f85
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x609fdf
mov eax, ebx
sub eax, dword [ebp - 0x74]
cdq
idiv dword [ebp - 0x78]
mov dword [edi + 0x20], eax
xor eax, eax
mov edx, dword [ebp - 0x14]
mov esi, ecx
mov byte [edx + 0x55], al
mov dword [edi + 0x24], ecx
jmp 0x60a412
mov eax, dword [ebp - 0x5c]
push eax
push str.no_such_savepoint:__s
push edi
call fcn.00604c68
add esp, 0xc
mov ecx, dword [ebp - 0x24]
jmp 0x6059bc
mov eax, dword [edx + 0x20]
xor ecx, ecx
and eax, 0x100000
mov esi, edx
or eax, ecx
je 0x60a042
push 8
pop eax
mov ecx, eax
jmp 0x60a045
push 0xb
pop ecx
mov dword [ebp - 0x18], ecx
jmp 0x60a341
cmp cl, 5
jne 0x60a33e
mov eax, ebx
mov esi, dword [ebp - 0x18]
sub eax, dword [ebp - 0x74]
cdq
idiv dword [ebp - 0x78]
mov dword [edi + 0x24], ecx
mov dword [edi + 0x20], eax
jmp 0x60a40f
cmp dword [edi + 0x7c], edx
je 0x60a07f
push dword [edi + 0x7c]
push dword [ebp - 0x14]
call fcn.005eac86
pop ecx
pop ecx
push str.database_schema_has_changed
push dword [ebp - 0x14]
call fcn.005eaff3
mov dword [edi + 0x7c], eax
mov eax, dword [ebp - 0x14]
pop ecx
pop ecx
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], esi
je 0x60a0b1
push dword [ebx + 4]
push dword [ebp - 0x14]
call fcn.005fd8a3
pop ecx
pop ecx
mov eax, dword [edi + 0x98]
push 0x11
and eax, 0xffffffed
or eax, dword [ebp - 0x24]
pop ecx
mov dword [ebp - 0x18], ecx
mov dword [edi + 0x98], eax
jmp 0x60a33e
mov ecx, 0x204
jmp 0x60a045
push str.index_corruption
push 0x17fea
push 0x30b
call fcn.005fd7b4
add esp, 0xc
jmp 0x609f85
push 0x180b7
jmp 0x609f7f
mov eax, dword [ebp - 0x64]
push 6
pop ecx
mov dword [ebp - 0x18], ecx
mov byte [edi + 0x94], al
jmp 0x60a341
push 7
pop eax
mov dword [ebp - 0x18], eax
push dword [ebp - 0x14]
call fcn.005fd83e
pop ecx
mov ecx, dword [ebp - 0x18]
cmp ecx, 7
je 0x60a31c
jmp 0x60a33e
push dword [ebp - 0xbc]
call fcn.005bc3c6
pop ecx
mov ecx, dword [ebp - 0x18]
jmp 0x60a33e
mov eax, dword [ebp - 0x24]
push str.too_many_levels_of_trigger_recursion
push edi
mov dword [ebp - 0x18], eax
call fcn.00604c68
pop ecx
jmp 0x60a13d
push ecx
call fcn.005b7131
push eax
push 0x71ddfc
push edi
call fcn.00604c68
add esp, 0x10
jmp 0x60a13e
mov eax, dword [ebp - 0x24]
mov edx, str.out_of
push 5
pop esi
mov dword [ebp - 0x18], eax
cmp ecx, esi
mov eax, str.into
cmovne eax, edx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push edi
call fcn.00604c68
add esp, 0xc
jmp 0x60a13e
mov eax, dword [ebp - 0x2c]
push dword [ebp - 0xc8]
call dword [eax + 0x1c]
pop ecx
jmp 0x60a31c
push 6
jmp 0x607dbe
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x90], eax
push 9
jmp 0x607dbe
mov eax, dword [edi + 0x1c]
add eax, dword [ebp - 0x64]
or eax, dword [ebp - 0x24]
mov dword [edi + 0x1c], eax
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0x28]
mov dword [edi + 0x78], eax
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x57], 0
jne 0x60a31f
push 4
pop edx
test byte [eax + 0x5e], dl
je 0x60a208
xor ecx, ecx
push ecx
push edi
push dword [eax + 0xdc]
push edx
call dword [eax + 0xd8]
add esp, 0x10
mov eax, ebx
sub eax, dword [ebp - 0x74]
cdq
idiv dword [ebp - 0x78]
push 0x64
inc eax
mov dword [edi + 0x20], eax
jmp 0x606fdb
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 8]
mov dword [ebp - 0xbc], edx
movzx eax, byte [ecx + 0x55]
cmp edx, eax
je 0x60a2c6
test esi, esi
je 0x60a24d
push 0x204
push ecx
call fcn.005fdd8e
mov eax, dword [ebp - 0x24]
pop ecx
pop ecx
jmp 0x60a280
test edx, edx
je 0x60a265
xor eax, eax
cmp dword [ecx + 0xc4], eax
jle 0x60a265
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x609fdf
push dword [ebp - 0x24]
push edi
call fcn.00604760
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x60a40f
mov eax, dword [ebp - 0xbc]
mov esi, dword [ebp - 0x14]
push edi
mov byte [esi + 0x55], al
call fcn.0060ad14
pop ecx
push 5
pop ecx
cmp eax, ecx
jne 0x60a2ae
mov eax, ebx
sub eax, dword [ebp - 0x74]
cdq
idiv dword [ebp - 0x78]
mov dword [edi + 0x20], eax
mov al, byte [ebp - 0x24]
sub al, byte [ebp - 0xbc]
jmp 0x60a001
push esi
call fcn.005e8528
pop ecx
xor eax, eax
cmp dword [edi + 0x24], eax
push 0x65
pop esi
cmovne esi, dword [ebp - 0x24]
jmp 0x60a40f
test esi, esi
mov eax, str.cannot_commit___no_transaction_is_active
mov ecx, str.cannot_rollback___no_transaction_is_active
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmovne eax, ecx
push eax
push edi
call fcn.00604c68
pop ecx
pop ecx
jmp 0x60a023
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x1c], eax
jmp 0x60a1c2
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
push eax
call fcn.005f732e
mov dword [esp], str.out_of_memory
push edi
call fcn.00604c68
pop ecx
pop ecx
push 7
jmp 0x607dbe
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp - 0x14]
cmp byte [esi + 0x57], 0
je 0x60a34c
push 7
pop ecx
jmp 0x60a361
cmp ecx, 0x210a
jne 0x60a364
push 0x18949
call fcn.005e9975
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
xor eax, eax
cmp dword [edi + 0x7c], eax
jne 0x60a388
cmp ecx, 0xc0a
je 0x60a388
push ecx
call fcn.005ec78c
push eax
push 0x71ddfc
push edi
call fcn.00604c68
add esp, 0x10
mov esi, dword [ebp - 0x18]
push esi
push dword [ebp - 0x14]
mov dword [edi + 0x24], esi
call fcn.00601a5f
mov eax, ebx
sub eax, dword [ebp - 0x74]
cdq
idiv dword [ebp - 0x78]
push dword [edi + 0x7c]
push dword [edi + 0xc8]
push eax
push str.statement_aborts_at__d:___s___s
push esi
call fcn.005b4454
mov eax, dword [ebp - 0x64]
add esp, 0x1c
cmp byte [edi + 0x97], al
jne 0x60a3ca
push edi
call fcn.0060ad14
pop ecx
cmp esi, 0xc0a
jne 0x60a3db
push dword [ebp - 0x14]
call fcn.005f732e
pop ecx
mov edx, dword [ebp - 0x14]
cmp esi, 0xb
jne 0x60a3f5
cmp byte [edx + 0x55], 0
jne 0x60a3f5
mov eax, dword [edx + 0x20]
mov dword [edx + 0x20], eax
mov eax, dword [ebp - 0x64]
or dword [edx + 0x24], eax
mov al, byte [ebp - 0x85]
mov esi, dword [ebp - 0x24]
test al, al
je 0x60a412
movzx eax, al
dec eax
push eax
push edx
call fcn.005fd8a3
pop ecx
pop ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x90]
jb 0x60a472
mov ecx, dword [ebp - 0x80]
ja 0x60a42a
cmp dword [ebp - 0x1c], ecx
jb 0x60a472
mov eax, dword [edx + 0x174]
test eax, eax
je 0x60a472
add ecx, dword [edx + 0x17c]
push 0
mov dword [ebp - 0x80], ecx
pop ecx
push dword [edx + 0x178]
adc dword [ebp - 0x90], ecx
call eax
mov edx, dword [ebp - 0x14]
pop ecx
test eax, eax
je 0x60a412
mov eax, dword [ebp - 0x84]
mov esi, edx
push 9
pop ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x18], ecx
jmp 0x60a341
mov ecx, dword [ebp - 0x1c]
xor eax, eax
add dword [edi + 0xb4], ecx
cmp dword [edi + 0xa0], eax
je 0x60a48c
push edi
call fcn.0060b2e9
pop ecx
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0056e1bf
mov esp, ebp
pop ebp
ret