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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x444
mov eax, dword [0x50a0b0]
xor eax, esp
mov dword [esp + 0x440], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov esi, dword [eax]
mov ecx, dword [eax + 4]
mov edi, dword [eax + 8]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x10], ecx
mov cl, byte [esi + 0x3e]
mov byte [esp + 0x64], cl
mov byte [esp + 0xa4], cl
mov byte [esp + 0xb0], cl
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x24], edi
mov edi, dword [esi + 0x20]
push eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], esi
mov byte [esp + 0x67], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0x54], edi
mov dword [esp + 0x24], ecx
call fcn.00475e80
mov ebx, dword [esp + 0x18]
add esp, 4
cmp dword [ebx + 0x50], 7
je 0x47d470
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x88], 0
mov dword [ebx + 0x8c], 0
mov dword [ebx + 0x14], 0
cmp dword [esi + 0xf0], 0
mov dword [esi + 0x1c4], 0
jne 0x47d42f
cmp dword [esi + 0x124], 0
je 0x476000
mov eax, dword [ebx + 0x7c]
mov ecx, dword [esi + 0x12c]
mov dword [esp + 0xa8], ecx
test eax, eax
je 0x476000
xor edx, edx
div ecx
mov dword [esp + 0xa8], edx
mov eax, dword [ebx + 0x4c]
mov ecx, dword [esp + 0x4c]
fldz
fst qword [esp + 0x88]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x20]
cmp byte [esi + 0x41], 0
mov dword [esp + 0x40], edi
mov dword [esp + 0x68], edx
jne 0x47d46e
mov dl, byte [ecx]
inc dword [esp + 0xa0]
movzx ebx, dl
lea edi, [ebx - 1]
cmp edi, 0x9a
ja case.default.0x476054
jmp dword [edi*4 + 0x47d494]
mov edx, dword [esp + 0x10]
fstp st(0)
mov edi, dword [esp + 0x24]
mov ecx, edx
sub ecx, dword [esp + 0x4c]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, 4
mov word [edi + esi*8 + 8], ax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [edi + esi*8], eax
mov dword [edi + esi*8 + 4], edx
jmp 0x47cd5d
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x24]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*4]
mov dword [esp + 0x10], eax
mov eax, 0x80
mov word [edx + ecx*8 + 8], ax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
fstp st(0)
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
add ecx, 0x14
mov dword [esp + 0x10], ecx
test eax, eax
jne 0x47d128
fld qword [esp + 0x88]
mov edi, dword [esp + 0x50]
jmp 0x47602b
mov edx, dword [esp + 0x10]
fstp st(0)
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [edi + ecx*8], eax
mov eax, 4
mov dword [edi + ecx*8 + 4], edx
mov word [edi + ecx*8 + 8], ax
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 8], 0
jne 0x47c16d
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x24]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [ebx + eax*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x4760b1
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x4c]
mov eax, dword [edx + 4]
sub edx, ebx
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [edi + esi*8]
mov word [edi + esi*8 + 8], ax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [edi + esi*8], eax
lea eax, [ecx + ecx*4]
mov dword [edi + esi*8 + 4], edx
lea esi, [ebx + eax*4]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x1c]
jmp 0x4760c2
mov eax, dword [ecx + 0xc]
fstp st(0)
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
je 0x4762b2
jmp 0x4761c0
fstp st(0)
mov ecx, dword [esp + 0x10]
mov eax, 0x66666667
sub ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x14]
imul ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 4]
test ecx, ecx
jne 0x47cdb3
mov edx, dword [edi + 0xb0]
test edx, edx
je 0x47cdaf
mov eax, dword [edx + 4]
mov ecx, edi
mov esi, dword [esp + 0x1c]
push edx
dec dword [ecx + 0xb8]
mov dword [ecx + 0xb0], eax
mov eax, dword [ecx + 0x5c]
add dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
call fcn.0047dd00
mov edx, dword [esi + 0x24]
mov ecx, eax
mov eax, dword [esi + 0x20]
add esp, 4
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], edx
cmp dword [eax + 8], 4
mov eax, edi
mov edi, dword [eax + 4]
mov dword [esp + 0x4c], edi
jne 0x476250
lea eax, [ecx + ecx*4]
mov ecx, dword [edi + eax*4 + 8]
mov eax, dword [esp + 0x14]
dec ecx
mov eax, dword [eax + 8]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x24], eax
lea eax, [ecx + ecx*4]
lea ecx, [edi + eax*4]
mov eax, dword [esp + 0x18]
jmp 0x4760d4
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x476294
push esi
call fcn.00488f80
add esp, 4
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4762e5
push esi
call fcn.00488f80
add esp, 4
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x10]
mov dword [esi + 4], eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x47633a
push esi
call fcn.00488f80
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, 8
mov word [esi + 8], ax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
fld qword [eax]
mov eax, dword [esp + 0x18]
fstp qword [esi]
mov esi, dword [esp + 0x1c]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x47638d
push esi
call fcn.00488f80
mov edx, dword [esp + 0x14]
add esp, 4
mov eax, 4
mov word [esi + 8], ax
mov ecx, dword [edx + 0x10]
mov eax, ecx
mov byte [edx], 0x1b
test ecx, ecx
je 0x4763b4
cmp byte [ecx], 0
je 0x4763ad
inc eax
cmp byte [eax], 0
jne 0x4763a7
sub eax, ecx
and eax, 0x3fffffff
mov bl, byte [esp + 0x64]
mov dword [edx + 4], eax
cmp bl, 1
je 0x47643a
push 0
push 1
push 0xffffffffffffffff
push ecx
push esi
call fcn.0047f4e0
add esp, 0x14
mov dword [esp + 0x18], eax
cmp eax, 0x12
je 0x47a152
test byte [esi + 8], 2
je 0x4763fd
cmp byte [esi + 0xa], bl
je 0x4763fd
push dword [esp + 0x64]
push esi
call fcn.0047f890
add esp, 8
test eax, eax
jne 0x47d25f
mov edx, dword [esp + 0x10]
mov eax, 0x800
or word [esi + 8], ax
mov dword [esi + 0x18], 0
cmp byte [edx + 1], 0xff
jne 0x47642a
push dword [edx + 0x10]
push dword [esp + 0x20]
call fcn.00451330
mov edx, dword [esp + 0x18]
add esp, 8
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 esi, dword [esp + 0x1c]
cmp eax, dword [esi + 0x58]
jg 0x47a156
jmp 0x47644b
fstp st(0)
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x476473
push esi
call fcn.00488f80
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, 0xa02
mov word [esi + 8], ax
mov eax, dword [ebx + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
mov dword [esi + 0xc], eax
mov al, byte [esp + 0x64]
mov byte [esi + 0xa], al
cmp byte [ecx + 3], 0
je 0x47cd99
mov eax, dword [ecx + 0xc]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
or eax, dword [edx + ecx*8 + 4]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
je 0x4764c9
mov eax, 0xa10
mov word [esi + 8], ax
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
jmp 0x4760d4
mov ebx, dword [esp + 0x10]
mov edx, 0x2460
fstp st(0)
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea eax, [eax + ecx*8]
test word [eax + 8], dx
lea esi, [eax + 8]
je 0x476508
push eax
call fcn.00488f80
add esp, 4
mov edx, 0x2460
mov eax, 4
mov word [esi], ax
mov eax, 1
cmp dword [ebx + 4], 0
mov edi, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov ebx, 0x101
cmovne eax, ebx
sub edi, ecx
movzx ebx, ax
mov word [esi], bx
test edi, edi
jle 0x4762aa
test word [esi + 0x28], dx
lea esi, [esi + 0x28]
je 0x476551
lea eax, [esi - 8]
push eax
call fcn.00488f80
add esp, 4
mov edx, 0x2460
dec edi
mov word [esi], bx
test edi, edi
jg 0x476537
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov eax, dword [ecx + 4]
mov ebx, 0xff7f
mov edx, dword [esp + 0x24]
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, bx
or ax, 1
jmp 0x4760bd
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4765b4
push esi
call fcn.00488f80
add esp, 4
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x10]
push 0
push 0
push dword [eax + 4]
push dword [eax + 0x10]
push esi
call fcn.0047f4e0
mov al, byte [esp + 0x78]
add esp, 0x14
mov ecx, dword [esp + 0x10]
mov byte [esi + 0xa], al
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [edx + 4]
lea edi, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x3c]
movzx eax, word [ebx + edi*8 - 0x20]
test al, 0x12
je 0x476624
mov ecx, dword [ebx + edi*8 - 0x1c]
test eax, 0x4000
je 0x476617
add ecx, dword [ebx + edi*8 - 0x28]
mov eax, dword [ebx + edi*8 - 8]
cmp ecx, dword [eax + 0x58]
jg 0x47a156
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x47664c
push esi
call fcn.00488f80
add esp, 4
mov eax, 4
mov ecx, 0x800
mov word [esi + 8], ax
mov eax, dword [ebx + edi*8 - 0x28]
mov dword [esi], eax
mov eax, dword [ebx + edi*8 - 0x24]
mov dword [esi + 4], eax
mov eax, dword [ebx + edi*8 - 0x20]
mov dword [esi + 8], eax
mov eax, dword [ebx + edi*8 - 0x1c]
mov dword [esi + 0xc], eax
mov eax, dword [ebx + edi*8 - 0x18]
mov dword [esi + 0x10], eax
test word [ebx + edi*8 - 0x20], cx
mov ebx, dword [esp + 0x14]
jne 0x47669a
mov ax, word [esi + 8]
mov edx, 0xebff
and ax, dx
or ax, cx
mov word [esi + 8], ax
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov edx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + 8]
mov dword [esp + 0x5c], esi
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, 0x2460
test word [ebx + 8], ax
jne 0x4766e3
cmp dword [ebx + 0x18], 0
je 0x4766ec
push ebx
call fcn.00488f40
add esp, 4
mov ecx, 0xa
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x5c]
mov eax, 1
mov word [esi + 8], ax
mov eax, 0x1000
mov dword [esi + 0x18], 0
test word [ebx + 8], ax
je 0x476725
push ebx
call fcn.0047f170
add esp, 4
test eax, eax
jne 0x47d25f
add esi, 0x28
add ebx, 0x28
sub dword [esp + 0x3c], 1
mov dword [esp + 0x5c], esi
jne 0x4766d2
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0xc]
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]
jmp 0x476770
mov eax, 0x2460
test word [esi + 8], ax
je 0x476784
push esi
call fcn.00488f80
add esp, 4
mov eax, dword [edi]
mov dword [esi], eax
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov eax, 0x800
test word [edi + 8], ax
jne 0x4767c3
mov ax, word [esi + 8]
mov ecx, 0xf3ff
and ax, cx
mov ecx, 0x1000
or ax, cx
mov word [esi + 8], ax
mov eax, 0x1000
test word [esi + 8], ax
je 0x4767df
push esi
call fcn.0047f170
add esp, 4
test eax, eax
jne 0x47d25f
mov eax, ebx
dec ebx
test eax, eax
je 0x4762aa
add esi, 0x28
add edi, 0x28
jmp 0x476770
mov esi, dword [esp + 0x10]
fstp st(0)
mov edx, dword [esp + 0x24]
mov eax, dword [esi + 4]
lea edi, [eax + eax*4]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x476826
push esi
call fcn.00488f80
mov edx, dword [esp + 0x28]
add esp, 4
mov eax, dword [edx + edi*8]
mov ebx, dword [esp + 0x14]
mov dword [esi], eax
mov eax, dword [edx + edi*8 + 4]
mov dword [esi + 4], eax
mov eax, dword [edx + edi*8 + 8]
mov dword [esi + 8], eax
mov eax, dword [edx + edi*8 + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [edx + edi*8 + 0x10]
mov dword [esi + 0x10], eax
mov eax, 0x800
test word [edx + edi*8 + 8], ax
mov edx, dword [esp + 0x20]
jne 0x476873
mov ax, word [esi + 8]
mov ecx, 0xf3ff
and ax, cx
mov ecx, 0x1000
or ax, cx
mov word [esi + 8], ax
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760d4
mov edx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + 0xc]
movzx edx, word [esi + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
movzx ecx, word [ebx + 8]
mov eax, ecx
mov dword [esp + 0x28], eax
mov al, dl
or al, cl
test al, 1
je 0x4768fe
mov eax, 0x2460
test word [edi + 8], ax
je 0x4768e4
push edi
call fcn.00488f80
mov esi, dword [esp + 0x20]
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov esi, dword [esp + 0x1c]
mov eax, 1
mov ecx, dword [esp + 0x10]
mov word [edi + 8], ax
mov eax, dword [esp + 0x18]
jmp 0x4760cc
test edx, 0x4000
je 0x47694e
mov eax, dword [esi]
mov ecx, 1
add eax, dword [esi + 0xc]
test eax, eax
push ecx
cmovle eax, ecx
push eax
push esi
call fcn.0047f010
add esp, 0xc
test eax, eax
jne 0x47d25f
push dword [esi]
push eax
mov eax, dword [esi + 0x10]
add eax, dword [esi + 0xc]
push eax
call fcn.004c2200
mov eax, dword [esi]
add esp, 0xc
add dword [esi + 0xc], eax
mov eax, 0xbdff
and word [esi + 8], ax
movzx eax, word [ebx + 8]
jmp 0x476955
mov eax, dword [esp + 0x28]
movzx eax, ax
test eax, 0x4000
je 0x47696d
push ebx
call fcn.0047ee00
add esp, 4
test eax, eax
jne 0x47d25f
test byte [esi + 8], 0x12
jne 0x47698a
push 0
push dword [esp + 0x78]
push esi
call fcn.0047f7c0
add esp, 0xc
test eax, eax
jne 0x47d25f
test byte [ebx + 8], 0x12
jne 0x4769a7
push 0
push dword [esp + 0x78]
push ebx
call fcn.0047f7c0
add esp, 0xc
test eax, eax
jne 0x47d25f
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0xc]
add ecx, dword [esi + 0xc]
mov dword [esp + 0x28], ecx
cmp ecx, dword [eax + 0x58]
jg 0x47d283
xor eax, eax
cmp edi, ebx
sete al
push eax
lea eax, [ecx + 2]
push eax
push edi
call fcn.0047f010
add esp, 0xc
test eax, eax
jne 0x47d25f
mov ax, word [edi + 8]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [edi + 8], ax
cmp edi, ebx
je 0x476a04
push dword [ebx + 0xc]
push dword [ebx + 0x10]
push dword [edi + 0x10]
call fcn.004c1700
add esp, 0xc
push dword [esi + 0xc]
mov eax, dword [edi + 0x10]
push dword [esi + 0x10]
add eax, dword [ebx + 0xc]
push eax
call fcn.004c1700
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x1c]
mov byte [ecx + eax], 0
mov eax, dword [edi + 0x10]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
or word [edi + 8], ax
mov al, byte [esp + 0x64]
mov dword [edi + 0xc], ecx
mov ecx, dword [esp + 0x10]
mov byte [edi + 0xa], al
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov ebx, dword [esp + 0x10]
fstp st(0)
mov edi, dword [esp + 0x24]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
movzx ecx, word [edi + eax*8 + 8]
lea esi, [edi + eax*8]
mov eax, ecx
mov dword [esp + 0x2c], esi
and eax, 0xc
je 0x476a7b
mov ecx, eax
mov dword [esp + 0x3c], ecx
jmp 0x476a9a
test cl, 0x12
je 0x476a92
push esi
call fcn.00428bf0
movzx ecx, ax
add esp, 4
mov dword [esp + 0x3c], ecx
jmp 0x476a9a
mov dword [esp + 0x3c], 0
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
movzx eax, word [ebx + 8]
mov dword [esp + 0x38], ebx
test al, 0xc
je 0x476ab7
mov ecx, eax
mov dword [esp + 0x54], ecx
jmp 0x476ad9
test al, 0x12
je 0x476ad1
push ebx
call fcn.00428bf0
movzx ecx, word [ebx + 8]
add esp, 4
movzx eax, ax
mov dword [esp + 0x54], eax
jmp 0x476adb
mov dword [esp + 0x54], 0
mov ecx, eax
mov eax, dword [esp + 0x10]
movzx edx, word [esi + 8]
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x5c], eax
mov al, cl
or al, dl
test al, 1
jne 0x476f53
mov al, byte [esp + 0x54]
and al, byte [esp + 0x3c]
test al, 4
je 0x476d76
mov eax, dword [esp + 0x10]
mov edx, dword [ebx]
mov ecx, dword [ebx + 4]
mov edi, dword [esi]
movzx eax, byte [eax]
mov esi, dword [esi + 4]
add eax, 0xffffffa7
mov dword [esp + 0x40], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ecx
mov byte [esp + 0x37], 1
cmp eax, 3
ja case.default.0x476b48
jmp dword [eax*4 + 0x47d700]
push esi
lea eax, [esp + 0x84]
push edi
push eax
call fcn.00447ec0
add esp, 0xc
test eax, eax
jne 0x476d81
jmp 0x476d3a
test edi, edi
jne 0x476ba8
cmp esi, 0x80000000
jne 0x476ba8
test ecx, ecx
jg 0x476d81
jl 0x476b8c
test edx, edx
jae 0x476d81
add edx, 0
mov dword [esp + 0x80], edx
adc ecx, 0x80000000
mov dword [esp + 0x84], ecx
jmp 0x476d3a
neg edi
adc esi, 0
neg esi
jmp case.0x476b48.89
push 1
push 0
push ecx
push edx
call fcn.004bfc10
push 1
push 0
push esi
push edi
mov dword [esp + 0x88], ecx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x108], edx
call fcn.004bfc10
mov dword [esp + 0xfc], ecx
mov ecx, eax
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x7c]
mov eax, ebx
or eax, dword [esp + 0xf8]
jne 0x476c30
mov eax, ecx
or eax, edx
jne 0x476c16
push dword [esp + 0x68]
push dword [esp + 0x44]
push esi
push edi
call fcn.004bfcf0
jmp 0x476d2c
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x78]
push edi
push esi
push edx
push ecx
call fcn.004bfcf0
mov ebx, dword [esp + 0xfc]
jmp 0x476c59
or ecx, edx
jne 0x476d7d
push dword [esp + 0xf8]
push ebx
push dword [esp + 0x30]
mov ebx, dword [esp + 0x108]
push ebx
call fcn.004bfcf0
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x58]
mov ecx, eax
mov dword [esp + 0xcc], edx
add ecx, 0x80000000
mov dword [esp + 0xc8], eax
adc edx, 0
test edx, edx
ja 0x476d7d
jb 0x476c85
cmp ecx, 0xffffffff
ja 0x476d7d
push edi
push esi
push dword [esp + 0x30]
mov dword [esp + 0xd4], 0
push ebx
mov dword [esp + 0xdc], eax
call fcn.004bfcf0
push edx
push eax
lea eax, [esp + 0xd0]
push eax
call fcn.00447ec0
add esp, 0xc
test eax, eax
jne 0x476d7d
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x84], eax
jmp 0x476d3a
mov eax, edi
or eax, esi
je 0x476f53
mov eax, edi
and eax, esi
cmp eax, 0xffffffff
jne 0x476cfe
test edx, edx
jne 0x476cfe
cmp ecx, 0x80000000
je 0x476d81
push esi
push edi
push ecx
push edx
call fcn.004bfb60
jmp 0x476d2c
mov eax, edi
or eax, esi
je 0x476f53
mov eax, edi
and eax, esi
cmp eax, 0xffffffff
jne 0x476d23
mov edi, 1
xor esi, esi
push esi
push edi
push ecx
push edx
call fcn.004bfd30
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov ecx, dword [esp + 0x5c]
mov edx, 0xbe04
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x84]
mov dword [ecx + 4], eax
mov ax, word [ecx + 8]
and ax, dx
or ax, 4
mov word [ecx + 8], ax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov byte [esp + 0x37], 0
jmp 0x476d89
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
movzx eax, word [esi + 8]
test al, 8
je 0x476da0
fld qword [esi]
fstp qword [esp + 0x40]
fld qword [esp + 0x88]
jmp 0x476dfc
test al, 4
je 0x476db3
fild qword [esi]
fstp qword [esp + 0x40]
fld qword [esp + 0x88]
jmp 0x476dfc
fld qword [esp + 0x88]
test al, 0x12
je 0x476df8
movzx eax, byte [esi + 0xa]
push eax
push dword [esi + 0xc]
lea eax, [esp + 0x240]
push eax
push dword [esi + 0x10]
fstp qword [esp + 0x248]
call fcn.00449200
fld qword [esp + 0x248]
add esp, 0x10
movzx eax, word [ebx + 8]
fstp qword [esp + 0x40]
fld qword [esp + 0x88]
jmp 0x476dff
fst qword [esp + 0x40]
movzx eax, cx
test al, 8
je 0x476e09
fstp st(0)
fld qword [ebx]
jmp 0x476e40
test al, 4
je 0x476e13
fstp st(0)
fild qword [ebx]
jmp 0x476e40
test al, 0x12
je 0x476e40
movzx eax, byte [ebx + 0xa]
push eax
push dword [ebx + 0xc]
lea eax, [esp + 0x1e8]
push eax
push dword [ebx + 0x10]
fstp qword [esp + 0x1f0]
call fcn.00449200
fld qword [esp + 0x1f0]
add esp, 0x10
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x476e4f
jmp dword [eax*4 + 0x47d710]
fadd qword [esp + 0x40]
jmp 0x476ee2
fsub qword [esp + 0x40]
jmp 0x476ee2
fmul qword [esp + 0x40]
jmp 0x476ee2
fld qword [esp + 0x88]
fld qword [esp + 0x40]
fucomi st(1)
fstp st(1)
lahf
test ah, 0x44
jnp 0x476f4f
fdivp st(1)
jmp 0x476ee2
fld qword [esp + 0x40]
call fcn.004c0120
mov esi, eax
mov edi, edx
call fcn.004c0120
mov ecx, esi
mov dword [esp + 0x84], edx
or ecx, edi
mov ebx, eax
mov dword [esp + 0x80], ebx
je 0x476f53
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x476ec4
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push ebx
call fcn.004bfd30
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], edx
fild qword [esp + 0x1e8]
fst qword [esp + 0x40]
fld qword [esp + 0x40]
fstp qword [esp + 0x68]
fld qword [esp + 0x68]
fld qword [esp + 0x40]
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x476f51
mov ecx, dword [esp + 0x5c]
mov edx, 0xbe08
mov ax, word [ecx + 8]
and ax, dx
or ax, 8
mov word [ecx + 8], ax
mov eax, dword [esp + 0x54]
or al, byte [esp + 0x3c]
fstp qword [ecx]
test al, 8
jne 0x4762aa
cmp byte [esp + 0x37], 0
jne 0x4762aa
push ecx
call fcn.0047e200
mov esi, dword [esp + 0x20]
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x5c]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x476f68
push eax
jmp 0x4768cb
mov esi, dword [esp + 0x1c]
mov ecx, 1
mov word [eax + 8], cx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov eax, dword [ecx + 4]
fstp st(0)
test eax, eax
je 0x4762b2
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x2460
test word [eax + 8], dx
je 0x476fbe
push 0
push 0
push eax
call fcn.0048a0c0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 8], dx
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
xor edi, edi
mov eax, dword [esp + 0x14]
fstp st(0)
mov esi, dword [esp + 0x24]
movzx ebx, byte [edx + 3]
mov ecx, dword [eax + 0xc]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x28], ecx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x40], eax
mov dword [esp + 0x13c], eax
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
test ebx, ebx
je 0x477058
mov eax, 0x1000
mov edi, edi
mov dword [ecx + edi*4], esi
test word [esi + 8], ax
je 0x477043
push esi
call fcn.0047f170
add esp, 4
test eax, eax
jne 0x47d25f
mov ecx, dword [esp + 0x28]
mov eax, 0x1000
inc edi
add esi, 0x28
cmp edi, ebx
jl 0x477020
mov esi, dword [esp + 0x13c]
mov edx, dword [esp + 0x10]
jmp 0x47705c
mov esi, dword [esp + 0x40]
mov eax, dword [edx + 0x10]
mov ecx, edx
sub ecx, dword [esp + 0x4c]
mov dword [esp + 0x140], eax
mov eax, 0x66666667
imul ecx
mov eax, dword [esp + 0x14]
mov ecx, 0xbe01
push dword [esp + 0x28]
sar edx, 3
mov dword [esp + 0x14c], eax
mov edi, edx
shr edi, 0x1f
add edi, edx
mov dword [esp + 0x150], edi
mov ax, word [esi + 8]
and ax, cx
or ax, 1
mov word [esi + 8], ax
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x54]
push ebx
mov byte [esp + 0x15d], 0
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x28]
mov dword [esi + 0x24], eax
lea eax, [esp + 0x144]
push eax
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [esp + 0x155], 0
mov dword [esp + 0x50], eax
mov eax, dword [esi + 0x24]
mov dword [esp + 0x20], eax
je 0x477175
cmp dword [esp + 0x150], 0
je 0x477161
mov ecx, dword [esp + 0x13c]
test ecx, ecx
jne 0x47710e
xor eax, eax
jmp 0x47713f
movzx edx, word [ecx + 8]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x47712b
cmp byte [ecx + 0xa], 1
jne 0x47712b
mov eax, dword [ecx + 0x10]
jmp 0x47713f
test dl, 1
je 0x477134
xor eax, eax
jmp 0x47713f
push 1
push ecx
call fcn.00487c70
add esp, 8
push eax
mov eax, dword [esp + 0x18]
push 0x4ef960
add eax, 0x2c
push esi
push eax
call fcn.0046ec30
mov eax, dword [esp + 0x160]
add esp, 0x10
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
push dword [eax + 4]
push edi
push dword [esp + 0x1c]
call fcn.00475d80
add esp, 0xc
mov eax, dword [esp + 0x13c]
test byte [eax + 8], 2
je 0x4771a2
mov cl, byte [esp + 0x64]
cmp byte [eax + 0xa], cl
je 0x4771a2
push dword [esp + 0xa4]
push eax
call fcn.0047f890
mov eax, dword [esp + 0x144]
add esp, 8
movzx edx, word [eax + 8]
test dl, 0x12
je 0x4762ae
mov ecx, dword [eax + 0xc]
test edx, 0x4000
je 0x4771bc
add ecx, dword [eax]
mov eax, dword [eax + 0x20]
cmp ecx, dword [eax + 0x58]
jg 0x47a156
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov edi, dword [esp + 0x24]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov al, byte [ecx + 8]
or al, byte [esi + 8]
mov dword [esp + 0x7c], edx
test al, 1
je 0x477233
mov eax, 0x2460
test word [edx + 8], ax
je 0x477219
push edx
jmp 0x4768cb
mov esi, dword [esp + 0x1c]
mov eax, 1
mov ecx, dword [esp + 0x10]
mov word [edx + 8], ax
mov eax, dword [esp + 0x18]
jmp 0x4760cc
push ecx
call fcn.0047e160
push esi
mov ebx, eax
mov edi, edx
call fcn.0047e160
mov esi, eax
add esp, 8
mov eax, dword [esp + 0x10]
mov cl, byte [eax]
cmp cl, 0x55
jne 0x47725c
and ebx, esi
and edi, edx
jmp 0x477311
cmp cl, 0x56
jne 0x47726a
or ebx, esi
or edi, edx
jmp 0x477311
mov eax, esi
or eax, edx
je 0x477311
test edx, edx
jg 0x4772a2
jl 0x47727e
test esi, esi
jae 0x477297
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x4772a2
jg 0x477290
cmp esi, 0xffffffc0
jbe 0x4772a2
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x4772be
jg 0x4772a2
cmp esi, 0x40
jb 0x4772be
test edi, edi
jg 0x4772b8
jl 0x4772ac
test ebx, ebx
jae 0x4772b8
cmp cl, 0x57
je 0x4772b8
or ebx, 0xffffffff
or edi, ebx
jmp 0x477311
xor ebx, ebx
xor edi, edi
jmp 0x477311
cmp cl, 0x57
mov eax, ebx
mov edx, edi
mov ecx, esi
jne 0x4772d4
call fcn.004bfdf0
mov ecx, eax
mov eax, edx
jmp 0x47730d
call fcn.004bffa0
mov ecx, eax
mov eax, edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x68], eax
test edi, edi
jg 0x47730d
jl 0x4772ef
test ebx, ebx
jae 0x47730d
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, esi
or edx, 0xffffffff
call fcn.004bfdf0
mov ecx, dword [esp + 0x40]
or ecx, eax
mov eax, dword [esp + 0x68]
or eax, edx
mov ebx, ecx
mov edi, eax
mov ecx, dword [esp + 0x7c]
mov edx, 0xbe04
mov esi, dword [esp + 0x1c]
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
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0047e160
mov dword [esi], eax
mov ecx, 0xbe04
mov ax, word [esi + 8]
add esp, 4
and ax, cx
mov dword [esi + 4], edx
mov ecx, dword [esp + 0x10]
or ax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
mov eax, dword [esp + 0x18]
adc dword [esi + 4], edx
mov esi, dword [esp + 0x1c]
jmp 0x4760cc
mov esi, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x47740a
test al, 8
jne 0x4773c4
test al, 2
je 0x4773cd
push 1
push esi
call fcn.00420fe0
add esp, 8
jmp 0x4773cd
push esi
call fcn.0047e200
add esp, 4
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x47740a
mov esi, dword [esp + 0x10]
cmp dword [esi + 8], 0
jne 0x47cd61
mov ecx, 0x14
mov dword [esp + 0x18], ecx
mov esi, dword [esp + 0x1c]
cmp byte [esi + 0x41], 0
je 0x47d103
mov ecx, 7
mov dword [esp + 0x18], ecx
jmp 0x47d10b
mov eax, dword [esp + 0x18]
and ecx, 0xbe04
or ecx, 4
mov word [esi + 8], cx
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
jmp 0x4760cc
mov eax, dword [ecx + 4]
fstp st(0)
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 4
lea eax, [edx + eax*8]
je 0x4762b2
push eax
call fcn.0047f280
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x4774bf
mov eax, dword [esi]
mov ecx, 1
add eax, dword [esi + 0xc]
test eax, eax
push ecx
cmovle eax, ecx
push eax
push esi
call fcn.0047f010
add esp, 0xc
test eax, eax
je 0x47749e
mov dword [esp + 0x18], 7
jmp 0x4774c7
push dword [esi]
mov eax, dword [esi + 0x10]
add eax, dword [esi + 0xc]
push 0
push eax
call fcn.004c2200
mov eax, dword [esi]
add esp, 0xc
add dword [esi + 0xc], eax
mov eax, 0xbdff
and word [esi + 8], ax
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x10]
push dword [esp + 0x74]
movzx eax, byte [eax + 8]
push eax
push esi
call fcn.0047eca0
mov esi, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov ebx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
movzx ebx, word [ecx + eax*8 + 8]
lea edi, [ecx + eax*8]
movzx ecx, word [esi + 8]
mov eax, ecx
mov dword [esp + 0x30], eax
mov eax, ebx
mov dword [esp + 0x2c], eax
or al, cl
test al, 1
mov eax, dword [esp + 0x10]
mov al, byte [eax + 3]
je 0x4775ab
test al, al
jns 0x477555
mov eax, ebx
and eax, ecx
xor ecx, ecx
bt ax, cx
jae 0x47754b
test ebx, 0x100
jne 0x47754b
xor eax, eax
jmp 0x4777cc
mov eax, 1
jmp 0x4777cc
test al, 0x20
je 0x47758e
mov eax, dword [esp + 0x10]
mov ebx, 0xbe01
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, bx
or ax, 1
mov word [edx + ecx*8 + 8], ax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov ebx, dword [esp + 0x14]
test al, 0x10
jne 0x47c16d
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760d0
and al, 0x47
cmp al, 0x43
jb 0x4776c4
and cl, 0xe
cmp cl, 2
jne 0x477630
mov al, byte [esi + 0xa]
mov byte [esp + 0x15c], al
lea eax, [esp + 0x2c8]
mov ebx, dword [esp + 0x15c]
push ebx
push dword [esi + 0xc]
push eax
push dword [esi + 0x10]
call fcn.00449200
add esp, 0x10
test eax, eax
je 0x477630
push ebx
push dword [esi + 0xc]
lea eax, [esp + 0x1f8]
push eax
push dword [esi + 0x10]
call fcn.00449820
movzx ecx, word [esi + 8]
add esp, 0x10
test eax, eax
jne 0x477620
mov eax, dword [esp + 0x1f0]
or ecx, 4
mov dword [esi], eax
mov eax, dword [esp + 0x1f4]
mov dword [esi + 4], eax
jmp 0x47762c
fld qword [esp + 0x2c8]
or ecx, 8
fstp qword [esi]
mov word [esi + 8], cx
mov al, byte [edi + 8]
and al, 0xe
cmp al, 2
jne 0x477738
mov al, byte [edi + 0xa]
mov byte [esp + 0x158], al
lea eax, [esp + 0x308]
mov ebx, dword [esp + 0x158]
push ebx
push dword [edi + 0xc]
push eax
push dword [edi + 0x10]
call fcn.00449200
add esp, 0x10
test eax, eax
je 0x477738
push ebx
push dword [edi + 0xc]
lea eax, [esp + 0x200]
push eax
push dword [edi + 0x10]
call fcn.00449820
movzx ecx, word [edi + 8]
add esp, 0x10
mov ebx, dword [esp + 0x2c]
test eax, eax
jne 0x4776af
mov eax, dword [esp + 0x1f8]
or ecx, 4
mov dword [edi], eax
mov eax, dword [esp + 0x1fc]
mov dword [edi + 4], eax
mov word [edi + 8], cx
jmp 0x47773c
fld qword [esp + 0x308]
or ecx, 8
fstp qword [edi]
mov word [edi + 8], cx
jmp 0x47773c
cmp al, 0x42
jne 0x477738
mov eax, ebx
test cl, 2
jne 0x477706
mov ebx, dword [esp + 0x74]
test cl, 0xc
je 0x47770a
push 1
push ebx
push esi
call fcn.0047f7c0
mov ax, word [esi + 8]
mov ecx, 0x1ff
xor ax, word [esp + 0x3c]
add esp, 0xc
and ax, cx
xor ax, word [esi + 8]
movzx eax, ax
mov dword [esp + 0x30], eax
movzx eax, word [edi + 8]
jmp 0x47770a
mov ebx, dword [esp + 0x74]
test al, 2
jne 0x477738
test al, 0xc
je 0x477738
push 1
push ebx
push edi
call fcn.0047f7c0
mov ax, word [edi + 8]
mov ecx, 0x1ff
xor ax, word [esp + 0x38]
add esp, 0xc
and ax, cx
xor ax, word [edi + 8]
movzx ebx, ax
jmp 0x47773c
mov ebx, dword [esp + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x477792
mov eax, dword [esi]
mov ecx, 1
add eax, dword [esi + 0xc]
test eax, eax
push ecx
cmovle eax, ecx
push eax
push esi
call fcn.0047f010
add esp, 0xc
test eax, eax
jne 0x477785
push dword [esi]
push eax
mov eax, dword [esi + 0x10]
add eax, dword [esi + 0xc]
push eax
call fcn.004c2200
mov eax, dword [esi]
add esp, 0xc
add dword [esi + 0xc], eax
mov eax, 0xbdff
and word [esi + 8], ax
and dword [esp + 0x30], 0xbfff
mov eax, 0x4000
test word [edi + 8], ax
je 0x4777a7
push edi
call fcn.0047ee00
add esp, 4
and ebx, 0xbfff
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x41], 0
jne 0x47d466
mov eax, dword [esp + 0x10]
push dword [eax + 0x10]
push esi
push edi
call fcn.00462100
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov dl, byte [ecx]
movzx ecx, dl
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x4777d7
jmp dword [ecx*4 + 0x47d720]
xor edx, edx
test eax, eax
sete dl
jmp 0x47780d
xor edx, edx
test eax, eax
setne dl
jmp 0x47780d
mov edx, eax
jmp 0x47780a
xor edx, edx
test eax, eax
setle dl
jmp 0x47780d
xor edx, edx
test eax, eax
setg dl
jmp 0x47780d
mov edx, eax
not edx
shr edx, 0x1f
mov eax, dword [esp + 0x30]
mov word [esi + 8], ax
mov esi, dword [esp + 0x10]
mov word [edi + 8], bx
test byte [esi + 3], 0x20
je 0x47785f
mov eax, dword [esi + 8]
mov ebx, 0xbe04
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
lea ecx, [eax + eax*4]
mov ax, word [edi + ecx*8 + 8]
and ax, bx
mov dword [edi + ecx*8], edx
or ax, 4
mov dword [edi + ecx*8 + 4], 0
mov word [edi + ecx*8 + 8], ax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov ebx, dword [esp + 0x14]
test edx, edx
jne 0x47cd65
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov edx, dword [ecx + 0x10]
mov dword [esp + 0xb8], edx
jmp case.default.0x476054
mov esi, dword [esp + 0x10]
mov edi, 0
fstp st(0)
test byte [esi + 3], 1
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0xc]
cmovne edi, dword [esp + 0xb8]
mov edx, dword [esi + 0x10]
mov dword [esp + 0x68], ecx
mov ecx, dword [esi + 8]
xor esi, esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x40], ecx
test eax, eax
jle 0x47793a
test edi, edi
je 0x4778cd
mov ecx, dword [edi + esi*4]
jmp 0x4778cf
mov ecx, esi
mov eax, dword [edx + 0x10]
push dword [edx + esi*4 + 0x14]
mov edx, dword [esp + 0x28]
mov bl, byte [esi + eax]
mov eax, dword [esp + 0x44]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [esp + 0x70]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
push eax
call fcn.00462100
add esp, 0xc
mov dword [esp + 0xbc], eax
test eax, eax
jne 0x47792d
mov edx, dword [esp + 0x28]
inc esi
cmp esi, dword [esp + 0x7c]
jl 0x4778c4
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x18]
jmp 0x4760cc
test bl, bl
je 0x47793a
neg eax
mov dword [esp + 0xbc], eax
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb8], 0
jmp 0x4760cc
mov eax, dword [esp + 0xbc]
fstp st(0)
mov edx, dword [esp + 0x10]
test eax, eax
jns 0x477980
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x4c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
lea ecx, [eax - 0x14]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
jne 0x47799b
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x4c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
lea ecx, [eax - 0x14]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x4c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
lea ecx, [eax - 0x14]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov ebx, dword [esp + 0x10]
fstp st(0)
mov edi, dword [esp + 0x24]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 1
lea eax, [edi + eax*8]
je 0x4779d5
mov esi, 6
jmp 0x4779eb
push eax
call fcn.0047e160
add esp, 4
or eax, edx
je 0x4779e9
mov esi, 3
jmp 0x4779eb
xor esi, esi
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 1
lea eax, [edi + eax*8]
je 0x477a07
mov ecx, 0x4ee106
mov eax, 0x4ee0fa
jmp 0x477a2a
push eax
call fcn.0047e160
add esp, 4
or eax, edx
je 0x477a20
mov ecx, 0x4ee105
mov eax, 0x4ee0f9
jmp 0x477a2a
mov ecx, 0x4ee104
mov eax, 0x4ee0f8
cmp byte [ebx], 0x48
cmovne eax, ecx
mov dl, byte [eax + esi]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea esi, [eax + eax*4]
movzx ecx, word [edi + esi*8 + 8]
cmp dl, 2
jne 0x477a66
mov eax, dword [esp + 0x18]
and ecx, 0xbe01
or ecx, 1
mov word [edi + esi*8 + 8], cx
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
jmp 0x4760cc
and ecx, 0xbe04
movzx eax, dl
cdq
or ecx, 4
mov dword [edi + esi*8], eax
mov eax, dword [esp + 0x18]
mov word [edi + esi*8 + 8], cx
mov ecx, dword [esp + 0x10]
mov dword [edi + esi*8 + 4], edx
mov esi, dword [esp + 0x1c]
jmp 0x4760cc
mov esi, dword [esp + 0x10]
fstp st(0)
mov edx, dword [esp + 0x24]
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x477ac2
push esi
call fcn.00488f80
add esp, 4
jmp 0x477acb
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x4762aa
mov eax, 4
push edi
mov word [esi + 8], ax
call fcn.0047e160
add esp, 4
or eax, edx
jne 0x477b0a
mov ecx, dword [esp + 0x10]
mov eax, 1
mov dword [esi], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 4], 0
mov esi, dword [esp + 0x1c]
jmp 0x4760cc
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov esi, dword [esp + 0x10]
fstp st(0)
mov edx, dword [esp + 0x24]
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x477b54
push esi
call fcn.00488f80
add esp, 4
jmp 0x477b5d
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x4762aa
mov eax, 4
push edi
mov word [esi + 8], ax
call fcn.0047e160
mov ecx, dword [esp + 0x14]
not eax
not edx
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
add esp, 4
mov dword [esi + 4], edx
mov esi, dword [esp + 0x1c]
jmp 0x4760cc
mov eax, dword [esp + 0x14]
fstp st(0)
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 0x14]
mov eax, dword [eax + 0xc8]
cmp byte [eax + ecx], 0
jne 0x47c16d
mov byte [eax + ecx], 1
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
movzx eax, word [edi + ecx*8 + 8]
test al, 1
je 0x477be1
mov eax, ebx
fstp st(0)
mov eax, dword [eax + 0xc]
jmp 0x477c53
test al, 8
je 0x477bec
fstp st(0)
fld qword [edi + ecx*8]
jmp 0x477c2d
test al, 4
je 0x477bf7
fstp st(0)
fild qword [edi + ecx*8]
jmp 0x477c2d
test al, 0x12
je 0x477c47
movzx eax, byte [edi + ecx*8 + 0xa]
push eax
push dword [edi + ecx*8 + 0xc]
lea eax, [esp + 0x208]
push eax
push dword [edi + ecx*8 + 0x10]
fstp qword [esp + 0x210]
call fcn.00449200
mov eax, dword [esp + 0x20]
add esp, 0x10
fld qword [esp + 0x200]
mov dl, byte [eax]
fld qword [esp + 0x88]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x477c49
mov eax, 1
jmp 0x477c4b
fstp st(0)
xor eax, eax
cmp dl, 0x2e
jne 0x477c53
xor eax, 1
mov ebx, dword [esp + 0x14]
test eax, eax
jne 0x47c16d
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov eax, dword [ecx + 4]
fstp st(0)
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
jne 0x47c16d
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov eax, dword [ecx + 4]
fstp st(0)
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
je 0x47c16d
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov ebx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x54], edx
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x2c], edi
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + ecx*4]
mov dword [esp + 0x3c], ebx
cmp byte [ebx + 0x1a], 0
mov esi, dword [ebx + 0x50]
mov ecx, dword [ebx]
mov dword [esp + 0x30], esi
mov dword [esp + 0x38], ecx
je 0x477cfe
push ebx
call fcn.00435f40
jmp 0x477d0e
test ecx, ecx
je 0x477d29
cmp byte [ecx + 0x49], 1
je 0x477d29
push ebx
call fcn.00435fa0
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x4773ee
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x38]
jmp 0x477d31
mov dword [esp + 0x18], 0
mov edi, dword [esp + 0x14]
mov eax, dword [ebx + 0x3c]
cmp eax, dword [edi + 0x48]
mov edi, dword [esp + 0x2c]
je 0x477e95
cmp byte [ebx + 0x19], 0
je 0x477d98
test ecx, ecx
jne 0x477d71
mov eax, dword [ebx + 0x10]
lea edi, [ebx + 0x40]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8 + 0xc]
mov dword [ebx + 0x44], esi
mov dword [edi], esi
mov ecx, dword [ecx + eax*8 + 0x10]
mov dword [ebx + 0x4c], ecx
jmp 0x477e23
mov eax, 0x2460
test word [edi + 8], ax
je 0x477d8a
push edi
call fcn.00488f80
add esp, 4
jmp 0x4781a8
mov eax, 1
mov word [edi + 8], ax
jmp 0x4781a8
test byte [ebx + 0x1c], 4
jne 0x477ddd
lea eax, [esp + 0x208]
push eax
push ecx
call fcn.0044cb80
mov edx, dword [esp + 0x40]
lea edi, [ebx + 0x40]
add esp, 8
movsx eax, word [edx + 0x4c]
mov ecx, dword [edx + 0x20]
movzx esi, word [edx + 0x28]
mov eax, dword [edx + eax*4 + 0x78]
mov eax, dword [eax + 0x3c]
sub eax, ecx
mov dword [ebx + 0x4c], ecx
cmp esi, eax
cmovae esi, eax
mov eax, dword [esp + 0x208]
mov dword [edi], eax
jmp 0x477e0a
lea edi, [ebx + 0x40]
push edi
push ecx
call fcn.0044bf30
mov edx, dword [esp + 0x40]
add esp, 8
movsx eax, word [edx + 0x4c]
mov ecx, dword [edx + 0x20]
movzx esi, word [edx + 0x28]
mov eax, dword [edx + eax*4 + 0x78]
mov eax, dword [eax + 0x3c]
sub eax, ecx
mov dword [ebx + 0x4c], ecx
cmp esi, eax
cmovae esi, eax
mov eax, dword [edi]
cmp eax, esi
mov edx, dword [esp + 0x1c]
cmova eax, esi
mov dword [ebx + 0x44], eax
mov eax, dword [edi]
cmp eax, dword [edx + 0x58]
ja 0x47d28a
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x48]
mov dword [ebx + 0x3c], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x477e41
movzx ecx, al
mov al, 1
mov dword [esp + 0xc0], ecx
jmp 0x477e59
lea eax, [esp + 0xc0]
push eax
push ecx
call fcn.0045d230
mov ecx, dword [esp + 0xc8]
add esp, 8
movzx eax, al
mov dword [ebx + 0x48], eax
xor eax, eax
mov word [ebx + 0x16], ax
mov eax, dword [esp + 0x30]
mov dword [eax], ecx
cmp ecx, 0x18003
ja 0x47ce76
cmp ecx, dword [edi]
ja 0x47ce76
cmp esi, ecx
mov esi, eax
jae 0x477ea1
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x44], 0
jmp 0x477ea1
movzx eax, word [ebx + 0x16]
cmp eax, edx
jg 0x4780ca
mov eax, dword [ebx + 0x48]
mov ecx, dword [esi]
cmp eax, ecx
jae 0x478054
mov edx, dword [ebx + 0x4c]
mov dword [esp + 0x58], edx
test edx, edx
jne 0x477f46
xor eax, eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], eax
lea eax, [esp + 0x1b8]
push eax
mov eax, dword [ebx + 0x1c]
shr eax, 2
not eax
and eax, 1
push eax
push dword [esi]
push edx
push dword [esp + 0x48]
call fcn.0047ef10
mov ecx, eax
add esp, 0x14
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x4762aa
mov edx, dword [esp + 0x1c8]
mov eax, dword [ebx + 0x48]
mov ecx, dword [esi]
mov dword [esp + 0x58], edx
movzx ebx, word [ebx + 0x16]
mov edi, dword [esi + ebx*4]
lea esi, [eax + edx]
mov eax, dword [esp + 0x3c]
add edx, ecx
mov dword [esp + 0x78], edx
lea eax, [eax + ebx*4]
add eax, 0x54
mov dword [esp + 0x28], eax
mov al, byte [esi]
cmp al, 0x80
jae 0x477f7b
movzx eax, al
mov ecx, 1
mov dword [esp + 0xc4], eax
jmp 0x477f9d
lea eax, [esp + 0xc4]
push eax
push esi
call fcn.0045d230
mov edx, dword [esp + 0x80]
add esp, 8
movzx ecx, al
mov eax, dword [esp + 0xc4]
add esi, ecx
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
cmp eax, 0xc
jb 0x477fb1
add eax, 0xfffffff4
shr eax, 1
jmp 0x477fb8
movzx eax, byte [eax + 0x4edf60]
add edi, eax
mov dword [esp + 0xc0], edi
cmp edi, eax
jb 0x477fe0
mov eax, dword [esp + 0x30]
inc ebx
add ecx, 4
mov dword [esp + 0x28], ecx
mov dword [eax + ebx*4], edi
cmp ebx, dword [esp + 0x54]
jg 0x477fe3
cmp esi, edx
jb 0x477f64
jmp 0x477fe3
lea esi, [edx + 1]
mov eax, dword [esp + 0x3c]
mov word [eax + 0x16], bx
mov eax, esi
mov ebx, dword [esp + 0x3c]
sub eax, dword [esp + 0x58]
cmp dword [ebx + 0x4c], 0
mov dword [ebx + 0x48], eax
jne 0x478032
test dword [esp + 0x1c0], 0x2460
jne 0x478015
cmp dword [esp + 0x1d0], 0
je 0x478025
lea eax, [esp + 0x1b8]
push eax
call fcn.00488f40
add esp, 4
mov eax, 1
mov word [esp + 0x1c0], ax
cmp esi, dword [esp + 0x78]
jb 0x478047
ja 0x47cea6
cmp edi, dword [ebx + 0x40]
jne 0x47cea6
cmp edi, dword [ebx + 0x40]
ja 0x47cea6
mov esi, dword [esp + 0x30]
movzx eax, word [ebx + 0x16]
mov edi, dword [esp + 0x2c]
cmp eax, dword [esp + 0x54]
jg 0x4780ca
mov ecx, dword [esp + 0x10]
mov eax, 0x2460
cmp byte [ecx + 1], 0xf8
jne 0x477d76
mov esi, dword [ecx + 0x10]
test word [edi + 8], ax
je 0x478087
push edi
call fcn.00488f80
add esp, 4
mov eax, dword [esi]
mov ecx, 0x800
mov dword [edi], eax
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
test word [esi + 8], cx
jne 0x4781a8
mov ax, word [edi + 8]
mov edx, 0xebff
and ax, dx
or ax, cx
mov word [edi + 8], ax
jmp 0x4781a8
mov eax, 0x2460
test word [edi + 8], ax
je 0x4780de
push edi
call fcn.00488f80
add esp, 4
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x3c]
mov ebx, dword [ebx + ecx*4 + 0x54]
mov eax, dword [edx + 0x44]
mov dword [esp + 0xc4], ebx
cmp eax, dword [esi + ecx*4 + 4]
jb 0x478110
mov eax, dword [edx + 0x4c]
add eax, dword [esi + ecx*4]
push edi
push ebx
push eax
call fcn.00480820
add esp, 0xc
jmp 0x4781a1
mov eax, dword [esp + 0x10]
mov al, byte [eax + 3]
test al, 0xc0
je 0x478129
cmp ebx, 0xc
jb 0x478125
test bl, 1
je 0x478140
test al, al
js 0x478140
cmp ebx, 0xc
jb 0x478135
lea ecx, [ebx - 0xc]
shr ecx, 1
jmp 0x47813c
movzx ecx, byte [ebx + 0x4edf60]
test ecx, ecx
jne 0x47815c
xor ecx, ecx
lea eax, [esp + 0x208]
push edi
cmp ebx, 0xd
push ebx
cmova eax, ecx
push eax
call fcn.00480820
add esp, 0xc
jmp 0x4781a1
mov eax, dword [edx + 0x1c]
shr eax, 2
not eax
push edi
and eax, 1
push eax
mov eax, dword [esp + 0x5c]
push ecx
push dword [esi + eax*4]
push dword [esp + 0x48]
call fcn.0047ef10
mov ecx, eax
add esp, 0x14
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x4762aa
push edi
push ebx
push dword [edi + 0x10]
call fcn.00480820
mov eax, 0xefff
add esp, 0xc
and word [edi + 8], ax
mov al, byte [esp + 0x64]
mov byte [edi + 0xa], al
movzx ecx, word [edi + 8]
test ecx, 0x1000
je 0x4762aa
mov ebx, dword [edi + 0x10]
test ebx, ebx
je 0x4762aa
mov edi, dword [edi + 0xc]
mov esi, ecx
mov edx, dword [esp + 0x2c]
and esi, 0x12
lea eax, [edi + 2]
cmp dword [edx + 0x18], eax
jge 0x4781f1
push 0
push eax
push edx
call fcn.0047f010
add esp, 0xc
test eax, eax
jne 0x47d25f
mov edx, dword [esp + 0x2c]
jmp 0x4781fe
mov eax, dword [edx + 0x14]
and ecx, 0xd
mov dword [edx + 0x10], eax
mov word [edx + 8], cx
push edi
push ebx
push dword [edx + 0x10]
call fcn.004c1700
mov ecx, dword [esp + 0x38]
add esp, 0xc
or esi, 0x200
mov eax, dword [ecx + 0x10]
mov byte [edi + eax], 0
mov eax, dword [ecx + 0x10]
mov byte [edi + eax + 1], 0
mov eax, dword [esp + 0x18]
mov word [ecx + 8], si
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
jmp 0x4760cc
mov edi, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [edi + 4]
mov esi, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
mov byte [esp + 0xd0], al
test al, al
je 0x4762aa
push dword [esp + 0x74]
lea esi, [esi + 1]
push dword [esp + 0xd4]
push edi
call fcn.00420f70
mov al, byte [esi]
add esp, 0xc
add edi, 0x28
mov byte [esp + 0xd0], al
test al, al
jne 0x478260
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
xor eax, eax
mov edi, dword [esp + 0x24]
fstp st(0)
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x54], eax
mov eax, dword [edx + 4]
mov esi, dword [edx + 0x10]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x3c], 0
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [edx + 8]
mov dword [esp + 0x28], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x58], ebx
mov al, byte [eax + 0x57]
mov byte [esp + 0x37], al
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov dword [esp + 0x78], edx
test esi, esi
je 0x478340
mov al, byte [esi]
mov edi, ecx
mov ebx, dword [esp + 0x74]
mov byte [esp + 0xd4], al
jmp 0x478310
push ebx
push dword [esp + 0xd8]
push edi
call fcn.00420f70
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 0xc
mov byte [esp + 0xd4], al
add edi, 0x28
test al, al
jne 0x478310
mov ebx, dword [esp + 0x58]
lea esp, [esp]
movzx eax, word [ebx + 8]
test al, 1
je 0x47837f
xor esi, esi
mov dword [ebx + 0x1c], esi
movzx edi, byte [esi + 0x4edf60]
movzx eax, word [ebx + 8]
test eax, 0x4000
je 0x478489
mov eax, dword [esp + 0x2c]
or eax, dword [esp + 0x3c]
je 0x47847c
push ebx
call fcn.0047ee00
add esp, 4
jmp 0x478489
test al, 4
je 0x478441
mov esi, dword [ebx + 4]
mov edx, dword [ebx]
test esi, esi
jg 0x4783a0
jl 0x478396
test edx, edx
jae 0x4783a0
mov ecx, edx
mov eax, esi
not ecx
not eax
jmp 0x4783a4
mov ecx, edx
mov eax, esi
test eax, eax
ja 0x47841f
jb 0x4783af
cmp ecx, 0x7f
ja 0x4783d7
mov eax, edx
xor edi, edi
and eax, 1
cmp eax, edx
jne 0x4783cd
cmp edi, esi
jne 0x4783cd
cmp byte [esp + 0x37], 4
jb 0x4783cd
lea esi, [ecx + 8]
jmp 0x478466
mov esi, 1
jmp 0x478466
test eax, eax
ja 0x47841f
jb 0x4783e5
cmp ecx, 0x7fff
ja 0x4783ef
mov esi, 2
jmp 0x47834a
test eax, eax
ja 0x47841f
jb 0x4783fd
cmp ecx, 0x7fffff
ja 0x478407
mov esi, 3
jmp 0x47834a
test eax, eax
ja 0x47841f
jb 0x478415
cmp ecx, 0x7fffffff
ja 0x47841f
mov esi, 4
jmp 0x47834a
cmp eax, 0x7fff
ja 0x478437
jb 0x47842d
cmp ecx, 0xffffffff
ja 0x478437
mov esi, 5
jmp 0x47834a
mov esi, 6
jmp 0x47834a
test al, 8
je 0x47844f
mov esi, 7
jmp 0x47834a
mov ecx, dword [ebx + 0xc]
test eax, 0x4000
je 0x47845b
add ecx, dword [ebx]
shr eax, 1
lea esi, [ecx + 6]
and eax, 1
lea esi, [eax + esi*2]
mov dword [ebx + 0x1c], esi
cmp esi, 0xc
jb 0x47834d
lea edi, [esi - 0xc]
shr edi, 1
jmp 0x478354
mov eax, dword [ebx]
cdq
add dword [esp + 0x38], eax
adc dword [esp + 0x54], edx
sub edi, dword [ebx]
mov eax, edi
cdq
add dword [esp + 0x2c], eax
adc dword [esp + 0x3c], edx
cmp esi, 0x7f
ja 0x4784a0
mov edx, 1
jmp 0x4784b7
xor ecx, ecx
xor edx, edx
shrd esi, ecx, 7
inc edx
shr ecx, 7
mov eax, esi
or eax, ecx
je 0x4784b7
cmp edx, 9
jl 0x4784a4
mov ecx, dword [esp + 0x30]
sub ebx, 0x28
add ecx, edx
mov dword [esp + 0x30], ecx
cmp ebx, dword [esp + 0x28]
jae 0x478340
cmp ecx, 0x7e
jle 0x47851d
mov eax, ecx
xor edi, edi
cdq
mov ecx, eax
lea ebx, [ebx]
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x4784f3
cmp edi, 9
jl 0x4784e0
mov eax, dword [esp + 0x30]
add eax, edi
xor esi, esi
mov dword [esp + 0x30], eax
cdq
mov ecx, eax
shrd ecx, edx, 7
inc esi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x478515
cmp esi, 9
jl 0x478502
mov ecx, dword [esp + 0x30]
cmp edi, esi
jge 0x478522
inc ecx
mov dword [esp + 0x30], ecx
mov ebx, dword [esp + 0x3c]
mov eax, ecx
cdq
mov edi, eax
mov esi, edx
mov eax, dword [esp + 0x2c]
add eax, edi
mov ecx, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
adc ebx, esi
add ecx, dword [esp + 0x38]
adc ebx, dword [esp + 0x54]
mov eax, dword [eax + 0x58]
cdq
cmp ebx, edx
jg 0x47a152
jl 0x47855d
cmp ecx, eax
ja 0x47a152
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x2c]
cmp dword [ebx + 0x18], eax
jge 0x478580
push 0
push eax
push ebx
call fcn.0047f010
add esp, 0xc
test eax, eax
jne 0x47d25f
jmp 0x47858b
mov eax, dword [ebx + 0x14]
and word [ebx + 8], 0xd
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x3c], ecx
cmp eax, 0x80
jae 0x4785a6
mov byte [ecx], al
mov eax, 1
jmp 0x4785b5
push esi
push edi
push ecx
call fcn.00469bf0
mov ecx, dword [esp + 0x48]
add esp, 0xc
mov esi, dword [esp + 0x28]
movzx edi, al
add esi, 0xc
nop
mov ebx, dword [esi + 0x10]
lea eax, [edi + ecx]
cmp ebx, 0x80
jae 0x4785d7
mov byte [eax], bl
mov eax, 1
jmp 0x4785e7
push 0
push ebx
push eax
call fcn.00469bf0
mov ecx, dword [esp + 0x48]
add esp, 0xc
movzx eax, al
add edi, eax
lea eax, [ebx - 1]
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x30]
add edi, ecx
cmp eax, 6
ja 0x478635
mov edx, dword [esi - 0xc]
mov eax, dword [esi - 8]
cmp ebx, 0xc
jb 0x478610
lea ecx, [ebx - 0xc]
shr ecx, 1
jmp 0x478617
movzx ecx, byte [ebx + 0x4edf60]
mov ebx, ecx
lea esp, [esp]
dec ecx
mov byte [ecx + edi], dl
shrd edx, eax, 8
shr eax, 8
test ecx, ecx
jne 0x478620
mov ecx, dword [esp + 0x3c]
jmp 0x478651
cmp ebx, 0xc
jb 0x47864f
mov ebx, dword [esi]
push ebx
push dword [esi + 4]
push edi
call fcn.004c1700
mov ecx, dword [esp + 0x48]
add esp, 0xc
jmp 0x478651
xor ebx, ebx
add dword [esp + 0x30], ebx
add esi, 0x28
mov edi, dword [esp + 0x40]
lea eax, [esi - 0xc]
cmp eax, dword [esp + 0x58]
jbe 0x4785c0
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov dword [edx + 0xc], eax
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [esp + 0x54]
je 0x478694
mov eax, 0x4010
mov dword [edx], ecx
mov word [edx + 8], ax
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov byte [edx + 0xa], 1
jmp 0x4760cc
mov esi, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x108]
push ecx
push dword [eax]
call fcn.0044bbf0
mov dword [esp + 0x20], eax
add esp, 8
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x47870c
push esi
call fcn.00488f80
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x108]
mov dword [esi], eax
mov eax, dword [esp + 0x10c]
mov dword [esi + 4], eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x10]
mov dword [esp + 0x38], eax
test eax, eax
jne 0x4788ce
cmp dword [esi + 0x9c], eax
jg 0x47ced6
mov esi, edi
test edi, edi
je 0x478776
cmp byte [edi], 0
je 0x47876e
inc esi
cmp byte [esi], 0
jne 0x478768
sub esi, edi
and esi, 0x3fffffff
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x1f4]
add eax, dword [ebx + 0x1f0]
push eax
push 0
push ebx
call fcn.00481c10
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x47d0fc
lea ecx, [esi + 0x21]
mov dword [esp + 0x40], eax
cmp byte [ebx + 0x41], al
je 0x4787cb
add dword [esp + 0x10], 0x14
mov esi, ebx
fld qword [esp + 0x88]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x50]
jmp 0x476027
cmp byte [ebx + 0xfa], al
je 0x4787ef
movzx eax, word [ebx + 0xf8]
cdq
cmp dword [esp + 0x40], edx
jb 0x47882c
ja 0x4787e7
cmp ecx, eax
jbe 0x47882c
inc dword [ebx + 0x108]
xor eax, eax
push eax
push ecx
call fcn.00461c40
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x478869
mov eax, dword [esp + 0x1c]
mov esi, eax
mov byte [eax + 0x41], 1
mov ecx, dword [esp + 0x10]
fld qword [esp + 0x88]
add ecx, 0x14
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x10], ecx
jmp 0x476027
mov edx, ebx
mov ebx, dword [edx + 0x110]
test ebx, ebx
jne 0x478840
inc dword [edx + 0x10c]
jmp 0x4787ed
mov eax, dword [ebx]
mov dword [edx + 0x110], eax
mov eax, dword [edx + 0xfc]
inc eax
mov dword [edx + 0xfc], eax
inc dword [edx + 0x104]
cmp eax, dword [edx + 0x100]
jle 0x478869
mov dword [edx + 0x100], eax
lea eax, [esi + 1]
push eax
lea ecx, [ebx + 0x20]
push edi
push ecx
mov dword [ebx], ecx
call fcn.004c1700
mov esi, dword [esp + 0x28]
add esp, 0xc
cmp byte [esi + 0x3f], 0
je 0x478890
mov byte [esi + 0x3f], 0
mov byte [esi + 0x46], 1
jmp 0x478896
inc dword [esi + 0x1f0]
mov eax, dword [esi + 0x1e8]
mov dword [ebx + 0x18], eax
mov eax, dword [esi + 0x1f8]
mov dword [esi + 0x1e8], ebx
mov dword [ebx + 8], eax
mov eax, dword [esi + 0x1fc]
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 0x200]
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0x204]
mov dword [ebx + 0x14], eax
jmp 0x478809
mov ebx, dword [esi + 0x1e8]
xor edx, edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x5c], ebx
test ebx, ebx
je 0x47895b
mov esi, dword [ebx]
test esi, esi
jne 0x4788f4
mov ecx, edi
neg ecx
sbb ecx, ecx
jmp 0x478943
test edi, edi
je 0x478947
mov bl, byte [esi]
mov edx, edi
test bl, bl
je 0x478925
mov al, bl
sub esi, edi
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x4ea938]
cmp al, byte [ecx + 0x4ea938]
jne 0x478925
mov al, byte [esi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x478904
movzx eax, bl
mov ebx, dword [esp + 0x5c]
movzx ecx, byte [eax + 0x4ea938]
movzx eax, byte [edx]
mov edx, dword [esp + 0x2c]
movzx eax, byte [eax + 0x4ea938]
sub ecx, eax
test ecx, ecx
je 0x478987
mov ebx, dword [ebx + 0x18]
inc edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x5c], ebx
test ebx, ebx
jne 0x4788e6
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push edi
push str.no_such_savepoint:__s
add eax, 0x2c
push esi
push eax
call fcn.0046ec30
mov ebx, dword [esp + 0x20]
mov ecx, 1
add esp, 0x10
mov dword [esp + 0x18], ecx
add ebx, 0x14
jmp 0x47d130
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x38]
cmp dword [esi + 0x9c], 0
jle 0x4789a1
cmp edi, 1
je 0x47cf01
cmp dword [ebx + 0x18], 0
jne 0x478a1f
cmp byte [esi + 0x46], 0
je 0x478a1f
mov esi, 1
mov dword [esp + 0x3c], esi
cmp edi, esi
jne 0x478a29
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x200]
add edx, dword [ecx + 0x1f8]
mov eax, dword [ecx + 0x204]
adc eax, dword [ecx + 0x1fc]
test eax, eax
jg 0x47cf3a
jl 0x4789ea
test edx, edx
jne 0x47cf3a
mov eax, dword [esp + 0x1c]
push dword [esp + 0x14]
mov byte [eax + 0x3f], 1
call fcn.0047de80
add esp, 4
cmp eax, 5
je 0x47cf08
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov byte [ecx + 0x46], 0
mov eax, dword [eax + 0x50]
mov dword [esp + 0x18], eax
jmp 0x478b2d
mov dword [esp + 0x3c], 0
jmp 0x478a2d
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x1f0]
sub eax, edx
lea edx, [eax - 1]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x2c], edx
cmp edi, 2
jne 0x478aa4
mov ecx, dword [esi + 0x18]
xor edi, edi
shr ecx, 1
and ecx, 1
mov dword [esp + 0x54], ecx
test eax, eax
jle 0x478aaa
mov ebx, ecx
xor ebx, 1
xor esi, esi
lea ecx, [ecx]
mov eax, dword [esp + 0x1c]
push ebx
push 0x204
mov eax, dword [eax + 0x10]
push dword [esi + eax + 4]
call fcn.0044e100
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x4773ee
mov eax, dword [esp + 0x1c]
inc edi
add esi, 0x10
mov eax, dword [eax + 0x14]
cmp edi, eax
jl 0x478a60
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x2c]
jmp 0x478aaa
xor ecx, ecx
mov dword [esp + 0x54], ecx
xor edi, edi
test eax, eax
mov eax, dword [esp + 0x1c]
jle 0x478aed
xor esi, esi
mov eax, dword [eax + 0x10]
push edx
push dword [esp + 0x3c]
push dword [esi + eax + 4]
call fcn.0044dcb0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x4773ee
mov eax, dword [esp + 0x1c]
inc edi
mov edx, dword [esp + 0x2c]
add esi, 0x10
cmp edi, dword [eax + 0x14]
jl 0x478ab6
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x478b21
mov eax, dword [eax + 4]
test eax, eax
je 0x478b0b
jmp 0x478b00
or dword [eax + 0x58], 8
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x478b00
push dword [esp + 0x1c]
call fcn.0046a7d0
mov ecx, dword [esp + 0x20]
add esp, 4
or dword [ecx + 0x18], 2
jmp 0x478b25
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
cmp dword [ecx + 0x1e8], ebx
je 0x478b6f
mov esi, dword [esp + 0x1c]
lea esp, [esp]
mov ecx, dword [esi + 0x1e8]
push ecx
push esi
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x1e8], eax
call fcn.00451330
dec dword [esi + 0x1f0]
add esp, 8
cmp dword [esi + 0x1e8], ebx
jne 0x478b40
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
cmp edi, 1
jne 0x478b9b
mov eax, dword [ebx + 0x18]
push ebx
push ecx
mov dword [ecx + 0x1e8], eax
call fcn.00451330
add esp, 8
test esi, esi
mov esi, dword [esp + 0x1c]
jne 0x4762ae
dec dword [esi + 0x1f0]
jmp 0x478bd0
mov eax, dword [ebx + 8]
test esi, esi
mov esi, dword [esp + 0x1c]
mov dword [ecx + 0x1f8], eax
mov eax, dword [ebx + 0xc]
mov dword [ecx + 0x1fc], eax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x200], eax
mov eax, dword [ebx + 0x14]
mov dword [ecx + 0x204], eax
je 0x478bd0
cmp edi, 2
jne 0x4762ae
push dword [esp + 0x2c]
push edi
push esi
call fcn.00481c10
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x4773f2
mov ecx, dword [esp + 0x10]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov ebx, dword [edx + 4]
mov ecx, dword [edx + 8]
test ebx, ebx
je 0x478c27
mov al, byte [esi + 0x3f]
test al, al
jne 0x478c27
test ecx, ecx
jne 0x478c2a
cmp dword [esi + 0x9c], ecx
jle 0x478c2a
mov dword [esp + 0x18], 5
mov eax, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x478c57
mov al, byte [esi + 0x3f]
movzx eax, al
cmp ebx, eax
jne 0x47cf9d
test ebx, ebx
jne 0x478c40
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x478c4f
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
mov dword [esp + 0x18], 1
push eax
mov eax, dword [esp + 0x18]
add eax, 0x2c
push esi
push eax
call fcn.0046ec30
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov edx, dword [edx + 8]
test edx, edx
je 0x478c90
test dword [esi + 0x18], 0x2000000
jne 0x47d033
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x478e15
push edx
push esi
call fcn.0044b300
mov ecx, eax
add esp, 8
mov dword [esp + 0x18], ecx
cmp ecx, 5
je 0x47d041
test ecx, ecx
jne 0x4773ee
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], ecx
je 0x478da5
mov edi, dword [esp + 0x14]
test byte [edi + 0x58], 0x20
je 0x478da5
mov ebx, dword [esp + 0x1c]
cmp byte [ebx + 0x3f], cl
je 0x478cfa
cmp dword [ebx + 0x98], 1
jle 0x478da5
mov eax, dword [edi + 0x68]
test eax, eax
jne 0x478d16
mov eax, dword [ebx + 0x1f0]
inc dword [ebx + 0x1f4]
add eax, dword [ebx + 0x1f4]
mov dword [edi + 0x68], eax
dec eax
push eax
push 0
push ebx
call fcn.00481c10
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x478d75
mov edi, dword [edi + 0x68]
mov ebx, dword [esi + 4]
cmp byte [esi + 9], al
je 0x478d49
inc dword [esi + 0xc]
cmp byte [esi + 0xa], al
jne 0x478d49
push esi
call fcn.00423a60
add esp, 4
push edi
push dword [ebx]
call fcn.00463fe0
add esp, 8
mov dword [esp + 0x18], eax
cmp byte [esi + 9], 0
je 0x478d6d
add dword [esi + 0xc], 0xffffffff
jne 0x478d6d
push esi
call fcn.00486180
add esp, 4
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [ebx + 0x1f8]
mov dword [edi + 0x98], eax
mov eax, dword [ebx + 0x1fc]
mov dword [edi + 0x9c], eax
mov eax, dword [ebx + 0x200]
mov dword [edi + 0xa0], eax
mov eax, dword [ebx + 0x204]
mov dword [edi + 0xa4], eax
mov dl, byte [esi + 9]
mov edi, dword [esi + 4]
test dl, dl
je 0x478dc4
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x478dc4
push esi
call fcn.00423a60
mov dl, byte [esi + 9]
add esp, 4
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx + 0x28]
movzx edi, byte [ecx + 0x29]
shl eax, 8
or edi, eax
movzx eax, byte [ecx + 0x2a]
shl edi, 8
or edi, eax
movzx eax, byte [ecx + 0x2b]
shl edi, 8
or edi, eax
test dl, dl
je 0x478dfc
add dword [esi + 0xc], 0xffffffff
jne 0x478dfc
push esi
call fcn.00486180
add esp, 4
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x478e1d
mov esi, dword [esp + 0x1c]
xor edi, edi
xor eax, eax
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 3], 0
je 0x4762b2
cmp edi, dword [ecx + 0xc]
jne 0x478e39
cmp eax, dword [ecx + 0x10]
je 0x4762b2
mov eax, dword [esp + 0x14]
push dword [eax + 0x2c]
push esi
call fcn.00451330
add esp, 8
mov eax, str.database_schema_has_changed
mov edi, edi
inc eax
cmp byte [eax], 0
jne 0x478e50
sub eax, str.database_schema_has_changed
xor ecx, ecx
and eax, 0x3fffffff
lea ebx, [eax + 1]
cmp byte [esi + 0x41], cl
je 0x478e71
xor esi, esi
jmp 0x478efd
cmp byte [esi + 0xfa], cl
je 0x478e91
movzx eax, word [esi + 0xf8]
cdq
cmp ecx, edx
jb 0x478eab
ja 0x478e8b
cmp ebx, eax
jbe 0x478eab
inc dword [esi + 0x108]
push ecx
push ebx
call fcn.00461c40
mov esi, eax
add esp, 8
test esi, esi
jne 0x478eee
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x41], 1
jmp 0x478efd
mov esi, dword [esi + 0x110]
test esi, esi
jne 0x478ec1
mov eax, dword [esp + 0x1c]
inc dword [eax + 0x10c]
jmp 0x478e91
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi]
mov dword [ecx + 0x110], eax
mov eax, dword [ecx + 0xfc]
inc eax
mov dword [ecx + 0xfc], eax
inc dword [ecx + 0x104]
cmp eax, dword [ecx + 0x100]
jle 0x478eee
mov dword [ecx + 0x100], eax
push ebx
push str.database_schema_has_changed
push esi
call fcn.004c1700
add esp, 0xc
mov eax, dword [esp + 0x14]
mov dword [eax + 0x2c], esi
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 4]
mov ecx, esi
mov eax, dword [esp + 0x1c]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], edi
je 0x478f40
push eax
call fcn.0046bdd0
add esp, 4
cmp esi, 1
mov esi, dword [esp + 0x1c]
je 0x478f44
mov eax, dword [esi + 0x10]
push dword [eax + 0x1c]
call fcn.0046bdd0
add esp, 4
jmp 0x478f44
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], 0x11
or dword [eax + 0x58], 8
mov eax, 0x11
jmp 0x4760cc
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x138]
push eax
mov eax, dword [esi + 0x10]
fstp st(0)
mov ecx, dword [edx + 4]
push dword [edx + 0xc]
add ecx, ecx
push dword [eax + ecx*8 + 4]
call fcn.0044c260
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x478faf
push esi
call fcn.00488f80
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x138]
cdq
mov dword [esi], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 4], edx
mov esi, dword [esp + 0x1c]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 0xc]
mov edi, dword [edx + 4]
shl edi, 4
add edi, dword [esi + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0047e160
mov dword [esi], eax
mov ecx, 0xbe04
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
push dword [esi]
or ax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x18]
push dword [eax + 8]
push dword [edi + 4]
call fcn.0044e280
mov dword [esp + 0x28], eax
add esp, 0x10
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x479046
mov eax, dword [esi]
mov ecx, dword [edi + 0xc]
mov esi, dword [esp + 0x1c]
mov dword [ecx], eax
or dword [esi + 0x18], 2
jmp 0x479057
cmp eax, 2
jne 0x479053
mov ecx, dword [edi + 0xc]
mov al, byte [esi]
mov byte [ecx + 0x4c], al
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 4], 1
jne 0x4762b2
mov eax, dword [esi + 4]
test eax, eax
je 0x47907b
lea esp, [esp]
or dword [eax + 0x58], 8
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x479070
mov eax, dword [esp + 0x14]
and dword [eax + 0x58], 0xfffffff7
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov esi, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x4790b3
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 8]
je 0x4791e3
mov esi, dword [esp + 0x1c]
jmp 0x4790bf
mov ebx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
test byte [eax + 0x58], 8
jne 0x47d082
mov eax, dword [esp + 0x10]
xor edi, edi
mov ebx, dword [ebx + 8]
mov dword [esp + 0x28], edi
mov ecx, dword [eax + 0xc]
mov eax, ecx
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [esp + 0x40], ecx
mov esi, dword [eax + 4]
mov dword [esp + 0x68], esi
cmp dl, 0x37
jne 0x479111
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x58], 1
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x57]
jae 0x479115
mov byte [edx + 0x57], al
jmp 0x479115
mov dword [esp + 0x58], edi
mov edx, dword [esp + 0x10]
test byte [edx + 3], 4
je 0x47915e
mov ecx, dword [esp + 0x24]
lea eax, [ebx + ebx*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0047e160
mov dword [esi], eax
mov ecx, 0xbe04
mov ax, word [esi + 8]
add esp, 4
and ax, cx
mov dword [esi + 4], edx
mov ebx, dword [esi]
or ax, 4
mov word [esi + 8], ax
cmp ebx, 2
jl 0x47d06e
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x10]
mov al, byte [edx + 1]
cmp al, 0xfa
jne 0x479178
mov eax, dword [edx + 0x10]
mov dword [esp + 0x28], eax
movzx edi, word [eax + 8]
movzx eax, word [eax + 6]
add edi, eax
jmp 0x47917f
cmp al, 0xf2
jne 0x47917f
mov edi, dword [edx + 0x10]
push 1
push ecx
push edi
push dword [edx + 4]
push dword [esp + 0x24]
call fcn.0041f9c0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x47d25f
push dword [esi]
mov edi, dword [esp + 0x2c]
or dword [esi + 0x1c], 8
push edi
push dword [esp + 0x60]
mov byte [esi + 0x19], 1
push ebx
push dword [esp + 0x78]
mov dword [esi + 0x20], ebx
call fcn.0044be20
mov dword [esp + 0x2c], eax
xor ecx, ecx
mov eax, dword [esp + 0x24]
add esp, 0x14
mov dword [esi + 8], edi
cmp byte [eax + 1], 0xfa
mov eax, 4
cmovne ecx, eax
mov eax, dword [esi + 0x1c]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 0x1c], ecx
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 3]
mov eax, dword [esi]
and cl, 3
mov esi, dword [esp + 0x1c]
mov byte [eax + 0x4a], cl
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
push 1
push 0xffffffffffffffff
push dword [edx + 8]
push dword [edx + 4]
push dword [esp + 0x24]
call fcn.0041f9c0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x47d25f
mov eax, dword [esp + 0x10]
lea ebx, [esi + 4]
or dword [esi + 0x1c], 1
mov byte [esi + 0x19], 1
push 0x41e
movzx eax, byte [eax + 3]
or eax, 5
push eax
mov eax, dword [esp + 0x24]
push ebx
push eax
push 0
push dword [eax]
call fcn.0044d2b0
add esp, 0x18
mov dword [esp + 0x18], eax
test eax, eax
jne 0x47932b
push 1
push dword [ebx]
call fcn.0044b300
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x47932b
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x68], eax
test eax, eax
je 0x479311
mov edi, dword [ebx]
movzx eax, byte [ecx + 3]
or eax, 2
mov dword [esp + 0x40], eax
cmp byte [edi + 9], 0
je 0x4792b7
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x4792b7
push edi
call fcn.00423a60
mov eax, dword [esp + 0x44]
add esp, 4
push eax
lea eax, [esp + 0x164]
push eax
push edi
call fcn.00423180
add esp, 0xc
mov dword [esp + 0x18], eax
cmp byte [edi + 9], 0
je 0x4792e6
add dword [edi + 0xc], 0xffffffff
jne 0x4792e6
push edi
call fcn.00486180
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
jne 0x47930b
push dword [esi]
mov eax, dword [esp + 0x6c]
push eax
push 1
push dword [esp + 0x16c]
mov dword [esi + 8], eax
push dword [ebx]
call fcn.0044be20
add esp, 0x14
mov dword [esp + 0x18], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x47932b
push dword [esi]
push 0
push 1
push 1
push dword [ebx]
call fcn.0044be20
add esp, 0x14
mov dword [esp + 0x18], eax
or dword [esi + 0x1c], 4
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp byte [eax + 3], 8
mov eax, 8
cmovne ecx, eax
mov eax, dword [esi + 0x1c]
and eax, 0xfffffff7
or ecx, eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x1c], ecx
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
push 1
push 0xffffffffffffffff
push dword [edx + 8]
push dword [edx + 4]
push dword [esp + 0x24]
call fcn.0041f9c0
add esp, 0x14
test eax, eax
je 0x47d263
mov edx, dword [esp + 0x10]
push eax
mov ecx, dword [edx + 0x10]
mov dword [eax + 8], ecx
push dword [edx + 0xc]
push esi
call fcn.00480b60
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x18], eax
jmp 0x4760cc
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 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 dword [edx + 0x2c], eax
mov ebx, dword [esp + 0x14]
fstp st(0)
je 0x47c16d
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov ebx, dword [esp + 0x10]
fstp st(0)
mov edi, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x40], edx
mov eax, dword [ebx + 0x1c]
sub eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea ebx, [edx*8 + 0x58]
lea esi, [eax + ecx*8]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x38]
mov eax, dword [eax + edi*4]
test eax, eax
je 0x479436
push eax
push ecx
call fcn.0047dd70
mov eax, dword [esp + 0x1c]
add esp, 8
mov eax, dword [eax + 0x38]
mov dword [eax + edi*4], 0
cmp dword [esi + 0x18], ebx
jge 0x479451
push 0
push ebx
push esi
call fcn.0047f010
add esp, 0xc
test eax, eax
jne 0x47d25f
jmp 0x47945c
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x14]
mov esi, dword [esi + 0x10]
push 0x58
push 0
mov eax, dword [eax + 0x38]
push esi
mov dword [eax + edi*4], esi
call fcn.004c2200
mov eax, dword [esp + 0x4c]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov word [esi + 0x14], ax
add eax, 0x15
mov word [esi + 0x18], 0x1ff
lea eax, [esi + eax*4]
mov dword [esi + 0x50], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
or dword [esi + 0x1c], 4
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x38]
push dword [eax + ecx*4]
push edx
call fcn.0047dd70
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x38]
mov dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x40], esi
test byte [esi + 0x1c], 4
mov byte [esi + 0x19], 0
je 0x479625
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov al, byte [esi + 8]
and al, 0xe
cmp al, 2
jne 0x47959d
mov al, byte [esi + 0xa]
mov byte [esp + 0xd8], al
lea eax, [esp + 0x2c0]
push dword [esp + 0xd8]
push dword [esi + 0xc]
push eax
push dword [esi + 0x10]
call fcn.00449200
add esp, 0x10
test eax, eax
je 0x47959d
push dword [esp + 0xd8]
lea eax, [esp + 0x214]
push dword [esi + 0xc]
push eax
push dword [esi + 0x10]
call fcn.00449820
movzx ecx, word [esi + 8]
add esp, 0x10
test eax, eax
jne 0x47958d
mov eax, dword [esp + 0x210]
or ecx, 4
mov dword [esi], eax
mov eax, dword [esp + 0x214]
mov dword [esi + 4], eax
jmp 0x479599
fld qword [esp + 0x2c0]
or ecx, 8
fstp qword [esi]
mov word [esi + 8], cx
push esi
call fcn.0047e160
movzx ecx, word [esi + 8]
add esp, 4
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], edx
test cl, 4
jne 0x4795f7
test cl, 8
je 0x47cd5d
fld qword [esi]
fild qword [esp + 0x110]
fstp qword [esp + 0x68]
fld qword [esp + 0x68]
fcomi st(1)
jbe 0x4795e9
test bl, 1
fstp st(0)
fstp st(0)
cmove edi, ebx
mov ebx, edi
jmp 0x4795f7
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x4795f7
test bl, 1
jne 0x4795f7
inc ebx
mov edi, dword [esp + 0x110]
lea eax, [esp + 0x70]
mov esi, dword [esp + 0x40]
push eax
push 0
push edx
push edi
push 0
push dword [esi]
call fcn.0044ccb0
mov ecx, eax
mov dword [esi + 0x30], edi
mov eax, dword [esp + 0x12c]
mov dword [esi + 0x34], eax
jmp 0x47968f
mov eax, dword [esi + 8]
test bl, 1
mov dword [esp + 0x2d4], eax
mov ax, word [edx + 0x10]
mov word [esp + 0x2d8], ax
sete al
lea eax, [eax*2 - 1]
mov byte [esp + 0x2da], al
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x4000
mov dword [esp + 0x2dc], eax
test word [eax + 8], cx
je 0x479673
push eax
call fcn.0047ee00
add esp, 4
lea eax, [esp + 0x70]
push eax
push 0
push 0
push 0
lea eax, [esp + 0x2e4]
push eax
push dword [esi]
call fcn.0044ccb0
mov ecx, eax
add esp, 0x18
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x4773ee
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov eax, dword [esp + 0x70]
cmp ebx, 0x40
jl 0x4796ec
test eax, eax
js 0x4796d6
jne 0x4796bd
cmp ebx, 0x41
je 0x4796d6
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x70], 0
jmp 0x4760cc
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0
push eax
push dword [esi]
call fcn.0044d230
jmp 0x479757
test eax, eax
jg 0x479708
jne 0x4796f7
cmp ebx, 0x3e
je 0x479708
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax + 0x49], 1
setne cl
mov dword [esp + 0x70], ecx
jmp 0x479768
mov dword [esp + 0x70], 0
xor eax, eax
mov ecx, dword [esi]
and byte [ecx + 0x48], 0xf1
cmp byte [ecx + 0x49], 1
mov word [ecx + 0x2c], ax
jne 0x47974c
movsx edx, word [ecx + 0x4c]
movzx esi, word [ecx + edx*2 + 0x4e]
test si, si
je 0x47974c
mov eax, dword [ecx + edx*4 + 0x78]
cmp byte [eax + 5], 0
je 0x47974c
lea eax, [esi - 1]
mov dword [esp + 0x18], 0
mov word [ecx + edx*2 + 0x4e], ax
jmp 0x479768
lea eax, [esp + 0x70]
push eax
push ecx
call fcn.00424000
mov ecx, eax
add esp, 8
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x4773ee
cmp dword [esp + 0x70], 0
mov ebx, dword [esp + 0x14]
jne 0x47c16d
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x24]
mov byte [esi + 0x19], 0
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.0047e160
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 1
mov esi, dword [esp + 0x1c]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
mov dword [esp + 0x5c], 0
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], edi
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + 0x10]
movzx ecx, ax
test eax, eax
jle 0x479872
mov eax, dword [edi + 8]
xor edi, edi
mov dword [esp + 0x284], eax
xor eax, eax
mov word [esp + 0x288], cx
mov dword [esp + 0x28c], ebx
cmp ax, cx
jae 0x479862
xor esi, esi
mov edx, 0x4000
nop
test word [esi + ebx + 8], dx
lea eax, [esi + ebx]
je 0x479857
push eax
call fcn.0047ee00
mov ebx, dword [esp + 0x290]
add esp, 4
mov cx, word [esp + 0x288]
mov edx, 0x4000
inc edi
movzx eax, cx
add esi, 0x28
cmp edi, eax
jl 0x479830
mov ebx, dword [esp + 0x28]
lea esi, [esp + 0x284]
jmp 0x479924
mov edi, dword [edi + 8]
lea edx, [esp + 0x388]
neg edx
and edx, 7
movzx esi, word [edi + 6]
mov eax, esi
lea eax, [eax + eax*4]
lea ecx, [eax*8 + 0x40]
lea eax, [edx + 0xbf]
cmp ecx, eax
jbe 0x4798d7
mov eax, esi
cdq
mov ecx, eax
mov esi, edx
shld esi, ecx, 2
shl ecx, 2
add eax, ecx
adc edx, esi
shld edx, eax, 3
shl eax, 3
add eax, 0x40
adc edx, 0
push edx
push eax
push dword [edi + 0xc]
call fcn.004513e0
mov esi, eax
add esp, 0xc
mov dword [esp + 0x5c], esi
test esi, esi
je 0x47d25f
jmp 0x4798e8
lea esi, [esp + 0x388]
mov dword [esp + 0x5c], 0
add esi, edx
lea eax, [esi + 0x18]
mov dword [esi], edi
mov dword [esi + 8], eax
mov ax, word [edi + 6]
inc ax
mov word [esi + 4], ax
mov eax, 0x4000
test word [ebx + 8], ax
je 0x47990e
push ebx
call fcn.0047ee00
add esp, 4
push esi
push dword [ebx + 0x10]
push dword [ebx + 0xc]
mov ebx, dword [esp + 0x34]
push dword [ebx + 8]
call fcn.00480510
add esp, 0x10
mov eax, dword [esp + 0x10]
xor edi, edi
mov byte [esi + 6], 0
cmp byte [eax], 0x43
jne 0x479957
movzx edx, word [esi + 4]
xor ecx, ecx
test edx, edx
je 0x479957
mov eax, dword [esi + 8]
add eax, 8
test byte [eax], 1
jne 0x479952
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x479943
jmp 0x479957
mov edi, 1
lea eax, [esp + 0x164]
push eax
push 0
push 0
push 0
push esi
push dword [ebx]
call fcn.0044ccb0
push dword [esp + 0x74]
mov esi, dword [esp + 0x38]
push esi
mov dword [esp + 0x38], eax
call fcn.00451330
add esp, 0x20
cmp dword [esp + 0x18], 0
jne 0x4762ae
mov eax, dword [esp + 0x164]
xor ecx, ecx
test eax, eax
mov dword [ebx + 0xc], eax
mov byte [ebx + 0x1a], 0
sete cl
mov dword [ebx + 0x3c], 0
test eax, eax
setne al
mov byte [ebx + 0x19], al
mov eax, dword [esp + 0x10]
cmp byte [eax], 0x45
jne 0x4799c7
test ecx, ecx
jne 0x47cd5d
jmp 0x478809
test edi, edi
jne 0x47cd5d
test ecx, ecx
je 0x47cd5d
jmp 0x478809
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
mov dword [esp + 0xf4], 0
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8]
mov edi, dword [ecx + eax*8 + 4]
lea eax, [esp + 0xf4]
push eax
push 0
push edi
push esi
push 0
push dword [ebx]
call fcn.0044ccb0
mov dword [esp + 0x30], eax
add esp, 0x18
mov eax, dword [esp + 0xf4]
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], edi
mov word [ebx + 0x19], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0xc], eax
mov ebx, dword [esp + 0x14]
test eax, eax
jne 0x47c16d
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov ebx, dword [esp + 0x10]
fstp st(0)
mov edi, dword [esp + 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x479a8b
push esi
call fcn.00488f80
add esp, 4
mov eax, 4
mov word [esi + 8], ax
mov ecx, dword [ebx + 4]
mov ebx, edi
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x28]
mov dword [esi], eax
mov eax, dword [ecx + 0x2c]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
mov eax, edi
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov ebx, dword [esp + 0x10]
xor esi, esi
xor edi, edi
mov dword [esp + 0x94], esi
fstp st(0)
mov dword [esp + 0x90], edi
mov dword [esp + 0xb4], esi
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea edx, [eax + ecx*8]
mov eax, 0x2460
mov dword [esp + 0x28], edx
test word [edx + 8], ax
je 0x479b1d
push edx
call fcn.00488f80
mov edx, dword [esp + 0x2c]
add esp, 4
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + ecx*4]
mov dword [esp + 0x38], ebx
mov eax, dword [ebx]
test eax, eax
je 0x479d17
test byte [ebx + 0x1c], 2
jne 0x479bc7
lea ecx, [esp + 0xb4]
push ecx
push eax
call fcn.0044cbe0
mov ecx, eax
add esp, 8
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x4773ee
cmp dword [esp + 0xb4], esi
je 0x479b7a
lea edi, [eax + 1]
xor esi, esi
jmp 0x479bb9
lea eax, [esp + 0x90]
push eax
push dword [ebx]
call fcn.0044cb80
mov esi, dword [esp + 0x9c]
add esp, 8
mov edi, dword [esp + 0x90]
mov dword [esp + 0x18], eax
cmp esi, 0x7fffffff
jl 0x479bb3
jg 0x479bad
cmp edi, 0xffffffff
jb 0x479bb3
or dword [ebx + 0x1c], 2
jmp 0x479bc7
add edi, 1
adc esi, 0
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x479c7f
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x479c04
mov eax, dword [edx + 4]
test eax, eax
je 0x479bf9
jmp 0x479bf0
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x479bf0
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea ebx, [eax + ecx*8]
jmp 0x479c0e
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x24]
lea ebx, [ecx + eax*8]
push ebx
call fcn.0047e160
mov dword [ebx], eax
mov ecx, 0xbe04
mov ax, word [ebx + 8]
add esp, 4
and ax, cx
mov dword [ebx + 4], edx
mov edx, dword [ebx]
or ax, 4
mov ecx, dword [ebx + 4]
mov word [ebx + 8], ax
cmp edx, 0xffffffff
jne 0x479c46
cmp ecx, 0x7fffffff
je 0x479cfa
mov eax, dword [esp + 0x38]
test byte [eax + 0x1c], 2
jne 0x479cfa
add edx, 1
adc ecx, 0
cmp esi, ecx
jg 0x479c76
jl 0x479c64
cmp edi, edx
jae 0x479c76
mov edi, edx
mov esi, ecx
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], esi
mov dword [ebx], edi
mov dword [ebx + 4], esi
mov ebx, dword [esp + 0x38]
test byte [ebx + 0x1c], 2
je 0x479d08
xor ebx, ebx
jmp 0x479c90
lea eax, [esp + 0x90]
push eax
push 8
call fcn.00418670
mov esi, dword [esp + 0x9c]
lea eax, [esp + 0xbc]
mov edi, dword [esp + 0x98]
and esi, 0x3fffffff
push eax
mov eax, dword [esp + 0x44]
add edi, 1
push 0
adc esi, 0
mov dword [esp + 0xa0], edi
push esi
push edi
push 0
push dword [eax]
mov dword [esp + 0xb4], esi
call fcn.0044ccb0
add esp, 0x20
mov dword [esp + 0x18], eax
test eax, eax
jne 0x479d04
cmp dword [esp + 0xb4], eax
jne 0x479d04
inc ebx
cmp ebx, 0x64
jl 0x479c90
mov ecx, 0xd
jmp 0x4773ea
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
mov byte [ebx + 0x1a], 0
mov dword [ebx + 0x3c], 0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [edx + 4], esi
mov esi, dword [esp + 0x1c]
mov dword [edx], edi
jmp 0x4760cc
mov ebx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0xc]
cmp dl, 0x4b
jne 0x479d62
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
mov edi, dword [edx + eax*8]
mov ebx, dword [edx + eax*8 + 4]
jmp 0x479d6b
cdq
mov ebx, edx
mov edi, eax
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 3]
test cl, 1
je 0x479d81
mov ecx, dword [esp + 0x14]
inc dword [ecx + 0x5c]
mov cl, byte [eax + 3]
test cl, 2
je 0x479d9c
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x50], edi
mov dword [esp + 0x20], ebx
mov dword [eax + 0x20], edi
mov dword [eax + 0x24], ebx
mov eax, dword [esp + 0x10]
movzx ecx, word [edx + esi*8 + 8]
test cl, 1
je 0x479db6
mov dword [edx + esi*8 + 0x10], 0
mov dword [edx + esi*8 + 0xc], 0
mov dl, byte [eax + 3]
test dl, 0x10
je 0x479dc7
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
jmp 0x479dc9
xor eax, eax
test ecx, 0x4000
je 0x479dda
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + esi*8]
jmp 0x479ddc
xor ecx, ecx
push eax
movzx eax, dl
shr eax, 3
and eax, 1
push eax
mov eax, dword [esp + 0x2c]
push ecx
push dword [eax + esi*8 + 0xc]
push dword [eax + esi*8 + 0x10]
mov esi, dword [esp + 0x3c]
push ebx
push edi
push 0
push dword [esi]
call fcn.0044c2e0
mov ecx, eax
mov byte [esi + 0x1a], 0
add esp, 0x24
mov dword [esp + 0x18], ecx
mov dword [esi + 0x3c], 0
test ecx, ecx
jne 0x4762aa
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0xd4]
test edx, edx
je 0x47cd8a
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4762aa
movsx ecx, byte [esi + 0x18]
mov esi, dword [esp + 0x1c]
add ecx, ecx
push ebx
push edi
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
mov eax, dword [esp + 0x20]
mov ecx, 0x17
test byte [eax + 3], 4
mov eax, 0x12
cmovne eax, ecx
push eax
push dword [esi + 0xd0]
call edx
mov ecx, dword [esp + 0x28]
add esp, 0x18
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
push dword [esi]
call fcn.0044bf90
mov ecx, eax
mov dword [esi + 0x3c], 0
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x479ef8
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0xd4]
test edx, edx
je 0x479ef4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x479ef8
test byte [esi + 0x1c], 4
je 0x479ef8
push dword [esi + 0x34]
movsx ecx, byte [esi + 0x18]
push dword [esi + 0x30]
mov esi, dword [esp + 0x24]
add ecx, ecx
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
push 9
push dword [esi + 0xd0]
call edx
add esp, 0x18
jmp 0x479efc
mov esi, eax
jmp 0x479efc
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
test byte [ecx + 8], 1
je 0x4764cd
mov eax, ebx
inc dword [eax + 0x5c]
mov eax, dword [esp + 0x18]
jmp 0x4760d4
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x5c]
add dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
mov eax, dword [esp + 0x14]
mov dword [eax + 0x5c], 0
jmp 0x4760c6
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [edx + 0x10]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edi, dword [ecx + 0x38]
mov ebx, dword [ecx + 8]
lea eax, [eax + eax*4]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x479f96
lea eax, [esp + 0x2fc]
push eax
push 0
push 0
push ebx
call fcn.004755a0
add esp, 0x10
mov dword [esp + 0x28], eax
mov dword [edi + 0x20], eax
test eax, eax
je 0x47d093
mov word [eax + 4], si
lea eax, [esp + 0x124]
push eax
push edi
call fcn.0048b1c0
mov edi, dword [esp + 0x30]
push edi
push eax
push dword [esp + 0x134]
push ebx
call fcn.00480510
add esp, 0x18
xor ecx, ecx
test esi, esi
jle 0x479fd3
mov eax, dword [edi + 8]
add eax, 8
test byte [eax], 1
jne 0x47a023
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x479fc6
mov eax, dword [esp + 0x40]
push 0
push edi
mov edi, dword [esp + 0x2c]
push dword [edi + eax*8 + 0x10]
push dword [edi + eax*8 + 0xc]
call fcn.0047fe30
add esp, 0x10
mov dword [esp + 0x18], 0
test eax, eax
jne 0x47cd5d
add dword [esp + 0x10], 0x14
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
fld qword [esp + 0x88]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x50]
jmp 0x476027
mov dword [esp + 0x18], 0
jmp 0x47cd5d
mov edx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, dword [edx + 4]
lea eax, [esp + 0x128]
push eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
push dword [eax + 0x38]
call fcn.0048b1c0
mov edi, dword [esp + 0x130]
add esp, 8
mov ebx, eax
cmp dword [esi + 0x18], edi
jge 0x47a08b
push 0
push edi
push esi
call fcn.0047f010
add esp, 0xc
test eax, eax
je 0x47a096
mov dword [esp + 0x18], 7
jmp 0x47a0c2
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov ax, word [esi + 8]
mov ecx, 0xbe10
push edi
and ax, cx
mov dword [esi + 0xc], edi
push ebx
push dword [esi + 0x10]
or ax, 0x10
mov word [esi + 8], ax
call fcn.004c1700
add esp, 0xc
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x3c], 0
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov dword [esp + 0x40], esi
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x68], eax
test byte [eax + 0x1c], 4
mov ebx, dword [eax]
jne 0x47a17a
lea eax, [esp + 0x218]
push eax
push ebx
call fcn.0044cb80
mov eax, dword [esp + 0x24]
add esp, 8
mov eax, dword [eax + 0x58]
cdq
cmp dword [esp + 0x21c], edx
jg 0x47a152
mov edi, dword [esp + 0x218]
jl 0x47a1ce
cmp edi, eax
jbe 0x47a1ce
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push str.string_or_blob_too_big
add eax, 0x2c
push esi
push eax
call fcn.0046ec30
mov ecx, 0x12
add esp, 0xc
mov dword [esp + 0x18], ecx
jmp 0x47d12c
cmp word [ebx + 0x2c], 0
jne 0x47a1be
movsx eax, word [ebx + 0x4c]
mov edi, dword [ebx + eax*4 + 0x78]
movzx esi, word [ebx + eax*2 + 0x4e]
lea eax, [ebx + 0x18]
push eax
mov ecx, dword [edi + 0x40]
movzx edx, byte [ecx + esi*2]
movzx eax, byte [ecx + esi*2 + 1]
shl edx, 8
or edx, eax
movzx eax, word [edi + 0x14]
and edx, eax
add edx, dword [edi + 0x38]
push edx
push edi
call fcn.00423ea0
mov esi, dword [esp + 0x4c]
add esp, 0xc
or byte [ebx + 0x48], 2
mov eax, dword [esp + 0x1c]
mov edi, dword [ebx + 0x24]
cmp edi, dword [eax + 0x58]
ja 0x47d283
mov eax, 0x20
cmp edi, eax
cmova eax, edi
cmp dword [esi + 0x18], eax
jge 0x47a1f3
push 0
push eax
push esi
call fcn.0047f010
add esp, 0xc
test eax, eax
jne 0x47d25f
jmp 0x47a1fe
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov ax, word [esi + 8]
mov ecx, 0xbe10
and ax, cx
mov dword [esi + 0xc], edi
mov ecx, dword [esp + 0x68]
or ax, 0x10
mov word [esi + 8], ax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x40], eax
test byte [ecx + 0x1c], 4
jne 0x47a22b
push 0
push eax
jmp 0x47a26c
mov al, byte [ebx + 0x49]
test al, al
jne 0x47a24f
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], 4
mov eax, dword [esp + 0x18]
mov byte [esi + 0xa], 1
mov esi, dword [esp + 0x1c]
jmp 0x4760cc
cmp al, 3
jb 0x47a266
push ebx
call fcn.004241a0
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x47a27c
push 0
push dword [esp + 0x44]
push edi
push 0
push ebx
call fcn.0041e610
mov dword [esp + 0x2c], eax
add esp, 0x14
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov byte [esi + 0xa], 1
mov esi, dword [esp + 0x1c]
jmp 0x4760cc
mov esi, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea edi, [eax + ecx*8]
mov eax, 0x2460
test word [edi + 8], ax
je 0x47a2bb
push edi
call fcn.00488f80
add esp, 4
mov eax, 4
mov word [edi + 8], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x19], 0
je 0x47a2f1
mov esi, dword [esp + 0x1c]
mov eax, 1
mov ecx, dword [esp + 0x10]
mov word [edi + 8], ax
mov eax, dword [esp + 0x18]
jmp 0x4760cc
cmp byte [esi + 0x1a], 0
je 0x47a32f
mov eax, dword [esi + 0x30]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x100], eax
mov eax, dword [esi + 0x34]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x100]
mov dword [edi], eax
mov eax, dword [esp + 0x104]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x47a37d
mov esi, dword [ecx]
lea edx, [esp + 0x100]
push edx
push ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
push esi
push dword [esp + 0x20]
mov dword [esp + 0x28], eax
call fcn.00481940
mov eax, dword [esp + 0x110]
add esp, 0x10
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov dword [edi], eax
mov eax, dword [esp + 0x104]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov eax, dword [esi]
cmp byte [eax + 0x49], 1
je 0x47a39e
push esi
call fcn.00435fa0
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x4773ee
jmp 0x47a3a6
mov dword [esp + 0x18], 0
cmp byte [esi + 0x19], 0
je 0x47a3da
add dword [esp + 0x10], 0x14
mov eax, 1
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
fld qword [esp + 0x88]
mov ebx, dword [esp + 0x14]
mov word [edi + 8], ax
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x50]
jmp 0x476027
lea eax, [esp + 0x100]
push eax
push dword [esi]
call fcn.0044cb80
mov esi, dword [esp + 0x24]
add esp, 8
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x100]
mov dword [edi], eax
mov eax, dword [esp + 0x104]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov eax, dword [esp + 0x14]
fstp st(0)
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov byte [eax + 0x19], 1
mov dword [eax + 0x3c], 0
mov eax, dword [eax]
test eax, eax
je 0x4762ae
push eax
call fcn.0044b560
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
mov dword [esp + 0xdc], 0
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [esp + 0xdc]
push eax
push dword [esi]
call fcn.0044cbe0
mov ecx, dword [esp + 0xe4]
add esp, 8
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
mov byte [esi + 0x19], cl
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov eax, dword [eax + 0xc]
mov dword [esi + 0xc], eax
mov esi, dword [esp + 0x10]
cmp dword [esi + 8], 0
jle 0x4762aa
test ecx, ecx
jne 0x47cd61
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov eax, dword [esp + 0x14]
inc dword [eax + 0x74]
jmp 0x47a4d5
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [eax + 0x38]
mov ebx, 1
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov esi, dword [edi + 0x38]
test esi, esi
je 0x47a545
cmp byte [esi + 0x38], 0
mov dword [esp + 0x18], 0
jne 0x47a51c
cmp dword [esi + 0x24], 0
lea eax, [esi + 0x24]
je 0x47a577
push eax
lea eax, [esi + 0x40]
xor ebx, ebx
push eax
call fcn.0048b4a0
add esp, 8
mov dword [esp + 0x18], eax
jmp 0x47a577
push esi
call fcn.0048a650
push eax
push esi
call fcn.0048a780
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x47a577
push esi
call fcn.0048b220
add esp, 4
mov dword [esp + 0x18], eax
xor ebx, ebx
jmp 0x47a577
mov esi, dword [edi]
push esi
call fcn.004387d0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x47a56c
cmp byte [esi + 0x49], al
je 0x47a56c
push esi
xor ebx, ebx
call fcn.004386d0
add esp, 4
mov dword [esp + 0x18], eax
mov byte [edi + 0x1a], 0
mov dword [edi + 0x3c], 0
mov byte [edi + 0x19], bl
test ebx, ebx
mov ebx, dword [esp + 0x14]
jne 0x47c16d
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x9c], 0
mov esi, dword [edi + 0x38]
cmp byte [esi + 0x38], 0
je 0x47a60e
cmp byte [esi + 0x39], 0
je 0x47a5ee
push dword [esi + 0x10]
call fcn.00489990
mov dword [esp + 0x1c], eax
xor ecx, ecx
mov eax, dword [esi + 0x10]
add esp, 4
mov esi, dword [esp + 0x1c]
cmp dword [eax + 0x18], ecx
sete cl
mov dword [esp + 0x9c], ecx
jmp 0x47a69d
lea eax, [esp + 0x9c]
push eax
push dword [esi + 0x14]
call fcn.00489360
mov esi, dword [esp + 0x24]
add esp, 8
mov dword [esp + 0x18], eax
jmp 0x47a69d
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx + 4]
mov dword [esi + 0x24], eax
mov dword [ecx + 4], 0
cmp dword [esi + 0x28], 0
jne 0x47a631
push ecx
push dword [esp + 0x20]
call fcn.0048b100
add esp, 8
xor eax, eax
mov dword [esp + 0x18], 0
cmp dword [esi + 0x24], eax
mov esi, dword [esp + 0x1c]
sete al
mov dword [esp + 0x9c], eax
jmp 0x47a69d
mov eax, dword [esp + 0x14]
fstp st(0)
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x38]
cmp dword [eax + ecx*4], 0
mov ecx, dword [esp + 0x10]
je 0x4762b2
jmp 0x47a66c
fstp st(0)
mov eax, dword [esp + 0x14]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x9c]
push eax
push dword [edi]
mov eax, dword [ecx + 0x10]
call eax
add esp, 8
mov dword [esp + 0x18], eax
mov dword [edi + 0x3c], 0
cmp dword [esp + 0x9c], 0
jne 0x47a6c7
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov byte [edi + 0x19], 0
movzx eax, byte [eax + 3]
inc dword [ecx + eax*4 + 0x6c]
jmp 0x47c97f
mov byte [edi + 0x19], 1
jmp 0x47c99b
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
test byte [edx + 3], 1
mov eax, dword [eax + 0x38]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x24]
mov ebx, dword [edi]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
je 0x47a6ff
mov eax, dword [esp + 0x14]
inc dword [eax + 0x5c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x47a725
push esi
call fcn.0047ee00
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x4762aa
mov edx, dword [esp + 0x10]
cmp dword [edi + 0x38], 0
je 0x47a746
push esi
push edi
call fcn.00480fb0
mov esi, dword [esp + 0x24]
add esp, 8
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
jmp 0x4760cc
test byte [edx + 3], 0x10
je 0x47a751
mov eax, dword [edi + 0xc]
jmp 0x47a753
xor eax, eax
push eax
push dword [edx + 0xc]
mov eax, dword [esi + 0xc]
push 0
push 0
push 0x4e93f4
cdq
push edx
push eax
push dword [esi + 0x10]
push ebx
call fcn.0044c2e0
mov esi, dword [esp + 0x40]
add esp, 0x24
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov dword [edi + 0x3c], 0
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov dword [esp + 0x2e8], eax
mov ax, word [edx + 0xc]
mov word [esp + 0x2ec], ax
mov eax, dword [edx + 8]
mov byte [esp + 0x2ee], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x2f0], eax
lea eax, [esp + 0x12c]
push eax
push 0
push 0
push 0
lea eax, [esp + 0x2f8]
push eax
push edi
call fcn.0044ccb0
mov ecx, eax
add esp, 0x18
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x47a810
cmp dword [esp + 0x12c], eax
jne 0x47a810
push edi
call fcn.0044bf90
add esp, 4
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [esi + 0x3c], 0
mov esi, dword [esp + 0x1c]
jmp 0x4760cc
mov esi, dword [esp + 0x10]
fstp st(0)
mov edi, dword [esp + 0x14]
mov eax, dword [esi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 8]
lea ebx, [eax + ecx*8]
mov eax, 0x2460
test word [ebx + 8], ax
je 0x47a852
push ebx
call fcn.00488f80
add esp, 4
mov eax, 4
mov word [ebx + 8], ax
mov eax, dword [edi + 0x38]
mov ecx, dword [esi + 4]
mov esi, dword [eax + ecx*4]
mov eax, 1
mov edi, dword [esi]
mov word [ebx + 8], ax
mov eax, dword [esi]
cmp byte [eax + 0x49], 1
je 0x47a890
push esi
call fcn.00435fa0
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x4773ee
jmp 0x47a898
mov dword [esp + 0x18], 0
cmp byte [esi + 0x19], 0
jne 0x47aa1a
lea eax, [esp + 0x168]
mov dword [esp + 0x168], 0
push eax
push edi
mov dword [esp + 0x174], 0
call fcn.0044cb80
mov esi, dword [esp + 0x24]
xor eax, eax
mov word [esp + 0x250], ax
mov dword [esp + 0x260], eax
lea eax, [esp + 0x248]
push eax
push 1
push dword [esp + 0x178]
mov dword [esp + 0x274], esi
push 0
push edi
call fcn.0047ef10
mov ecx, eax
add esp, 0x1c
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x4773f2
mov eax, dword [esp + 0x250]
mov cl, byte [eax]
cmp cl, 0x80
jae 0x47a926
movzx edi, cl
mov dword [esp + 0xe0], edi
jmp 0x47a945
lea ecx, [esp + 0xe0]
push ecx
push eax
call fcn.0045d230
mov edi, dword [esp + 0xe8]
add esp, 8
mov eax, dword [esp + 0x250]
cmp edi, 3
jb 0x47d0ae
mov esi, dword [esp + 0x24c]
cmp edi, esi
jg 0x47d0aa
dec eax
add eax, edi
mov cl, byte [eax]
cmp cl, 0x80
jae 0x47a973
movzx edx, cl
mov dword [esp + 0xe4], edx
jmp 0x47a98b
lea ecx, [esp + 0xe4]
push ecx
push eax
call fcn.0045d230
mov edx, dword [esp + 0xec]
add esp, 8
lea eax, [edx - 1]
cmp eax, 8
ja 0x47d0aa
cmp edx, 7
je 0x47d0aa
push edx
call fcn.004809e0
add esp, 4
lea ecx, [eax + edi]
cmp esi, ecx
jb 0x47d0aa
lea ecx, [esp + 0x350]
sub esi, eax
add esi, dword [esp + 0x250]
push ecx
push edx
push esi
call fcn.00480820
add esp, 0xc
test dword [esp + 0x248], 0x2460
jne 0x47a9e6
cmp dword [esp + 0x258], 0
je 0x47a9f6
lea eax, [esp + 0x240]
push eax
call fcn.00488f40
add esp, 4
mov eax, dword [esp + 0x350]
mov dword [ebx], eax
mov eax, dword [esp + 0x354]
mov dword [ebx + 4], eax
mov eax, 4
mov dword [esp + 0x18], 0
mov word [ebx + 8], ax
add dword [esp + 0x10], 0x14
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
fld qword [esp + 0x88]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x50]
jmp 0x476027
mov esi, dword [esp + 0x10]
cmp dl, 0x73
mov eax, dword [esp + 0x14]
fstp st(0)
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x24]
mov eax, dword [edi + 8]
mov dword [esp + 0x314], eax
mov ax, word [esi + 0x10]
mov word [esp + 0x318], ax
sbb al, al
mov byte [esp + 0x31a], al
mov eax, dword [esi + 0xc]
xor esi, esi
mov dword [esp + 0x118], esi
mov dword [esp + 0x11c], esi
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x31c], eax
lea eax, [esp + 0x118]
push eax
push dword [edi]
call fcn.0044cb80
mov edx, dword [esp + 0x120]
add esp, 8
mov eax, dword [esp + 0x11c]
mov ecx, edx
add ecx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x47ab63
jb 0x47aad6
cmp ecx, 0x7ffffffe
ja 0x47ab63
xor eax, eax
mov dword [esp + 0x340], esi
mov word [esp + 0x330], ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x348], eax
lea eax, [esp + 0x328]
push eax
push 1
push edx
push 0
push dword [edi]
call fcn.0047ef10
add esp, 0x14
mov dword [esp + 0x18], eax
test eax, eax
jne 0x47ab86
push eax
lea eax, [esp + 0x318]
push eax
push dword [esp + 0x340]
push dword [esp + 0x340]
call fcn.0047fe30
add esp, 0x10
mov esi, eax
test dword [esp + 0x330], 0x2460
jne 0x47ab49
cmp dword [esp + 0x340], 0
je 0x47ab59
lea eax, [esp + 0x328]
push eax
call fcn.00488f40
add esp, 4
mov dword [esp + 0x18], 0
jmp 0x47ab86
push 0x4f308c
push 0x10d12
push str.database_corruption_at_line__d_of___.10s_
push 0xb
xor esi, esi
call fcn.0041e040
add esp, 0x10
mov dword [esp + 0x18], 0xb
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov cl, byte [eax]
lea eax, [esi + 1]
neg esi
and cl, 1
cmove esi, eax
test esi, esi
jg 0x47c16d
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov edi, dword [esp + 0x10]
fstp st(0)
mov ebx, dword [esp + 0x14]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea edi, [eax + ecx*8]
mov eax, 0x2460
test word [edi + 8], ax
je 0x47abde
push edi
call fcn.00488f80
add esp, 4
mov eax, 1
mov word [edi + 8], ax
mov eax, dword [esi + 0xa4]
inc eax
cmp dword [esi + 0x98], eax
jg 0x47d1c6
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xe8], 0
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 4]
mov ecx, eax
shl ecx, 4
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x40], ecx
mov esi, dword [eax + ecx + 4]
cmp byte [esi + 9], 0
je 0x47ac3b
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x47ac3b
push esi
call fcn.00423a60
add esp, 4
lea eax, [esp + 0xe8]
push eax
push ebx
push esi
call fcn.00423450
add esp, 0xc
mov dword [esp + 0x18], eax
cmp byte [esi + 9], 0
je 0x47ac66
add dword [esi + 0xc], 0xffffffff
jne 0x47ac66
push esi
call fcn.00486180
add esp, 4
cmp dword [esp + 0x18], 0
mov eax, 4
mov esi, dword [esp + 0xe8]
mov word [edi + 8], ax
mov eax, esi
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jne 0x4762aa
test esi, esi
je 0x4762aa
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x40]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 0x10]
mov ecx, dword [ebx + edi + 0xc]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x47acc5
mov edi, edi
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x1c], esi
jne 0x47acbb
mov dword [ecx + 0x1c], edx
mov eax, dword [eax]
test eax, eax
jne 0x47acb0
mov ecx, dword [ebx + edi + 0xc]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x47ace1
lea esp, [esp]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x28], esi
jne 0x47acdb
mov dword [ecx + 0x28], edx
mov eax, dword [eax]
test eax, eax
jne 0x47acd0
mov al, byte [esp + 0x68]
mov esi, dword [esp + 0x1c]
inc al
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x63], al
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
lea eax, [esp + 0xec]
xor ecx, ecx
mov dword [esp + 0xec], 0
fstp st(0)
cmp dword [edx + 0xc], ecx
cmove eax, ecx
mov ecx, dword [edx + 8]
push eax
mov eax, dword [esi + 0x10]
add ecx, ecx
push dword [edx + 4]
push dword [eax + ecx*8 + 4]
call fcn.0044b5e0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
cmp dword [ecx + 0xc], 0
je 0x47612b
mov eax, dword [esp + 0xec]
add dword [ebx + 0x5c], eax
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jle 0x47669e
mov edi, dword [esp + 0x24]
lea ecx, [ecx + ecx*4]
cdq
add dword [edi + ecx*8], eax
mov eax, dword [esp + 0x18]
adc dword [edi + ecx*8 + 4], edx
mov ecx, dword [esp + 0x10]
jmp 0x4760d0
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x38]
test eax, eax
je 0x47adac
push eax
push esi
call fcn.00480cf0
mov ecx, dword [esp + 0x18]
add esp, 8
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov eax, dword [ecx]
push 0
push dword [eax + 0x3c]
push dword [eax]
call fcn.0044b5e0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x18], eax
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x47adf8
push esi
call fcn.00488f80
mov edx, dword [esp + 0x14]
add esp, 4
mov eax, 4
mov dword [esp + 0xf0], 0
mov word [esi + 8], ax
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + 4]
shl ecx, 4
add ecx, dword [eax + 0x10]
xor eax, eax
cmp byte [edx], 0x79
setne al
inc eax
push eax
lea eax, [esp + 0xf4]
push eax
push dword [ecx + 4]
call fcn.0044bdd0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xf0]
cdq
mov dword [esi], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 4], edx
mov esi, dword [esp + 0x1c]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
add eax, 0x2c
mov dword [esp + 0x228], esi
mov dword [esp + 0x22c], eax
mov eax, str.sqlite_master
mov ecx, dword [edx + 4]
cmp ecx, 1
push dword [edx + 0x10]
mov edx, str.sqlite_temp_master
mov dword [esp + 0x234], ecx
cmove eax, edx
add ecx, ecx
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.00461bc0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x47aebb
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], 7
jmp 0x47af12
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x228]
push 0
push ecx
push fcn.0045e1d0
push esi
push eax
mov byte [eax + 0x91], 1
mov dword [esp + 0x248], 0
call fcn.004167a0
test eax, eax
push esi
cmove eax, dword [esp + 0x24c]
mov esi, dword [esp + 0x34]
push esi
mov dword [esp + 0x34], eax
call fcn.00451330
mov ecx, dword [esp + 0x34]
add esp, 0x1c
mov byte [esi + 0x91], 0
test ecx, ecx
je 0x47af1f
push esi
call fcn.0046a7d0
mov ecx, dword [esp + 0x1c]
add esp, 4
mov ebx, dword [esp + 0x14]
cmp ecx, 7
je 0x47d470
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov edx, dword [esp + 0x10]
fstp st(0)
push dword [edx + 4]
push esi
call fcn.00448ef0
mov ecx, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x18], eax
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
push 0
mov eax, dword [edx + 4]
push dword [edx + 0x10]
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
add eax, 8
push eax
call fcn.0045d520
push eax
push esi
call fcn.00452380
mov ecx, dword [esp + 0x24]
add esp, 0x14
or dword [esi + 0x18], 2
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esi + 0x10]
push 0
mov ecx, dword [edx + 4]
push dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
add eax, 0x18
push eax
call fcn.0045d520
mov edx, eax
add esp, 0xc
test edx, edx
je 0x47aff5
mov esi, dword [edx + 0xc]
mov ecx, dword [esi + 8]
cmp ecx, edx
jne 0x47afce
mov eax, dword [edx + 0x14]
mov dword [esi + 8], eax
jmp 0x47afe7
test ecx, ecx
je 0x47afe7
mov eax, dword [ecx + 0x14]
cmp eax, edx
je 0x47afe1
mov ecx, eax
test ecx, ecx
jne 0x47afd2
jmp 0x47afe7
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
mov esi, dword [esp + 0x1c]
push edx
push esi
call fcn.00433260
add esp, 8
or dword [esi + 0x18], 2
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esi + 0x10]
push 0
mov ecx, dword [edx + 4]
push dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
add eax, 0x28
push eax
call fcn.0045d520
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4762aa
mov eax, dword [esi + 0x18]
cmp dword [esi + 0x14], eax
jne 0x47b075
lea ecx, [esp + 0x304]
add eax, 8
push ecx
push dword [esi + 4]
push eax
call fcn.0042fa90
add esp, 0xc
test eax, eax
je 0x47b05b
mov ecx, dword [eax + 8]
jmp 0x47b05d
xor ecx, ecx
mov eax, dword [ecx + 0x3c]
add ecx, 0x3c
cmp eax, esi
je 0x47b070
lea ecx, [eax + 0x20]
mov eax, dword [ecx]
cmp eax, esi
jne 0x47b067
mov eax, dword [eax + 0x20]
mov dword [ecx], eax
push dword [esi + 0x1c]
mov ebx, dword [esp + 0x20]
push ebx
call fcn.004528e0
push dword [esi]
push ebx
call fcn.00451330
push dword [esi + 4]
push ebx
call fcn.00451330
push dword [esi + 0xc]
push ebx
call fcn.00456b60
push dword [esi + 0x10]
push ebx
call fcn.0045da10
push esi
mov esi, ebx
push esi
call fcn.00451330
mov ecx, dword [esp + 0x40]
add esp, 0x30
or dword [esi + 0x18], 2
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
xor ebx, ebx
fstp st(0)
mov edi, dword [edx + 8]
mov dword [esp + 0x28], edi
lea ecx, [edi*4 + 4]
cmp byte [esi + 0xfa], bl
je 0x47b0f8
movzx eax, word [esi + 0xf8]
cdq
cmp ebx, edx
jb 0x47b115
ja 0x47b0f2
cmp ecx, eax
jbe 0x47b115
inc dword [esi + 0x108]
push ebx
push ecx
call fcn.00461c40
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x47b150
mov ebx, dword [esp + 0x14]
mov byte [esi + 0x41], 1
jmp 0x47d470
mov ebx, dword [esi + 0x110]
test ebx, ebx
jne 0x47b127
inc dword [esi + 0x10c]
jmp 0x47b0f8
mov eax, dword [ebx]
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0xfc]
inc eax
mov dword [esi + 0xfc], eax
inc dword [esi + 0x104]
cmp eax, dword [esi + 0x100]
jle 0x47b150
mov dword [esi + 0x100], eax
mov ecx, dword [esp + 0x10]
xor esi, esi
mov edx, dword [esp + 0x24]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov dword [esp + 0x58], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [esp + 0x40], eax
test edi, edi
jle 0x47b199
mov edi, eax
push edi
call fcn.0047e160
mov dword [ebx + esi*4], eax
add esp, 4
inc esi
add edi, 0x28
cmp esi, dword [esp + 0x28]
jl 0x47b177
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x130]
mov dword [ebx + esi*4], 0
movzx ecx, byte [ecx + 3]
push eax
mov eax, dword [esp + 0x5c]
add ecx, ecx
push dword [edx + eax*8]
push edi
mov edi, dword [esp + 0x28]
push ebx
mov eax, dword [edi + 0x10]
push dword [eax + ecx*8 + 4]
call fcn.0044c4f0
push ebx
push edi
mov esi, eax
call fcn.00451330
mov ebx, dword [esp + 0x40]
add esp, 0x1c
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x130]
mov eax, edi
cdq
sub dword [ebx + ecx*8], eax
mov eax, 0x2460
sbb dword [ebx + ecx*8 + 4], edx
mov ebx, dword [esp + 0x40]
test word [ebx + 8], ax
je 0x47b206
push ebx
call fcn.00488f80
add esp, 4
jmp 0x47b20f
mov eax, 1
mov word [ebx + 8], ax
test edi, edi
je 0x47b22e
test esi, esi
je 0x47d25f
push fcn.00418550
push 1
push 0xffffffffffffffff
push esi
push ebx
call fcn.0047f4e0
add esp, 0x14
test byte [ebx + 8], 2
je 0x4762aa
mov al, byte [esp + 0x64]
cmp byte [ebx + 0xa], al
je 0x4762aa
push dword [esp + 0xa4]
push ebx
call fcn.0047f890
mov esi, dword [esp + 0x24]
add esp, 8
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov ebx, dword [esp + 0x24]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 0x20
lea esi, [ebx + eax*8]
mov eax, dword [edx + 8]
lea edi, [eax + eax*4]
jne 0x47b299
push esi
call fcn.0047f3a0
add esp, 4
test byte [esi + 8], 0x20
je 0x47d25f
push dword [ebx + edi*8 + 4]
push dword [ebx + edi*8]
push dword [esi]
call fcn.0046aec0
mov esi, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
movzx eax, word [edi + 8]
mov ecx, eax
test al, 0x20
je 0x47b347
mov esi, dword [edi]
movzx ecx, word [esi + 0x1a]
test cl, 2
jne 0x47b303
mov eax, ecx
test cl, 1
jne 0x47b2fc
push dword [esi + 8]
call fcn.00444130
mov dword [esi + 8], eax
add esp, 4
movzx eax, word [esi + 0x1a]
or eax, 2
mov word [esi + 0x1a], ax
mov eax, dword [esi + 8]
test eax, eax
je 0x47b343
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
test eax, eax
jne 0x47b322
push esi
call fcn.0046ade0
add esp, 4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
push ebx
push edi
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.0047f360
add esp, 0xc
jmp 0x47c997
movzx ecx, word [edi + 8]
test ecx, 0x2460
je 0x47b35d
push edi
call fcn.00488f80
add esp, 4
jmp 0x47c97f
mov eax, 1
mov word [edi + 8], ax
jmp 0x47c97f
mov edx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x10]
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]
jne 0x47b3a5
push esi
call fcn.0047f3a0
add esp, 4
test byte [esi + 8], 0x20
je 0x47d25f
mov ecx, dword [esp + 0x24]
test ebx, ebx
je 0x47b3cb
push dword [ecx + edi*8 + 4]
push dword [ecx + edi*8]
push ebx
push dword [esi]
call fcn.0046af30
add esp, 0x10
test eax, eax
jne 0x47cd5d
test ebx, ebx
js 0x4762aa
mov eax, dword [esp + 0x24]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
push dword [esi]
call fcn.0046aec0
mov esi, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edi, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 0x10]
mov dword [esp + 0x58], esi
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], edi
cmp byte [eax + 3], 0
je 0x47b440
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x14]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x47b440
lea ebx, [ebx]
cmp dword [eax + 0x1c], ecx
je 0x4762aa
mov eax, dword [eax + 4]
test eax, eax
jne 0x47b430
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + 0xb8]
cmp eax, dword [edx + 0x80]
jge 0x47d1df
test byte [edi + 8], 0x40
jne 0x47b605
mov ecx, dword [esi + 0xc]
mov ebx, dword [esi + 8]
add ebx, ecx
lea eax, [ebx + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [esi + 0x10]
mov esi, dword [esp + 0x1c]
lea eax, [eax + ecx*4]
cmp byte [esi + 0xfa], 0
mov dword [esp + 0x40], eax
cdq
mov ecx, eax
mov edi, edx
je 0x47b4b1
movzx eax, word [esi + 0xf8]
cdq
cmp edi, edx
jb 0x47b5be
ja 0x47b4ab
cmp ecx, eax
jbe 0x47b5be
inc dword [esi + 0x108]
push edi
push ecx
call fcn.00461c40
mov esi, eax
add esp, 8
test esi, esi
jne 0x47b4c9
mov eax, dword [esp + 0x1c]
mov byte [eax + 0x41], 1
mov edi, esi
test esi, esi
je 0x47d25f
push dword [esp + 0x40]
push 0
push esi
call fcn.004c2200
mov eax, dword [esp + 0x34]
mov ecx, 0x2460
add esp, 0xc
test word [eax + 8], cx
jne 0x47b4f7
cmp dword [eax + 0x18], 0
je 0x47b504
push eax
call fcn.00488f40
mov eax, dword [esp + 0x2c]
add esp, 4
mov dword [eax], esi
mov ecx, 0x40
mov word [eax + 8], cx
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
sub edx, dword [esp + 0x4c]
mov dword [esi], eax
mov dword [esi + 0x3c], ebx
mov eax, dword [ecx + 0xc]
mov dword [esi + 0x40], eax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
mov dword [esi + 0x2c], eax
mov eax, dword [edx + 8]
mov dword [esi + 0x10], eax
mov eax, dword [edx + 0x1c]
mov dword [esi + 0x34], eax
mov eax, dword [edx + 0x38]
mov dword [esi + 0x18], eax
mov eax, dword [edx + 0x24]
mov dword [esi + 0x28], eax
mov eax, dword [edx + 4]
mov dword [esi + 8], eax
mov eax, dword [edx + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x1c], eax
mov eax, dword [edx + 0xc8]
mov dword [esi + 0x14], eax
mov eax, dword [edx + 0xc4]
mov dword [esi + 0x38], eax
lea eax, [ebx + 2]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
lea eax, [esi + 0x50]
cmp eax, ecx
je 0x47b5b2
mov edx, dword [esp + 0x1c]
mov ebx, 0x80
jmp 0x47b5a0
mov word [eax + 8], bx
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x47b5a0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xb8]
mov esi, dword [esp + 0x58]
jmp 0x47b609
mov edx, esi
mov esi, dword [edx + 0x110]
test esi, esi
jne 0x47b5d5
inc dword [edx + 0x10c]
jmp 0x47b4b1
mov eax, dword [esi]
mov dword [edx + 0x110], eax
mov eax, dword [edx + 0xfc]
inc eax
mov dword [edx + 0xfc], eax
inc dword [edx + 0x104]
cmp eax, dword [edx + 0x100]
jle 0x47b5fe
mov dword [edx + 0x100], eax
mov edi, esi
jmp 0x47b4d3
mov edi, dword [edi]
mov edx, ecx
inc eax
mov ecx, dword [esp + 0x14]
mov dword [edx + 0xb8], eax
lea ebx, [edi + 0x28]
mov eax, dword [edx + 0xb0]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x50]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x24], eax
mov eax, dword [edx + 0x5c]
mov dword [edi + 0x44], eax
mov eax, dword [edx]
mov dword [esp + 0x24], ebx
mov eax, dword [eax + 0x50]
mov dword [edi + 0x48], eax
mov dword [edx + 8], ebx
mov dword [edx + 0x5c], 0
mov dword [edx + 0xb0], edi
mov eax, dword [edi + 0x3c]
mov dword [edx + 0x1c], eax
movzx edx, word [edi + 0x40]
mov dword [ecx + 0x24], edx
lea eax, [eax + eax*4]
lea eax, [eax + 5]
lea ecx, [ebx + eax*8]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x38], ecx
lea ecx, [ecx + edx*4]
mov edi, dword [esi]
mov edx, ebx
mov dword [eax + 4], edi
mov eax, dword [esi + 4]
mov dword [ebx + 0x20], eax
mov dword [edx + 0xc8], ecx
mov eax, dword [esi + 0x10]
push eax
mov dword [edx + 0xc4], eax
lea edx, [edi - 0x14]
push 0
push ecx
mov dword [esp + 0x58], edi
mov dword [esp + 0x1c], edx
call fcn.004c2200
mov esi, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x47b6e2
push esi
call fcn.00488f80
add esp, 4
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x14]
push 0x1000
mov edx, dword [eax + 0xb0]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [esp + 0x14]
add eax, dword [ecx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*8]
push eax
push esi
call fcn.0047f760
mov esi, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
test dword [esi + 0x18], 0x1000000
fstp st(0)
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
je 0x47b75e
mov ecx, dword [esp + 0x10]
cdq
add dword [esi + 0x200], eax
mov eax, dword [esp + 0x18]
adc dword [esi + 0x204], edx
jmp 0x4760cc
cmp dword [edx + 4], 0
mov ebx, dword [esp + 0x14]
cdq
je 0x47b782
add dword [esi + 0x1f8], eax
mov ecx, dword [esp + 0x10]
adc dword [esi + 0x1fc], edx
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov ecx, dword [esp + 0x14]
add dword [ecx + 0x90], eax
mov eax, dword [esp + 0x18]
adc dword [ecx + 0x94], edx
mov ecx, dword [esp + 0x10]
jmp 0x4760d0
cmp dword [ecx + 4], 0
fstp st(0)
je 0x47b7d8
mov eax, dword [esi + 0x1f8]
or eax, dword [esi + 0x1fc]
jne 0x4762b2
mov eax, dword [esi + 0x200]
or eax, dword [esi + 0x204]
mov ebx, dword [esp + 0x14]
je 0x47c16d
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov eax, dword [eax + 0x90]
or eax, dword [ebx + 0x94]
jne 0x47612b
mov eax, dword [esi + 0x200]
or eax, dword [esi + 0x204]
je 0x47c16d
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov eax, dword [esp + 0x14]
fstp st(0)
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x47b83f
mov eax, dword [edx + 4]
test eax, eax
je 0x47b82d
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x47b824
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x47b850
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
push edi
call fcn.0047e160
mov ecx, dword [esp + 0x28]
mov ebx, 0xbe04
mov dword [edi], eax
movzx eax, word [edi + 8]
and ax, bx
mov dword [edi + 4], edx
or ax, 4
mov word [edi + 8], ax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0047e160
mov dword [esi], eax
mov ecx, edx
movzx eax, word [esi + 8]
add esp, 8
and ax, bx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 8], ax
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x4762aa
jl 0x47b8b4
cmp dword [edi], eax
jae 0x4762aa
mov esi, dword [esp + 0x1c]
mov dword [edi], eax
mov eax, dword [esp + 0x18]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x10]
jmp 0x4760cc
mov eax, dword [ecx + 4]
fstp st(0)
mov edi, dword [esp + 0x24]
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 4], 0
jg 0x47cd5d
jl 0x4768db
cmp dword [edi + eax*8], 0
ja 0x47cd5d
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov edi, dword [esp + 0x24]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
cdq
add dword [edi + ecx*8], eax
adc dword [edi + ecx*8 + 4], edx
cmp dword [edi + ecx*8 + 4], 0
jl 0x47cd5d
jg 0x4768d7
cmp dword [edi + ecx*8], 0
jb 0x47cd5d
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov esi, dword [esp + 0x10]
fstp st(0)
mov ebx, dword [esp + 0x24]
mov eax, dword [esi + 4]
lea ecx, [eax + eax*4]
mov esi, dword [ebx + ecx*8]
mov eax, esi
mov edi, dword [ebx + ecx*8 + 4]
or eax, edi
je 0x4762aa
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
cdq
add eax, esi
mov dword [ebx + ecx*8], eax
adc edx, edi
mov dword [ebx + ecx*8 + 4], edx
jmp 0x47cd5d
mov eax, dword [ecx + 4]
fstp st(0)
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
lea ecx, [eax + eax*4]
add dword [edi + ecx*8], 0xffffffff
mov eax, dword [edi + ecx*8]
adc dword [edi + ecx*8 + 4], 0xffffffff
or eax, dword [edi + ecx*8 + 4]
je 0x47c16d
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x24]
mov eax, dword [edx + 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 dword [ebx + esi*8 + 4], eax
jmp 0x4793ca
mov edx, dword [esp + 0x10]
fstp st(0)
mov ebx, dword [esp + 0x24]
mov eax, dword [edx + 8]
movzx esi, byte [edx + 3]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0xc]
xor eax, eax
test esi, esi
je 0x47ba0b
lea ebx, [ebx]
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x47ba00
mov eax, dword [edx + 0x10]
mov ecx, edx
mov dword [esp + 0x1a0], eax
mov eax, dword [edx + 0xc]
sub ecx, dword [esp + 0x4c]
push edi
push esi
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0x1ac], eax
inc dword [eax + 0xc]
mov eax, 1
mov word [esp + 0x2a8], ax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c0], eax
lea eax, [esp + 0x2a0]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1b0], eax
mov eax, 0x66666667
imul ecx
mov dword [esp + 0x2b8], 0
sar edx, 3
mov eax, edx
mov dword [esp + 0x1b8], 0
shr eax, 0x1f
add eax, edx
mov byte [esp + 0x1bc], 0
mov dword [esp + 0x1b4], eax
lea eax, [esp + 0x1a4]
push eax
mov eax, dword [esp + 0x1ac]
mov eax, dword [eax + 0x10]
call eax
add esp, 0xc
cmp dword [esp + 0x1b0], 0
je 0x47bb26
mov eax, dword [esp + 0x2a0]
and eax, 0x202
cmp eax, 0x202
jne 0x47bade
cmp byte [esp + 0x2a2], 1
jne 0x47bade
mov eax, dword [esp + 0x2a8]
jmp 0x47bafe
test byte [esp + 0x2a0], 1
je 0x47baec
xor eax, eax
jmp 0x47bafe
lea eax, [esp + 0x298]
push 1
push eax
call fcn.00487c70
add esp, 8
mov esi, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
push 0x4ef960
add eax, 0x2c
push esi
push eax
call fcn.0046ec30
mov eax, dword [esp + 0x1c0]
add esp, 0x10
mov dword [esp + 0x18], eax
jmp 0x47bb2a
mov esi, dword [esp + 0x1c]
cmp byte [esp + 0x1b4], 0
je 0x47bb76
mov eax, dword [esp + 0x10]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x47bb76
lea eax, [eax + eax*4]
mov ecx, 0x2460
test word [ebx + eax*8 + 8], cx
lea eax, [ebx + eax*8]
je 0x47bb60
push 0
push 1
push eax
call fcn.0048a0c0
add esp, 0xc
jmp 0x47bb76
mov ecx, 4
mov dword [eax], 1
mov dword [eax + 4], 0
mov word [eax + 8], cx
test dword [esp + 0x2a0], 0x2460
jne 0x47bb91
cmp dword [esp + 0x2b0], 0
je 0x4762ae
lea eax, [esp + 0x298]
push eax
call fcn.00488f40
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 4]
push dword [edx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0047ee60
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x47bc28
test esi, esi
jne 0x47bbdd
xor eax, eax
jmp 0x47bc0e
movzx ecx, word [esi + 8]
mov eax, ecx
and eax, 0x202
cmp eax, 0x202
jne 0x47bbfa
cmp byte [esi + 0xa], 1
jne 0x47bbfa
mov eax, dword [esi + 0x10]
jmp 0x47bc0e
test cl, 1
je 0x47bc03
xor eax, eax
jmp 0x47bc0e
push 1
push esi
call fcn.00487c70
add esp, 8
push eax
mov eax, dword [esp + 0x18]
push 0x4ef960
push dword [esp + 0x24]
add eax, 0x2c
push eax
call fcn.0046ec30
add esp, 0x10
movzx ecx, word [esi + 8]
mov eax, ecx
test cl, 2
je 0x47bc50
mov cl, byte [esp + 0x64]
cmp byte [esi + 0xa], cl
je 0x47bc50
push dword [esp + 0xa4]
push esi
call fcn.0047f890
movzx eax, word [esi + 8]
add esp, 8
test al, 0x12
je 0x4762aa
mov ecx, dword [esi + 0xc]
test eax, 0x4000
je 0x47bc64
add ecx, dword [esi]
mov eax, dword [esi + 0x20]
mov esi, dword [esp + 0x1c]
cmp ecx, dword [eax + 0x58]
jg 0x47a156
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x384]
push eax
lea eax, [esp + 0x384]
mov dword [esp + 0x380], 0
push eax
push dword [edi + 8]
fstp st(0)
mov dword [esp + 0x390], 0xffffffff
push dword [edi + 4]
mov dword [esp + 0x390], 0xffffffff
push esi
call fcn.0044e4d0
mov ecx, eax
add esp, 0x14
mov dword [esp + 0x18], ecx
cmp ecx, 5
jne 0x47bce5
mov dword [esp + 0x18], 0
mov dword [esp + 0x37c], 1
mov eax, dword [edi + 0xc]
xor esi, esi
mov ecx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [esp + esi*4 + 0x37c]
cdq
push edx
push eax
push edi
call fcn.0047f360
inc esi
add esp, 0xc
add edi, 0x28
cmp esi, 3
jl 0x47bcf4
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov ebx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
mov dword [esp + 0x68], esi
test word [esi + 8], ax
je 0x47bd4f
push esi
call fcn.00488f80
add esp, 4
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
add ecx, ecx
cmp edx, 0xffffffff
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x40], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
movzx ebx, byte [esi + 5]
mov ecx, ebx
cmovne ecx, edx
cmp byte [esi + 0x10], 3
jb 0x47bd8a
xor eax, eax
jmp 0x47bda9
mov eax, dword [esi + 0x40]
cmp dword [eax], 0
je 0x47bda4
cmp dword [esi + 0x4c], 0
jl 0x47bda4
jg 0x47bda0
cmp dword [esi + 0x48], 0
jbe 0x47bda4
xor eax, eax
jmp 0x47bda9
mov eax, 1
test eax, eax
mov edi, ebx
cmovne edi, ecx
cmp byte [esi + 0xf], 0
mov ecx, 0x4e93f4
jne 0x47bdc1
mov ecx, dword [esi + 0xa8]
cmp edi, 5
jne 0x47bdfd
mov eax, ecx
test ecx, ecx
je 0x47bdf6
cmp byte [ecx], 0
je 0x47bdd7
inc eax
cmp byte [eax], 0
jne 0x47bdd1
sub eax, ecx
and eax, 0x3fffffff
je 0x47bdf6
cmp byte [esi + 4], 0
jne 0x47bdfd
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
cmp dword [eax], 2
jl 0x47bdf6
cmp dword [eax + 0x34], 0
jne 0x47bdfd
mov eax, ebx
jmp 0x47bf7f
mov eax, edi
cmp edi, ebx
je 0x47bf7f
cmp ebx, 5
je 0x47be15
cmp edi, 5
jne 0x47bf7f
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x3f], 0
je 0x47d20c
cmp dword [eax + 0x98], 1
jg 0x47d20c
cmp ebx, 5
jne 0x47bf49
cmp dword [esi + 0xd0], 0
mov dword [esp + 0x18], 0
jne 0x47beef
mov al, byte [esi + 0x11]
mov dword [esp + 0xb0], 0
mov dword [esp + 0x18], 0
cmp al, 1
jb 0x47be6c
cmp al, bl
jne 0x47be9e
cmp byte [esi + 0xd], 0
je 0x47be7c
mov dword [esp + 0x18], 0
jmp 0x47be94
mov eax, dword [esi + 0x3c]
push 1
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x1c]
call eax
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x47be9e
cmp byte [esi + 0x11], 5
je 0x47be9e
mov byte [esi + 0x11], 1
cmp dword [esp + 0x18], 0
jne 0x47bf33
mov eax, dword [esi]
lea ecx, [esp + 0xb0]
push ecx
push 0
push dword [esi + 0xd4]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x47bf33
cmp dword [esp + 0xb0], eax
je 0x47bee6
push esi
call fcn.0043cda0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x47bf33
cmp dword [esi + 0xd0], 0
je 0x47bf33
push esi
call fcn.0043cc80
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x47bf33
push dword [esi + 0xc8]
movzx eax, byte [esi + 9]
push dword [esi + 0x98]
push eax
push dword [esi + 0xd0]
call fcn.004822b0
push esi
mov dword [esp + 0x2c], eax
mov dword [esi + 0xd0], 0
call fcn.0043ccf0
add esp, 0x14
mov ecx, dword [esp + 0x18]
mov eax, edi
test ecx, ecx
jne 0x47bf85
push edi
push esi
call fcn.00464310
add esp, 8
jmp 0x47bf63
cmp ebx, 4
jne 0x47bf59
push 2
push esi
call fcn.00464310
add esp, 8
mov ecx, dword [esp + 0x18]
mov eax, edi
test ecx, ecx
jne 0x47bf85
xor eax, eax
cmp edi, 5
sete al
inc eax
push eax
push dword [esp + 0x44]
call fcn.0044e060
mov dword [esp + 0x20], eax
add esp, 8
mov eax, edi
mov ecx, dword [esp + 0x18]
test ecx, ecx
cmove ebx, eax
push ebx
push esi
call fcn.00464310
mov ebx, dword [esp + 0x70]
add esp, 8
mov ecx, 0xa02
mov word [ebx + 8], cx
cmp eax, 6
jne 0x47bfc0
cmp byte [esp + 0x64], 1
mov dword [ebx + 0x10], 0
mov dword [ebx + 0xc], 0
mov byte [ebx + 0xa], 1
jmp 0x47b23f
mov eax, dword [eax*4 + 0x4ebbac]
mov dword [ebx + 0x10], eax
test eax, eax
jne 0x47bfdf
cmp byte [esp + 0x64], 1
mov dword [ebx + 0xc], eax
mov byte [ebx + 0xa], 1
jmp 0x47b23f
cmp byte [eax], 0
mov edx, eax
je 0x47bff0
inc eax
cmp byte [eax], 0
jne 0x47bfe6
movzx ecx, word [ebx + 8]
sub eax, edx
mov byte [ebx + 0xa], 1
and eax, 0x3fffffff
mov dword [ebx + 0xc], eax
test cl, 2
je 0x4762aa
cmp byte [esp + 0x64], 1
jmp 0x47b23f
mov eax, dword [esp + 0x14]
fstp st(0)
add eax, 0x2c
push esi
push eax
call fcn.0046b7b0
mov ecx, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x18], eax
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esi + 0x10]
mov ecx, dword [edx + 4]
add ecx, ecx
mov edi, dword [eax + ecx*8 + 4]
cmp byte [edi + 9], 0
mov ebx, dword [edi + 4]
je 0x47c05e
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x47c05e
push edi
call fcn.00423a60
add esp, 4
cmp byte [ebx + 0x11], 0
jne 0x47c071
mov dword [esp + 0x18], 0x65
jmp 0x47c141
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x2c]
mov dword [esp + 0x28], edx
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx + 0x24]
movzx esi, byte [ecx + 0x25]
shl eax, 8
or esi, eax
movzx eax, byte [ecx + 0x26]
shl esi, 8
or esi, eax
movzx eax, byte [ecx + 0x27]
shl esi, 8
or esi, eax
push esi
push edx
push ebx
call fcn.0042f7c0
add esp, 0xc
mov dword [esp + 0x40], eax
cmp dword [esp + 0x28], eax
jae 0x47c0d5
push 0x4f308c
push 0xdc6b
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0041e040
add esp, 0x10
mov dword [esp + 0x18], 0xb
jmp 0x47c13d
test esi, esi
je 0x47c135
push 0
push 0
push ebx
call fcn.00444430
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x47c13d
push ebx
call fcn.00436570
push 0
push dword [esp + 0x30]
push dword [esp + 0x4c]
push ebx
call fcn.004360c0
add esp, 0x14
mov dword [esp + 0x18], eax
test eax, eax
jne 0x47c13d
mov eax, dword [ebx + 0xc]
push dword [eax + 0x44]
call fcn.00464b60
push dword [ebx + 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x38]
add eax, 0x1c
push eax
call fcn.00469bc0
add esp, 0xc
jmp 0x47c13d
mov dword [esp + 0x18], 0x65
mov esi, dword [esp + 0x1c]
cmp byte [edi + 9], 0
je 0x47c156
add dword [edi + 0xc], 0xffffffff
jne 0x47c156
push edi
call fcn.00486180
add esp, 4
cmp dword [esp + 0x18], 0x65
mov ebx, dword [esp + 0x14]
jne 0x47669e
mov dword [esp + 0x18], 0
mov esi, dword [esp + 0x10]
jmp 0x47cd65
cmp dword [ecx + 4], 0
fstp st(0)
jne 0x47c1a4
mov eax, dword [esi + 4]
test eax, eax
je 0x4762b2
lea esp, [esp]
or dword [eax + 0x58], 8
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x47c190
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov ebx, dword [esp + 0x14]
or dword [ebx + 0x58], 8
jmp 0x4760d0
mov ebx, dword [esp + 0x10]
fstp st(0)
mov bl, byte [ebx + 0xc]
test bl, bl
jne 0x47c1cb
test dword [esi + 0x18], 0x4000
jne 0x47cda6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov edi, dword [eax + 8]
add ecx, ecx
mov eax, dword [esi + 0x10]
mov esi, dword [eax + ecx*8 + 4]
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp byte [esi + 9], cl
je 0x47c2a0
inc dword [esi + 0xc]
inc bl
mov byte [esp + 0x134], bl
cmp byte [esi + 0xa], cl
jne 0x47c207
push esi
call fcn.00423a60
add esp, 4
push dword [esp + 0x134]
push edi
push esi
call fcn.004415f0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x47c287
mov eax, dword [esi + 4]
mov dword [esp + 0x40], eax
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x47c240
cmp dword [ecx + 4], edi
jne 0x47c239
cmp dword [ecx], esi
je 0x47c272
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x47c230
push 0
push 0x10
call fcn.00461c40
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x47c27e
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov edx, dword [esp + 0x40]
mov dword [ecx + 4], edi
mov dword [ecx], esi
mov eax, dword [edx + 0x48]
mov dword [ecx + 0xc], eax
mov dword [edx + 0x48], ecx
cmp bl, byte [ecx + 8]
jbe 0x47c27a
mov byte [ecx + 8], bl
xor ecx, ecx
jmp 0x47c283
mov ecx, 7
mov dword [esp + 0x18], ecx
cmp byte [esi + 9], 0
je 0x47c2a0
add dword [esi + 0xc], 0xffffffff
jne 0x47c2a0
push esi
call fcn.00486180
mov ecx, dword [esp + 0x1c]
add esp, 4
mov esi, dword [esp + 0x1c]
cmp cl, 6
jne 0x4762ae
mov eax, dword [esp + 0x10]
push dword [eax + 0x10]
mov eax, dword [esp + 0x18]
push str.database_table_is_locked:__s
add eax, 0x2c
push esi
push eax
call fcn.0046ec30
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x18], 0
mov esi, dword [edx + 0x10]
mov edx, dword [ebx + 0x130]
test edx, edx
jle 0x47c31f
cmp dword [ebx + 0x148], 0
jne 0x47c31f
mov dword [esp + 0x18], 6
fstp st(0)
test esi, esi
jne 0x47c3ac
mov ecx, dword [esp + 0x10]
mov esi, ebx
mov eax, 6
jmp 0x4760cc
test esi, esi
jne 0x47c341
add dword [esp + 0x10], 0x14
xor eax, eax
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x18], esi
mov esi, ebx
mov ebx, dword [esp + 0x14]
jmp 0x476027
mov eax, dword [esi + 8]
fstp st(0)
mov edi, dword [eax]
cmp dword [edi + 0x38], 0
je 0x47c3ac
xor ecx, ecx
test edx, edx
jle 0x47c36c
mov eax, dword [ebx + 0x148]
lea ebx, [ebx]
cmp dword [eax], esi
je 0x47c3ca
inc ecx
add eax, 4
cmp ecx, edx
jl 0x47c360
push ebx
call fcn.00435ed0
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x47c3ac
push dword [esi + 8]
mov eax, dword [edi + 0x38]
call eax
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x47c3ac
mov ecx, dword [ebx + 0x130]
mov eax, dword [ebx + 0x148]
mov dword [eax + ecx*4], esi
inc dword [ebx + 0x130]
inc dword [esi + 0xc]
push dword [esi + 8]
push dword [esp + 0x18]
call fcn.00481940
mov ecx, dword [esp + 0x18]
add esp, 8
mov eax, dword [esp + 0x18]
mov esi, ebx
jmp 0x4760cc
mov dword [esp + 0x18], 0
jmp 0x47c3ac
mov edx, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x24]
fstp st(0)
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], eax
mov dword [esp + 0x194], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x190], esi
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
lea eax, [esp + 0x174]
push eax
call fcn.0047ed80
mov ecx, dword [esp + 0x180]
add esp, 8
mov dword [esp + 0x18], eax
mov eax, ecx
and eax, 0x202
cmp eax, 0x202
jne 0x47c46c
cmp byte [esp + 0x17a], 1
jne 0x47c46c
mov edx, dword [esp + 0x180]
jmp 0x47c490
test cl, 1
jne 0x47c579
lea eax, [esp + 0x170]
push 1
push eax
call fcn.00487c70
mov ecx, dword [esp + 0x180]
add esp, 8
mov edx, eax
test edx, edx
je 0x47c579
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
add esi, 0x2c
mov ecx, dword [eax + 4]
mov eax, dword [ebx + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
push edx
push ebx
call fcn.00458810
mov ebx, eax
lea eax, [esp + 0x30c]
push eax
mov ecx, dword [ebx + 0x34]
mov edi, dword [ecx]
mov ecx, dword [esp + 0x2c]
add ecx, 0x134
push edi
push ecx
call fcn.0042fa90
add esp, 0x18
test eax, eax
je 0x47c552
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x47c552
mov eax, dword [ecx]
push esi
mov esi, dword [esp + 0x20]
push dword [eax + 4]
push ecx
push ebx
push esi
call fcn.0048b800
add esp, 0x14
mov dword [esp + 0x18], eax
test eax, eax
jne 0x47c572
mov eax, dword [ebx + 0x38]
test eax, eax
je 0x47c572
jmp 0x47c510
cmp dword [eax], esi
je 0x47c51d
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x47c510
jmp 0x47c572
push esi
call fcn.00435ed0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x47c572
push ebx
push esi
call fcn.0045d080
mov edx, dword [esi + 0x130]
add esp, 8
mov ecx, dword [esi + 0x148]
mov dword [ecx + edx*4], eax
inc dword [esi + 0x130]
inc dword [eax + 0xc]
jmp 0x47c572
push edi
push str.no_such_module:__s
push dword [esp + 0x24]
call fcn.00461bc0
mov dword [esi], eax
add esp, 0xc
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], 1
mov ecx, dword [esp + 0x178]
test ecx, 0x2460
jne 0x47c58f
cmp dword [esp + 0x188], 0
je 0x4762ae
lea eax, [esp + 0x170]
push eax
call fcn.00488f40
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
inc dword [esi + 0xa4]
mov eax, dword [esi + 0x10]
mov dword [esp + 0x18], 0
mov ecx, dword [edx + 4]
add ecx, ecx
push dword [eax + ecx*8]
push dword [edx + 0x10]
push esi
call fcn.00458810
mov edi, eax
add esp, 0xc
test edi, edi
je 0x47c645
mov ecx, dword [edi + 0x38]
test ecx, ecx
je 0x47c645
mov eax, dword [ecx + 8]
cmp dword [eax + 4], 0
jg 0x47c658
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x47c5e4
push edi
push esi
call fcn.0048bda0
mov esi, eax
mov ecx, dword [esi + 4]
push dword [esi + 8]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x14]
call ecx
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x47c641
mov dword [esi + 8], eax
mov dword [edi + 0x38], eax
add dword [esi + 0xc], 0xffffffff
mov edi, dword [esi]
jne 0x47c641
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x47c637
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 0x10]
call eax
add esp, 4
push esi
push edi
call fcn.00451330
add esp, 8
mov esi, dword [esp + 0x1c]
dec dword [esi + 0xa4]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
dec dword [esi + 0xa4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], 6
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov dword [esp + 0xac], 0
mov eax, dword [edx + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x47d26c
mov edi, dword [esi]
test edi, edi
je 0x47d26c
lea eax, [esp + 0xac]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
push esi
push dword [esp + 0x20]
mov dword [esp + 0x28], eax
call fcn.00481940
add esp, 0x10
cmp dword [esp + 0x18], 0
jne 0x4762aa
mov eax, dword [esp + 0xac]
push 0
push 0xffffffffffffffff
push 0
mov dword [eax], esi
mov eax, dword [esp + 0x1c]
push dword [eax + 4]
push dword [esp + 0x24]
call fcn.0041f9c0
add esp, 0x14
test eax, eax
je 0x47d250
mov ecx, dword [esp + 0xac]
mov dword [eax + 0x24], ecx
inc dword [esi + 4]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov esi, dword [esp + 0x14]
mov dword [esp + 0x28], 0
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 4]
lea edi, [eax + eax*4]
mov eax, dword [esi + 0x38]
mov esi, dword [esi + 0xc]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x58], eax
mov ebx, dword [eax + 0x24]
mov edx, dword [ecx + edi*8 + 0x28]
mov eax, dword [ebx]
mov dword [esp + 0x7c], eax
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + edi*8]
mov dword [esp + 0x40], eax
xor eax, eax
test edx, edx
jle 0x47c76b
lea ecx, [ecx + edi*8]
add ecx, 0x50
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x47c760
mov eax, dword [esp + 0x10]
push esi
mov esi, dword [esp + 0x6c]
push edx
push dword [eax + 0x10]
push dword [esp + 0x4c]
mov eax, dword [esi + 0x20]
push ebx
call eax
push dword [esp + 0x90]
mov dword [esp + 0x30], eax
push dword [esp + 0x2c]
call fcn.00481940
add esp, 0x1c
cmp dword [esp + 0x18], 0
jne 0x47c7ab
mov eax, dword [esi + 0x28]
push ebx
call eax
add esp, 4
jmp 0x47c7af
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x14]
mov byte [ecx + 0x19], 0
test eax, eax
jne 0x47c16d
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760d0
mov edi, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x24]
cmp byte [edx + 0x19], 0
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
je 0x47c831
mov eax, 0x2460
test word [edi + 8], ax
je 0x47c81b
push edi
call fcn.00488f80
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov ecx, dword [esp + 0x10]
mov eax, 1
mov word [edi + 8], ax
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov eax, dword [edx + 0x24]
mov ebx, 0xbe01
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [esp + 0x26c], 0
mov dword [esp + 0x270], 0
mov dword [esp + 0x274], 0
mov dword [esp + 0x278], 0
mov dword [esp + 0x27c], 0
mov dword [esp + 0x280], 0
mov dword [esp + 0x268], edi
mov ax, word [edi + 8]
and ax, bx
or ax, 1
mov word [edi + 8], ax
mov eax, dword [esp + 0x10]
push dword [eax + 8]
lea eax, [esp + 0x26c]
push eax
push dword [edx + 0x24]
mov eax, dword [ecx + 0x2c]
call eax
push esi
push dword [esp + 0x24]
mov dword [esp + 0x2c], eax
call fcn.00481940
mov eax, dword [esp + 0x290]
add esp, 0x14
mov ecx, dword [esp + 0x18]
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x18], ecx
movzx ecx, word [edi + 8]
mov eax, ecx
test cl, 2
je 0x47c8f9
mov cl, byte [esp + 0x64]
cmp byte [edi + 0xa], cl
je 0x47c8f9
push dword [esp + 0xa4]
push edi
call fcn.0047f890
movzx eax, word [edi + 8]
add esp, 8
test al, 0x12
je 0x4762aa
mov ecx, dword [edi + 0xc]
test eax, 0x4000
je 0x47c90d
add ecx, dword [edi]
mov eax, dword [edi + 0x20]
mov esi, dword [esp + 0x1c]
cmp ecx, dword [eax + 0x58]
jg 0x47a156
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edi, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x4762ae
mov eax, dword [edi + 0x24]
push eax
mov esi, dword [eax]
mov ebx, dword [esi]
mov eax, dword [ebx + 0x24]
call eax
push esi
push dword [esp + 0x1c]
mov dword [esp + 0x24], eax
call fcn.00481940
add esp, 0xc
cmp dword [esp + 0x18], 0
jne 0x47c97f
push dword [edi + 0x24]
mov eax, dword [ebx + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x47c997
jmp 0x47c97f
fstp st(0)
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
add ecx, 0xffffffec
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0xf0], 0
jne 0x47d42b
mov ecx, dword [esi + 0x124]
test ecx, ecx
je 0x4762ae
mov edi, dword [esp + 0xa0]
cmp edi, dword [esp + 0xa8]
jb 0x4762ae
mov ebx, dword [esi + 0x12c]
xor edx, edx
mov eax, edi
div ebx
push dword [esi + 0x128]
sub ebx, edx
add ebx, edi
mov dword [esp + 0xac], ebx
call ecx
add esp, 4
test eax, eax
jne 0x47d2fc
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [esp + 0x24]
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 0x47ca40
cmp byte [esi + 0xa], 1
je 0x47ca40
push 1
push esi
call fcn.0047f890
mov ecx, eax
add esp, 8
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x4762aa
mov eax, dword [edi]
push dword [esi + 0x10]
push edi
mov eax, dword [eax + 0x4c]
call eax
mov esi, dword [esp + 0x1c]
push edi
push esi
mov dword [esp + 0x28], eax
call fcn.00481940
mov ecx, dword [esp + 0x20]
add esp, 0x10
and dword [esi + 0x58], 0xfffffff7
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov edi, dword [esp + 0x10]
fstp st(0)
mov eax, dword [edi + 0x10]
mov edi, dword [eax + 8]
test edi, edi
je 0x47d2bc
mov ebx, dword [edi]
test ebx, ebx
je 0x47d2bc
cmp dword [ebx + 0x34], 0
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 8]
je 0x4762ae
mov al, byte [esi + 0x45]
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x37], al
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test edx, edx
jle 0x47cad1
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x47cac6
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov al, byte [eax + 3]
mov byte [ecx + 0x45], al
lea eax, [esp + 0x220]
push eax
mov eax, dword [ebx + 0x34]
push esi
push edx
push edi
call eax
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov al, byte [esp + 0x47]
push edi
push dword [esp + 0x28]
mov byte [esi + 0x45], al
call fcn.00481940
mov ecx, dword [esp + 0x30]
add esp, 0x18
test ecx, ecx
jne 0x47cb51
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 4], 0
je 0x47cbc2
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x220]
mov edx, dword [esp + 0x224]
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], edx
inc dword [eax + 0x5c]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x20], edx
jmp 0x4760d4
mov edx, dword [esp + 0x40]
cmp cl, 0x13
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], edx
mov dword [esp + 0x20], esi
jne 0x47cbbe
mov eax, ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x20], esi
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x47cbbe
mov cl, byte [ecx + 3]
cmp cl, 4
jne 0x47d291
mov ecx, dword [esp + 0x10]
mov edi, edx
fld qword [esp + 0x88]
add ecx, 0x14
mov ebx, dword [esp + 0x14]
mov edx, esi
mov esi, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x50], edi
mov dword [esp + 0x20], edx
jmp 0x47602b
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
inc dword [eax + 0x5c]
mov eax, dword [esp + 0x18]
jmp 0x4760d4
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x47cc04
push esi
call fcn.00488f80
add esp, 4
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x1c]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [esi], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 4], 0
mov esi, dword [esp + 0x1c]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea ebx, [eax + ecx*8]
mov eax, 0x2460
test word [ebx + 8], ax
je 0x47cc6f
push ebx
call fcn.00488f80
mov edx, dword [esp + 0x14]
add esp, 4
mov eax, 4
xor edi, edi
mov word [ebx + 8], ax
mov ecx, dword [edx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x47cc98
mov eax, dword [esi + 4]
mov edi, dword [eax + 0x2c]
cmp edi, ecx
cmovb edi, ecx
cmp byte [esi + 9], 0
je 0x47ccb0
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x47ccb0
push esi
call fcn.00423a60
add esp, 4
mov eax, dword [esi + 4]
mov eax, dword [eax]
test edi, edi
jle 0x47ccc1
mov dword [eax + 0x9c], edi
jmp 0x47ccc7
mov edi, dword [eax + 0x9c]
cmp byte [esi + 9], 0
je 0x47ccdc
add dword [esi + 0xc], 0xffffffff
jne 0x47ccdc
push esi
call fcn.00486180
add esp, 4
mov esi, dword [esp + 0x1c]
mov eax, edi
mov ecx, dword [esp + 0x10]
cdq
mov dword [ebx], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 4], edx
jmp 0x4760cc
cmp dword [esi + 0xb0], 0
fstp st(0)
je 0x47cd53
mov eax, dword [esp + 0x14]
test dword [eax + 0x58], 0x200
jne 0x47cd53
mov eax, dword [ecx + 0x10]
test eax, eax
jne 0x47cd22
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xa8]
test eax, eax
je 0x47cd53
push eax
push dword [esp + 0x18]
call fcn.0047d740
mov esi, eax
mov eax, dword [esp + 0x24]
push esi
push dword [eax + 0xb4]
mov ecx, dword [eax + 0xb0]
call ecx
push esi
mov esi, dword [esp + 0x30]
push esi
call fcn.00451330
mov ecx, dword [esp + 0x28]
add esp, 0x18
cmp dword [ecx + 8], 0
je 0x4762b2
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x4c]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea esi, [ecx + eax*4]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
jmp 0x4760d0
mov ecx, dword [esp + 0x10]
mov esi, eax
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
jmp 0x4760cc
mov ecx, dword [esp + 0x10]
jmp 0x4760cc
mov edx, dword [esp + 0x10]
mov dword [edi + 0x50], ecx
mov al, byte [edx + 8]
mov byte [edi + 0x56], al
mov dword [edi + 0x4c], esi
test ecx, ecx
je 0x47ce3d
mov al, byte [edx + 3]
test al, al
je 0x47cdf8
movzx eax, al
mov eax, dword [eax*4 + 0x4ee0e4]
test eax, eax
je 0x47cdfa
mov ecx, dword [edx + 0x10]
test ecx, ecx
je 0x47cdfa
push ecx
push eax
push str._s_constraint_failed:__s
push dword [esp + 0x28]
lea eax, [edi + 0x2c]
push eax
call fcn.0046ec30
add esp, 0x14
jmp 0x47ce1f
xor eax, eax
mov edx, dword [edx + 0x10]
lea ecx, [edi + 0x2c]
test edx, edx
je 0x47ce0c
push edx
push 0x4ef960
jmp 0x47ce12
push eax
push str._s_constraint_failed
push dword [esp + 0x24]
push ecx
call fcn.0046ec30
add esp, 0x10
push dword [edi + 0x2c]
mov eax, dword [esp + 0x14]
push dword [edi + 0xa8]
push esi
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.0041e040
add esp, 0x14
push edi
call fcn.0047de80
mov esi, dword [esp + 0x20]
add esp, 4
cmp eax, 5
mov eax, dword [esp + 0x14]
jne 0x47ce60
mov edi, 5
mov dword [eax + 0x50], edi
jmp 0x47cf61
cmp dword [eax + 0x50], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x47cf61
push 0x4f308c
push 0x11e15
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0041e040
mov esi, dword [esp + 0x2c]
mov ecx, 0xb
add esp, 0x10
mov dword [esp + 0x18], ecx
add dword [esp + 0x10], 0x14
jmp 0x47d12c
push 0x4f308c
push 0x11e69
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0041e040
mov esi, dword [esp + 0x2c]
mov ecx, 0xb
add esp, 0x10
mov dword [esp + 0x18], ecx
add dword [esp + 0x10], 0x14
jmp 0x47d12c
push str.cannot_open_savepoint___SQL_statements_in_progress
mov eax, dword [esp + 0x18]
add eax, 0x2c
push esi
push eax
call fcn.0046ec30
mov ebx, dword [esp + 0x1c]
mov ecx, 5
add esp, 0xc
mov dword [esp + 0x18], ecx
add ebx, 0x14
jmp 0x47d130
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x47cedb
mov ecx, dword [esp + 0x10]
mov eax, 0x66666667
sub ecx, dword [esp + 0x4c]
mov edi, 5
mov esi, dword [esp + 0x1c]
imul ecx
mov ecx, dword [esp + 0x14]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x4c], eax
mov byte [esi + 0x3f], 0
mov dword [ecx + 0x50], edi
jmp 0x47cf61
mov eax, dword [esp + 0x14]
push str.FOREIGN_KEY_constraint_failed
push ecx
mov dword [eax + 0x50], 0x313
mov byte [eax + 0x56], 2
add eax, 0x2c
push eax
call fcn.0046ec30
add esp, 0xc
mov edi, esi
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 0x24], eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0xa0]
push esi
add dword [esi + 0x7c], eax
call fcn.0047e2d0
mov ecx, dword [esp + 0x450]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004bf929
mov esp, ebp
pop ebp
ret
test ecx, ecx
je 0x47cfd3
push 0x204
push esi
call fcn.0046aca0
add esp, 8
mov byte [esi + 0x3f], 1
push esi
call fcn.0044e850
mov eax, dword [esp + 0x18]
add esp, 4
mov edi, 0x65
cmp dword [eax + 0x50], 0
mov eax, 1
cmovne edi, eax
jmp 0x47cf61
push 1
push dword [esp + 0x18]
call fcn.004757f0
mov edi, eax
add esp, 8
test edi, edi
jne 0x47cf61
push dword [esp + 0x14]
mov byte [esi + 0x3f], bl
call fcn.0047de80
add esp, 4
cmp eax, 5
jne 0x47cfb3
mov ecx, dword [esp + 0x10]
mov eax, 0x66666667
sub ecx, dword [esp + 0x4c]
mov edi, 5
imul ecx
mov ecx, dword [esp + 0x14]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x4c], eax
mov al, 1
sub al, bl
mov byte [esi + 0x3f], al
mov dword [ecx + 0x50], edi
jmp 0x47cf61
mov ecx, 8
mov dword [esp + 0x18], ecx
jmp 0x4773f2
mov ecx, dword [esp + 0x10]
mov eax, 0x66666667
sub ecx, dword [esp + 0x4c]
mov edi, 5
imul ecx
mov ecx, dword [esp + 0x14]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x50], edi
mov dword [ecx + 0x4c], eax
jmp 0x47cf5d
push 0x121c2
call fcn.0044fd70
add esp, 4
mov ecx, eax
jmp 0x4773ea
mov ecx, 0x204
add ebx, 0x14
mov dword [esp + 0x18], ecx
jmp 0x47d130
add dword [esp + 0x10], 0x14
mov ecx, 7
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
jmp 0x47d12c
mov esi, dword [esp + 0x1c]
test dword [esp + 0x248], 0x2460
jne 0x47d0c5
cmp dword [esp + 0x258], 0
je 0x47d0d5
lea eax, [esp + 0x240]
push eax
call fcn.00488f40
add esp, 4
push 0x4f308c
push 0x10cf2
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0041e040
mov ecx, 0xb
add esp, 0x10
mov dword [esp + 0x18], ecx
jmp 0x4773f2
mov esi, ebx
jmp 0x4773f2
cmp ecx, 0xc0a
je 0x47d12c
push ecx
call fcn.00418f70
push eax
mov eax, dword [esp + 0x1c]
push 0x4ef960
add eax, 0x2c
push esi
push eax
call fcn.0046ec30
add esp, 0x14
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, 0x66666667
sub ebx, dword [esp + 0x4c]
push dword [edx + 0x2c]
mov dword [edx + 0x50], ecx
push dword [edx + 0xa8]
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push ecx
call fcn.0041e040
push dword [esp + 0x28]
call fcn.0047de80
add esp, 0x18
cmp dword [esp + 0x18], 0xc0a
jne 0x47d17b
mov byte [esi + 0x41], 1
mov al, byte [esp + 0x63]
mov edi, 1
test al, al
je 0x47cf61
movzx esi, al
mov eax, dword [esp + 0x1c]
dec esi
mov ecx, esi
add ecx, ecx
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8 + 0xc]
call fcn.0046bdd0
add esp, 4
cmp esi, edi
je 0x47cf5d
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x10]
push dword [eax + 0x1c]
call fcn.0046bdd0
add esp, 4
jmp 0x47cf61
mov byte [ebx + 0x56], 2
mov ecx, 6
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
add ebx, 0x14
jmp 0x47d130
push str.too_many_levels_of_trigger_recursion
mov esi, edx
mov dword [esp + 0x1c], 1
lea eax, [ecx + 0x2c]
push esi
push eax
call fcn.0046ec30
mov ebx, dword [esp + 0x1c]
add esp, 0xc
add ebx, 0x14
mov ecx, 1
jmp 0x47d130
mov esi, dword [esp + 0x1c]
mov ecx, str.out_of
cmp edi, 5
mov dword [esp + 0x18], 1
mov eax, str.into
cmovne eax, ecx
push eax
mov eax, dword [esp + 0x18]
push str.cannot_change__s_wal_mode_from_within_a_transaction
add eax, 0x2c
push esi
push eax
call fcn.0046ec30
mov ebx, dword [esp + 0x20]
add esp, 0x10
add ebx, 0x14
mov ecx, 1
jmp 0x47d130
push dword [esp + 0xac]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
jmp 0x47d470
add dword [esp + 0x10], 0x14
mov ecx, 6
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
jmp 0x47d12c
mov esi, eax
jmp 0x47a156
mov esi, edx
jmp 0x47a156
cmp cl, 5
movzx eax, cl
mov ecx, dword [esp + 0x14]
mov edi, 2
cmove eax, edi
mov dword [esp + 0x20], esi
add dword [esp + 0x10], 0x14
mov esi, dword [esp + 0x1c]
mov byte [ecx + 0x56], al
mov dword [esp + 0x50], edx
jmp 0x47d128
mov ebx, dword [esp + 0x10]
mov ecx, 6
mov dword [esp + 0x18], ecx
add ebx, 0x14
jmp 0x47d130
mov eax, dword [esi + 0x124]
fstp st(0)
test eax, eax
je 0x47d30a
mov ecx, dword [esp + 0xa0]
cmp ecx, dword [esp + 0xa8]
jb 0x47d30a
push dword [esi + 0x128]
call eax
add esp, 4
test eax, eax
je 0x47d30a
mov ecx, 9
mov dword [esp + 0x18], ecx
jmp 0x47d12c
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x94], 0
jg 0x47d3f8
jl 0x47d32a
cmp dword [eax + 0x90], 0
ja 0x47d3f8
push 1
push eax
call fcn.00475c10
mov ecx, eax
add esp, 8
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x47d34b
mov ebx, dword [esp + 0x10]
add ebx, 0x14
jmp 0x47d130
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov eax, dword [edi + 0x48]
add eax, 2
or eax, 1
mov dword [edi + 0x48], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov dword [edi + 0x14], esi
xor edi, edi
cmp dword [ecx + 8], edi
jle 0x47d3c3
mov ebx, 0x202
jmp 0x47d380
mov eax, 0x1000
test word [esi + 8], ax
je 0x47d3a0
push esi
call fcn.0047f170
add esp, 4
test eax, eax
jne 0x47d25f
mov ecx, dword [esp + 0x10]
mov ax, word [esi + 8]
and ax, bx
cmp ax, 2
jne 0x47d3ba
push esi
call fcn.00488ef0
mov ecx, dword [esp + 0x14]
add esp, 4
inc edi
add esi, 0x28
cmp edi, dword [ecx + 8]
jl 0x47d380
mov esi, dword [esp + 0x1c]
cmp byte [esi + 0x41], 0
jne 0x47d263
sub ecx, dword [esp + 0x4c]
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0x14]
mov edi, 0x64
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [ecx + 0x4c], eax
jmp 0x47cf61
push str.FOREIGN_KEY_constraint_failed
push dword [eax]
mov dword [eax + 0x50], 0x313
mov byte [eax + 0x56], 2
add eax, 0x2c
push eax
call fcn.0046ec30
mov ebx, dword [esp + 0x1c]
mov ecx, 1
add esp, 0xc
mov dword [esp + 0x18], ecx
add ebx, 0x14
jmp 0x47d130
mov ebx, dword [esp + 0x14]
push 9
mov dword [esp + 0x1c], 9
mov dword [ebx + 0x50], 9
call fcn.00418f70
push eax
mov eax, dword [esp + 0x1c]
push 0x4ef960
add eax, 0x2c
push esi
push eax
call fcn.0046ec30
add esp, 0x14
mov ecx, 9
jmp 0x47d12c
mov ebx, dword [esp + 0x14]
mov esi, eax
jmp 0x47d470
fstp st(0)
push str.out_of_memory
lea eax, [ebx + 0x2c]
mov byte [esi + 0x41], 1
push esi
push eax
call fcn.0046ec30
mov ecx, 7
add esp, 0xc
mov dword [esp + 0x18], ecx
jmp 0x47d12c