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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2dc
mov eax, dword [0x5876e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0xdc], 0
push edi
mov dword [ebp - 0xd4], esi
mov byte [ebp - 0x115], 0
mov ebx, dword [esi]
mov edi, dword [esi + 4]
mov dword [ebp - 0x104], edi
mov dword [ebp - 0xd0], edi
mov al, byte [ebx + 0x42]
mov byte [ebp - 0x108], al
mov eax, dword [esi + 8]
mov dword [ebp - 0xe0], eax
xor eax, eax
mov dword [ebp - 0x154], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x138], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x174], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x134], eax
call fcn.0047a4b0
cmp dword [esi + 0x50], 7
je 0x48668b
mov dword [esi + 0x50], 0
mov dword [esi + 0x90], 0
mov dword [esi + 0x94], 0
mov dword [esi + 0x14], 0
cmp dword [ebx + 0xf8], 0
mov dword [ebx + 0x184], 0
jne 0x486624
cmp dword [ebx + 0x130], 0
je 0x480dc9
mov ecx, dword [ebx + 0x138]
xor edx, edx
mov eax, dword [esi + 0x84]
div ecx
sub ecx, edx
mov dword [ebp - 0x160], ecx
mov eax, dword [esi + 0x4c]
mov ecx, 4
mov dword [ebp - 0x1d4], 0x3e00
lea eax, [eax + eax*4]
lea edi, [edi + eax*4]
xor eax, eax
inc eax
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xd8], eax
mov al, byte [edi]
movzx edx, al
mov byte [ebp - 0xe1], al
mov dword [ebp - 0xf4], edx
cmp edx, 0x9e
ja case.0x480e0d.62
jmp dword [edx*4 + 0x486820]
mov edx, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, 0x66666667
mov word [ebx + esi*8 + 8], cx
mov ecx, edx
sub ecx, dword [ebp - 0x104]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
mov edi, dword [ebp - 0xd0]
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x104]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ecx + eax*4]
jmp 0x481314
mov eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x104]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*4]
mov eax, 0x80
mov word [ebx + ecx*8 + 8], ax
add edi, 0x14
mov eax, dword [ebp - 0xd8]
mov ecx, 4
mov ebx, dword [ebp - 0x110]
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xd0]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [ebx + ecx*8], eax
mov eax, 4
mov dword [ebx + ecx*8 + 4], edx
mov word [ebx + ecx*8 + 8], ax
cmp dword [edi + 8], 0
jne 0x480e52
mov ebx, dword [ebp - 0x110]
mov ecx, eax
mov eax, dword [ebp - 0xd8]
add edi, 0x14
jmp 0x480de3
mov eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x104]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x480e87
mov edx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0x104]
mov ebx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
sub edx, edi
lea esi, [eax + eax*4]
mov eax, 0x66666667
imul edx
mov word [ebx + esi*8 + 8], cx
mov ecx, dword [ebx + esi*8]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
mov dword [ebx + esi*8 + 4], edx
lea edi, [edi + eax*4]
jmp 0x481314
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x481063
mov ecx, dword [ebp - 0xd0]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x104]
mov edi, dword [ebp - 0xd4]
imul ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [ebp - 0xd0]
cmp dword [edx + 4], 0
jne 0x4860c3
mov ecx, dword [edi + 0xb8]
test ecx, ecx
je 0x4860c3
mov eax, dword [ecx + 4]
mov esi, edi
dec dword [esi + 0xc0]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0x64]
add dword [ebx + 0x58], eax
mov dword [ebx + 0x54], eax
call fcn.0047aff0
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x138], ecx
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0x134], ecx
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx + 8], 4
jne 0x481014
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov edx, dword [esi + 4]
lea eax, [eax + eax*4]
mov ecx, dword [esi + 8]
mov ebx, dword [ebp - 0x110]
mov dword [ebp - 0xe0], ecx
mov ecx, 4
lea edi, [edx + eax*4]
mov dword [ebp - 0x104], edx
mov eax, dword [ebp - 0xd8]
add edi, 0x14
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.00480ca0
mov ecx, eax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
cdq
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov edi, dword [ebp - 0xd0]
mov ecx, 4
mov eax, dword [ebp - 0xd8]
add edi, 0x14
mov ebx, dword [ebp - 0x110]
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.00480ca0
mov edi, dword [ebp - 0xd0]
mov edx, eax
mov eax, dword [ebp - 0xd0]
add edi, 0x14
mov ebx, dword [ebp - 0x110]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, 4
mov dword [edx + 4], eax
mov eax, dword [ebp - 0xd8]
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.00480ca0
mov edi, dword [ebp - 0xd0]
mov ecx, eax
mov ebx, dword [ebp - 0x110]
mov eax, 8
add edi, 0x14
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0xd8]
movsd qword [ecx], xmm0
mov ecx, 4
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.00480ca0
mov esi, eax
mov eax, dword [ebp - 0xd0]
mov edi, dword [eax + 0x10]
mov ecx, edi
mov byte [eax], 0x18
call fcn.0045c900
cmp byte [ebp - 0x108], 1
mov edx, dword [ebp - 0xd0]
mov dword [edx + 4], eax
je 0x4811ad
push 0
push 1
push 0xffffffffffffffff
mov edx, edi
mov ecx, esi
call fcn.00478640
add esp, 0xc
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4863d7
movzx edx, byte [ebp - 0x108]
mov ecx, esi
call fcn.00477a00
test eax, eax
jne 0x486685
mov edx, dword [ebp - 0xd0]
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
cmp byte [edx + 1], 0xff
jne 0x48119d
mov edx, dword [edx + 0x10]
mov ecx, ebx
call fcn.00459d00
mov edx, dword [ebp - 0xd0]
mov byte [edx + 1], 0xff
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 4], eax
mov eax, dword [edx + 4]
cmp eax, dword [ebx + 0x5c]
jg 0x4863d7
mov esi, dword [ebp - 0xd4]
mov ecx, esi
call fcn.00480ca0
mov edi, dword [ebp - 0xd0]
mov edx, eax
mov eax, 0xa02
mov word [edx + 8], ax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
mov dword [edx + 0xc], eax
mov al, byte [ebp - 0x108]
mov byte [edx + 0xa], al
cmp byte [edi + 3], 0
je 0x48131a
mov eax, dword [edi + 0xc]
mov ebx, dword [ebp - 0xe0]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8]
or eax, dword [ebx + ecx*8 + 4]
mov ecx, 4
je case.0x480e0d.62
mov ebx, dword [ebp - 0x110]
mov eax, 0xa10
mov word [edx + 8], ax
add edi, 0x14
mov eax, dword [ebp - 0xd8]
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
jmp 0x4811bf
mov ebx, dword [ebp - 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00480ca0
mov edi, dword [ebx + 0xc]
mov esi, eax
sub edi, dword [ebx + 8]
mov ecx, 1
cmp dword [ebx + 4], 0
mov eax, 0x101
cmovne ecx, eax
movzx ebx, cx
mov word [esi + 8], bx
test edi, edi
jle 0x48130e
nop
add esi, 0x28
mov ecx, esi
call fcn.00478350
dec edi
mov word [esi + 8], bx
test edi, edi
jg 0x481280
jmp 0x48130e
mov eax, dword [ebp - 0xd0]
mov edx, 0xff7f
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 8]
and ax, dx
or ax, 1
add edi, 0x14
mov word [ebx + ecx*8 + 8], ax
mov ecx, 4
mov eax, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0x110]
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.00480ca0
mov esi, eax
mov eax, dword [ebp - 0xd0]
push 0
push 0
mov ecx, esi
push dword [eax + 4]
mov edx, dword [eax + 0x10]
call fcn.00478640
add esp, 0xc
mov al, byte [ebp - 0x108]
mov byte [esi + 0xa], al
mov edi, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd4]
mov ecx, 4
mov eax, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0x110]
add edi, 0x14
jmp 0x480de3
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x3c]
lea esi, [eax + ecx*8]
lea ecx, [esi - 0x28]
call fcn.004784c0
test eax, eax
jne 0x4863d7
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd4]
call fcn.00480ca0
push 0x800
lea edx, [esi - 0x28]
mov ecx, eax
call fcn.00478520
add esp, 4
jmp 0x48130e
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xec], eax
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov edx, edi
mov ecx, esi
call fcn.004785f0
mov eax, 0x1000
test word [esi + 8], ax
je 0x4813c4
mov ecx, esi
call fcn.00477b60
test eax, eax
jne 0x486685
add edi, 0x28
add esi, 0x28
dec dword [ebp - 0xec]
jne 0x4813a1
jmp 0x48130e
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xec], eax
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov edi, edi
push 0x1000
mov edx, edi
mov ecx, esi
call fcn.00478520
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x48142b
mov ecx, esi
call fcn.00477b60
test eax, eax
jne 0x486685
mov ecx, dword [ebp - 0xec]
mov eax, ecx
dec ecx
mov dword [ebp - 0xec], ecx
test eax, eax
je 0x48130e
add esi, 0x28
add edi, 0x28
jmp 0x481400
mov eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe0]
push 0x1000
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.00478520
mov edi, dword [ebp - 0xd0]
add esp, 4
mov eax, dword [ebp - 0xd8]
mov ecx, 4
mov ebx, dword [ebp - 0x110]
add edi, 0x14
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
push dword [ebx + eax*8 + 4]
push dword [ebx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.004783b0
mov edi, dword [ebp - 0xd0]
add esp, 8
mov eax, dword [ebp - 0xd8]
mov ecx, 4
mov ebx, dword [ebp - 0x110]
add edi, 0x14
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edx + 8]
mov dword [ebp - 0xec], ecx
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [edx + 0xc]
movzx edx, word [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov al, byte [edi + 8]
or al, dl
test al, 1
je 0x481529
mov ecx, esi
call fcn.00478350
jmp 0x48130e
test edx, 0x4000
je 0x48153e
call fcn.00477bd0
test eax, eax
jne 0x486685
mov eax, 0x4000
test word [edi + 8], ax
je 0x481558
mov ecx, edi
call fcn.00477bd0
test eax, eax
jne 0x486685
mov eax, dword [ebp - 0xec]
test byte [eax + 8], 0x12
jne 0x48157e
mov dl, byte [ebp - 0x108]
mov ecx, eax
push 0
call fcn.00477c90
add esp, 4
test eax, eax
jne 0x486685
test byte [edi + 8], 0x12
jne 0x48159e
mov dl, byte [ebp - 0x108]
mov ecx, edi
push 0
call fcn.00477c90
add esp, 4
test eax, eax
jne 0x486685
mov ecx, dword [ebp - 0xec]
mov eax, dword [edi + 0xc]
add eax, dword [ecx + 0xc]
cdq
mov dword [ebp - 0x11c], eax
mov ecx, edx
mov eax, dword [ebx + 0x5c]
cdq
cmp ecx, edx
jg 0x4863d7
mov edx, dword [ebp - 0x11c]
jl 0x4815cf
cmp edx, eax
ja 0x4863d7
xor eax, eax
mov ecx, esi
cmp esi, edi
sete al
add edx, 2
push eax
call fcn.00477a20
add esp, 4
test eax, eax
jne 0x486685
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x481615
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.00511d80
add esp, 0xc
mov eax, dword [ebp - 0xec]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
add eax, dword [edi + 0xc]
push eax
call fcn.00511d80
mov eax, dword [esi + 0x10]
add esp, 0xc
mov ecx, dword [ebp - 0x11c]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
or word [esi + 8], ax
mov dword [esi + 0xc], ecx
jmp 0x481305
mov eax, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea ebx, [esi + eax*8]
mov ecx, ebx
call fcn.00480c40
movzx eax, ax
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov ecx, eax
mov dword [ebp - 0xf0], eax
call fcn.00480c40
movzx ecx, ax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xe8], ecx
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov esi, dword [ebp - 0xf0]
mov dword [ebp - 0xec], eax
mov al, byte [esi + 8]
or al, byte [ebx + 8]
test al, 1
jne 0x481924
mov al, cl
and al, byte [ebp - 0x11c]
test al, 4
je 0x481829
mov ecx, dword [ebx]
mov eax, esi
mov edx, dword [ebx + 4]
mov byte [ebp - 0xe1], 1
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x148], esi
mov dword [ebp - 0x144], edi
movzx eax, byte [eax]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x48170d
jmp dword [eax*4 + 0x486a9c]
push edx
push ecx
lea ecx, [ebp - 0x148]
call fcn.0045dd10
add esp, 8
test eax, eax
je 0x4817f9
mov esi, dword [ebp - 0xf0]
mov ecx, ebx
call fcn.00478000
mov ecx, esi
movsd qword [ebp - 0x100], xmm0
call fcn.00478000
mov eax, dword [ebp - 0xd0]
movapd xmm1, xmm0
movsd qword [ebp - 0x130], xmm1
movzx eax, byte [eax]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x481769
jmp dword [eax*4 + 0x486aac]
push edx
push ecx
lea ecx, [ebp - 0x148]
call fcn.0045ddb0
add esp, 8
test eax, eax
jne 0x48172c
jmp 0x4817f9
push edx
push ecx
lea ecx, [ebp - 0x148]
call fcn.0045de00
add esp, 8
test eax, eax
jne 0x48172c
jmp 0x4817f9
mov eax, ecx
or eax, edx
je 0x481924
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x4817bf
test esi, esi
jne 0x4817bf
cmp edi, 0x80000000
je 0x48172c
push edx
push ecx
push edi
push esi
call fcn.0050d610
jmp 0x4817ed
mov eax, ecx
or eax, edx
je 0x481924
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x4817e4
mov ecx, 1
xor edx, edx
push edx
push ecx
push edi
push esi
call fcn.00516f40
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0xec]
mov edx, 0x3e00
mov eax, dword [ebp - 0x148]
mov dword [ecx], eax
mov eax, dword [ebp - 0x144]
mov dword [ecx + 4], eax
mov ax, word [ecx + 8]
and ax, dx
or ax, 4
mov word [ecx + 8], ax
jmp 0x48130e
mov byte [ebp - 0xe1], 0
jmp 0x481732
addsd xmm1, qword [ebp - 0x100]
jmp 0x4818ce
subsd xmm1, qword [ebp - 0x100]
jmp 0x4818ce
mulsd xmm1, qword [ebp - 0x100]
jmp 0x4818ce
movsd xmm0, qword [ebp - 0x100]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x481924
divsd xmm1, xmm0
jmp 0x4818ce
movsd xmm0, qword [ebp - 0x100]
call fcn.0054745f
movsd xmm0, qword [ebp - 0x130]
mov esi, eax
mov edi, edx
call fcn.0054745f
mov ecx, eax
mov dword [ebp - 0x144], edx
mov eax, esi
mov dword [ebp - 0x148], ecx
or eax, edi
je 0x481924
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x4818ba
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push ecx
call fcn.00516f40
mov ecx, eax
call fcn.005475ff
movapd xmm1, xmm0
movapd xmm0, xmm1
call fcn.0045c8c0
test eax, eax
jne 0x481924
mov ecx, dword [ebp - 0xec]
mov edx, 0x3e00
mov ax, word [ecx + 8]
and ax, dx
movsd qword [ecx], xmm1
or ax, 8
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xe8]
or al, byte [ebp - 0x11c]
test al, 8
jne 0x48130e
cmp byte [ebp - 0xe1], 0
jne 0x48130e
call fcn.00478060
jmp 0x48130e
mov ecx, dword [ebp - 0xec]
call fcn.00478350
jmp 0x48130e
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
test eax, eax
je 0x48484b
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.004783b0
mov edi, dword [ebp - 0xd0]
add esp, 8
mov eax, dword [ebp - 0xd8]
mov ecx, 4
mov ebx, dword [ebp - 0x110]
add edi, 0x14
jmp 0x480de3
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
push 0
movzx eax, byte [eax + 3]
mov dword [ebp - 0xe8], eax
lea eax, [eax*4 + 0x1c]
push eax
call fcn.0045a000
mov esi, eax
add esp, 8
test esi, esi
je 0x486685
mov ecx, dword [ebp - 0xd0]
mov dword [esi], 0
mov eax, dword [ecx + 0x10]
sub ecx, dword [ebp - 0x104]
mov dword [esi + 4], eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xd4]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0xe8]
mov byte [esi + 0x1a], al
mov eax, dword [ebp - 0xd0]
mov word [eax], 0xec24
mov dword [eax + 0x10], esi
jmp 0x4819fe
mov eax, dword [ebp - 0xd0]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [ebp - 0xe8], edi
cmp dword [esi], edi
je 0x481a55
movzx ecx, byte [esi + 0x1a]
dec ecx
mov dword [esi], edi
js 0x481a55
mov ebx, dword [ebp - 0xd0]
lea edx, [ecx + 7]
mov edi, dword [ebp - 0xe0]
lea edx, [esi + edx*4]
mov eax, dword [ebx + 8]
lea edx, [edx - 4]
add eax, ecx
dec ecx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + 4], eax
jns 0x481a35
mov ebx, dword [ebp - 0x110]
mov edi, dword [ebp - 0xe8]
mov ecx, dword [esi]
mov edx, 0x3e00
mov ax, word [ecx + 8]
and ax, dx
or ax, 1
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x138]
mov byte [esi + 0x19], 0
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x134]
mov dword [ebx + 0x24], eax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov eax, dword [ecx + 0xc]
push esi
call eax
mov eax, dword [ebx + 0x20]
add esp, 0xc
cmp byte [esi + 0x19], 0
mov dword [ebp - 0x138], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x134], eax
je 0x481b0b
cmp dword [esi + 0x14], 0
je 0x481adb
push dword [esi]
call fcn.0047e400
add esp, 4
push eax
push 0x568b20
push dword [ebp - 0xd4]
call fcn.00479000
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
mov edx, dword [ebp - 0xd4]
push dword [eax + 4]
lea edx, [edx + 0xd4]
push dword [esi + 0x10]
call fcn.0047c190
mov eax, dword [ebp - 0xdc]
add esp, 8
test eax, eax
jne 0x4861b7
test byte [edi + 8], 0x12
je 0x48130e
movzx edx, byte [ebp - 0x108]
mov ecx, dword [esi]
call fcn.00477a00
mov ecx, dword [esi]
call fcn.004784c0
mov esi, dword [ebp - 0xd4]
test eax, eax
jne 0x4863dd
mov edi, dword [ebp - 0xd0]
lea ecx, [eax + 4]
mov eax, dword [ebp - 0xd8]
add edi, 0x14
mov ebx, dword [ebp - 0x110]
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov al, byte [ecx + 8]
or al, byte [esi + 8]
mov dword [ebp - 0xe8], edx
test al, 1
je 0x481b98
mov ecx, edx
call fcn.00478350
jmp 0x48130e
call fcn.00477f50
mov ebx, eax
mov edi, edx
mov ecx, esi
mov dword [ebp - 0x1b8], ebx
mov dword [ebp - 0x1b4], edi
call fcn.00477f50
mov esi, eax
mov eax, dword [ebp - 0xd0]
mov cl, byte [eax]
cmp cl, 0x55
jne 0x481bcc
and ebx, esi
and edi, edx
jmp 0x481c5d
cmp cl, 0x56
jne 0x481bda
or ebx, esi
or edi, edx
jmp 0x481c5d
mov eax, esi
or eax, edx
je 0x481c5d
test edx, edx
jg 0x481c12
jl 0x481bee
test esi, esi
jae 0x481c07
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x481c12
jg 0x481c00
cmp esi, 0xffffffc0
jbe 0x481c12
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x481c34
jg 0x481c12
cmp esi, 0x40
jb 0x481c34
test edi, edi
jg 0x481c2b
jl 0x481c1c
test ebx, ebx
jae 0x481c2b
cmp cl, 0x57
je 0x481c2b
or eax, 0xffffffff
cdq
mov ebx, eax
mov edi, edx
jmp 0x481c5d
xor eax, eax
cdq
mov ebx, eax
mov edi, edx
jmp 0x481c5d
movq xmm1, qword [ebp - 0x1b8]
movd xmm0, esi
cmp cl, 0x57
jne 0x481c81
psllq xmm1, xmm0
movq qword [ebp - 0x100], xmm1
mov ebx, dword [ebp - 0x100]
mov edi, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xe8]
mov edx, 0x3e00
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx], ebx
or ax, 4
mov dword [ecx + 4], edi
mov word [ecx + 8], ax
jmp 0x48130e
psrlq xmm1, xmm0
movq qword [ebp - 0x100], xmm1
test edi, edi
jg 0x481c51
jl 0x481c97
test ebx, ebx
jae 0x481c51
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, esi
or edx, 0xffffffff
call fcn.0050dc30
mov ebx, dword [ebp - 0x100]
mov edi, dword [ebp - 0xfc]
or ebx, eax
or edi, edx
jmp 0x481c5d
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00478100
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp 0x48130e
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
test al, 4
jne 0x481d47
test al, 8
jne 0x481d1e
test al, 2
je 0x481d25
mov edx, 1
mov ecx, esi
call fcn.00480a50
jmp 0x481d25
mov ecx, esi
call fcn.00478060
movzx eax, word [esi + 8]
test al, 4
jne 0x481d47
mov edi, dword [ebp - 0xd0]
cmp dword [edi + 8], 0
jne 0x480e52
mov eax, 0x14
jmp 0x4861b7
and eax, 0x3e00
or eax, 4
mov word [esi + 8], ax
jmp 0x48130e
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 4
lea ecx, [ecx + eax*8]
je 0x481063
call fcn.00478130
mov edi, dword [ebp - 0xd0]
mov ecx, 4
mov eax, dword [ebp - 0xd8]
add edi, 0x14
mov ebx, dword [ebp - 0x110]
jmp 0x480de3
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x481dcb
mov ecx, esi
call fcn.00477bd0
mov dword [ebp - 0xdc], eax
jmp 0x481dd5
mov dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xd0]
mov ecx, esi
push dword [ebp - 0x108]
mov dl, byte [eax + 8]
call fcn.00478280
add esp, 4
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xd4]
test eax, eax
jne 0x4861bd
mov edi, dword [ebp - 0xd0]
lea ecx, [eax + 4]
mov eax, dword [ebp - 0xd8]
add edi, 0x14
mov ebx, dword [ebp - 0x110]
jmp 0x480de3
mov ebx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
movzx esi, word [edi + eax*8 + 8]
lea edx, [edi + eax*8]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0xf4], edx
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
movzx edi, word [edi + eax*8 + 8]
mov dword [ebp - 0xf0], edi
mov bl, byte [ebp - 0xf0]
mov dword [ebp - 0xf8], ecx
mov al, bl
mov cl, byte [ebp - 0x10c]
or al, cl
test al, 1
mov eax, dword [ebp - 0xd0]
mov al, byte [eax + 3]
je 0x481ef7
test al, al
jns 0x481eb7
test cl, 1
je 0x481ea1
test bl, 1
je 0x481ea1
test edi, 0x100
jne 0x481ea1
mov ebx, dword [ebp - 0xf8]
xor ecx, ecx
mov esi, edx
jmp 0x48201b
mov ebx, dword [ebp - 0xf8]
mov ecx, 1
mov esi, dword [ebp - 0xf4]
jmp 0x48201b
mov edi, dword [ebp - 0xd0]
test al, 0x20
je 0x481eea
mov ebx, dword [ebp - 0xe0]
mov eax, edi
mov edx, 0x3e00
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 8]
and ax, dx
or ax, 1
mov word [ebx + ecx*8 + 8], ax
jmp 0x481314
test al, 0x10
jne 0x480e52
jmp 0x481314
and al, 0x47
cmp al, 0x43
jl 0x481f32
and cl, 0xe
cmp cl, 2
jne 0x481f12
mov ecx, dword [ebp - 0xf4]
xor edx, edx
call fcn.00480a50
and bl, 0xe
cmp bl, 2
mov ebx, dword [ebp - 0xf8]
jne 0x481fc4
xor edx, edx
mov ecx, ebx
call fcn.00480a50
jmp 0x481fc4
cmp al, 0x42
jne 0x481fbe
mov bh, byte [ebp - 0x108]
test cl, 2
jne 0x481f7e
test cl, 0xc
je 0x481f7e
mov esi, dword [ebp - 0xf4]
mov dl, bh
push 1
mov ecx, esi
call fcn.00477c90
mov ax, word [esi + 8]
mov ecx, 0x7e00
xor ax, word [ebp - 0x10c]
add esp, 4
and ax, cx
xor word [ebp - 0x10c], ax
mov esi, dword [ebp - 0x10c]
test bl, 2
jne 0x481fbe
test bl, 0xc
je 0x481fbe
mov dl, bh
mov ebx, dword [ebp - 0xf8]
push 1
mov ecx, ebx
call fcn.00477c90
mov ax, word [ebx + 8]
mov ecx, 0x7e00
xor ax, word [ebp - 0xf0]
add esp, 4
and ax, cx
xor word [ebp - 0xf0], ax
mov edi, dword [ebp - 0xf0]
jmp 0x481fc4
mov ebx, dword [ebp - 0xf8]
test esi, 0x4000
je 0x481fe3
mov ecx, dword [ebp - 0xf4]
call fcn.00477bd0
and esi, 0xbfff
mov dword [ebp - 0x10c], esi
test edi, 0x4000
je 0x481ffe
mov ecx, ebx
call fcn.00477bd0
and edi, 0xbfff
mov dword [ebp - 0xf0], edi
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
mov esi, dword [ebp - 0xf4]
mov edx, esi
push dword [eax + 0x10]
call fcn.0047d110
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0xd0]
movzx eax, byte [eax]
add eax, 0xffffffb2
cmp eax, 4
ja case.default.0x48202c
jmp dword [eax*4 + 0x486abc]
xor edx, edx
test ecx, ecx
sete dl
jmp 0x482067
xor edx, edx
test ecx, ecx
setne dl
jmp 0x482067
xor edx, edx
test ecx, ecx
sets dl
jmp 0x482067
xor edx, edx
test ecx, ecx
setle dl
jmp 0x482067
xor edx, edx
test ecx, ecx
setg dl
jmp 0x482067
xor edx, edx
test ecx, ecx
setns dl
movzx eax, word [ebp - 0x10c]
mov edi, dword [ebp - 0xd0]
mov word [esi + 8], ax
movzx eax, word [ebp - 0xf0]
mov word [ebx + 8], ax
test byte [edi + 3], 0x20
je 0x4820ba
mov eax, dword [edi + 8]
mov ebx, dword [ebp - 0xe0]
lea esi, [eax + eax*4]
mov eax, 0x3e00
mov cx, word [ebx + esi*8 + 8]
and cx, ax
mov eax, edx
cdq
or cx, 4
mov word [ebx + esi*8 + 8], cx
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
jmp 0x481314
test edx, edx
jne 0x480e52
jmp 0x481314
mov eax, dword [edi + 0x10]
mov ebx, dword [ebp - 0x110]
add eax, 4
mov dword [ebp - 0x154], eax
add edi, 0x14
mov eax, dword [ebp - 0xd8]
jmp 0x480de3
test byte [edi + 3], 1
mov eax, 0
mov ebx, dword [ebp - 0x154]
mov ecx, dword [edi + 4]
cmove ebx, eax
mov eax, dword [edi + 0xc]
xor esi, esi
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x12c], ecx
mov ecx, dword [edi + 8]
mov dword [ebp - 0x154], ebx
mov dword [ebp - 0x114], eax
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xe8], ecx
test eax, eax
jle 0x4821b9
lea edi, [edx + 0x14]
test ebx, ebx
je 0x482139
mov ecx, dword [ebx + esi*4]
jmp 0x48213b
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0xe0]
push dword [edi]
movzx ebx, byte [eax + esi]
mov eax, dword [ebp - 0xe8]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x12c]
add eax, ecx
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0047d110
add esp, 4
mov dword [ebp - 0x174], eax
test eax, eax
jne 0x4821a7
mov edx, dword [ebp - 0xec]
inc esi
mov ebx, dword [ebp - 0x154]
add edi, 4
cmp esi, dword [ebp - 0x114]
jl 0x482130
mov edi, dword [ebp - 0xd0]
mov dword [ebp - 0x154], eax
jmp 0x481314
test ebx, ebx
je 0x4821b3
neg eax
mov dword [ebp - 0x174], eax
mov edi, dword [ebp - 0xd0]
xor eax, eax
mov dword [ebp - 0x154], eax
jmp 0x481314
mov eax, dword [ebp - 0x174]
test eax, eax
mov ecx, dword [ebp - 0x104]
mov eax, dword [ebp - 0xd0]
jns 0x482201
mov eax, dword [eax + 4]
mov ebx, dword [ebp - 0x110]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ecx + eax*4]
mov eax, dword [ebp - 0xd8]
mov ecx, 4
add edi, 0x14
jmp 0x480de3
jne 0x482228
mov eax, dword [eax + 8]
mov ebx, dword [ebp - 0x110]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ecx + eax*4]
mov eax, dword [ebp - 0xd8]
mov ecx, 4
add edi, 0x14
jmp 0x480de3
mov eax, dword [eax + 0xc]
mov ebx, dword [ebp - 0x110]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ecx + eax*4]
mov eax, dword [ebp - 0xd8]
mov ecx, 4
add edi, 0x14
jmp 0x480de3
mov ebx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x482270
mov esi, 2
jmp 0x482282
call fcn.00477f50
or eax, edx
je 0x482280
mov esi, 1
jmp 0x482282
xor esi, esi
mov eax, dword [ebx + 8]
mov ebx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 1
lea ecx, [ebx + eax*8]
je 0x48229f
mov eax, 2
jmp 0x4822b1
call fcn.00477f50
or eax, edx
je 0x4822af
mov eax, 1
jmp 0x4822b1
xor eax, eax
mov ecx, dword [ebp - 0xd0]
lea eax, [eax + esi*2]
cmp byte [ecx], 0x48
jne 0x4822c9
movzx edx, byte [esi + eax + 0x566c44]
jmp 0x4822d1
movzx edx, byte [esi + eax + 0x568104]
mov eax, dword [ecx + 0xc]
mov edi, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd4]
lea ecx, [eax + eax*4]
cmp edx, 2
jne 0x4822fe
mov ax, word [ebx + ecx*8 + 8]
mov edx, 0x3e00
and ax, dx
or ax, 1
jmp 0x480e8f
mov eax, edx
cdq
mov dword [ebx + ecx*8], eax
mov ax, word [ebx + ecx*8 + 8]
mov dword [ebx + ecx*8 + 4], edx
mov edx, 0x3e00
and ax, dx
or ax, 4
jmp 0x480e8f
mov edx, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, esi
call fcn.00478350
test byte [edi + 8], 1
jne 0x48130e
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.00477f50
or eax, edx
jne 0x482371
mov eax, 1
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x48130e
xor eax, eax
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x48130e
mov edx, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, esi
call fcn.00478350
test byte [edi + 8], 1
jne 0x48130e
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.00477f50
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x48130e
mov eax, dword [esi + 0xd0]
mov ecx, dword [edi + 4]
cmp byte [eax + ecx], 0
jne 0x480e52
mov ebx, dword [ebp - 0x110]
add edi, 0x14
mov byte [eax + ecx], 1
mov ecx, 4
mov eax, dword [ebp - 0xd8]
jmp 0x480de3
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x482428
mov ecx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xd0]
mov ecx, dword [ecx + 0xc]
jmp 0x482457
call fcn.00478000
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x482441
mov ecx, 1
jmp 0x482443
xor ecx, ecx
mov edi, dword [ebp - 0xd0]
cmp byte [edi], 0x2e
jne 0x482457
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
test ecx, ecx
jne 0x480e52
mov eax, dword [ebp - 0xd8]
mov ecx, 4
mov ebx, dword [ebp - 0x110]
add edi, 0x14
jmp 0x480de3
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne 0x480e52
mov eax, dword [ebp - 0xd8]
mov ecx, 4
mov ebx, dword [ebp - 0x110]
add edi, 0x14
jmp 0x480de3
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x480e52
mov eax, dword [ebp - 0xd8]
mov ecx, 4
mov ebx, dword [ebp - 0x110]
add edi, 0x14
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
mov eax, dword [esi + 0x38]
mov ecx, dword [edx + 4]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x158], eax
mov eax, dword [edx + 8]
lea edx, [ebp - 0x14c]
mov dword [ebp - 0x14c], eax
call fcn.0047c800
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0x158]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xd0]
mov esi, dword [edi + 0x54]
mov edx, dword [edi + 0x14]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0xf4], edx
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xf8], ecx
test eax, eax
jne 0x4861b7
mov ebx, dword [ebp - 0xd4]
mov eax, dword [edi + 0x40]
cmp eax, dword [ebx + 0x48]
mov ebx, dword [ebp - 0x110]
je 0x482787
cmp byte [edi + 2], 0
je 0x4825ac
cmp byte [edi], 3
jne 0x48151f
mov ecx, dword [ebp - 0xe0]
lea eax, [edx + edx*4]
mov esi, dword [ecx + eax*8 + 0xc]
mov dword [edi + 0x48], esi
mov dword [edi + 0x44], esi
mov eax, dword [ecx + eax*8 + 0x10]
mov dword [edi + 0x50], eax
jmp 0x482630
cmp byte [edi + 4], 0
mov ecx, edx
jne 0x4825eb
call fcn.00470310
mov esi, dword [ebp - 0xf4]
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x18]
mov dword [ebp - 0xfc], eax
movsx eax, byte [esi + 0x44]
mov eax, dword [esi + eax*4 + 0x78]
mov esi, dword [eax + 0x3c]
mov eax, dword [ebp - 0xf4]
movzx eax, word [eax + 0x20]
mov dword [edi + 0x50], ecx
mov dword [edi + 0x44], edx
jmp 0x482611
call fcn.00470310
mov edx, dword [ebp - 0xf4]
mov eax, dword [edx + 0x1c]
mov dword [edi + 0x44], eax
movsx eax, byte [edx + 0x44]
mov ecx, dword [edx + 0x18]
mov eax, dword [edx + eax*4 + 0x78]
mov esi, dword [eax + 0x3c]
movzx eax, word [edx + 0x20]
mov dword [edi + 0x50], ecx
sub esi, ecx
cmp eax, esi
cmovb esi, eax
mov eax, dword [edi + 0x44]
cmp eax, esi
ja 0x482624
mov dword [edi + 0x48], eax
jmp 0x482630
cmp eax, dword [ebx + 0x5c]
ja 0x4863d7
mov dword [edi + 0x48], esi
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x48]
mov dword [edi + 0x40], eax
mov ecx, dword [edi + 0x50]
mov al, byte [ecx]
cmp al, 0x80
jae 0x482655
movzx ecx, al
mov eax, 1
mov dword [ebp - 0x1b0], ecx
jmp 0x482669
lea edx, [ebp - 0x1b0]
call fcn.0045db50
mov ecx, dword [ebp - 0x1b0]
movzx eax, al
movzx eax, al
mov dword [edi + 0x4c], eax
xor eax, eax
mov word [edi + 0x12], ax
mov eax, dword [ebp - 0xf0]
mov dword [eax], ecx
cmp esi, ecx
jae 0x4826a4
mov dword [edi + 0x50], 0
mov dword [edi + 0x48], 0
cmp ecx, 0x18003
ja 0x486184
cmp ecx, dword [edi + 0x44]
ja 0x486184
mov esi, eax
mov eax, dword [edi + 0x4c]
cmp eax, dword [esi]
jae 0x482908
mov eax, dword [edi + 0x50]
mov dword [ebp - 0x10c], eax
test eax, eax
jne 0x482715
mov ecx, dword [ebp - 0xf4]
lea eax, [ebp - 0x268]
push eax
xorps xmm0, xmm0
xor eax, eax
movdqu xmmword [ebp - 0x268], xmm0
movdqu xmmword [ebp - 0x258], xmm0
movq qword [ebp - 0x248], xmm0
cmp byte [edi + 4], al
sete al
xor edx, edx
push eax
push dword [esi]
call fcn.00478940
add esp, 0xc
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861b7
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x10c], eax
movzx eax, word [edi + 0x12]
xor ecx, ecx
mov edx, dword [ebp - 0x158]
mov ebx, dword [ebp - 0xf0]
mov dword [ebp - 0x11c], eax
mov edi, dword [esi + eax*4]
mov esi, dword [edx + 0x4c]
mov ebx, dword [ebx]
add ebx, dword [ebp - 0x10c]
add esi, dword [ebp - 0x10c]
add eax, 0x16
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0x12c], ebx
lea eax, [edx + eax*4]
mov dword [ebp - 0x114], eax
lea esp, [esp]
movzx ebx, byte [esi]
mov dword [ebp - 0x16c], ebx
cmp ebx, 0x80
jae 0x4827fc
movzx eax, byte [ebx + 0x566298]
inc esi
cdq
add edi, eax
adc ecx, edx
jmp 0x482826
movzx eax, word [edi + 0x12]
mov ecx, dword [ebp - 0x14c]
cmp eax, ecx
jle 0x4826a6
mov ebx, dword [edi + ecx*4 + 0x58]
mov dword [ebp - 0x16c], ebx
mov ecx, dword [ebp - 0xf8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x4827bf
call fcn.00478350
mov ecx, dword [ebp - 0xf8]
mov al, byte [ebp - 0x108]
mov edx, dword [ebp - 0x14c]
mov byte [ecx + 0xa], al
mov eax, dword [edi + 0x48]
cmp eax, dword [esi + edx*4 + 4]
jb 0x482981
mov edi, dword [edi + 0x50]
add edi, dword [esi + edx*4]
cmp ebx, 0xc
jae 0x482912
push ecx
mov edx, ebx
mov ecx, edi
call fcn.0047caf0
add esp, 4
jmp 0x48130e
lea edx, [ebp - 0x16c]
mov ecx, esi
call fcn.0045db50
mov ebx, dword [ebp - 0x16c]
mov ecx, ebx
movzx eax, al
add esi, eax
call fcn.0047c9b0
mov ecx, dword [ebp - 0xec]
add edi, eax
adc ecx, 0
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0x11c], eax
mov dword [edx], ebx
add edx, 4
mov dword [ebp - 0x114], edx
mov edx, dword [ebp - 0xf0]
mov dword [edx + eax*4], edi
cmp eax, dword [ebp - 0x14c]
jg 0x482867
cmp esi, dword [ebp - 0x12c]
jb 0x482760
mov edx, dword [ebp - 0x158]
mov word [edx + 0x12], ax
mov eax, esi
sub eax, dword [ebp - 0x10c]
mov dword [edx + 0x4c], eax
mov eax, dword [ebp - 0x12c]
cmp esi, eax
jb 0x48289d
ja 0x486190
cmp edi, dword [edx + 0x44]
jne 0x486190
test ecx, ecx
jne 0x486190
test ecx, ecx
ja 0x486190
jb 0x4828b0
cmp edi, dword [edx + 0x44]
ja 0x486190
mov edi, dword [ebp - 0x158]
cmp dword [edi + 0x50], 0
jne 0x4828c7
lea ecx, [ebp - 0x268]
call fcn.00477f30
mov esi, dword [ebp - 0xf0]
movzx eax, word [edi + 0x12]
cmp eax, dword [ebp - 0x14c]
jg 0x4827a3
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xf8]
cmp byte [eax + 1], 0xf8
jne 0x48151f
mov edx, dword [eax + 0x10]
push 0x800
call fcn.00478520
add esp, 4
jmp 0x48130e
xor ebx, ebx
mov dword [ebp - 0x16c], ebx
jmp 0x4828cd
lea esi, [ebx - 0xc]
shr esi, 1
mov dword [ecx + 0xc], esi
lea edx, [esi + 2]
cmp dword [ecx + 0x18], edx
jge 0x482945
mov eax, 1
push 0
mov word [ecx + 8], ax
call fcn.00477a20
add esp, 4
test eax, eax
jne 0x48667f
mov ecx, dword [ebp - 0xf8]
jmp 0x48294b
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
push esi
push edi
push dword [ecx + 0x10]
call fcn.00511d80
mov ecx, dword [ebp - 0xf8]
add esp, 0xc
and ebx, 1
mov eax, dword [ecx + 0x10]
mov byte [esi + eax], 0
mov eax, dword [ecx + 0x10]
mov byte [esi + eax + 1], 0
mov ax, word [ebx*2 + 0x566c58]
mov word [ecx + 8], ax
jmp 0x48130e
mov eax, dword [ebp - 0xd0]
mov al, byte [eax + 3]
test al, 0xc0
je 0x48299c
cmp ebx, 0xc
jb 0x482998
test bl, 1
je 0x4829af
test al, al
js 0x4829af
mov ecx, ebx
call fcn.0047c9b0
mov ecx, eax
test ecx, ecx
jne 0x4829c4
mov ecx, dword [ebp - 0xf8]
push ecx
mov edx, ebx
mov ecx, 0x5a286c
call fcn.0047caf0
add esp, 4
jmp 0x48130e
push dword [ebp - 0xf8]
mov edx, dword [esi + edx*4]
xor eax, eax
cmp byte [edi + 4], al
sete al
push eax
push ecx
mov ecx, dword [ebp - 0xf4]
call fcn.00478940
add esp, 0xc
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861b1
mov esi, dword [ebp - 0xf8]
mov edx, ebx
push esi
mov ecx, dword [esi + 0x10]
call fcn.0047caf0
mov eax, 0xefff
add esp, 4
and word [esi + 8], ax
jmp 0x48130e
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
test al, al
je 0x48130e
jmp 0x482a40
push dword [ebp - 0x108]
mov dl, al
lea esi, [esi + 1]
mov ecx, edi
call fcn.00480ae0
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x482a40
jmp 0x48130e
mov edx, dword [ebp - 0xd0]
xor eax, eax
mov ecx, dword [ebp - 0xe0]
xorps xmm0, xmm0
mov dword [ebp - 0xf8], eax
movlpd qword [ebp - 0x100], xmm0
mov eax, dword [edx + 4]
mov esi, dword [edx + 0x10]
movlpd qword [ebp - 0x120], xmm0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x10c], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xd4]
movzx edi, byte [eax + 0x5c]
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x12c], edi
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ebp - 0xe8], edx
test esi, esi
je 0x482b05
mov al, byte [esi]
mov edi, ecx
jmp 0x482ae0
push dword [ebp - 0x108]
mov dl, al
mov ecx, edi
call fcn.00480ae0
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x482ae0
mov edi, dword [ebp - 0x12c]
mov eax, dword [ebp - 0xfc]
mov esi, dword [ebp - 0x114]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x11c], eax
jmp 0x482b40
lea eax, [ebp - 0x178]
mov edx, edi
push eax
mov ecx, esi
call fcn.0047c850
mov edi, eax
add esp, 4
mov eax, 0x4000
mov dword [esi + 0x1c], edi
test word [esi + 8], ax
je 0x482b99
mov ecx, dword [ebp - 0xf4]
or ecx, dword [ebp - 0xf0]
je 0x482b82
mov ecx, esi
call fcn.00477bd0
test eax, eax
jne 0x486685
jmp 0x482b99
mov ecx, dword [esi]
mov eax, ecx
cdq
add dword [ebp - 0x11c], eax
adc dword [ebp - 0xec], edx
sub dword [ebp - 0x178], ecx
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0x178]
mov dword [ebp - 0xf4], eax
adc dword [ebp - 0xf0], 0
cmp edi, 0x7f
ja 0x482bbe
mov eax, 1
jmp 0x482bc9
push 0
push edi
call fcn.0045dbd0
add esp, 8
mov ecx, dword [ebp - 0xf8]
sub esi, 0x28
mov edi, dword [ebp - 0x12c]
add ecx, eax
mov dword [ebp - 0xf8], ecx
cmp esi, dword [ebp - 0x10c]
jae 0x482b40
cmp ecx, 0x7e
jle 0x482c20
mov eax, ecx
cdq
push edx
push eax
call fcn.0045dbd0
mov esi, eax
mov eax, dword [ebp - 0xf8]
add eax, esi
mov dword [ebp - 0xf8], eax
cdq
push edx
push eax
call fcn.0045dbd0
mov ecx, dword [ebp - 0xf8]
add esp, 0x10
cmp esi, eax
jge 0x482c27
inc ecx
mov dword [ebp - 0xf8], ecx
mov eax, ecx
cdq
mov ecx, eax
mov eax, edx
mov edi, ecx
mov dword [ebp - 0xfc], ecx
add edi, dword [ebp - 0xf4]
mov ecx, eax
mov esi, edi
mov dword [ebp - 0x12c], eax
adc ecx, dword [ebp - 0xf0]
add esi, dword [ebp - 0x11c]
mov eax, dword [ebx + 0x5c]
adc ecx, dword [ebp - 0xec]
cdq
mov dword [ebp - 0xf4], edi
cmp ecx, edx
jg 0x4863d7
jl 0x482c74
cmp esi, eax
ja 0x4863d7
mov esi, dword [ebp - 0xe8]
cmp dword [esi + 0x18], edi
jge 0x482c97
push 0
mov edx, edi
mov ecx, esi
call fcn.00477a20
add esp, 4
test eax, eax
jne 0x486685
jmp 0x482ca2
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov ecx, dword [ebp - 0xf8]
mov edi, dword [esi + 0x10]
cmp ecx, 0x80
jae 0x482cbc
mov byte [edi], cl
mov eax, 1
jmp 0x482cd2
push dword [ebp - 0x12c]
mov ecx, edi
push dword [ebp - 0xfc]
call fcn.0045d970
add esp, 8
mov ebx, dword [ebp - 0x10c]
movzx esi, al
jmp 0x482ce0
mov ebx, dword [ebx + 0x1c]
cmp ebx, 0x80
jae 0x482cf5
mov byte [esi + edi], bl
mov eax, 1
jmp 0x482d03
push 0
push ebx
lea ecx, [esi + edi]
call fcn.0045d970
add esp, 8
mov ecx, dword [ebp - 0xf8]
push ebx
mov ebx, dword [ebp - 0x10c]
mov edx, ebx
movzx eax, al
lea ecx, [ecx + edi]
add esi, eax
call fcn.0047c9d0
add dword [ebp - 0xf8], eax
add ebx, 0x28
add esp, 4
mov dword [ebp - 0x10c], ebx
cmp ebx, dword [ebp - 0x114]
jbe 0x482ce0
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x11c]
mov dword [edx + 0xc], eax
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [ebp - 0xec]
je 0x482d6c
mov eax, 0x4010
mov dword [edx], ecx
mov word [edx + 8], ax
mov byte [edx + 0xa], 1
jmp 0x48130e
mov eax, dword [ebp - 0xd0]
lea edx, [ebp - 0x1d0]
xorps xmm0, xmm0
movlpd qword [ebp - 0x1d0], xmm0
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x14]
call fcn.00475690
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861bd
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.00480ca0
mov ecx, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0x110]
add edi, 0x14
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1cc]
mov dword [eax + 4], ecx
mov ecx, 4
mov eax, dword [ebp - 0xd8]
jmp 0x480de3
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
mov edi, dword [eax + 0x10]
mov dword [ebp - 0xf4], ecx
test ecx, ecx
jne 0x482ec3
cmp dword [ebx + 0xa0], ecx
jg 0x48621d
mov ecx, edi
call fcn.0045c900
mov ecx, dword [ebx + 0x1b4]
mov esi, eax
add ecx, dword [ebx + 0x1b0]
xor edx, edx
push ecx
mov ecx, ebx
mov dword [ebp - 0xfc], esi
call fcn.004bf300
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861b7
lea eax, [esi + 0x21]
mov ecx, ebx
push 0
push eax
call fcn.0045a000
mov esi, eax
add esp, 8
test esi, esi
je 0x48130e
mov ecx, dword [ebp - 0xfc]
lea edx, [esi + 0x20]
inc ecx
mov dword [esi], edx
push ecx
push edi
push edx
call fcn.00511d80
add esp, 0xc
cmp byte [ebx + 0x43], 0
je 0x482e85
mov byte [ebx + 0x43], 0
mov byte [ebx + 0x4b], 1
jmp 0x482e8b
inc dword [ebx + 0x1b0]
mov eax, dword [ebx + 0x1a8]
mov dword [esi + 0x18], eax
mov eax, dword [ebx + 0x1b8]
mov dword [ebx + 0x1a8], esi
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x1bc]
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x1c0]
mov dword [esi + 0x10], eax
mov eax, dword [ebx + 0x1c4]
mov dword [esi + 0x14], eax
jmp 0x48130e
mov esi, dword [ebx + 0x1a8]
xor ecx, ecx
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xec], esi
test esi, esi
je 0x482f00
jmp 0x482ee0
mov ecx, dword [esi]
mov edx, edi
call fcn.0045cc50
test eax, eax
je 0x482f0b
mov esi, dword [esi + 0x18]
inc dword [ebp - 0xf0]
mov dword [ebp - 0xec], esi
test esi, esi
jne 0x482ee0
push edi
push str.no_such_savepoint:__s
jmp 0x4863a1
cmp dword [ebx + 0xa0], 0
mov edx, dword [ebp - 0xf4]
jle 0x482f23
cmp edx, 1
je 0x486232
cmp dword [esi + 0x18], 0
jne 0x482f7f
cmp byte [ebx + 0x4b], 0
je 0x482f7f
mov dword [ebp - 0x11c], 1
cmp edx, 1
jne 0x482f89
mov edi, dword [ebp - 0xd4]
mov ecx, edi
call fcn.0047bc90
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4867da
mov ecx, edi
mov byte [ebx + 0x43], 1
call fcn.0047bd00
cmp eax, 5
je 0x48623c
mov byte [ebx + 0x4b], 0
mov eax, dword [edi + 0x50]
mov dword [ebp - 0xdc], eax
jmp 0x48306a
mov dword [ebp - 0x11c], 0
mov eax, dword [ebx + 0x1b0]
sub eax, dword [ebp - 0xf0]
dec eax
mov dword [ebp - 0xf0], eax
cmp edx, 2
jne 0x483005
mov ecx, dword [ebx + 0x18]
xor edi, edi
shr ecx, 1
and ecx, 1
mov dword [ebp - 0xe8], ecx
cmp dword [ebx + 0x14], edi
jle 0x48300f
xor eax, eax
test ecx, ecx
sete al
xor esi, esi
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebx + 0x10]
mov edx, 0x204
push eax
mov ecx, dword [esi + ecx + 4]
call fcn.0046fcc0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861b7
mov eax, dword [ebp - 0xfc]
inc edi
add esi, 0x10
cmp edi, dword [ebx + 0x14]
jl 0x482fc5
mov eax, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xf4]
jmp 0x48300f
mov dword [ebp - 0xe8], 0
xor edi, edi
cmp dword [ebx + 0x14], edi
jle 0x48304b
xor esi, esi
mov ecx, dword [ebx + 0x10]
push eax
mov ecx, dword [esi + ecx + 4]
call fcn.0046ffd0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861b7
mov eax, dword [ebp - 0xf0]
inc edi
mov edx, dword [ebp - 0xf4]
add esi, 0x10
cmp edi, dword [ebx + 0x14]
jl 0x483018
cmp dword [ebp - 0xe8], 0
je 0x483064
mov ecx, ebx
call fcn.0047de30
call fcn.00497530
or dword [ebx + 0x18], 2
mov esi, dword [ebp - 0xec]
cmp dword [ebx + 0x1a8], esi
je 0x4830e0
jmp 0x483080
cmp dword [ebx + 0x1c8], 0
mov ecx, dword [ebx + 0x1a8]
mov eax, dword [ecx + 0x18]
mov dword [ebx + 0x1a8], eax
je 0x4830a3
mov edx, ecx
mov ecx, ebx
call fcn.00459cc0
jmp 0x4830d2
cmp ecx, dword [ebx + 0x120]
jb 0x4830c9
cmp ecx, dword [ebx + 0x124]
jae 0x4830c9
mov eax, dword [ebx + 0x11c]
mov dword [ecx], eax
dec dword [ebx + 0x108]
mov dword [ebx + 0x11c], ecx
jmp 0x4830d2
push ecx
call fcn.00459c50
add esp, 4
dec dword [ebx + 0x1b0]
cmp dword [ebx + 0x1a8], esi
jne 0x483080
mov edi, dword [ebp - 0xf4]
cmp edi, 1
jne 0x483112
mov eax, dword [esi + 0x18]
mov edx, esi
mov ecx, ebx
mov dword [ebx + 0x1a8], eax
call fcn.00459d00
cmp dword [ebp - 0x11c], 0
jne 0x481dee
dec dword [ebx + 0x1b0]
jmp 0x483148
cmp dword [ebp - 0x11c], 0
mov eax, dword [esi + 8]
mov dword [ebx + 0x1b8], eax
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x1bc], eax
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x1c0], eax
mov eax, dword [esi + 0x14]
mov dword [ebx + 0x1c4], eax
je 0x483148
cmp edi, 2
jne 0x481dee
mov ecx, dword [ebp - 0xf0]
mov edx, edi
push ecx
mov ecx, ebx
call fcn.004bf300
add esp, 4
mov dword [ebp - 0xdc], eax
jmp 0x481df4
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 8]
test edx, edx
je 0x483180
test dword [ebx + 0x18], 0x2000000
jne 0x486275
mov ecx, dword [eax + 4]
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x48328f
mov ecx, esi
call fcn.0046eef0
mov dword [ebp - 0xdc], eax
cmp al, 5
je 0x48627f
test eax, eax
jne 0x4861b7
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 8], 0
je 0x48325c
mov edi, dword [ebp - 0xd4]
test byte [edi + 0x60], 0x10
je 0x48325c
cmp byte [ebx + 0x43], 0
je 0x4831e4
cmp dword [ebx + 0x9c], 1
jle 0x48325c
cmp dword [edi + 0x70], 0
jne 0x4831ff
mov eax, dword [ebx + 0x1b0]
inc dword [ebx + 0x1b4]
add eax, dword [ebx + 0x1b4]
mov dword [edi + 0x70], eax
mov eax, dword [edi + 0x70]
xor edx, edx
dec eax
mov ecx, ebx
push eax
call fcn.004bf300
mov ecx, eax
add esp, 4
mov dword [ebp - 0xdc], ecx
test ecx, ecx
jne 0x48322c
mov edx, dword [edi + 0x70]
mov ecx, esi
call fcn.0046ff80
mov dword [ebp - 0xdc], eax
mov eax, dword [ebx + 0x1b8]
mov dword [edi + 0xa0], eax
mov eax, dword [ebx + 0x1bc]
mov dword [edi + 0xa4], eax
mov eax, dword [ebx + 0x1c0]
mov dword [edi + 0xa8], eax
mov eax, dword [ebx + 0x1c4]
mov dword [edi + 0xac], eax
lea eax, [ebp - 0x194]
mov edx, 1
push eax
mov ecx, esi
call fcn.004755b0
mov eax, dword [ebp - 0xd0]
add esp, 4
mov esi, dword [ebp - 0x194]
mov ecx, dword [eax + 4]
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x483299
xor esi, esi
xor eax, eax
mov dword [ebp - 0x194], esi
mov edi, dword [ebp - 0xd0]
cmp byte [edi + 3], 0
je 0x4832b7
cmp esi, dword [edi + 0xc]
jne 0x4862b3
cmp eax, dword [edi + 0x10]
jne 0x4862b3
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xd4]
test eax, eax
jne 0x4861bd
mov ebx, dword [ebp - 0x110]
lea ecx, [eax + 4]
mov eax, dword [ebp - 0xd8]
add edi, 0x14
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 0x1e0]
mov ecx, dword [ebx + 0x10]
push eax
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004755b0
mov edx, dword [ebp - 0xd0]
add esp, 4
mov ecx, esi
call fcn.00480ca0
mov ecx, eax
mov eax, dword [ebp - 0x1e0]
jmp 0x48105d
mov eax, dword [ebp - 0xd0]
mov esi, dword [eax + 4]
push dword [eax + 0xc]
mov edx, dword [eax + 8]
shl esi, 4
add esi, dword [ebx + 0x10]
mov ecx, dword [esi + 4]
call fcn.00475610
mov dword [ebp - 0xdc], eax
add esp, 4
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x483368
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0xc]
mov dword [ecx], eax
or dword [ebx + 0x18], 2
jmp 0x48337c
cmp eax, 2
jne 0x48337c
mov eax, dword [ebp - 0xd0]
mov ecx, dword [esi + 0xc]
mov al, byte [eax + 0xc]
mov byte [ecx + 0x4c], al
mov edi, dword [ebp - 0xd0]
cmp dword [edi + 4], 1
jne 0x48339b
mov ecx, ebx
call fcn.0047de30
mov esi, dword [ebp - 0xd4]
and dword [esi + 0x58], 0xfffffffe
jmp 0x4833a1
mov esi, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x4861bd
mov ebx, dword [ebp - 0x110]
lea ecx, [eax + 4]
mov eax, dword [ebp - 0xd8]
add edi, 0x14
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
mov eax, dword [esi + 0x38]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x4833e5
mov eax, dword [esi + 0xc]
cmp eax, dword [edx + 8]
je 0x483524
mov al, byte [ebp - 0xe1]
mov esi, dword [ebp - 0xd4]
jmp 0x4833f9
mov edx, dword [ebp - 0xd0]
test byte [esi + 0x58], 1
jne 0x486301
mov esi, dword [ebp - 0xd0]
mov edx, dword [edx + 8]
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xec], 0
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x12c], ecx
shl ecx, 4
add ecx, dword [ebx + 0x10]
mov dword [ebp - 0xe8], edx
mov edi, dword [ecx + 4]
mov dword [ebp - 0x114], edi
cmp al, 0x37
jne 0x483462
mov eax, dword [ecx + 0xc]
movzx edi, byte [esi + 3]
mov ecx, dword [ebp - 0xd4]
and edi, 8
or edi, 4
mov al, byte [eax + 0x4c]
cmp al, byte [ecx + 0x5c]
jae 0x483464
mov byte [ecx + 0x5c], al
jmp 0x483464
xor edi, edi
test byte [esi + 3], 0x10
je 0x483485
mov ecx, dword [ebp - 0xe0]
lea eax, [edx + edx*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00478100
mov eax, dword [esi]
mov dword [ebp - 0xe8], eax
mov edx, dword [ebp - 0xd0]
mov al, byte [edx + 1]
cmp al, 0xfa
jne 0x4834a7
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xec], eax
movzx ecx, word [eax + 8]
movzx eax, word [eax + 6]
add ecx, eax
jmp 0x4834b6
cmp al, 0xf2
jne 0x4834b0
mov ecx, dword [edx + 0x10]
jmp 0x4834b6
mov ecx, dword [ebp - 0xfc]
mov edx, dword [edx + 4]
push 0
push dword [ebp - 0x12c]
push ecx
mov ecx, dword [ebp - 0xd4]
call fcn.00480920
mov esi, eax
add esp, 0xc
test esi, esi
je 0x486685
push dword [esi + 0x14]
mov eax, dword [ebp - 0xe8]
mov edx, eax
push dword [ebp - 0xec]
mov ecx, dword [ebp - 0x114]
or dword [esi + 8], 4
push edi
mov byte [esi + 2], 1
mov dword [esi + 0xc], eax
call fcn.00470120
mov dword [ebp - 0xdc], eax
add esp, 0xc
mov eax, dword [ebp - 0xec]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 1], 0xfa
setne al
mov byte [esi + 4], al
mov eax, dword [ebp - 0xd0]
mov cl, byte [eax + 3]
mov eax, dword [esi + 0x14]
and cl, 3
mov byte [eax + 0x43], cl
jmp 0x481dee
mov eax, dword [ebp - 0xd0]
mov ecx, esi
push 0
push 0xffffffffffffffff
push dword [eax + 8]
mov edx, dword [eax + 4]
call fcn.00480920
mov esi, eax
add esp, 0xc
test esi, esi
je 0x486685
mov eax, dword [ebp - 0xd0]
lea edi, [esi + 0x18]
or dword [esi + 8], 1
xor edx, edx
mov byte [esi + 2], 1
mov ecx, dword [ebx]
movzx eax, byte [eax + 3]
push 0x41e
or eax, 5
push eax
push edi
push ebx
call fcn.0046def0
add esp, 0x10
test eax, eax
jne 0x4861b7
mov ecx, dword [edi]
lea edx, [eax + 1]
call fcn.0046eef0
test eax, eax
jne 0x4861b7
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xfc], eax
test eax, eax
je 0x483605
movzx eax, byte [ecx + 3]
lea edx, [ebp - 0x1c4]
mov ecx, dword [edi]
or eax, 2
push eax
call fcn.00475090
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4835ff
push dword [esi + 0x14]
mov eax, dword [ebp - 0xfc]
mov edx, dword [ebp - 0x1c4]
mov ecx, dword [edi]
push eax
push 4
mov dword [esi + 0x1c], eax
call fcn.00470120
add esp, 0xc
mov dword [ebp - 0xdc], eax
mov byte [esi + 4], 0
jmp 0x483625
push dword [esi + 0x14]
mov ecx, dword [edi]
mov edx, 1
push 0
push 4
call fcn.00470120
add esp, 0xc
mov dword [ebp - 0xdc], eax
mov byte [esi + 4], 1
test eax, eax
jne 0x4861b7
mov edi, dword [ebp - 0xd0]
cmp byte [edi + 3], 8
setne al
shl eax, 2
xor eax, dword [esi + 8]
and eax, 4
xor dword [esi + 8], eax
jmp 0x481314
mov eax, dword [ebp - 0xd0]
mov ecx, esi
push 1
push 0xffffffffffffffff
push dword [eax + 8]
mov edx, dword [eax + 4]
call fcn.00480920
add esp, 0xc
test eax, eax
je 0x48668b
mov edx, dword [ebp - 0xd0]
push eax
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x1c], ecx
mov ecx, ebx
mov edx, dword [edx + 0xc]
call fcn.00487fc0
add esp, 4
mov dword [ebp - 0xdc], eax
jmp 0x481dfa
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x28]
mov ecx, edi
mov esi, dword [edx + 0x2c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x28], ecx
adc eax, 0
or edi, esi
mov edi, dword [ebp - 0xd0]
mov dword [edx + 0x2c], eax
je 0x480e52
jmp 0x481314
mov eax, dword [ebp - 0xd0]
mov ecx, esi
push 3
push 0xffffffffffffffff
push dword [eax + 0xc]
mov edx, dword [eax + 4]
call fcn.00480920
add esp, 0xc
test eax, eax
je 0x48668b
mov ecx, dword [ebp - 0xd0]
mov byte [eax + 2], 1
mov ecx, dword [ecx + 8]
mov dword [eax + 0x14], ecx
mov byte [eax + 4], 1
jmp 0x481063
mov eax, dword [ebp - 0xd0]
mov ecx, esi
mov edx, dword [esi + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [edx + eax*4]
call fcn.0047af20
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov dword [eax + ecx*4], 0
jmp 0x481063
mov eax, dword [ebp - 0xd0]
xor edi, edi
mov dword [ebp - 0xfc], edi
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 4], 0
mov byte [esi + 2], 0
je 0x483827
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [edi + 8]
and al, 0xe
cmp al, 2
jne 0x48377f
xor edx, edx
mov ecx, edi
call fcn.00480a50
mov ecx, edi
call fcn.00477f50
movzx ecx, word [edi + 8]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xec], edx
test cl, 4
jne 0x4837d9
test cl, 8
je 0x480e4c
mov ecx, eax
call fcn.005475ff
movsd xmm1, qword [edi]
comisd xmm0, xmm1
jbe 0x4837c2
mov eax, dword [ebp - 0xf4]
test al, 1
jne 0x4837d9
dec eax
jmp 0x4837d3
comisd xmm1, xmm0
jbe 0x4837d9
mov eax, dword [ebp - 0xf4]
test al, 1
je 0x4837d9
inc eax
mov dword [ebp - 0xf4], eax
mov edi, dword [ebp - 0xe8]
lea eax, [ebp - 0x124]
mov ecx, dword [esi + 0x14]
xor edx, edx
push eax
push 0
push dword [ebp - 0xec]
push edi
call fcn.00470bf0
mov dword [ebp - 0xdc], eax
add esp, 0x10
mov eax, dword [ebp - 0xec]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0xdc]
mov dword [esi + 0x30], edi
test eax, eax
jne 0x4861b7
mov edi, dword [ebp - 0xfc]
jmp 0x4838cd
mov eax, dword [esi + 0x14]
mov ecx, dword [ebp - 0xd0]
test byte [eax + 0x43], 2
mov eax, 1
cmovne edi, eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x1f0], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x1e8], ax
lea eax, [edx - 1]
test al, 1
sete al
lea eax, [eax*2 - 1]
mov byte [ebp - 0x1e6], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, 0x4000
mov dword [ebp - 0x1ec], ecx
test word [ecx + 8], ax
je 0x48388a
call fcn.00477bd0
lea eax, [ebp - 0x124]
mov byte [ebp - 0x1e2], 0
mov ecx, dword [esi + 0x14]
lea edx, [ebp - 0x1f0]
push eax
push 0
push 0
push 0
call fcn.00470bf0
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861b7
test edi, edi
je 0x4838cd
cmp byte [ebp - 0x1e2], al
je 0x483964
mov eax, dword [ebp - 0xf4]
mov byte [esi + 3], 0
mov dword [esi + 0x40], 0
mov ecx, dword [ebp - 0x124]
cmp eax, 0x41
jl 0x48391b
test ecx, ecx
js 0x483900
jne 0x4838f4
cmp eax, 0x42
je 0x483900
mov dword [ebp - 0x124], 0
jmp 0x483971
lea eax, [ebp - 0x124]
mov dword [ebp - 0x124], 0
push eax
push dword [esi + 0x14]
call fcn.004711b0
jmp 0x483953
test ecx, ecx
jg 0x48393a
jne 0x483926
cmp eax, 0x3f
je 0x48393a
mov eax, dword [esi + 0x14]
xor ecx, ecx
cmp byte [eax + 0x42], 1
setne cl
mov dword [ebp - 0x124], ecx
jmp 0x483964
lea eax, [ebp - 0x124]
mov dword [ebp - 0x124], 0
push eax
push dword [esi + 0x14]
call fcn.00471340
add esp, 8
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861b7
cmp dword [ebp - 0x124], 0
jne 0x480e4c
mov esi, dword [ebp - 0xd4]
test edi, edi
mov eax, dword [ebp - 0xd8]
mov ecx, 4
mov edi, dword [ebp - 0xd0]
je 0x481325
mov ebx, dword [ebp - 0x110]
add edi, 0x14
add edi, 0x14
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
mov eax, dword [esi + 0x38]
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0x1ac], 0
cmp dword [edx + 0x10], 0
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xe8], ecx
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [ebp - 0xfc], esi
jle 0x483a49
mov eax, dword [ecx + 0x1c]
xor edi, edi
mov dx, word [edx + 0x10]
mov dword [ebp - 0x200], eax
xor eax, eax
mov word [ebp - 0x1f8], dx
mov dword [ebp - 0x1fc], esi
cmp ax, dx
jae 0x483a41
mov ebx, dword [ebp - 0xfc]
xor esi, esi
lea ebx, [ebx]
lea ecx, [esi + ebx]
mov eax, 0x4000
test word [ecx + 8], ax
je 0x483a30
call fcn.00477bd0
mov dx, word [ebp - 0x1f8]
mov ebx, dword [ebp - 0x1fc]
inc edi
movzx eax, dx
add esi, 0x28
cmp edi, eax
jl 0x483a10
mov ebx, dword [ebp - 0x110]
lea edi, [ebp - 0x200]
jmp 0x483a9a
mov ecx, dword [ecx + 0x1c]
lea eax, [ebp - 0x1ac]
push eax
push 0xb7
lea edx, [ebp - 0xc0]
call fcn.0047cca0
mov edi, eax
add esp, 8
test edi, edi
je 0x486685
mov eax, 0x4000
test word [esi + 8], ax
je 0x483a82
mov ecx, esi
call fcn.00477bd0
mov ecx, dword [ebp - 0xe8]
mov edx, dword [esi + 0xc]
push edi
push dword [esi + 0x10]
mov ecx, dword [ecx + 0x1c]
call fcn.0047cd20
add esp, 8
mov eax, dword [ebp - 0xd0]
xor esi, esi
mov byte [edi + 0xa], 0
cmp byte [eax], 0x43
jne 0x483ad4
movzx edx, word [edi + 8]
xor ecx, ecx
test edx, edx
jle 0x483ad4
mov eax, dword [edi + 4]
add eax, 8
jmp 0x483ac0
test byte [eax], 1
jne 0x483acf
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x483ac0
jmp 0x483ad4
mov esi, 1
lea eax, [ebp - 0x1dc]
mov edx, edi
mov edi, dword [ebp - 0xe8]
push eax
push 0
push 0
mov ecx, dword [edi + 0x14]
push 0
call fcn.00470bf0
mov edx, dword [ebp - 0x1ac]
add esp, 0x10
mov ecx, ebx
mov dword [ebp - 0xdc], eax
call fcn.00459d00
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x4861b7
mov eax, dword [ebp - 0x1dc]
xor ecx, ecx
test eax, eax
mov dword [edi + 0x20], eax
mov al, 1
mov byte [edi + 3], 0
sete cl
mov dword [edi + 0x40], 0
sub al, cl
mov byte [edi + 2], al
mov edi, dword [ebp - 0xd0]
cmp byte [edi], 0x45
jne 0x483b4f
test ecx, ecx
jne 0x480e52
jmp 0x481314
test esi, esi
jne 0x480e52
test ecx, ecx
je 0x480e52
jmp 0x481314
mov edx, dword [ebp - 0xd0]
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x188], 0
mov ecx, dword [edx + 4]
mov ebx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
xor edx, edx
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8]
mov edi, dword [ecx + eax*8 + 4]
lea eax, [ebp - 0x188]
mov ecx, dword [ebx + 0x14]
push eax
push 0
push edi
push esi
call fcn.00470bf0
mov dword [ebp - 0xdc], eax
add esp, 0x10
mov eax, dword [ebp - 0x188]
mov dword [ebx + 0x34], edi
mov edi, dword [ebp - 0xd0]
mov dword [ebx + 0x30], esi
mov word [ebx + 2], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x20], eax
test eax, eax
je 0x483bf2
cmp dword [edi + 8], 0
jne 0x480e52
mov ecx, 0x132cb
call fcn.004d12b0
mov ebx, eax
mov dword [ebp - 0xdc], ebx
jmp 0x483bf8
mov ebx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xd4]
test ebx, ebx
je 0x48131a
mov ebx, dword [ebp - 0x110]
mov eax, dword [ebp - 0xdc]
jmp 0x4861bd
mov ebx, dword [ebp - 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00480ca0
mov ecx, dword [esi + 0x38]
mov edx, dword [ebx + 4]
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x28]
mov dword [eax], ecx
mov ecx, dword [edx + 0x2c]
mov dword [eax + 4], ecx
mov eax, ebx
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp 0x481063
mov edx, dword [ebp - 0xd0]
xorps xmm0, xmm0
mov ecx, esi
movlpd qword [ebp - 0x140], xmm0
mov dword [ebp - 0x15c], 0
call fcn.00480ca0
mov ecx, dword [esi + 0x38]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 4]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xf4], eax
test byte [eax + 8], 2
jne 0x483d2d
mov ecx, dword [eax + 0x14]
lea edx, [ebp - 0x15c]
call fcn.00470b90
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861bd
cmp dword [ebp - 0x15c], eax
je 0x483cd2
mov edi, 1
xor esi, esi
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x13c], esi
jmp 0x483d39
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 0x14]
mov ecx, esi
call fcn.00470310
mov edi, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0xdc], 0
cmp esi, 0x7fffffff
jl 0x483d19
jg 0x483d0d
cmp edi, 0xffffffff
jb 0x483d19
mov eax, dword [ebp - 0xf4]
or dword [eax + 8], 2
jmp 0x483d39
add edi, 1
mov dword [ebp - 0x140], edi
adc esi, 0
mov dword [ebp - 0x13c], esi
jmp 0x483d39
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x140]
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x483de3
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 0xb8]
test edx, edx
je 0x483d75
mov eax, dword [edx + 4]
test eax, eax
je 0x483d6a
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x483d61
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
jmp 0x483d81
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xe0]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xe8], ecx
call fcn.00478100
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
cmp ecx, 0xffffffff
jne 0x483da8
cmp edx, 0x7fffffff
je 0x483e78
mov ebx, dword [ebp - 0xf4]
test byte [ebx + 8], 2
mov ebx, dword [ebp - 0x110]
jne 0x483e78
add ecx, 1
adc edx, 0
cmp esi, edx
jg 0x483dde
jl 0x483dce
cmp edi, ecx
jae 0x483dde
mov edi, ecx
mov esi, edx
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x13c], esi
mov dword [eax], edi
mov dword [eax + 4], esi
mov eax, dword [ebp - 0xf4]
test byte [eax + 8], 2
je 0x483e88
mov dword [ebp - 0xe8], 0
lea ecx, [ecx]
lea eax, [ebp - 0x140]
push eax
push 8
call fcn.0045be70
mov esi, dword [ebp - 0x13c]
lea eax, [ebp - 0x15c]
mov edi, dword [ebp - 0x140]
and esi, 0x3fffffff
push eax
mov eax, dword [ebp - 0xf4]
add edi, 1
push 0
adc esi, 0
mov dword [ebp - 0x140], edi
push esi
mov ecx, dword [eax + 0x14]
xor edx, edx
push edi
mov dword [ebp - 0x13c], esi
call fcn.00470bf0
add esp, 0x18
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861b7
cmp dword [ebp - 0x15c], eax
jne 0x483e82
mov eax, dword [ebp - 0xe8]
inc eax
mov dword [ebp - 0xe8], eax
cmp eax, 0x64
jl 0x483e00
mov eax, 0xd
jmp 0x4861b7
mov eax, dword [ebp - 0xf4]
mov byte [eax + 3], 0
mov dword [eax + 0x40], 0
mov eax, dword [ebp - 0xfc]
mov dword [eax], edi
mov dword [eax + 4], esi
jmp 0x48130e
cmp byte [ebp - 0xe1], 0x4b
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xec], edx
mov eax, dword [ecx + 0xc]
jne 0x483efa
mov edi, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
mov ebx, dword [ebp - 0xe0]
mov edi, dword [edi + eax*8]
mov eax, dword [ebx + eax*8 + 4]
mov ebx, dword [ebp - 0x110]
mov dword [ebp - 0xe8], eax
jmp 0x483f0b
cdq
mov edi, eax
mov dword [ebp - 0xe8], edx
mov eax, edx
mov edx, dword [ebp - 0xec]
test byte [ecx + 3], 1
je 0x483f20
mov ebx, dword [ebp - 0xd4]
inc dword [ebx + 0x64]
mov ebx, dword [ebp - 0x110]
test byte [ecx + 3], 2
je 0x483f38
mov dword [ebp - 0x138], edi
mov dword [ebp - 0x134], eax
mov dword [ebx + 0x20], edi
mov dword [ebx + 0x24], eax
mov eax, dword [ebp - 0xe0]
movzx eax, word [eax + esi*8 + 8]
test al, 1
je 0x483f63
mov ebx, dword [ebp - 0xe0]
mov dword [ebx + esi*8 + 0x10], 0
mov dword [ebx + esi*8 + 0xc], 0
mov ebx, dword [ebp - 0x110]
mov cl, byte [ecx + 3]
mov byte [ebp - 0xe1], cl
test cl, 0x10
je 0x483f76
mov edx, dword [edx + 0x20]
jmp 0x483f78
xor edx, edx
test eax, 0x4000
je 0x483f8a
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + esi*8]
jmp 0x483f8c
xor ecx, ecx
movzx eax, byte [ebp - 0xe1]
push edx
shr eax, 3
xor edx, edx
and eax, 1
push eax
mov eax, dword [ebp - 0xe0]
push ecx
mov ecx, dword [ebp - 0xec]
push dword [eax + esi*8 + 0xc]
push dword [eax + esi*8 + 0x10]
mov esi, dword [ebp - 0xe8]
mov ecx, dword [ecx + 0x14]
push esi
push edi
call fcn.00474860
mov ecx, dword [ebp - 0xec]
add esp, 0x1c
mov dword [ebp - 0xdc], eax
mov byte [ecx + 3], 0
mov dword [ecx + 0x40], 0
test eax, eax
jne 0x4861b7
mov edx, dword [ebx + 0xd8]
test edx, edx
je 0x48130e
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x48130e
movsx ecx, byte [ecx + 1]
push esi
push edi
push eax
mov eax, dword [ebx + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
mov eax, dword [ebp - 0xd0]
mov ecx, 0x17
test byte [eax + 3], 4
mov eax, 0x12
cmovne eax, ecx
push eax
push dword [ebx + 0xd4]
call edx
add esp, 0x18
jmp 0x48130e
cmp dword [ebx + 0xd8], 0
mov edx, dword [ebp - 0xd0]
mov eax, dword [esi + 0x38]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
je 0x484062
cmp dword [edx + 0x10], 0
je 0x484062
cmp byte [esi + 4], 0
je 0x484062
mov al, 1
jmp 0x484064
xor al, al
cmp byte [edx + 3], 0
mov byte [ebp - 0xe1], al
je 0x484085
test al, al
je 0x484085
mov ecx, dword [esi + 0x14]
lea edx, [esi + 0x30]
call fcn.00470350
mov edx, dword [ebp - 0xd0]
mov dl, byte [edx + 3]
mov ecx, dword [esi + 0x14]
call fcn.00474a70
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x40], 0
test eax, eax
jne 0x4861b7
cmp byte [ebp - 0xe1], al
je 0x4840db
push dword [esi + 0x34]
mov eax, dword [ebp - 0xd0]
push dword [esi + 0x30]
movsx ecx, byte [esi + 1]
add ecx, ecx
push dword [eax + 0x10]
mov eax, dword [ebx + 0x10]
push dword [eax + ecx*8]
mov eax, dword [ebx + 0xd8]
push 9
push dword [ebx + 0xd4]
call eax
add esp, 0x18
mov edi, dword [ebp - 0xd0]
mov ecx, 4
mov esi, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd8]
test byte [edi + 8], 1
je 0x481325
inc dword [esi + 0x64]
add edi, 0x14
mov ebx, dword [ebp - 0x110]
jmp 0x480de3
mov eax, dword [esi + 0x64]
add dword [ebx + 0x58], eax
add edi, 0x14
mov dword [ebx + 0x54], eax
mov eax, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0x110]
mov dword [esi + 0x64], 0
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x190], 0
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x190]
push eax
mov eax, dword [ebp - 0xd0]
push dword [eax + 0x10]
call fcn.0048a420
add esp, 8
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861bd
mov edi, dword [ebp - 0xd0]
cmp dword [ebp - 0x190], eax
jne 0x480e52
mov ebx, dword [ebp - 0x110]
lea ecx, [eax + 4]
mov eax, dword [ebp - 0xd8]
add edi, 0x14
jmp 0x480de3
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + ecx*4]
call fcn.0048a380
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861bd
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x40], 0
jmp 0x481063
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xfc], eax
cmp byte [eax + 4], 0
mov edi, dword [eax + 0x14]
mov ecx, edi
mov dword [ebp - 0xec], edi
jne 0x484256
call fcn.00470310
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebx + 0x5c]
mov edi, dword [edi + 0x10]
cdq
cmp dword [ecx + 0x14], edx
jg 0x4863d7
jl 0x484267
cmp edi, eax
jmp 0x484261
call fcn.00470310
mov edi, dword [edi + 0x1c]
cmp edi, dword [ebx + 0x5c]
ja 0x4863d7
mov edx, 0x20
cmp edi, edx
cmova edx, edi
cmp dword [esi + 0x18], edx
jge 0x48428c
push 0
mov ecx, esi
call fcn.00477a20
add esp, 4
test eax, eax
jne 0x486685
jmp 0x484297
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov ax, word [esi + 8]
mov ecx, 0x3e00
and ax, cx
mov dword [esi + 0xc], edi
or ax, 0x10
mov word [esi + 8], ax
mov eax, dword [ebp - 0xfc]
cmp byte [eax + 4], 0
jne 0x4842d2
mov ecx, dword [ebp - 0xec]
xor edx, edx
push 0
push dword [esi + 0x10]
push edi
call fcn.00470510
add esp, 0xc
jmp 0x4842e6
push dword [esi + 0x10]
push edi
push 0
push dword [ebp - 0xec]
call fcn.00470810
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861b7
mov byte [esi + 0xa], 1
jmp 0x48130e
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.00480ca0
mov ecx, dword [ebp - 0xd0]
mov edi, eax
mov edx, dword [ecx + 4]
mov ecx, dword [esi + 0x38]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x48432f
mov eax, 1
mov word [edi + 8], ax
jmp 0x48130e
cmp byte [esi + 3], 0
je 0x48435d
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0x180], ecx
mov eax, dword [esi + 0x34]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0x17c], eax
mov dword [edi], ecx
mov eax, dword [ebp - 0x17c]
mov dword [edi + 4], eax
jmp 0x481063
cmp byte [esi], 2
jne 0x4843b2
mov ecx, dword [esi + 0x14]
lea edx, [ebp - 0x180]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
add esp, 8
mov dword [ebp - 0xdc], eax
mov edx, esi
mov esi, dword [ebp - 0xd4]
mov ecx, esi
call fcn.0047ded0
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x4861bd
mov ecx, dword [ebp - 0x180]
mov dword [edi], ecx
mov eax, dword [ebp - 0x17c]
mov dword [edi + 4], eax
jmp 0x481063
mov eax, dword [esi + 0x14]
cmp byte [eax + 0x42], 1
je 0x4843d2
mov ecx, esi
call fcn.0047c7b0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861b7
jmp 0x4843dc
mov dword [ebp - 0xdc], 0
cmp byte [esi + 2], 0
je 0x4843f0
mov eax, 1
mov word [edi + 8], ax
jmp 0x48130e
mov esi, dword [esi + 0x14]
mov ecx, esi
call fcn.00470310
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x180], ecx
mov eax, dword [esi + 0x14]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0x17c], eax
mov dword [edi], ecx
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0xdc], 0
mov dword [edi + 4], eax
jmp 0x481063
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 0
mov byte [ecx + 2], 1
mov dword [ecx + 0x40], 0
jne 0x481063
mov ecx, dword [ecx + 0x14]
call fcn.0046c740
jmp 0x481063
mov eax, dword [ebp - 0xd0]
lea edx, [ebp - 0x184]
mov dword [ebp - 0x184], 0
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x14]
call fcn.00470b90
mov ecx, dword [ebp - 0x184]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xd0]
mov byte [esi + 2], cl
mov byte [esi + 3], 0
mov dword [esi + 0x40], 0
mov eax, dword [eax + 0xc]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x4861b7
mov edi, dword [ebp - 0xd0]
cmp dword [edi + 8], eax
jle 0x481314
test ecx, ecx
jne 0x480e52
jmp 0x481314
inc dword [esi + 0x7c]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x168], 1
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
cmp byte [esi], 1
jne 0x484509
lea edx, [ebp - 0x168]
mov ecx, esi
call fcn.0048a2b0
mov dword [ebp - 0xdc], eax
jmp 0x484550
mov edi, dword [esi + 0x14]
mov ecx, edi
call fcn.004708d0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x484545
cmp byte [edi + 0x42], al
jne 0x48452e
mov dword [ebp - 0x168], 1
jmp 0x484545
mov ecx, edi
mov dword [ebp - 0x168], 0
call fcn.00470a20
mov dword [ebp - 0xdc], eax
mov byte [esi + 3], 0
mov dword [esi + 0x40], 0
test eax, eax
jne 0x4861b7
mov eax, dword [ebp - 0x168]
mov edi, dword [ebp - 0xd0]
mov byte [esi + 2], al
test eax, eax
jne 0x480e52
jmp 0x481314
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x170]
push eax
mov edx, esi
mov dword [ebp - 0x170], 0
mov ecx, ebx
call fcn.0048a310
add esp, 4
jmp 0x4845e8
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
cmp dword [eax + ecx*4], 0
je 0x481063
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x170], eax
lea eax, [ebp - 0x170]
push eax
push dword [esi + 0x14]
mov eax, dword [ecx + 0x10]
call eax
add esp, 8
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x40], 0
test eax, eax
jne 0x4861b7
cmp dword [ebp - 0x170], eax
jne 0x484621
mov ecx, dword [ebp - 0xd4]
mov byte [esi + 2], al
mov eax, dword [ebp - 0xd0]
movzx eax, byte [eax + 3]
inc dword [ecx + eax*4 + 0x74]
jmp case.0x480e0d.13
mov byte [esi + 2], 1
jmp 0x485d6f
mov edx, dword [ebp - 0xd0]
mov eax, dword [esi + 0x38]
test byte [edx + 3], 1
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
je 0x484657
mov eax, dword [ebp - 0xd4]
inc dword [eax + 0x64]
mov eax, 0x4000
test word [esi + 8], ax
je 0x484677
mov ecx, esi
call fcn.00477bd0
test eax, eax
jne 0x4861b7
mov edx, dword [ebp - 0xd0]
cmp byte [edx], 0x6d
jne 0x484690
mov edx, esi
mov ecx, edi
call fcn.00489390
mov dword [ebp - 0xdc], eax
jmp 0x481df4
test byte [edx + 3], 0x10
je 0x48469b
mov eax, dword [edi + 0x20]
jmp 0x48469d
xor eax, eax
mov ecx, dword [edi + 0x14]
push eax
push dword [edx + 0xc]
mov eax, dword [esi + 0xc]
push 0
push 0
cdq
push 0x5637cb
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.00474860
add esp, 0x1c
mov dword [edi + 0x40], 0
mov dword [ebp - 0xdc], eax
jmp 0x481df4
mov edx, dword [ebp - 0xd0]
mov eax, dword [esi + 0x38]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [esi + 0x1c]
mov edi, dword [esi + 0x14]
mov dword [ebp - 0x240], eax
mov ax, word [edx + 0xc]
mov word [ebp - 0x238], ax
mov eax, dword [edx + 8]
lea edx, [ebp - 0x240]
mov byte [ebp - 0x236], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x23c], eax
lea eax, [ebp - 0x1bc]
push eax
push 0
push 0
push 0
call fcn.00470bf0
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861b7
cmp dword [ebp - 0x1bc], eax
jne 0x48475c
mov dl, 4
mov ecx, edi
call fcn.00474a70
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861b7
mov dword [esi + 0x40], 0
jmp 0x48130e
mov edx, dword [ebp - 0xd0]
mov eax, dword [esi + 0x38]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x14]
cmp byte [eax + 0x42], 1
je 0x48479d
mov ecx, esi
call fcn.0047c7b0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861b7
mov edx, dword [ebp - 0xd0]
jmp 0x4847a5
xor ecx, ecx
mov dword [ebp - 0xdc], ecx
cmp byte [esi + 2], 0
jne 0x484865
mov edx, dword [esi + 0x14]
lea eax, [ebp - 0x1a0]
xorps xmm0, xmm0
mov ecx, ebx
push eax
movlpd qword [ebp - 0x1a0], xmm0
call fcn.0047dbf0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861b7
mov eax, dword [ebp - 0xd0]
cmp byte [eax], 0x70
jne 0x484822
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1a0]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0x19c]
mov dword [ecx + 0x34], eax
mov eax, dword [ebp - 0xd0]
mov word [ecx + 2], 0x100
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x3c], eax
mov dword [ecx + 0x38], esi
jmp 0x48130e
mov esi, dword [ebp - 0xd4]
mov edx, eax
mov ecx, esi
call fcn.00480ca0
mov ecx, dword [ebp - 0x1a0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x19c]
mov dword [eax + 4], ecx
mov ecx, 4
mov word [eax + 8], cx
mov edi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
add edi, 0x14
mov ebx, dword [ebp - 0x110]
jmp 0x480de3
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00478350
jmp 0x48130e
mov eax, dword [ebp - 0xd0]
cmp byte [ebp - 0xe1], 0x74
mov dword [ebp - 0x150], 0
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x1c]
mov dword [ebp - 0x230], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x228], ax
sbb al, al
mov byte [ebp - 0x226], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, ebx
mov dword [ebp - 0x22c], eax
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.0047dd30
mov dword [ebp - 0xdc], eax
add esp, 8
mov eax, dword [ebp - 0xd0]
test byte [eax], 1
mov eax, dword [ebp - 0x150]
jne 0x484908
neg eax
jmp 0x484909
inc eax
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x150], eax
test ecx, ecx
jne 0x486380
mov edi, dword [ebp - 0xd0]
test eax, eax
jg 0x480e52
mov eax, dword [ebp - 0xd8]
mov ecx, 4
mov ebx, dword [ebp - 0x110]
add edi, 0x14
jmp 0x480de3
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.00480ca0
mov esi, eax
mov eax, 1
mov word [esi + 8], ax
mov ecx, dword [ebx + 0xa8]
inc ecx
cmp dword [ebx + 0x9c], ecx
jg 0x48630b
mov edx, dword [ebp - 0xd0]
lea ecx, [ebp - 0x18c]
push ecx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x18c], 0
mov eax, dword [edx + 0xc]
mov edx, dword [edx + 4]
mov dword [ebp - 0xe8], eax
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00475560
mov ecx, dword [ebp - 0x18c]
add esp, 4
mov dword [ebp - 0xdc], eax
mov eax, 4
mov word [esi + 8], ax
mov eax, ecx
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0xdc]
mov dword [esi + 4], edx
test eax, eax
jne 0x4861b7
test ecx, ecx
je 0x48130e
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe8]
push dword [eax + 4]
push ecx
mov ecx, ebx
call fcn.00499d00
mov al, byte [ebp - 0xe8]
add esp, 8
inc al
mov byte [ebp - 0x115], al
jmp 0x48130e
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 0x1a8]
xor ecx, ecx
mov dword [ebp - 0x1a8], 0
cmp dword [edx + 0xc], ecx
cmove eax, ecx
mov ecx, dword [ebx + 0x10]
push eax
mov eax, dword [edx + 8]
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00475290
mov edi, dword [ebp - 0xd0]
add esp, 4
mov dword [ebp - 0xdc], eax
cmp dword [edi + 0xc], 0
je 0x484a7a
mov eax, dword [ebp - 0x1a8]
add dword [esi + 0x64], eax
mov ecx, dword [edi + 0xc]
test ecx, ecx
jle 0x484a74
mov ebx, dword [ebp - 0xe0]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8], eax
mov eax, ebx
mov ebx, dword [ebp - 0x110]
adc dword [eax + ecx*8 + 4], edx
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x4861bd
mov ebx, dword [ebp - 0x110]
lea ecx, [eax + 4]
mov eax, dword [ebp - 0xd8]
add edi, 0x14
jmp 0x480de3
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x484abc
mov edx, dword [ecx + 0x14]
mov ecx, ebx
call fcn.00488600
jmp 0x481063
mov ecx, dword [ecx + 0x14]
push 0
mov edx, dword [ecx + 0x34]
mov ecx, dword [ecx]
call fcn.00475290
add esp, 4
mov dword [ebp - 0xdc], eax
jmp 0x481dfa
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.00480ca0
mov edi, eax
mov dword [ebp - 0x1a4], 0
mov eax, dword [ebp - 0xd0]
lea edx, [ebp - 0x1a4]
xor ecx, ecx
mov esi, dword [eax + 4]
shl esi, 4
add esi, dword [ebx + 0x10]
cmp byte [eax], 0x7a
setne cl
inc ecx
push ecx
mov ecx, dword [esi + 4]
call fcn.00475090
mov esi, dword [ebp - 0xd4]
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861bd
mov eax, dword [ebp - 0x1a4]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x481063
mov eax, dword [ebp - 0xd0]
mov ecx, str.sqlite_temp_master
mov dword [ebp - 0x210], ebx
mov edx, dword [eax + 4]
cmp edx, 1
mov eax, str.sqlite_master
mov dword [ebp - 0x208], edx
cmovne ecx, eax
lea eax, [esi + 0x2c]
mov dword [ebp - 0x20c], eax
add edx, edx
mov eax, dword [ebp - 0xd0]
push dword [eax + 0x10]
mov eax, dword [ebx + 0x10]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.0045bbf0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x48631f
push 0
lea eax, [ebp - 0x210]
mov byte [ebx + 0x95], 1
push eax
push fcn.004ad0a0
push esi
push ebx
mov dword [ebp - 0x204], 0
call fcn.004a9130
add esp, 0x14
mov edx, esi
test eax, eax
mov ecx, ebx
cmove eax, dword [ebp - 0x204]
mov dword [ebp - 0xdc], eax
call fcn.00459d00
mov ecx, dword [ebp - 0xdc]
mov byte [ebx + 0x95], 0
test ecx, ecx
jne 0x486329
jmp 0x48130e
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
mov edx, dword [eax + 4]
call fcn.00495630
mov dword [ebp - 0xdc], eax
jmp 0x481dfa
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
push dword [eax + 0x10]
mov edx, dword [eax + 4]
call fcn.004978c0
add esp, 4
jmp 0x481063
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
push dword [eax + 0x10]
mov edx, dword [eax + 4]
call fcn.004972f0
add esp, 4
jmp 0x481063
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
push dword [eax + 0x10]
mov edx, dword [eax + 4]
call fcn.004ba670
add esp, 4
jmp 0x481063
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [edx + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0x1c0]
push eax
push dword [ecx + edi*8]
movzx eax, byte [edx + 3]
mov ecx, dword [ebx + 0x10]
add eax, eax
push dword [edx + 8]
mov edx, dword [edx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00476220
mov ecx, dword [ebp - 0xe0]
add esp, 0xc
mov esi, dword [ebp - 0x1c0]
mov dword [ebp - 0xe8], eax
mov eax, esi
cdq
sub dword [ecx + edi*8], eax
sbb dword [ecx + edi*8 + 4], edx
mov edi, dword [ebp - 0xfc]
mov ecx, edi
call fcn.00478350
test esi, esi
je 0x484cf6
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x486685
push fcn.00459c50
push 1
push 0xffffffffffffffff
mov edx, eax
mov ecx, edi
call fcn.00478640
add esp, 0xc
movzx edx, byte [ebp - 0x108]
mov ecx, edi
call fcn.00477a00
jmp 0x48130e
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea edi, [eax + eax*4]
jne 0x484d3c
mov ecx, esi
call fcn.004783f0
test byte [esi + 8], 0x20
je 0x486685
mov ebx, dword [ebp - 0xe0]
push dword [ebx + edi*8 + 4]
mov ecx, dword [esi]
push dword [ebx + edi*8]
call fcn.00463880
add esp, 8
jmp 0x48130e
mov eax, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 0x20
lea esi, [edi + eax*8]
je 0x484dad
mov ecx, dword [esi]
lea edx, [ebp - 0x218]
call fcn.00463c50
test eax, eax
je 0x484dad
mov eax, dword [ebp - 0xd0]
push dword [ebp - 0x214]
push dword [ebp - 0x218]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.004783b0
add esp, 8
jmp 0x485d6f
mov ecx, esi
call fcn.00478350
jmp case.0x480e0d.13
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [edx + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xe8], eax
jne 0x484dfb
mov ecx, esi
call fcn.004783f0
test byte [esi + 8], 0x20
je 0x486685
mov eax, dword [ebp - 0xe8]
mov ebx, dword [ebp - 0xe0]
test eax, eax
je 0x484e28
push dword [ebx + edi*8 + 4]
mov ecx, dword [esi]
mov edx, eax
push dword [ebx + edi*8]
call fcn.00463cb0
add esp, 8
test eax, eax
jne 0x480e4c
mov eax, dword [ebp - 0xe8]
test eax, eax
js 0x48130e
jmp 0x484d42
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xe8], edx
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xec], ecx
cmp byte [eax + 3], 0
je 0x484e86
mov eax, dword [esi + 0xb8]
mov ecx, dword [edx + 0x14]
test eax, eax
je 0x484e80
cmp dword [eax + 0x1c], ecx
je 0x481063
mov eax, dword [eax + 4]
test eax, eax
jne 0x484e70
mov ecx, dword [ebp - 0xec]
mov eax, dword [esi + 0xc0]
cmp eax, dword [ebx + 0x84]
jge 0x48634a
test byte [ecx + 8], 0x40
jne 0x48504d
mov ecx, dword [edx + 0xc]
mov esi, dword [edx + 8]
add esi, ecx
test ecx, ecx
jne 0x484eaf
inc esi
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*4]
mov ecx, ebx
cdq
push edx
push eax
call fcn.00459f40
mov edi, eax
add esp, 8
test edi, edi
je 0x486685
mov ecx, dword [ebp - 0xec]
call fcn.00477f30
mov eax, dword [ebp - 0xec]
mov ecx, 0x40
mov word [eax + 8], cx
mov dword [eax], edi
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd0]
sub ecx, dword [ebp - 0x104]
mov dword [edi], eax
mov eax, dword [ebp - 0xe8]
mov dword [edi + 0x40], esi
mov eax, dword [eax + 0xc]
mov dword [edi + 0x44], eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0xd4]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xe8]
mov dword [edi + 0x30], eax
mov eax, dword [ecx + 8]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x1c]
mov dword [edi + 0x38], eax
mov eax, dword [ecx + 0x38]
mov dword [edi + 0x18], eax
mov eax, dword [ecx + 0x24]
mov dword [edi + 0x2c], eax
mov eax, dword [ecx + 4]
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x20]
mov dword [edi + 0x34], eax
mov eax, dword [edx + 0x14]
mov dword [edi + 0x1c], eax
mov eax, dword [ecx + 0xd0]
mov dword [edi + 0x14], eax
mov eax, dword [ecx + 0xcc]
mov dword [edi + 0x3c], eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
lea eax, [edi + 0x50]
cmp eax, ecx
je 0x484f93
mov esi, 0x80
mov word [eax + 8], si
mov dword [eax + 0x20], ebx
add eax, 0x28
cmp eax, ecx
jne 0x484f85
mov esi, dword [ebp - 0xd4]
inc dword [esi + 0xc0]
lea ebx, [edi + 0x50]
mov eax, dword [esi + 0xb8]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0x134]
mov dword [edi + 0x24], eax
mov eax, dword [esi + 0x64]
mov dword [edi + 0x48], eax
mov eax, dword [esi]
mov dword [ebp - 0xe0], ebx
mov eax, dword [eax + 0x54]
mov dword [edi + 0x4c], eax
mov eax, dword [esi + 0xd4]
mov dword [edi + 0x28], eax
mov dword [esi + 0xd4], 0
mov dword [esi + 0x64], 0
mov dword [esi + 0xb8], edi
mov dword [esi + 8], ebx
mov eax, dword [edi + 0x40]
mov dword [esi + 0x1c], eax
movzx eax, word [edi + 0x44]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x1c]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov dword [esi + 0x38], ecx
mov ebx, dword [edx]
mov dword [esi + 4], ebx
mov eax, dword [edx + 4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x104], ebx
lea ecx, [ecx + eax*4]
mov dword [esi + 0xd0], ecx
mov eax, dword [edx + 0x10]
lea edx, [ebx - 0x14]
push eax
push 0
push ecx
mov dword [esi + 0xcc], eax
mov dword [ebp - 0xd0], edx
call fcn.00509d10
add esp, 0xc
jmp 0x481063
mov edi, dword [ecx]
jmp 0x484f99
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.00480ca0
mov esi, eax
mov eax, dword [ebp - 0xd4]
push 0x1000
mov eax, dword [eax + 0xb8]
mov ecx, dword [eax + 0x30]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [ecx + edx*4 + 4]
mov edx, dword [ebp - 0xd0]
add ecx, dword [edx + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.00478520
add esp, 4
jmp 0x48130e
test dword [ebx + 0x18], 0x1000000
mov eax, dword [ebp - 0xd0]
mov edi, eax
je 0x4850d7
mov eax, dword [eax + 8]
cdq
add dword [ebx + 0x1c0], eax
mov eax, dword [ebp - 0xd8]
adc dword [ebx + 0x1c4], edx
add edi, 0x14
mov ebx, dword [ebp - 0x110]
jmp 0x480de3
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
cdq
je 0x485101
add dword [ebx + 0x1b8], eax
mov eax, dword [ebp - 0xd8]
adc dword [ebx + 0x1bc], edx
add edi, 0x14
mov ebx, dword [ebp - 0x110]
jmp 0x480de3
add dword [esi + 0x98], eax
mov eax, dword [ebp - 0xd8]
adc dword [esi + 0x9c], edx
add edi, 0x14
mov ebx, dword [ebp - 0x110]
jmp 0x480de3
mov eax, dword [ebp - 0xd0]
mov edi, eax
cmp dword [eax + 4], 0
je 0x485167
mov eax, dword [ebx + 0x1b8]
or eax, dword [ebx + 0x1bc]
jne case.0x480e0d.62
mov eax, dword [ebx + 0x1c0]
or eax, dword [ebx + 0x1c4]
je 0x480e52
mov eax, dword [ebp - 0xd8]
add edi, 0x14
mov ebx, dword [ebp - 0x110]
jmp 0x480de3
mov eax, dword [esi + 0x98]
or eax, dword [esi + 0x9c]
jmp 0x48513b
mov edx, dword [esi + 0xb8]
test edx, edx
je 0x4851a9
mov eax, dword [edx + 4]
test eax, eax
je 0x48518f
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x485186
mov eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x4851be
mov eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov ecx, edi
call fcn.00478100
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, esi
call fcn.00478100
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x48130e
jl 0x4851f3
cmp dword [edi], eax
jae 0x48130e
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x48130e
mov eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
lea esi, [eax + eax*4]
mov edi, dword [ebx + esi*8 + 4]
mov ecx, dword [ebx + esi*8]
test edi, edi
jl 0x48130e
jg 0x485228
test ecx, ecx
je 0x48130e
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
mov dword [ebx + esi*8], ecx
sbb edi, edx
mov dword [ebx + esi*8 + 4], edi
jmp 0x480e4c
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edi, [eax + eax*4]
call fcn.00480ca0
mov ecx, dword [ebp - 0xe0]
mov ebx, eax
mov edx, dword [ecx + esi*8]
mov esi, dword [ecx + esi*8 + 4]
test esi, esi
jg 0x485287
jl 0x485278
test edx, edx
jne 0x485287
or eax, 0xffffffff
or ecx, eax
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x48130e
mov eax, dword [ecx + edi*8]
mov ecx, dword [ecx + edi*8 + 4]
test ecx, ecx
jl 0x485298
jg 0x4852af
test eax, eax
jne 0x4852af
xorps xmm0, xmm0
movlpd qword [ebp - 0x100], xmm0
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x100]
add eax, edx
mov dword [ebx], eax
adc ecx, esi
mov dword [ebx + 4], ecx
jmp 0x48130e
mov eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
lea edi, [eax + eax*4]
mov ecx, dword [ebx + edi*8]
mov eax, ecx
mov esi, dword [ebx + edi*8 + 4]
or eax, esi
je 0x48130e
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
mov dword [ebx + edi*8], ecx
sbb esi, edx
mov dword [ebx + edi*8 + 4], esi
jmp 0x480e4c
mov eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
add dword [ebx + ecx*8], 0xffffffff
mov eax, dword [ebx + ecx*8]
adc dword [ebx + ecx*8 + 4], 0xffffffff
or eax, dword [ebx + ecx*8 + 4]
je 0x480e52
mov eax, dword [ebp - 0xd8]
mov ecx, 4
mov ebx, dword [ebp - 0x110]
add edi, 0x14
jmp 0x480de3
mov eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
lea esi, [eax + eax*4]
mov edi, dword [ebx + esi*8]
mov ecx, edi
mov edx, dword [ebx + esi*8 + 4]
add ecx, 1
mov eax, edx
mov dword [ebx + esi*8], ecx
adc eax, 0
or edi, edx
mov edi, dword [ebp - 0xd0]
mov dword [ebx + esi*8 + 4], eax
je 0x480e52
jmp 0x481314
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
push 0
movzx eax, byte [eax + 3]
mov dword [ebp - 0xfc], eax
lea eax, [eax*4 + 0x1c]
push eax
call fcn.0045a000
mov esi, eax
add esp, 8
test esi, esi
je 0x486685
mov eax, dword [ebp - 0xd0]
mov dword [esi + 8], 0
mov ecx, dword [eax + 0x10]
mov dword [esi + 4], ecx
mov ecx, eax
sub ecx, dword [ebp - 0x104]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xd4]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0xfc]
mov byte [esi + 0x1a], al
mov eax, dword [ebp - 0xd0]
mov word [eax], 0xec90
mov dword [eax + 0x10], esi
jmp 0x485403
mov eax, dword [ebp - 0xd0]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [ebp - 0xfc], edi
cmp dword [esi + 8], edi
je 0x485460
movzx ecx, byte [esi + 0x1a]
dec ecx
mov dword [esi + 8], edi
js 0x485460
mov ebx, dword [ebp - 0xd0]
lea edx, [ecx + 7]
mov edi, dword [ebp - 0xe0]
lea edx, [esi + edx*4]
lea esp, [esp]
mov eax, dword [ebx + 8]
lea edx, [edx - 4]
add eax, ecx
dec ecx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + 4], eax
jns 0x485440
mov ebx, dword [ebp - 0x110]
mov edi, dword [ebp - 0xfc]
inc dword [edi + 0xc]
mov eax, 1
mov word [ebp - 0x2d0], ax
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x2b8], ebx
mov dword [ebp - 0x2c0], 0
mov ecx, dword [esi + 4]
mov dword [esi], eax
lea eax, [esi + 0x1c]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov word [esi + 0x18], 0
mov eax, dword [ecx + 0xc]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x4854f3
cmp dword [esi + 0x14], 0
je 0x4854da
lea eax, [ebp - 0x2d8]
push eax
call fcn.0047e400
add esp, 4
push eax
push 0x568b20
push dword [ebp - 0xd4]
call fcn.00479000
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0xdc], eax
lea ecx, [ebp - 0x2d8]
call fcn.00477f30
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x4861b7
cmp byte [esi + 0x18], 0
je 0x48130e
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x48130e
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.004783b0
add esp, 8
jmp 0x48130e
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00477d70
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x486362
movzx edx, byte [ebp - 0x108]
mov ecx, esi
call fcn.00477a00
mov ecx, esi
jmp 0x481b25
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xcc], 0
push eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xc4], 0xffffffff
push eax
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
mov dword [ebp - 0xc8], 0xffffffff
push dword [eax + 8]
mov edx, dword [eax + 4]
call fcn.004cfcd0
add esp, 0xc
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x4855d6
cmp eax, 5
jne 0x4861bd
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xcc], 1
mov eax, dword [ebp - 0xd0]
xor esi, esi
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
lea ecx, [ecx]
mov eax, dword [ebp + esi*4 - 0xcc]
mov ecx, edi
cdq
push edx
push eax
call fcn.004783b0
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x4855f0
jmp 0x48130e
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.00480ca0
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 4]
mov esi, dword [eax + 0xc]
add edx, edx
cmp esi, 0xffffffff
mov eax, dword [ecx + edx*8 + 4]
mov dword [ebp - 0xfc], eax
mov ecx, dword [eax + 4]
mov edi, dword [ecx]
movzx ecx, byte [edi + 5]
cmove esi, ecx
mov dword [ebp - 0xf0], ecx
cmp byte [edi + 0x11], 3
jae 0x485671
mov eax, dword [edi + 0x44]
cmp dword [eax], 0
je 0x485673
cmp dword [edi + 0x54], 0
jl 0x485673
jg 0x485671
cmp dword [edi + 0x50], 0
jbe 0x485673
mov esi, ecx
cmp byte [edi + 0x10], 0
mov eax, 0x5637cb
jne 0x485684
mov eax, dword [edi + 0xb0]
cmp esi, 5
jne 0x4856b2
mov ecx, eax
call fcn.0045c900
test eax, eax
je 0x48569f
mov ecx, edi
call fcn.00469040
test eax, eax
jne 0x4856ac
mov eax, dword [ebp - 0xf0]
mov esi, eax
jmp 0x485738
mov ecx, dword [ebp - 0xf0]
cmp esi, ecx
je 0x485732
cmp ecx, 5
je 0x4856c8
cmp esi, 5
jne 0x485732
cmp byte [ebx + 0x43], 0
je 0x48638b
cmp dword [ebx + 0x9c], 1
jg 0x48638b
cmp ecx, 5
jne 0x485700
mov ecx, edi
call fcn.00469200
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x485743
mov edx, esi
mov ecx, edi
call fcn.00468ea0
jmp 0x485718
cmp ecx, 4
jne 0x48570f
lea edx, [ecx - 2]
mov ecx, edi
call fcn.00468ea0
cmp dword [ebp - 0xdc], 0
jne 0x485743
mov ecx, dword [ebp - 0xfc]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.004767b0
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xf0]
cmp dword [ebp - 0xdc], 0
je 0x48574b
jmp 0x485749
mov eax, dword [ebp - 0xf0]
mov esi, eax
mov edx, esi
mov ecx, edi
call fcn.00468ea0
mov esi, dword [ebp - 0xe8]
mov ecx, 0xa02
mov word [esi + 8], cx
cmp eax, 6
jne 0x48576c
xor ecx, ecx
jmp 0x485773
mov ecx, dword [eax*4 + 0x5678b8]
mov dword [esi + 0x10], ecx
call fcn.0045c900
movzx edx, byte [ebp - 0x108]
mov ecx, esi
mov dword [esi + 0xc], eax
mov byte [esi + 0xa], 1
call fcn.00477a00
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xd4]
test eax, eax
jne 0x4861bd
jmp 0x481063
lea ecx, [esi + 0x2c]
mov edx, ebx
call fcn.004bdaf0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861bd
mov ebx, dword [ebp - 0x110]
lea ecx, [eax + 4]
mov eax, dword [ebp - 0xd8]
add edi, 0x14
jmp 0x480de3
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0046f7e0
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x481063
cmp eax, 0x65
jne 0x4861bd
mov dword [ebp - 0xdc], 0
jmp 0x480e4c
cmp dword [edi + 4], 0
jne 0x48583b
mov ecx, ebx
call fcn.0047de30
mov eax, dword [ebp - 0xd8]
mov ecx, 4
mov ebx, dword [ebp - 0x110]
add edi, 0x14
jmp 0x480de3
or dword [esi + 0x58], 1
add edi, 0x14
mov eax, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0x110]
jmp 0x480de3
mov eax, dword [ebp - 0xd0]
mov al, byte [eax + 0xc]
mov byte [ebp - 0x1d8], al
test al, al
jne 0x485873
test dword [ebx + 0x18], 0x4000
jne 0x48484b
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebp - 0xd0]
push dword [ebp - 0x1d8]
mov eax, dword [eax + 4]
add eax, eax
mov edx, dword [edx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004766c0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x481063
cmp al, 6
jne 0x4861bd
mov eax, dword [ebp - 0xd0]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push esi
call fcn.00479000
mov eax, dword [ebp - 0xdc]
add esp, 0xc
jmp 0x4861bd
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
mov esi, dword [eax + 0x10]
mov edx, esi
call fcn.004bf240
mov dword [ebp - 0xdc], eax
test esi, esi
je 0x485796
mov edx, dword [esi + 8]
mov esi, dword [ebp - 0xd4]
mov ecx, esi
call fcn.0047ded0
mov eax, dword [ebp - 0xdc]
jmp 0x48579c
mov eax, dword [ebp - 0xd0]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0xe0]
movq qword [ebp - 0x270], xmm0
movdqu xmmword [ebp - 0x290], xmm0
mov eax, dword [eax + 8]
movdqu xmmword [ebp - 0x280], xmm0
mov dword [ebp - 0x270], ebx
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x290]
call fcn.00478580
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0x290]
push eax
call fcn.0047e400
add esp, 4
test eax, eax
je 0x485987
lea ecx, [esi + 0x2c]
push ecx
push eax
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
mov edx, dword [eax + 4]
call fcn.004bed30
add esp, 8
mov dword [ebp - 0xdc], eax
lea ecx, [ebp - 0x290]
call fcn.00477f30
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x4861bd
jmp 0x481063
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
inc dword [ebx + 0xa8]
push dword [eax + 0x10]
mov edx, dword [eax + 4]
call fcn.004bf000
dec dword [ebx + 0xa8]
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4861bd
jmp 0x481063
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x164], 0
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x4863cd
mov edi, dword [esi]
test edi, edi
je 0x4863cd
lea eax, [ebp - 0x164]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ecx, dword [ebp - 0xd4]
add esp, 8
mov edx, esi
mov dword [ebp - 0xdc], eax
call fcn.0047ded0
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x4861b7
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0xd4]
push 2
push 0xffffffffffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0xd0]
push 0
mov edx, dword [eax + 4]
call fcn.00480920
add esp, 0xc
test eax, eax
je 0x4863ba
mov ecx, dword [ebp - 0x164]
mov dword [eax + 0x14], ecx
inc dword [esi + 4]
jmp 0x48130e
mov eax, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xe0]
add edi, 0x28
mov eax, dword [eax + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd0]
lea edi, [edi + edx*8]
movd xmm0, edi
mov dword [ebp - 0xe8], edi
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [edi]
pshufd xmm3, xmm0, 0
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0xf4], eax
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x114], eax
mov eax, dword [eax]
mov dword [ebp - 0x11c], eax
mov eax, dword [eax]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + edx*8]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0xfc], edx
test esi, esi
jle 0x485b9f
cmp esi, 8
jb 0x485b87
cmp dword [0x5a1a2c], 2
jl 0x485b87
movdqa xmm2, xmmword [0x573370]
mov eax, esi
and eax, 0x80000007
jns 0x485b1c
dec eax
or eax, 0xfffffff8
inc eax
movdqa xmm1, xmmword [0x5733a0]
mov edi, esi
sub edi, eax
jmp 0x485b30
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x20]
paddd xmm0, xmm2
add ecx, 8
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movdqu xmmword [edx - 0x20], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movdqu xmmword [edx - 0x10], xmm0
cmp ecx, edi
jl 0x485b30
mov edx, dword [ebp - 0xfc]
mov edi, dword [ebp - 0xe8]
cmp ecx, esi
jge 0x485b9f
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x485b94
mov eax, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xec]
push edx
push esi
push dword [eax + 0x10]
mov esi, dword [ebp - 0x114]
push dword [ebp - 0x12c]
mov eax, dword [edi + 0x20]
push esi
call eax
mov edx, dword [ebp - 0x11c]
add esp, 0x14
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xdc], eax
call fcn.0047ded0
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x4861b7
mov eax, dword [edi + 0x28]
push esi
call eax
mov ecx, dword [ebp - 0xf4]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
jne 0x480e4c
jmp 0x48130e
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
cmp byte [edx + 2], 0
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
je 0x485c40
mov ecx, edi
call fcn.00478350
jmp 0x481063
mov eax, dword [edx + 0x14]
xorps xmm0, xmm0
mov esi, dword [eax]
mov ecx, dword [esi]
movdqu xmmword [ebp - 0x2b0], xmm0
mov dword [ebp - 0x2b0], edi
movdqu xmmword [ebp - 0x2a0], xmm0
mov ax, word [edi + 8]
and ax, word [ebp - 0x1d4]
or ax, 1
mov word [edi + 8], ax
mov eax, dword [ebp - 0xd0]
push dword [eax + 8]
lea eax, [ebp - 0x2b0]
push eax
push dword [edx + 0x14]
mov eax, dword [ecx + 0x2c]
call eax
add esp, 0xc
mov dword [ebp - 0xdc], eax
mov edx, esi
mov esi, dword [ebp - 0xd4]
mov ecx, esi
call fcn.0047ded0
mov eax, dword [ebp - 0x29c]
test eax, eax
mov ecx, dword [ebp - 0xdc]
movzx edx, byte [ebp - 0x108]
cmovne ecx, eax
mov dword [ebp - 0xdc], ecx
mov ecx, edi
call fcn.00477a00
mov ecx, edi
call fcn.004784c0
test eax, eax
jne 0x4863dd
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x4861bd
jmp 0x481063
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x481063
mov eax, dword [edi + 0x14]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0xfc], ecx
mov eax, dword [ecx + 0x24]
call eax
add esp, 4
mov dword [ebp - 0xdc], eax
mov edx, esi
mov esi, dword [ebp - 0xd4]
mov ecx, esi
call fcn.0047ded0
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x4861bd
mov eax, dword [ebp - 0xfc]
push dword [edi + 0x14]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x485d6f
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x104]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
add ecx, 0xffffffec
mov dword [ebp - 0xd0], ecx
cmp dword [ebx + 0xf8], 0
jne 0x48661e
mov ecx, dword [ebx + 0x130]
mov eax, dword [ebp - 0xd8]
test ecx, ecx
je 0x4860a4
cmp eax, dword [ebp - 0x160]
jb 0x4860a4
mov esi, dword [ebx + 0x138]
xor edx, edx
div esi
push dword [ebx + 0x134]
sub esi, edx
add esi, dword [ebp - 0xd8]
mov dword [ebp - 0x160], esi
call ecx
mov esi, dword [ebp - 0xd4]
add esp, 4
test eax, eax
jne 0x486426
jmp 0x481063
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 2
lea esi, [ecx + eax*8]
je 0x485e0b
cmp byte [esi + 0xa], 1
je 0x485e0b
mov dl, 1
mov ecx, esi
call fcn.0045c210
test eax, eax
jne 0x4861b7
mov eax, dword [edi]
push dword [esi + 0x10]
push edi
mov eax, dword [eax + 0x4c]
call eax
mov esi, dword [ebp - 0xd4]
add esp, 8
mov edx, edi
mov dword [ebp - 0xdc], eax
mov ecx, esi
call fcn.0047ded0
and dword [esi + 0x58], 0xfffffffe
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x4861bd
jmp 0x481063
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 8]
mov dword [ebp - 0xe8], edx
test edx, edx
je 0x4863f5
mov eax, dword [edx]
mov dword [ebp - 0xfc], eax
test eax, eax
je 0x4863f5
cmp dword [eax + 0x34], 0
mov esi, dword [ebp - 0xd0]
mov esi, dword [esi + 8]
je 0x486084
mov al, byte [ebx + 0x4a]
mov ecx, dword [ebp - 0xe0]
mov byte [ebp - 0xe1], al
mov eax, dword [ebp - 0xd4]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x485ebb
nop
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x485eb0
mov eax, dword [ebp - 0xd0]
mov al, byte [eax + 3]
mov byte [ebx + 0x4a], al
lea eax, [ebp - 0x220]
push eax
mov eax, dword [ebp - 0xfc]
push edi
push esi
push edx
mov eax, dword [eax + 0x34]
call eax
mov esi, dword [ebp - 0xd4]
add esp, 0x10
mov edx, dword [ebp - 0xe8]
mov ecx, esi
mov dword [ebp - 0xdc], eax
mov al, byte [ebp - 0xe1]
mov byte [ebx + 0x4a], al
call fcn.0047ded0
cmp dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xd0]
jne 0x485f34
cmp dword [eax + 4], 0
je 0x485f34
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x134], edx
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], edx
mov ecx, dword [ebp - 0xdc]
cmp cl, 0x13
jne 0x485f7a
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x485f7a
mov eax, dword [ebp - 0xd0]
mov al, byte [eax + 3]
cmp al, 4
jne 0x485f64
mov dword [ebp - 0xdc], 0
jmp 0x481063
cmp al, 5
jne 0x485f72
mov eax, 2
mov byte [esi + 0x56], al
jmp 0x485f7d
movzx eax, al
mov byte [esi + 0x56], al
jmp 0x485f7d
inc dword [esi + 0x64]
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x4861bd
jmp 0x481063
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.00480ca0
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 4]
mov ecx, dword [ebx + 0x10]
add edx, edx
mov ecx, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x30]
mov dword [eax], ecx
mov dword [eax + 4], 0
jmp 0x481063
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.00480ca0
mov ecx, dword [ebx + 0x10]
mov edi, eax
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 4]
mov esi, dword [eax + 0xc]
add edx, edx
mov ecx, dword [ecx + edx*8 + 4]
xor edx, edx
test esi, esi
je 0x485ff8
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x30]
cmp edx, esi
cmovb edx, esi
call fcn.0046ea80
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x48130e
cmp dword [ebx + 0xb4], 0
je 0x486063
test byte [esi + 0x58], 2
jne 0x486063
mov edx, dword [ebp - 0xd0]
mov edx, dword [edx + 0x10]
test edx, edx
jne 0x48602e
mov edx, dword [esi + 0xb0]
test edx, edx
je 0x48605d
mov ecx, esi
call fcn.00480470
mov ecx, dword [ebx + 0xb4]
mov esi, eax
push esi
push dword [ebx + 0xb8]
call ecx
add esp, 8
mov edx, esi
mov ecx, ebx
call fcn.00459d00
mov esi, dword [ebp - 0xd4]
mov ecx, 4
mov edi, dword [ebp - 0xd0]
cmp dword [edi + 8], 0
je case.0x480e0d.62
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x104]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ecx + eax*4]
jmp 0x481314
mov edi, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd4]
add edi, 0x14
mov eax, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0x110]
jmp 0x480de3
mov edi, dword [ebp - 0xd0]
mov ecx, 4
mov esi, dword [ebp - 0xd4]
add edi, 0x14
mov ebx, dword [ebp - 0x110]
jmp 0x480de3
mov ecx, dword [edx + 4]
mov dword [edi + 0x50], ecx
mov al, byte [edx + 8]
mov byte [edi + 0x56], al
mov dword [edi + 0x4c], esi
test ecx, ecx
je 0x486148
mov al, byte [edx + 3]
test al, al
je 0x486108
movzx eax, al
mov eax, dword [eax*4 + 0x5657e0]
test eax, eax
je 0x48610a
mov ecx, dword [edx + 0x10]
test ecx, ecx
je 0x48610a
push ecx
push eax
push str._s_constraint_failed:__s
push edi
call fcn.00479000
add esp, 0x10
jmp 0x486128
xor eax, eax
mov ecx, dword [edx + 0x10]
test ecx, ecx
je 0x486119
push ecx
push 0x568b20
jmp 0x48611f
push eax
push str._s_constraint_failed
push edi
call fcn.00479000
add esp, 0xc
push dword [edi + 0x2c]
mov eax, dword [ebp - 0xd0]
push dword [edi + 0xb0]
push esi
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.0045be30
add esp, 0x14
mov esi, dword [ebp - 0xd4]
mov ecx, esi
call fcn.0047bd00
cmp eax, 5
jne 0x486168
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x50], eax
jmp 0x4867dc
cmp dword [esi + 0x50], 0
mov eax, 0x65
mov ecx, 1
cmovne eax, ecx
mov dword [ebp - 0xdc], eax
jmp 0x4867dc
mov ecx, 0x12c99
call fcn.004d12b0
jmp 0x4861b7
cmp dword [edx + 0x50], 0
jne 0x4861a1
lea ecx, [ebp - 0x268]
call fcn.00477f30
mov ecx, 0x12cd6
call fcn.004d12b0
mov dword [ebp - 0xdc], eax
mov ebx, dword [ebp - 0x110]
mov esi, dword [ebp - 0xd4]
cmp byte [ebx + 0x45], 0
mov ecx, 7
cmovne eax, ecx
cmp dword [esi + 0x2c], 0
mov dword [ebp - 0xdc], eax
jne 0x4866e6
cmp eax, 0xc0a
je 0x4866e6
mov ecx, dword [ebp - 0xdc]
mov eax, str.unknown_error
cmp ecx, 0x204
je 0x4866cc
movzx ecx, cl
cmp ecx, 0x1a
ja 0x4866d1
mov ecx, dword [ecx*4 + 0x5648f8]
test ecx, ecx
je 0x4866d1
mov eax, ecx
jmp 0x4866d1
push str.cannot_open_savepoint___SQL_statements_in_progress
push esi
call fcn.00479000
add esp, 8
mov eax, 5
jmp 0x4861bd
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x48653c
mov ecx, dword [ebp - 0xd0]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x104]
mov esi, edi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x4c], eax
mov eax, 5
mov byte [ebx + 0x43], 0
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x50], eax
jmp 0x4867dc
mov eax, 8
jmp 0x4861bd
mov ecx, dword [ebp - 0xd0]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x104]
mov esi, dword [ebp - 0xd4]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x4c], eax
mov eax, dword [ebp - 0xdc]
mov dword [esi + 0x50], eax
jmp 0x4867dc
mov edi, dword [ebp - 0xd4]
mov ecx, ebx
mov edx, dword [edi + 0x2c]
call fcn.00459d00
mov edx, str.database_schema_has_changed
mov ecx, ebx
call fcn.0045a270
mov dword [edi + 0x2c], eax
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 4]
mov ecx, edx
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], esi
je 0x4862f1
mov ecx, ebx
call fcn.004974f0
mov esi, edi
mov eax, 0x11
or dword [esi + 0x58], 1
jmp 0x4861bd
mov eax, 0x204
jmp 0x4861bd
mov esi, dword [ebp - 0xd4]
mov eax, 6
mov byte [esi + 0x56], 2
jmp 0x4861bd
mov dword [ebp - 0xdc], 7
mov ecx, ebx
call fcn.00497530
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xd4]
cmp eax, 7
je 0x48668b
jmp 0x4861bd
push str.too_many_levels_of_trigger_recursion
push esi
call fcn.00479000
add esp, 8
mov eax, 1
jmp 0x4861bd
push esi
call fcn.0047e400
mov esi, dword [ebp - 0xd4]
add esp, 4
push eax
push 0x568b20
push esi
call fcn.00479000
add esp, 0xc
mov eax, dword [ebp - 0xdc]
jmp 0x4861bd
cmp esi, 5
mov eax, str.into
mov ecx, str.out_of
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov esi, dword [ebp - 0xd4]
push esi
call fcn.00479000
add esp, 0xc
mov eax, 1
jmp 0x4861bd
push dword [ebp - 0x164]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
jmp 0x486685
mov eax, 6
jmp 0x4861b7
mov esi, dword [ebp - 0xd4]
push str.string_or_blob_too_big
push esi
call fcn.00479000
add esp, 8
mov eax, 0x12
jmp 0x4861bd
mov eax, 6
jmp 0x4861bd
mov eax, dword [ebx + 0x130]
test eax, eax
je 0x486430
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0x160]
jb 0x486430
push dword [ebx + 0x134]
call eax
add esp, 4
test eax, eax
je 0x486430
mov eax, 9
jmp 0x4861bd
xor edx, edx
mov ecx, esi
call fcn.0047bc90
test eax, eax
jne 0x4861bd
lea edx, [eax + 1]
mov ecx, esi
call fcn.0047bb60
mov eax, dword [esi + 0x48]
xor edi, edi
mov ecx, dword [ebp - 0xd0]
add eax, 2
mov edx, dword [ebp - 0xe0]
or eax, 1
mov dword [esi + 0x48], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x14], esi
cmp dword [ecx + 8], edi
jle 0x4864b0
lea esp, [esp]
mov eax, 0x1000
test word [esi + 8], ax
je 0x48649a
mov ecx, esi
call fcn.00477b60
test eax, eax
jne 0x486685
mov ecx, esi
call fcn.00477c70
mov ecx, dword [ebp - 0xd0]
inc edi
add esi, 0x28
cmp edi, dword [ecx + 8]
jl 0x486480
cmp byte [ebx + 0x45], 0
jne 0x486685
sub ecx, dword [ebp - 0x104]
mov eax, 0x66666667
mov esi, dword [ebp - 0xd4]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [esi + 0x4c], eax
mov eax, 0x64
mov dword [ebp - 0xdc], eax
jmp 0x4867dc
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
mov esi, dword [eax + 8]
movzx eax, byte [ebx + 0x43]
mov dword [ebp - 0xe8], ecx
cmp ecx, eax
je 0x4865ea
test esi, esi
je 0x48652a
mov edx, 0x204
mov ecx, ebx
call fcn.004cf1a0
mov esi, dword [ebp - 0xd4]
mov edi, 1
mov byte [ebx + 0x43], 1
jmp 0x486580
test ecx, ecx
je 0x486555
cmp dword [ebx + 0xa0], 0
jle 0x486555
push str.cannot_commit_transaction___SQL_statements_in_progress
mov esi, dword [ebp - 0xd4]
push esi
call fcn.00479000
add esp, 8
mov eax, 5
jmp 0x4861bd
mov esi, dword [ebp - 0xd4]
mov edi, 1
mov edx, edi
mov ecx, esi
call fcn.0047bc90
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4867dc
mov eax, dword [ebp - 0xe8]
mov byte [ebx + 0x43], al
mov ecx, esi
call fcn.0047bd00
cmp eax, 5
jne 0x4865ca
mov ecx, dword [ebp - 0xd0]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x104]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x4c], eax
mov al, 1
sub al, byte [ebp - 0xe8]
mov byte [ebx + 0x43], al
mov eax, 5
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x50], eax
jmp 0x4867dc
mov ecx, ebx
call fcn.004ce680
cmp dword [esi + 0x50], 0
mov eax, edi
mov ecx, 0x65
cmove eax, ecx
mov dword [ebp - 0xdc], eax
jmp 0x4867dc
test ecx, ecx
jne 0x4865f5
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x486604
test esi, esi
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
mov esi, dword [ebp - 0xd4]
push eax
push esi
call fcn.00479000
add esp, 8
mov eax, 1
jmp 0x4861bd
mov esi, dword [ebp - 0xd4]
xor ecx, ecx
mov eax, str.unknown_error
cmp byte [ebx + 0x45], cl
sete cl
lea ecx, [ecx*2 + 7]
mov dword [ebp - 0xdc], ecx
mov dword [esi + 0x50], ecx
cmp ecx, 0x204
je 0x486660
movzx ecx, cl
cmp ecx, 0x1a
ja 0x486665
mov ecx, dword [ecx*4 + 0x5648f8]
test ecx, ecx
je 0x486665
mov eax, ecx
jmp 0x486665
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x568b20
push esi
call fcn.00479000
mov eax, dword [ebp - 0xdc]
add esp, 0xc
jmp 0x4861bd
mov ebx, dword [ebp - 0x110]
mov esi, dword [ebp - 0xd4]
cmp byte [ebx + 0x45], 0
jne 0x4866b4
cmp byte [ebx + 0x46], 0
jne 0x4866b4
cmp dword [ebx + 0xa4], 0
mov byte [ebx + 0x45], 1
jle 0x4866ae
mov dword [ebx + 0xf8], 1
inc dword [ebx + 0x100]
push str.out_of_memory
push esi
call fcn.00479000
add esp, 8
mov eax, 7
jmp 0x4861bd
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x568b20
push esi
call fcn.00479000
mov eax, dword [ebp - 0xdc]
add esp, 0xc
mov dword [esi + 0x50], eax
cmp eax, 0xc0a
je 0x486717
movzx eax, al
cmp eax, 0xe
je 0x4866fd
cmp eax, 0xa
jne 0x486717
mov eax, dword [ebx]
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x486712
push 0
push 0
push eax
call ecx
add esp, 0xc
jmp 0x486714
xor eax, eax
mov dword [ebx + 0x3c], eax
mov ecx, dword [ebp - 0xd0]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x104]
push dword [esi + 0x2c]
imul ecx
push dword [esi + 0xb0]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0xdc]
call fcn.0045be30
add esp, 0x14
mov ecx, esi
call fcn.0047bd00
cmp dword [ebp - 0xdc], 0xc0a
jne 0x48678d
cmp byte [ebx + 0x45], 0
jne 0x48678d
cmp byte [ebx + 0x46], 0
jne 0x48678d
cmp dword [ebx + 0xa4], 0
mov byte [ebx + 0x45], 1
jle 0x486787
mov dword [ebx + 0xf8], 1
inc dword [ebx + 0x100]
mov cl, byte [ebp - 0x115]
mov eax, 1
mov dword [ebp - 0xdc], eax
test cl, cl
je 0x4867dc
mov eax, dword [ebx + 0x10]
movzx esi, cl
dec esi
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.0049dcd0
add esp, 4
cmp esi, 1
je 0x4867cc
mov eax, dword [ebx + 0x10]
push dword [eax + 0x1c]
call fcn.0049dcd0
add esp, 4
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xd4]
jmp 0x4867dc
mov esi, edi
mov ecx, dword [ebp - 0x138]
mov dword [ebx + 0x20], ecx
mov ecx, dword [ebp - 0x134]
mov dword [ebx + 0x24], ecx
mov ecx, dword [ebp - 0xd8]
add dword [esi + 0x84], ecx
cmp dword [esi + 0x6c], 0
je 0x48680d
mov ecx, esi
call fcn.0047a520
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0050904e
mov esp, ebp
pop ebp
ret