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

Disassembly:
sub esp, 0x414
mov eax, dword [0x50b0b0]
xor eax, esp
mov dword [esp + 0x410], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x424]
push edi
push esi
mov dword [esp + 0x20], esi
mov edi, dword [esi]
mov ebp, dword [esi + 4]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x14], ebp
mov al, byte [edi + 0x3e]
mov byte [esp + 0x64], al
mov byte [esp + 0xa0], al
mov byte [esp + 0xb4], al
mov eax, dword [esi + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x24]
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], edi
mov byte [esp + 0x63], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0x24], eax
call fcn.00476100
add esp, 4
cmp dword [esi + 0x50], 7
je 0x47d461
mov dword [esi + 0x50], 0
mov dword [esi + 0x88], 0
mov dword [esi + 0x8c], 0
mov dword [esi + 0x14], 0
cmp dword [edi + 0xf0], 0
mov dword [edi + 0x1c4], 0
jne 0x47d41b
cmp dword [edi + 0x124], 0
je 0x476278
mov eax, dword [esi + 0x7c]
mov ecx, dword [edi + 0x12c]
mov dword [esp + 0x98], ecx
test eax, eax
je 0x476278
xor edx, edx
div ecx
mov dword [esp + 0x98], edx
mov eax, dword [esi + 0x4c]
xorps xmm0, xmm0
movsd qword [esp + 0x88], xmm0
lea eax, [eax + eax*4]
lea ebp, [ebp + eax*4]
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x7c], eax
mov ebx, ebp
xor eax, eax
mov dword [esp + 0x10], ebp
xor ecx, ecx
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
nop dword [eax + eax]
cmp byte [edi + 0x41], 0
mov dword [esp + 0x38], edx
jne 0x47d463
mov edi, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x58], ecx
mov bl, byte [edi]
movzx edx, bl
mov dword [esp + 0x2c], edx
lea edi, [edx - 1]
cmp edi, 0x9a
ja case.default.0x4762df
jmp dword [edi*4 + 0x47d554]
mov edx, dword [esp + 0x10]
mov ecx, edx
mov ebp, dword [esp + 0x28]
sub ecx, dword [esp + 0x48]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, 4
mov word [ebp + esi*8 + 8], ax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebp + esi*8], eax
mov dword [ebp + esi*8 + 4], edx
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x1c]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebx, [ecx + eax*4]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x48]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + ecx*8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*4]
mov eax, 0x80
mov dword [esp + 0x10], edi
mov word [ebp + ecx*8 + 8], ax
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov ebx, edi
mov ebp, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0xc]
dec eax
cdq
mov dword [ebp + ecx*8], eax
mov eax, 4
mov dword [ebp + ecx*8 + 4], edx
mov word [ebp + ecx*8 + 8], ax
cmp dword [edi + 8], 0
mov edi, dword [esp + 0x18]
jne 0x476326
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
add ebx, 0x14
mov dword [esp + 0x10], ebx
test eax, eax
jne 0x47d490
movsd xmm0, qword [esp + 0x88]
mov ecx, dword [esp + 0x58]
jmp 0x4762b0
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x48]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x476355
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x48]
mov eax, dword [edx + 4]
sub edx, ebx
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebp + esi*8]
mov word [ebp + esi*8 + 8], ax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebp + esi*8], eax
lea eax, [ecx + ecx*4]
lea edi, [ebx + eax*4]
mov dword [ebp + esi*8 + 4], edx
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x476366
jmp 0x47646c
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov ecx, edi
sub ecx, dword [esp + 0x48]
mov eax, 0x66666667
imul ecx
mov ecx, dword [edi + 4]
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
test ecx, ecx
jne 0x47ce6f
mov edx, dword [ebx + 0xb0]
test edx, edx
je 0x47ce6f
mov eax, dword [edx + 4]
mov esi, ebx
mov edi, dword [esp + 0x18]
push edx
dec dword [esi + 0xb8]
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x5c]
add dword [edi + 0x54], eax
mov dword [edi + 0x50], eax
call fcn.0047dd70
mov edx, dword [edi + 0x24]
mov ecx, eax
mov eax, dword [edi + 0x20]
add esp, 4
mov ebp, dword [esi + 4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], edx
mov dword [esp + 0x48], ebp
cmp dword [eax + 8], 4
jne 0x4764f0
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp + eax*4 + 8]
dec ecx
mov eax, dword [esi + 8]
mov dword [esp + 0x28], eax
lea eax, [ecx + ecx*4]
lea ebx, [eax*4]
add ebx, ebp
jmp 0x4763a5
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x47652c
push esi
call fcn.00488dc0
add esp, 4
mov ebx, dword [esp + 0x10]
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [edi + 4]
mov edi, dword [esp + 0x18]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x476573
push esi
call fcn.00488dc0
add esp, 4
mov ebx, dword [esp + 0x10]
mov eax, 4
mov word [esi + 8], ax
mov ecx, dword [edi + 0x10]
mov edi, dword [esp + 0x18]
mov eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [ecx + 4]
mov dword [esi + 4], eax
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4765be
push esi
call fcn.00488dc0
add esp, 4
mov ebx, dword [esp + 0x10]
mov eax, 8
mov word [esi + 8], ax
mov eax, dword [edi + 0x10]
mov edi, dword [esp + 0x18]
movsd xmm0, qword [eax]
movsd qword [esi], xmm0
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x476607
push esi
call fcn.00488dc0
add esp, 4
mov eax, 4
mov word [esi + 8], ax
mov ecx, dword [edi + 0x10]
mov eax, ecx
mov byte [edi], 0x1b
test ecx, ecx
je 0x47662e
cmp byte [ecx], 0
je 0x476627
inc eax
cmp byte [eax], 0
jne 0x476621
sub eax, ecx
and eax, 0x3fffffff
mov bl, byte [esp + 0x60]
mov dword [edi + 4], eax
cmp bl, 1
je 0x4766ac
push 0
push 1
push 0xffffffffffffffff
push ecx
push esi
call fcn.0047f4f0
add esp, 0x14
mov dword [esp + 0x14], eax
cmp eax, 0x12
je 0x47d266
test byte [esi + 8], 2
je 0x476677
cmp byte [esi + 0xa], bl
je 0x476677
push dword [esp + 0x60]
push esi
call fcn.0047f840
add esp, 8
test eax, eax
jne 0x47846b
mov eax, 0x800
mov dword [esi + 0x18], 0
or word [esi + 8], ax
cmp byte [edi + 1], 0xff
jne 0x47669c
push dword [edi + 0x10]
push dword [esp + 0x1c]
call fcn.004514c0
add esp, 8
mov byte [edi + 1], 0xff
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 4], eax
mov edi, dword [esp + 0x18]
cmp eax, dword [edi + 0x58]
jg 0x47d26a
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4766e1
push esi
call fcn.00488dc0
add esp, 4
mov eax, 0xa02
mov word [esi + 8], ax
mov eax, dword [ebx + 0x10]
mov ebx, dword [esp + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
mov dword [esi + 0xc], eax
mov al, byte [esp + 0x60]
mov byte [esi + 0xa], al
cmp byte [ebx + 3], 0
je 0x476444
mov eax, dword [ebx + 0xc]
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + ecx*8]
or eax, dword [ebp + ecx*8 + 4]
mov ebp, dword [esp + 0x24]
je 0x476734
mov eax, 0xa10
mov word [esi + 8], ax
mov esi, dword [esp + 0x1c]
jmp 0x4763a9
mov edi, dword [esp + 0x18]
jmp 0x4766bd
mov ebx, dword [esp + 0x10]
mov edx, 0x2460
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea eax, [eax + ecx*8]
test word [eax + 8], dx
lea esi, [eax + 8]
je 0x476772
push eax
call fcn.00488dc0
add esp, 4
mov edx, 0x2460
mov eax, 4
mov word [esi], ax
mov eax, 1
cmp dword [ebx + 4], 0
mov edi, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov ebx, 0x101
cmovne eax, ebx
sub edi, ecx
movzx ebx, ax
mov word [esi], bx
test edi, edi
jle 0x47643c
test word [esi + 0x28], dx
lea esi, [esi + 0x28]
je 0x4767bb
lea eax, [esi - 8]
push eax
call fcn.00488dc0
add esp, 4
mov edx, 0x2460
dec edi
mov word [esi], bx
test edi, edi
jg 0x4767a1
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov edx, 0xff7f
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 4]
mov edi, dword [esp + 0x18]
lea ecx, [eax + eax*4]
mov ax, word [ebp + ecx*8 + 8]
and ax, dx
or ax, 1
mov word [ebp + ecx*8 + 8], ax
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x476829
push esi
call fcn.00488dc0
add esp, 4
push 0
mov eax, 4
push 0
mov word [esi + 8], ax
push dword [edi + 4]
push dword [edi + 0x10]
push esi
call fcn.0047f4f0
mov al, byte [esp + 0x74]
add esp, 0x14
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov byte [esi + 0xa], al
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov ebx, dword [esi + 0x3c]
mov eax, dword [edx + 4]
lea edi, [eax + eax*4]
movzx eax, word [ebx + edi*8 - 0x20]
test al, 0x12
je 0x47688f
mov ecx, dword [ebx + edi*8 - 0x1c]
test eax, 0x4000
je 0x476882
add ecx, dword [ebx + edi*8 - 0x28]
mov eax, dword [ebx + edi*8 - 8]
cmp ecx, dword [eax + 0x58]
jg 0x47d260
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4768b3
push esi
call fcn.00488dc0
add esp, 4
mov ebp, dword [esp + 0x24]
mov eax, 4
mov word [esi + 8], ax
mov ecx, 0x800
movups xmm0, xmmword [ebx + edi*8 - 0x28]
movups xmmword [esi], xmm0
mov eax, dword [ebx + edi*8 - 0x18]
mov dword [esi + 0x10], eax
test word [ebx + edi*8 - 0x20], cx
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
jne 0x4768f6
mov ax, word [esi + 8]
mov edx, 0xebff
and ax, dx
or ax, cx
mov word [esi + 8], ax
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
jmp 0x4763a9
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [eax*8]
mov eax, dword [edx + 8]
add edi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [eax*8]
add esi, dword [esp + 0x28]
nop dword [eax]
mov eax, 0x2460
test word [esi + 8], ax
jne 0x476941
cmp dword [esi + 0x18], 0
je 0x47694a
push esi
call fcn.00488d80
add esp, 4
movups xmm0, xmmword [edi]
mov eax, 1
movups xmmword [esi], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [esi + 0x20], xmm0
mov word [edi + 8], ax
mov eax, 0x1000
mov dword [edi + 0x18], 0
test word [esi + 8], ax
je 0x47698e
push esi
call fcn.0047f1c0
add esp, 4
test eax, eax
jne 0x47846b
add edi, 0x28
add esi, 0x28
sub ebx, 1
jne 0x476930
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [eax*8]
mov eax, dword [edx + 8]
add edi, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [eax*8]
add esi, dword [esp + 0x28]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4769e7
push esi
call fcn.00488dc0
add esp, 4
movups xmm0, xmmword [edi]
movups xmmword [esi], xmm0
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov eax, 0x800
test word [edi + 8], ax
jne 0x476a16
mov ax, word [esi + 8]
mov ecx, 0xf3ff
and ax, cx
mov ecx, 0x1000
or ax, cx
mov word [esi + 8], ax
mov eax, 0x1000
test word [esi + 8], ax
je 0x476a32
push esi
call fcn.0047f1c0
add esp, 4
test eax, eax
jne 0x47846b
mov eax, ebx
dec ebx
test eax, eax
je 0x47643c
add esi, 0x28
add edi, 0x28
jmp 0x4769d3
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea edi, [eax + eax*4]
mov eax, edx
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [eax*8]
mov eax, 0x2460
add esi, ebp
test word [esi + 8], ax
je 0x476a78
push esi
call fcn.00488dc0
add esp, 4
movups xmm0, xmmword [ebp + edi*8]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
movups xmmword [esi], xmm0
mov eax, dword [ebp + edi*8 + 0x10]
mov dword [esi + 0x10], eax
mov eax, 0x800
test word [ebp + edi*8 + 8], ax
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
jne 0x476734
mov ax, word [esi + 8]
mov ecx, 0xf3ff
and ax, cx
mov ecx, 0x1000
or ax, cx
mov word [esi + 8], ax
mov esi, dword [esp + 0x1c]
jmp 0x4763a9
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + 0xc]
movzx edx, word [esi + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
movzx ecx, word [ebx + 8]
mov al, dl
mov ebp, ecx
or al, cl
test al, 1
je 0x476b3c
mov eax, 0x2460
test word [edi + 8], ax
je 0x476b22
push edi
call fcn.00488dc0
mov edi, dword [esp + 0x1c]
add esp, 4
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov ebx, dword [esp + 0x10]
mov eax, 1
mov esi, dword [esp + 0x1c]
mov word [edi + 8], ax
mov edi, dword [esp + 0x18]
jmp 0x4763a1
test edx, 0x4000
je 0x476b8c
mov eax, dword [esi]
mov ecx, 1
add eax, dword [esi + 0xc]
test eax, eax
push ecx
cmovle eax, ecx
push eax
push esi
call fcn.0047f060
add esp, 0xc
test eax, eax
jne 0x47846b
push dword [esi]
push eax
mov eax, dword [esi + 0x10]
add eax, dword [esi + 0xc]
push eax
call fcn.004c20c0
mov eax, dword [esi]
add esp, 0xc
add dword [esi + 0xc], eax
mov eax, 0xbdff
and word [esi + 8], ax
movzx eax, word [ebx + 8]
jmp 0x476b8e
mov eax, ebp
test eax, 0x4000
je 0x476ba6
push ebx
call fcn.0047ee50
add esp, 4
test eax, eax
jne 0x47846b
test byte [esi + 8], 0x12
mov ebp, dword [esp + 0x7c]
jne 0x476bc4
push 0
push ebp
push esi
call fcn.0047f770
add esp, 0xc
test eax, eax
jne 0x47846b
test byte [ebx + 8], 0x12
jne 0x476bde
push 0
push ebp
push ebx
call fcn.0047f770
add esp, 0xc
test eax, eax
jne 0x47846b
mov eax, dword [esp + 0x18]
mov ebp, dword [ebx + 0xc]
add ebp, dword [esi + 0xc]
cmp ebp, dword [eax + 0x58]
jg 0x47d25c
xor eax, eax
cmp edi, ebx
sete al
push eax
lea eax, [ebp + 2]
push eax
push edi
call fcn.0047f060
add esp, 0xc
test eax, eax
jne 0x47846b
mov ax, word [edi + 8]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [edi + 8], ax
cmp edi, ebx
je 0x476c37
push dword [ebx + 0xc]
push dword [ebx + 0x10]
push dword [edi + 0x10]
call fcn.004c15c0
add esp, 0xc
push dword [esi + 0xc]
mov eax, dword [edi + 0x10]
push dword [esi + 0x10]
add eax, dword [ebx + 0xc]
push eax
call fcn.004c15c0
mov eax, dword [edi + 0x10]
add esp, 0xc
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov byte [eax + ebp], 0
mov eax, dword [edi + 0x10]
mov byte [eax + ebp + 1], 0
mov eax, 0x200
or word [edi + 8], ax
mov al, byte [esp + 0x60]
mov dword [edi + 0xc], ebp
mov byte [edi + 0xa], al
mov edi, dword [esp + 0x18]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [eax*8]
add esi, ebp
mov dword [esp + 0x2c], esi
movzx ecx, word [esi + 8]
mov eax, ecx
and eax, 0xc
je 0x476cad
mov ecx, eax
mov dword [esp + 0x40], ecx
jmp 0x476ccc
test cl, 0x12
je 0x476cc4
push esi
call fcn.00428d50
movzx ecx, ax
add esp, 4
mov dword [esp + 0x40], ecx
jmp 0x476ccc
mov dword [esp + 0x40], 0
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ebx, [eax*8]
movzx eax, word [ebx + ebp + 8]
add ebx, ebp
mov dword [esp + 0x70], ebx
test al, 0xc
je 0x476cf0
mov ecx, eax
mov dword [esp + 0x50], ecx
jmp 0x476d12
test al, 0x12
je 0x476d0a
push ebx
call fcn.00428d50
movzx ecx, word [ebx + 8]
add esp, 4
movzx eax, ax
mov dword [esp + 0x50], eax
jmp 0x476d14
mov dword [esp + 0x50], 0
mov ecx, eax
mov eax, dword [edi + 0xc]
movzx edx, word [esi + 8]
mov dword [esp + 0x30], ecx
lea eax, [eax + eax*4]
lea ebp, [ebp + eax*8]
mov al, cl
or al, dl
mov dword [esp + 0x4c], ebp
test al, 1
jne 0x4771ec
mov al, byte [esp + 0x50]
and al, byte [esp + 0x40]
test al, 4
je 0x476faa
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx]
mov edi, dword [esi]
mov ebp, dword [ebx + 4]
movzx eax, byte [eax]
mov esi, dword [esi + 4]
add eax, 0xffffffa7
mov dword [esp + 0x38], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ebp
mov byte [esp + 0x37], 1
cmp eax, 3
ja case.default.0x476d7a
jmp dword [eax*4 + 0x47d7c0]
push esi
lea eax, [esp + 0x84]
push edi
push eax
call fcn.00447fd0
add esp, 0xc
test eax, eax
jne 0x476fb5
jmp 0x476f6e
test edi, edi
jne 0x476dda
cmp esi, 0x80000000
jne 0x476dda
test ebp, ebp
jg 0x476fb5
jl 0x476dbe
test ecx, ecx
jae 0x476fb5
add ecx, 0
mov dword [esp + 0x80], ecx
adc ebp, 0x80000000
mov dword [esp + 0x84], ebp
jmp 0x476f6e
neg edi
adc esi, 0
neg esi
jmp case.0x476d7a.89
push 1
push 0
push ebp
push ecx
call fcn.004bf9d0
push 1
push 0
push esi
push edi
mov dword [esp + 0x64], ecx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x74], eax
mov dword [esp + 0xb8], edx
call fcn.004bf9d0
mov dword [esp + 0x90], ecx
mov ecx, eax
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x64]
mov eax, ebx
or eax, dword [esp + 0xa8]
jne 0x476e63
mov eax, ecx
or eax, edx
jne 0x476e42
push esi
push edi
push ebp
push dword [esp + 0x44]
call fcn.004bfab0
jmp 0x476f60
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x54]
push edi
push esi
push edx
push ecx
call fcn.004bfab0
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0xac]
jmp 0x476e90
or ecx, edx
jne 0x476fb1
push dword [esp + 0xa8]
mov ebp, dword [esp + 0xb0]
push ebx
mov ebx, dword [esp + 0x98]
push ebp
push ebx
call fcn.004bfab0
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x44]
mov ecx, eax
mov dword [esp + 0xc8], edx
add ecx, 0x80000000
mov dword [esp + 0xc4], eax
adc edx, 0
test edx, edx
ja 0x476fb1
jb 0x476ebc
cmp ecx, 0xffffffff
ja 0x476fb1
push edi
push esi
push ebp
push ebx
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], eax
call fcn.004bfab0
push edx
push eax
lea eax, [esp + 0xcc]
push eax
call fcn.00447fd0
add esp, 0xc
test eax, eax
jne 0x476fb1
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x84], eax
jmp 0x476f6e
mov eax, edi
or eax, esi
je 0x4771ec
mov eax, edi
and eax, esi
cmp eax, 0xffffffff
jne 0x476f32
test ecx, ecx
jne 0x476f32
cmp ebp, 0x80000000
je 0x476fb5
push esi
push edi
push ebp
push ecx
call fcn.004bf920
jmp 0x476f60
mov eax, edi
or eax, esi
je 0x4771ec
mov eax, edi
and eax, esi
cmp eax, 0xffffffff
jne 0x476f57
mov edi, 1
xor esi, esi
push esi
push edi
push ebp
push ecx
call fcn.004bfaf0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov ecx, dword [esp + 0x4c]
mov edx, 0xbe04
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x84]
mov dword [ecx + 4], eax
mov ax, word [ecx + 8]
and ax, dx
or ax, 4
mov word [ecx + 8], ax
jmp 0x4763a1
mov byte [esp + 0x37], 0
jmp 0x476fc5
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x10]
movzx eax, word [esi + 8]
test al, 8
je 0x476fe5
movsd xmm0, qword [esi]
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [esp + 0x88]
jmp 0x477069
test al, 4
je 0x47700b
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.004c0100
mov eax, dword [esp + 0x30]
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [esp + 0x88]
movzx eax, ax
jmp 0x47706c
test al, 0x12
je 0x47705a
movzx eax, byte [esi + 0xa]
movsd xmm2, qword [esp + 0x88]
push eax
push dword [esi + 0xc]
lea eax, [esp + 0x18c]
movsd qword [esp + 0x18c], xmm2
push eax
push dword [esi + 0x10]
call fcn.00449310
movsd xmm0, qword [esp + 0x194]
add esp, 0x10
movzx eax, word [ebx + 8]
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [esp + 0x88]
jmp 0x47706c
movsd xmm0, qword [esp + 0x88]
movsd qword [esp + 0x38], xmm0
movzx eax, cx
test al, 8
je 0x47707c
movsd xmm1, qword [ebx]
movsd qword [esp + 0x64], xmm1
jmp 0x4770d7
test al, 4
je 0x477095
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
call fcn.004c0100
movaps xmm1, xmm0
movsd qword [esp + 0x64], xmm1
jmp 0x4770d7
test al, 0x12
je 0x4770ce
movzx eax, byte [ebx + 0xa]
push eax
push dword [ebx + 0xc]
lea eax, [esp + 0x194]
movsd qword [esp + 0x194], xmm0
push eax
push dword [ebx + 0x10]
call fcn.00449310
movsd xmm1, qword [esp + 0x19c]
add esp, 0x10
movsd qword [esp + 0x64], xmm1
jmp 0x4770d7
movaps xmm1, xmm0
movsd qword [esp + 0x64], xmm0
movzx eax, byte [edi]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x4770e2
jmp dword [eax*4 + 0x47d7d0]
addsd xmm1, qword [esp + 0x38]
jmp 0x47717a
subsd xmm1, qword [esp + 0x38]
jmp 0x47717a
mulsd xmm1, qword [esp + 0x38]
jmp 0x47717a
movsd xmm0, qword [esp + 0x38]
ucomisd xmm0, qword [esp + 0x88]
lahf
test ah, 0x44
jnp 0x4771ec
divsd xmm1, xmm0
jmp 0x47717a
movsd xmm0, qword [esp + 0x38]
call fcn.004bffeb
movsd xmm0, qword [esp + 0x64]
mov esi, eax
mov edi, edx
call fcn.004bffeb
mov ecx, esi
mov dword [esp + 0x84], edx
or ecx, edi
mov ebx, eax
mov dword [esp + 0x80], ebx
je 0x4771ec
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x477167
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push ebx
call fcn.004bfaf0
mov ecx, eax
call fcn.004c0100
movaps xmm1, xmm0
movsd qword [esp + 0x38], xmm1
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x64], xmm0
movsd xmm0, qword [esp + 0x38]
ucomisd xmm0, qword [esp + 0x64]
lahf
test ah, 0x44
jp 0x4771ec
mov ax, word [ebp + 8]
mov ecx, 0xbe08
and ax, cx
movsd qword [ebp], xmm1
or ax, 8
mov word [ebp + 8], ax
mov eax, dword [esp + 0x50]
or al, byte [esp + 0x40]
test al, 8
jne 0x47643c
cmp byte [esp + 0x37], 0
jne 0x47643c
push ebp
call fcn.0047e270
mov edi, dword [esp + 0x1c]
add esp, 4
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov ecx, dword [esp + 0x4c]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x477201
push ecx
jmp 0x476b09
mov edi, dword [esp + 0x18]
mov eax, 1
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov word [ecx + 8], ax
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 4]
test eax, eax
je 0x476366
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x477259
push 0
push 0
push eax
call fcn.00489fe0
mov edi, dword [esp + 0x24]
add esp, 0xc
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edi, dword [esp + 0x18]
mov ecx, 4
mov ebx, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 8], cx
jmp 0x4763a1
mov edx, dword [esp + 0x10]
xor edi, edi
mov ecx, dword [esp + 0x28]
mov ebp, dword [esi + 0xc]
mov eax, dword [edx + 0xc]
movzx ebx, byte [edx + 3]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x38], eax
mov dword [esp + 0x118], eax
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
test ebx, ebx
je 0x4772e8
mov eax, 0x1000
mov dword [ebp + edi*4], esi
test word [esi + 8], ax
je 0x4772d3
push esi
call fcn.0047f1c0
add esp, 4
test eax, eax
jne 0x47846b
mov eax, 0x1000
inc edi
add esi, 0x28
cmp edi, ebx
jl 0x4772b3
mov esi, dword [esp + 0x118]
mov edx, dword [esp + 0x10]
jmp 0x4772ec
mov esi, dword [esp + 0x38]
mov eax, dword [edx + 0x10]
mov ecx, edx
sub ecx, dword [esp + 0x48]
mov dword [esp + 0x11c], eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0x1c]
sar edx, 3
mov edi, edx
mov dword [esp + 0x124], ecx
shr edi, 0x1f
mov ecx, 0xbe01
add edi, edx
mov dword [esp + 0x128], edi
mov ax, word [esi + 8]
and ax, cx
mov ecx, dword [esp + 0x24]
or ax, 1
mov word [esi + 8], ax
lea eax, [esp + 0x118]
mov esi, dword [esp + 0x18]
push ebp
push ebx
push eax
mov eax, dword [esp + 0x128]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x13d], 0
mov dword [esi + 0x24], ecx
mov eax, dword [eax + 0xc]
call eax
mov ebp, dword [esi + 0x20]
add esp, 0xc
cmp byte [esp + 0x131], 0
mov eax, dword [esi + 0x24]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], eax
je 0x477407
cmp dword [esp + 0x12c], 0
je 0x4773f0
mov ecx, dword [esp + 0x118]
test ecx, ecx
jne 0x47739b
xor eax, eax
jmp 0x4773cc
movzx edx, word [ecx + 8]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x4773b8
cmp byte [ecx + 0xa], 1
jne 0x4773b8
mov eax, dword [ecx + 0x10]
jmp 0x4773cc
test dl, 1
je 0x4773c1
xor eax, eax
jmp 0x4773cc
push 1
push ecx
call fcn.00487cf0
add esp, 8
push eax
push 0x4f0960
push esi
mov esi, dword [esp + 0x28]
lea eax, [esi + 0x2c]
push eax
call fcn.0046edd0
mov eax, dword [esp + 0x13c]
add esp, 0x10
mov dword [esp + 0x14], eax
jmp 0x4773f4
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
push dword [eax + 4]
push edi
push esi
call fcn.00476000
add esp, 0xc
jmp 0x47740b
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x118]
test byte [eax + 8], 2
je 0x477438
mov cl, byte [esp + 0x60]
cmp byte [eax + 0xa], cl
je 0x477438
push dword [esp + 0x9c]
push eax
call fcn.0047f840
mov eax, dword [esp + 0x120]
add esp, 8
movzx edx, word [eax + 8]
test dl, 0x12
je 0x47ce5e
mov ecx, dword [eax + 0xc]
test edx, 0x4000
je 0x477452
add ecx, dword [eax]
mov eax, dword [eax + 0x20]
mov edi, dword [esp + 0x18]
cmp ecx, dword [eax + 0x58]
jg 0x47d26e
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
jmp 0x4763a9
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ebp, [edx + eax*8]
mov al, byte [ecx + 8]
or al, byte [ebx + 8]
test al, 1
je 0x4774d3
mov eax, 0x2460
test word [ebp + 8], ax
je 0x4774bd
push ebp
call fcn.00488dc0
mov edi, dword [esp + 0x1c]
add esp, 4
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edi, dword [esp + 0x18]
mov eax, 1
mov ebx, dword [esp + 0x10]
mov word [ebp + 8], ax
jmp 0x4763a1
push ecx
call fcn.0047e1d0
mov edi, eax
mov esi, edx
push ebx
mov dword [esp + 0x150], edi
mov dword [esp + 0x154], esi
call fcn.0047e1d0
mov ebx, eax
add esp, 8
mov eax, dword [esp + 0x10]
mov cl, byte [eax]
cmp cl, 0x55
jne 0x477507
and edi, ebx
and esi, edx
jmp 0x47756d
cmp cl, 0x56
jne 0x477512
or edi, ebx
or esi, edx
jmp 0x47756d
mov eax, ebx
or eax, edx
je 0x47756d
test edx, edx
jg 0x477546
jl 0x477522
test ebx, ebx
jae 0x47753b
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x477546
jg 0x477534
cmp ebx, 0xffffffc0
jbe 0x477546
neg ebx
adc edx, 0
neg edx
test edx, edx
jl 0x477598
jg 0x477546
cmp ebx, 0x40
jb 0x477598
test esi, esi
jg 0x47755c
jl 0x477550
test edi, edi
jae 0x47755c
cmp cl, 0x57
je 0x47755c
or edi, 0xffffffff
or esi, edi
jmp 0x47756d
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov ax, word [ebp + 8]
mov ecx, 0xbe04
mov ebx, dword [esp + 0x10]
and ax, cx
or ax, 4
mov dword [ebp], edi
mov edi, dword [esp + 0x18]
mov dword [ebp + 4], esi
mov esi, dword [esp + 0x1c]
mov word [ebp + 8], ax
jmp 0x4763a1
movq xmm1, qword [esp + 0x148]
movd xmm0, ebx
cmp cl, 0x57
jne 0x4775b6
psllq xmm1, xmm0
movq qword [esp + 0x38], xmm1
jmp 0x477565
psrlq xmm1, xmm0
movq qword [esp + 0x38], xmm1
test esi, esi
jg 0x477565
jl 0x4775ca
test edi, edi
jae 0x477565
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, ebx
or edx, 0xffffffff
call fcn.004bfbb0
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
or edi, eax
or esi, edx
jmp 0x47756d
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0047e1d0
mov ebx, dword [esp + 0x14]
mov ecx, 0xbe04
mov dword [esi], eax
add esp, 4
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 8], ax
mov eax, dword [edi + 8]
mov edi, dword [esp + 0x18]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x477696
test al, 8
jne 0x477667
test al, 2
je 0x477670
push 1
push esi
call fcn.00421100
add esp, 8
jmp 0x477670
push esi
call fcn.0047e270
add esp, 4
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x477696
cmp dword [edi + 8], 0
mov edi, dword [esp + 0x18]
jne 0x476322
mov ebx, 0x14
mov dword [esp + 0x14], ebx
jmp 0x47a92b
mov edi, dword [esp + 0x18]
and ecx, 0xbe04
mov ebx, dword [esp + 0x10]
or ecx, 4
mov word [esi + 8], cx
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 4
lea eax, [ecx + eax*8]
je 0x476366
push eax
call fcn.0047f2d0
mov edi, dword [esp + 0x1c]
add esp, 4
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x47774b
mov eax, dword [esi]
mov ecx, 1
add eax, dword [esi + 0xc]
test eax, eax
push ecx
cmovle eax, ecx
push eax
push esi
call fcn.0047f060
add esp, 0xc
test eax, eax
je 0x47772a
mov dword [esp + 0x14], 7
jmp 0x477753
push dword [esi]
mov eax, dword [esi + 0x10]
add eax, dword [esi + 0xc]
push 0
push eax
call fcn.004c20c0
mov eax, dword [esi]
add esp, 0xc
add dword [esi + 0xc], eax
mov eax, 0xbdff
and word [esi + 8], ax
mov dword [esp + 0x14], 0
push dword [esp + 0x7c]
movzx eax, byte [edi + 8]
push eax
push esi
call fcn.0047ed00
mov edi, dword [esp + 0x24]
add esp, 0xc
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [eax*8]
mov eax, dword [edx + 0xc]
add esi, ebp
lea eax, [eax + eax*4]
movzx ecx, word [esi + 8]
lea edi, [eax*8]
add edi, ebp
mov eax, ecx
mov dword [esp + 0x2c], eax
movzx edx, word [edi + 8]
mov eax, edx
mov dword [esp + 0x30], eax
or al, cl
test al, 1
je 0x47783a
mov eax, dword [esp + 0x10]
mov al, byte [eax + 3]
test al, al
jns 0x4777ec
mov ebp, edx
mov eax, ebp
and eax, ecx
xor ecx, ecx
bt ax, cx
jae 0x4777e2
test ebp, 0x100
jne 0x4777e2
xor eax, eax
jmp 0x477a73
mov eax, 1
jmp 0x477a73
test al, 0x20
je 0x477821
mov eax, dword [esp + 0x10]
mov edx, 0xbe01
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov ax, word [ebp + ecx*8 + 8]
and ax, dx
or ax, 1
mov word [ebp + ecx*8 + 8], ax
jmp 0x4763a1
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
test al, 0x10
jne 0x476326
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov ebp, dword [esp + 0x10]
mov al, byte [ebp + 3]
and al, 0x47
cmp al, 0x43
jb 0x477966
and cl, 0xe
cmp cl, 2
jne 0x4778ce
mov al, byte [esi + 0xa]
mov byte [esp + 0x13c], al
lea eax, [esp + 0x274]
mov ebx, dword [esp + 0x13c]
push ebx
push dword [esi + 0xc]
push eax
push dword [esi + 0x10]
call fcn.00449310
add esp, 0x10
test eax, eax
je 0x4778ce
push ebx
push dword [esi + 0xc]
lea eax, [esp + 0x19c]
push eax
push dword [esi + 0x10]
call fcn.00449980
movzx ecx, word [esi + 8]
add esp, 0x10
test eax, eax
jne 0x4778ba
mov eax, dword [esp + 0x194]
or ecx, 4
mov dword [esi], eax
mov eax, dword [esp + 0x198]
mov dword [esi + 4], eax
jmp 0x4778ca
movsd xmm0, qword [esp + 0x274]
or ecx, 8
movsd qword [esi], xmm0
mov word [esi + 8], cx
mov al, byte [edi + 8]
and al, 0xe
cmp al, 2
jne 0x4779de
mov al, byte [edi + 0xa]
mov byte [esp + 0x138], al
lea eax, [esp + 0x264]
mov ebx, dword [esp + 0x138]
push ebx
push dword [edi + 0xc]
push eax
push dword [edi + 0x10]
call fcn.00449310
add esp, 0x10
test eax, eax
je 0x4779de
push ebx
push dword [edi + 0xc]
lea eax, [esp + 0x1a4]
push eax
push dword [edi + 0x10]
call fcn.00449980
movzx ecx, word [edi + 8]
add esp, 0x10
mov ebx, dword [esp + 0x30]
test eax, eax
jne 0x47794d
mov eax, dword [esp + 0x19c]
or ecx, 4
mov dword [edi], eax
mov eax, dword [esp + 0x1a0]
mov dword [edi + 4], eax
mov word [edi + 8], cx
jmp 0x4779e2
movsd xmm0, qword [esp + 0x264]
or ecx, 8
movsd qword [edi], xmm0
mov word [edi + 8], cx
jmp 0x4779e2
cmp al, 0x42
jne 0x4779de
mov ebx, dword [esp + 0x7c]
mov eax, edx
test cl, 2
jne 0x4779a6
test cl, 0xc
je 0x4779a6
push 1
push ebx
push esi
call fcn.0047f770
mov ax, word [esi + 8]
mov ecx, 0x1ff
xor ax, word [esp + 0x38]
add esp, 0xc
and ax, cx
xor ax, word [esi + 8]
movzx eax, ax
mov dword [esp + 0x2c], eax
movzx eax, word [edi + 8]
test al, 2
jne 0x4779de
test al, 0xc
je 0x4779de
push 1
push ebx
push edi
call fcn.0047f770
mov ebp, dword [esp + 0x3c]
mov ecx, 0x1ff
mov ax, word [edi + 8]
add esp, 0xc
xor ax, bp
mov ebp, dword [esp + 0x10]
and ax, cx
xor ax, word [edi + 8]
movzx ebx, ax
mov dword [esp + 0x30], ebx
jmp 0x4779e2
mov ebx, dword [esp + 0x30]
mov eax, 0x4000
test word [esi + 8], ax
je 0x477a38
mov eax, dword [esi]
mov ecx, 1
add eax, dword [esi + 0xc]
test eax, eax
push ecx
cmovle eax, ecx
push eax
push esi
call fcn.0047f060
add esp, 0xc
test eax, eax
jne 0x477a2b
push dword [esi]
push eax
mov eax, dword [esi + 0x10]
add eax, dword [esi + 0xc]
push eax
call fcn.004c20c0
mov eax, dword [esi]
add esp, 0xc
add dword [esi + 0xc], eax
mov eax, 0xbdff
and word [esi + 8], ax
and dword [esp + 0x2c], 0xbfff
mov eax, 0x4000
test word [edi + 8], ax
je 0x477a51
push edi
call fcn.0047ee50
add esp, 4
and ebx, 0xbfff
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x41], 0
jne 0x47d455
push dword [ebp + 0x10]
push esi
push edi
call fcn.00462290
mov bl, byte [ebp]
add esp, 0xc
mov ebp, dword [esp + 0x30]
movzx ecx, bl
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x477a7e
jmp dword [ecx*4 + 0x47d7e0]
xor edx, edx
test eax, eax
sete dl
jmp 0x477ab4
xor edx, edx
test eax, eax
setne dl
jmp 0x477ab4
mov edx, eax
jmp 0x477ab1
xor edx, edx
test eax, eax
setle dl
jmp 0x477ab4
xor edx, edx
test eax, eax
setg dl
jmp 0x477ab4
mov edx, eax
not edx
shr edx, 0x1f
mov eax, dword [esp + 0x2c]
mov word [esi + 8], ax
mov word [edi + 8], bp
mov edi, dword [esp + 0x10]
test byte [edi + 3], 0x20
je 0x477b07
mov eax, dword [edi + 8]
mov ebx, 0xbe04
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ecx, [eax + eax*4]
mov ax, word [ebp + ecx*8 + 8]
and ax, bx
mov dword [ebp + ecx*8], edx
mov ebx, dword [esp + 0x10]
or ax, 4
mov word [ebp + ecx*8 + 8], ax
mov dword [ebp + ecx*8 + 4], 0
jmp 0x4763a1
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
test edx, edx
jne 0x476326
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0xb4], ecx
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
jmp 0x4763ad
mov edx, dword [esp + 0x10]
mov edi, 0
mov ecx, dword [esp + 0x10]
test byte [edx + 3], 1
mov eax, dword [edx + 0xc]
cmovne edi, dword [esp + 0xb4]
xor esi, esi
mov ebp, dword [edx + 0x10]
mov edx, dword [edx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x64], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], ecx
test eax, eax
jle 0x477bf4
nop
test edi, edi
je 0x477b89
mov ecx, dword [edi + esi*4]
jmp 0x477b8b
mov ecx, esi
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x28]
push dword [ebp + esi*4 + 0x14]
mov bl, byte [esi + eax]
mov eax, dword [esp + 0x3c]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [esp + 0x4c]
add eax, ecx
mov ecx, edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.00462290
add esp, 0xc
mov dword [esp + 0xb8], eax
test eax, eax
jne 0x477be7
inc esi
cmp esi, dword [esp + 0x64]
jl 0x477b80
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xb4], eax
jmp 0x4763a1
test bl, bl
je 0x477bf4
neg eax
mov dword [esp + 0xb8], eax
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xb4], 0
jmp 0x4763a1
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0x10]
test eax, eax
jns 0x477c40
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x48]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
lea edi, [eax - 0x14]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
jne 0x477c63
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x48]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
lea edi, [eax - 0x14]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x48]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
lea edi, [eax - 0x14]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea eax, [eax*8]
add eax, ebp
test byte [eax + 8], 1
je 0x477ca8
mov esi, 6
jmp 0x477cbe
push eax
call fcn.0047e1d0
add esp, 4
or eax, edx
je 0x477cbc
mov esi, 3
jmp 0x477cbe
xor esi, esi
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea eax, [eax*8]
add eax, ebp
test byte [eax + 8], 1
je 0x477cdf
mov ecx, 0x4ef106
mov eax, 0x4ef0fa
jmp 0x477d02
push eax
call fcn.0047e1d0
add esp, 4
or eax, edx
je 0x477cf8
mov ecx, 0x4ef105
mov eax, 0x4ef0f9
jmp 0x477d02
mov ecx, 0x4ef104
mov eax, 0x4ef0f8
cmp byte [edi], 0x48
cmovne eax, ecx
mov dl, byte [eax + esi]
mov eax, dword [edi + 0xc]
lea esi, [eax + eax*4]
movzx ecx, word [ebp + esi*8 + 8]
cmp dl, 2
jne 0x477d3a
mov edi, dword [esp + 0x18]
and ecx, 0xbe01
mov ebx, dword [esp + 0x10]
or ecx, 1
mov word [ebp + esi*8 + 8], cx
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x18]
and ecx, 0xbe04
mov ebx, dword [esp + 0x10]
or ecx, 4
movzx eax, dl
cdq
mov dword [ebp + esi*8], eax
mov dword [ebp + esi*8 + 4], edx
mov word [ebp + esi*8 + 8], cx
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [eax*8]
mov eax, edx
add edi, dword [esp + 0x28]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [eax*8]
mov eax, 0x2460
add esi, dword [esp + 0x28]
test word [esi + 8], ax
je 0x477da3
push esi
call fcn.00488dc0
add esp, 4
jmp 0x477dac
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x47643c
mov eax, 4
push edi
mov word [esi + 8], ax
call fcn.0047e1d0
add esp, 4
or eax, edx
jne 0x477de9
mov edi, dword [esp + 0x18]
mov eax, 1
mov ebx, dword [esp + 0x10]
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x18]
xorps xmm0, xmm0
mov ebx, dword [esp + 0x10]
movlpd qword [esp + 0x38], xmm0
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [eax*8]
mov eax, edx
add edi, dword [esp + 0x28]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [eax*8]
mov eax, 0x2460
add esi, dword [esp + 0x28]
test word [esi + 8], ax
je 0x477e4e
push esi
call fcn.00488dc0
add esp, 4
jmp 0x477e57
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x47643c
mov eax, 4
push edi
mov word [esi + 8], ax
call fcn.0047e1d0
mov edi, dword [esp + 0x1c]
not eax
mov ebx, dword [esp + 0x14]
not edx
mov dword [esi], eax
add esp, 4
mov dword [esi + 4], edx
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov eax, dword [esi + 0xc8]
mov ebx, dword [esp + 0x10]
mov ecx, dword [edi + 4]
mov edi, dword [esp + 0x18]
cmp byte [eax + ecx], 0
jne 0x476326
mov byte [eax + ecx], 1
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
movzx eax, word [ebp + ecx*8 + 8]
test al, 1
je 0x477ede
mov eax, dword [edi + 0xc]
test eax, eax
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
jmp 0x47639f
test al, 8
je 0x477eea
movsd xmm0, qword [ebp + ecx*8]
jmp 0x477f33
test al, 4
je 0x477efd
mov edx, dword [ebp + ecx*8 + 4]
mov ecx, dword [ebp + ecx*8]
call fcn.004c0100
jmp 0x477f33
test al, 0x12
je 0x477f49
movzx eax, byte [ebp + ecx*8 + 0xa]
push eax
push dword [ebp + ecx*8 + 0xc]
lea eax, [esp + 0x1ac]
movsd qword [esp + 0x1ac], xmm0
push eax
push dword [ebp + ecx*8 + 0x10]
call fcn.00449310
movsd xmm0, qword [esp + 0x1b4]
add esp, 0x10
mov bl, byte [edi]
ucomisd xmm0, qword [esp + 0x88]
lahf
test ah, 0x44
jnp 0x477f49
mov eax, 1
jmp 0x477f4b
xor eax, eax
cmp bl, 0x2e
jne 0x477f53
xor eax, 1
mov edi, dword [esp + 0x18]
test eax, eax
mov ebx, dword [esp + 0x10]
jmp 0x47639f
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 4]
mov edi, dword [esp + 0x18]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jmp 0x47639f
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 4]
mov edi, dword [esp + 0x18]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x476326
jmp 0x4763a1
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x40], edx
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov dword [esp + 0x50], edi
mov ebp, dword [eax + ecx*4]
mov dword [esp + 0x38], ebp
cmp byte [ebp + 0x1a], 0
mov esi, dword [ebp + 0x50]
mov ebx, dword [ebp]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x64], ebx
je 0x477fed
push ebp
call fcn.004360e0
jmp 0x477ffd
test ebx, ebx
je 0x478014
cmp byte [ebx + 0x49], 1
je 0x478014
push ebp
call fcn.00436140
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x47a923
mov edx, dword [esp + 0x40]
jmp 0x47801c
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ebp + 0x3c]
cmp eax, dword [ecx + 0x48]
je 0x478174
cmp byte [ebp + 0x19], 0
je 0x47807f
test ebx, ebx
jne 0x478058
mov eax, dword [ebp + 0x10]
lea edi, [ebp + 0x40]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8 + 0xc]
mov dword [ebp + 0x44], esi
mov dword [edi], esi
mov ecx, dword [ecx + eax*8 + 0x10]
mov dword [ebp + 0x4c], ecx
jmp 0x478102
mov eax, 0x2460
test word [edi + 8], ax
je 0x478071
push edi
call fcn.00488dc0
add esp, 4
jmp 0x47842c
mov eax, 1
mov word [edi + 8], ax
jmp 0x47842c
test byte [ebp + 0x1c], 4
jne 0x4780c0
lea eax, [esp + 0x1ac]
push eax
push ebx
call fcn.0044cd10
movsx eax, word [ebx + 0x4c]
lea edi, [ebp + 0x40]
mov ecx, dword [ebx + 0x20]
add esp, 8
movzx esi, word [ebx + 0x28]
mov eax, dword [ebx + eax*4 + 0x78]
mov eax, dword [eax + 0x3c]
sub eax, ecx
mov dword [ebp + 0x4c], ecx
cmp esi, eax
cmovae esi, eax
mov eax, dword [esp + 0x1ac]
mov dword [edi], eax
jmp 0x4780e9
lea edi, [ebp + 0x40]
push edi
push ebx
call fcn.0044c0c0
movsx eax, word [ebx + 0x4c]
add esp, 8
mov ecx, dword [ebx + 0x20]
movzx esi, word [ebx + 0x28]
mov eax, dword [ebx + eax*4 + 0x78]
mov eax, dword [eax + 0x3c]
sub eax, ecx
mov dword [ebp + 0x4c], ecx
cmp esi, eax
cmovae esi, eax
mov eax, dword [edi]
cmp eax, esi
mov edx, dword [esp + 0x18]
cmova eax, esi
mov dword [ebp + 0x44], eax
mov eax, dword [edi]
cmp eax, dword [edx + 0x58]
ja 0x47d258
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x48]
mov dword [ebp + 0x3c], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x478120
movzx ecx, al
mov al, 1
mov dword [esp + 0xbc], ecx
jmp 0x478138
lea eax, [esp + 0xbc]
push eax
push ecx
call fcn.0045d3e0
mov ecx, dword [esp + 0xc4]
add esp, 8
movzx eax, al
mov dword [ebp + 0x48], eax
xor eax, eax
mov word [ebp + 0x16], ax
mov eax, dword [esp + 0x2c]
mov dword [eax], ecx
cmp ecx, 0x18003
ja 0x47cf15
cmp ecx, dword [edi]
ja 0x47cf15
cmp esi, ecx
mov esi, eax
jae 0x478180
mov dword [ebp + 0x4c], 0
mov dword [ebp + 0x44], 0
jmp 0x478180
movzx eax, word [ebp + 0x16]
cmp eax, edx
jg 0x478358
mov eax, dword [ebp + 0x48]
mov ecx, dword [esi]
cmp eax, ecx
jae 0x4782f2
mov edx, dword [ebp + 0x4c]
mov dword [esp + 0x44], edx
test edx, edx
jne 0x4781f2
xorps xmm0, xmm0
lea eax, [esp + 0x2c0]
push eax
movups xmmword [esp + 0x2c4], xmm0
movups xmmword [esp + 0x2d4], xmm0
movq qword [esp + 0x2e4], xmm0
mov eax, dword [ebp + 0x1c]
shr eax, 2
not eax
and eax, 1
push eax
push dword [esi]
push edx
push ebx
call fcn.0047ef60
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x47643c
mov edx, dword [esp + 0x2d0]
mov eax, dword [ebp + 0x48]
mov ecx, dword [esi]
mov dword [esp + 0x44], edx
movzx ebx, word [ebp + 0x16]
mov edi, dword [esi + ebx*4]
lea ebp, [ebp + ebx*4]
lea esi, [eax + edx]
add edx, ecx
mov dword [esp + 0x54], edx
add ebp, 0x54
nop dword [eax]
mov al, byte [esi]
cmp al, 0x80
jae 0x478227
movzx eax, al
mov ecx, 1
mov dword [esp + 0xc0], eax
jmp 0x478246
lea eax, [esp + 0xc0]
push eax
push esi
call fcn.0045d3e0
mov edx, dword [esp + 0x5c]
add esp, 8
movzx ecx, al
mov eax, dword [esp + 0xc0]
add esi, ecx
mov dword [ebp], eax
cmp eax, 0xc
jb 0x478257
add eax, 0xfffffff4
shr eax, 1
jmp 0x47825e
movzx eax, byte [eax + 0x4eef60]
add edi, eax
mov dword [esp + 0xbc], edi
cmp edi, eax
jb 0x478282
mov eax, dword [esp + 0x2c]
inc ebx
add ebp, 4
mov dword [eax + ebx*4], edi
cmp ebx, dword [esp + 0x40]
jg 0x478285
cmp esi, edx
jb 0x478210
jmp 0x478285
lea esi, [edx + 1]
mov ebp, dword [esp + 0x38]
mov eax, esi
sub eax, dword [esp + 0x44]
cmp dword [ebp + 0x4c], 0
mov word [ebp + 0x16], bx
mov dword [ebp + 0x48], eax
jne 0x4782d0
test dword [esp + 0x2c8], 0x2460
jne 0x4782b3
cmp dword [esp + 0x2d8], 0
je 0x4782c3
lea eax, [esp + 0x2c0]
push eax
call fcn.00488d80
add esp, 4
mov eax, 1
mov word [esp + 0x2c8], ax
cmp esi, dword [esp + 0x54]
jb 0x4782e5
ja 0x47cf49
cmp edi, dword [ebp + 0x40]
jne 0x47cf49
cmp edi, dword [ebp + 0x40]
ja 0x47cf49
mov esi, dword [esp + 0x2c]
movzx eax, word [ebp + 0x16]
mov edi, dword [esp + 0x50]
cmp eax, dword [esp + 0x40]
jg 0x478358
mov ecx, dword [esp + 0x10]
mov eax, 0x2460
cmp byte [ecx + 1], 0xf8
jne 0x47805d
mov esi, dword [ecx + 0x10]
test word [edi + 8], ax
je 0x478325
push edi
call fcn.00488dc0
add esp, 4
movups xmm0, xmmword [esi]
mov ecx, 0x800
movups xmmword [edi], xmm0
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
test word [esi + 8], cx
jne 0x47842c
mov ax, word [edi + 8]
mov edx, 0xebff
and ax, dx
or ax, cx
mov word [edi + 8], ax
jmp 0x47842c
mov eax, 0x2460
test word [edi + 8], ax
je 0x47836c
push edi
call fcn.00488dc0
add esp, 4
mov edx, dword [esp + 0x40]
mov eax, dword [ebp + 0x44]
mov ebx, dword [ebp + edx*4 + 0x54]
mov dword [esp + 0xc0], ebx
cmp eax, dword [esi + edx*4 + 4]
jb 0x47839a
mov eax, dword [ebp + 0x4c]
add eax, dword [esi + edx*4]
push edi
push ebx
push eax
call fcn.004807d0
add esp, 0xc
jmp 0x478425
mov eax, dword [esp + 0x10]
mov al, byte [eax + 3]
test al, 0xc0
je 0x4783b3
cmp ebx, 0xc
jb 0x4783af
test bl, 1
je 0x4783ca
test al, al
js 0x4783ca
cmp ebx, 0xc
jb 0x4783bf
lea ecx, [ebx - 0xc]
shr ecx, 1
jmp 0x4783c6
movzx ecx, byte [ebx + 0x4eef60]
test ecx, ecx
jne 0x4783e6
xor ecx, ecx
lea eax, [esp + 0x1ac]
push edi
cmp ebx, 0xd
push ebx
cmova eax, ecx
push eax
call fcn.004807d0
add esp, 0xc
jmp 0x478425
mov eax, dword [ebp + 0x1c]
shr eax, 2
push edi
not eax
and eax, 1
push eax
push ecx
push dword [esi + edx*4]
push dword [esp + 0x74]
call fcn.0047ef60
add esp, 0x14
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47ce36
push edi
push ebx
push dword [edi + 0x10]
call fcn.004807d0
mov eax, 0xefff
add esp, 0xc
and word [edi + 8], ax
mov al, byte [esp + 0x60]
mov byte [edi + 0xa], al
movzx ecx, word [edi + 8]
test ecx, 0x1000
je 0x47643c
mov ebx, dword [edi + 0x10]
test ebx, ebx
je 0x47643c
mov edi, dword [edi + 0xc]
mov esi, ecx
mov ebp, dword [esp + 0x50]
and esi, 0x12
lea eax, [edi + 2]
cmp dword [ebp + 0x18], eax
jge 0x47847c
push 0
push eax
push ebp
call fcn.0047f060
add esp, 0xc
test eax, eax
je 0x478489
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
jmp 0x47d463
mov eax, dword [ebp + 0x14]
and ecx, 0xd
mov dword [ebp + 0x10], eax
mov word [ebp + 8], cx
push edi
push ebx
push dword [ebp + 0x10]
call fcn.004c15c0
mov eax, dword [ebp + 0x10]
add esp, 0xc
mov ebx, dword [esp + 0x10]
or esi, 0x200
mov byte [edi + eax], 0
mov eax, dword [ebp + 0x10]
mov byte [edi + eax + 1], 0
mov edi, dword [esp + 0x18]
mov word [ebp + 8], si
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov esi, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
mov byte [esp + 0xec], al
test al, al
je 0x47643c
nop word [eax + eax]
push dword [esp + 0x7c]
lea esi, [esi + 1]
push dword [esp + 0xf0]
push edi
call fcn.00421090
mov al, byte [esi]
add esp, 0xc
add edi, 0x28
mov byte [esp + 0xec], al
test al, al
jne 0x4784f0
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
xor eax, eax
mov edi, dword [esp + 0x28]
xorps xmm0, xmm0
mov dword [esp + 0x30], eax
movlpd qword [esp + 0x38], xmm0
mov eax, dword [edx + 4]
mov esi, dword [edx + 0x10]
movlpd qword [esp + 0x64], xmm0
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [edx + 8]
mov dword [esp + 0x44], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebx, [ecx + eax*8]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], ebx
mov al, byte [eax + 0x57]
mov byte [esp + 0x37], al
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov dword [esp + 0x90], edx
test esi, esi
je 0x4785bc
mov al, byte [esi]
mov edi, ecx
mov ebx, dword [esp + 0x7c]
mov byte [esp + 0xcc], al
push ebx
push dword [esp + 0xd0]
push edi
call fcn.00421090
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 0xc
mov byte [esp + 0xcc], al
add edi, 0x28
test al, al
jne 0x478593
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x70], eax
nop dword [eax]
movzx ebp, word [ebx + 8]
mov eax, ebp
test al, 1
je 0x47861e
xor esi, esi
mov dword [ebx + 0x1c], esi
movzx edi, byte [esi + 0x4eef60]
test ebp, 0x4000
je 0x478728
mov eax, dword [esp + 0x40]
or eax, dword [esp + 0x50]
je 0x47871b
push ebx
call fcn.0047ee50
add esp, 4
jmp 0x478728
test al, 4
je 0x4786e0
mov esi, dword [ebx + 4]
mov edx, dword [ebx]
test esi, esi
jg 0x47863f
jl 0x478635
test edx, edx
jae 0x47863f
mov ecx, edx
mov eax, esi
not ecx
not eax
jmp 0x478643
mov ecx, edx
mov eax, esi
test eax, eax
ja 0x4786be
jb 0x47864e
cmp ecx, 0x7f
ja 0x478676
mov eax, edx
xor edi, edi
and eax, 1
cmp eax, edx
jne 0x47866c
cmp edi, esi
jne 0x47866c
cmp byte [esp + 0x37], 4
jb 0x47866c
lea esi, [ecx + 8]
jmp 0x478705
mov esi, 1
jmp 0x478705
test eax, eax
ja 0x4786be
jb 0x478684
cmp ecx, 0x7fff
ja 0x47868e
mov esi, 2
jmp 0x4785ec
test eax, eax
ja 0x4786be
jb 0x47869c
cmp ecx, 0x7fffff
ja 0x4786a6
mov esi, 3
jmp 0x4785ec
test eax, eax
ja 0x4786be
jb 0x4786b4
cmp ecx, 0x7fffffff
ja 0x4786be
mov esi, 4
jmp 0x4785ec
cmp eax, 0x7fff
ja 0x4786d6
jb 0x4786cc
cmp ecx, 0xffffffff
ja 0x4786d6
mov esi, 5
jmp 0x4785ec
mov esi, 6
jmp 0x4785ec
test al, 8
je 0x4786ee
mov esi, 7
jmp 0x4785ec
mov ecx, dword [ebx + 0xc]
test eax, 0x4000
je 0x4786fa
add ecx, dword [ebx]
shr eax, 1
lea esi, [ecx + 6]
and eax, 1
lea esi, [eax + esi*2]
mov dword [ebx + 0x1c], esi
cmp esi, 0xc
jb 0x4785ef
lea edi, [esi - 0xc]
shr edi, 1
jmp 0x4785f6
mov eax, dword [ebx]
cdq
add dword [esp + 0x70], eax
adc dword [esp + 0x2c], edx
sub edi, dword [ebx]
mov eax, edi
cdq
add dword [esp + 0x40], eax
adc dword [esp + 0x50], edx
cmp esi, 0x7f
ja 0x47873f
mov edx, 1
jmp 0x478756
xor ecx, ecx
xor edx, edx
shrd esi, ecx, 7
inc edx
shr ecx, 7
mov eax, esi
or eax, ecx
je 0x478756
cmp edx, 9
jl 0x478743
mov ecx, dword [esp + 0x30]
sub ebx, 0x28
add ecx, edx
mov dword [esp + 0x30], ecx
cmp ebx, dword [esp + 0x44]
jae 0x4785e0
cmp ecx, 0x7e
jle 0x4787bd
mov eax, ecx
xor edi, edi
cdq
mov ecx, eax
nop dword [eax]
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x478793
cmp edi, 9
jl 0x478780
mov eax, dword [esp + 0x30]
add eax, edi
xor esi, esi
mov dword [esp + 0x30], eax
cdq
mov ecx, eax
shrd ecx, edx, 7
inc esi
shr edx, 7
mov eax, ecx
or eax, edx
je 0x4787b5
cmp esi, 9
jl 0x4787a2
mov ecx, dword [esp + 0x30]
cmp edi, esi
jge 0x4787c2
inc ecx
mov dword [esp + 0x30], ecx
mov eax, ecx
cdq
mov ebx, eax
mov edi, edx
mov eax, dword [esp + 0x18]
mov ebp, ebx
add ebp, dword [esp + 0x40]
mov ecx, edi
mov esi, ebp
mov dword [esp + 0x38], ebp
adc ecx, dword [esp + 0x50]
add esi, dword [esp + 0x70]
mov eax, dword [eax + 0x58]
adc ecx, dword [esp + 0x2c]
cdq
cmp ecx, edx
jg 0x47d266
jl 0x4787fd
cmp esi, eax
ja 0x47d266
mov esi, dword [esp + 0x90]
cmp dword [esi + 0x18], ebp
jge 0x47881f
push 0
push ebp
push esi
call fcn.0047f060
add esp, 0xc
test eax, eax
jne 0x47846b
jmp 0x47882a
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x30]
cmp eax, 0x80
jae 0x478849
mov edi, dword [esp + 0x40]
mov byte [edi], al
mov eax, 1
jmp 0x478858
push edi
mov edi, dword [esp + 0x44]
push ebx
push edi
call fcn.00469e00
add esp, 0xc
mov esi, dword [esp + 0x44]
movzx ebp, al
add esi, 0xc
mov ebx, dword [esi + 0x10]
lea eax, [edi + ebp]
cmp ebx, 0x80
jae 0x478879
mov byte [eax], bl
mov eax, 1
jmp 0x478885
push 0
push ebx
push eax
call fcn.00469e00
add esp, 0xc
add edi, dword [esp + 0x30]
movzx eax, al
add ebp, eax
lea eax, [ebx - 1]
cmp eax, 6
ja 0x4788c2
mov edx, dword [esi - 0xc]
mov eax, dword [esi - 8]
cmp ebx, 0xc
jb 0x4788a8
lea ecx, [ebx - 0xc]
shr ecx, 1
jmp 0x4788af
movzx ecx, byte [ebx + 0x4eef60]
mov ebx, ecx
dec ecx
mov byte [ecx + edi], dl
shrd edx, eax, 8
shr eax, 8
test ecx, ecx
jne 0x4788b1
jmp 0x4788da
cmp ebx, 0xc
jb 0x4788d8
mov ebx, dword [esi]
push ebx
push dword [esi + 4]
push edi
call fcn.004c15c0
add esp, 0xc
jmp 0x4788da
xor ebx, ebx
add dword [esp + 0x30], ebx
add esi, 0x28
mov edi, dword [esp + 0x40]
lea eax, [esi - 0xc]
cmp eax, dword [esp + 0x54]
jbe 0x478862
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x70]
mov dword [edx + 0xc], eax
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [esp + 0x2c]
je 0x478920
mov eax, 0x4010
mov dword [edx], ecx
mov word [edx + 8], ax
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov byte [edx + 0xa], 1
jmp 0x4763a1
mov edi, dword [esp + 0x10]
xorps xmm0, xmm0
mov eax, dword [esi + 0x38]
movlpd qword [esp + 0x150], xmm0
mov ecx, dword [edi + 4]
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x150]
push ecx
push dword [eax]
call fcn.0044bd70
mov dword [esp + 0x1c], eax
add esp, 8
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x478984
push esi
call fcn.00488dc0
add esp, 4
mov edi, dword [esp + 0x18]
mov eax, 4
mov ebx, dword [esp + 0x10]
mov word [esi + 8], ax
mov eax, dword [esp + 0x150]
mov dword [esi], eax
mov eax, dword [esp + 0x154]
mov dword [esi + 4], eax
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x10]
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x478b1f
mov ebp, dword [esp + 0x18]
cmp dword [ebp + 0x9c], eax
jg 0x47cf55
mov esi, edi
test edi, edi
je 0x4789f0
cmp byte [edi], 0
je 0x4789e8
inc esi
cmp byte [esi], 0
jne 0x4789e2
sub esi, edi
and esi, 0x3fffffff
mov eax, dword [ebp + 0x1f4]
add eax, dword [ebp + 0x1f0]
push eax
push 0
push ebp
call fcn.00481bc0
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x47d14e
lea ecx, [esi + 0x21]
cmp byte [ebp + 0x41], bl
je 0x478a4b
mov edi, ebp
add dword [esp + 0x10], 0x14
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
movsd xmm0, qword [esp + 0x88]
mov ecx, dword [esp + 0x58]
jmp 0x4762b0
cmp byte [ebp + 0xfa], bl
je 0x478a6b
movzx eax, word [ebp + 0xf8]
cdq
cmp ebx, edx
jb 0x478a81
ja 0x478a65
cmp ecx, eax
jbe 0x478a81
inc dword [ebp + 0x108]
push ebx
push ecx
call fcn.00461dd0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x478abc
mov byte [ebp + 0x41], 1
jmp 0x478a1e
mov ebx, dword [ebp + 0x110]
test ebx, ebx
jne 0x478a93
inc dword [ebp + 0x10c]
jmp 0x478a6b
mov eax, dword [ebx]
mov dword [ebp + 0x110], eax
mov eax, dword [ebp + 0xfc]
inc eax
mov dword [ebp + 0xfc], eax
inc dword [ebp + 0x104]
cmp eax, dword [ebp + 0x100]
jle 0x478abc
mov dword [ebp + 0x100], eax
lea eax, [esi + 1]
push eax
lea ecx, [ebx + 0x20]
push edi
push ecx
mov dword [ebx], ecx
call fcn.004c15c0
mov edi, ebp
add esp, 0xc
cmp byte [edi + 0x3f], 0
je 0x478ae1
mov byte [edi + 0x3f], 0
mov byte [edi + 0x46], 1
jmp 0x478ae7
inc dword [edi + 0x1f0]
mov eax, dword [edi + 0x1e8]
mov dword [ebx + 0x18], eax
mov eax, dword [edi + 0x1f8]
mov dword [edi + 0x1e8], ebx
mov dword [ebx + 8], eax
mov eax, dword [edi + 0x1fc]
mov dword [ebx + 0xc], eax
mov eax, dword [edi + 0x200]
mov dword [ebx + 0x10], eax
mov eax, dword [edi + 0x204]
mov dword [ebx + 0x14], eax
jmp 0x478a20
mov eax, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x4c], edx
mov ebp, dword [eax + 0x1e8]
test ebp, ebp
je 0x478ba5
mov esi, dword [ebp]
test esi, esi
jne 0x478b46
mov ecx, edi
neg ecx
sbb ecx, ecx
jmp 0x478b91
test edi, edi
je 0x478b95
mov bl, byte [esi]
mov edx, edi
test bl, bl
je 0x478b77
mov al, bl
sub esi, edi
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x4eb938]
cmp al, byte [ecx + 0x4eb938]
jne 0x478b77
mov al, byte [esi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x478b56
movzx eax, bl
movzx ecx, byte [eax + 0x4eb938]
movzx eax, byte [edx]
mov edx, dword [esp + 0x4c]
movzx eax, byte [eax + 0x4eb938]
sub ecx, eax
test ecx, ecx
je 0x478bd5
mov ebp, dword [ebp + 0x18]
inc edx
mov dword [esp + 0x4c], edx
test ebp, ebp
jne 0x478b37
mov esi, dword [esp + 0x1c]
push edi
mov edi, dword [esp + 0x1c]
lea eax, [esi + 0x2c]
push str.no_such_savepoint:__s
push edi
push eax
call fcn.0046edd0
add esp, 0x10
mov ebx, dword [esp + 0x10]
mov eax, 1
mov dword [esp + 0x14], 1
add ebx, 0x14
jmp 0x47d490
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
cmp dword [edi + 0x9c], 0
jle 0x478bef
cmp esi, 1
je 0x47cf82
cmp dword [ebp + 0x18], 0
jne 0x478c64
cmp byte [edi + 0x46], 0
je 0x478c64
mov ebx, 1
mov dword [esp + 0x40], ebx
cmp esi, ebx
jne 0x478c6c
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x200]
add edx, dword [ecx + 0x1f8]
mov eax, dword [ecx + 0x204]
adc eax, dword [ecx + 0x1fc]
test eax, eax
jg 0x47cfbe
jl 0x478c38
test edx, edx
jne 0x47cfbe
push dword [esp + 0x1c]
mov byte [edi + 0x3f], bl
call fcn.0047def0
add esp, 4
cmp eax, 5
je 0x47cf8d
mov eax, dword [esp + 0x1c]
mov byte [edi + 0x46], 0
mov eax, dword [eax + 0x50]
mov dword [esp + 0x14], eax
jmp 0x478d51
mov dword [esp + 0x40], 0
mov ecx, dword [edi + 0x1f0]
mov eax, dword [edi + 0x14]
sub ecx, edx
mov edx, dword [esp + 0x2c]
dec ecx
mov dword [esp + 0x4c], ecx
cmp edx, 2
jne 0x478ce2
mov ebx, dword [edi + 0x18]
xor edi, edi
shr ebx, 1
and ebx, 1
mov dword [esp + 0x38], ebx
test eax, eax
jle 0x478ce4
xor ebx, 1
xor esi, esi
nop dword [eax]
mov eax, dword [esp + 0x18]
push ebx
push 0x204
mov eax, dword [eax + 0x10]
push dword [eax + esi + 4]
call fcn.0044e290
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47a923
mov eax, dword [esp + 0x18]
inc edi
add esi, 0x10
mov eax, dword [eax + 0x14]
cmp edi, eax
jl 0x478ca0
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x2c]
jmp 0x478ce4
xor ebx, ebx
xor edi, edi
test eax, eax
jle 0x478d22
mov eax, dword [esp + 0x18]
xor esi, esi
mov eax, dword [eax + 0x10]
push ecx
push edx
push dword [eax + esi + 4]
call fcn.0044de40
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47a923
mov eax, dword [esp + 0x18]
inc edi
mov ecx, dword [esp + 0x4c]
add esi, 0x10
mov edx, dword [esp + 0x2c]
cmp edi, dword [eax + 0x14]
jl 0x478cf0
mov edi, dword [esp + 0x18]
test ebx, ebx
je 0x478d49
mov eax, dword [edi + 4]
test eax, eax
je 0x478d3c
or dword [eax + 0x58], 8
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x478d31
push edi
call fcn.0046a9e0
add esp, 4
or dword [edi + 0x18], 2
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
cmp dword [edi + 0x1e8], ebp
je 0x478d87
nop dword [eax]
mov ecx, dword [edi + 0x1e8]
push ecx
push edi
mov eax, dword [ecx + 0x18]
mov dword [edi + 0x1e8], eax
call fcn.004514c0
dec dword [edi + 0x1f0]
add esp, 8
cmp dword [edi + 0x1e8], ebp
jne 0x478d60
cmp esi, 1
jne 0x478daf
mov eax, dword [ebp + 0x18]
push ebp
push edi
mov dword [edi + 0x1e8], eax
call fcn.004514c0
add esp, 8
test ebx, ebx
jne 0x476440
dec dword [edi + 0x1f0]
jmp 0x478de0
mov eax, dword [ebp + 8]
mov dword [edi + 0x1f8], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 0x1fc], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x200], eax
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x204], eax
test ebx, ebx
je 0x478de0
cmp esi, 2
jne 0x476440
push dword [esp + 0x4c]
push esi
push edi
call fcn.00481bc0
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x47a92b
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ebx, dword [edx + 4]
mov ecx, dword [edx + 8]
test ebx, ebx
je 0x478e52
mov al, byte [edi + 0x3f]
test al, al
jne 0x478e52
test ecx, ecx
jne 0x478e55
cmp dword [edi + 0x9c], ecx
jle 0x478e55
mov eax, str.cannot_commit_transaction___SQL_statements_in_progress
mov dword [esp + 0x14], 5
push eax
lea eax, [esi + 0x2c]
push edi
push eax
call fcn.0046edd0
mov ebx, dword [esp + 0x1c]
add esp, 0xc
jmp 0x4763a1
mov al, byte [edi + 0x3f]
movzx eax, al
cmp ebx, eax
jne 0x47cfe6
test ebx, ebx
jne 0x478e6b
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x478e7a
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
push eax
lea eax, [esi + 0x2c]
mov dword [esp + 0x18], 1
push edi
push eax
call fcn.0046edd0
mov ebx, dword [esp + 0x1c]
add esp, 0xc
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov edx, dword [edx + 8]
test edx, edx
je 0x478eb5
test dword [edi + 0x18], 0x2000000
jne 0x47d075
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x479032
push edx
push esi
call fcn.0044b480
mov ebx, eax
add esp, 8
mov dword [esp + 0x14], ebx
cmp ebx, 5
je 0x47d083
test ebx, ebx
jne 0x47a92b
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], ebx
je 0x478fc2
mov ebp, dword [esp + 0x1c]
test byte [ebp + 0x58], 0x20
je 0x478fc2
cmp byte [edi + 0x3f], bl
je 0x478f1b
cmp dword [edi + 0x98], 1
jle 0x478fc2
mov eax, dword [ebp + 0x68]
test eax, eax
jne 0x478f37
mov eax, dword [edi + 0x1f0]
inc dword [edi + 0x1f4]
add eax, dword [edi + 0x1f4]
mov dword [ebp + 0x68], eax
dec eax
push eax
push 0
push edi
call fcn.00481bc0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x478f92
mov edi, dword [ebp + 0x68]
mov ebx, dword [esi + 4]
cmp byte [esi + 9], al
je 0x478f6a
inc dword [esi + 0xc]
cmp byte [esi + 0xa], al
jne 0x478f6a
push esi
call fcn.00423b80
add esp, 4
push edi
push dword [ebx]
call fcn.004641f0
add esp, 8
mov dword [esp + 0x14], eax
cmp byte [esi + 9], 0
je 0x478f8e
add dword [esi + 0xc], 0xffffffff
jne 0x478f8e
push esi
call fcn.00486170
add esp, 4
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x1f8]
mov dword [ebp + 0x98], eax
mov eax, dword [edi + 0x1fc]
mov dword [ebp + 0x9c], eax
mov eax, dword [edi + 0x200]
mov dword [ebp + 0xa0], eax
mov eax, dword [edi + 0x204]
mov dword [ebp + 0xa4], eax
mov dl, byte [esi + 9]
mov edi, dword [esi + 4]
test dl, dl
je 0x478fe1
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x478fe1
push esi
call fcn.00423b80
mov dl, byte [esi + 9]
add esp, 4
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx + 0x28]
movzx edi, byte [ecx + 0x29]
shl eax, 8
or edi, eax
movzx eax, byte [ecx + 0x2a]
shl edi, 8
or edi, eax
movzx eax, byte [ecx + 0x2b]
shl edi, 8
or edi, eax
test dl, dl
je 0x479019
add dword [esi + 0xc], 0xffffffff
jne 0x479019
push esi
call fcn.00486170
add esp, 4
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x47903a
mov ebp, dword [esp + 0x18]
xor edi, edi
xor eax, eax
mov ebx, dword [esp + 0x10]
cmp byte [ebx + 3], 0
je 0x47ce29
cmp edi, dword [ebx + 0xc]
jne 0x479056
cmp eax, dword [ebx + 0x10]
je 0x47ce29
mov eax, dword [esp + 0x1c]
push dword [eax + 0x2c]
push ebp
call fcn.004514c0
add esp, 8
mov eax, str.database_schema_has_changed
nop dword [eax + eax]
inc eax
cmp byte [eax], 0
jne 0x479070
sub eax, str.database_schema_has_changed
xor ecx, ecx
and eax, 0x3fffffff
lea ebx, [eax + 1]
cmp byte [ebp + 0x41], cl
je 0x479091
xor esi, esi
jmp 0x479111
cmp byte [ebp + 0xfa], cl
je 0x4790b1
movzx eax, word [ebp + 0xf8]
cdq
cmp ecx, edx
jb 0x4790c7
ja 0x4790ab
cmp ebx, eax
jbe 0x4790c7
inc dword [ebp + 0x108]
push ecx
push ebx
call fcn.00461dd0
mov esi, eax
add esp, 8
test esi, esi
jne 0x479102
mov byte [ebp + 0x41], 1
jmp 0x479111
mov esi, dword [ebp + 0x110]
test esi, esi
jne 0x4790d9
inc dword [ebp + 0x10c]
jmp 0x4790b1
mov eax, dword [esi]
mov dword [ebp + 0x110], eax
mov eax, dword [ebp + 0xfc]
inc eax
mov dword [ebp + 0xfc], eax
inc dword [ebp + 0x104]
cmp eax, dword [ebp + 0x100]
jle 0x479102
mov dword [ebp + 0x100], eax
push ebx
push str.database_schema_has_changed
push esi
call fcn.004c15c0
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x2c], esi
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 4]
mov ecx, esi
mov eax, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], edi
je 0x479150
push eax
call fcn.0046bfb0
mov edi, dword [esp + 0x1c]
add esp, 4
cmp esi, 1
je 0x479154
mov eax, dword [edi + 0x10]
push dword [eax + 0x1c]
call fcn.0046bfb0
add esp, 4
jmp 0x479154
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, 0x11
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
or dword [esi + 0x58], 8
mov dword [esp + 0x14], 0x11
jmp 0x4763ad
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x134]
mov edi, dword [esp + 0x18]
push eax
mov ecx, dword [edx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
push dword [edx + 0xc]
push dword [eax + ecx*8 + 4]
call fcn.0044c3f0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4791c5
push esi
call fcn.00488dc0
add esp, 4
mov ebx, dword [esp + 0x10]
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x134]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov edi, dword [edx + 4]
shl edi, 4
add edi, dword [eax + 0x10]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0047e1d0
mov dword [esi], eax
mov ecx, 0xbe04
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
push dword [esi]
or ax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x18]
push dword [eax + 8]
push dword [edi + 4]
call fcn.0044e410
mov dword [esp + 0x24], eax
add esp, 0x10
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x47925a
mov ecx, dword [edi + 0xc]
mov edi, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ecx], eax
or dword [edi + 0x18], 2
jmp 0x47926b
cmp eax, 2
jne 0x479267
mov ecx, dword [edi + 0xc]
mov al, byte [esi]
mov byte [ecx + 0x4c], al
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
cmp dword [ebx + 4], 1
jne 0x476444
mov eax, dword [edi + 4]
test eax, eax
je 0x47928b
or dword [eax + 0x58], 8
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x479280
mov esi, dword [esp + 0x1c]
and dword [esi + 0x58], 0xfffffff7
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov ecx, dword [edi + 4]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x4792b5
mov eax, dword [esi + 0x20]
cmp eax, dword [edi + 8]
je 0x4793e5
mov esi, dword [esp + 0x1c]
test byte [esi + 0x58], 8
jne 0x47d0c8
mov esi, dword [esp + 0x10]
xor edi, edi
mov edx, dword [esp + 0x18]
mov dword [esp + 0x44], edi
mov ecx, dword [esi + 0xc]
mov eax, ecx
mov ebp, dword [esi + 8]
shl eax, 4
add eax, dword [edx + 0x10]
mov dword [esp + 0x38], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x64], edx
cmp bl, 0x37
jne 0x479311
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x54], 1
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x57]
jae 0x479315
mov byte [edx + 0x57], al
jmp 0x479315
mov edi, dword [esp + 0x10]
jmp 0x4792b9
mov dword [esp + 0x54], edi
test byte [esi + 3], 4
je 0x479360
mov ecx, dword [esp + 0x28]
lea eax, [ebp*4]
add eax, ebp
lea esi, [ecx + eax*8]
push esi
call fcn.0047e1d0
mov dword [esi], eax
mov ecx, 0xbe04
mov ax, word [esi + 8]
add esp, 4
and ax, cx
mov dword [esi + 4], edx
mov ebp, dword [esi]
or ax, 4
mov word [esi + 8], ax
cmp ebp, 2
jl 0x47d0b0
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x10]
mov al, byte [esi + 1]
cmp al, 0xfa
jne 0x479376
mov ebx, dword [esi + 0x10]
movzx edi, word [ebx + 8]
movzx eax, word [ebx + 6]
add edi, eax
jmp 0x479385
cmp al, 0xf2
jne 0x479383
mov edi, dword [esi + 0x10]
mov ebx, dword [esp + 0x44]
jmp 0x479385
mov ebx, edi
push 1
push ecx
push edi
mov edi, dword [esp + 0x1c]
push dword [edi + 4]
push dword [esp + 0x2c]
call fcn.0041fae0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x47846b
push dword [esi]
or dword [esi + 0x1c], 8
push ebx
push dword [esp + 0x5c]
mov byte [esi + 0x19], 1
push ebp
push dword [esp + 0x74]
mov dword [esi + 0x20], ebp
call fcn.0044bfb0
xor ecx, ecx
mov dword [esp + 0x28], eax
add esp, 0x14
mov dword [esi + 8], ebx
cmp byte [edi + 1], 0xfa
mov eax, 4
cmovne ecx, eax
mov eax, dword [esi + 0x1c]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 0x1c], ecx
mov cl, byte [edi + 3]
mov eax, dword [esi]
and cl, 3
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov byte [eax + 0x4a], cl
jmp 0x4763a1
mov edi, dword [esp + 0x10]
push 1
push 0xffffffffffffffff
push dword [edi + 8]
push dword [edi + 4]
push esi
call fcn.0041fae0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x47846b
or dword [esi + 0x1c], 1
lea ebx, [esi + 4]
mov byte [esi + 0x19], 1
movzx eax, byte [edi + 3]
mov edi, dword [esp + 0x18]
or eax, 5
push 0x41e
push eax
push ebx
push edi
push 0
push dword [edi]
call fcn.0044d440
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47951c
push 1
push dword [ebx]
call fcn.0044b480
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47951c
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x38], eax
test eax, eax
je 0x479502
mov edi, dword [ebx]
movzx ebp, byte [ecx + 3]
or ebp, 2
cmp byte [edi + 9], 0
je 0x4794a4
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x4794a4
push edi
call fcn.00423b80
add esp, 4
push ebp
lea eax, [esp + 0x144]
push eax
push edi
call fcn.004232a0
add esp, 0xc
mov dword [esp + 0x14], eax
cmp byte [edi + 9], 0
je 0x4794d3
add dword [edi + 0xc], 0xffffffff
jne 0x4794d3
push edi
call fcn.00486170
mov eax, dword [esp + 0x18]
add esp, 4
test eax, eax
jne 0x4794f8
push dword [esi]
mov eax, dword [esp + 0x3c]
push eax
push 1
push dword [esp + 0x14c]
mov dword [esi + 8], eax
push dword [ebx]
call fcn.0044bfb0
add esp, 0x14
mov dword [esp + 0x14], eax
and dword [esi + 0x1c], 0xfffffffb
mov edi, dword [esp + 0x18]
jmp 0x47951c
push dword [esi]
push 0
push 1
push 1
push dword [ebx]
call fcn.0044bfb0
add esp, 0x14
mov dword [esp + 0x14], eax
or dword [esi + 0x1c], 4
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov ebx, dword [esp + 0x10]
cmp byte [eax + 3], 8
mov eax, 8
cmovne ecx, eax
mov eax, dword [esi + 0x1c]
and eax, 0xfffffff7
or ecx, eax
mov dword [esi + 0x1c], ecx
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
push 1
push 0xffffffffffffffff
push dword [edi + 8]
push dword [edi + 4]
push esi
call fcn.0041fae0
add esp, 0x14
test eax, eax
je 0x47d44b
mov ecx, dword [edi + 0x10]
push eax
mov dword [eax + 8], ecx
push dword [edi + 0xc]
mov edi, dword [esp + 0x20]
push edi
call fcn.00480b10
mov ebx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov ebx, dword [esp + 0x10]
mov ecx, dword [edx + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x28]
mov ecx, edi
mov esi, dword [edx + 0x2c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x28], ecx
adc eax, 0
or edi, esi
mov edi, dword [esp + 0x18]
mov dword [edx + 0x2c], eax
je 0x476326
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x1c]
mov edi, dword [edx + 4]
sub eax, edi
mov ebp, dword [edx + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea ebx, [ebp*8 + 0x58]
lea esi, [eax + ecx*8]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x38]
mov eax, dword [eax + edi*4]
test eax, eax
je 0x47960a
push eax
push ecx
call fcn.0047dde0
mov eax, dword [esp + 0x24]
add esp, 8
mov eax, dword [eax + 0x38]
mov dword [eax + edi*4], 0
cmp dword [esi + 0x18], ebx
jge 0x479625
push 0
push ebx
push esi
call fcn.0047f060
add esp, 0xc
test eax, eax
jne 0x47846b
jmp 0x479630
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x1c]
mov esi, dword [esi + 0x10]
push 0x58
push 0
mov eax, dword [eax + 0x38]
push esi
mov dword [eax + edi*4], esi
call fcn.004c20c0
mov edi, dword [esp + 0x24]
add esp, 0xc
mov ebx, dword [esp + 0x10]
mov word [esi + 0x14], bp
add ebp, 0x15
mov word [esi + 0x18], 0x1ff
lea eax, [esi + ebp*4]
mov dword [esi + 0x50], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
or dword [esi + 0x1c], 4
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov ecx, dword [edi + 4]
push dword [eax + ecx*4]
push esi
call fcn.0047dde0
mov ecx, dword [edi + 4]
add esp, 8
mov eax, dword [esi + 0x38]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov dword [eax + ecx*4], 0
jmp 0x4763a1
mov ebx, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov ecx, dword [ebx + 4]
mov ebp, dword [eax + ecx*4]
test byte [ebp + 0x1c], 4
mov byte [ebp + 0x19], 0
je 0x4797e7
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov al, byte [esi + 8]
and al, 0xe
cmp al, 2
jne 0x479758
mov al, byte [esi + 0xa]
mov byte [esp + 0x144], al
lea eax, [esp + 0x26c]
mov ebx, dword [esp + 0x144]
push ebx
push dword [esi + 0xc]
push eax
push dword [esi + 0x10]
call fcn.00449310
add esp, 0x10
test eax, eax
je 0x479758
push ebx
push dword [esi + 0xc]
lea eax, [esp + 0x1bc]
push eax
push dword [esi + 0x10]
call fcn.00449980
movzx ecx, word [esi + 8]
add esp, 0x10
test eax, eax
jne 0x479744
mov eax, dword [esp + 0x1b4]
or ecx, 4
mov dword [esi], eax
mov eax, dword [esp + 0x1b8]
mov dword [esi + 4], eax
jmp 0x479754
movsd xmm0, qword [esp + 0x26c]
or ecx, 8
movsd qword [esi], xmm0
mov word [esi + 8], cx
push esi
call fcn.0047e1d0
movzx ecx, word [esi + 8]
add esp, 4
mov dword [esp + 0x44], edx
mov ebx, eax
mov dword [esp + 0x38], ebx
test cl, 4
jne 0x4797aa
test cl, 8
je 0x47631e
mov ecx, ebx
call fcn.004c0100
movsd xmm1, qword [esi]
comisd xmm0, xmm1
mov ebx, dword [esp + 0x2c]
jbe 0x47979c
test bl, 1
cmove edi, ebx
mov ebx, edi
jmp 0x4797ae
comisd xmm1, xmm0
jbe 0x4797ae
test bl, 1
jne 0x4797ae
inc ebx
jmp 0x4797ae
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
lea eax, [esp + 0x6c]
mov esi, dword [esp + 0x38]
push eax
push 0
push edi
push esi
push 0
push dword [ebp]
call fcn.0044ce40
add esp, 0x18
mov dword [esp + 0x14], eax
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x34], edi
test eax, eax
jne 0x47a923
mov esi, dword [esp + 0x1c]
jmp 0x47986d
mov eax, dword [ebp + 8]
test dl, 1
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x27c], eax
mov ax, word [ecx + 0x10]
mov word [esp + 0x280], ax
sete al
lea eax, [eax*2 - 1]
mov byte [esp + 0x282], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x4000
mov dword [esp + 0x284], eax
test word [eax + 8], cx
je 0x47983d
push eax
call fcn.0047ee50
add esp, 4
lea eax, [esp + 0x6c]
push eax
push 0
push 0
push 0
lea eax, [esp + 0x28c]
push eax
push dword [ebp]
call fcn.0044ce40
mov ebx, eax
add esp, 0x18
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x47a927
mov ebx, dword [esp + 0x2c]
mov byte [ebp + 0x1a], 0
mov dword [ebp + 0x3c], 0
mov eax, dword [esp + 0x6c]
cmp ebx, 0x40
jl 0x4798bb
test eax, eax
js 0x4798a1
jne 0x47988c
cmp ebx, 0x41
je 0x4798a1
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x6c], 0
jmp 0x4763a1
lea eax, [esp + 0x6c]
mov dword [esp + 0x6c], 0
push eax
push dword [ebp]
call fcn.0044d3c0
jmp 0x479928
test eax, eax
jg 0x4798d8
jne 0x4798c6
cmp ebx, 0x3e
je 0x4798d8
mov eax, dword [ebp]
xor ecx, ecx
cmp byte [eax + 0x49], 1
setne cl
mov dword [esp + 0x6c], ecx
jmp 0x479939
mov dword [esp + 0x6c], 0
xor eax, eax
mov ecx, dword [ebp]
and byte [ecx + 0x48], 0xf1
cmp byte [ecx + 0x49], 1
mov word [ecx + 0x2c], ax
jne 0x47991d
movsx edx, word [ecx + 0x4c]
movzx esi, word [ecx + edx*2 + 0x4e]
test si, si
je 0x47991d
mov eax, dword [ecx + edx*4 + 0x78]
cmp byte [eax + 5], 0
je 0x47991d
lea eax, [esi - 1]
mov dword [esp + 0x14], 0
mov word [ecx + edx*2 + 0x4e], ax
jmp 0x479939
lea eax, [esp + 0x6c]
push eax
push ecx
call fcn.00424120
mov ebx, eax
add esp, 8
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x47a927
cmp dword [esp + 0x6c], 0
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
jne 0x476326
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x28]
mov byte [esi + 0x19], 0
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.0047e1d0
mov edi, dword [esp + 0x1c]
add esp, 4
mov ebx, dword [esp + 0x10]
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 1
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov dword [esp + 0x40], 0
mov ecx, dword [edx + 4]
mov ebp, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + 0x10]
movzx ecx, ax
test eax, eax
jle 0x479a2e
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [esp + 0x1fc], eax
xor eax, eax
mov word [esp + 0x200], cx
mov dword [esp + 0x204], ebx
cmp ax, cx
jae 0x479a22
xor esi, esi
mov edx, 0x4000
nop dword [eax]
test word [ebx + esi + 8], dx
lea eax, [ebx + esi]
je 0x479a17
push eax
call fcn.0047ee50
mov ebx, dword [esp + 0x208]
add esp, 4
mov cx, word [esp + 0x200]
mov edx, 0x4000
inc edi
movzx eax, cx
add esi, 0x28
cmp edi, eax
jl 0x4799f0
lea esi, [esp + 0x1fc]
jmp 0x479adc
mov edi, dword [ebp + 8]
lea edx, [esp + 0x360]
neg edx
and edx, 7
movzx esi, word [edi + 6]
mov eax, esi
lea eax, [eax + eax*4]
lea ecx, [eax*8 + 0x40]
lea eax, [edx + 0xbf]
cmp ecx, eax
jbe 0x479a93
mov eax, esi
cdq
mov ecx, eax
mov esi, edx
shld esi, ecx, 2
shl ecx, 2
add eax, ecx
adc edx, esi
shld edx, eax, 3
shl eax, 3
add eax, 0x40
adc edx, 0
push edx
push eax
push dword [edi + 0xc]
call fcn.00451570
mov esi, eax
add esp, 0xc
mov dword [esp + 0x40], esi
test esi, esi
je 0x47846b
jmp 0x479aa4
lea esi, [esp + 0x360]
mov dword [esp + 0x40], 0
add esi, edx
lea eax, [esi + 0x18]
mov dword [esi], edi
mov dword [esi + 8], eax
mov ax, word [edi + 6]
inc ax
mov word [esi + 4], ax
mov eax, 0x4000
test word [ebx + 8], ax
je 0x479aca
push ebx
call fcn.0047ee50
add esp, 4
push esi
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebp + 8]
call fcn.004804c0
add esp, 0x10
mov eax, dword [esp + 0x10]
xor edi, edi
mov byte [esi + 6], 0
cmp byte [eax], 0x43
jne 0x479b14
movzx edx, word [esi + 4]
xor ecx, ecx
test edx, edx
je 0x479b14
mov eax, dword [esi + 8]
add eax, 8
nop dword [eax + eax]
test byte [eax], 1
jne 0x479b0f
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x479b00
jmp 0x479b14
mov edi, 1
lea eax, [esp + 0xf8]
push eax
push 0
push 0
push 0
push esi
push dword [ebp]
call fcn.0044ce40
push dword [esp + 0x58]
mov ebx, eax
push dword [esp + 0x34]
mov dword [esp + 0x34], ebx
call fcn.004514c0
add esp, 0x20
test ebx, ebx
mov ebx, dword [esp + 0x10]
jne 0x47ce29
mov eax, dword [esp + 0xf8]
xor ecx, ecx
test eax, eax
mov dword [ebp + 0xc], eax
mov byte [ebp + 0x1a], 0
sete cl
mov dword [ebp + 0x3c], 0
test eax, eax
setne al
mov byte [ebp + 0x19], al
cmp byte [ebx], 0x45
jne 0x479b87
mov edi, dword [esp + 0x18]
test ecx, ecx
jne 0x476326
jmp 0x478a20
test edi, edi
jne 0x47b992
mov edi, dword [esp + 0x18]
test ecx, ecx
je 0x476326
jmp 0x478a20
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0xe8], 0
mov ecx, dword [edx + 4]
mov ebx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
mov esi, dword [ebp + eax*8]
mov edi, dword [ebp + eax*8 + 4]
lea eax, [esp + 0xe8]
push eax
push 0
push edi
push esi
push 0
push dword [ebx]
call fcn.0044ce40
mov dword [esp + 0x2c], eax
add esp, 0x18
mov eax, dword [esp + 0xe8]
mov dword [ebx + 0x34], edi
mov edi, dword [esp + 0x18]
mov dword [ebx + 0x30], esi
mov word [ebx + 0x19], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0xc], eax
mov ebx, dword [esp + 0x10]
test eax, eax
jne 0x476326
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x479c40
push esi
call fcn.00488dc0
add esp, 4
mov eax, 4
mov ebx, dword [esp + 0x10]
mov word [esi + 8], ax
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x28]
mov dword [esi], eax
mov eax, dword [ecx + 0x2c]
mov dword [esi + 4], eax
mov esi, dword [esp + 0x1c]
mov ecx, dword [edi + 4]
mov edi, dword [esp + 0x18]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp 0x4763a1
mov edi, dword [esp + 0x10]
xorps xmm0, xmm0
movlpd qword [esp + 0x74], xmm0
mov dword [esp + 0xa0], 0
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea ebx, [eax + ecx*8]
mov eax, 0x2460
mov dword [esp + 0x38], ebx
test word [ebx + 8], ax
je 0x479cbf
push ebx
call fcn.00488dc0
add esp, 4
mov eax, 4
mov word [ebx + 8], ax
mov eax, dword [esi + 0x38]
mov ecx, dword [edi + 4]
mov ebp, dword [eax + ecx*4]
mov eax, dword [ebp]
test eax, eax
je 0x479eab
test byte [ebp + 0x1c], 2
jne 0x479d63
lea ecx, [esp + 0xa0]
push ecx
push eax
call fcn.0044cd70
mov ebx, eax
add esp, 8
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x47a927
cmp dword [esp + 0xa0], eax
je 0x479d1f
mov edi, 1
xor esi, esi
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], esi
jmp 0x479d6b
lea eax, [esp + 0x74]
push eax
push dword [ebp]
call fcn.0044cd10
mov esi, dword [esp + 0x80]
add esp, 8
mov edi, dword [esp + 0x74]
mov dword [esp + 0x14], eax
cmp esi, 0x7fffffff
jl 0x479d53
jg 0x479d4d
cmp edi, 0xffffffff
jb 0x479d53
or dword [ebp + 0x1c], 2
jmp 0x479d6b
add edi, 1
mov dword [esp + 0x74], edi
adc esi, 0
mov dword [esp + 0x78], esi
jmp 0x479d6b
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x479e0f
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x479da4
mov eax, dword [edx + 4]
test eax, eax
je 0x479d99
nop
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x479d90
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea ebx, [eax + ecx*8]
jmp 0x479dae
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x28]
lea ebx, [ecx + eax*8]
push ebx
call fcn.0047e1d0
mov dword [ebx], eax
mov ecx, 0xbe04
mov ax, word [ebx + 8]
add esp, 4
and ax, cx
mov dword [ebx + 4], edx
mov ecx, dword [ebx]
or ax, 4
mov word [ebx + 8], ax
mov eax, edx
cmp ecx, 0xffffffff
jne 0x479de4
cmp eax, 0x7fffffff
je 0x479e78
test byte [ebp + 0x1c], 2
jne 0x479e78
add ecx, 1
adc eax, 0
cmp esi, eax
jg 0x479e0a
jl 0x479dfe
cmp edi, ecx
jae 0x479e0a
mov edi, ecx
mov esi, eax
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], esi
mov dword [ebx], edi
mov dword [ebx + 4], esi
test byte [ebp + 0x1c], 2
je 0x479e86
xor ebx, ebx
lea eax, [esp + 0x74]
push eax
push 8
call fcn.00418650
mov esi, dword [esp + 0x80]
lea eax, [esp + 0xa8]
mov edi, dword [esp + 0x7c]
and esi, 0x3fffffff
push eax
add edi, 1
push 0
adc esi, 0
mov dword [esp + 0x84], edi
push esi
push edi
push 0
push dword [ebp]
mov dword [esp + 0x98], esi
call fcn.0044ce40
add esp, 0x20
mov dword [esp + 0x14], eax
test eax, eax
jne 0x479e86
cmp dword [esp + 0xa0], eax
jne 0x479e86
inc ebx
cmp ebx, 0x64
jl 0x479e17
mov ebx, 0xd
mov dword [esp + 0x14], ebx
jmp 0x47a927
mov ebx, dword [esp + 0x38]
mov byte [ebp + 0x1a], 0
mov dword [ebp + 0x3c], 0
mov dword [ebx], edi
mov edi, dword [esp + 0x18]
mov dword [ebx + 4], esi
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
mov dword [ebx], edi
mov edi, dword [esp + 0x18]
mov dword [ebx + 4], esi
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x38]
mov ebp, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
cmp bl, 0x4b
jne 0x479ef8
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*8]
mov ebx, dword [ecx + eax*8 + 4]
jmp 0x479f01
cdq
mov ebx, edx
mov edi, eax
mov edx, dword [esp + 0x10]
mov cl, byte [edx + 3]
test cl, 1
je 0x479f13
mov eax, dword [esp + 0x1c]
inc dword [eax + 0x5c]
mov cl, byte [edx + 3]
test cl, 2
je 0x479f2a
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], ebx
mov dword [eax + 0x20], edi
mov dword [eax + 0x24], ebx
mov ecx, dword [esp + 0x28]
movzx eax, word [ecx + esi*8 + 8]
test al, 1
je 0x479f47
mov dword [ecx + esi*8 + 0x10], 0
mov dword [ecx + esi*8 + 0xc], 0
mov cl, byte [edx + 3]
mov byte [esp + 0x37], cl
test cl, 0x10
je 0x479f58
mov edx, dword [ebp + 0xc]
jmp 0x479f5a
xor edx, edx
test eax, 0x4000
je 0x479f6a
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + esi*8]
jmp 0x479f6c
xor ecx, ecx
movzx eax, byte [esp + 0x37]
push edx
shr eax, 3
and eax, 1
push eax
mov eax, dword [esp + 0x30]
push ecx
push dword [eax + esi*8 + 0xc]
push dword [eax + esi*8 + 0x10]
push ebx
push edi
push 0
push dword [ebp]
call fcn.0044c470
add esp, 0x24
mov dword [esp + 0x14], eax
mov byte [ebp + 0x1a], 0
mov dword [ebp + 0x3c], 0
test eax, eax
jne 0x47ce36
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0xd4]
test edx, edx
je 0x47ce4f
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x47643c
movsx ecx, byte [ebp + 0x18]
push ebx
push edi
mov edi, dword [esp + 0x20]
add ecx, ecx
push eax
mov eax, dword [edi + 0x10]
push dword [eax + ecx*8]
mov eax, dword [esp + 0x20]
mov ecx, 0x17
test byte [eax + 3], 4
mov eax, 0x12
cmovne eax, ecx
push eax
push dword [edi + 0xd0]
call edx
mov ebx, dword [esp + 0x28]
add esp, 0x18
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
push dword [esi]
call fcn.0044c120
mov edi, dword [esp + 0x1c]
mov ebx, eax
add esp, 4
mov dword [esp + 0x14], ebx
mov dword [esi + 0x3c], 0
test ebx, ebx
jne 0x47a075
mov edx, dword [edi + 0xd4]
test edx, edx
je 0x47a075
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x47a075
test byte [esi + 0x1c], 4
je 0x47a075
push dword [esi + 0x34]
movsx ecx, byte [esi + 0x18]
push dword [esi + 0x30]
add ecx, ecx
push eax
mov eax, dword [edi + 0x10]
push dword [eax + ecx*8]
push 9
push dword [edi + 0xd0]
call edx
add esp, 0x18
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x24]
test byte [ebx + 8], 1
mov edx, dword [esp + 0x20]
je 0x4763ad
inc dword [esi + 0x5c]
jmp 0x4763ad
mov edi, dword [esp + 0x18]
mov eax, dword [esi + 0x5c]
mov ebx, dword [esp + 0x10]
add dword [edi + 0x54], eax
mov dword [edi + 0x50], eax
mov dword [esi + 0x5c], 0
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov ecx, dword [edx + 4]
mov esi, dword [edx + 0x10]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edi, dword [ecx + 0x38]
mov ebx, dword [ecx + 8]
lea eax, [eax + eax*4]
mov dword [esp + 0x38], eax
mov ebp, dword [edi + 0x20]
test ebp, ebp
jne 0x47a103
lea eax, [esp + 0x260]
push eax
push ebp
push ebp
push ebx
call fcn.00475820
mov ebp, eax
add esp, 0x10
mov dword [edi + 0x20], ebp
test ebp, ebp
je 0x47d0e5
mov word [ebp + 4], si
lea eax, [esp + 0xfc]
push eax
push edi
call fcn.0048ae00
push ebp
push eax
push dword [esp + 0x10c]
push ebx
call fcn.004804c0
add esp, 0x18
xor ecx, ecx
test esi, esi
jle 0x47a13d
mov eax, dword [ebp + 8]
add eax, 8
nop
test byte [eax], 1
jne 0x47a171
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x47a130
mov eax, dword [esp + 0x38]
push 0
push ebp
mov ebp, dword [esp + 0x30]
push dword [ebp + eax*8 + 0x10]
push dword [ebp + eax*8 + 0xc]
call fcn.0047fe00
mov edi, dword [esp + 0x28]
add esp, 0x10
mov dword [esp + 0x14], 0
test eax, eax
jne 0x476322
jmp 0x478a20
mov dword [esp + 0x14], 0
jmp 0x47631e
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, dword [edx + 4]
lea eax, [esp + 0x100]
push eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
push dword [eax + 0x38]
call fcn.0048ae00
mov edi, dword [esp + 0x108]
add esp, 8
mov ebx, eax
cmp dword [esi + 0x18], edi
jge 0x47a1d7
push 0
push edi
push esi
call fcn.0047f060
add esp, 0xc
test eax, eax
je 0x47a1e2
mov dword [esp + 0x14], 7
jmp 0x47a20e
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov ax, word [esi + 8]
mov ecx, 0xbe10
push edi
and ax, cx
mov dword [esi + 0xc], edi
push ebx
push dword [esi + 0x10]
or ax, 0x10
mov word [esi + 8], ax
call fcn.004c15c0
add esp, 0xc
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x3c], 0
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ebp, [ecx + eax*8]
mov ecx, dword [edx + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x38], eax
test byte [eax + 0x1c], 4
mov ebx, dword [eax]
jne 0x47a28c
lea eax, [esp + 0x1bc]
push eax
push ebx
call fcn.0044cd10
mov edi, dword [esp + 0x20]
add esp, 8
mov eax, dword [edi + 0x58]
cdq
cmp dword [esp + 0x1c0], edx
jg 0x47d26e
mov esi, dword [esp + 0x1bc]
jl 0x47a2dc
cmp esi, eax
jmp 0x47a2d6
cmp word [ebx + 0x2c], 0
jne 0x47a2cc
movsx eax, word [ebx + 0x4c]
mov edi, dword [ebx + eax*4 + 0x78]
movzx esi, word [ebx + eax*2 + 0x4e]
lea eax, [ebx + 0x18]
push eax
mov ecx, dword [edi + 0x40]
movzx eax, byte [ecx + esi*2]
movzx edx, byte [ecx + esi*2 + 1]
shl eax, 8
or edx, eax
movzx eax, word [edi + 0x14]
and edx, eax
add edx, dword [edi + 0x38]
push edx
push edi
call fcn.00423fc0
add esp, 0xc
or byte [ebx + 0x48], 2
mov edi, dword [esp + 0x18]
mov esi, dword [ebx + 0x24]
cmp esi, dword [edi + 0x58]
ja 0x47d26a
mov eax, 0x20
cmp esi, eax
cmova eax, esi
cmp dword [ebp + 0x18], eax
jge 0x47a301
push 0
push eax
push ebp
call fcn.0047f060
add esp, 0xc
test eax, eax
jne 0x47846f
jmp 0x47a30c
mov eax, dword [ebp + 0x14]
and word [ebp + 8], 0xd
mov dword [ebp + 0x10], eax
mov ax, word [ebp + 8]
mov ecx, 0xbe10
mov edi, dword [ebp + 0x10]
and ax, cx
or ax, 0x10
mov dword [ebp + 0xc], esi
mov word [ebp + 8], ax
mov eax, dword [esp + 0x38]
test byte [eax + 0x1c], 4
je 0x47a369
mov al, byte [ebx + 0x49]
test al, al
jne 0x47a354
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x14], 4
mov byte [ebp + 0xa], 1
jmp 0x4763a1
cmp al, 3
jb 0x47a369
push ebx
call fcn.004242c0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47a37c
push 0
push edi
push esi
push 0
push ebx
call fcn.0041e730
mov dword [esp + 0x28], eax
add esp, 0x14
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov byte [ebp + 0xa], 1
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea edi, [eax + ecx*8]
mov eax, 0x2460
test word [edi + 8], ax
je 0x47a3b5
push edi
call fcn.00488dc0
add esp, 4
mov eax, 4
mov word [edi + 8], ax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x19], 0
je 0x47a3eb
mov ebx, dword [esp + 0x10]
mov eax, 1
mov esi, dword [esp + 0x1c]
mov word [edi + 8], ax
mov edi, dword [esp + 0x18]
jmp 0x4763a1
cmp byte [esi + 0x1a], 0
je 0x47a429
mov eax, dword [esi + 0x30]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xf0], eax
mov eax, dword [esi + 0x34]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xf0]
mov dword [edi], eax
mov eax, dword [esp + 0xf4]
mov dword [edi + 4], eax
mov edi, dword [esp + 0x18]
jmp 0x4763a1
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x47a474
mov esi, dword [ecx]
lea edx, [esp + 0xf0]
push edx
push ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
push esi
mov esi, dword [esp + 0x28]
push esi
mov dword [esp + 0x24], eax
call fcn.004818f0
mov eax, dword [esp + 0x100]
add esp, 0x10
mov ebx, dword [esp + 0x10]
mov dword [edi], eax
mov eax, dword [esp + 0xf4]
mov dword [edi + 4], eax
mov edi, dword [esp + 0x18]
jmp 0x4763a1
mov eax, dword [esi]
cmp byte [eax + 0x49], 1
je 0x47a495
push esi
call fcn.00436140
mov ebx, eax
add esp, 4
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x47a927
jmp 0x47a49d
mov dword [esp + 0x14], 0
cmp byte [esi + 0x19], 0
je 0x47a4b5
mov eax, 1
mov word [edi + 8], ax
mov edi, dword [esp + 0x18]
jmp 0x478a20
lea eax, [esp + 0xf0]
push eax
push dword [esi]
call fcn.0044cd10
mov esi, dword [esp + 0x24]
add esp, 8
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xf0]
mov dword [edi], eax
mov eax, dword [esp + 0xf4]
mov dword [edi + 4], eax
mov edi, dword [esp + 0x18]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov ecx, dword [edi + 4]
mov eax, dword [eax + ecx*4]
mov byte [eax + 0x19], 1
mov dword [eax + 0x3c], 0
mov eax, dword [eax]
test eax, eax
je 0x476366
push eax
call fcn.0044b6e0
mov edi, dword [esp + 0x1c]
add esp, 4
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov dword [esp + 0xd0], 0
mov ecx, dword [edi + 4]
mov esi, dword [eax + ecx*4]
lea eax, [esp + 0xd0]
push eax
push dword [esi]
call fcn.0044cd70
mov ecx, dword [esp + 0xd8]
add esp, 8
mov byte [esi + 0x19], cl
mov ebx, edi
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 0xc], eax
cmp dword [edi + 8], 0
mov edi, dword [esp + 0x18]
jle 0x476444
test ecx, ecx
jne 0x476326
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
inc dword [esi + 0x74]
mov edx, dword [esp + 0x10]
mov ebx, 1
mov eax, dword [esi + 0x38]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov esi, dword [edi + 0x38]
test esi, esi
je 0x47a602
cmp byte [esi + 0x38], 0
mov dword [esp + 0x14], 0
jne 0x47a5d9
cmp dword [esi + 0x24], 0
lea eax, [esi + 0x24]
je 0x47a634
push eax
lea eax, [esi + 0x40]
xor ebx, ebx
push eax
call fcn.0048b0e0
add esp, 8
mov dword [esp + 0x14], eax
jmp 0x47a634
push esi
call fcn.0048a570
push eax
push esi
call fcn.0048a690
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47a634
push esi
call fcn.0048ae60
add esp, 4
mov dword [esp + 0x14], eax
xor ebx, ebx
jmp 0x47a634
mov esi, dword [edi]
push esi
call fcn.00438980
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47a629
cmp byte [esi + 0x49], al
je 0x47a629
push esi
xor ebx, ebx
call fcn.00438880
add esp, 4
mov dword [esp + 0x14], eax
mov byte [edi + 0x1a], 0
mov dword [edi + 0x3c], 0
mov byte [edi + 0x19], bl
test ebx, ebx
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
jne 0x476326
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x94], 0
mov esi, dword [edi + 0x38]
cmp byte [esi + 0x38], 0
je 0x47a6c1
cmp byte [esi + 0x39], 0
je 0x47a6a1
push dword [esi + 0x10]
call fcn.004897d0
mov dword [esp + 0x18], eax
xor ecx, ecx
mov eax, dword [esi + 0x10]
add esp, 4
mov esi, dword [esp + 0x1c]
cmp dword [eax + 0x18], ecx
sete cl
mov dword [esp + 0x94], ecx
jmp 0x47a748
lea eax, [esp + 0x94]
push eax
push dword [esi + 0x14]
call fcn.004891a0
mov esi, dword [esp + 0x24]
add esp, 8
mov dword [esp + 0x14], eax
jmp 0x47a748
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx + 4]
mov dword [esi + 0x24], eax
mov dword [ecx + 4], 0
cmp dword [esi + 0x28], 0
jne 0x47a6e4
push ecx
push dword [esp + 0x1c]
call fcn.0048ad40
add esp, 8
xor eax, eax
mov dword [esp + 0x14], 0
cmp dword [esi + 0x24], eax
mov esi, dword [esp + 0x1c]
sete al
mov dword [esp + 0x94], eax
jmp 0x47a748
mov edi, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov ecx, dword [edi + 4]
cmp dword [eax + ecx*4], 0
je 0x476366
jmp 0x47a71b
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x94], eax
lea eax, [esp + 0x94]
push eax
push dword [edi]
mov eax, dword [ecx + 0x10]
call eax
add esp, 8
mov dword [esp + 0x14], eax
mov dword [edi + 0x3c], 0
cmp dword [esp + 0x94], 0
jne 0x47a76e
mov eax, dword [esp + 0x10]
mov byte [edi + 0x19], 0
movzx eax, byte [eax + 3]
inc dword [esi + eax*4 + 0x6c]
jmp case.0x4762df.16
mov byte [edi + 0x19], 1
jmp 0x47ca8f
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
test byte [edx + 3], 1
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x28]
mov ebx, dword [edi]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
je 0x47a7a0
mov eax, dword [esp + 0x1c]
inc dword [eax + 0x5c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x47a7c4
push esi
call fcn.0047ee50
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47ce36
mov edx, dword [esp + 0x10]
cmp dword [edi + 0x38], 0
je 0x47a7e9
push esi
push edi
call fcn.00480f60
mov edi, dword [esp + 0x20]
add esp, 8
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jmp 0x4763a1
test byte [edx + 3], 0x10
je 0x47a7f4
mov eax, dword [edi + 0xc]
jmp 0x47a7f6
xor eax, eax
push eax
push dword [edx + 0xc]
mov eax, dword [esi + 0xc]
push 0
push 0
push 0x4ea3f4
cdq
push edx
push eax
push dword [esi + 0x10]
push ebx
call fcn.0044c470
mov ebx, dword [esp + 0x34]
add esp, 0x24
mov esi, dword [esp + 0x1c]
mov dword [edi + 0x3c], 0
mov edi, dword [esp + 0x18]
mov dword [esp + 0x14], eax
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov ecx, dword [edx + 4]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov dword [esp + 0x290], eax
mov ax, word [edx + 0xc]
mov word [esp + 0x294], ax
mov eax, dword [edx + 8]
mov byte [esp + 0x296], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x298], eax
lea eax, [esp + 0x104]
push eax
push 0
push 0
push 0
lea eax, [esp + 0x2a0]
push eax
push edi
call fcn.0044ce40
mov ebx, eax
add esp, 0x18
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x47a8b1
cmp dword [esp + 0x104], eax
jne 0x47a8b1
push edi
call fcn.0044c120
add esp, 4
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov dword [esi + 0x3c], 0
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea ebx, [eax + ecx*8]
mov eax, 0x2460
test word [ebx + 8], ax
je 0x47a8ed
push ebx
call fcn.00488dc0
add esp, 4
mov eax, 4
mov word [ebx + 8], ax
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, 1
mov edi, dword [esi]
mov word [ebx + 8], ax
mov eax, dword [esi]
cmp byte [eax + 0x49], 1
je 0x47a943
push esi
call fcn.00436140
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
je 0x47a94b
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
cmp byte [edi + 0x41], 0
je 0x47d155
mov ebx, 7
mov dword [esp + 0x14], ebx
jmp 0x47d161
mov dword [esp + 0x14], 0
cmp byte [esi + 0x19], 0
jne 0x47aabb
lea eax, [esp + 0x1c4]
xorps xmm0, xmm0
push eax
push edi
movlpd qword [esp + 0x1cc], xmm0
call fcn.0044cd10
xor eax, eax
mov dword [esp + 0x258], 0
mov word [esp + 0x248], ax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x260], eax
lea eax, [esp + 0x240]
push eax
push 1
push dword [esp + 0x1d4]
push 0
push edi
call fcn.0047ef60
add esp, 0x1c
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47a923
mov ebp, dword [esp + 0x248]
mov al, byte [ebp]
cmp al, 0x80
jae 0x47a9d1
movzx edi, al
mov dword [esp + 0xd4], edi
jmp 0x47a9e9
lea eax, [esp + 0xd4]
push eax
push ebp
call fcn.0045d3e0
mov edi, dword [esp + 0xdc]
add esp, 8
cmp edi, 3
jb 0x47d100
mov esi, dword [esp + 0x244]
cmp edi, esi
jg 0x47d100
lea eax, [ebp - 1]
add eax, edi
mov cl, byte [eax]
cmp cl, 0x80
jae 0x47aa19
movzx edx, cl
mov dword [esp + 0xd8], edx
jmp 0x47aa31
lea ecx, [esp + 0xd8]
push ecx
push eax
call fcn.0045d3e0
mov edx, dword [esp + 0xe0]
add esp, 8
lea eax, [edx - 1]
cmp eax, 8
ja 0x47d100
cmp edx, 7
je 0x47d100
push edx
call fcn.00480990
add esp, 4
lea ecx, [eax + edi]
cmp esi, ecx
jb 0x47d100
lea ecx, [esp + 0x32c]
sub esi, eax
push ecx
push edx
add esi, ebp
push esi
call fcn.004807d0
add esp, 0xc
test dword [esp + 0x240], 0x2460
jne 0x47aa87
cmp dword [esp + 0x250], 0
je 0x47aa97
lea eax, [esp + 0x238]
push eax
call fcn.00488d80
add esp, 4
mov eax, dword [esp + 0x32c]
mov dword [ebx], eax
mov eax, dword [esp + 0x330]
mov dword [ebx + 4], eax
mov eax, 4
mov dword [esp + 0x14], 0
mov word [ebx + 8], ax
mov edi, dword [esp + 0x18]
jmp 0x478a20
mov edx, dword [esp + 0x10]
cmp bl, 0x73
mov eax, dword [esi + 0x38]
xorps xmm0, xmm0
movlpd qword [esp + 0x110], xmm0
mov ecx, dword [edx + 4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 8]
mov dword [esp + 0x2ac], eax
mov ax, word [edx + 0x10]
mov word [esp + 0x2b0], ax
sbb al, al
mov byte [esp + 0x2b2], al
xor esi, esi
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x2b4], eax
lea eax, [esp + 0x110]
push eax
push dword [edi]
call fcn.0044cd10
mov edx, dword [esp + 0x118]
add esp, 8
mov eax, dword [esp + 0x114]
mov ecx, edx
add ecx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x47abe5
jb 0x47ab53
cmp ecx, 0x7ffffffe
ja 0x47abe5
xor eax, eax
mov dword [esp + 0x300], esi
mov word [esp + 0x2f0], ax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x308], eax
lea eax, [esp + 0x2e8]
push eax
push 1
push edx
push 0
push dword [edi]
call fcn.0047ef60
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x47ac08
push eax
lea eax, [esp + 0x2b0]
push eax
push dword [esp + 0x300]
push dword [esp + 0x300]
call fcn.0047fe00
add esp, 0x10
mov esi, eax
test dword [esp + 0x2f0], 0x2460
jne 0x47abcb
cmp dword [esp + 0x300], ebx
je 0x47abdb
lea eax, [esp + 0x2e8]
push eax
call fcn.00488d80
add esp, 4
mov dword [esp + 0x14], 0
jmp 0x47ac08
push 0x4f408c
push 0x10d12
push str.database_corruption_at_line__d_of___.10s_
push 0xb
xor esi, esi
call fcn.0041e160
add esp, 0x10
mov dword [esp + 0x14], 0xb
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov cl, byte [eax]
lea eax, [esi + 1]
neg esi
and cl, 1
cmove esi, eax
test esi, esi
jg 0x476326
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea edi, [eax + ecx*8]
mov eax, 0x2460
test word [edi + 8], ax
je 0x47ac5a
push edi
call fcn.00488dc0
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [esp + 0x18]
mov eax, 1
mov word [edi + 8], ax
mov eax, dword [ecx + 0xa4]
inc eax
cmp dword [ecx + 0x98], eax
jg 0x47d187
mov eax, dword [edx + 0xc]
mov ebp, eax
mov ebx, dword [edx + 4]
add ebp, ebp
mov dword [esp + 0x38], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0xdc], 0
mov esi, dword [eax + ebp*8 + 4]
cmp byte [esi + 9], 0
je 0x47acb2
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x47acb2
push esi
call fcn.00423b80
add esp, 4
lea eax, [esp + 0xdc]
push eax
push ebx
push esi
call fcn.00423570
add esp, 0xc
mov ebx, eax
cmp byte [esi + 9], 0
mov dword [esp + 0x14], ebx
je 0x47acdf
add dword [esi + 0xc], 0xffffffff
jne 0x47acdf
push esi
call fcn.00486170
add esp, 4
mov esi, dword [esp + 0xdc]
mov eax, 4
mov word [edi + 8], ax
mov eax, esi
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
test ebx, ebx
jne 0x47643c
test esi, esi
je 0x47643c
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x10]
mov ecx, dword [edi + ebp*8 + 0xc]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x47ad35
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x1c], esi
jne 0x47ad2b
mov dword [ecx + 0x1c], edx
mov eax, dword [eax]
test eax, eax
jne 0x47ad20
mov ecx, dword [edi + ebp*8 + 0xc]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x47ad51
nop dword [eax]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x28], esi
jne 0x47ad4b
mov dword [ecx + 0x28], edx
mov eax, dword [eax]
test eax, eax
jne 0x47ad40
mov al, byte [esp + 0x38]
mov edi, dword [esp + 0x18]
inc al
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov byte [esp + 0x5f], al
jmp 0x4763a1
mov edx, dword [esp + 0x10]
lea eax, [esp + 0xe0]
mov edi, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0xe0], 0
cmp dword [edx + 0xc], ecx
cmove eax, ecx
mov ecx, dword [edx + 8]
push eax
mov eax, dword [edi + 0x10]
add ecx, ecx
push dword [edx + 4]
push dword [eax + ecx*8 + 4]
call fcn.0044b760
mov ebx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x14], eax
cmp dword [ebx + 0xc], 0
je 0x4763a1
mov eax, dword [esp + 0xe0]
add dword [esi + 0x5c], eax
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x4763a1
mov ebp, dword [esp + 0x28]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebp + ecx*8], eax
adc dword [ebp + ecx*8 + 4], edx
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov ecx, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x38]
test eax, eax
je 0x47ae0d
mov edi, dword [esp + 0x18]
push eax
push edi
call fcn.00480ca0
mov ebx, dword [esp + 0x18]
add esp, 8
jmp 0x4763a1
mov eax, dword [ecx]
push 0
push dword [eax + 0x3c]
push dword [eax]
call fcn.0044b760
mov edi, dword [esp + 0x24]
add esp, 0xc
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x47ae57
push esi
call fcn.00488dc0
mov edx, dword [esp + 0x14]
add esp, 4
mov edi, dword [esp + 0x18]
mov eax, 4
mov word [esi + 8], ax
xor eax, eax
mov ecx, dword [edx + 4]
shl ecx, 4
add ecx, dword [edi + 0x10]
cmp byte [edx], 0x79
mov dword [esp + 0xe4], 0
setne al
inc eax
push eax
lea eax, [esp + 0xe8]
push eax
push dword [ecx + 4]
call fcn.0044bf60
mov ebx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xe4]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
lea eax, [esi + 0x2c]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x178], eax
mov eax, str.sqlite_master
mov dword [esp + 0x174], edi
mov ecx, dword [edx + 4]
cmp ecx, 1
push dword [edx + 0x10]
mov edx, str.sqlite_temp_master
mov dword [esp + 0x180], ecx
cmove eax, edx
add ecx, ecx
push eax
mov eax, dword [edi + 0x10]
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.00461d50
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x47af11
mov ebx, 7
mov dword [esp + 0x14], ebx
jmp 0x47af5e
push 0
lea eax, [esp + 0x178]
mov byte [edi + 0x91], 1
push eax
push fcn.0045e380
push esi
push edi
mov dword [esp + 0x194], 0
call fcn.00416790
mov ebx, eax
test ebx, ebx
push esi
cmove ebx, dword [esp + 0x198]
push edi
mov dword [esp + 0x30], ebx
call fcn.004514c0
add esp, 0x1c
mov byte [edi + 0x91], 0
test ebx, ebx
je 0x47af67
push edi
call fcn.0046a9e0
add esp, 4
mov esi, dword [esp + 0x1c]
cmp ebx, 7
mov ebx, dword [esp + 0x10]
je 0x47d463
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
push dword [edx + 4]
push edi
call fcn.00449000
mov ebx, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x14], eax
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
push 0
mov eax, dword [edx + 4]
push dword [edx + 0x10]
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 0xc]
add eax, 8
push eax
call fcn.0045d6d0
push eax
push edi
call fcn.00452540
mov ebx, dword [esp + 0x24]
add esp, 0x14
or dword [edi + 0x18], 2
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
push 0
mov ecx, dword [edx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
push dword [edx + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
add eax, 0x18
push eax
call fcn.0045d6d0
mov edx, eax
add esp, 0xc
test edx, edx
je 0x47b03b
mov esi, dword [edx + 0xc]
mov ecx, dword [esi + 8]
cmp ecx, edx
jne 0x47b014
mov eax, dword [edx + 0x14]
mov dword [esi + 8], eax
jmp 0x47b02d
test ecx, ecx
je 0x47b02d
mov eax, dword [ecx + 0x14]
cmp eax, edx
je 0x47b027
mov ecx, eax
test ecx, ecx
jne 0x47b018
jmp 0x47b02d
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
push edx
push edi
call fcn.00433450
mov esi, dword [esp + 0x24]
add esp, 8
or dword [edi + 0x18], 2
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
push 0
mov ecx, dword [edx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
push dword [edx + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
add eax, 0x28
push eax
call fcn.0045d6d0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x476440
mov eax, dword [esi + 0x18]
cmp dword [esi + 0x14], eax
jne 0x47b0be
lea ecx, [esp + 0x2a8]
add eax, 8
push ecx
push dword [esi + 4]
push eax
call fcn.0042fc70
add esp, 0xc
test eax, eax
je 0x47b09f
mov ecx, dword [eax + 8]
jmp 0x47b0a1
xor ecx, ecx
mov eax, dword [ecx + 0x3c]
add ecx, 0x3c
cmp eax, esi
je 0x47b0b9
nop dword [eax + eax]
lea ecx, [eax + 0x20]
mov eax, dword [ecx]
cmp eax, esi
jne 0x47b0b0
mov eax, dword [eax + 0x20]
mov dword [ecx], eax
push dword [esi + 0x1c]
push edi
call fcn.00452aa0
push dword [esi]
push edi
call fcn.004514c0
push dword [esi + 4]
push edi
call fcn.004514c0
push dword [esi + 0xc]
push edi
call fcn.00456d20
push dword [esi + 0x10]
push edi
call fcn.0045dbc0
push esi
push edi
call fcn.004514c0
mov ebx, dword [esp + 0x40]
add esp, 0x30
or dword [edi + 0x18], 2
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
xor ebx, ebx
mov edi, dword [esp + 0x18]
mov ebp, dword [edx + 8]
lea ecx, [ebp*4 + 4]
cmp byte [edi + 0xfa], bl
je 0x47b139
movzx eax, word [edi + 0xf8]
cdq
cmp ebx, edx
jb 0x47b156
ja 0x47b133
cmp ecx, eax
jbe 0x47b156
inc dword [edi + 0x108]
push ebx
push ecx
call fcn.00461dd0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x47b191
mov ebx, dword [esp + 0x10]
mov byte [edi + 0x41], 1
jmp 0x47d463
mov ebx, dword [edi + 0x110]
test ebx, ebx
jne 0x47b168
inc dword [edi + 0x10c]
jmp 0x47b139
mov eax, dword [ebx]
mov dword [edi + 0x110], eax
mov eax, dword [edi + 0xfc]
inc eax
mov dword [edi + 0xfc], eax
inc dword [edi + 0x104]
cmp eax, dword [edi + 0x100]
jle 0x47b191
mov dword [edi + 0x100], eax
mov ecx, dword [esp + 0x10]
xor esi, esi
mov edx, dword [esp + 0x28]
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov dword [esp + 0x44], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [esp + 0x38], edi
test ebp, ebp
jle 0x47b1d6
push edi
call fcn.0047e1d0
mov dword [ebx + esi*4], eax
add esp, 4
inc esi
add edi, 0x28
cmp esi, ebp
jl 0x47b1b6
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x108]
mov dword [ebx + esi*4], 0
movzx ecx, byte [ecx + 3]
push eax
mov eax, dword [esp + 0x48]
add ecx, ecx
push dword [edx + eax*8]
push ebp
mov ebp, dword [esp + 0x24]
push ebx
mov eax, dword [ebp + 0x10]
push dword [eax + ecx*8 + 4]
call fcn.0044c680
push ebx
push ebp
mov esi, eax
call fcn.004514c0
mov ecx, dword [esp + 0x60]
add esp, 0x1c
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x108]
mov eax, ebx
cdq
sub dword [ebp + ecx*8], eax
mov eax, 0x2460
sbb dword [ebp + ecx*8 + 4], edx
test word [edi + 8], ax
je 0x47b240
push edi
call fcn.00488dc0
add esp, 4
jmp 0x47b249
mov eax, 1
mov word [edi + 8], ax
test ebx, ebx
je 0x47b268
test esi, esi
je 0x47846b
push fcn.00418530
push 1
push 0xffffffffffffffff
push esi
push edi
call fcn.0047f4f0
add esp, 0x14
test byte [edi + 8], 2
je 0x47643c
mov al, byte [esp + 0x60]
cmp byte [edi + 0xa], al
je 0x47643c
push dword [esp + 0x9c]
push edi
call fcn.0047f840
mov edi, dword [esp + 0x20]
add esp, 8
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [eax*8]
mov eax, dword [edx + 8]
add esi, ebp
lea edi, [eax + eax*4]
test byte [esi + 8], 0x20
jne 0x47b2d6
push esi
call fcn.0047f3b0
add esp, 4
test byte [esi + 8], 0x20
je 0x47846b
push dword [ebp + edi*8 + 4]
push dword [ebp + edi*8]
push dword [esi]
call fcn.0046b0c0
mov edi, dword [esp + 0x24]
add esp, 0xc
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [eax*8]
movzx eax, word [edi + ebp + 8]
add edi, ebp
mov ecx, eax
test al, 0x20
je 0x47b38c
mov esi, dword [edi]
movzx ecx, word [esi + 0x1a]
test cl, 2
jne 0x47b346
mov eax, ecx
test cl, 1
jne 0x47b33f
push dword [esi + 8]
call fcn.00444240
mov dword [esi + 8], eax
add esp, 4
movzx eax, word [esi + 0x1a]
or eax, 2
mov word [esi + 0x1a], ax
mov eax, dword [esi + 8]
test eax, eax
je 0x47b388
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
test eax, eax
jne 0x47b365
push esi
call fcn.0046afe0
add esp, 4
mov eax, dword [esp + 0x10]
push ebx
push edi
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [eax*8]
add eax, ebp
push eax
call fcn.0047f370
add esp, 0xc
jmp 0x47ca8f
movzx ecx, word [edi + 8]
test ecx, 0x2460
je 0x47b3a2
push edi
call fcn.00488dc0
add esp, 4
jmp case.0x4762df.16
mov eax, 1
mov word [edi + 8], ax
jmp case.0x4762df.16
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea esi, [eax*8]
mov eax, dword [edx + 0xc]
add esi, ebp
lea edi, [eax + eax*4]
test byte [esi + 8], 0x20
jne 0x47b3e9
push esi
call fcn.0047f3b0
add esp, 4
test byte [esi + 8], 0x20
je 0x47846b
test ebx, ebx
je 0x47b2d6
push dword [ebp + edi*8 + 4]
push dword [ebp + edi*8]
push ebx
push dword [esi]
call fcn.0046b130
add esp, 0x10
test eax, eax
jne 0x47631e
test ebx, ebx
js 0x47643c
jmp 0x47b2d6
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 0xc]
mov ebp, dword [edi + 0x10]
mov dword [esp + 0x64], ebp
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], edi
cmp byte [eax + 3], 0
je 0x47b460
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebp + 0x14]
test eax, eax
je 0x47b460
nop dword [eax]
cmp dword [eax + 0x1c], ecx
je 0x476366
mov eax, dword [eax + 4]
test eax, eax
jne 0x47b450
mov eax, dword [esi + 0xb8]
mov esi, dword [esp + 0x18]
cmp eax, dword [esi + 0x80]
jge 0x47d1a4
test byte [edi + 8], 0x40
jne 0x47b611
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
add ebx, ecx
cmp byte [esi + 0xfa], 0
lea eax, [ebx + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp + 0x10]
lea ebp, [eax + ecx*4]
mov eax, ebp
cdq
mov ecx, eax
mov edi, edx
je 0x47b4c7
movzx eax, word [esi + 0xf8]
cdq
cmp edi, edx
jb 0x47b5ca
ja 0x47b4c1
cmp ecx, eax
jbe 0x47b5ca
inc dword [esi + 0x108]
push edi
push ecx
call fcn.00461dd0
mov esi, eax
add esp, 8
test esi, esi
jne 0x47b4df
mov eax, dword [esp + 0x18]
mov byte [eax + 0x41], 1
mov edi, esi
test esi, esi
je 0x47846b
push ebp
push 0
push esi
call fcn.004c20c0
mov ebp, dword [esp + 0x44]
mov eax, 0x2460
add esp, 0xc
test word [ebp + 8], ax
jne 0x47b50a
cmp dword [ebp + 0x18], 0
je 0x47b513
push ebp
call fcn.00488d80
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, 0x40
mov word [ebp + 8], ax
mov eax, dword [esp + 0x1c]
sub ecx, dword [esp + 0x48]
mov dword [ebp], esi
mov ebp, dword [esp + 0x64]
mov dword [esi], eax
mov dword [esi + 0x3c], ebx
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x40], eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0x1c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x2c], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x34], eax
mov eax, dword [ecx + 0x38]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + 0x24]
mov dword [esi + 0x28], eax
mov eax, dword [ecx + 4]
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x1c], eax
mov eax, dword [ecx + 0xc8]
mov dword [esi + 0x14], eax
mov eax, dword [ecx + 0xc4]
mov dword [esi + 0x38], eax
lea eax, [ebx + 2]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
lea eax, [esi + 0x50]
cmp eax, ecx
je 0x47b5be
mov edx, dword [esp + 0x18]
mov ebx, 0x80
nop word [eax + eax]
mov word [eax + 8], bx
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x47b5b0
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0xb8]
jmp 0x47b617
mov edx, esi
mov esi, dword [edx + 0x110]
test esi, esi
jne 0x47b5e1
inc dword [edx + 0x10c]
jmp 0x47b4c7
mov eax, dword [esi]
mov dword [edx + 0x110], eax
mov eax, dword [edx + 0xfc]
inc eax
mov dword [edx + 0xfc], eax
inc dword [edx + 0x104]
cmp eax, dword [edx + 0x100]
jle 0x47b60a
mov dword [edx + 0x100], eax
mov edi, esi
jmp 0x47b4e9
mov edi, dword [edi]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
inc eax
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0xb0]
mov dword [edi + 0x20], ecx
mov ecx, dword [esp + 0x20]
mov dword [edi + 4], eax
mov dword [edi + 0x24], ecx
lea ecx, [edi + 0x28]
mov eax, dword [esi + 0x5c]
mov dword [edi + 0x44], eax
mov eax, dword [esi]
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 0x50]
mov dword [edi + 0x48], eax
mov dword [esi + 8], ecx
mov dword [esi + 0x5c], 0
mov dword [esi + 0xb0], edi
mov eax, dword [edi + 0x3c]
mov dword [esi + 0x1c], eax
movzx edx, word [edi + 0x40]
mov dword [esi + 0x24], edx
lea eax, [eax + eax*4]
lea eax, [eax + 5]
lea ecx, [ecx + eax*8]
mov dword [esi + 0x38], ecx
lea ecx, [ecx + edx*4]
mov ebx, dword [ebp]
mov dword [esi + 4], ebx
mov eax, dword [ebp + 4]
mov dword [esi + 0x20], eax
mov dword [esi + 0xc8], ecx
lea edx, [ebx - 0x14]
mov eax, dword [ebp + 0x10]
push eax
push 0
push ecx
mov dword [esp + 0x54], ebx
mov dword [esi + 0xc4], eax
mov dword [esp + 0x1c], edx
call fcn.004c20c0
mov edi, dword [esp + 0x24]
add esp, 0xc
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea edi, [eax + ecx*8]
mov eax, 0x2460
test word [edi + 8], ax
je 0x47b6d9
push edi
call fcn.00488dc0
add esp, 4
mov eax, 4
mov ebx, dword [esp + 0x10]
mov word [edi + 8], ax
mov edx, dword [esi + 0xb0]
mov ebp, dword [esp + 0x24]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [esp + 0x10]
add eax, dword [ecx + 4]
mov ecx, dword [edx + 0x10]
mov edx, dword [esp + 0x20]
lea esi, [eax + eax*4]
movups xmm0, xmmword [ecx + esi*8]
movups xmmword [edi], xmm0
mov eax, dword [ecx + esi*8 + 0x10]
mov dword [edi + 0x10], eax
mov eax, 0x800
test word [ecx + esi*8 + 8], ax
mov esi, dword [esp + 0x1c]
jne 0x47b744
mov ax, word [edi + 8]
mov ecx, 0xf3ff
and ax, cx
mov ecx, 0x1000
or ax, cx
mov word [edi + 8], ax
mov edi, dword [esp + 0x18]
jmp 0x4763a9
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
test dword [edi + 0x18], 0x1000000
mov eax, dword [edx + 8]
je 0x47b777
mov ebx, dword [esp + 0x10]
cdq
add dword [edi + 0x200], eax
adc dword [edi + 0x204], edx
jmp 0x4763a1
cmp dword [edx + 4], 0
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x24]
cdq
je 0x47b79b
add dword [edi + 0x1f8], eax
adc dword [edi + 0x1fc], edx
mov edx, dword [esp + 0x20]
jmp 0x4763a9
add dword [esi + 0x90], eax
adc dword [esi + 0x94], edx
mov edx, dword [esp + 0x20]
jmp 0x4763a9
mov edi, dword [esp + 0x10]
cmp dword [edi + 4], 0
mov edi, dword [esp + 0x18]
je 0x47b7eb
mov eax, dword [edi + 0x1f8]
or eax, dword [edi + 0x1fc]
mov ebx, dword [esp + 0x10]
jne 0x4763a1
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
je 0x476326
jmp 0x4763a1
mov eax, dword [esi + 0x90]
or eax, dword [esi + 0x94]
jne 0x47636a
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
je 0x476322
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edx, dword [esi + 0xb0]
test edx, edx
je 0x47b84f
mov eax, dword [edx + 4]
test eax, eax
je 0x47b839
nop dword [eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x47b830
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x47b866
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [eax*8]
add edi, ebp
push edi
call fcn.0047e1d0
mov dword [edi], eax
mov ebx, 0xbe04
movzx eax, word [edi + 8]
and ax, bx
mov dword [edi + 4], edx
or ax, 4
mov word [edi + 8], ax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [eax*8]
add esi, ebp
push esi
call fcn.0047e1d0
mov dword [esi], eax
mov ecx, edx
movzx eax, word [esi + 8]
add esp, 8
and ax, bx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 8], ax
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x47643c
jl 0x47b8cc
cmp dword [edi], eax
jae 0x47643c
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov edi, dword [esp + 0x18]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
cmp dword [ebp + eax*8 + 4], 0
jg 0x47631e
jl 0x476366
cmp dword [ebp + eax*8], 0
ja 0x47631e
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
cdq
add dword [ebp + ecx*8], eax
adc dword [ebp + ecx*8 + 4], edx
cmp dword [ebp + ecx*8 + 4], 0
jl 0x47631e
jg 0x476366
cmp dword [ebp + ecx*8], 0
jb 0x47631e
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov esi, dword [ebp + ecx*8]
mov eax, esi
mov edi, dword [ebp + ecx*8 + 4]
or eax, edi
je 0x47ce29
mov eax, ebx
mov eax, dword [eax + 0xc]
cdq
add eax, esi
mov dword [ebp + ecx*8], eax
adc edx, edi
mov dword [ebp + ecx*8 + 4], edx
mov edi, dword [esp + 0x18]
jmp 0x476326
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 4]
mov edi, dword [esp + 0x18]
lea ecx, [eax + eax*4]
add dword [ebp + ecx*8], 0xffffffff
mov eax, dword [ebp + ecx*8]
adc dword [ebp + ecx*8 + 4], 0xffffffff
or eax, dword [ebp + ecx*8 + 4]
je 0x476326
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov edi, dword [ebp + esi*8]
mov ecx, edi
mov edx, dword [ebp + esi*8 + 4]
add ecx, 1
mov eax, edx
mov dword [ebp + esi*8], ecx
adc eax, 0
or edi, edx
mov edi, dword [esp + 0x18]
mov dword [ebp + esi*8 + 4], eax
je 0x476326
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x28]
mov eax, dword [edx + 8]
movzx esi, byte [edx + 3]
mov edi, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [eax*8]
xor eax, eax
add ecx, ebp
test esi, esi
je 0x47ba42
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x47ba37
mov eax, dword [edx + 0x10]
mov ecx, edx
mov dword [esp + 0x15c], eax
mov eax, dword [edx + 0xc]
sub ecx, dword [esp + 0x48]
push edi
push esi
lea eax, [eax + eax*4]
lea eax, [eax*8]
add eax, ebp
mov dword [esp + 0x168], eax
inc dword [eax + 0xc]
mov eax, 1
mov word [esp + 0x220], ax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x238], eax
lea eax, [esp + 0x218]
mov dword [esp + 0x160], eax
mov eax, 0x66666667
imul ecx
mov dword [esp + 0x230], 0
sar edx, 3
mov eax, edx
mov dword [esp + 0x174], 0
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x170], eax
lea eax, [esp + 0x160]
push eax
mov eax, dword [esp + 0x168]
mov byte [esp + 0x17c], 0
mov eax, dword [eax + 0x10]
call eax
add esp, 0xc
cmp dword [esp + 0x16c], 0
je 0x47bb5d
mov eax, dword [esp + 0x218]
and eax, 0x202
cmp eax, 0x202
jne 0x47bb17
cmp byte [esp + 0x21a], 1
jne 0x47bb17
mov eax, dword [esp + 0x220]
jmp 0x47bb37
test byte [esp + 0x218], 1
je 0x47bb25
xor eax, eax
jmp 0x47bb37
lea eax, [esp + 0x210]
push 1
push eax
call fcn.00487cf0
add esp, 8
mov edi, dword [esp + 0x18]
mov esi, ebx
push eax
push 0x4f0960
push edi
lea eax, [esi + 0x2c]
push eax
call fcn.0046edd0
mov eax, dword [esp + 0x17c]
add esp, 0x10
mov dword [esp + 0x14], eax
jmp 0x47bb63
mov edi, dword [esp + 0x18]
mov esi, ebx
cmp byte [esp + 0x170], 0
je 0x47bbb4
mov eax, dword [esp + 0x10]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x47bbb4
lea eax, [eax + eax*4]
mov ecx, 0x2460
lea eax, [eax*8]
add eax, ebp
test word [eax + 8], cx
je 0x47bb9e
push 0
push 1
push eax
call fcn.00489fe0
add esp, 0xc
jmp 0x47bbb4
mov ecx, 4
mov dword [eax], 1
mov dword [eax + 4], 0
mov word [eax + 8], cx
test dword [esp + 0x218], 0x2460
jne 0x47bbcf
cmp dword [esp + 0x228], 0
je 0x47636a
lea eax, [esp + 0x210]
push eax
call fcn.00488d80
mov ebx, dword [esp + 0x14]
add esp, 4
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 4]
push dword [edx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.0047eeb0
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je 0x47bc63
test esi, esi
jne 0x47bc15
xor eax, eax
jmp 0x47bc46
movzx ecx, word [esi + 8]
mov eax, ecx
and eax, 0x202
cmp eax, 0x202
jne 0x47bc32
cmp byte [esi + 0xa], 1
jne 0x47bc32
mov eax, dword [esi + 0x10]
jmp 0x47bc46
test cl, 1
je 0x47bc3b
xor eax, eax
jmp 0x47bc46
push 1
push esi
call fcn.00487cf0
add esp, 8
mov edi, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x20]
push 0x4f0960
add eax, 0x2c
push edi
push eax
call fcn.0046edd0
add esp, 0x10
jmp 0x47bc67
mov edi, dword [esp + 0x18]
movzx ecx, word [esi + 8]
mov eax, ecx
test cl, 2
je 0x47bc8f
mov cl, byte [esp + 0x60]
cmp byte [esi + 0xa], cl
je 0x47bc8f
push dword [esp + 0x9c]
push esi
call fcn.0047f840
movzx eax, word [esi + 8]
add esp, 8
test al, 0x12
je 0x476440
mov ecx, dword [esi + 0xc]
test eax, 0x4000
je 0x47bca3
add ecx, dword [esi]
mov eax, dword [esi + 0x20]
mov esi, dword [esp + 0x1c]
cmp ecx, dword [eax + 0x58]
jg 0x47d26e
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x35c]
push eax
lea eax, [esp + 0x35c]
mov dword [esp + 0x358], 0
push eax
push dword [edi + 8]
mov dword [esp + 0x368], 0xffffffff
push dword [edi + 4]
mov dword [esp + 0x368], 0xffffffff
push dword [esp + 0x28]
call fcn.0044e660
mov ecx, eax
add esp, 0x14
mov dword [esp + 0x14], ecx
cmp ecx, 5
jne 0x47bd21
mov dword [esp + 0x14], 0
mov dword [esp + 0x354], 1
mov eax, dword [edi + 0xc]
xor esi, esi
mov ecx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [esp + esi*4 + 0x354]
cdq
push edx
push eax
push edi
call fcn.0047f370
inc esi
add esp, 0xc
add edi, 0x28
cmp esi, 3
jl 0x47bd30
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea ebp, [eax + ecx*8]
mov eax, 0x2460
test word [ebp + 8], ax
je 0x47bd81
push ebp
call fcn.00488dc0
add esp, 4
mov eax, 4
mov word [ebp + 8], ax
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
add ecx, ecx
cmp edx, 0xffffffff
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x38], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
movzx ebx, byte [esi + 5]
mov ecx, ebx
cmovne ecx, edx
cmp byte [esi + 0x10], 3
jb 0x47bdbc
xor eax, eax
jmp 0x47bddb
mov eax, dword [esi + 0x40]
cmp dword [eax], 0
je 0x47bdd6
cmp dword [esi + 0x4c], 0
jl 0x47bdd6
jg 0x47bdd2
cmp dword [esi + 0x48], 0
jbe 0x47bdd6
xor eax, eax
jmp 0x47bddb
mov eax, 1
test eax, eax
mov edi, ebx
cmovne edi, ecx
cmp byte [esi + 0xf], 0
mov ecx, 0x4ea3f4
jne 0x47bdf3
mov ecx, dword [esi + 0xa8]
cmp edi, 5
jne 0x47be2f
mov eax, ecx
test ecx, ecx
je 0x47be28
cmp byte [ecx], 0
je 0x47be09
inc eax
cmp byte [eax], 0
jne 0x47be03
sub eax, ecx
and eax, 0x3fffffff
je 0x47be28
cmp byte [esi + 4], 0
jne 0x47be2f
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
cmp dword [eax], 2
jl 0x47be28
cmp dword [eax + 0x34], 0
jne 0x47be2f
mov eax, ebx
jmp 0x47bfaf
mov eax, edi
cmp edi, ebx
je 0x47bfaf
cmp ebx, 5
je 0x47be47
cmp edi, 5
jne 0x47bfaf
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x3f], 0
je 0x47d1d5
cmp dword [eax + 0x98], 1
jg 0x47d1d5
cmp ebx, 5
jne 0x47bf7a
cmp dword [esi + 0xd0], 0
mov dword [esp + 0x14], 0
jne 0x47bf21
mov al, byte [esi + 0x11]
mov dword [esp + 0xb0], 0
mov dword [esp + 0x14], 0
cmp al, 1
jb 0x47be9e
cmp al, bl
jne 0x47bed0
cmp byte [esi + 0xd], 0
je 0x47beae
mov dword [esp + 0x14], 0
jmp 0x47bec6
mov eax, dword [esi + 0x3c]
push 1
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x1c]
call eax
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47bed0
cmp byte [esi + 0x11], 5
je 0x47bed0
mov byte [esi + 0x11], 1
cmp dword [esp + 0x14], 0
jne 0x47bf65
mov eax, dword [esi]
lea ecx, [esp + 0xb0]
push ecx
push 0
push dword [esi + 0xd4]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47bf65
cmp dword [esp + 0xb0], eax
je 0x47bf18
push esi
call fcn.0043cf10
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47bf65
cmp dword [esi + 0xd0], 0
je 0x47bf65
push esi
call fcn.0043cdf0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47bf65
push dword [esi + 0xc8]
movzx eax, byte [esi + 9]
push dword [esi + 0x98]
push eax
push dword [esi + 0xd0]
call fcn.00482260
push esi
mov dword [esp + 0x28], eax
mov dword [esi + 0xd0], 0
call fcn.0043ce60
add esp, 0x14
cmp dword [esp + 0x14], 0
mov eax, edi
jne 0x47bfb4
push edi
push esi
call fcn.00464520
add esp, 8
jmp 0x47bf93
cmp ebx, 4
jne 0x47bf8a
push 2
push esi
call fcn.00464520
add esp, 8
cmp dword [esp + 0x14], 0
mov eax, edi
jne 0x47bfb4
xor eax, eax
cmp edi, 5
sete al
inc eax
push eax
push dword [esp + 0x3c]
call fcn.0044e1f0
mov dword [esp + 0x1c], eax
add esp, 8
mov eax, edi
cmp dword [esp + 0x14], 0
cmove ebx, eax
push ebx
push esi
call fcn.00464520
add esp, 8
mov ecx, 0xa02
mov word [ebp + 8], cx
cmp eax, 6
jne 0x47bfe3
mov dword [ebp + 0x10], 0
mov dword [ebp + 0xc], 0
mov byte [ebp + 0xa], 1
jmp 0x47c022
mov eax, dword [eax*4 + 0x4ecbac]
mov dword [ebp + 0x10], eax
test eax, eax
jne 0x47bffa
mov dword [ebp + 0xc], eax
mov byte [ebp + 0xa], 1
jmp 0x47c022
cmp byte [eax], 0
mov edx, eax
je 0x47c00b
inc eax
cmp byte [eax], 0
jne 0x47c001
movzx ecx, word [ebp + 8]
sub eax, edx
mov byte [ebp + 0xa], 1
and eax, 0x3fffffff
mov dword [ebp + 0xc], eax
test cl, 2
je 0x47643c
cmp byte [esp + 0x60], 1
je 0x47643c
push dword [esp + 0x9c]
push ebp
call fcn.0047f840
mov edi, dword [esp + 0x20]
add esp, 8
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x18]
lea eax, [esi + 0x2c]
push edi
push eax
call fcn.0046b9b0
mov ebx, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x14], eax
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov edi, dword [eax + ecx*8 + 4]
cmp byte [edi + 9], 0
mov ebx, dword [edi + 4]
je 0x47c09b
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x47c09b
push edi
call fcn.00423b80
add esp, 4
cmp byte [ebx + 0x11], 0
jne 0x47c0af
mov ebx, 0x65
mov dword [esp + 0x14], ebx
jmp 0x47c175
mov eax, dword [ebx + 0xc]
mov ebp, dword [ebx + 0x2c]
mov ecx, dword [eax + 0x38]
movzx eax, byte [ecx + 0x24]
movzx esi, byte [ecx + 0x25]
shl eax, 8
or esi, eax
movzx eax, byte [ecx + 0x26]
shl esi, 8
or esi, eax
movzx eax, byte [ecx + 0x27]
shl esi, 8
or esi, eax
push esi
push ebp
push ebx
call fcn.0042f9a0
add esp, 0xc
mov dword [esp + 0x38], eax
cmp ebp, eax
jae 0x47c10e
push 0x4f408c
push 0xdc6b
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0041e160
mov ebx, 0xb
add esp, 0x10
mov dword [esp + 0x14], ebx
jmp 0x47c171
test esi, esi
je 0x47c1a8
push 0
push 0
push ebx
call fcn.00444540
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47c16d
push ebx
call fcn.00436710
push 0
push ebp
push dword [esp + 0x44]
push ebx
call fcn.00436260
add esp, 0x14
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47c16d
mov eax, dword [ebx + 0xc]
push dword [eax + 0x44]
call fcn.00464d60
push dword [ebx + 0x2c]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x38]
add eax, 0x1c
push eax
call fcn.00469dd0
add esp, 0xc
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
cmp byte [edi + 9], 0
je 0x47c18a
add dword [edi + 0xc], 0xffffffff
jne 0x47c18a
push edi
call fcn.00486170
add esp, 4
mov edi, dword [esp + 0x18]
cmp ebx, 0x65
mov ebx, dword [esp + 0x10]
jne 0x4763a1
mov dword [esp + 0x14], 0
jmp 0x476326
mov ebx, 0x65
mov dword [esp + 0x14], ebx
jmp 0x47c171
mov edi, dword [esp + 0x10]
cmp dword [edi + 4], 0
mov edi, dword [esp + 0x18]
jne 0x47c1e4
mov eax, dword [edi + 4]
test eax, eax
je 0x47636a
nop dword [eax]
or dword [eax + 0x58], 8
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x47c1d0
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
or dword [esi + 0x58], 8
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
jmp 0x4763ad
mov ebx, dword [esp + 0x10]
mov bl, byte [ebx + 0xc]
test bl, bl
jne 0x47c215
mov edi, dword [esp + 0x18]
test dword [edi + 0x18], 0x4000
jne 0x477b32
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], 0
mov ecx, dword [eax + 4]
mov edi, dword [eax + 8]
add ecx, ecx
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ecx*8 + 4]
cmp byte [esi + 9], 0
je 0x47c2ed
inc dword [esi + 0xc]
inc bl
cmp byte [esi + 0xa], 0
mov byte [esp + 0x10c], bl
jne 0x47c259
push esi
call fcn.00423b80
add esp, 4
push dword [esp + 0x10c]
push edi
push esi
call fcn.004414e0
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47c2d8
mov ebp, dword [esi + 4]
mov ecx, dword [ebp + 0x48]
test ecx, ecx
je 0x47c290
nop dword [eax]
cmp dword [ecx + 4], edi
jne 0x47c289
cmp dword [ecx], esi
je 0x47c2be
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x47c280
push 0
push 0x10
call fcn.00461dd0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x47c2d0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 4], edi
mov dword [ecx], esi
mov eax, dword [ebp + 0x48]
mov dword [ecx + 0xc], eax
mov dword [ebp + 0x48], ecx
cmp bl, byte [ecx + 8]
jbe 0x47c2c6
mov byte [ecx + 8], bl
mov dword [esp + 0x14], 0
jmp 0x47c2d8
mov dword [esp + 0x14], 7
cmp byte [esi + 9], 0
je 0x47c2ed
add dword [esi + 0xc], 0xffffffff
jne 0x47c2ed
push esi
call fcn.00486170
add esp, 4
cmp byte [esp + 0x14], 6
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
jne 0x47636a
mov eax, dword [esp + 0x10]
push dword [eax + 0x10]
lea eax, [esi + 0x2c]
push str.database_table_is_locked:__s
push edi
push eax
call fcn.0046edd0
mov ebx, dword [esp + 0x20]
add esp, 0x10
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x14], 0
mov esi, dword [edx + 0x10]
mov edx, dword [edi + 0x130]
test edx, edx
jle 0x47c370
cmp dword [edi + 0x148], 0
jne 0x47c370
mov dword [esp + 0x14], 6
test esi, esi
jne 0x47c428
mov ebx, dword [esp + 0x10]
lea eax, [esi + 6]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
jmp 0x4763ad
test esi, esi
jne 0x47c38c
add dword [esp + 0x10], 0x14
xor eax, eax
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x1c]
jmp 0x4762a3
mov eax, dword [esi + 8]
mov edi, dword [eax]
cmp dword [edi + 0x38], 0
je 0x47c424
xor ecx, ecx
test edx, edx
jle 0x47c3bc
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x148]
nop dword [eax + eax]
cmp dword [eax], esi
je 0x47c41c
inc ecx
add eax, 4
cmp ecx, edx
jl 0x47c3b0
push dword [esp + 0x18]
call fcn.00436080
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x47c424
push dword [esi + 8]
mov eax, dword [edi + 0x38]
call eax
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x47c424
mov edi, dword [esp + 0x18]
mov ecx, dword [edi + 0x130]
mov eax, dword [edi + 0x148]
mov dword [eax + ecx*4], esi
inc dword [edi + 0x130]
push dword [esi + 8]
inc dword [esi + 0xc]
mov esi, dword [esp + 0x20]
push esi
call fcn.004818f0
mov ebx, dword [esp + 0x18]
add esp, 8
jmp 0x4763a1
mov dword [esp + 0x14], 0
mov edi, dword [esp + 0x18]
push dword [esi + 8]
mov esi, dword [esp + 0x20]
push esi
call fcn.004818f0
mov ebx, dword [esp + 0x18]
add esp, 8
jmp 0x4763a1
mov edx, dword [esp + 0x10]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
movq qword [esp + 0x1f4], xmm0
mov eax, dword [edx + 8]
movups xmmword [esp + 0x1d4], xmm0
mov dword [esp + 0x1f4], edi
movups xmmword [esp + 0x1e4], xmm0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.0047ede0
mov dword [esp + 0x1c], eax
add esp, 8
mov eax, dword [esp + 0x1dc]
and eax, 0x202
cmp eax, 0x202
jne 0x47c4b4
cmp byte [esp + 0x1de], 1
jne 0x47c4b4
mov edx, dword [esp + 0x1e4]
jmp 0x47c4d6
test byte [esp + 0x1dc], 1
jne 0x47c5b3
lea eax, [esp + 0x1d4]
push 1
push eax
call fcn.00487cf0
add esp, 8
mov edx, eax
test edx, edx
je 0x47c5b3
mov eax, dword [esp + 0x10]
add esi, 0x2c
mov ecx, dword [eax + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
push edx
push edi
call fcn.004589d0
mov ebx, eax
lea eax, [esp + 0x2b0]
push eax
mov ecx, dword [ebx + 0x34]
mov edi, dword [ecx]
mov ecx, dword [esp + 0x28]
add ecx, 0x134
push edi
push ecx
call fcn.0042fc70
add esp, 0x18
test eax, eax
je 0x47c592
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x47c592
mov eax, dword [ecx]
mov edi, dword [esp + 0x18]
push esi
push dword [eax + 4]
push ecx
push ebx
push edi
call fcn.0048b440
add esp, 0x14
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47c5af
mov eax, dword [ebx + 0x38]
test eax, eax
je 0x47c5af
nop dword [eax]
cmp dword [eax], edi
je 0x47c55d
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x47c550
jmp 0x47c5af
push edi
call fcn.00436080
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47c5af
push ebx
push edi
call fcn.0045d230
mov edx, dword [edi + 0x130]
add esp, 8
mov ecx, dword [edi + 0x148]
mov dword [ecx + edx*4], eax
inc dword [edi + 0x130]
inc dword [eax + 0xc]
jmp 0x47c5af
push edi
mov edi, dword [esp + 0x1c]
push str.no_such_module:__s
push edi
call fcn.00461d50
add esp, 0xc
mov dword [esi], eax
mov dword [esp + 0x14], 1
mov esi, dword [esp + 0x1c]
test dword [esp + 0x1dc], 0x2460
jne 0x47c5ce
cmp dword [esp + 0x1ec], 0
je 0x47636a
lea eax, [esp + 0x1d4]
push eax
call fcn.00488d80
mov ebx, dword [esp + 0x14]
add esp, 4
jmp 0x4763a1
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], 0
inc dword [ebx + 0xa4]
mov ecx, dword [edx + 4]
mov eax, dword [ebx + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
push dword [edx + 0x10]
push ebx
call fcn.004589d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x47c682
mov ecx, dword [edi + 0x38]
test ecx, ecx
je 0x47c682
mov eax, dword [ecx + 8]
cmp dword [eax + 4], 0
jg 0x47c695
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x47c621
push edi
push ebx
call fcn.0048b9e0
mov esi, eax
mov ecx, dword [esi + 4]
push dword [esi + 8]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x14]
call ecx
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x47c67e
mov dword [esi + 8], eax
mov dword [edi + 0x38], eax
add dword [esi + 0xc], 0xffffffff
mov edi, dword [esi]
jne 0x47c67e
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x47c674
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 0x10]
call eax
add esp, 4
push esi
push edi
call fcn.004514c0
add esp, 8
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
dec dword [edi + 0xa4]
jmp 0x4763a1
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], 6
dec dword [edi + 0xa4]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov dword [esp + 0xa4], 0
mov eax, dword [edi + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x47d23b
mov edi, dword [esi]
test edi, edi
je 0x47d237
lea eax, [esp + 0xa4]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ebp, dword [esp + 0x24]
mov ebx, eax
push esi
push ebp
mov dword [esp + 0x24], ebx
call fcn.004818f0
add esp, 0x10
test ebx, ebx
jne 0x47c72f
mov eax, dword [esp + 0xa4]
push ebx
push 0xffffffffffffffff
push ebx
mov dword [eax], esi
mov eax, dword [esp + 0x1c]
push dword [eax + 4]
push ebp
call fcn.0041fae0
add esp, 0x14
test eax, eax
je 0x47d219
mov ecx, dword [esp + 0xa4]
mov dword [eax + 0x24], ecx
inc dword [esi + 4]
mov edi, dword [esp + 0x18]
mov esi, ebp
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0xac], 0
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
lea ebx, [ebp + 0x28]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x38]
mov edi, dword [ebx + edx*8]
lea ebx, [ebx + edx*8]
movd xmm0, ebx
mov dword [esp + 0x38], ebx
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0xc]
mov dword [esp + 0xa8], eax
pshufd xmm3, xmm0, 0
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x44], ecx
mov eax, dword [ecx]
mov dword [esp + 0x90], eax
mov ecx, dword [eax]
mov dword [esp + 0x54], ecx
mov ecx, dword [ebp + edx*8]
mov dword [esp + 0x64], ecx
xor ecx, ecx
test edi, edi
jle 0x47c89b
cmp edi, 0x10
jb 0x47c883
cmp dword [0x50d8e4], 2
jl 0x47c883
movaps xmm2, xmmword [0x4f4410]
mov eax, edi
and eax, 0x8000000f
jns 0x47c7d3
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [0x4f4420]
lea edx, [ebx + 0x20]
mov ebp, edi
mov esi, 8
sub ebp, eax
nop word [eax + eax]
movd xmm0, ecx
lea eax, [esi - 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
add ecx, 0x10
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [esi + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, esi
add esi, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x40], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x30], xmm0
cmp ecx, ebp
jl 0x47c7f0
cmp ecx, edi
jge 0x47c89b
mov edx, dword [esp + 0x38]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, edi
jl 0x47c890
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x44]
push ebx
push edi
push dword [eax + 0x10]
mov edi, dword [esp + 0x60]
push dword [esp + 0x70]
push esi
mov eax, dword [edi + 0x20]
call eax
push dword [esp + 0xa4]
mov ebx, eax
push dword [esp + 0x34]
mov dword [esp + 0x30], ebx
call fcn.004818f0
add esp, 0x1c
test ebx, ebx
jne 0x47c8de
mov eax, dword [edi + 0x28]
push esi
call eax
add esp, 4
jmp 0x47c8e5
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xa8]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov byte [ecx + 0x19], 0
test eax, eax
jne 0x476326
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov ecx, dword [edi + 4]
mov edx, dword [eax + ecx*4]
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x28]
cmp byte [edx + 0x19], 0
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
je 0x47c960
mov eax, 0x2460
test word [edi + 8], ax
je 0x47c94a
push edi
call fcn.00488dc0
mov edi, dword [esp + 0x1c]
add esp, 4
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov ebx, dword [esp + 0x10]
mov eax, 1
mov word [edi + 8], ax
mov edi, dword [esp + 0x18]
jmp 0x4763a1
mov eax, dword [edx + 0x24]
xorps xmm0, xmm0
mov ebx, 0xbe01
mov esi, dword [eax]
mov ecx, dword [esi]
movlpd qword [esp + 0x314], xmm0
movlpd qword [esp + 0x31c], xmm0
movlpd qword [esp + 0x324], xmm0
mov dword [esp + 0x310], edi
mov ax, word [edi + 8]
and ax, bx
or ax, 1
mov word [edi + 8], ax
mov eax, dword [esp + 0x10]
push dword [eax + 8]
lea eax, [esp + 0x314]
push eax
push dword [edx + 0x24]
mov eax, dword [ecx + 0x2c]
call eax
push esi
mov esi, dword [esp + 0x2c]
mov ebx, eax
push esi
call fcn.004818f0
mov eax, dword [esp + 0x338]
add esp, 0x14
movzx ecx, word [edi + 8]
test eax, eax
cmovne ebx, eax
mov eax, ecx
mov dword [esp + 0x14], ebx
test cl, 2
je 0x47c9ff
mov cl, byte [esp + 0x60]
cmp byte [edi + 0xa], cl
je 0x47c9ff
push dword [esp + 0x9c]
push edi
call fcn.0047f840
movzx eax, word [edi + 8]
add esp, 8
test al, 0x12
je 0x476366
mov ecx, dword [edi + 0xc]
test eax, 0x4000
je 0x47ca13
add ecx, dword [edi]
mov eax, dword [edi + 0x20]
mov edi, dword [esp + 0x18]
cmp ecx, dword [eax + 0x58]
jg 0x47d26e
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edi, dword [esp + 0x10]
mov eax, dword [esi + 0x38]
mov ecx, dword [edi + 4]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x476366
mov eax, dword [edi + 0x24]
push eax
mov esi, dword [eax]
mov ebx, dword [esi]
mov eax, dword [ebx + 0x24]
call eax
push esi
push dword [esp + 0x24]
mov dword [esp + 0x20], eax
call fcn.004818f0
add esp, 0xc
cmp dword [esp + 0x14], 0
jne case.0x4762df.16
push dword [edi + 0x24]
mov eax, dword [ebx + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x47ca8f
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
add ecx, 0xffffffec
mov dword [esp + 0x10], ecx
mov edi, dword [esp + 0x18]
cmp dword [edi + 0xf0], 0
jne 0x47d417
mov ecx, dword [edi + 0x124]
test ecx, ecx
je 0x476440
mov ebp, dword [esp + 0x58]
cmp ebp, dword [esp + 0x98]
jb 0x476440
mov ebx, dword [edi + 0x12c]
xor edx, edx
mov eax, ebp
div ebx
push dword [edi + 0x128]
sub ebx, edx
add ebx, ebp
mov dword [esp + 0x9c], ebx
call ecx
mov ebx, dword [esp + 0x14]
add esp, 4
mov esi, dword [esp + 0x1c]
test eax, eax
je 0x4763a1
mov dword [esp + 0x14], 9
mov eax, 9
jmp 0x47d490
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 2
lea esi, [ecx + eax*8]
je 0x47cb40
cmp byte [esi + 0xa], 1
je 0x47cb40
push 1
push esi
call fcn.0047f840
mov ebx, eax
add esp, 8
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x47643c
mov eax, dword [edi]
push dword [esi + 0x10]
push edi
mov eax, dword [eax + 0x4c]
call eax
mov esi, dword [esp + 0x24]
push edi
push esi
mov dword [esp + 0x24], eax
call fcn.004818f0
mov edi, dword [esp + 0x28]
add esp, 0x10
and dword [esi + 0x58], 0xfffffff7
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 8]
test edi, edi
je 0x47d2b7
mov ebx, dword [edi]
test ebx, ebx
je 0x47d2b7
cmp dword [ebx + 0x34], 0
mov edx, dword [edx + 8]
je 0x476366
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov esi, dword [esi + 0xc]
mov al, byte [eax + 0x45]
mov byte [esp + 0x37], al
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test edx, edx
jle 0x47cbcb
nop dword [eax]
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x47cbc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov al, byte [eax + 3]
mov byte [ecx + 0x45], al
lea eax, [esp + 0x1cc]
push eax
mov eax, dword [ebx + 0x34]
push esi
push edx
push edi
call eax
mov ecx, dword [esp + 0x28]
mov ebx, eax
mov al, byte [esp + 0x47]
mov esi, dword [esp + 0x2c]
push edi
push esi
mov dword [esp + 0x2c], ebx
mov byte [ecx + 0x45], al
call fcn.004818f0
add esp, 0x18
test ebx, ebx
jne 0x47cc45
mov edi, dword [esp + 0x10]
cmp dword [edi + 4], ebx
mov edi, dword [esp + 0x18]
je 0x47ccae
mov ecx, dword [esp + 0x1cc]
mov edx, dword [esp + 0x1d0]
mov ebx, dword [esp + 0x10]
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], edx
inc dword [esi + 0x5c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
jmp 0x4763a5
mov edx, dword [esp + 0x38]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], edx
cmp bl, 0x13
jne 0x47ccaa
mov edi, dword [esp + 0x10]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], edx
mov eax, dword [edi + 0x10]
cmp byte [eax + 0x10], 0
je 0x47ccaa
mov cl, byte [edi + 3]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], edx
cmp cl, 4
jne 0x47d292
movsd xmm0, qword [esp + 0x88]
add edi, 0x14
mov ecx, dword [esp + 0x58]
xor eax, eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x14], 0
jmp 0x4762b0
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
inc dword [esi + 0x5c]
mov ebx, dword [esp + 0x10]
jmp 0x4763a5
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x47cce2
push esi
call fcn.00488dc0
add esp, 4
mov ebx, dword [esp + 0x10]
mov eax, 4
mov word [esi + 8], ax
mov ecx, dword [edi + 4]
mov edi, dword [esp + 0x18]
add ecx, ecx
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [esi], eax
mov dword [esi + 4], 0
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea ebx, [eax + ecx*8]
mov eax, 0x2460
test word [ebx + 8], ax
je 0x47cd3f
push ebx
call fcn.00488dc0
mov edx, dword [esp + 0x14]
add esp, 4
mov eax, 4
xor edi, edi
mov word [ebx + 8], ax
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + 4]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ecx*8 + 4]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x47cd6c
mov eax, dword [esi + 4]
mov edi, dword [eax + 0x2c]
cmp edi, ecx
cmovb edi, ecx
cmp byte [esi + 9], 0
je 0x47cd84
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x47cd84
push esi
call fcn.00423b80
add esp, 4
mov eax, dword [esi + 4]
mov eax, dword [eax]
test edi, edi
jle 0x47cd95
mov dword [eax + 0x9c], edi
jmp 0x47cd9b
mov edi, dword [eax + 0x9c]
cmp byte [esi + 9], 0
je 0x47cdb0
add dword [esi + 0xc], 0xffffffff
jne 0x47cdb0
push esi
call fcn.00486170
add esp, 4
mov esi, dword [esp + 0x1c]
mov eax, edi
mov edi, dword [esp + 0x18]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, dword [esp + 0x10]
jmp 0x4763a1
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
cmp dword [edi + 0xb0], 0
je 0x47ce1a
test dword [esi + 0x58], 0x200
jne 0x47ce1a
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x47cdf4
mov eax, dword [esi + 0xa8]
test eax, eax
je 0x47ce1a
push eax
push esi
call fcn.0047d800
mov ecx, dword [edi + 0xb0]
mov esi, eax
push esi
push dword [edi + 0xb4]
call ecx
push esi
push edi
call fcn.004514c0
mov esi, dword [esp + 0x34]
add esp, 0x18
cmp dword [ebx + 8], 0
je 0x4763a1
jmp 0x476326
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
jmp 0x4763ad
mov ebx, dword [esp + 0x10]
mov edi, eax
mov esi, dword [esp + 0x1c]
jmp 0x4763a1
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
jmp 0x4763a9
mov dword [ebx + 0x50], ecx
mov al, byte [edi + 8]
mov byte [ebx + 0x56], al
mov dword [ebx + 0x4c], esi
test ecx, ecx
je 0x47cef5
mov al, byte [edi + 3]
test al, al
je 0x47ceb4
movzx eax, al
mov eax, dword [eax*4 + 0x4ef0e4]
test eax, eax
je 0x47ceb6
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x47ceb6
push ecx
push eax
push str._s_constraint_failed:__s
push dword [esp + 0x24]
lea eax, [ebx + 0x2c]
push eax
call fcn.0046edd0
add esp, 0x14
jmp 0x47cedb
xor eax, eax
mov edx, dword [edi + 0x10]
lea ecx, [ebx + 0x2c]
test edx, edx
je 0x47cec8
push edx
push 0x4f0960
jmp 0x47cece
push eax
push str._s_constraint_failed
push dword [esp + 0x20]
push ecx
call fcn.0046edd0
add esp, 0x10
push dword [ebx + 0x2c]
push dword [ebx + 0xa8]
push esi
push str.abort_at__d_in___s_:__s
push dword [edi + 4]
call fcn.0041e160
add esp, 0x14
mov esi, dword [esp + 0x1c]
push esi
call fcn.0047def0
add esp, 4
cmp eax, 5
jne 0x47d005
mov edi, eax
mov dword [esi + 0x50], edi
jmp 0x47d514
push 0x4f408c
push 0x11e15
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0041e160
mov edi, dword [esp + 0x28]
add esp, 0x10
add dword [esp + 0x10], 0x14
mov eax, 0xb
mov dword [esp + 0x14], 0xb
jmp 0x47d488
push 0x4f408c
push 0x11e69
jmp 0x47cf1f
push str.cannot_open_savepoint___SQL_statements_in_progress
mov edi, ebp
lea eax, [esi + 0x2c]
push edi
push eax
call fcn.0046edd0
mov ebx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x14], 5
add ebx, 0x14
mov eax, 5
jmp 0x47d490
mov esi, dword [esp + 0x1c]
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x47cf5c
mov ecx, dword [esp + 0x10]
mov eax, 0x66666667
sub ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x1c]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x4c], eax
mov byte [edi + 0x3f], 0
mov edi, 5
mov dword [esi + 0x50], edi
jmp 0x47d514
mov esi, dword [esp + 0x1c]
push str.FOREIGN_KEY_constraint_failed
push ecx
lea eax, [esi + 0x2c]
mov dword [esi + 0x50], 0x313
push eax
mov byte [esi + 0x56], 2
call fcn.0046edd0
add esp, 0xc
mov edi, ebx
jmp 0x47d514
test ecx, ecx
je 0x47d01b
push 0x204
push edi
call fcn.0046aea0
add esp, 8
mov byte [edi + 0x3f], 1
push edi
call fcn.0044e9e0
add esp, 4
cmp dword [esi + 0x50], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x47d514
push 1
push esi
call fcn.00475a70
mov edi, eax
add esp, 8
test edi, edi
jne 0x47d514
mov edi, dword [esp + 0x18]
push esi
mov byte [edi + 0x3f], bl
call fcn.0047def0
add esp, 4
cmp eax, 5
jne 0x47cffc
mov ecx, dword [esp + 0x10]
mov eax, 0x66666667
sub ecx, dword [esp + 0x48]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x4c], eax
mov al, 1
sub al, bl
mov byte [edi + 0x3f], al
mov edi, 5
mov dword [esi + 0x50], edi
jmp 0x47d514
mov ebx, 8
mov dword [esp + 0x14], ebx
jmp 0x47a92b
mov ecx, dword [esp + 0x10]
mov eax, 0x66666667
sub ecx, dword [esp + 0x48]
mov edi, 5
mov esi, dword [esp + 0x1c]
imul ecx
mov dword [esi + 0x50], edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x4c], eax
jmp 0x47d514
push 0x121c2
call fcn.0044ff00
mov ebx, eax
add esp, 4
mov dword [esp + 0x14], ebx
jmp 0x47a927
add edi, 0x14
mov dword [esp + 0x14], 0x204
mov dword [esp + 0x10], edi
mov eax, 0x204
mov edi, dword [esp + 0x18]
jmp 0x47d48c
add dword [esp + 0x10], 0x14
mov eax, 7
mov edi, dword [esp + 0x18]
mov dword [esp + 0x14], 7
jmp 0x47d488
test dword [esp + 0x240], 0x2460
jne 0x47d117
cmp dword [esp + 0x250], 0
je 0x47d127
lea eax, [esp + 0x238]
push eax
call fcn.00488d80
add esp, 4
push 0x4f408c
push 0x10cf2
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0041e160
mov ebx, 0xb
add esp, 0x10
mov dword [esp + 0x14], ebx
jmp 0x47a927
mov edi, ebp
jmp 0x47a92b
cmp ebx, 0xc0a
je 0x47d484
push ebx
call fcn.00418f40
mov esi, dword [esp + 0x20]
push eax
push 0x4f0960
push edi
lea eax, [esi + 0x2c]
push eax
call fcn.0046edd0
mov eax, dword [esp + 0x28]
add esp, 0x14
jmp 0x47d48c
add dword [esp + 0x10], 0x14
mov edi, ecx
mov dword [esp + 0x14], 6
mov eax, 6
mov byte [esi + 0x56], 2
jmp 0x47d48c
mov edi, esi
mov dword [esp + 0x14], 1
mov esi, dword [esp + 0x1c]
push str.too_many_levels_of_trigger_recursion
push edi
lea eax, [esi + 0x2c]
push eax
call fcn.0046edd0
mov ebx, dword [esp + 0x1c]
add esp, 0xc
add ebx, 0x14
mov eax, 1
jmp 0x47d490
mov esi, dword [esp + 0x1c]
cmp edi, 5
mov edi, dword [esp + 0x18]
mov ecx, str.out_of
mov eax, str.into
mov dword [esp + 0x14], 1
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
lea eax, [esi + 0x2c]
push edi
push eax
call fcn.0046edd0
mov ebx, dword [esp + 0x20]
add esp, 0x10
add ebx, 0x14
mov eax, 1
jmp 0x47d490
push dword [esp + 0xa4]
mov eax, dword [edi + 0x1c]
call eax
mov edi, dword [esp + 0x1c]
add esp, 4
mov ebx, dword [esp + 0x10]
mov esi, ebp
jmp 0x47d463
mov edi, dword [esp + 0x10]
add edi, 0x14
mov dword [esp + 0x14], 6
mov dword [esp + 0x10], edi
mov eax, 6
mov edi, dword [esp + 0x18]
jmp 0x47d488
mov edi, edx
jmp 0x47d26a
mov edi, eax
jmp 0x47d26a
mov edi, dword [esp + 0x18]
jmp 0x47d26e
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
push str.string_or_blob_too_big
lea eax, [esi + 0x2c]
push edi
push eax
call fcn.0046edd0
add esp, 0xc
mov dword [esp + 0x14], 0x12
mov eax, 0x12
jmp 0x47d48c
cmp cl, 5
movzx eax, cl
mov ebx, 2
cmove eax, ebx
add edi, 0x14
mov byte [esi + 0x56], al
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
jmp 0x47d48c
add dword [esp + 0x10], 0x14
mov eax, 6
mov edi, dword [esp + 0x18]
mov dword [esp + 0x14], 6
jmp 0x47d48c
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x124]
test eax, eax
je 0x47d30a
cmp ecx, dword [esp + 0x98]
jb 0x47d30a
push dword [edi + 0x128]
call eax
add esp, 4
test eax, eax
je 0x47d30a
mov dword [esp + 0x14], 9
mov eax, 9
jmp 0x47d48c
cmp dword [esi + 0x94], 0
jg 0x47d3f4
jl 0x47d326
cmp dword [esi + 0x90], 0
ja 0x47d3f4
push 1
push esi
call fcn.00475e90
mov ebx, eax
add esp, 8
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x47d347
mov ebx, dword [esp + 0x10]
add ebx, 0x14
jmp 0x47d490
mov eax, dword [esi + 0x48]
xor edi, edi
mov ecx, dword [esp + 0x10]
add eax, 2
mov edx, dword [esp + 0x28]
or eax, 1
mov dword [esi + 0x48], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x14], esi
cmp dword [ecx + 8], edi
jle 0x47d3c3
mov ebx, 0x202
nop word [eax + eax]
mov eax, 0x1000
test word [esi + 8], ax
je 0x47d3a0
push esi
call fcn.0047f1c0
add esp, 4
test eax, eax
jne 0x47846b
mov ecx, dword [esp + 0x10]
mov ax, word [esi + 8]
and ax, bx
cmp ax, 2
jne 0x47d3ba
push esi
call fcn.00488d30
mov ecx, dword [esp + 0x14]
add esp, 4
inc edi
add esi, 0x28
cmp edi, dword [ecx + 8]
jl 0x47d380
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
cmp byte [edi + 0x41], 0
jne 0x47d44f
sub ecx, dword [esp + 0x48]
mov eax, 0x66666667
imul ecx
mov edi, 0x64
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [esi + 0x4c], eax
jmp 0x47d514
push str.FOREIGN_KEY_constraint_failed
push dword [esi]
lea eax, [esi + 0x2c]
mov dword [esi + 0x50], 0x313
push eax
mov byte [esi + 0x56], 2
call fcn.0046edd0
add esp, 0xc
jmp 0x478bbc
mov esi, dword [esp + 0x1c]
push 9
mov dword [esp + 0x18], 9
mov dword [esi + 0x50], 9
call fcn.00418f40
push eax
push 0x4f0960
lea eax, [esi + 0x2c]
push edi
push eax
call fcn.0046edd0
add esp, 0x14
mov eax, 9
jmp 0x47d48c
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
jmp 0x47d463
mov ebx, dword [esp + 0x10]
mov edi, eax
mov esi, dword [esp + 0x1c]
jmp 0x47d463
mov ebx, ebp
push str.out_of_memory
lea eax, [esi + 0x2c]
mov byte [edi + 0x41], 1
push edi
push eax
call fcn.0046edd0
mov eax, 7
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x47d490
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
sub ebx, dword [esp + 0x48]
push dword [esi + 0x2c]
mov dword [esi + 0x50], eax
mov eax, 0x66666667
push dword [esi + 0xa8]
imul ebx
mov ebx, dword [esp + 0x1c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push ebx
call fcn.0041e160
push esi
call fcn.0047def0
add esp, 0x18
cmp ebx, 0xc0a
jne 0x47d4d6
mov byte [edi + 0x41], 1
mov al, byte [esp + 0x5f]
mov edi, 1
test al, al
je 0x47d514
mov ebx, dword [esp + 0x18]
movzx esi, al
dec esi
mov ecx, esi
mov eax, dword [ebx + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.0046bfb0
add esp, 4
cmp esi, edi
je 0x47d510
mov eax, dword [ebx + 0x10]
push dword [eax + 0x1c]
call fcn.0046bfb0
add esp, 4
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
push esi
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x24], ecx
mov eax, dword [esp + 0x5c]
add dword [esi + 0x7c], eax
call fcn.0047e330
mov ecx, dword [esp + 0x424]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004bf6e8
add esp, 0x414
ret