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

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x11c
mov eax, dword [0x4dbc40]
xor eax, ebp
mov dword [ebp + 0x74], eax
push ebx
push esi
mov esi, ecx
mov ecx, dword [esi + 4]
mov dword [ebp - 0x8c], ecx
push edi
mov edi, dword [esi]
mov ecx, dword [edi + 8]
mov ecx, dword [ecx + 0xc]
mov cl, byte [ecx + 0x4d]
xor eax, eax
mov byte [ebp - 0x6c], cl
mov ecx, dword [esi + 8]
mov ebx, esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x58], edi
mov byte [ebp - 0x71], al
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x84], eax
call fcn.0044fa6c
cmp dword [esi + 0x5c], 7
je 0x47bc18
xor eax, eax
mov dword [esi + 0x5c], eax
mov dword [esi + 0x14], eax
mov ecx, dword [edi + 0xe0]
mov dword [edi + 0x1b4], eax
test ecx, ecx
jne 0x47cbd6
cmp dword [edi + 0x114], eax
setne cl
mov dword [ebp - 0x94], ecx
mov ecx, dword [esi + 0x58]
mov dword [ebp - 0x60], ecx
cmp byte [edi + 0x1e], 0
jne 0x47bc18
mov ebx, dword [ebp - 0x60]
imul ebx, ebx, 0x14
add ebx, dword [ebp - 0x8c]
mov dword [ebp - 0x68], ebx
cmp dword [ebp - 0x94], eax
je 0x478d5b
mov eax, dword [edi + 0x11c]
cmp eax, dword [ebp - 0x80]
jne 0x478d58
push dword [edi + 0x118]
call dword [edi + 0x114]
pop ecx
test eax, eax
jne 0x47ca43
and dword [ebp - 0x80], eax
inc dword [ebp - 0x80]
test byte [ebx + 2], 2
je 0x478d7b
mov edi, dword [ebx + 8]
imul edi, edi, 0x28
add edi, dword [ebp - 0x5c]
mov eax, edi
mov dword [ebp - 0x64], edi
call fcn.00455f8e
push 4
pop eax
mov word [edi + 0x1c], ax
movzx eax, byte [ebx]
dec eax
cmp eax, 0x90
ja case.0x478d8a.17
jmp dword [eax*4 + 0x47cbe3]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x47cbd6
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x60], ebx
jmp case.0x478d8a.17
mov ecx, dword [ebx + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x5c]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x60]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x60], eax
jmp case.0x478d8a.17
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x5c]
imul eax, eax, 0x28
mov eax, dword [eax + ecx + 0x10]
jmp 0x478dcc
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
push 4
pop eax
mov word [ebx + 0x1c], ax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x60]
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
mov eax, dword [ebp - 0x4c]
jmp 0x478dcc
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x5c]
imul eax, eax, 0x28
test byte [eax + ecx + 0x1c], 1
je case.0x478d8a.17
cmp dword [ebx + 4], 0
jne 0x47ca4f
lea eax, [esi + 0xa8]
mov edx, dword [eax]
test edx, edx
je 0x47ca4f
mov ecx, dword [edx + 0x3c]
dec dword [esi + 0xb0]
mov dword [eax], ecx
mov ecx, dword [esi + 0x6c]
mov eax, dword [ebp - 0x58]
call fcn.0044ff23
mov eax, edx
call fcn.0044fb40
cmp dword [ebx + 8], 4
mov dword [ebp - 0x60], eax
jne 0x478e6a
mov ecx, dword [esi + 4]
imul eax, eax, 0x14
mov eax, dword [eax + ecx + 8]
dec eax
mov dword [ebp - 0x60], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x5c], eax
jmp case.0x478d8a.17
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x64]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.0x478d8a.17
mov ebx, dword [ebx + 0x10]
mov ecx, dword [ebx]
mov eax, dword [ebp - 0x64]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebx + 4]
mov dword [eax + 0x14], ecx
jmp case.0x478d8a.17
mov eax, dword [ebp - 0x64]
push 8
pop ecx
mov word [eax + 0x1c], cx
mov ecx, dword [ebx + 0x10]
fld qword [ecx]
fstp qword [eax + 8]
jmp case.0x478d8a.17
mov ecx, dword [ebx + 0x10]
mov byte [ebx], 9
call fcn.0044b602
cmp byte [ebp - 0x6c], 1
mov edi, dword [ebp - 0x64]
mov dword [ebx + 4], eax
je 0x478f44
push 1
push ecx
xor eax, eax
or ecx, 0xffffffff
mov edx, edi
call fcn.0045dea4
pop ecx
pop ecx
mov dword [ebp - 0x50], eax
cmp eax, 0x12
je 0x47c2d9
movzx eax, byte [ebp - 0x6c]
push eax
mov eax, edi
call fcn.0045de13
pop ecx
test eax, eax
jne 0x47bc18
and dword [edi + 0x24], eax
mov ax, word [edi + 0x1c]
mov ecx, 0xfbff
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [edi + 0x1c], ax
cmp byte [ebx + 1], 0xff
jne 0x478f34
push dword [ebx + 0x10]
push dword [ebp - 0x58]
call fcn.0044b423
pop ecx
pop ecx
mov byte [ebx + 1], 0xff
mov eax, dword [edi + 4]
mov dword [ebx + 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x58]
cmp eax, dword [ecx + 0x48]
jg 0x47c2d9
jmp 0x478f58
mov edi, dword [ebp - 0x64]
mov eax, 0xa02
mov word [edi + 0x1c], ax
mov eax, dword [ebx + 0x10]
mov dword [edi + 4], eax
mov eax, dword [ebx + 4]
mov dword [edi + 0x18], eax
mov al, byte [ebp - 0x6c]
mov byte [edi + 0x1f], al
jmp case.0x478d8a.17
mov ecx, dword [ebp - 0x64]
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
jmp case.0x478d8a.17
mov edi, dword [ebp - 0x64]
mov ecx, dword [ebx + 4]
push 0
push dword [ebx + 0x10]
xor eax, eax
mov edx, edi
call fcn.0045dea4
pop ecx
pop ecx
jmp 0x478f6d
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x48]
imul eax, eax, 0x28
lea edi, [eax + ecx - 0x28]
mov ecx, edi
mov dword [ebp - 0x4c], edi
call fcn.0044f829
test eax, eax
jne 0x47c2d9
push 0x800
mov esi, dword [ebp - 0x64]
call fcn.004560db
pop ecx
mov esi, dword [ebp - 0x54]
inc dword [ebp - 0x60]
cmp dword [ebp - 0x50], 0
jne 0x47c2f2
mov edi, dword [ebp - 0x58]
xor eax, eax
jmp 0x478d14
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x48], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x44], eax
imul eax, eax, 0x28
mov ebx, dword [ebx + 8]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x40], ebx
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
mov edi, eax
mov dword [ebp - 0x64], ebx
test ecx, ecx
je 0x479035
dec dword [ebp - 0x48]
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x4c], eax
and dword [ebx + 0x24], 0
push ebx
mov esi, edi
call fcn.00456113
mov eax, dword [ebp - 0x4c]
mov dword [edi + 0x24], eax
add edi, 0x28
add ebx, 0x28
cmp dword [ebp - 0x48], 0
pop ecx
jne 0x479007
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x64], ebx
dec dword [ebp - 0x48]
jmp case.0x478d8a.17
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x5c]
imul edi, edi, 0x28
add edi, dword [ebp - 0x5c]
push 0x1000
mov dword [ebp - 0x64], esi
call fcn.004560db
mov eax, 0x1000
pop ecx
test word [esi + 0x1c], ax
je 0x478fc6
mov eax, esi
call fcn.0045a930
mov esi, dword [ebp - 0x54]
test eax, eax
jne 0x47bc18
jmp case.0x478d8a.17
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x5c]
imul edi, edi, 0x28
add edi, dword [ebp - 0x5c]
mov dword [ebp - 0x64], esi
push 0x1000
jmp 0x478fc0
push 0
mov eax, esi
call fcn.0045acc9
pop ecx
mov dword [ebp - 0x50], eax
test eax, eax
jne case.0x478d8a.17
push 1
mov ebx, esi
call fcn.0046d66e
pop ecx
mov dword [ebp - 0x50], eax
test eax, eax
jne case.0x478d8a.17
mov eax, dword [esi + 0x54]
mov edi, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x5c]
inc eax
inc eax
or eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [edi + 4]
and dword [ebp - 0x48], 0
imul eax, eax, 0x28
add eax, ecx
mov dword [esi + 0x14], eax
mov dword [ebp - 0x4c], eax
cmp dword [edi + 8], 0
jle 0x47913c
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
imul eax, eax, 0x28
add eax, ecx
mov ecx, 0x1000
test word [eax + 0x1c], cx
je 0x479115
call fcn.0045a930
test eax, eax
jne 0x47bc18
mov eax, dword [ebp - 0x48]
imul eax, eax, 0x28
add eax, dword [ebp - 0x4c]
call fcn.00455f45
mov ecx, dword [ebp - 0x48]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x4c]
call fcn.004501e4
inc dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
cmp eax, dword [edi + 8]
jl 0x4790f2
mov eax, dword [ebp - 0x58]
cmp byte [eax + 0x1e], 0
jne 0x47bc18
mov eax, dword [ebp - 0x60]
inc eax
mov dword [esi + 0x58], eax
mov dword [ebp - 0x50], 0x64
jmp 0x47c344
mov ecx, dword [ebx + 4]
mov edi, dword [ebx + 8]
imul ecx, ecx, 0x28
mov ebx, dword [ebx + 0xc]
imul edi, edi, 0x28
add ecx, dword [ebp - 0x5c]
imul ebx, ebx, 0x28
add edi, dword [ebp - 0x5c]
movzx eax, word [ecx + 0x1c]
mov dl, byte [edi + 0x1c]
add ebx, dword [ebp - 0x5c]
or dl, al
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x64], ebx
test dl, 1
je 0x47919a
mov edi, ebx
call fcn.0044f7e8
jmp case.0x478d8a.17
test eax, 0x4000
je 0x4791ae
mov eax, dword [ebp - 0x68]
call fcn.00455ef2
mov ecx, dword [ebp - 0x68]
jmp 0x4791b0
xor eax, eax
test eax, eax
jne 0x47bc18
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x4791cf
mov eax, edi
call fcn.00455ef2
mov ecx, dword [ebp - 0x68]
jmp 0x4791d1
xor eax, eax
test eax, eax
jne 0x47bc18
test byte [ecx + 0x1c], 0x12
jne 0x4791f8
movzx eax, byte [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x68]
call fcn.0045de33
pop ecx
test eax, eax
jne 0x47bc18
mov ecx, dword [ebp - 0x68]
test byte [edi + 0x1c], 0x12
jne 0x479216
movzx eax, byte [ebp - 0x6c]
push eax
mov eax, edi
call fcn.0045de33
pop ecx
test eax, eax
jne 0x47bc18
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x18]
add eax, dword [edi + 0x18]
cdq
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x48], edx
mov eax, dword [eax + 0x48]
cdq
cmp dword [ebp - 0x48], edx
jg 0x47c2d9
jl 0x47923e
cmp dword [ebp - 0x4c], eax
ja 0x47c2d9
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf02
and ax, cx
or ax, 2
mov word [ebx + 0x1c], ax
xor eax, eax
cmp ebx, dword [ebp - 0x70]
mov edi, ebx
sete al
push eax
mov eax, dword [ebp - 0x4c]
add eax, 2
call fcn.00455e33
pop ecx
test eax, eax
jne 0x47bc18
mov edi, dword [ebp - 0x70]
cmp ebx, edi
je 0x479289
push dword [edi + 0x18]
push dword [edi + 4]
push dword [ebx + 4]
call fcn.0048e160
add esp, 0xc
mov eax, dword [ebp - 0x68]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [edi + 0x18]
add eax, dword [ebx + 4]
push eax
call fcn.0048e160
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebx + 4]
mov byte [ecx + eax], 0
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebx + 4]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
add esp, 0xc
or word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x4c]
mov dword [ebx + 0x18], eax
mov al, byte [ebp - 0x6c]
mov byte [ebx + 0x1f], al
jmp case.0x478d8a.17
mov edi, dword [ebx + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0x5c]
mov esi, edi
mov dword [ebp - 0x68], edi
call fcn.0045020f
mov esi, dword [ebx + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0x5c]
mov dword [ebp - 0x70], esi
call fcn.0045020f
mov eax, dword [ebx + 0xc]
movzx ecx, word [edi + 0x1c]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x64], eax
movzx eax, word [esi + 0x1c]
or eax, ecx
mov dword [ebp - 0x4c], eax
test al, 1
jne 0x4794e7
mov cl, byte [esi + 0x1c]
mov eax, edi
and cl, byte [eax + 0x1c]
test cl, 4
je 0x4793f6
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x44], ecx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x40], eax
mov edi, dword [esi + 0x10]
mov dword [ebp - 0x3c], edi
mov esi, dword [esi + 0x14]
mov dword [ebp - 0x38], esi
movzx edx, byte [ebx]
sub edx, 0x56
je 0x4793be
dec edx
je 0x4793b2
dec edx
je 0x4793a6
dec edx
mov edx, ecx
je 0x479378
or edx, eax
je 0x4794e7
mov edx, ecx
and edx, eax
cmp edx, 0xffffffff
jne 0x47936d
xor ecx, ecx
inc ecx
xor eax, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], eax
push eax
push ecx
push esi
push edi
call fcn.0048e6b0
jmp 0x47939e
or edx, eax
je 0x4794e7
mov edx, ecx
and edx, eax
cmp edx, 0xffffffff
jne 0x479395
test edi, edi
jne 0x479395
cmp esi, 0x80000000
je 0x4793f6
push eax
push ecx
push esi
push edi
call fcn.0048e600
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
jmp 0x4793ce
push eax
push ecx
lea esi, [ebp - 0x3c]
call fcn.0044c0ca
jmp 0x4793c8
push eax
push ecx
lea eax, [ebp - 0x3c]
call fcn.0044c07e
jmp 0x4793c8
push eax
push ecx
lea edi, [ebp - 0x3c]
call fcn.0044bffc
pop ecx
pop ecx
test eax, eax
jne 0x4793f6
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x38]
mov dword [eax + 0x14], ecx
mov cx, word [eax + 0x1c]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp 0x478fc6
mov eax, dword [ebp - 0x68]
call fcn.0044f6a0
fstp qword [ebp - 0x34]
mov eax, dword [ebp - 0x70]
call fcn.0044f6a0
fst qword [ebp - 0x2c]
movzx eax, byte [ebx]
sub eax, 0x56
je 0x479498
dec eax
je 0x479493
dec eax
je 0x47948e
dec eax
je 0x47947d
fld qword [ebp - 0x34]
call fcn.0048e586
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
call fcn.0048e586
mov ecx, dword [ebp - 0x44]
or ecx, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
je 0x4794e7
mov ecx, dword [ebp - 0x44]
and ecx, dword [ebp - 0x40]
cmp ecx, 0xffffffff
jne 0x47945c
and dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 1
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push edx
push eax
call fcn.0048e6b0
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], edx
fild qword [ebp - 0xa4]
jmp 0x47949b
fldz
fcomp qword [ebp - 0x34]
fnstsw ax
test ah, 0x44
jnp 0x4794e5
fdiv qword [ebp - 0x34]
jmp 0x47949b
fmul qword [ebp - 0x34]
jmp 0x47949b
fsub qword [ebp - 0x34]
jmp 0x47949b
fadd qword [ebp - 0x34]
fstp qword [ebp - 0x2c]
push ecx
fld qword [ebp - 0x2c]
push ecx
fstp qword [esp]
call fcn.0044b5d9
add esp, 8
test eax, eax
jne 0x4794e7
mov eax, dword [ebp - 0x64]
fld qword [ebp - 0x2c]
mov cx, word [eax + 0x1c]
fstp qword [eax + 8]
mov edx, 0xbf08
and cx, dx
or cx, 8
mov word [eax + 0x1c], cx
test byte [ebp - 0x4c], 8
jne 0x478fc6
mov esi, eax
call fcn.0044f6e3
jmp 0x478fc6
fstp st(0)
mov edi, dword [ebp - 0x64]
call fcn.0044f7e8
jmp 0x478fc6
movzx ecx, byte [ebx + 3]
mov eax, dword [esi + 0xc]
mov dword [ebp - 4], eax
mov dword [ebp], ecx
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebx + 8]
and dword [ebp - 0x4c], 0
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x48], eax
test ecx, ecx
jle 0x479561
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x4c]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x48]
mov ecx, 0x1000
test word [eax + 0x1c], cx
je 0x479545
call fcn.0045a930
test eax, eax
jne 0x47bc18
mov ecx, dword [ebp - 0x48]
call fcn.004501e4
inc dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
add eax, 0x28
cmp ecx, dword [ebp]
mov dword [ebp - 0x48], eax
jl 0x479521
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 0x10]
jne 0x479570
and dword [ebp - 0x40], 0
jmp 0x479575
mov dword [ebp - 0x40], eax
mov eax, dword [eax]
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x44], eax
xor eax, eax
inc eax
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
xor edi, edi
push eax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
call fcn.00456113
mov eax, dword [ebp - 0x20]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], edi
test byte [eax + 3], 8
pop ecx
je 0x4795bb
mov ecx, dword [ebx - 4]
mov dword [ebp - 0xc], ecx
push dword [ebp - 4]
lea ecx, [ebp - 0x44]
push dword [ebp]
push ecx
call dword [eax + 0xc]
mov esi, dword [ebp - 0x58]
add esp, 0xc
cmp byte [esi + 0x1e], 0
jne 0x47cad7
mov edi, dword [ebp - 0x40]
test edi, edi
je 0x4795f2
push dword [ebx + 4]
call fcn.0044fb9c
mov eax, dword [ebp - 0x40]
pop ecx
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf9
cmp dword [ebp - 0x10], 0
je 0x47961c
lea eax, [ebp - 0x3c]
push eax
call sym.JHotNews.exe_sqlite3_value_text
mov edi, dword [ebp - 0x54]
push eax
push 0x4c43f4
push esi
add edi, 0x38
call fcn.0045a0f2
mov eax, dword [ebp - 0x10]
add esp, 0x10
mov dword [ebp - 0x50], eax
movzx eax, byte [ebp - 0x6c]
push eax
lea eax, [ebp - 0x3c]
call fcn.0045de13
push dword [ebp - 0x64]
lea esi, [ebp - 0x3c]
call fcn.00456113
pop ecx
pop ecx
mov ecx, dword [ebp - 0x64]
call fcn.0044f829
mov esi, dword [ebp - 0x54]
test eax, eax
jne 0x47c2d9
jmp case.0x478d8a.17
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
imul eax, eax, 0x28
mov edi, dword [ebx + 4]
imul ecx, ecx, 0x28
add eax, dword [ebp - 0x5c]
imul edi, edi, 0x28
add ecx, dword [ebp - 0x5c]
add edi, dword [ebp - 0x5c]
mov dword [ebp - 0x64], eax
mov al, byte [ecx + 0x1c]
or al, byte [edi + 0x1c]
test al, 1
je 0x47967e
mov edi, dword [ebp - 0x64]
jmp 0x479190
call fcn.0044f645
mov ecx, edi
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
call fcn.0044f645
mov edi, eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edx
mov al, byte [ebx]
mov byte [ebp - 0x34], al
cmp al, 0x52
jne 0x4796ac
and dword [ebp - 0x4c], edi
and dword [ebp - 0x48], edx
jmp 0x479791
cmp al, 0x53
jne 0x4796bb
or dword [ebp - 0x4c], edi
or dword [ebp - 0x48], edx
jmp 0x479791
mov ecx, edi
or ecx, edx
je 0x479791
xor ebx, ebx
cmp edx, ebx
jg 0x479704
jl 0x4796d1
cmp edi, ebx
jae 0x4796f9
mov cl, 0xa9
sub cl, al
cmp edx, 0xffffffff
mov al, cl
mov byte [ebp - 0x34], al
jl 0x4796ee
jg 0x4796e6
cmp edi, 0xffffffc0
jbe 0x4796ee
neg edi
adc edx, ebx
neg edx
jmp 0x4796f3
push 0x40
pop edi
xor edx, edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x3c], edi
cmp edx, ebx
jl 0x479724
jg 0x479704
cmp edi, 0x40
jb 0x479724
cmp dword [ebp - 0x48], ebx
jg 0x479719
jl 0x479710
cmp dword [ebp - 0x4c], ebx
jae 0x479719
cmp al, 0x54
je 0x479719
or eax, 0xffffffff
jmp 0x47971b
xor eax, eax
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp 0x479791
push 8
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.0048e160
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
add esp, 0xc
cmp byte [ebp - 0x34], 0x54
jne 0x479752
call fcn.00490120
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
jmp 0x47977f
call fcn.004902f0
cmp dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
jg 0x47977f
jl 0x479769
cmp dword [ebp - 0x4c], ebx
jae 0x47977f
push 0x40
pop ecx
sub ecx, dword [ebp - 0x3c]
or edx, 0xffffffff
mov eax, edx
call fcn.00490120
or dword [ebp - 0x44], eax
or dword [ebp - 0x40], edx
push 8
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0048e160
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x4c]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x48]
mov dword [eax + 0x14], ecx
mov cx, word [eax + 0x1c]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.0x478d8a.17
mov esi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x5c]
call fcn.0044f739
mov eax, dword [ebx + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp 0x478fc6
mov edi, dword [ebx + 4]
push dword [ebp - 0x6c]
imul edi, edi, 0x28
add edi, dword [ebp - 0x5c]
push 0x63
mov eax, edi
call fcn.0045e544
movzx eax, word [edi + 0x1c]
pop ecx
pop ecx
test al, 4
jne 0x47980c
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x478da5
mov dword [ebp - 0x50], 0x14
jmp 0x47cb86
and eax, 0xbf04
or eax, 4
mov word [edi + 0x1c], ax
jmp case.0x478d8a.17
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
test byte [ebx + 0x1c], 4
je case.0x478d8a.17
mov esi, ebx
call fcn.0044f75d
jmp 0x478fc6
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
movzx eax, word [ebx + 0x1c]
test al, 1
jne case.0x478d8a.17
push dword [ebp - 0x6c]
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
push 0x61
mov eax, ebx
mov word [ebx + 0x1c], cx
call fcn.0045e544
mov eax, 0x4000
pop ecx
pop ecx
test word [ebx + 0x1c], ax
je 0x479884
mov eax, ebx
call fcn.00455ef2
mov dword [ebp - 0x50], eax
jmp 0x479888
and dword [ebp - 0x50], 0
mov eax, 0xbfe3
and word [ebx + 0x1c], ax
jmp case.0x478d8a.17
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
movzx eax, word [ebx + 0x1c]
test al, 1
jne case.0x478d8a.17
test al, 0x10
jne 0x4798cf
push dword [ebp - 0x6c]
mov eax, ebx
push 0x61
call fcn.0045e544
mov ax, word [ebx + 0x1c]
pop ecx
pop ecx
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
jmp 0x4798d4
and eax, 0xff10
mov word [ebx + 0x1c], ax
jmp case.0x478d8a.17
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
call fcn.0044f77e
jmp case.0x478d8a.17
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
test byte [ebx + 0x1c], 1
jne case.0x478d8a.17
mov esi, ebx
call fcn.0044f739
jmp 0x478fc6
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
test byte [ebx + 0x1c], 1
jne case.0x478d8a.17
jmp 0x479830
mov edi, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
imul edi, edi, 0x28
add edi, dword [ebp - 0x5c]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x5c]
mov ax, word [edi + 0x1c]
mov word [ebp - 0x46], ax
mov ax, word [ecx + 0x1c]
mov word [ebp - 0x44], ax
movzx eax, word [ecx + 0x1c]
movzx edx, word [edi + 0x1c]
mov dword [ebp - 0x7c], eax
or al, dl
test al, 1
mov al, byte [ebx + 3]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x88], edx
je 0x4799b2
test al, al
jns 0x479980
movzx edx, word [edi + 0x1c]
mov al, byte [ebp - 0x7c]
and al, dl
test al, 1
push 0
pop eax
sete al
jmp 0x479a22
test al, 0x10
je 0x4799a5
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
mov ecx, 0xbf01
mov ax, word [ebx + 0x1c]
and ax, cx
mov dword [ebp - 0x64], ebx
or ax, 1
jmp 0x4798d4
test al, 8
je case.0x478d8a.17
jmp 0x478da2
and al, 0x67
mov byte [ebp - 0x48], al
je 0x4799e7
push dword [ebp - 0x6c]
mov eax, edi
push dword [ebp - 0x48]
call fcn.0045e544
push dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
push dword [ebp - 0x48]
call fcn.0045e544
mov eax, dword [ebp - 0x58]
add esp, 0x10
cmp byte [eax + 0x1e], 0
jne 0x47bc18
mov ecx, dword [ebp - 0x70]
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x4799fc
mov eax, edi
call fcn.00455ef2
mov ecx, dword [ebp - 0x70]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x479a0f
mov eax, dword [ebp - 0x70]
call fcn.00455ef2
mov ebx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x70]
push edi
call fcn.004610c9
mov ebx, dword [ebp - 0x68]
pop ecx
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x4c], eax
movzx edx, byte [ebx]
sub edx, 0x4b
je 0x479a66
dec edx
je 0x479a5d
dec edx
je 0x479a54
dec edx
je 0x479a4b
dec edx
je 0x479a42
xor edx, edx
test eax, eax
setge dl
jmp 0x479a6d
xor edx, edx
test eax, eax
setl dl
jmp 0x479a6d
xor edx, edx
test eax, eax
setle dl
jmp 0x479a6d
xor edx, edx
test eax, eax
setg dl
jmp 0x479a6d
xor edx, edx
test eax, eax
sete dl
jmp 0x479a6d
xor edx, edx
test eax, eax
setne dl
mov dword [ebp - 0x4c], edx
test byte [ebx + 3], 0x10
je 0x479aa2
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
mov edx, 0xbf04
mov ax, word [ebx + 0x1c]
and ax, dx
or ax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x4c]
cdq
mov dword [ebp - 0x64], ebx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp 0x479aaf
cmp dword [ebp - 0x4c], 0
je 0x479aaf
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x60], ebx
mov al, byte [ebp - 0x46]
mov byte [edi + 0x1c], al
mov al, byte [ebp - 0x44]
mov byte [ecx + 0x1c], al
jmp case.0x478d8a.17
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x84], eax
jmp case.0x478d8a.17
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x48], eax
test edx, edx
jle 0x479b54
mov edi, dword [ebp - 0x84]
jmp 0x479afa
mov ecx, dword [ebp - 0x3c]
test edi, edi
je 0x479b03
mov edx, dword [edi + eax*4]
jmp 0x479b05
mov edx, eax
mov dword [ebp - 0x38], edx
mov ebx, dword [ecx + eax*4 + 0xc]
mov dword [ebp - 0x34], ebx
mov ecx, dword [ecx + 8]
movzx eax, byte [ecx + eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x40]
add eax, edx
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x44]
add eax, edx
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
call fcn.004610c9
pop ecx
mov dword [ebp - 0x78], eax
test eax, eax
jne 0x479b4b
mov eax, dword [ebp - 0x48]
inc eax
cmp eax, dword [ebp - 0x4c]
mov dword [ebp - 0x48], eax
jl 0x479af7
jmp 0x479b54
cmp dword [ebp - 0x30], 0
je 0x479b54
neg dword [ebp - 0x78]
and dword [ebp - 0x84], 0
jmp case.0x478d8a.17
cmp dword [ebp - 0x78], 0
jge 0x479b6e
mov ebx, dword [ebx + 4]
jmp 0x478da5
je 0x478da2
mov ebx, dword [ebx + 0xc]
jmp 0x478da5
mov ecx, dword [ebx + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x5c]
xor edi, edi
inc edi
test byte [ecx + 0x1c], 1
je 0x479b93
push 2
pop eax
jmp 0x479ba2
call fcn.0044f645
or eax, edx
je 0x479ba0
mov eax, edi
jmp 0x479ba2
xor eax, eax
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebx + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x5c]
test byte [ecx + 0x1c], 1
je 0x479bbd
mov dword [ebp - 0x48], 2
jmp 0x479bd2
call fcn.0044f645
or eax, edx
mov eax, dword [ebp - 0x4c]
je 0x479bce
mov dword [ebp - 0x48], edi
jmp 0x479bd2
and dword [ebp - 0x48], 0
mov ecx, dword [ebp - 0x48]
imul eax, eax, 3
cmp byte [ebx], 0x45
jne 0x479be7
movzx eax, byte [eax + ecx + 0x4aece8]
jmp 0x479bef
movzx eax, byte [eax + ecx + 0x4aecf4]
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebx + 0xc]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
mov dword [ebp - 0x64], ebx
cmp eax, 2
jne 0x479c17
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, di
jmp 0x4798d4
cdq
mov dword [ebx + 0x10], eax
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf04
and ax, cx
mov dword [ebx + 0x14], edx
or ax, 4
jmp 0x4798d4
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x5c]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
test byte [ecx + 0x1c], 1
mov dword [ebp - 0x64], ebx
jne 0x47918e
call fcn.0044f645
or eax, edx
jne 0x479c5e
inc eax
jmp 0x479c60
xor eax, eax
cdq
push edx
push eax
mov esi, ebx
call fcn.0045603f
pop ecx
jmp 0x478fc5
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x5c]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
test byte [ecx + 0x1c], 1
mov dword [ebp - 0x64], ebx
jne 0x47918e
call fcn.0044f645
not eax
not edx
jmp 0x479c61
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
test byte [eax + 0x1c], 1
je 0x479cae
mov eax, dword [ebx + 0xc]
jmp 0x479cda
call fcn.0044f6a0
fcomp qword [0x4ce958]
fnstsw ax
test ah, 0x44
jnp 0x479cc9
mov dword [ebp - 0x4c], 1
jmp 0x479ccd
and dword [ebp - 0x4c], 0
cmp byte [ebx], 0x1b
jne 0x479cdd
xor eax, eax
cmp dword [ebp - 0x4c], eax
sete al
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jmp 0x4799a7
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x5c]
imul eax, eax, 0x28
test byte [eax + ecx + 0x1c], 1
jmp 0x4799a7
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x5c]
imul eax, eax, 0x28
test byte [eax + ecx + 0x1c], 1
jne case.0x478d8a.17
jmp 0x478da2
mov eax, dword [ebx + 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx + 8]
xor edi, edi
push 0x28
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0xc]
push edi
push eax
mov dword [ebp - 0x34], edi
call fcn.0048e0e0
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
mov edx, 0xbf01
mov dword [ebp - 0x10], eax
mov cx, word [eax + 0x1c]
and cx, dx
or cx, 1
mov word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x30], edi
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x34], eax
mov ecx, dword [eax]
add esp, 0xc
mov dword [ebp - 0x2c], ecx
cmp ecx, edi
je 0x479de4
mov esi, eax
call fcn.00474a5e
mov dword [ebp - 0x50], eax
cmp eax, edi
jne 0x47cb83
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0x1c], 0
je 0x479d8d
mov dword [ebp - 0x4c], edi
jmp 0x478fc6
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x54]
cmp ecx, dword [edx + 0x54]
jne 0x479da8
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [eax + 0x5c]
mov dword [ebp - 0x30], ecx
mov esi, edx
jmp 0x479e18
cmp byte [eax + 0x1f], 0
je 0x479dcc
mov eax, dword [ebp - 0x2c]
lea edi, [ebp - 0x44]
call fcn.0044f30c
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x34]
xor edi, edi
jmp 0x479e18
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x2c]
call fcn.0044f332
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x34]
pop ecx
jmp 0x479e18
mov ecx, dword [eax + 0x10]
cmp ecx, edi
jle 0x479e15
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x5c]
mov dword [ebp + 0x34], ecx
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x30], ecx
test byte [ebx + 3], 0x20
je 0x479e0a
xor ecx, ecx
jmp 0x479e0d
mov ecx, dword [esi + 0x54]
mov dword [eax + 0x4c], ecx
mov eax, dword [ebp - 0x34]
jmp 0x479e18
mov dword [ebp - 0x4c], edi
mov ecx, dword [ebp - 0x4c]
cmp ecx, edi
je case.0x478d8a.17
mov edx, dword [ebp - 0x58]
cmp ecx, dword [edx + 0x48]
ja 0x47c2d9
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x20], edx
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0x28], ecx
mov edi, dword [eax + 0x4c]
cmp edi, dword [esi + 0x54]
jne 0x479e4e
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x24], eax
jmp 0x47a006
and dword [ebp + 0x30], 0
lea ecx, [ecx + edx*4]
mov dword [ebp - 0x24], ecx
mov dword [eax + 0x58], ecx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x4c]
mov dword [eax + 0x50], ecx
mov eax, dword [esi + 0x54]
mov ecx, dword [ebp - 0x34]
mov dword [ecx + 0x4c], eax
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x479e79
mov dword [ebp - 0x14], eax
jmp 0x479eb3
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0x1f], 0
lea eax, [ebp + 0x30]
push eax
mov eax, dword [ebp - 0x2c]
je 0x479e90
call fcn.0044f3a1
jmp 0x479e95
call fcn.0044f3ba
pop ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x14], eax
cmp ecx, dword [ebp + 0x30]
ja 0x479eac
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov dword [ecx + 0x5c], eax
jmp 0x479eb3
mov eax, dword [ebp - 0x34]
and dword [eax + 0x5c], 0
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx]
cmp al, 0x80
jae 0x479ec7
movzx eax, al
mov dword [ebp + 0x24], eax
xor eax, eax
inc eax
jmp 0x479ed2
lea edi, [ebp + 0x24]
call fcn.0044bf2b
movzx eax, al
cmp dword [ebp + 0x24], 0x18003
movzx eax, al
mov dword [ebp + 0x2c], eax
jbe 0x479eeb
push 0xfcb4
jmp 0x47a117
mov ecx, dword [ebp - 0x20]
imul ecx, ecx, 5
add ecx, 3
cmp ecx, dword [ebp + 0x24]
mov dword [ebp - 0x1c], ecx
jle 0x479f02
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x1c], ecx
xor edi, edi
cmp dword [ebp - 0x30], edi
jne 0x479f49
cmp dword [ebp + 0x30], ecx
jge 0x479f49
xor eax, eax
mov word [ebp + 0x10], ax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xc], edi
movzx eax, byte [eax + 0x1f]
push eax
push edi
push dword [ebp - 0x2c]
lea eax, [ebp - 0xc]
mov esi, ecx
call fcn.0047495b
add esp, 0xc
mov dword [ebp - 0x50], eax
cmp eax, edi
jne 0x478fc6
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x14], eax
jmp 0x479f4c
mov eax, dword [ebp - 0x14]
add ecx, eax
mov dword [ebp + 0x20], ecx
mov ecx, dword [ebp + 0x2c]
add eax, ecx
xor ecx, ecx
cmp dword [ebp - 0x20], ecx
mov dword [ebp + 0x1c], eax
mov dword [ebp - 0x18], ecx
jle 0x479fcc
jmp 0x479f68
mov eax, dword [ebp + 0x1c]
cmp eax, dword [ebp + 0x20]
mov eax, dword [ebp - 0x24]
jae 0x47a03e
mov edx, dword [ebp + 0x24]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp + 0x1c]
mov al, byte [ecx]
mov edx, dword [ebp - 0x28]
cmp al, 0x80
jae 0x479f94
mov ecx, dword [ebp - 0x18]
movzx eax, al
mov dword [edx + ecx*4], eax
xor eax, eax
inc eax
jmp 0x479fa2
mov eax, dword [ebp - 0x18]
lea edi, [edx + eax*4]
call fcn.0044bf2b
movzx eax, al
mov ecx, dword [ebp - 0x18]
movzx eax, al
add dword [ebp + 0x1c], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + ecx*4]
call fcn.0044fcad
add dword [ebp + 0x24], eax
mov dword [ebp + 0x28], eax
cmp dword [ebp + 0x24], eax
jae 0x47a045
mov eax, dword [ebp + 0x20]
inc eax
mov dword [ebp + 0x1c], eax
lea eax, [ebp - 0xc]
push eax
call fcn.00455ff0
xor eax, eax
pop ecx
mov ecx, dword [ebp + 0x1c]
inc eax
mov word [ebp + 0x10], ax
cmp ecx, dword [ebp + 0x20]
ja 0x47a112
mov eax, dword [ebp + 0x24]
cmp eax, dword [ebp - 0x4c]
ja 0x47a112
cmp ecx, dword [ebp + 0x20]
jne 0x47a003
cmp eax, dword [ebp - 0x4c]
jne 0x47a112
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x24]
shl eax, 2
cmp dword [edx + eax], 0
je 0x47a0be
cmp dword [ebp - 0x30], 0
je 0x47a057
mov eax, dword [ebp - 0x10]
call fcn.00455f8e
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
shl eax, 2
push dword [ecx + eax]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + eax]
add ecx, dword [ebp - 0x30]
jmp 0x47a0aa
and dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x18]
inc ecx
cmp ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
jl 0x479f65
jmp 0x479fcc
mov eax, dword [ecx + eax]
call fcn.0044fcad
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0xc]
push eax
call fcn.00456113
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax + 0x1f]
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x24]
push dword [eax + ecx*4]
lea eax, [ebp - 0xc]
push dword [ebp - 0x2c]
call fcn.0047495b
add esp, 0x10
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x478fc6
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x14], ecx
push dword [eax + edx*4]
mov esi, dword [ebp - 0x10]
call fcn.0044fd6b
mov eax, dword [ebp - 0x10]
pop ecx
mov cl, byte [ebp - 0x6c]
mov byte [eax + 0x1f], cl
jmp 0x47a0d5
cmp byte [ebx + 1], 0xf8
jne 0x47a0d8
mov edi, dword [ebx + 0x10]
mov esi, dword [ebp - 0x10]
push 0x800
call fcn.004560db
pop ecx
mov esi, dword [ebp - 0x54]
cmp dword [ebp + 0x18], 0
je 0x47a108
mov eax, dword [ebp - 0x10]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [ebp - 0x10]
mov ecx, 0x200
or word [eax + 0x1c], cx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
mov dword [eax + 4], ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x10]
call fcn.0045a930
jmp 0x47a11d
push 0xfcfe
call fcn.00469a88
pop ecx
mov dword [ebp - 0x50], eax
jmp case.0x478d8a.17
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
jmp 0x47a160
inc dword [ebp - 0x4c]
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x47a14b
mov eax, ebx
call fcn.00455ef2
push dword [ebp - 0x6c]
mov eax, ebx
push dword [ebp - 0x48]
call fcn.0045e544
mov eax, dword [ebp - 0x4c]
pop ecx
pop ecx
add ebx, 0x28
mov al, byte [eax]
mov byte [ebp - 0x48], al
test al, al
jne 0x47a136
inc dword [ebp - 0x4c]
jmp case.0x478d8a.17
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x18], eax
imul eax, eax, 0x28
mov ecx, dword [ebx + 0x10]
add eax, dword [ebp - 0x5c]
movzx edx, byte [esi + 0x66]
mov dword [ebp - 0x14], ecx
mov ecx, eax
mov dword [ebp - 0x20], ecx
mov eax, dword [ebx + 8]
mov dword [ebp - 0x18], eax
imul eax, eax, 0x28
lea eax, [eax + ecx - 0x28]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], edx
mov edi, dword [ebx + 0xc]
imul edi, edi, 0x28
add edi, dword [ebp - 0x5c]
mov ebx, ecx
mov dword [ebp - 0x64], edi
cmp ecx, eax
jmp 0x47a254
cmp dword [ebp - 0x14], 0
je 0x47a1ea
push dword [ebp - 0x6c]
mov eax, ebx
sub eax, dword [ebp - 0x20]
push 0x28
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x14]
movzx eax, byte [eax + ecx]
push eax
mov eax, ebx
call fcn.0045e544
mov ebx, dword [ebp - 0x48]
pop ecx
pop ecx
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x47a205
cmp dword [ebx + 0x18], 0
jle 0x47a205
mov eax, ebx
call fcn.00455ef2
mov ebx, dword [ebp - 0x48]
push dword [ebp - 0x10]
mov edx, ebx
call fcn.0044fbda
mov dword [ebp - 0x24], eax
call fcn.0044fcad
mov dword [ebp - 8], eax
cdq
add dword [ebp - 0x44], eax
push 0
push dword [ebp - 0x24]
adc dword [ebp - 0x40], edx
call fcn.0044bf8d
add dword [ebp - 0x3c], eax
mov eax, 0x4000
add esp, 0xc
test word [ebx + 0x1c], ax
je 0x47a244
mov eax, dword [ebx + 0x10]
add dword [ebp - 0x2c], eax
jmp 0x47a24e
cmp dword [ebp - 8], 0
je 0x47a24e
and dword [ebp - 0x2c], 0
add ebx, 0x28
cmp ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x48], ebx
jbe 0x47a1c2
mov eax, dword [ebp - 0x3c]
cdq
push edx
push eax
call fcn.0044bf8d
mov ebx, eax
add dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x3c]
cdq
push edx
push eax
mov dword [ebp - 0x28], ebx
call fcn.0044bf8d
add esp, 0x10
cmp ebx, eax
jge 0x47a285
inc dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x3c]
mov ecx, edx
cdq
mov ebx, eax
mov eax, dword [ebp - 0x7c]
sub ebx, eax
mov eax, ecx
mov ecx, edx
sbb ecx, eax
add ebx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x58]
adc ecx, dword [ebp - 0x40]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ecx
mov eax, dword [eax + 0x48]
cdq
cmp ecx, edx
jg 0x47c2d9
jl 0x47a2c4
cmp ebx, eax
ja 0x47c2d9
push 0
mov eax, ebx
call fcn.00455e33
pop ecx
test eax, eax
jne 0x47bc18
mov eax, dword [ebp - 0x3c]
mov ecx, dword [edi + 4]
mov ebx, 0x80
mov dword [ebp - 0x4c], ecx
cmp eax, ebx
jae 0x47a2ef
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x47a2f4
call fcn.0044bd6e
movzx eax, al
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x48], eax
jmp 0x47a337
push dword [ebp - 0x10]
mov edx, dword [ebp - 0x48]
call fcn.0044fbda
mov edx, dword [ebp - 0xc]
pop ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
cmp eax, ebx
jae 0x47a323
mov byte [edx + ecx], al
xor eax, eax
inc eax
jmp 0x47a32a
add ecx, edx
call fcn.0044bd6e
movzx eax, al
add dword [ebp - 0xc], eax
add dword [ebp - 0x48], 0x28
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x1c]
jbe 0x47a302
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x48], eax
jmp 0x47a36a
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x34]
push dword [ebp - 0x10]
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x4c]
lea ebx, [eax + ecx]
mov eax, dword [ebp - 0x48]
call fcn.0044fcc0
add dword [ebp - 0xc], eax
add dword [ebp - 0x48], 0x28
mov eax, dword [ebp - 0x48]
pop ecx
pop ecx
cmp eax, dword [ebp - 0x1c]
jbe 0x47a344
mov eax, dword [ebp - 0x34]
and dword [edi + 0x20], 0
mov dword [edi + 0x18], eax
mov eax, 0x410
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x47a395
mov dword [edi + 0x10], eax
mov eax, 0x4410
mov word [edi + 0x1c], ax
mov byte [edi + 0x1f], 1
jmp case.0x478d8a.17
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x47a3bf
lea ecx, [ebp - 0x4c]
push ecx
call fcn.00472672
pop ecx
mov dword [ebp - 0x50], eax
jmp 0x47a3c7
and dword [ebp - 0x4c], 0
and dword [ebp - 0x48], 0
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x64]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x48]
jmp 0x478e9e
mov eax, dword [ebx + 4]
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0x48], ebx
test eax, eax
jne 0x47a492
mov edx, dword [ebp - 0x58]
cmp dword [edx + 0x90], eax
jle 0x47a40c
push str.cannot_open_savepoint___SQL_statements_in_progress
push edx
lea edi, [esi + 0x38]
call fcn.0045a0f2
pop ecx
pop ecx
jmp 0x47a66e
mov ecx, ebx
call fcn.0044b602
mov dword [ebp - 0x44], eax
add eax, 0x19
push eax
mov esi, edx
call fcn.00453b84
pop ecx
mov dword [ebp - 0x40], eax
test eax, eax
je 0x478fc6
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x44]
inc eax
push eax
push dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
push dword [eax]
call fcn.0048e160
mov eax, esi
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x47a45c
mov byte [eax + 0x1c], 0
mov byte [eax + 0x1e8], 1
jmp 0x47a462
inc dword [eax + 0x1e0]
mov esi, dword [ebp - 0x40]
lea ecx, [eax + 0x1dc]
mov edx, dword [ecx]
mov dword [esi + 0x10], edx
mov edx, dword [ebp - 0x40]
mov dword [ecx], edx
mov ecx, dword [eax + 0x1f0]
mov edx, dword [ebp - 0x40]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0x1f4]
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0xc], eax
jmp 0x478fc6
and dword [ebp - 0x34], 0
mov ebx, dword [ebp - 0x58]
mov edi, dword [ebx + 0x1dc]
mov dword [ebp - 0x3c], edi
test edi, edi
je 0x47a4c7
mov edx, dword [ebp - 0x48]
mov ecx, dword [edi]
call fcn.0044b677
test eax, eax
je 0x47a4c1
inc dword [ebp - 0x34]
mov edi, dword [edi + 0x10]
mov dword [ebp - 0x3c], edi
test edi, edi
jne 0x47a4a6
xor eax, eax
cmp edi, eax
jne 0x47a4e7
push dword [ebp - 0x48]
lea edi, [esi + 0x38]
push str.no_such_savepoint:__s
push ebx
call fcn.0045a0f2
add esp, 0xc
mov dword [ebp - 0x50], 1
jmp case.0x478d8a.17
cmp dword [ebx + 0x90], eax
jg 0x47a64a
cmp dword [ebp - 0x4c], 2
jne 0x47a506
cmp dword [ebx + 0x8c], 1
jg 0x47a650
cmp dword [edi + 0x10], eax
jne 0x47a55d
cmp byte [ebx + 0x1e8], 0
je 0x47a55d
xor ecx, ecx
inc ecx
mov dword [ebp - 0x70], ecx
cmp dword [ebp - 0x4c], ecx
jne 0x47a560
push ecx
mov eax, esi
call fcn.0045acc9
pop ecx
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47c344
mov edi, ebx
mov eax, esi
mov byte [edi + 0x1c], 1
call fcn.00477477
push 5
pop ecx
cmp eax, ecx
je 0x47cae6
mov byte [edi + 0x1e8], 0
mov eax, dword [esi + 0x5c]
mov dword [ebp - 0x50], eax
jmp 0x47a5f6
mov dword [ebp - 0x70], eax
mov ecx, dword [ebx + 0x1e0]
sub ecx, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
dec ecx
mov dword [ebp - 0x34], ecx
cmp dword [ebx + 4], eax
jle 0x47a5ad
jmp 0x47a57a
mov ecx, dword [ebp - 0x34]
push ecx
push dword [ebp - 0x4c]
mov ecx, ebx
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
call fcn.0046d60b
pop ecx
pop ecx
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47cb86
mov eax, dword [ebp - 0x30]
inc eax
mov ecx, ebx
mov dword [ebp - 0x30], eax
cmp eax, dword [ecx + 4]
jl 0x47a577
mov edi, dword [ebp - 0x3c]
cmp dword [ebp - 0x4c], 2
jne 0x47a5f9
test dword [ebx + 0xc], 0x200
je 0x47a5f9
mov eax, ebx
call fcn.0044ff2f
push 0xffffffffffffffff
call fcn.0045edb4
or dword [ebx + 0xc], 0x200
jmp 0x47a5f5
mov eax, dword [ebx + 0x1dc]
mov dword [ebp - 0x38], eax
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x1dc], eax
push dword [ebp - 0x38]
push ebx
call fcn.0044b423
dec dword [ebx + 0x1e0]
pop ecx
pop ecx
mov edi, dword [ebp - 0x3c]
cmp dword [ebx + 0x1dc], edi
jne 0x47a5d3
cmp dword [ebp - 0x4c], 1
jne 0x47a633
mov eax, dword [edi + 0x10]
mov dword [ebx + 0x1dc], eax
push dword [ebp - 0x3c]
push ebx
call fcn.0044b423
cmp dword [ebp - 0x70], 0
pop ecx
pop ecx
jne case.0x478d8a.17
mov eax, dword [ebp - 0x58]
dec dword [eax + 0x1e0]
jmp case.0x478d8a.17
mov eax, dword [edi + 8]
mov dword [ebx + 0x1f0], eax
mov eax, dword [edi + 0xc]
mov dword [ebx + 0x1f4], eax
jmp case.0x478d8a.17
cmp dword [ebp - 0x4c], 2
jne 0x47a657
mov eax, str.rollback
jmp 0x47a65c
mov eax, str.release
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
push ebx
lea edi, [esi + 0x38]
call fcn.0045a0f2
add esp, 0xc
mov dword [ebp - 0x50], 5
jmp case.0x478d8a.17
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0x58]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x48], ecx
test eax, eax
je 0x47a6ac
cmp byte [edi + 0x1c], 0
jne 0x47a6ac
xor ebx, ebx
inc ebx
mov dword [ebp - 0x44], ebx
test ecx, ecx
je 0x47a6ca
cmp dword [edi + 0x8c], ebx
jle 0x47a6b3
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x47a6d8
and dword [ebp - 0x44], 0
xor ebx, ebx
inc ebx
movzx edx, byte [edi + 0x1c]
cmp eax, edx
jne 0x47cafb
test eax, eax
jne 0x47a6de
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x47a6ec
cmp dword [edi + 0x90], 0
jle 0x47a6b3
push str.cannot_commit_transaction___SQL_statements_in_progress
push edi
jmp 0x47a3fd
mov eax, str.cannot_rollback___no_transaction_is_active
test ecx, ecx
jne 0x47a6ec
mov eax, str.cannot_commit___no_transaction_is_active
push eax
push dword [ebp - 0x58]
lea edi, [esi + 0x38]
call fcn.0045a0f2
pop ecx
pop ecx
mov dword [ebp - 0x50], ebx
jmp case.0x478d8a.17
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0x58]
mov ecx, dword [edi + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x4c], eax
test eax, eax
je case.0x478d8a.17
push dword [ebx + 8]
push eax
call fcn.0046e4f2
pop ecx
pop ecx
mov dword [ebp - 0x50], eax
push 5
pop eax
cmp dword [ebp - 0x50], eax
je 0x47cb64
xor eax, eax
cmp dword [ebp - 0x50], eax
jne 0x47cb86
cmp dword [ebx + 8], eax
je case.0x478d8a.17
cmp byte [esi + 0x68], al
je case.0x478d8a.17
cmp byte [edi + 0x1c], al
je 0x47a766
cmp dword [edi + 0x8c], 1
jle case.0x478d8a.17
cmp dword [esi + 0x78], eax
jne 0x47a780
mov ecx, dword [edi + 0x1e0]
lea eax, [edi + 0x1e4]
inc dword [eax]
mov eax, dword [eax]
add ecx, eax
mov dword [esi + 0x78], ecx
push dword [esi + 0x78]
mov eax, dword [ebp - 0x4c]
call fcn.00455dab
mov dword [ebp - 0x50], eax
mov eax, dword [edi + 0x1f0]
mov dword [esi + 0x98], eax
mov eax, dword [edi + 0x1f4]
pop ecx
mov dword [esi + 0x9c], eax
jmp case.0x478d8a.17
mov eax, dword [ebx + 4]
mov dword [ebp - 0x48], eax
mov ebx, dword [ebx + 0xc]
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x44], ebx
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push ebx
call fcn.0044f483
mov eax, dword [ebp - 0x4c]
pop ecx
pop ecx
jmp 0x478e81
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x58]
shl eax, 4
add eax, dword [ecx + 8]
mov dword [ebp - 0x4c], eax
mov esi, dword [ebx + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0x5c]
call fcn.0044f739
push dword [esi + 0x10]
mov eax, dword [ebp - 0x4c]
push dword [ebx + 8]
mov ebx, dword [eax + 4]
call fcn.0046c33a
pop ecx
pop ecx
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x50], eax
mov eax, dword [ecx + 8]
cmp eax, 1
jne 0x47a82e
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xc]
mov edx, dword [esi + 0x10]
mov dword [eax], edx
mov eax, dword [ebp - 0x58]
or dword [eax + 0xc], 0x200
jmp 0x47a83f
cmp eax, 2
jne 0x47a83f
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xc]
mov dl, byte [esi + 0x10]
mov byte [eax + 0x4c], dl
cmp dword [ecx + 4], 1
jne 0x478fc6
mov eax, dword [ebp - 0x58]
call fcn.0044ff2f
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x64], 0
mov esi, eax
jmp case.0x478d8a.17
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0x58]
mov ecx, dword [edi + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x47a895
lea ecx, [ebp - 0x4c]
push ecx
push 1
call fcn.0044f483
mov eax, dword [ebx + 4]
pop ecx
pop ecx
mov ecx, dword [edi + 8]
shl eax, 4
mov eax, dword [eax + ecx + 0xc]
mov eax, dword [eax + 4]
jmp 0x47a89b
and dword [ebp - 0x4c], 0
xor eax, eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x48], eax
cmp ecx, dword [ebx + 8]
jne 0x47a8af
cmp eax, dword [ebx + 0xc]
je case.0x478d8a.17
push dword [esi + 0x38]
push edi
call fcn.0044b423
push str.database_schema_has_changed
mov edx, edi
call fcn.00453c92
mov dword [esi + 0x38], eax
mov ebx, dword [ebx + 4]
mov ecx, dword [edi + 8]
mov eax, ebx
shl eax, 4
mov eax, dword [eax + ecx + 0xc]
mov eax, dword [eax]
add esp, 0xc
cmp eax, dword [ebp - 0x4c]
je 0x47a8e9
push ebx
mov ebx, edi
call fcn.0045edb4
pop ecx
mov byte [esi + 0x64], 1
mov dword [ebp - 0x50], 0x11
jmp case.0x478d8a.17
cmp byte [esi + 0x64], 0
je 0x47a90b
mov dword [ebp - 0x50], 4
jmp case.0x478d8a.17
mov edx, dword [ebp - 0x58]
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], ecx
mov edi, dword [ebx + 8]
mov dword [ebp - 0x44], edi
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x40], eax
shl eax, 4
add eax, dword [edx + 8]
mov dword [ebp - 0x30], eax
mov edx, dword [eax + 4]
mov dword [ebp - 0x38], edx
cmp byte [ebx], 0x27
jne 0x47a94d
mov dword [ebp - 0x3c], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x66]
jae 0x47a951
mov byte [esi + 0x66], al
jmp 0x47a951
and dword [ebp - 0x3c], 0
cmp byte [ebx + 3], 0
je 0x47a979
imul edi, edi, 0x28
add edi, dword [ebp - 0x5c]
mov esi, edi
call fcn.0044f739
mov esi, dword [esi + 0x10]
cmp esi, 2
mov dword [ebp - 0x44], esi
jl 0x47cb75
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x54]
mov al, byte [ebx + 1]
cmp al, 0xfa
jne 0x47a99e
mov eax, dword [ebx + 0x10]
mov ecx, dword [esi]
mov dword [ebp - 0x48], eax
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov cl, byte [ecx + 0x4d]
mov byte [eax + 4], cl
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x47a9a5
cmp al, 0xf2
jne 0x47a9a8
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebx + 4]
push 1
push dword [ebp - 0x40]
push ecx
push esi
call fcn.00474c4d
add esp, 0x10
mov dword [ebp - 0x34], eax
test eax, eax
je 0x47bc18
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0x34]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 0x34]
push dword [eax]
mov ebx, dword [ebp - 0x3c]
push dword [ebp - 0x48]
mov eax, dword [ebp - 0x38]
push dword [ebp - 0x44]
call fcn.0044f276
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x48]
add esp, 0xc
mov dword [ebp - 0x50], eax
mov dword [ecx + 8], edx
cmp eax, 0x10
jne 0x47aa04
mov eax, dword [ebp - 0x34]
and dword [eax], 0
and dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x68]
cmp byte [eax + 1], 0xfa
mov ecx, dword [ebp - 0x34]
setne al
mov byte [ecx + 0x1e], al
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0x1e], 0
sete cl
mov byte [eax + 0x1f], cl
jmp case.0x478d8a.17
mov edx, dword [ebx + 4]
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
push esi
call fcn.00474c4d
add esp, 0x10
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x47bc18
mov edx, dword [ebp - 0x58]
mov byte [eax + 0x1c], 1
movzx eax, byte [ebx + 3]
mov ecx, dword [ebp - 0x4c]
push 0x41e
or eax, 9
push eax
xor edi, edi
add ecx, 4
push 0
inc edi
call fcn.0046de85
add esp, 0xc
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47ab1d
mov eax, dword [ebp - 0x4c]
push edi
push dword [eax + 4]
call fcn.0046e4f2
pop ecx
pop ecx
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47ab1d
cmp dword [ebx + 0x10], eax
je 0x47aafb
lea eax, [ebp - 0x90]
push 2
push eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 4]
call fcn.0046fd8f
pop ecx
pop ecx
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47aaf2
mov eax, dword [ebp - 0x4c]
push dword [eax]
mov eax, dword [eax + 4]
push dword [ebx + 0x10]
mov ebx, edi
push dword [ebp - 0x90]
call fcn.0044f276
mov ecx, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x68]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 0x10]
mov dword [ecx + 8], eax
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ecx + 8]
mov al, byte [eax + 0x4d]
add esp, 0xc
mov byte [ecx + 4], al
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x1e], 0
jmp 0x47ab1d
mov eax, dword [ebp - 0x4c]
push dword [eax]
mov eax, dword [eax + 4]
push 0
push edi
mov ebx, edi
call fcn.0044f276
mov ebx, dword [ebp - 0x68]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
add esp, 0xc
mov byte [eax + 0x1e], 1
cmp byte [ebx + 3], 0x10
mov ecx, dword [ebp - 0x4c]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [ebp - 0x4c]
jmp 0x47aa17
mov edx, dword [ebx + 4]
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
push esi
call fcn.00474c4d
add esp, 0x10
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x47bc18
mov byte [eax + 0x1c], 1
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x1f], 0
jmp case.0x478d8a.17
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov edi, esi
call fcn.00474a21
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
and dword [ecx + eax*4], 0
jmp case.0x478d8a.17
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
xor edi, edi
mov dword [ebp - 0x44], eax
cmp dword [eax], edi
je 0x478da2
movzx ecx, byte [ebx]
mov dword [ebp - 0x48], ecx
mov byte [eax + 0x1c], 0
mov eax, dword [ebp - 0x44]
cmp byte [eax + 0x1e], 0
je 0x47ad0e
mov esi, dword [ebx + 0xc]
imul esi, esi, 0x28
add esi, dword [ebp - 0x5c]
call fcn.0045020f
mov ecx, esi
call fcn.0044f645
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], edx
mov byte [eax + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x47acc1
test al, 8
jne 0x47abfa
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x60], ebx
jmp 0x478fc6
cmp dword [ebp - 0x1c], edi
jne 0x47ac8a
mov eax, 0x80000000
cmp dword [ebp - 0x18], eax
jne 0x47ac8a
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x9c], edi
fild qword [ebp - 0x9c]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x47ac35
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x47ac8a
fldz
mov dword [ebp - 0x4c], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x47ac5d
cmp dword [ebp - 0x48], 0x2e
jl 0x47abee
mov eax, dword [ebp - 0x44]
mov esi, dword [eax]
lea edi, [ebp - 0x4c]
call fcn.0047156e
jmp 0x47ac70
cmp dword [ebp - 0x48], 0x2d
jg 0x47abee
mov eax, dword [ebp - 0x44]
mov esi, dword [eax]
lea edi, [ebp - 0x4c]
call fcn.0047158f
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47cb83
cmp dword [ebp - 0x4c], 0
je 0x478fc6
jmp 0x47abee
cmp dword [ebp - 0x48], 0x2c
je 0x47acad
cmp dword [ebp - 0x48], 0x2e
je 0x47acad
fild qword [ebp - 0x1c]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x47acc1
add dword [ebp - 0x1c], 0xffffffff
adc dword [ebp - 0x18], 0xffffffff
jmp 0x47acc1
fild qword [ebp - 0x1c]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x47acc1
add dword [ebp - 0x1c], 1
adc dword [ebp - 0x18], edi
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x44]
mov ebx, dword [eax]
push edi
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push edi
call fcn.004715c8
add esp, 0x14
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47cb83
mov esi, dword [ebp - 0x54]
xor ebx, ebx
cmp dword [ebp - 0x4c], ebx
jne 0x47ad79
mov eax, dword [ebp - 0x44]
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x44], eax
jmp 0x47ad79
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x3c], ecx
mov cx, word [ebp - 0x24]
mov word [ebp - 0x38], cx
mov ecx, dword [ebp - 0x48]
and ecx, 1
shl ecx, 3
mov word [ebp - 0x36], cx
mov ebx, dword [ebx + 0xc]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
mov ecx, 0x4000
mov dword [ebp - 0x2c], ebx
test word [ebx + 0x1c], cx
je 0x47ad50
mov eax, ebx
call fcn.00455ef2
mov eax, dword [ebp - 0x44]
mov ebx, dword [eax]
lea ecx, [ebp - 0x4c]
push ecx
push edi
push edi
lea ecx, [ebp - 0x3c]
push edi
push ecx
call fcn.004715c8
add esp, 0x14
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47cb86
mov eax, dword [ebp - 0x44]
mov byte [eax + 0x19], 0
xor ebx, ebx
mov eax, dword [ebp - 0x44]
mov byte [eax + 0x1d], bl
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x4c], ebx
cmp dword [ebp - 0x48], 0x2e
jl 0x47adb0
cmp dword [ebp - 0x4c], ebx
jl 0x47ada0
jne 0x47ad98
cmp dword [ebp - 0x48], 0x2f
je 0x47ada0
mov dword [ebp - 0x4c], ebx
jmp case.0x478d8a.17
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x44]
push dword [eax]
call fcn.0047434d
jmp 0x47adda
cmp dword [ebp - 0x4c], ebx
jg 0x47adcc
jne 0x47adbd
cmp dword [ebp - 0x48], 0x2c
je 0x47adcc
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
call fcn.0044f3d4
mov dword [ebp - 0x4c], eax
jmp 0x47adef
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x44]
push dword [eax]
call fcn.00474451
pop ecx
mov dword [ebp - 0x50], eax
pop ecx
cmp eax, ebx
jne 0x47cb86
mov eax, dword [ebp - 0x44]
xor ebx, ebx
mov byte [eax + 0x19], bl
cmp dword [ebp - 0x4c], ebx
je case.0x478d8a.17
jmp 0x47be51
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x4c], eax
cmp dword [eax], 0
je case.0x478d8a.17
mov byte [eax + 0x1c], 0
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
mov ecx, ebx
call fcn.0044f645
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x1d], 1
jmp case.0x478d8a.17
mov ecx, dword [esi + 0x44]
xor edx, edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0x48], ecx
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
cmp dword [ecx], edx
je 0x47af0c
cmp dword [ebx + 0x10], edx
jle 0x47ae8c
mov edi, dword [ecx + 8]
mov dword [ebp - 0x3c], edi
mov di, word [ebx + 0x10]
mov dword [ebp - 0x2c], eax
push 0x10
pop eax
mov word [ebp - 0x36], ax
lea eax, [ebp - 0x3c]
mov word [ebp - 0x38], di
mov dword [ebp - 0x40], eax
jmp 0x47aeb9
push dword [eax + 4]
mov ebx, dword [ecx + 8]
push dword [eax + 0x18]
mov edx, 0x97
lea eax, [ebp - 0x24]
call fcn.00456942
pop ecx
pop ecx
mov dword [ebp - 0x40], eax
test eax, eax
je 0x47bc18
or word [eax + 6], 0x10
mov ecx, dword [ebp - 0x48]
xor edx, edx
mov ebx, dword [ecx]
lea eax, [ebp - 0x44]
push eax
push edx
push edx
push edx
push dword [ebp - 0x40]
call fcn.004715c8
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x68]
add esp, 0x14
cmp dword [eax + 0x10], 0
jne 0x47aee4
mov esi, dword [ebp - 0x40]
call fcn.00456a5a
mov esi, dword [ebp - 0x54]
cmp dword [ebp - 0x50], 0
jne case.0x478d8a.17
mov ebx, dword [ebp - 0x68]
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x44], eax
sete cl
xor edx, edx
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x48]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0x48]
mov dword [ecx + 0x4c], eax
cmp byte [ebx], 0x32
jne 0x47af19
cmp dword [ebp - 0x4c], edx
jmp 0x4799a7
cmp dword [ebp - 0x4c], edx
jmp 0x479d07
mov eax, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
imul edi, edi, 0x28
mov ecx, dword [esi + 0x44]
add edi, dword [ebp - 0x5c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x48], eax
and dword [eax + 0x48], 0
mov eax, dword [ebp - 0x48]
and dword [eax + 0x4c], 0
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
mov dword [ebp - 0x44], ecx
mov ecx, dword [eax + 8]
mov cx, word [ecx + 6]
xor edx, edx
mov word [ebp - 0x40], cx
cmp dx, cx
mov ecx, dword [ebp - 0x3c]
mov word [ebp - 0x4c], dx
jae 0x47af97
movzx edx, word [ebp - 0x4c]
imul edx, edx, 0x28
test byte [edx + ecx + 0x1c], 1
jne 0x47af8c
mov dx, word [ebp - 0x40]
inc word [ebp - 0x4c]
cmp word [ebp - 0x4c], dx
jb 0x47af6e
jmp 0x47af97
mov ebx, dword [ebx + 8]
dec ebx
and dword [ebp - 0x44], 0
mov dword [ebp - 0x60], ebx
cmp dword [ebp - 0x44], 0
je case.0x478d8a.17
mov eax, dword [eax + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x40]
inc eax
mov word [ebp - 0x30], ax
push 0x20
pop eax
mov esi, edi
mov word [ebp - 0x2e], ax
mov dword [ebp - 0x24], ecx
call fcn.0044f739
mov eax, dword [edi + 0x10]
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x48]
add eax, 0x48
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004715c8
add esp, 0x14
test byte [ebp - 0x2e], 0x20
mov dword [ebp - 0x50], eax
jne 0x47b00e
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x1c]
jne 0x47b000
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x18]
je 0x47b00e
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x28]
mov dword [edi + 0x14], eax
jmp 0x478fc6
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0x60], eax
jmp 0x478fc6
mov edi, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
imul edi, edi, 0x28
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
add edi, dword [ebp - 0x5c]
mov dword [ebp - 0x4c], eax
mov ecx, dword [eax]
mov dword [ebp - 0x48], ecx
test ecx, ecx
je 0x47b0b0
and dword [ebp - 0x44], 0
mov eax, dword [edi + 0x10]
lea ebx, [ebp - 0x44]
push ebx
mov dword [ebp - 0x3c], eax
mov edx, dword [edi + 0x14]
push 0
push edx
push eax
push 0
mov ebx, ecx
mov dword [ebp - 0x38], edx
call fcn.004715c8
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x40], eax
mov ecx, dword [ebp - 0x4c]
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x44], eax
mov edx, dword [ebp - 0x4c]
xor eax, eax
add esp, 0x14
cmp dword [ebp - 0x44], eax
sete cl
mov byte [edx + 0x19], cl
mov ecx, dword [ebp - 0x4c]
mov byte [ecx + 0x1c], al
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0x4c]
mov byte [ecx + 0x1d], al
mov ecx, dword [ebp - 0x44]
cmp ecx, eax
je 0x47b0a5
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 8]
dec eax
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x48], ecx
jmp case.0x478d8a.17
mov ebx, dword [ebx + 8]
dec ebx
and dword [eax + 0x48], 0
mov dword [ebp - 0x60], ebx
jmp case.0x478d8a.17
mov ecx, dword [esi + 0x44]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov edx, dword [eax + 0x30]
mov ecx, dword [ebp - 0x64]
mov dword [ecx + 0x10], edx
mov eax, dword [eax + 0x34]
mov dword [ecx + 0x14], eax
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x478d8a.17
mov ecx, dword [esi + 0x44]
xor edx, edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x40], edx
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x44], eax
mov ecx, dword [eax]
cmp ecx, edx
je 0x47a3c7
cmp byte [eax + 0x1b], dl
jne 0x47b247
call fcn.0044f2dd
mov dword [ebp - 0x4c], eax
or eax, edx
mov dword [ebp - 0x48], edx
jne 0x47b184
mov eax, dword [ebp - 0x44]
mov esi, dword [eax]
lea edi, [ebp - 0x40]
call fcn.0047158f
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47cb83
xor esi, esi
cmp dword [ebp - 0x40], esi
je 0x47b152
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0x48], esi
jmp 0x47b181
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
lea edi, [ebp - 0x4c]
call fcn.0044f30c
cmp dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x50], eax
jne 0x47b17a
cmp dword [ebp - 0x48], 0x7fffffff
jne 0x47b17a
mov eax, dword [ebp - 0x44]
mov byte [eax + 0x1b], 1
jmp 0x47b181
add dword [ebp - 0x4c], 1
adc dword [ebp - 0x48], esi
mov esi, dword [ebp - 0x54]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x47b217
mov esi, dword [esi + 0xa8]
test esi, esi
je 0x47b1b4
mov eax, esi
jmp 0x47b19f
mov eax, ecx
mov dword [ebp - 0x34], eax
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x47b19d
mov ebx, dword [ebx + 0xc]
imul ebx, ebx, 0x28
add ebx, dword [eax + 0x10]
jmp 0x47b1bc
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x5c]
mov ebx, ecx
mov esi, ebx
mov dword [ebp - 0x38], ebx
call fcn.0044f739
mov eax, dword [ebp - 0x38]
mov edx, dword [eax + 0x14]
add eax, 0x10
mov ecx, dword [eax]
cmp ecx, 0xffffffff
jne 0x47b1e2
cmp edx, 0x7fffffff
je 0x47cbc4
mov esi, dword [ebp - 0x44]
cmp byte [esi + 0x1b], 0
jne 0x47cbc4
mov esi, dword [ebp - 0x48]
add ecx, 1
adc edx, 0
cmp esi, edx
jg 0x47b209
jl 0x47b203
cmp dword [ebp - 0x4c], ecx
jae 0x47b209
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x54]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x7fffffff
jg 0x47b234
mov eax, dword [ebp - 0x4c]
jl 0x47b22c
cmp eax, 0xffffffff
jae 0x47b234
add eax, 1
adc ecx, 0
jmp 0x47b238
xor eax, eax
xor ecx, ecx
push ecx
push eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
call fcn.0044f2ba
add esp, 8
mov eax, dword [ebp - 0x44]
cmp byte [eax + 0x1b], 0
je 0x47b300
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
push 0
pop edx
mov edi, 0x3fffffff
and eax, edi
add ecx, 1
lea ebx, [ebp - 0x40]
push ebx
adc eax, edx
push edx
push eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x44]
push ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x3c], edx
mov ebx, dword [eax]
push edx
call fcn.004715c8
xor ebx, ebx
add esp, 0x14
mov dword [ebp - 0x50], eax
cmp eax, ebx
jne 0x47b300
cmp dword [ebp - 0x40], ebx
jne 0x47b2f2
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x64
jge 0x47b2f2
lea eax, [ebp - 0x4c]
push eax
push 8
call sym.JHotNews.exe_sqlite3_randomness
cmp dword [ebp - 0x3c], 5
pop ecx
pop ecx
jge 0x47b2c0
and dword [ebp - 0x4c], 0xffffff
mov dword [ebp - 0x48], ebx
jmp 0x47b2c9
mov eax, dword [ebp - 0x4c]
and dword [ebp - 0x48], edi
mov dword [ebp - 0x4c], eax
add dword [ebp - 0x4c], 1
lea eax, [ebp - 0x40]
push eax
adc dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x44]
push ebx
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push ebx
mov ebx, dword [eax]
call fcn.004715c8
add esp, 0x14
xor ebx, ebx
mov dword [ebp - 0x50], eax
test eax, eax
je 0x47b293
cmp dword [ebp - 0x50], ebx
jne 0x47b300
cmp dword [ebp - 0x40], ebx
je 0x47cbcd
mov eax, dword [ebp - 0x44]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x44]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0x44]
and dword [eax + 0x4c], 0
jmp 0x47a3c7
mov ecx, dword [ebx + 8]
mov edx, dword [esi + 0x44]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebx + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x3c], eax
cmp byte [ebx], 0x37
jne 0x47b34e
mov edx, dword [ebx + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0x5c]
mov dword [ebp - 0x48], edx
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x44], eax
mov edx, dword [edx + 0x14]
jmp 0x47b355
mov eax, dword [ebx + 0xc]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
test byte [ebx + 3], 1
je 0x47b361
inc dword [esi + 0x6c]
test byte [ebx + 3], 2
je 0x47b376
mov ecx, dword [ebp - 0x58]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0x40]
mov dword [ecx + 0x34], eax
mov ecx, dword [ebp - 0x4c]
xor edi, edi
test byte [ecx + 0x1c], 1
je 0x47b38a
mov dword [ecx + 4], edi
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x18], edi
mov ecx, dword [ebp - 0x4c]
test byte [ebx + 3], 0x10
je 0x47b39b
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x48]
mov dword [ebp - 0x34], eax
jmp 0x47b39e
mov dword [ebp - 0x34], edi
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x47b3b1
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x38], eax
jmp 0x47b3b4
mov dword [ebp - 0x38], edi
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
push edi
push edi
call fcn.0044f2ba
push dword [ebp - 0x34]
movzx eax, byte [ebx + 3]
and eax, 8
push eax
push dword [ebp - 0x38]
mov eax, dword [ebp - 0x4c]
push dword [eax + 0x18]
push dword [eax + 4]
mov eax, dword [ebp - 0x3c]
push dword [ebp - 0x40]
mov eax, dword [eax]
push dword [ebp - 0x44]
push edi
call fcn.00474554
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 0x19], 0
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 0x1d], 0
mov ecx, dword [ebp - 0x3c]
add esp, 0x28
mov dword [ebp - 0x50], eax
mov dword [ecx + 0x4c], edi
cmp eax, edi
jne case.0x478d8a.17
mov eax, dword [ebp - 0x58]
cmp dword [eax + 0xbc], 0
je case.0x478d8a.17
cmp dword [ebx + 0x10], 0
je case.0x478d8a.17
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ecx + 8]
push dword [ebp - 0x40]
shl eax, 4
mov edx, dword [eax + edx]
push dword [ebp - 0x44]
mov dword [ebp - 0x30], edx
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x2c], edi
mov al, byte [ebx + 3]
and al, 4
movzx eax, al
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push edx
push eax
mov dword [ebp - 0x28], eax
push dword [ecx + 0xb8]
call dword [ecx + 0xbc]
add esp, 0x18
jmp case.0x478d8a.17
mov ecx, dword [esi + 0x44]
xor edi, edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], edi
mov eax, dword [ebx + 4]
mov esi, dword [ecx + eax*4]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x44], esi
cmp dword [eax + 0xbc], edi
je 0x47b4a1
cmp dword [ebx + 0x10], edi
je 0x47b4a1
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x48], eax
call fcn.00474a5e
mov dword [ebp - 0x50], eax
cmp eax, edi
jne 0x47cb83
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
xor esi, esi
push esi
push esi
call fcn.0044f2ba
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
add esp, 8
call fcn.00474711
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x50], eax
mov dword [ecx + 0x4c], esi
cmp eax, esi
jne 0x47b510
mov eax, dword [ebp - 0x58]
mov edx, dword [eax + 0xbc]
cmp edx, esi
je 0x47b510
mov ecx, dword [ebx + 0x10]
cmp ecx, esi
je 0x47b510
push dword [ebp - 0x48]
mov esi, dword [eax + 8]
push dword [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx + 0xc]
shl ecx, 4
push dword [ecx + esi]
push 9
push dword [eax + 0xb8]
call edx
add esp, 0x18
test byte [ebx + 8], 1
je 0x478fc6
mov eax, dword [ebp - 0x54]
inc dword [eax + 0x6c]
jmp 0x47a858
mov ecx, dword [esi + 0x6c]
mov eax, dword [ebp - 0x58]
call fcn.0044ff23
and dword [esi + 0x6c], 0
jmp case.0x478d8a.17
mov eax, dword [ebx + 8]
mov ecx, dword [esi + 0x44]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebx + 4]
mov esi, dword [ecx + eax*4]
mov dword [ebp - 0x4c], esi
mov eax, dword [esi]
mov dword [ebp - 0x48], eax
call fcn.00474a5e
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47cb83
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 0x1f], 0
je 0x47b5a0
mov eax, dword [ebp - 0x48]
lea edi, [ebp - 0x3c]
call fcn.0044f30c
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 0x48]
cdq
mov ecx, eax
mov eax, dword [ebp - 0x38]
cmp eax, edx
jg 0x47c2d6
mov eax, dword [ebp - 0x3c]
jl 0x47b59b
cmp eax, ecx
ja 0x47c2d6
mov dword [ebp - 0x44], eax
jmp 0x47b5bc
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x48]
call fcn.0044f332
mov eax, dword [ebp - 0x44]
pop ecx
mov ecx, dword [ebp - 0x58]
cmp eax, dword [ecx + 0x48]
ja 0x47c2d6
mov edi, dword [ebp - 0x64]
push 0
call fcn.00455e33
pop ecx
test eax, eax
jne 0x47bc15
mov eax, dword [ebp - 0x44]
mov esi, edi
push dword [esi + 4]
mov dword [esi + 0x18], eax
mov ax, word [esi + 0x1c]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 0x1f], 0
push dword [ebp - 0x44]
push 0
je 0x47b609
mov eax, dword [ebp - 0x48]
call fcn.0046ecef
add esp, 0xc
jmp 0x47b614
push dword [ebp - 0x48]
call fcn.00474312
add esp, 0x10
mov dword [ebp - 0x50], eax
mov byte [esi + 0x1f], 1
jmp 0x478fc6
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x4c], eax
cmp byte [eax + 0x1c], 0
jne case.0x478d8a.10
cmp byte [eax + 0x1d], 0
je 0x47b64a
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x44], ecx
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x40], eax
jmp 0x47b6b4
cmp dword [eax + 0x24], 0
je 0x47b67b
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ecx]
lea edx, [ebp - 0x44]
push edx
mov dword [ebp - 0x38], ecx
push dword [eax + 0x24]
call dword [ecx + 0x30]
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x54]
pop ecx
pop ecx
mov dword [ebp - 0x50], eax
call fcn.00456d85
mov esi, edi
jmp 0x47b6b4
mov esi, eax
call fcn.00474a5e
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47cb83
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 0x19], 0
je 0x47b6a4
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x44], ecx
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x40], eax
jmp 0x47b6b1
mov eax, dword [eax]
lea edi, [ebp - 0x44]
call fcn.0044f30c
mov dword [ebp - 0x50], eax
mov esi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x64]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x40]
jmp 0x478e9e
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x4c], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
test eax, eax
je case.0x478d8a.17
mov esi, eax
call fcn.0044ed4a
jmp 0x478fc6
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x4c], eax
mov ecx, dword [eax]
mov dword [ebp - 0x48], ecx
test ecx, ecx
jne 0x47b713
mov dword [ebp - 0x44], 1
jmp 0x47b726
lea edi, [ebp - 0x44]
mov esi, ecx
call fcn.0047158f
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
mov cl, byte [ebp - 0x44]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x4c]
and dword [eax + 0x4c], 0
mov ebx, dword [ebx + 8]
test ebx, ebx
jle case.0x478d8a.17
cmp dword [ebp - 0x44], 0
je case.0x478d8a.17
jmp 0x478da5
inc dword [esi + 0x80]
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x44], 1
mov ecx, dword [eax]
mov dword [ebp - 0x48], ecx
test ecx, ecx
je 0x47b7b2
lea edi, [ebp - 0x44]
mov esi, ecx
call fcn.0047156e
cmp dword [ebp - 0x44], 0
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x50], eax
sete al
mov byte [ecx + 0x1a], al
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0x4c]
and dword [eax + 0x4c], 0
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0x4c]
mov cl, byte [ebp - 0x44]
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0x44], 0
jmp 0x4799a7
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x47cbd6
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x4c], eax
test eax, eax
je case.0x478d8a.17
mov ecx, dword [eax]
mov dword [ebp - 0x48], ecx
test ecx, ecx
jne 0x47b7f8
mov byte [eax + 0x1c], 1
jmp case.0x478d8a.17
lea eax, [ebp - 0x44]
mov dword [ebp - 0x44], 1
cmp byte [ebx], 0x43
push eax
push ecx
jne 0x47b810
call fcn.0047434d
jmp 0x47b815
call fcn.00474451
pop ecx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
pop ecx
mov cl, byte [ebp - 0x44]
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0x4c]
and dword [eax + 0x4c], 0
cmp dword [ebp - 0x44], 0
jne 0x47b847
mov eax, dword [ebx + 8]
mov bl, byte [ebx + 3]
dec eax
mov dword [ebp - 0x60], eax
test bl, bl
je 0x47b847
movzx eax, bl
lea eax, [esi + eax*4 + 0x78]
inc dword [eax]
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x19], 0
jmp case.0x478d8a.17
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0x4c], ecx
mov edi, dword [ebx + 8]
mov eax, dword [ecx]
imul edi, edi, 0x28
add edi, dword [ebp - 0x5c]
mov dword [ebp - 0x48], eax
test eax, eax
je case.0x478d8a.17
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x47b88f
mov eax, edi
call fcn.00455ef2
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
jmp 0x47b893
and dword [ebp - 0x50], 0
cmp dword [ebp - 0x50], 0
jne case.0x478d8a.17
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x44], eax
mov edi, dword [edi + 4]
mov dword [ebp - 0x40], edi
test byte [ebx + 3], 0x10
je 0x47b8b4
mov ecx, dword [ecx + 0x48]
jmp 0x47b8b6
xor ecx, ecx
push ecx
push dword [ebx + 0xc]
xor ebx, ebx
push ebx
push ebx
cdq
push 0x4c42ec
push edx
push eax
mov eax, dword [ebp - 0x48]
push edi
call fcn.00474554
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
add esp, 0x20
mov dword [eax + 0x4c], ebx
jmp case.0x478d8a.17
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x4c], eax
mov ecx, dword [eax]
xor edx, edx
mov dword [ebp - 0x48], ecx
cmp ecx, edx
je case.0x478d8a.17
mov eax, dword [eax + 8]
mov dword [ebp - 0x3c], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x38], ax
xor eax, eax
mov word [ebp - 0x36], ax
mov eax, dword [ebx + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
mov ebx, ecx
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x44]
push eax
push edx
push edx
push edx
lea eax, [ebp - 0x3c]
push eax
call fcn.004715c8
add esp, 0x14
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47b947
cmp dword [ebp - 0x44], eax
jne 0x47b947
mov eax, dword [ebp - 0x48]
call fcn.00474711
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
and dword [eax + 0x4c], 0
jmp case.0x478d8a.17
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov ebx, dword [ebp - 0x64]
mov dword [ebp - 0x48], eax
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
xor eax, eax
inc eax
mov word [ebx + 0x1c], ax
cmp dword [ebp - 0x4c], 0
je case.0x478d8a.17
mov esi, dword [ebp - 0x48]
call fcn.00474a5e
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47cb83
mov eax, dword [ebp - 0x48]
cmp byte [eax + 0x1c], 0
jne 0x478fc6
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x4c]
call fcn.00474ad5
pop ecx
pop ecx
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47cb83
mov eax, dword [ebp - 0x44]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x40]
push 4
mov dword [ebx + 0x14], eax
pop eax
mov word [ebx + 0x1c], ax
jmp 0x478fc6
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x4c], eax
cmp dword [eax], 0
je case.0x478d8a.17
mov ecx, dword [eax + 8]
mov dword [ebp - 0x44], ecx
mov cx, word [ebx + 0x10]
mov word [ebp - 0x40], cx
cmp byte [ebx + 3], 0
je 0x47b9f6
push 0xc
jmp 0x47b9f8
push 4
pop ecx
mov word [ebp - 0x3e], cx
mov ecx, dword [ebx + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x44]
push ecx
call fcn.00474bbb
cmp byte [ebx], 0x51
pop ecx
pop ecx
mov dword [ebp - 0x50], eax
jne 0x47ba25
neg dword [ebp - 0x48]
jmp 0x47ba28
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0
jle case.0x478d8a.17
jmp 0x478da2
mov ecx, dword [ebp - 0x58]
and dword [ebp - 0x48], 0
mov eax, dword [ecx + 0x88]
jmp 0x47ba61
cmp dword [eax + 0x34], 0xbdf20da3
jne 0x47ba5e
cmp byte [eax + 0x67], 2
jae 0x47ba5e
cmp dword [eax + 0x58], 0
jl 0x47ba5e
inc dword [ebp - 0x48]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0x44], eax
test eax, eax
jne 0x47ba46
mov edi, dword [ebp - 0x64]
xor eax, eax
inc eax
mov word [edi + 0x1c], ax
cmp dword [ebp - 0x48], eax
jle 0x47ba87
mov dword [ebp - 0x50], 6
mov byte [esi + 0x60], 2
jmp case.0x478d8a.17
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x40], eax
mov ecx, dword [ecx + 8]
lea edx, [ebp - 0x4c]
push edx
push dword [ebx + 4]
shl eax, 4
mov eax, dword [eax + ecx + 4]
call fcn.0047264b
pop ecx
pop ecx
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
push 4
pop eax
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0x4c]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jne case.0x478d8a.17
cmp dword [ebp - 0x4c], 0
je case.0x478d8a.17
mov edi, dword [ebx + 4]
mov esi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x58]
call fcn.00450d3a
mov al, byte [ebp - 0x40]
inc al
mov byte [ebp - 0x71], al
jmp 0x478fc6
and dword [ebp - 0x4c], 0
mov eax, dword [ebx + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0x4c]
and eax, ecx
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx + 8]
push eax
mov eax, dword [ebx + 8]
push dword [ebx + 4]
shl eax, 4
mov ebx, dword [eax + ecx + 4]
call fcn.00472472
pop ecx
pop ecx
mov ecx, dword [ebp - 0x68]
cmp dword [ecx + 0xc], 0
mov dword [ebp - 0x50], eax
je case.0x478d8a.17
mov eax, dword [ebp - 0x4c]
add dword [esi + 0x6c], eax
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jle case.0x478d8a.17
mov edx, dword [ebp - 0x5c]
imul ecx, ecx, 0x28
lea ecx, [ecx + edx + 0x10]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x478d8a.17
and dword [ebp - 0x4c], 0
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x58]
shl eax, 4
add eax, dword [ecx + 8]
xor ecx, ecx
mov dword [ebp - 0x44], eax
cmp byte [ebx], 0x62
setne cl
inc ecx
mov dword [ebp - 0x48], ecx
mov eax, dword [eax + 4]
push ecx
lea ecx, [ebp - 0x4c]
push ecx
call fcn.0046fd8f
mov dword [ebp - 0x50], eax
jmp 0x47a7cf
mov eax, dword [ebx + 4]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], str.sqlite_temp_master
cmp eax, 1
je 0x47bb99
mov dword [ebp - 0x48], str.sqlite_master
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebx + 4]
mov dword [ebp - 0x3c], edx
add esi, 0x38
mov dword [ebp - 0x38], esi
push dword [ebx + 0x10]
mov edx, dword [ecx + 8]
push dword [ebp - 0x48]
shl eax, 4
push dword [eax + edx]
mov esi, ecx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.00453dc4
add esp, 0x10
mov dword [ebp - 0x44], eax
test eax, eax
je 0x47bc15
push 0
lea eax, [ebp - 0x40]
push eax
mov byte [esi + 0x7c], 1
and dword [ebp - 0x34], 0
push fcn.00478b5c
push dword [ebp - 0x44]
push esi
call sym.JHotNews.exe_sqlite3_exec
add esp, 0x14
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47bbfc
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x50], eax
push dword [ebp - 0x44]
push esi
call fcn.0044b423
cmp dword [ebp - 0x50], 7
pop ecx
pop ecx
mov byte [esi + 0x7c], 0
jne 0x478fc6
mov esi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
push 0x4adabc
push eax
lea edi, [esi + 0x38]
mov byte [eax + 0x1e], 1
call fcn.0045a0f2
mov dword [ebp - 0x50], 7
jmp 0x47c2f0
mov ecx, dword [ebx + 4]
mov eax, dword [ebp - 0x58]
call fcn.00457b7a
jmp 0x47a11d
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0x58]
call fcn.0045b4f8
jmp 0x478fc6
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0x58]
call fcn.00457f76
jmp case.0x478d8a.17
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x58]
call fcn.00459178
jmp case.0x478d8a.17
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x4c], eax
lea eax, [eax*4 + 4]
push eax
call fcn.00453b84
pop ecx
mov dword [ebp - 0x48], eax
test eax, eax
je 0x47bc15
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov edi, dword [ebx + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0x5c]
cmp dword [ebp - 0x4c], ecx
mov dword [ebp - 0x44], ecx
jle 0x47bce2
imul ecx, ecx, 0x28
add ecx, edi
call fcn.0044f645
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x48]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
inc ecx
cmp ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x44], ecx
jl 0x47bcc3
mov eax, dword [ebp - 0x48]
and dword [eax + ecx*4], 0
mov eax, dword [ebp - 0x38]
push dword [eax + 0x10]
movzx eax, byte [ebx + 3]
push dword [ebp - 0x4c]
mov ecx, dword [esi + 8]
push dword [ebp - 0x48]
shl eax, 4
mov ecx, dword [eax + ecx + 4]
lea edx, [ebp - 0x40]
call fcn.00470566
push dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
push esi
call fcn.0044b423
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x38]
cdq
add ecx, 0x10
add esp, 0x14
sub dword [ecx], eax
sbb dword [ecx + 4], edx
call fcn.0044f7e8
cmp dword [ebp - 0x40], 0
je 0x47bd54
cmp dword [ebp - 0x3c], 0
je 0x47bc15
push 1
push dword [ebp - 0x3c]
mov eax, sym.JHotNews.exe_sqlite3_free
or ecx, 0xffffffff
mov edx, edi
call fcn.0045dea4
pop ecx
pop ecx
movzx eax, byte [ebp - 0x6c]
push eax
mov eax, edi
call fcn.0045de13
jmp 0x478fc5
mov edi, dword [ebx + 4]
mov ebx, dword [ebx + 8]
imul edi, edi, 0x28
add edi, dword [ebp - 0x5c]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
test byte [edi + 0x1c], 0x20
jne 0x47bd8c
call fcn.0045609a
test byte [edi + 0x1c], 0x20
je 0x47bc18
push dword [ebx + 0x14]
push dword [ebx + 0x10]
mov edi, dword [edi + 0x10]
call fcn.0045508e
pop ecx
pop ecx
jmp case.0x478d8a.17
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x47cbd6
mov eax, dword [ebx + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
test byte [eax + 0x1c], 0x20
mov dword [ebp - 0x68], eax
je 0x47bde7
mov eax, dword [eax + 0x10]
lea edi, [ebp - 0x4c]
call fcn.0044da6e
test eax, eax
je 0x47bde7
mov esi, dword [ebx + 0xc]
push dword [ebp - 0x48]
imul esi, esi, 0x28
push dword [ebp - 0x4c]
add esi, dword [ebp - 0x5c]
jmp 0x479c65
mov edi, dword [ebp - 0x68]
call fcn.0044f7e8
jmp 0x478da2
mov edi, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
imul edi, edi, 0x28
add edi, dword [ebp - 0x5c]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0x4c], ebx
test byte [edi + 0x1c], 0x20
mov dword [ebp - 0x70], eax
jne 0x47be27
call fcn.0045609a
test byte [edi + 0x1c], 0x20
je 0x47bc18
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x47be67
jl 0x47be32
and ebx, 0xf
jmp 0x47be37
mov ebx, 0xff
mov eax, dword [ebp - 0x70]
push dword [eax + 0x14]
push dword [eax + 0x10]
mov eax, dword [edi + 0x10]
call fcn.0044daa2
pop ecx
pop ecx
mov dword [ebp - 0x48], eax
test eax, eax
je 0x47be5c
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 8]
jmp 0x478dcb
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
jl case.0x478d8a.17
mov eax, dword [ebp - 0x70]
push dword [eax + 0x14]
push dword [eax + 0x10]
jmp 0x47bd92
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x44], eax
cmp byte [ebx + 3], 0
je 0x47beb7
mov edx, dword [esi + 0xa8]
mov edi, dword [ecx + 0x10]
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x38], edx
test edx, edx
je 0x47beb7
cmp dword [edx + 0x20], edi
je 0x47beaf
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x38], edx
test edx, edx
jne 0x47bea0
test edx, edx
jne case.0x478d8a.17
mov edx, dword [esi + 0xb0]
mov edi, dword [ebp - 0x58]
cmp edx, dword [edi + 0x70]
jl 0x47bedf
push str.too_many_levels_of_trigger_recursion
push edi
lea edi, [esi + 0x38]
mov dword [ebp - 0x50], 1
call fcn.0045a0f2
jmp 0x47bd9a
test byte [eax + 0x1c], 0x40
jne 0x47bfd2
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov dword [ebp - 0x4c], eax
imul eax, eax, 0xa
add eax, dword [ecx + 0xc]
lea eax, [eax*4 + 0x40]
mov dword [ebp - 0x48], eax
push eax
mov eax, edi
call fcn.0045a0cc
pop ecx
mov dword [ebp - 0x38], eax
test eax, eax
je 0x47bc18
push dword [ebp - 0x44]
call fcn.00455ff0
pop ecx
mov ecx, dword [ebp - 0x44]
push 0x40
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x38]
mov dword [eax], esi
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x4c]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x60]
mov dword [eax + 4], ecx
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x44]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 0x18], eax
mov ax, word [esi + 0x32]
mov ecx, dword [ebp - 0x38]
mov word [ecx + 0x1c], ax
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x24]
imul ecx, ecx, 0x28
lea edx, [ecx + eax + 0x40]
lea ecx, [eax + 0x40]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], ecx
cmp ecx, edx
je 0x47bfd8
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0x40]
mov dword [eax], edi
mov ecx, dword [ebp - 0x40]
add ecx, 0x28
mov dword [ebp - 0x40], ecx
cmp ecx, dword [ebp - 0x3c]
jne 0x47bfb3
mov eax, dword [ebp - 0x38]
jmp 0x47bfd8
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x38], eax
inc dword [esi + 0xb0]
mov ecx, dword [esi + 0xa8]
mov dword [eax + 0x3c], ecx
mov eax, dword [edi + 0x30]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 0x30], eax
mov eax, dword [edi + 0x34]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 0x34], eax
mov eax, dword [esi + 0x6c]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0x38]
and dword [esi + 0x6c], 0
lea ecx, [eax + 0x18]
mov dword [esi + 0xa8], eax
mov dword [esi + 8], ecx
mov edx, dword [eax + 0x24]
mov dword [esi + 0x18], edx
mov ax, word [eax + 0x28]
mov word [esi + 0x32], ax
mov eax, edx
inc eax
imul eax, eax, 0x28
add eax, ecx
or dword [ebp - 0x60], 0xffffffff
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x34]
mov dword [esi + 0x44], eax
mov eax, dword [ecx]
mov dword [ebp - 0x8c], eax
mov dword [esi + 4], eax
mov eax, dword [ecx + 4]
mov dword [esi + 0x1c], eax
jmp case.0x478d8a.17
mov esi, dword [esi + 0xa8]
mov dword [ebp - 0x4c], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
imul eax, eax, 0x14
mov edi, dword [eax + ecx + 4]
add edi, dword [ebx + 4]
push 0x1000
imul edi, edi, 0x28
add edi, dword [esi + 0x10]
mov dword [ebp - 0x48], edi
jmp 0x478fbd
cmp dword [ebx + 4], 0
mov eax, dword [ebx + 8]
cdq
je 0x47c092
mov ecx, dword [ebp - 0x58]
add ecx, 0x1f0
jmp 0x47bb42
lea ecx, [esi + 0x90]
jmp 0x47bb42
cmp dword [ebx + 4], 0
je 0x47c0b7
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 0x1f0]
or ecx, dword [eax + 0x1f4]
jmp 0x479d07
mov eax, dword [esi + 0x90]
or eax, dword [esi + 0x94]
jmp 0x479d07
mov esi, dword [esi + 0xa8]
test esi, esi
je 0x47c0ed
mov eax, esi
jmp 0x47c0d8
mov eax, ecx
mov dword [ebp - 0x48], eax
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x47c0d6
mov esi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, dword [eax + 0x10]
jmp 0x47c0f6
mov esi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x5c]
mov dword [ebp - 0x4c], esi
call fcn.0044f739
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
mov esi, ebx
call fcn.0044f739
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebx + 0x10]
mov ebx, dword [ebx + 0x14]
mov edx, dword [eax + 0x14]
add eax, 0x10
cmp edx, ebx
jg 0x478fc6
jl 0x47c131
mov edx, dword [eax]
cmp edx, ecx
jae 0x478fc6
mov dword [eax], ecx
mov dword [eax + 4], ebx
jmp 0x478fc6
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x5c]
imul eax, eax, 0x28
cmp dword [eax + ecx + 0x14], 0
jl case.0x478d8a.17
jg 0x478da2
cmp dword [eax + ecx + 0x10], 0
jbe case.0x478d8a.17
jmp 0x478da2
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x5c]
imul eax, eax, 0x28
cmp dword [eax + ecx + 0x14], 0
jg case.0x478d8a.17
jl 0x478da2
cmp dword [eax + ecx + 0x10], 0
jae case.0x478d8a.17
jmp 0x478da2
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x5c]
cdq
add dword [ecx + 0x10], eax
mov eax, dword [ecx + 0x10]
adc dword [ecx + 0x14], edx
or eax, dword [ecx + 0x14]
jmp 0x479d07
movzx ecx, byte [ebx + 3]
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebx + 8]
and dword [ebp - 0x48], 0
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
mov dword [ebp + 4], edx
mov dword [ebp - 0x40], eax
test ecx, ecx
jle 0x47c1f3
mov ecx, dword [ebp + 4]
mov edx, dword [ebp - 0x48]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0x40]
call fcn.004501e4
inc dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
add eax, 0x28
cmp ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x40], eax
jl 0x47c1ce
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
xor edi, edi
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xc], eax
inc dword [eax + 0x18]
xor eax, eax
inc eax
mov word [ebp - 0x18], ax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
mov dword [ebp - 4], edi
test byte [eax + 3], 8
je 0x47c238
mov ecx, dword [ebx - 4]
mov dword [ebp - 4], ecx
push dword [ebp + 4]
lea ecx, [ebp - 0x3c]
push dword [ebp - 0x4c]
push ecx
call dword [eax + 0x10]
add esp, 0xc
cmp dword [ebp - 8], edi
je 0x47c270
lea eax, [ebp - 0x34]
push eax
call sym.JHotNews.exe_sqlite3_value_text
push eax
push 0x4c43f4
push dword [ebp - 0x58]
lea edi, [esi + 0x38]
call fcn.0045a0f2
mov eax, dword [ebp - 8]
add esp, 0x10
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x34]
push eax
call fcn.00455ff0
jmp 0x47bd9b
mov esi, dword [ebx + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0x5c]
mov dword [ebp - 0x4c], esi
mov edi, dword [ebx + 0x10]
call fcn.0044f5ad
mov dword [ebp - 0x50], eax
test eax, eax
je 0x47c2b8
push dword [ebp - 0x4c]
call sym.JHotNews.exe_sqlite3_value_text
mov edi, dword [ebp - 0x54]
push eax
push 0x4c43f4
push dword [ebp - 0x58]
add edi, 0x38
call fcn.0045a0f2
add esp, 0x10
movzx eax, byte [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x4c]
call fcn.0045de13
pop ecx
mov ecx, dword [ebp - 0x4c]
call fcn.0044f829
test eax, eax
je 0x478fc6
mov esi, dword [ebp - 0x54]
push str.string_or_blob_too_big
push dword [ebp - 0x58]
lea edi, [esi + 0x38]
call fcn.0045a0f2
mov dword [ebp - 0x50], 0x12
pop ecx
pop ecx
push dword [esi + 0x38]
mov edi, dword [ebp - 0x50]
push dword [esi + 0xa0]
mov dword [esi + 0x5c], edi
push dword [ebp - 0x60]
push str.statement_aborts_at__d:___s___s
push edi
call sym.JHotNews.exe_sqlite3_log
add esp, 0x14
mov eax, esi
call fcn.00477477
cmp edi, 0xc0a
jne 0x47c328
mov eax, dword [ebp - 0x58]
mov byte [eax + 0x1e], 1
cmp byte [ebp - 0x71], 0
mov dword [ebp - 0x50], 1
jbe 0x47c344
movzx eax, byte [ebp - 0x71]
mov ebx, dword [ebp - 0x58]
dec eax
push eax
call fcn.0045edb4
pop ecx
mov edi, esi
call fcn.0044facd
mov ecx, dword [ebp + 0x74]
mov eax, dword [ebp - 0x50]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00488e60
add ebp, 0x78
leave
ret
or dword [ebp - 0x40], 0xffffffff
or dword [ebp - 0x44], 0xffffffff
mov esi, dword [ebp - 0x58]
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x44]
push eax
xor edi, edi
mov dword [ebp - 0x48], edi
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.0046bfd2
add esp, 0x10
mov dword [ebp - 0x50], eax
cmp eax, 5
jne 0x47c398
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x4c], edi
mov ebx, dword [ebx + 0xc]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0x48]
cdq
push edx
push eax
mov esi, ebx
call fcn.0045603f
mov ebx, dword [ebp - 0x3c]
inc dword [ebp - 0x4c]
add ebx, 0x28
cmp dword [ebp - 0x4c], 3
pop ecx
pop ecx
mov dword [ebp - 0x3c], ebx
jl 0x47c3a7
jmp 0x478fc6
mov ecx, dword [ebx + 0xc]
mov edi, dword [ebp - 0x58]
mov dword [ebp - 0x44], ecx
mov eax, dword [ebx + 4]
mov edx, dword [edi + 8]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0x4c], eax
call fcn.0044f4b1
mov dword [ebp - 0x48], eax
call fcn.0044e355
mov dword [ebp - 0x40], eax
cmp ecx, 0xffffffff
jne 0x47c402
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
call fcn.0044e35a
test eax, eax
jne 0x47c414
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
call fcn.0044e314
push 5
pop edx
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x44], edx
jne 0x47c43e
cmp byte [eax], 0
je 0x47c438
mov eax, dword [ebp - 0x48]
call fcn.0044e3ad
test eax, eax
jne 0x47c43e
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x44], eax
je 0x47c4b1
cmp eax, edx
je 0x47c44f
cmp dword [ebp - 0x44], edx
jne 0x47c4b1
cmp byte [edi + 0x1c], 0
je 0x47c4fe
cmp dword [edi + 0x8c], 1
jg 0x47c4fe
cmp eax, edx
jne 0x47c47e
mov eax, dword [ebp - 0x48]
call fcn.0046c1ae
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47c4ab
mov ecx, dword [ebp - 0x44]
jmp 0x47c486
cmp eax, 4
jne 0x47c48e
push 2
pop ecx
mov edi, dword [ebp - 0x48]
call fcn.0046d55d
push dword [ebp - 0x4c]
xor ebx, ebx
cmp dword [ebp - 0x44], 5
sete bl
inc ebx
call fcn.004707ab
mov ebx, dword [ebp - 0x68]
pop ecx
mov dword [ebp - 0x50], eax
test eax, eax
je 0x47c4b1
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x48]
call fcn.0046d55d
mov dword [ebp - 0x44], eax
mov ebx, dword [ebx + 8]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
mov eax, 0xa02
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x64], ebx
call fcn.004516e9
mov ecx, eax
mov dword [ebx + 4], eax
call fcn.0044b602
mov dword [ebx + 0x18], eax
movzx eax, byte [ebp - 0x6c]
push eax
mov eax, ebx
mov byte [ebx + 0x1f], 1
call fcn.0045de13
jmp 0x47bd9b
mov dword [ebp - 0x50], 1
mov eax, str.into
cmp dword [ebp - 0x44], edx
je 0x47c514
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push edi
lea edi, [esi + 0x38]
call fcn.0045a0f2
add esp, 0xc
jmp case.0x478d8a.17
lea eax, [esi + 0x38]
push eax
mov eax, dword [ebp - 0x58]
call fcn.00477f09
jmp 0x47a11c
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x4c], eax
call fcn.0047107b
mov dword [ebp - 0x50], eax
cmp eax, 0x65
jne case.0x478d8a.17
mov ebx, dword [ebx + 8]
dec ebx
and dword [ebp - 0x50], 0
mov dword [ebp - 0x60], ebx
jmp case.0x478d8a.17
cmp dword [ebx + 4], 0
jne 0x47c583
mov eax, dword [ebp - 0x58]
call fcn.0044ff2f
jmp case.0x478d8a.17
mov byte [esi + 0x64], 1
jmp case.0x478d8a.17
mov al, byte [ebx + 0xc]
test al, al
jne 0x47c5a3
mov ecx, dword [ebp - 0x58]
test dword [ecx + 0xc], 0x80000
jne case.0x478d8a.17
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0x58]
mov edi, dword [ecx + 8]
mov ecx, dword [ebx + 8]
shl edx, 4
mov edx, dword [edx + edi + 4]
call fcn.00455dd1
mov dword [ebp - 0x50], eax
cmp al, 6
jne case.0x478d8a.17
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
push dword [ebp - 0x58]
jmp 0x47c51b
mov ebx, dword [ebx + 0x10]
push dword [ebp - 0x58]
mov eax, ebx
mov dword [ebp - 0x4c], ebx
call fcn.0045938b
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
pop ecx
test eax, eax
je case.0x478d8a.17
mov esi, dword [eax + 8]
mov edi, dword [ebp - 0x54]
call fcn.00456d85
mov esi, edi
jmp case.0x478d8a.17
lea eax, [esi + 0x38]
push eax
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0x58]
call fcn.0045d178
pop ecx
jmp 0x47a11c
mov ecx, dword [ebp - 0x58]
mov byte [esi + 0x67], 2
push dword [ebx + 0x10]
mov eax, dword [ebx + 4]
call fcn.00451e68
pop ecx
mov dword [ebp - 0x50], eax
mov byte [esi + 0x67], 0
jmp case.0x478d8a.17
and dword [ebp - 0x4c], 0
and dword [ebp - 0x48], 0
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
lea edx, [ebp - 0x48]
mov dword [ebp - 0x44], eax
mov ecx, dword [eax]
push edx
push eax
mov dword [ebp - 0x40], ecx
call dword [ecx + 0x18]
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
pop ecx
pop ecx
mov dword [ebp - 0x50], eax
call fcn.00456d85
cmp dword [ebp - 0x50], 0
jne 0x478fc6
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
push 0
push 0xffffffffffffffff
mov dword [ecx], eax
mov edx, dword [ebx + 4]
push 0
push edi
call fcn.00474c4d
add esp, 0x10
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x47c6af
mov ecx, dword [ebp - 0x48]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0x28], eax
jmp 0x47c600
mov eax, dword [ebp - 0x58]
mov byte [eax + 0x1e], 1
push dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
call dword [eax + 0x1c]
pop ecx
jmp 0x47c600
mov eax, dword [ebx + 0xc]
mov edi, dword [esi + 0x44]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x40], eax
lea edx, [eax + 0x28]
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebx + 4]
mov ecx, dword [edi + ecx*4]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x38], ecx
mov edi, dword [ecx]
mov dword [ebp - 0x34], edi
mov edi, dword [edi]
mov dword [ebp - 0x44], edi
mov edi, dword [edx + 0x10]
mov dword [ebp - 0x4c], edi
mov eax, dword [eax + 0x10]
and dword [ebp - 0x2c], 0
and dword [ebp - 0x28], 0
mov dword [ebp - 0x48], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x24], eax
test edi, edi
jle 0x47c743
jmp 0x47c716
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
lea ecx, [eax + 1]
imul ecx, ecx, 0x28
add ecx, edx
mov edx, dword [ebp - 0x24]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + eax*4]
call fcn.004501e4
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x4c]
jl 0x47c713
mov ecx, dword [ebp - 0x38]
push dword [ebp - 0x24]
mov eax, dword [ebp - 0x44]
push dword [ebp - 0x4c]
mov byte [esi + 0x67], 1
push dword [ebx + 0x10]
push dword [ebp - 0x48]
push ecx
call dword [eax + 0x20]
mov edi, dword [ebp - 0x54]
mov byte [esi + 0x67], 0
mov esi, dword [ebp - 0x34]
add esp, 0x14
mov dword [ebp - 0x50], eax
call fcn.00456d85
cmp dword [ebp - 0x50], 0
jne 0x47c782
push dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
je 0x47c78f
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x60], ebx
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1c], 0
jmp 0x47c600
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov edi, dword [ecx + eax*4]
mov eax, dword [ebx + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x44], eax
cmp byte [edi + 0x1c], 0
je 0x47c7bd
mov edi, eax
jmp 0x479190
mov eax, dword [edi + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [eax]
push 0x40
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x3c]
push 0
push eax
call fcn.0048e0e0
mov esi, dword [ebp - 0x44]
lea eax, [ebp - 0x34]
push eax
call fcn.00456113
mov eax, dword [ebp - 0x18]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x18], ax
push dword [ebx + 8]
lea eax, [ebp - 0x3c]
push eax
push dword [edi + 0x24]
mov eax, dword [ebp - 0x48]
call dword [eax + 0x2c]
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x54]
add esp, 0x1c
mov dword [ebp - 0x50], eax
call fcn.00456d85
mov eax, dword [ebp - 8]
test eax, eax
je 0x47c81d
mov dword [ebp - 0x50], eax
movzx eax, byte [ebp - 0x6c]
push eax
lea eax, [ebp - 0x34]
call fcn.0045de13
push dword [ebp - 0x44]
lea esi, [ebp - 0x34]
call fcn.00456113
pop ecx
pop ecx
mov ecx, dword [ebp - 0x44]
call fcn.0044f829
test eax, eax
jne 0x47c2d6
jmp 0x47c600
and dword [ebp - 0x44], 0
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x40], eax
cmp byte [eax + 0x1c], 0
jne case.0x478d8a.17
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0x48], ecx
mov byte [esi + 0x67], 1
push dword [eax + 0x24]
call dword [ecx + 0x24]
mov edi, dword [ebp - 0x54]
mov byte [esi + 0x67], 0
mov esi, dword [ebp - 0x4c]
pop ecx
mov dword [ebp - 0x50], eax
call fcn.00456d85
cmp dword [ebp - 0x50], 0
jne 0x47c8a6
mov eax, dword [ebp - 0x40]
push dword [eax + 0x24]
mov eax, dword [ebp - 0x48]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x478fc6
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0x60], ebx
jmp 0x47c600
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebx + 4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x5c]
mov dword [ebp - 0x48], ebx
push dword [ebx + 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x54]
pop ecx
pop ecx
mov dword [ebp - 0x50], eax
call fcn.00456d85
mov byte [edi + 0x64], 0
jmp 0x47c600
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 8]
mov dword [ebp - 0x4c], edx
mov eax, dword [edx]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebx + 8]
xor edi, edi
mov dword [ebp - 0x44], ecx
cmp dword [eax + 0x34], edi
je case.0x478d8a.17
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebx + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x5c]
cmp dword [ebp - 0x44], edi
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x40], edi
jle 0x47c957
call fcn.004501e4
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x34]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x30]
add ecx, 0x28
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x44]
mov dword [ebp - 0x30], ecx
jl 0x47c92c
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x4c]
lea ecx, [ebp - 0x3c]
push ecx
push dword [ebp - 0x34]
push dword [ebp - 0x44]
push edx
call dword [eax + 0x34]
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x54]
add esp, 0x10
mov dword [ebp - 0x50], eax
call fcn.00456d85
cmp dword [ebp - 0x50], 0
jne 0x47c991
cmp dword [ebx + 4], 0
je 0x47c991
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x58]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0x38]
mov dword [eax + 0x34], ecx
inc dword [edi + 0x6c]
jmp 0x47c600
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx + 8]
shl eax, 4
mov eax, dword [eax + ecx + 4]
call fcn.0044f036
mov ecx, dword [ebp - 0x64]
and dword [ecx + 0x14], 0
mov dword [ecx + 0x10], eax
jmp case.0x478d8a.17
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx + 8]
mov ebx, dword [ebx + 0xc]
shl eax, 4
mov ecx, dword [eax + ecx + 4]
xor eax, eax
test ebx, ebx
je 0x47c9e3
mov eax, ecx
call fcn.0044f036
cmp eax, ebx
jae 0x47c9e3
mov eax, ebx
push eax
mov eax, ecx
call fcn.0044f147
pop ecx
jmp 0x478e81
mov ebx, dword [ebx + 0x10]
test ebx, ebx
jne 0x47c9fe
mov ebx, dword [esi + 0xa0]
mov dword [ebp - 0x4c], ebx
test ebx, ebx
je case.0x478d8a.17
mov edi, dword [ebp - 0x58]
add edi, 0x98
cmp dword [edi], 0
je case.0x478d8a.17
push esi
mov ecx, ebx
call fcn.004697be
mov ebx, dword [ebp - 0x58]
push eax
push dword [ebx + 0x9c]
mov dword [ebp - 0x7c], eax
call dword [edi]
push dword [ebp - 0x7c]
push ebx
call fcn.0044b423
add esp, 0x14
jmp case.0x478d8a.17
mov dword [ebp - 0x50], 9
jmp 0x47c2f2
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x60]
mov dword [esi + 0x5c], eax
mov al, byte [ebx + 8]
mov byte [esi + 0x60], al
mov dword [esi + 0x58], ecx
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x47ca97
push eax
push 0x4c43f4
push dword [ebp - 0x58]
lea edi, [esi + 0x38]
call fcn.0045a0f2
push dword [ebx + 0x10]
push dword [esi + 0xa0]
push dword [ebp - 0x60]
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call sym.JHotNews.exe_sqlite3_log
add esp, 0x20
jmp 0x47cab4
cmp dword [esi + 0x5c], 0
je 0x47cab4
push dword [esi + 0xa0]
push ecx
push str.constraint_failed_at__d_in___s_
push dword [ebx + 4]
call sym.JHotNews.exe_sqlite3_log
add esp, 0x10
mov eax, esi
call fcn.00477477
push 5
pop ecx
cmp eax, ecx
je 0x47caf0
mov eax, dword [esi + 0x5c]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [ebp - 0x50], eax
jmp 0x47c344
lea eax, [ebp - 0x3c]
push eax
call fcn.00455ff0
pop ecx
jmp 0x47bc15
mov eax, dword [ebp - 0x60]
mov dword [esi + 0x58], eax
mov byte [edi + 0x1c], 0
mov dword [ebp - 0x50], ecx
mov dword [esi + 0x5c], ecx
jmp 0x47c344
test ecx, ecx
je 0x47cb2b
mov eax, edi
call fcn.004740cf
mov byte [edi + 0x1c], bl
mov esi, edi
call fcn.00452bdf
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x5c]
mov esi, dword [ebp - 0x54]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
mov dword [ebp - 0x50], eax
jmp 0x47c344
push ebx
mov eax, esi
call fcn.0045acc9
pop ecx
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x47c344
mov al, byte [ebp - 0x4c]
mov edi, dword [ebp - 0x58]
mov byte [edi + 0x1c], al
mov eax, esi
call fcn.00477477
push 5
pop ecx
cmp eax, ecx
jne 0x47cb09
mov eax, dword [ebp - 0x60]
sub bl, byte [ebp - 0x4c]
mov dword [esi + 0x58], eax
mov byte [edi + 0x1c], bl
jmp 0x47caf0
mov ecx, dword [ebp - 0x60]
mov dword [esi + 0x58], ecx
mov dword [ebp - 0x50], eax
mov dword [esi + 0x5c], eax
jmp 0x47c344
push 0x10000
call fcn.00469a88
pop ecx
mov dword [ebp - 0x50], eax
mov esi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp byte [eax + 0x1e], 0
je 0x47cb96
mov dword [ebp - 0x50], 7
cmp dword [ebp - 0x50], 0xc0a
je 0x47c2f2
mov eax, dword [ebp - 0x50]
call fcn.00452c39
push eax
push 0x4c43f4
push dword [ebp - 0x58]
lea edi, [esi + 0x38]
call fcn.0045a0f2
add esp, 0xc
jmp 0x47c2f2
mov dword [ebp - 0x50], 0xd
jmp 0x47cb83
mov dword [ebp - 0x50], 0xd
jmp 0x47cb86
push 9
pop eax
mov dword [ebp - 0x50], eax
mov dword [esi + 0x5c], eax
jmp 0x47cba6