Function at 0x47a730
Capabilities:
Reference sql statements

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x340
mov eax, dword [0x4d9114]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x108], eax
mov dword [ebp - 0xcc], eax
xor eax, eax
push esi
push edi
mov edi, dword [ebx]
mov cl, byte [edi + 0x3e]
mov dword [ebp - 0xc8], eax
mov byte [ebp - 0x112], al
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x168], eax
mov eax, dword [edi + 0x20]
mov byte [ebp - 0x110], cl
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x140], eax
mov eax, dword [edi + 0x24]
mov esi, ebx
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0x13c], eax
call fcn.0044597c
cmp dword [ebx + 0x50], 7
je 0x47f5e4
xor eax, eax
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x88], eax
mov dword [ebx + 0x8c], eax
mov dword [ebx + 0x14], eax
mov dword [edi + 0x1b0], eax
mov eax, dword [edi + 0xf0]
test eax, eax
jne 0x47f08b
mov eax, dword [ebx + 0x4c]
imul eax, eax, 0x14
add eax, dword [ebp - 0x108]
mov dword [ebp - 0xcc], eax
cmp byte [edi + 0x41], 0
jne 0x47f5e4
mov edi, dword [ebp - 0xcc]
mov dl, byte [edi]
inc dword [ebp - 0x174]
movzx eax, dl
lea ecx, [eax - 1]
cmp ecx, 0x9a
ja case.default.0x47a81c
jmp dword [ecx*4 + 0x47f610]
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
push 4
pop eax
mov word [ecx + 8], ax
mov eax, edi
sub eax, dword [ebp - 0x108]
push 0x14
cdq
pop esi
idiv esi
cdq
jmp 0x47e806
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
mov eax, dword [edi]
imul eax, eax, 0x14
add eax, dword [ebp - 0x108]
mov dword [ebp - 0xcc], eax
mov eax, 0x80
mov word [edi + 8], ax
mov edi, dword [ebp - 0xcc]
add edi, 0x14
cmp dword [ebp - 0xc8], 0
mov dword [ebp - 0xcc], edi
jne 0x47f0ae
mov edi, dword [ebp - 0xd0]
jmp 0x47a7f6
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
dec eax
cdq
mov dword [ecx], eax
push 4
pop eax
mov dword [ecx + 4], edx
mov word [ecx + 8], ax
cmp dword [edi + 8], 0
jne 0x47d15f
jmp case.default.0x47a81c
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0x108]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
mov ecx, dword [edi]
imul ecx, ecx, 0x14
mov ecx, dword [ecx + eax + 8]
imul ecx, ecx, 0x14
lea eax, [ecx + eax - 0x14]
jmp 0x47a861
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
push 4
pop eax
mov word [ecx + 8], ax
mov eax, edi
sub eax, dword [ebp - 0x108]
push 0x14
cdq
pop edi
idiv edi
mov esi, dword [ecx]
imul esi, esi, 0x14
add esi, dword [ebp - 0x108]
mov dword [ebp - 0xcc], esi
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x47a870
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xd4]
imul eax, eax, 0x28
test byte [eax + ecx + 8], 1
je case.default.0x47a81c
mov eax, edi
sub eax, dword [ebp - 0x108]
push 0x14
cdq
pop ecx
idiv ecx
cmp dword [edi + 4], 0
mov dword [ebp - 0xf4], eax
jne 0x47f401
lea edx, [ebx + 0xb0]
mov ecx, dword [edx]
test ecx, ecx
je 0x47f401
mov eax, dword [ecx + 4]
dec dword [ebx + 0xb8]
mov esi, dword [ebp - 0xd0]
mov dword [edx], eax
mov eax, dword [ebx + 0x5c]
add dword [esi + 0x54], eax
mov edi, ecx
mov dword [esi + 0x50], eax
call fcn.00470262
mov ecx, dword [esi + 0x20]
mov dword [ebp - 0x140], ecx
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x13c], ecx
mov ecx, dword [ebp - 0xcc]
cmp dword [ecx + 8], 4
jne 0x47a9b3
mov ecx, dword [ebx + 4]
imul eax, eax, 0x14
mov eax, dword [eax + ecx + 8]
dec eax
mov ecx, dword [ebx + 4]
imul eax, eax, 0x14
mov edx, dword [ebx + 8]
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0xd4], edx
add eax, ecx
mov dword [ebp - 0xcc], eax
jmp 0x47a870
push ebx
mov eax, edi
call fcn.0043e149
pop ecx
mov ecx, eax
mov eax, dword [edi + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x47a81c
push ebx
mov eax, edi
call fcn.0043e149
pop ecx
mov ecx, dword [edi + 0x10]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp case.default.0x47a81c
push ebx
mov eax, edi
call fcn.0043e149
pop ecx
push 8
pop ecx
mov word [eax + 8], cx
mov ecx, dword [edi + 0x10]
fld qword [ecx]
fstp qword [eax]
jmp case.default.0x47a81c
push ebx
mov eax, edi
call fcn.0043e149
pop ecx
mov ecx, dword [edi + 0x10]
mov esi, eax
mov byte [edi], 0x1b
call fcn.0043994f
cmp byte [ebp - 0x110], 1
mov dword [edi + 4], eax
je 0x47aabb
push 1
push ecx
xor eax, eax
or ecx, 0xffffffff
mov edx, esi
call fcn.0044e268
pop ecx
pop ecx
mov dword [ebp - 0xc8], eax
cmp eax, 0x12
je 0x47b3fe
movzx eax, byte [ebp - 0x110]
push eax
mov eax, esi
call fcn.0044e1bf
pop ecx
test eax, eax
jne 0x47f5e4
and dword [esi + 0x18], eax
mov edi, dword [ebp - 0xcc]
mov eax, 0x800
or word [esi + 8], ax
cmp byte [edi + 1], 0xff
jne 0x47aaa5
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp - 0xd0]
call fcn.004397ce
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 [ebp - 0xcc]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
cmp eax, dword [ecx + 0x58]
jg 0x47b3fe
push ebx
mov eax, edi
call fcn.0043e149
pop ecx
mov ecx, 0xa02
mov word [eax + 8], cx
mov ecx, dword [edi + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [edi + 4]
mov dword [eax + 0xc], ecx
mov cl, byte [ebp - 0x110]
mov byte [eax + 0xa], cl
cmp byte [edi + 3], 0
je case.default.0x47a81c
mov ecx, dword [edi + 0xc]
mov edx, dword [ebp - 0xd4]
imul ecx, ecx, 0x28
mov esi, dword [ecx + edx]
or esi, dword [ecx + edx + 4]
je case.default.0x47a81c
mov ecx, 0xa10
mov word [eax + 8], cx
jmp case.default.0x47a81c
push ebx
mov eax, edi
call fcn.0043e149
mov esi, dword [edi + 0xc]
sub esi, dword [edi + 8]
pop ecx
mov ecx, dword [edi + 4]
neg ecx
sbb ecx, ecx
and ecx, 0x100
inc ecx
movzx ecx, cx
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xf4], ecx
mov word [eax + 8], cx
jmp 0x47ab7b
add dword [ebp - 0xe8], 0x28
mov eax, dword [ebp - 0xe8]
call fcn.0043d609
mov ax, word [ebp - 0xf4]
mov ecx, dword [ebp - 0xe8]
mov word [ecx + 8], ax
dec esi
test esi, esi
jg 0x47ab57
jmp case.default.0x47a81c
mov eax, dword [edi + 4]
mov edx, 0xff7f
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov cx, word [eax + 8]
and cx, dx
or cx, 1
jmp 0x47ab1c
push ebx
mov eax, edi
call fcn.0043e149
mov ecx, dword [edi + 4]
mov esi, eax
push 0
push dword [edi + 0x10]
xor eax, eax
mov edx, esi
call fcn.0044e268
mov al, byte [ebp - 0x110]
add esp, 0xc
mov byte [esi + 0xa], al
jmp case.default.0x47a81c
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x3c]
imul eax, eax, 0x28
lea esi, [eax + ecx - 0x28]
mov ecx, esi
call fcn.0043d6d1
test eax, eax
jne 0x47b3fe
push ebx
mov eax, edi
call fcn.0043e149
mov dword [esp], 0x800
push esi
mov ebx, eax
call fcn.0043d6f8
pop ecx
pop ecx
mov ebx, dword [ebp - 0x100]
jmp case.default.0x47a81c
mov ebx, dword [edi + 4]
mov esi, dword [edi + 8]
imul ebx, ebx, 0x28
mov eax, dword [edi + 0xc]
imul esi, esi, 0x28
add ebx, dword [ebp - 0xd4]
add esi, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], eax
mov eax, esi
call fcn.0043d740
mov eax, 0x1000
test word [esi + 8], ax
je 0x47ac59
mov eax, esi
call fcn.0044b02e
test eax, eax
jne 0x47f5de
mov edi, dword [ebp - 0xcc]
add ebx, 0x28
add esi, 0x28
dec dword [ebp - 0xd8]
jne 0x47ac32
jmp 0x47ac06
mov esi, dword [edi + 4]
mov ebx, dword [edi + 8]
imul esi, esi, 0x28
mov eax, dword [edi + 0xc]
imul ebx, ebx, 0x28
add esi, dword [ebp - 0xd4]
add ebx, dword [ebp - 0xd4]
mov dword [ebp - 0xe0], eax
push 0x1000
push esi
call fcn.0043d6f8
mov eax, 0x1000
pop ecx
pop ecx
test word [ebx + 8], ax
je 0x47acb7
mov eax, ebx
call fcn.0044b02e
test eax, eax
jne 0x47f5de
mov edi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xe0]
dec dword [ebp - 0xe0]
test eax, eax
je 0x47ac06
add ebx, 0x28
add esi, 0x28
jmp 0x47ac8a
mov eax, dword [edi + 4]
mov ebx, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xd4]
push 0x1000
push eax
jmp 0x47abff
xor esi, esi
push esi
mov eax, ebx
call fcn.0045c758
pop ecx
mov dword [ebp - 0xc8], eax
cmp eax, esi
jne case.default.0x47a81c
push 1
push ebx
call fcn.0045c65e
pop ecx
pop ecx
mov dword [ebp - 0xc8], eax
cmp eax, esi
jne case.default.0x47a81c
mov eax, dword [ebx + 0x48]
mov ecx, dword [ebp - 0xd4]
inc eax
inc eax
or eax, 1
mov dword [ebx + 0x48], eax
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, ecx
mov dword [ebx + 0x14], eax
cmp dword [edi + 8], esi
jle 0x47ad8a
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x130]
mov ecx, 0x1000
test word [eax + 8], cx
je 0x47ad72
call fcn.0044b02e
test eax, eax
jne 0x47f5e4
mov edi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x130]
call fcn.00445518
add dword [ebp - 0x130], 0x28
inc esi
cmp esi, dword [edi + 8]
jl 0x47ad4e
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x41], 0
jne 0x47f5e4
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0x108]
push 0x14
cdq
pop ecx
idiv ecx
push 0x64
pop edi
inc eax
mov dword [ebx + 0x4c], eax
jmp 0x47f11b
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
imul eax, eax, 0x28
mov esi, dword [edi + 8]
imul ecx, ecx, 0x28
add eax, dword [ebp - 0xd4]
imul esi, esi, 0x28
add ecx, dword [ebp - 0xd4]
add esi, dword [ebp - 0xd4]
mov dword [ebp - 0xe8], eax
movzx eax, word [ecx + 8]
mov dl, byte [esi + 8]
or dl, al
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xe4], esi
test dl, 1
je 0x47ae0c
mov eax, dword [ebp - 0xe8]
call fcn.0043d609
jmp case.default.0x47a81c
mov edi, 0x4000
test edi, eax
je 0x47ae24
mov eax, ecx
call fcn.00445489
mov ecx, dword [ebp - 0xdc]
jmp 0x47ae26
xor eax, eax
test eax, eax
jne 0x47f5e4
test word [esi + 8], di
je 0x47ae43
mov eax, esi
call fcn.00445489
mov ecx, dword [ebp - 0xdc]
jmp 0x47ae45
xor eax, eax
test eax, eax
jne 0x47f5e4
test byte [ecx + 8], 0x12
jne 0x47ae75
mov esi, dword [ebp - 0xdc]
push eax
push dword [ebp - 0x110]
call fcn.0044e1e4
pop ecx
pop ecx
test eax, eax
jne 0x47f5e4
mov esi, dword [ebp - 0xe4]
test byte [esi + 8], 0x12
jne 0x47ae98
mov esi, dword [ebp - 0xe4]
push 0
push dword [ebp - 0x110]
call fcn.0044e1e4
pop ecx
pop ecx
test eax, eax
jne 0x47f5e4
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xe4]
add eax, dword [ecx + 0xc]
cdq
mov esi, eax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x58]
mov edi, edx
cdq
cmp edi, edx
jg 0x47b3fe
jl 0x47aecb
cmp esi, eax
ja 0x47b3fe
mov edi, dword [ebp - 0xe8]
xor eax, eax
cmp edi, ecx
sete al
push eax
lea eax, [esi + 2]
call fcn.00445396
pop ecx
test eax, eax
jne 0x47f5e4
mov ax, word [edi + 8]
mov ecx, 0xbe02
and ax, cx
mov ecx, dword [ebp - 0xe4]
or ax, 2
mov word [edi + 8], ax
cmp edi, ecx
je 0x47af1f
push dword [ecx + 0xc]
push dword [ecx + 0x10]
push dword [edi + 0x10]
call fcn.0048a010
mov ecx, dword [ebp - 0xe4]
add esp, 0xc
mov eax, dword [ebp - 0xdc]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [edi + 0x10]
add eax, dword [ecx + 0xc]
push eax
call fcn.0048a010
mov eax, dword [edi + 0x10]
mov byte [esi + eax], 0
mov eax, dword [edi + 0x10]
mov byte [eax + esi + 1], 0
mov eax, 0x200
add esp, 0xc
or word [edi + 8], ax
mov al, byte [ebp - 0x110]
mov dword [edi + 0xc], esi
mov byte [edi + 0xa], al
jmp 0x47a870
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
mov eax, esi
mov dword [ebp - 0xdc], esi
call fcn.0043e128
movzx eax, ax
mov dword [ebp - 0xe0], eax
mov eax, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xe4], eax
call fcn.0043e128
movzx eax, ax
mov dword [ebp - 0xd8], eax
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe4]
mov al, byte [eax + 8]
or al, byte [esi + 8]
test al, 1
jne 0x47adfc
mov al, byte [ebp - 0xd8]
and al, byte [ebp - 0xe0]
test al, 4
je 0x47b195
mov edx, dword [ebp - 0xe4]
mov edx, dword [edx]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x138], edx
mov edx, dword [ebp - 0xe4]
mov edx, dword [edx + 4]
mov dword [ebp - 0x134], edx
movzx edx, byte [edi]
sub edx, 0x59
mov byte [ebp - 0x111], 1
je 0x47b15f
dec edx
je 0x47b150
dec edx
je 0x47b098
dec edx
mov edx, eax
je 0x47b04e
or edx, ecx
je 0x47adfc
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x47b039
xor eax, eax
inc eax
xor ecx, ecx
push ecx
push eax
push dword [ebp - 0x134]
push dword [ebp - 0x138]
call fcn.0048a920
jmp 0x47b087
or edx, ecx
je 0x47adfc
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x47b074
cmp dword [ebp - 0x138], 0
jne 0x47b074
cmp dword [ebp - 0x134], 0x80000000
je 0x47b0b5
push ecx
push eax
push dword [ebp - 0x134]
push dword [ebp - 0x138]
call fcn.0048a870
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], edx
jmp 0x47b17c
push ecx
push eax
lea esi, [ebp - 0x138]
call fcn.0043a462
pop ecx
pop ecx
test eax, eax
je 0x47b17c
mov esi, dword [ebp - 0xdc]
mov ecx, esi
call fcn.0043d4c2
fstp qword [ebp - 0xf8]
mov ecx, dword [ebp - 0xe4]
call fcn.0043d4c2
movzx eax, byte [edi]
sub eax, 0x59
je 0x47b1cc
dec eax
je 0x47b1c4
dec eax
je 0x47b1bc
dec eax
je 0x47b1a1
fld qword [ebp - 0xf8]
call fcn.0048a7f6
mov esi, eax
mov dword [ebp - 0x19c], edx
call fcn.0048a7f6
mov ecx, esi
or ecx, dword [ebp - 0x19c]
je 0x47adfc
mov ecx, esi
and ecx, dword [ebp - 0x19c]
cmp ecx, 0xffffffff
jne 0x47b12b
xor esi, esi
inc esi
and dword [ebp - 0x19c], 0
push dword [ebp - 0x19c]
push esi
push edx
push eax
call fcn.0048a920
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], edx
fild qword [ebp - 0x23c]
jmp 0x47b1d2
push ecx
push eax
lea eax, [ebp - 0x138]
call fcn.0043a412
jmp 0x47b172
push ecx
push eax
lea edi, [ebp - 0x138]
call fcn.0043a38c
mov edi, dword [ebp - 0xcc]
pop ecx
pop ecx
test eax, eax
jne 0x47b0b5
mov ecx, dword [ebp - 0x138]
mov eax, dword [ebp - 0xe8]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x134]
jmp 0x47b59e
mov byte [ebp - 0x111], 0
jmp 0x47b0b5
fldz
fcomp qword [ebp - 0xf8]
fnstsw ax
test ah, 0x44
jnp 0x47b246
fdiv qword [ebp - 0xf8]
jmp 0x47b1d2
fmul qword [ebp - 0xf8]
jmp 0x47b1d2
fsub qword [ebp - 0xf8]
jmp 0x47b1d2
fadd qword [ebp - 0xf8]
fstp qword [ebp - 0xf8]
push ecx
fld qword [ebp - 0xf8]
push ecx
fstp qword [esp]
call fcn.00439924
add esp, 8
test eax, eax
jne 0x47adfc
mov eax, dword [ebp - 0xe8]
fld qword [ebp - 0xf8]
mov cx, word [eax + 8]
fstp qword [eax]
mov edx, 0xbe08
and cx, dx
or cx, 8
mov word [eax + 8], cx
mov al, byte [ebp - 0xd8]
or al, byte [ebp - 0xe0]
test al, 8
jne case.default.0x47a81c
cmp byte [ebp - 0x111], 0
jne case.default.0x47a81c
mov esi, dword [ebp - 0xe8]
call fcn.0043d501
jmp case.default.0x47a81c
fstp st(0)
jmp 0x47adfc
mov eax, dword [edi + 4]
test eax, eax
je case.default.0x47a81c
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
push 0
push 0
call fcn.0043d66c
pop ecx
pop ecx
jmp case.default.0x47a81c
mov ecx, dword [ebx + 0xc]
mov esi, dword [edi + 8]
movzx eax, byte [edi + 3]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
and dword [ebp - 0xec], 0
mov dword [ebp - 0xd8], ecx
mov ecx, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x1f0], ecx
test eax, eax
jle 0x47b2f9
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xec]
mov dword [eax + ecx*4], esi
mov eax, 0x1000
test word [esi + 8], ax
je 0x47b2dc
mov eax, esi
call fcn.0044b02e
test eax, eax
jne 0x47f5e4
mov edi, dword [ebp - 0xcc]
inc dword [ebp - 0xec]
mov eax, dword [ebp - 0xec]
add esi, 0x28
cmp eax, dword [ebp - 0xe0]
jl 0x47b2ad
mov ecx, dword [ebp - 0x1f0]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x1ec], eax
mov eax, edi
sub eax, dword [ebp - 0x108]
push 0x14
cdq
pop esi
idiv esi
mov esi, dword [ebp - 0xd0]
push dword [ebp - 0xd8]
mov dword [ebp - 0x1e4], ebx
push dword [ebp - 0xe0]
mov edx, 0xbe01
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0xf4], eax
mov ax, word [ecx + 8]
and ax, dx
or ax, 1
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x140]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x13c]
mov dword [esi + 0x24], eax
lea eax, [ebp - 0x1f0]
push eax
mov eax, dword [ebp - 0x1ec]
mov byte [ebp - 0x1d7], 0
call dword [eax + 0xc]
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x140], eax
mov eax, dword [esi + 0x24]
add esp, 0xc
cmp byte [ebp - 0x1d7], 0
mov dword [ebp - 0x13c], eax
je 0x47b3d7
cmp dword [ebp - 0x1dc], 0
je 0x47b3c1
push dword [ebp - 0x1f0]
call fcn.0044ed1a
push eax
push 0x4b900c
push esi
lea esi, [ebx + 0x2c]
call fcn.0045b1dc
mov eax, dword [ebp - 0x1dc]
add esp, 0x10
mov dword [ebp - 0xc8], eax
push dword [edi + 4]
push dword [ebp - 0xf4]
call fcn.0043d95d
mov ebx, dword [ebp - 0x100]
pop ecx
pop ecx
movzx eax, byte [ebp - 0x110]
push eax
mov eax, dword [ebp - 0x1f0]
call fcn.0044e1bf
pop ecx
mov ecx, dword [ebp - 0x1f0]
call fcn.0043d6d1
test eax, eax
je case.default.0x47a81c
push str.string_or_blob_too_big
push dword [ebp - 0xd0]
lea esi, [ebx + 0x2c]
call fcn.0045b1dc
pop ecx
pop ecx
mov dword [ebp - 0xc8], 0x12
jmp 0x47f0ae
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
imul eax, eax, 0x28
mov esi, dword [edi + 4]
imul ecx, ecx, 0x28
add eax, dword [ebp - 0xd4]
imul esi, esi, 0x28
add ecx, dword [ebp - 0xd4]
add esi, dword [ebp - 0xd4]
mov dword [ebp - 0xe8], eax
mov al, byte [ecx + 8]
or al, byte [esi + 8]
test al, 1
jne 0x47adfc
call fcn.0043d468
mov ecx, esi
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], edx
call fcn.0043d468
mov esi, eax
mov al, byte [edi]
cmp al, 0x55
jne 0x47b48b
and dword [ebp - 0x120], esi
and dword [ebp - 0x11c], edx
jmp 0x47b58a
cmp al, 0x56
jne 0x47b4a0
or dword [ebp - 0x120], esi
or dword [ebp - 0x11c], edx
jmp 0x47b58a
mov ecx, esi
or ecx, edx
je 0x47b58a
test edx, edx
jg 0x47b4df
jl 0x47b4b4
test esi, esi
jae 0x47b4d4
mov cl, 0xaf
sub cl, al
cmp edx, 0xffffffff
mov al, cl
jl 0x47b4cf
jg 0x47b4c6
cmp esi, 0xffffffc0
jbe 0x47b4cf
neg esi
adc edx, 0
neg edx
jmp 0x47b4d4
push 0x40
pop esi
xor edx, edx
test edx, edx
jl 0x47b50d
jg 0x47b4df
cmp esi, 0x40
jb 0x47b50d
cmp dword [ebp - 0x11c], 0
jg 0x47b4fc
jl 0x47b4f3
cmp dword [ebp - 0x120], 0
jae 0x47b4fc
cmp al, 0x57
je 0x47b4fc
or eax, 0xffffffff
jmp 0x47b4fe
xor eax, eax
cdq
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], edx
jmp 0x47b58a
mov edx, dword [ebp - 0x11c]
cmp al, 0x57
mov eax, dword [ebp - 0x120]
mov ecx, esi
jne 0x47b532
call fcn.0048adf0
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], edx
jmp 0x47b572
call fcn.0048add0
cmp dword [ebp - 0x11c], 0
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], edx
jg 0x47b572
jl 0x47b557
cmp dword [ebp - 0x120], 0
jae 0x47b572
push 0x40
pop ecx
or edx, 0xffffffff
sub ecx, esi
mov eax, edx
call fcn.0048adf0
or dword [ebp - 0x15c], eax
or dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0xe8]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x11c]
mov dword [eax + 4], ecx
mov cx, word [eax + 8]
mov edx, 0xbe04
and cx, dx
or cx, 4
jmp 0x47ab1c
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
call fcn.0043d55f
mov eax, dword [edi + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.default.0x47a81c
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
movzx eax, word [esi + 8]
test al, 4
jne 0x47b61b
push dword [ebp - 0x110]
mov eax, esi
push 0x43
call fcn.0044ef42
movzx eax, word [esi + 8]
pop ecx
pop ecx
test al, 4
jne 0x47b61b
cmp dword [edi + 8], 0
jne 0x47d15f
mov dword [ebp - 0xc8], 0x14
jmp 0x47f58a
and eax, 0xbe04
or eax, 4
mov word [esi + 8], ax
jmp case.default.0x47a81c
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
test byte [esi + 8], 4
je case.default.0x47a81c
call fcn.0043d582
jmp case.default.0x47a81c
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
mov eax, 0x4000
test word [esi + 8], ax
je 0x47b672
mov eax, esi
call fcn.00445489
mov dword [ebp - 0xc8], eax
jmp 0x47b679
and dword [ebp - 0xc8], 0
push dword [ebp - 0x110]
mov cl, byte [edi + 8]
mov eax, esi
call fcn.0045216d
jmp 0x47b26b
mov edx, dword [edi + 4]
mov esi, dword [edi + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xd4]
imul esi, esi, 0x28
movzx eax, word [edx + 8]
add esi, dword [ebp - 0xd4]
mov dword [ebp - 0xe0], eax
movzx eax, ax
mov dword [ebp - 0xe8], eax
movzx eax, word [esi + 8]
mov dword [ebp - 0x104], eax
or al, byte [ebp - 0xe8]
mov dword [ebp - 0xdc], edx
test al, 1
mov al, byte [edi + 3]
mov dword [ebp - 0xe4], esi
je 0x47b725
test al, al
jns 0x47b70d
test byte [ebp - 0xe8], 1
je 0x47b705
test byte [ebp - 0x104], 1
je 0x47b705
test dword [ebp - 0x104], 0x100
jne 0x47b705
xor eax, eax
jmp 0x47b872
xor eax, eax
inc eax
jmp 0x47b872
test al, 0x20
je 0x47b71e
mov eax, dword [edi + 8]
mov edx, 0xbe01
jmp 0x47ab8c
test al, 0x10
jmp 0x47a8b8
and al, 0x47
cmp al, 0x43
jl 0x47b763
mov al, byte [ebp - 0xe0]
and al, 0xe
cmp al, 2
jne 0x47b747
push 0
mov eax, edx
call fcn.0043e05e
mov edx, dword [ebp - 0xdc]
pop ecx
mov al, byte [esi + 8]
and al, 0xe
cmp al, 2
jne 0x47b805
push 0
mov eax, esi
call fcn.0043e05e
pop ecx
jmp 0x47b7ff
cmp al, 0x42
jne 0x47b805
test byte [ebp - 0xe0], 2
jne 0x47b7be
test byte [ebp - 0xe0], 0xc
je 0x47b7be
mov esi, dword [ebp - 0xdc]
push 1
push dword [ebp - 0x110]
call fcn.0044e1e4
mov ax, word [esi + 8]
xor ax, word [ebp - 0xe8]
mov edx, dword [ebp - 0xdc]
pop ecx
pop ecx
mov ecx, 0x1ff
and ax, cx
xor ax, word [esi + 8]
mov esi, dword [ebp - 0xe4]
movzx eax, ax
mov dword [ebp - 0xe8], eax
movzx eax, word [esi + 8]
test al, 2
jne 0x47b805
test al, 0xc
je 0x47b805
mov esi, dword [ebp - 0xe4]
push 1
push dword [ebp - 0x110]
call fcn.0044e1e4
mov ax, word [esi + 8]
xor ax, word [ebp - 0x104]
pop ecx
pop ecx
mov ecx, 0x1ff
and ax, cx
xor ax, word [esi + 8]
movzx eax, ax
mov dword [ebp - 0x104], eax
mov edx, dword [ebp - 0xdc]
mov edi, 0x4000
mov eax, edi
test word [edx + 8], ax
je 0x47b829
mov eax, edx
call fcn.00445489
and dword [ebp - 0xe8], 0xbfff
mov edx, dword [ebp - 0xdc]
test word [esi + 8], di
je 0x47b846
mov eax, esi
call fcn.00445489
and dword [ebp - 0x104], 0xbfff
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x41], 0
jne 0x47f5e4
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x10]
mov eax, esi
call fcn.0044e5f8
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xdc]
movzx ecx, byte [edi]
sub ecx, 0x4e
je 0x47b8b3
dec ecx
je 0x47b8aa
dec ecx
je 0x47b8a1
dec ecx
je 0x47b898
dec ecx
je 0x47b88f
xor ecx, ecx
test eax, eax
setge cl
jmp 0x47b8ba
xor ecx, ecx
test eax, eax
setl cl
jmp 0x47b8ba
xor ecx, ecx
test eax, eax
setle cl
jmp 0x47b8ba
xor ecx, ecx
test eax, eax
setg cl
jmp 0x47b8ba
xor ecx, ecx
test eax, eax
sete cl
jmp 0x47b8ba
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
mov cx, word [ebp - 0xe8]
mov word [edx + 8], cx
mov cx, word [ebp - 0x104]
mov word [esi + 8], cx
test byte [edi + 3], 0x20
je 0x47bb87
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
mov esi, 0xbe04
mov dx, word [ecx + 8]
and dx, si
or dx, 4
mov word [ecx + 8], dx
jmp 0x47a9e3
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x168], eax
jmp case.default.0x47a81c
test byte [edi + 3], 1
jne 0x47b91c
and dword [ebp - 0x168], 0
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [edi + 4]
mov dword [ebp - 0xf0], ecx
mov ecx, dword [edi + 8]
xor esi, esi
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf4], ecx
test eax, eax
jle 0x47b9d8
mov eax, dword [ebp - 0xd8]
add eax, 0x14
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x168]
test eax, eax
je 0x47b968
mov eax, dword [eax + esi*4]
jmp 0x47b96a
mov eax, esi
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + 0x10]
movzx ecx, byte [esi + ecx]
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp - 0xf4]
lea edx, [eax + ecx]
mov ecx, dword [ebp - 0xf0]
imul edx, edx, 0x28
add edx, dword [ebp - 0xd4]
add eax, ecx
mov ecx, dword [ebp - 0xe0]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov ecx, dword [ecx]
call fcn.0044e5f8
mov dword [ebp - 0x148], eax
test eax, eax
jne 0x47b9c9
add dword [ebp - 0xe0], 4
inc esi
cmp esi, dword [ebp - 0xfc]
jl 0x47b959
jmp 0x47b9d8
cmp dword [ebp - 0x10c], 0
je 0x47b9d8
neg dword [ebp - 0x148]
and dword [ebp - 0x168], 0
jmp case.default.0x47a81c
cmp dword [ebp - 0x148], 0
jge 0x47ba02
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x108]
imul eax, eax, 0x14
lea eax, [eax + ecx - 0x14]
jmp 0x47a9ca
mov ecx, dword [ebp - 0x108]
jne 0x47ba0f
mov eax, dword [edi + 8]
jmp 0x47b9f6
mov eax, dword [edi + 0xc]
jmp 0x47b9f6
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
test byte [ecx + 8], 1
je 0x47ba2b
push 2
pop esi
jmp 0x47ba37
call fcn.0043d468
xor esi, esi
or eax, edx
je 0x47ba37
inc esi
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
test byte [ecx + 8], 1
je 0x47ba4e
push 2
pop eax
jmp 0x47ba5e
call fcn.0043d468
or eax, edx
je 0x47ba5c
xor eax, eax
inc eax
jmp 0x47ba5e
xor eax, eax
imul esi, esi, 3
cmp byte [edi], 0x48
jne 0x47ba70
movzx eax, byte [esi + eax + 0x4b5efc]
jmp 0x47ba78
movzx eax, byte [esi + eax + 0x4b5f40]
mov ecx, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
cmp eax, 2
jne 0x47ba9b
mov ax, word [ecx + 8]
mov edx, 0xbe01
and ax, dx
or ax, 1
jmp 0x47bab1
cdq
mov dword [ecx], eax
mov ax, word [ecx + 8]
mov dword [ecx + 4], edx
mov edx, 0xbe04
and ax, dx
or ax, 4
mov word [ecx + 8], ax
jmp case.default.0x47a81c
mov eax, dword [edi + 4]
mov esi, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
mov dword [ebp - 0xdc], eax
mov eax, esi
call fcn.0043d609
mov ecx, dword [ebp - 0xdc]
test byte [ecx + 8], 1
jne case.default.0x47a81c
push 4
pop eax
mov word [esi + 8], ax
call fcn.0043d468
or eax, edx
jne 0x47bb02
inc eax
jmp 0x47bb04
xor eax, eax
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.default.0x47a81c
mov eax, dword [edi + 4]
mov esi, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
mov dword [ebp - 0xdc], eax
mov eax, esi
call fcn.0043d609
mov ecx, dword [ebp - 0xdc]
test byte [ecx + 8], 1
jne case.default.0x47a81c
push 4
pop eax
mov word [esi + 8], ax
call fcn.0043d468
not eax
not edx
jmp 0x47bb05
mov eax, dword [ebx + 0xc8]
mov ecx, dword [edi + 4]
add eax, ecx
cmp byte [eax], 0
jne 0x47d15f
mov byte [eax], 1
jmp case.default.0x47a81c
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
test byte [ecx + 8], 1
je 0x47bb8e
mov eax, dword [edi + 0xc]
test eax, eax
jmp 0x47a8b8
call fcn.0043d4c2
fcomp qword [0x4c8340]
fnstsw ax
test ah, 0x44
jnp 0x47bba5
xor eax, eax
inc eax
jmp 0x47bba7
xor eax, eax
cmp byte [edi], 0x2e
jne 0x47bb87
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x47bb87
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
imul eax, eax, 0x28
test byte [eax + ecx + 8], 1
jmp 0x47a8b8
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
imul eax, eax, 0x28
test byte [eax + ecx + 8], 1
je 0x47d15f
jmp case.default.0x47a81c
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 8]
imul esi, esi, 0x28
mov ecx, dword [ebx + 0x38]
add esi, dword [ebp - 0xd4]
mov dword [ebp - 0xe0], eax
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x1a], 0
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x104], ecx
mov ecx, dword [eax]
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xec], ecx
je 0x47bc45
mov esi, eax
call fcn.0046a63c
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xdc]
jmp 0x47bc69
test ecx, ecx
je 0x47bc62
cmp byte [ecx + 0x49], 1
je 0x47bc62
mov edi, dword [ebp - 0xdc]
call fcn.0046ef5e
mov edi, dword [ebp - 0xcc]
jmp 0x47bc37
and dword [ebp - 0xc8], 0
cmp dword [ebp - 0xc8], 0
jne 0x47f58a
mov ecx, dword [eax + 0x3c]
cmp ecx, dword [ebx + 0x48]
je 0x47bde2
cmp byte [eax + 0x19], 0
je 0x47bcc3
cmp dword [ebp - 0xec], 0
jne 0x47bcb7
mov ecx, dword [eax + 0x10]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x44], edx
mov dword [eax + 0x40], edx
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x14c], edx
mov dword [eax + 0x4c], ecx
jmp 0x47bd5c
mov eax, esi
call fcn.0043d609
jmp 0x47c0ff
test byte [eax + 0x1c], 4
jne 0x47bd07
mov eax, dword [ebp - 0xec]
lea edi, [ebp - 0x234]
call fcn.0043d120
lea eax, [ebp - 0x14c]
push eax
mov eax, dword [ebp - 0xec]
call fcn.0043d139
mov edi, dword [ebp - 0xcc]
pop ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x4c], eax
mov eax, dword [ebp - 0x234]
mov dword [ecx + 0x40], eax
jmp 0x47bd32
mov esi, dword [ebp - 0xec]
call fcn.0043d0de
mov eax, esi
mov ecx, dword [eax + 0x24]
mov esi, dword [ebp - 0xdc]
mov dword [esi + 0x40], ecx
lea ecx, [ebp - 0x14c]
push ecx
call fcn.0043d139
pop ecx
mov dword [esi + 0x4c], eax
mov ecx, esi
mov eax, dword [ecx + 0x40]
mov edx, dword [ebp - 0x14c]
cmp eax, edx
ja 0x47bd44
mov dword [ecx + 0x44], eax
jmp 0x47bd47
mov dword [ecx + 0x44], edx
mov ecx, dword [ebp - 0xd0]
cmp eax, dword [ecx + 0x58]
ja 0x47b3fe
mov edx, dword [ebp - 0x14c]
mov esi, dword [ebp - 0xdc]
mov eax, dword [ebx + 0x48]
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x3c], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x47bd7f
movzx eax, al
xor ecx, ecx
mov dword [ebp - 0x12c], eax
inc ecx
jmp 0x47bd9f
lea edi, [ebp - 0x12c]
call fcn.0043a2c8
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0x14c]
movzx ecx, al
mov eax, dword [ebp - 0x12c]
movzx ecx, cl
mov dword [esi + 0x48], ecx
xor ecx, ecx
mov word [esi + 0x16], cx
mov ecx, dword [ebp - 0x104]
mov dword [ecx], eax
cmp eax, 0x18003
ja 0x47bdd3
cmp eax, dword [esi + 0x40]
ja 0x47bdd3
cmp edx, eax
jae 0x47bdf2
mov eax, dword [ebp - 0xdc]
and dword [eax + 0x4c], 0
and dword [eax + 0x44], 0
jmp 0x47bdf2
push 0x11e08
call fcn.0044903f
jmp 0x47e051
movzx eax, word [eax + 0x16]
cmp eax, dword [ebp - 0xe0]
jg 0x47c00c
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0x104]
cmp eax, dword [ecx]
jae 0x47bfc1
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x4c]
test eax, eax
jne 0x47be70
push 0xa
pop ecx
lea edi, [ebp - 0x340]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x1c]
shr eax, 2
not eax
and eax, 1
push eax
mov eax, dword [ebp - 0x104]
push dword [ebp - 0xec]
mov edi, dword [eax]
lea esi, [ebp - 0x340]
xor ebx, ebx
call fcn.0046e732
pop ecx
pop ecx
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47cb6f
mov eax, dword [ebp - 0x330]
mov ebx, dword [ebp - 0x100]
mov edi, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xdc]
movzx edx, word [esi + 0x16]
mov ecx, dword [esi + 0x48]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x104]
mov eax, dword [eax + edx*4]
add ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x104]
mov eax, dword [eax]
add eax, dword [ebp - 0x10c]
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xfc], eax
lea eax, [esi + edx*4 + 0x54]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xd8], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x47beda
movzx eax, al
inc ecx
mov dword [ebp - 0x144], eax
mov dword [ebp - 0xe8], ecx
jmp 0x47bf06
mov ecx, dword [ebp - 0xe8]
lea edi, [ebp - 0x144]
call fcn.0043a2c8
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xf0]
movzx eax, al
add dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0xd8]
mov dword [ecx], eax
call fcn.0043da88
add dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], eax
jb 0x47bf5a
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x104]
add dword [ebp - 0xd8], 4
inc edx
cmp edx, dword [ebp - 0xe0]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xf0], edx
jg 0x47bf67
cmp ecx, dword [ebp - 0xfc]
jb 0x47bec2
jmp 0x47bf67
mov ecx, dword [ebp - 0xfc]
inc ecx
mov dword [ebp - 0xe8], ecx
mov eax, ecx
sub eax, dword [ebp - 0x10c]
cmp dword [esi + 0x4c], 0
mov word [esi + 0x16], dx
mov dword [esi + 0x48], eax
jne 0x47bf97
lea eax, [ebp - 0x340]
call fcn.0043d3fd
mov ecx, dword [ebp - 0xe8]
xor eax, eax
inc eax
mov word [ebp - 0x338], ax
cmp ecx, dword [ebp - 0xfc]
jb 0x47bfac
ja 0x47bfb7
mov eax, dword [ebp - 0x12c]
cmp eax, dword [esi + 0x40]
jne 0x47bfb7
mov eax, dword [ebp - 0x12c]
cmp eax, dword [esi + 0x40]
jbe 0x47bfc1
push 0x11e5c
jmp 0x47bdd8
mov eax, dword [ebp - 0xdc]
movzx eax, word [eax + 0x16]
cmp eax, dword [ebp - 0xe0]
jg 0x47c00c
cmp byte [edi + 1], 0xf8
jne 0x47bff6
mov ebx, dword [ebp - 0xe4]
push 0x800
push dword [edi + 0x10]
call fcn.0043d6f8
mov ebx, dword [ebp - 0x100]
pop ecx
pop ecx
jmp 0x47c001
mov eax, dword [ebp - 0xe4]
call fcn.0043d609
mov esi, dword [ebp - 0xe4]
jmp 0x47c0ff
mov eax, dword [ebp - 0xe4]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x47c022
call fcn.0043d609
mov esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x104]
mov ecx, dword [eax + esi*4 + 0x54]
lea edx, [edx + esi*4]
mov esi, dword [eax + 0x44]
mov dword [ebp - 0x144], ecx
cmp esi, dword [edx + 4]
jb 0x47c050
mov ecx, dword [eax + 0x4c]
add ecx, dword [edx]
jmp 0x47c081
mov al, byte [edi + 3]
test al, 0xc0
je 0x47c065
cmp ecx, 0xc
jb 0x47c061
test cl, 1
je 0x47c070
test al, al
js 0x47c070
mov eax, ecx
call fcn.0043da88
test eax, eax
jne 0x47c094
push 0xd
pop eax
cmp eax, ecx
sbb ecx, ecx
not ecx
lea eax, [ebp - 0x234]
and ecx, eax
mov eax, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x144]
call fcn.0043db6a
jmp 0x47c0f0
mov ecx, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0x1c]
mov esi, dword [ebp - 0xe4]
mov ebx, dword [edx]
shr ecx, 2
not ecx
and ecx, 1
push ecx
push dword [ebp - 0xec]
mov edi, eax
call fcn.0046e732
pop ecx
pop ecx
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47cb6f
mov edx, dword [ebp - 0x144]
mov ecx, dword [esi + 0x10]
mov eax, esi
call fcn.0043db6a
mov ebx, dword [ebp - 0x100]
mov edi, dword [ebp - 0xcc]
mov eax, 0xefff
and word [esi + 8], ax
mov al, byte [ebp - 0x110]
mov esi, dword [ebp - 0xe4]
mov byte [esi + 0xa], al
movzx eax, word [esi + 8]
test eax, 0x1000
je case.default.0x47a81c
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xf4], ecx
test ecx, ecx
je case.default.0x47a81c
mov edi, dword [esi + 0xc]
and eax, 0x12
mov dword [ebp - 0xf0], eax
lea eax, [edi + 2]
mov ecx, esi
call fcn.00445466
test eax, eax
jne 0x47f5e4
push edi
push dword [ebp - 0xf4]
push dword [esi + 0x10]
call fcn.0048a010
mov eax, dword [esi + 0x10]
mov byte [edi + eax], 0
mov eax, dword [esi + 0x10]
mov byte [edi + eax + 1], 0
mov eax, dword [ebp - 0xf0]
add esp, 0xc
or eax, 0x200
mov word [esi + 8], ax
jmp 0x47a870
mov esi, dword [edi + 4]
mov eax, dword [edi + 0x10]
imul esi, esi, 0x28
mov cl, byte [eax]
add esi, dword [ebp - 0xd4]
mov byte [ebp - 0x190], cl
test cl, cl
je case.default.0x47a81c
jmp 0x47c199
mov eax, dword [ebp - 0xf0]
push dword [ebp - 0x110]
inc eax
push dword [ebp - 0x190]
mov dword [ebp - 0xf0], eax
mov eax, esi
call fcn.0044ef42
mov eax, dword [ebp - 0xf0]
mov al, byte [eax]
pop ecx
add esi, 0x28
pop ecx
mov byte [ebp - 0x190], al
test al, al
jne 0x47c193
jmp case.default.0x47a81c
mov esi, dword [edi + 4]
mov edx, dword [edi + 8]
imul esi, esi, 0x28
mov eax, dword [edi + 0x10]
imul edx, edx, 0x28
mov edi, dword [edi + 0xc]
add esi, dword [ebp - 0xd4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
xor ecx, ecx
lea edx, [edx + esi - 0x28]
mov dword [ebp - 0x10c], edx
movzx edx, byte [ebx + 0x57]
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xe8], edi
cmp eax, ecx
je 0x47c264
movzx eax, byte [eax]
mov edi, esi
push dword [ebp - 0x110]
push eax
mov eax, edi
call fcn.0044ef42
add edi, 0x28
inc dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe0]
mov al, byte [eax]
pop ecx
pop ecx
test al, al
jne 0x47c23f
mov edi, dword [ebp - 0x10c]
push dword [ebp - 0xf4]
mov ecx, edi
call fcn.0043d9b7
pop ecx
mov dword [ebp - 0xec], eax
mov dword [edi + 0x1c], eax
call fcn.0043da88
mov dword [ebp - 0xd8], eax
mov eax, 0x4000
test word [edi + 8], ax
je 0x47c2c5
mov eax, dword [ebp - 0x164]
or eax, dword [ebp - 0x160]
je 0x47c2ae
mov eax, edi
call fcn.00445489
jmp 0x47c2c5
mov eax, dword [edi]
cdq
add dword [ebp - 0x170], eax
mov eax, dword [edi]
adc dword [ebp - 0x16c], edx
sub dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd8]
cdq
add dword [ebp - 0x164], eax
adc dword [ebp - 0x160], edx
cmp dword [ebp - 0xec], 0x7f
ja 0x47c2e6
xor eax, eax
inc eax
jmp 0x47c2f5
push 0
push dword [ebp - 0xec]
call fcn.0043a32c
pop ecx
pop ecx
add dword [ebp - 0xdc], eax
sub edi, 0x28
cmp edi, esi
jae 0x47c26a
cmp dword [ebp - 0xdc], 0x7e
jle 0x47c33a
mov eax, dword [ebp - 0xdc]
cdq
push edx
push eax
call fcn.0043a32c
mov edi, eax
add dword [ebp - 0xdc], edi
mov eax, dword [ebp - 0xdc]
cdq
push edx
push eax
call fcn.0043a32c
add esp, 0x10
cmp edi, eax
jge 0x47c340
inc dword [ebp - 0xdc]
mov eax, dword [ebp - 0xdc]
cdq
mov dword [ebp - 0x1bc], eax
add eax, dword [ebp - 0x164]
mov ecx, edx
mov edi, eax
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x1b8], ecx
adc ecx, dword [ebp - 0x160]
add edi, dword [ebp - 0x170]
cdq
adc ecx, dword [ebp - 0x16c]
cmp ecx, edx
jg 0x47b3fe
jl 0x47c397
cmp edi, eax
ja 0x47b3fe
mov esi, dword [ebp - 0xf0]
mov edi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x214]
mov ecx, edi
call fcn.00445466
test eax, eax
jne 0x47f5e4
mov ecx, dword [ebp - 0xdc]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xfc], eax
cmp ecx, 0x80
jae 0x47c3d0
mov byte [eax], cl
xor eax, eax
inc eax
jmp 0x47c3f5
push dword [ebp - 0x1b8]
mov esi, dword [ebp - 0xfc]
push dword [ebp - 0x1bc]
call fcn.0043a0dd
mov esi, dword [ebp - 0xf0]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xdc]
movzx eax, al
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xf0], esi
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0xec], eax
cmp eax, 0x80
jae 0x47c42e
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xfc]
mov byte [ecx + edx], al
xor eax, eax
inc eax
jmp 0x47c44c
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xfc]
push 0
push dword [ebp - 0xec]
lea esi, [eax + ecx]
call fcn.0043a0dd
pop ecx
pop ecx
mov ecx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xf0]
movzx eax, al
add dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xfc]
lea edi, [ecx + eax]
mov eax, dword [ebp - 0xec]
mov ecx, esi
call fcn.0043da9b
add dword [ebp - 0xd8], eax
add esi, 0x28
mov dword [ebp - 0xf0], esi
cmp esi, dword [ebp - 0x10c]
jbe 0x47c40a
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0xc], ecx
push 0x10
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x170]
mov edx, ecx
or edx, dword [ebp - 0x16c]
je 0x47c4c3
mov dword [eax], ecx
mov ecx, 0x4010
mov word [eax + 8], cx
mov byte [eax + 0xa], 1
jmp 0x47a870
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
and dword [ebp - 0x198], 0
and dword [ebp - 0x194], 0
lea ecx, [ebp - 0x198]
push ecx
call fcn.0046a549
mov dword [ebp - 0xc8], eax
push ebx
mov eax, edi
call fcn.0043e149
pop ecx
pop ecx
mov ecx, dword [ebp - 0x198]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x194]
jmp 0x47aa01
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xd8], ecx
test eax, eax
jne 0x47c601
mov edx, dword [ebp - 0xd0]
cmp dword [edx + 0x9c], eax
jle 0x47c547
push str.cannot_open_savepoint___SQL_statements_in_progress
push edx
jmp 0x47c68a
call fcn.0043994f
mov dword [ebp - 0xf0], eax
mov eax, dword [edx + 0x1e0]
add eax, dword [edx + 0x1dc]
mov edi, edx
push eax
push 0
call fcn.004402a2
pop ecx
pop ecx
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47f58a
mov eax, dword [ebp - 0xf0]
add eax, 0x21
push 0
push eax
mov esi, edi
call fcn.00441bda
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x47a870
mov ecx, dword [ebp - 0xf0]
inc ecx
push ecx
push dword [ebp - 0xd8]
lea eax, [esi + 0x20]
push eax
mov dword [esi], eax
call fcn.0048a010
add esp, 0xc
cmp byte [edi + 0x3f], 0
je 0x47c5c3
mov byte [edi + 0x3f], 0
mov byte [edi + 0x46], 1
jmp 0x47c5c9
inc dword [edi + 0x1dc]
mov eax, edi
lea ecx, [eax + 0x1d4]
mov edx, dword [ecx]
mov dword [esi + 0x18], edx
mov dword [ecx], esi
mov ecx, dword [eax + 0x1e8]
mov dword [esi + 8], ecx
mov ecx, dword [eax + 0x1ec]
mov dword [esi + 0xc], ecx
mov ecx, dword [eax + 0x1f0]
mov dword [esi + 0x10], ecx
mov eax, dword [eax + 0x1f4]
mov dword [esi + 0x14], eax
jmp 0x47a870
mov esi, dword [ebp - 0xd0]
mov eax, dword [esi + 0x1d4]
and dword [ebp - 0xdc], 0
mov dword [ebp - 0xe4], eax
test eax, eax
je 0x47c654
push dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
push dword [eax]
call fcn.004399b2
pop ecx
test eax, eax
mov eax, dword [ebp - 0xe4]
pop ecx
je 0x47c650
mov eax, dword [eax + 0x18]
inc dword [ebp - 0xdc]
mov dword [ebp - 0xe4], eax
test eax, eax
jne 0x47c61e
test eax, eax
jne 0x47c670
push dword [ebp - 0xd8]
push str.no_such_savepoint:__s
push esi
lea esi, [ebx + 0x2c]
call fcn.0045b1dc
add esp, 0xc
jmp 0x47c94c
xor ecx, ecx
inc ecx
cmp dword [esi + 0x9c], 0
jle 0x47c6a3
cmp dword [ebp - 0x104], ecx
jne 0x47c6a3
push str.cannot_release_savepoint___SQL_statements_in_progress
push esi
lea esi, [ebx + 0x2c]
call fcn.0045b1dc
pop ecx
pop ecx
mov dword [ebp - 0xc8], 5
jmp case.default.0x47a81c
cmp dword [eax + 0x18], 0
jne 0x47c6fe
cmp byte [esi + 0x46], 0
je 0x47c6fe
mov dword [ebp - 0xfc], ecx
cmp dword [ebp - 0x104], ecx
jne 0x47c705
push ecx
mov eax, ebx
call fcn.0045c758
mov edi, eax
pop ecx
test edi, edi
jne 0x47f11b
mov edi, ebx
mov byte [esi + 0x3f], 1
call fcn.00473234
push 5
pop edi
cmp eax, edi
je 0x47f4b4
mov edi, dword [ebp - 0xcc]
mov byte [esi + 0x46], 0
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0xc8], eax
jmp 0x47c83e
and dword [ebp - 0xfc], 0
mov eax, dword [esi + 0x1dc]
sub eax, dword [ebp - 0xdc]
dec eax
cmp dword [ebp - 0x104], 2
mov dword [ebp - 0xdc], eax
jne 0x47c79b
mov eax, dword [esi + 0x18]
and dword [ebp - 0xec], 0
shr eax, 1
and eax, ecx
cmp dword [esi + 0x14], 0
mov dword [ebp - 0xe0], eax
jle 0x47c7a2
xor eax, eax
cmp dword [ebp - 0xe0], eax
sete al
and dword [ebp - 0xd8], 0
mov dword [ebp - 0xf4], eax
push dword [ebp - 0xf4]
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp - 0xd8]
push 0x204
push dword [eax + ecx + 4]
call fcn.0046911d
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47f58a
inc dword [ebp - 0xec]
mov eax, dword [ebp - 0xec]
add dword [ebp - 0xd8], 0x10
cmp eax, dword [esi + 0x14]
jl 0x47c753
jmp 0x47c7a2
and dword [ebp - 0xe0], 0
and dword [ebp - 0xec], 0
cmp dword [esi + 0x14], 0
jle 0x47c7ff
xor esi, esi
push dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x10]
push dword [ebp - 0x104]
mov ebx, dword [eax + esi + 4]
call fcn.0045c5f7
pop ecx
pop ecx
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47f584
inc dword [ebp - 0xec]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xec]
add esi, 0x10
cmp ecx, dword [eax + 0x14]
jl 0x47c7b1
mov ebx, dword [ebp - 0x100]
cmp dword [ebp - 0xe0], 0
mov esi, dword [ebp - 0xd0]
je 0x47c83e
mov eax, esi
call fcn.0043deaf
mov eax, esi
call fcn.00450151
or dword [esi + 0x18], 2
jmp 0x47c83e
mov edx, dword [esi + 0x1d4]
mov eax, dword [edx + 0x18]
mov ecx, esi
mov dword [esi + 0x1d4], eax
call fcn.004397ce
dec dword [esi + 0x1dc]
mov eax, dword [ebp - 0xe4]
cmp dword [esi + 0x1d4], eax
jne 0x47c822
cmp dword [ebp - 0x104], 1
jne 0x47c87c
mov edx, eax
mov eax, dword [edx + 0x18]
mov ecx, esi
mov dword [esi + 0x1d4], eax
call fcn.004397ce
cmp dword [ebp - 0xfc], 0
jne case.default.0x47a81c
dec dword [esi + 0x1dc]
jmp 0x47c8bc
cmp dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 8]
mov dword [esi + 0x1e8], ecx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x1ec], ecx
mov ecx, dword [eax + 0x10]
mov dword [esi + 0x1f0], ecx
mov eax, dword [eax + 0x14]
mov dword [esi + 0x1f4], eax
je 0x47c8bc
cmp dword [ebp - 0x104], 2
jne case.default.0x47a81c
push dword [ebp - 0xdc]
mov edi, esi
push dword [ebp - 0x104]
call fcn.004402a2
pop ecx
pop ecx
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47f58a
jmp 0x47a870
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x47c916
cmp byte [esi + 0x3f], 0
jne 0x47c916
test ecx, ecx
jne 0x47c916
cmp dword [esi + 0x9c], ecx
jle 0x47c916
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x47c689
movzx edx, byte [esi + 0x3f]
cmp eax, edx
jne 0x47f4d5
test eax, eax
jne 0x47c92d
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x47c93b
mov eax, str.cannot_rollback___no_transaction_is_active
test ecx, ecx
jne 0x47c93b
mov eax, str.cannot_commit___no_transaction_is_active
push eax
push dword [ebp - 0xd0]
lea esi, [ebx + 0x2c]
call fcn.0045b1dc
pop ecx
pop ecx
mov dword [ebp - 0xc8], 1
jmp case.default.0x47a81c
mov ecx, dword [edi + 8]
mov esi, dword [ebp - 0xd0]
test ecx, ecx
je 0x47c975
test dword [esi + 0x18], 0x2000000
jne 0x47f54a
mov eax, dword [edi + 4]
mov edx, dword [esi + 0x10]
shl eax, 4
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x47cab3
push ecx
push eax
call fcn.00465052
pop ecx
pop ecx
push 5
pop ecx
mov dword [ebp - 0xc8], eax
cmp eax, ecx
je 0x47f556
test eax, eax
jne 0x47f58a
cmp dword [edi + 8], eax
je 0x47ca6f
test byte [ebx + 0x58], 0x20
je 0x47ca6f
cmp byte [esi + 0x3f], al
je 0x47c9d7
cmp dword [esi + 0x98], 1
jle 0x47ca6f
cmp dword [ebx + 0x68], 0
jne 0x47c9f2
mov ecx, dword [esi + 0x1dc]
lea eax, [esi + 0x1e0]
inc dword [eax]
mov eax, dword [eax]
add ecx, eax
mov dword [ebx + 0x68], ecx
mov eax, dword [ebx + 0x68]
dec eax
push eax
push 0
mov edi, esi
call fcn.004402a2
pop ecx
pop ecx
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47ca3f
mov eax, dword [ebp - 0xe0]
mov edi, dword [ebx + 0x68]
mov esi, dword [eax + 4]
call fcn.00444f69
mov esi, dword [esi]
push edi
call fcn.00444cc1
mov esi, eax
mov eax, dword [ebp - 0xe0]
pop ecx
call fcn.0043ccb1
mov dword [ebp - 0xc8], esi
mov esi, dword [ebp - 0xd0]
mov eax, dword [esi + 0x1e8]
mov dword [ebx + 0x98], eax
mov eax, dword [esi + 0x1ec]
mov dword [ebx + 0x9c], eax
mov eax, dword [esi + 0x1f0]
mov dword [ebx + 0xa0], eax
mov eax, dword [esi + 0x1f4]
mov dword [ebx + 0xa4], eax
mov edi, dword [ebp - 0xe0]
push 1
lea ebx, [ebp - 0x178]
call fcn.0044530c
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 4]
mov ebx, dword [ebp - 0x100]
mov esi, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xcc]
pop ecx
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 0xc]
mov eax, dword [eax + 4]
jmp 0x47cabc
and dword [ebp - 0x178], 0
xor eax, eax
cmp byte [edi + 3], 0
je case.default.0x47a81c
mov ecx, dword [ebp - 0x178]
cmp ecx, dword [edi + 0xc]
jne 0x47cada
cmp eax, dword [edi + 0x10]
je case.default.0x47a81c
mov edx, dword [ebx + 0x2c]
mov ecx, esi
call fcn.004397ce
push str.database_schema_has_changed
push esi
call fcn.00441d39
mov dword [ebx + 0x2c], eax
mov eax, dword [edi + 4]
mov edx, dword [esi + 0x10]
pop ecx
pop ecx
mov ecx, eax
shl ecx, 4
mov ecx, dword [ecx + edx + 0xc]
mov edx, dword [ebp - 0x178]
cmp dword [ecx], edx
je 0x47cb1a
mov esi, dword [ebp - 0xd0]
push eax
call fcn.00450125
pop ecx
or dword [ebx + 0x58], 8
mov dword [ebp - 0xc8], 0x11
jmp case.default.0x47a81c
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 0x10]
push dword [edi + 0xc]
shl eax, 4
mov edi, dword [eax + ecx + 4]
lea ebx, [ebp - 0x1c8]
call fcn.0044530c
push dword [ebp - 0x100]
mov eax, dword [ebp - 0xcc]
call fcn.0043e149
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x1c8]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ebx, dword [ebp - 0x100]
jmp 0x47a870
mov esi, dword [edi + 0xc]
mov ebx, dword [edi + 4]
imul esi, esi, 0x28
mov eax, dword [ebp - 0xd0]
add esi, dword [ebp - 0xd4]
shl ebx, 4
add ebx, dword [eax + 0x10]
mov dword [ebp - 0xf0], ebx
call fcn.0043d55f
push dword [esi]
mov ebx, dword [ebx + 4]
push dword [edi + 8]
call fcn.00457bd5
mov dword [ebp - 0xc8], eax
mov eax, dword [edi + 8]
pop ecx
pop ecx
cmp eax, 1
jne 0x47cbd6
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
mov eax, dword [ebp - 0xd0]
or dword [eax + 0x18], 2
jmp 0x47cbe9
cmp eax, 2
jne 0x47cbe9
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax + 0xc]
mov cl, byte [esi]
mov byte [eax + 0x4c], cl
cmp dword [edi + 4], 1
jne 0x47ac06
mov eax, dword [ebp - 0xd0]
call fcn.0043deaf
mov eax, dword [ebp - 0x100]
and dword [eax + 0x58], 0xfffffff7
mov ebx, eax
jmp case.default.0x47a81c
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + eax*4]
test esi, esi
je case.0x47a81c.54
mov eax, dword [esi + 0x20]
cmp eax, dword [edi + 8]
je 0x47cd67
test byte [ebx + 0x58], 8
je 0x47cc3d
mov dword [ebp - 0xc8], 0x204
jmp case.default.0x47a81c
mov eax, dword [edi + 8]
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xfc], eax
shl eax, 4
add eax, dword [esi + 0x10]
xor ecx, ecx
mov esi, dword [eax + 4]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0x10c], esi
cmp dl, 0x37
jne 0x47cc91
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
mov dword [ebp - 0xe0], 1
cmp al, byte [ebx + 0x57]
jae 0x47cc98
mov byte [ebx + 0x57], al
jmp 0x47cc98
and dword [ebp - 0xe0], 0
test byte [edi + 3], 4
je 0x47ccc9
mov esi, dword [ebp - 0xd8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
call fcn.0043d55f
mov esi, dword [esi]
cmp esi, 2
mov dword [ebp - 0xd8], esi
jl 0x47f571
mov ecx, dword [ebp - 0xf4]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x47cce5
mov eax, dword [edi + 0x10]
movzx ecx, word [eax + 8]
mov dword [ebp - 0xf0], eax
movzx eax, word [eax + 6]
add ecx, eax
jmp 0x47ccec
cmp al, 0xf2
jne 0x47ccec
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 4]
push 1
push dword [ebp - 0xfc]
mov eax, ebx
push ecx
call fcn.004702c3
mov esi, eax
add esp, 0xc
test esi, esi
je 0x47f5e4
mov edi, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xd8]
mov ebx, dword [esi]
or dword [esi + 0x1c], 8
push edi
push dword [ebp - 0xe0]
mov byte [esi + 0x19], 1
push eax
push dword [ebp - 0x10c]
mov dword [esi + 0x20], eax
call fcn.004452db
mov ecx, dword [ebp - 0xcc]
mov ebx, dword [ebp - 0x100]
mov dword [ebp - 0xc8], eax
xor eax, eax
add esp, 0x10
mov dword [esi + 8], edi
cmp byte [ecx + 1], 0xfa
mov edi, ecx
setne al
shl eax, 2
xor eax, dword [esi + 0x1c]
and eax, 4
xor dword [esi + 0x1c], eax
mov al, byte [edi + 3]
mov ecx, dword [esi]
and al, 3
mov byte [ecx + 0x4a], al
jmp case.default.0x47a81c
mov edx, dword [edi + 4]
push 1
push 0xffffffffffffffff
push dword [edi + 8]
mov eax, ebx
call fcn.004702c3
mov esi, eax
add esp, 0xc
test esi, esi
je 0x47f5e4
or dword [esi + 0x1c], 1
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xd0]
mov byte [esi + 0x19], 1
movzx eax, byte [eax + 3]
push 0x41e
or eax, 5
push eax
lea edi, [esi + 4]
push edi
push dword [edx]
xor ecx, ecx
call fcn.004648d5
add esp, 0x10
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47ce7a
push 1
push dword [edi]
call fcn.00465052
pop ecx
pop ecx
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47ce7a
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x47ce58
mov eax, dword [ebp - 0xcc]
movzx eax, byte [eax + 3]
or eax, 2
push eax
lea eax, [ebp - 0x1c4]
push eax
push dword [edi]
call fcn.0046e087
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47ce52
mov eax, dword [ebp - 0xf4]
mov ebx, dword [esi]
push eax
push 1
push dword [ebp - 0x1c4]
mov dword [esi + 8], eax
push dword [edi]
call fcn.004452db
mov ebx, dword [ebp - 0x100]
add esp, 0x10
mov dword [ebp - 0xc8], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x47ce7a
mov ebx, dword [esi]
push 0
push 1
push 1
push dword [edi]
call fcn.004452db
mov ebx, dword [ebp - 0x100]
add esp, 0x10
or dword [esi + 0x1c], 4
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xcc]
xor eax, eax
cmp byte [ecx + 3], 8
setne al
shl eax, 3
xor eax, dword [esi + 0x1c]
and eax, 8
xor dword [esi + 0x1c], eax
jmp 0x47a870
mov edx, dword [edi + 4]
push 1
push 0xffffffffffffffff
push dword [edi + 8]
mov eax, ebx
call fcn.004702c3
add esp, 0xc
test eax, eax
je 0x47f5e4
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x10]
mov dword [eax + 8], edx
push dword [ecx + 0xc]
push dword [ebp - 0xd0]
call fcn.0044b4bd
pop ecx
pop ecx
mov dword [ebp - 0xc8], eax
jmp 0x47a870
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov esi, ecx
add esi, 1
mov dword [ebp - 0x264], edx
adc edx, 0
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], edx
mov eax, ecx
mov ecx, dword [ebp - 0x264]
or eax, ecx
jmp 0x47bbde
mov edx, dword [edi + 4]
push 0
push 0xffffffffffffffff
push dword [edi + 0xc]
mov eax, ebx
call fcn.004702c3
add esp, 0xc
test eax, eax
je 0x47f5e4
mov ecx, dword [ebp - 0xcc]
mov byte [eax + 0x19], 1
mov ecx, dword [ecx + 8]
or dword [eax + 0x1c], 4
mov dword [eax + 0x10], ecx
jmp 0x47a870
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov ecx, dword [ecx + eax*4]
mov eax, ebx
call fcn.004701d1
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
and dword [ecx + eax*4], 0
jmp case.default.0x47a81c
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x38]
mov esi, dword [edx + ecx*4]
test byte [esi + 0x1c], 4
mov dword [ebp - 0xdc], eax
mov byte [esi + 0x19], 0
je 0x47d048
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xe4], eax
mov al, byte [eax + 8]
and al, 0xe
cmp al, 2
jne 0x47cfa9
mov eax, dword [ebp - 0xe4]
push 0
call fcn.0043e05e
pop ecx
mov ecx, dword [ebp - 0xe4]
call fcn.0043d468
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0xe4]
movzx eax, word [eax + 8]
mov dword [ebp - 0x17c], edx
test al, 4
jne 0x47d016
test al, 8
je 0x47d15f
fild qword [ebp - 0x180]
mov ecx, dword [ebp - 0xe4]
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x47cffe
test byte [ebp - 0xdc], 1
fstp st(0)
je 0x47d016
dec dword [ebp - 0xdc]
jmp 0x47d016
fcomp qword [ecx]
fnstsw ax
test ah, 5
jp 0x47d016
test byte [ebp - 0xdc], 1
jne 0x47d016
inc dword [ebp - 0xdc]
mov edi, dword [esi]
lea eax, [ebp - 0x118]
push eax
push 0
push dword [ebp - 0x17c]
push dword [ebp - 0x180]
push 0
call fcn.0046940f
mov ecx, dword [ebp - 0x180]
mov dword [esi + 0x30], ecx
mov ecx, dword [ebp - 0x17c]
mov dword [esi + 0x34], ecx
jmp 0x47d0aa
mov ecx, dword [esi + 8]
and al, 1
neg al
sbb al, al
mov dword [ebp - 0x27c], ecx
mov cx, word [edi + 0x10]
mov edi, dword [edi + 0xc]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
and al, 0xfe
inc al
mov byte [ebp - 0x276], al
mov eax, 0x4000
mov word [ebp - 0x278], cx
mov dword [ebp - 0x274], edi
test word [edi + 8], ax
je 0x47d090
mov eax, edi
call fcn.00445489
mov edi, dword [esi]
lea eax, [ebp - 0x118]
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x27c]
push eax
call fcn.0046940f
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47f58a
xor eax, eax
cmp dword [ebp - 0xdc], 0x40
mov byte [esi + 0x1a], al
mov dword [esi + 0x3c], eax
jl 0x47d101
cmp dword [ebp - 0x118], eax
jl 0x47d0ea
jne 0x47d0df
cmp dword [ebp - 0xdc], 0x41
je 0x47d0ea
mov dword [ebp - 0x118], eax
jmp 0x47a870
and dword [ebp - 0x118], 0
lea eax, [ebp - 0x118]
push eax
push dword [esi]
call fcn.0046d97a
jmp 0x47d13c
cmp dword [ebp - 0x118], eax
jg 0x47d127
jne 0x47d114
cmp dword [ebp - 0xdc], 0x3e
je 0x47d127
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax + 0x49], 1
setne cl
mov dword [ebp - 0x118], ecx
jmp 0x47d14c
and dword [ebp - 0x118], 0
lea eax, [ebp - 0x118]
push eax
push dword [esi]
call fcn.0046dac2
pop ecx
mov dword [ebp - 0xc8], eax
pop ecx
test eax, eax
jne 0x47f58a
cmp dword [ebp - 0x118], 0
je 0x47a870
mov edi, dword [ebp - 0xcc]
mov eax, dword [edi + 8]
jmp 0x47b9f0
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 4]
mov esi, dword [ecx + eax*4]
mov byte [esi + 0x19], 0
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
call fcn.0043d468
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 1
jmp case.default.0x47a81c
mov esi, dword [edi + 0xc]
mov ecx, dword [ebx + 0x38]
imul esi, esi, 0x28
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
add esi, dword [ebp - 0xd4]
xor ecx, ecx
cmp dword [edi + 0x10], ecx
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf0], ecx
jle 0x47d223
mov eax, dword [eax + 8]
mov dword [ebp - 0x260], eax
mov ax, word [edi + 0x10]
xor edx, edx
mov word [ebp - 0x25c], ax
mov dword [ebp - 0x258], esi
mov dword [ebp - 0xd8], ecx
cmp dx, ax
jae 0x47d215
xor esi, esi
mov eax, dword [ebp - 0x258]
add eax, esi
mov ecx, 0x4000
test word [eax + 8], cx
je 0x47d1fd
call fcn.00445489
movzx eax, word [ebp - 0x25c]
inc dword [ebp - 0xd8]
add esi, 0x28
cmp dword [ebp - 0xd8], eax
jl 0x47d1e5
lea ecx, [ebp - 0x260]
mov dword [ebp - 0xe0], ecx
jmp 0x47d292
mov eax, dword [ebp - 0xfc]
mov edi, dword [eax + 8]
push 0xbf
lea ebx, [ebp - 0xf0]
lea edx, [ebp - 0xc4]
call fcn.00445ab1
pop ecx
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x47f5de
mov eax, 0x4000
test word [esi + 8], ax
je 0x47d263
mov eax, esi
call fcn.00445489
push dword [esi + 0x10]
mov eax, dword [ebp - 0xfc]
push dword [esi + 0xc]
mov ebx, dword [ebp - 0xe0]
push dword [eax + 8]
call fcn.0043dca2
mov ebx, dword [ebp - 0x100]
mov edi, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xe0]
add esp, 0xc
xor esi, esi
mov byte [ecx + 6], 0
cmp byte [edi], 0x43
mov dword [ebp - 0xd8], esi
jne 0x47d2cc
xor eax, eax
cmp ax, word [ecx + 4]
jae 0x47d2cc
mov eax, dword [ecx + 8]
add eax, 8
xor edx, edx
inc edx
test byte [eax], dl
jne 0x47d2c6
movzx edx, word [ecx + 4]
inc esi
add eax, 0x28
cmp esi, edx
jl 0x47d2b1
jmp 0x47d2cc
mov dword [ebp - 0xd8], edx
mov esi, dword [ebp - 0xfc]
mov edi, dword [esi]
lea eax, [ebp - 0x1d4]
push eax
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 0xe0]
call fcn.0046940f
mov edx, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xd0]
add esp, 0x14
mov dword [ebp - 0xc8], eax
call fcn.004397ce
xor edi, edi
cmp dword [ebp - 0xc8], edi
jne 0x47a870
mov ecx, dword [ebp - 0x1d4]
xor eax, eax
cmp ecx, edi
mov dword [esi + 0xc], ecx
sete al
mov cl, 1
sub cl, al
mov byte [esi + 0x19], cl
mov ecx, dword [ebp - 0xcc]
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], edi
cmp byte [ecx], 0x45
jne 0x47d343
cmp eax, edi
jmp 0x47d153
cmp dword [ebp - 0xd8], edi
jne 0x47d159
cmp eax, edi
je 0x47d159
jmp 0x47a870
mov eax, dword [edi + 4]
mov edi, dword [edi + 0xc]
mov ecx, dword [ebx + 0x38]
imul edi, edi, 0x28
mov esi, dword [ecx + eax*4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [edi + eax]
mov eax, dword [edi + eax + 4]
mov ecx, dword [esi]
and dword [ebp - 0xd8], 0
lea edi, [ebp - 0xd8]
push edi
push 0
push eax
push edx
push 0
mov edi, ecx
mov dword [ebp - 0x1d0], edx
mov dword [ebp - 0x1cc], eax
call fcn.0046940f
and dword [esi + 0x3c], 0
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x1d0]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x1cc]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0xd8]
add esp, 0x14
mov byte [esi + 0x19], 0
mov byte [esi + 0x1a], 0
mov dword [esi + 0xc], eax
test eax, eax
jmp 0x47d153
push ebx
mov eax, edi
call fcn.0043e149
mov edx, dword [ebx + 0x38]
pop ecx
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ecx + 0x28]
mov dword [eax], edx
mov ecx, dword [ecx + 0x2c]
mov dword [eax + 4], ecx
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov eax, dword [ecx + eax*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp case.default.0x47a81c
xor eax, eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0xe0], eax
push ebx
mov eax, edi
call fcn.0043e149
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 4]
pop ecx
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
mov dword [ebp - 0xec], esi
test eax, eax
je 0x47d607
test byte [esi + 0x1c], 2
jne 0x47d4d6
lea edi, [ebp - 0xe0]
mov esi, eax
call fcn.004693d1
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47f58a
mov esi, dword [ebp - 0xec]
cmp dword [ebp - 0xe0], eax
je 0x47d48c
and dword [ebp - 0x124], eax
mov dword [ebp - 0x128], 1
jmp 0x47d4d0
mov eax, dword [esi]
lea edi, [ebp - 0x128]
call fcn.0043d120
cmp dword [ebp - 0x124], 0x7fffffff
mov dword [ebp - 0xc8], eax
jl 0x47d4bc
jg 0x47d4b6
cmp dword [ebp - 0x128], 0xffffffff
jb 0x47d4bc
or dword [esi + 0x1c], 2
jmp 0x47d4ca
add dword [ebp - 0x128], 1
adc dword [ebp - 0x124], 0
mov esi, dword [ebp - 0xec]
mov edi, dword [ebp - 0xcc]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x47d55c
mov ecx, dword [ebx + 0xb0]
test ecx, ecx
jne 0x47d5e7
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov esi, eax
call fcn.0043d55f
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, 0xffffffff
jne 0x47d511
cmp ecx, 0x7fffffff
je 0x47d5d6
mov edx, dword [ebp - 0xec]
test byte [edx + 0x1c], 2
jne 0x47d5d6
add eax, 1
adc ecx, 0
cmp dword [ebp - 0x124], ecx
jg 0x47d545
jl 0x47d539
cmp dword [ebp - 0x128], eax
jae 0x47d545
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], ecx
mov eax, dword [ebp - 0x128]
mov dword [esi], eax
mov eax, dword [ebp - 0x124]
mov dword [esi + 4], eax
mov esi, dword [ebp - 0xec]
test byte [esi + 0x1c], 2
je 0x47d5ff
and dword [ebp - 0xd8], 0
lea eax, [ebp - 0x128]
push eax
push 8
call fcn.00441fcf
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
push 0
pop edx
and eax, 0x3fffffff
add ecx, 1
lea edi, [ebp - 0xe0]
push edi
mov edi, dword [esi]
push edx
adc eax, edx
push eax
push ecx
push edx
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x124], eax
call fcn.0046940f
add esp, 0x1c
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47d5f9
cmp dword [ebp - 0xe0], eax
jne 0x47d5f9
inc dword [ebp - 0xd8]
cmp dword [ebp - 0xd8], 0x64
jl 0x47d56d
mov dword [ebp - 0xc8], 0xd
jmp 0x47f58a
mov ecx, edx
mov edx, dword [ecx + 4]
test edx, edx
jne 0x47d5e5
imul eax, eax, 0x28
add eax, dword [ecx + 0x10]
jmp 0x47d4f4
mov edi, dword [ebp - 0xcc]
and dword [esi + 0x3c], 0
mov byte [esi + 0x1a], 0
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0xe8]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x124]
jmp 0x47aa01
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
imul ecx, ecx, 0x28
mov esi, dword [ebx + 0x38]
add ecx, dword [ebp - 0xd4]
mov esi, dword [esi + eax*4]
mov eax, dword [edi + 0xc]
cmp dl, 0x4b
jne 0x47d661
mov edx, dword [ebp - 0xd4]
imul eax, eax, 0x28
mov edx, dword [eax + edx]
mov dword [ebp - 0x154], edx
mov edx, dword [ebp - 0xd4]
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0x150], eax
jmp 0x47d66e
cdq
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], edx
test byte [edi + 3], 1
je 0x47d677
inc dword [ebx + 0x5c]
test byte [edi + 3], 2
je 0x47d6a7
mov edx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x13c], edx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x140], eax
mov dword [edx + 0x20], eax
mov eax, dword [ebp - 0x150]
mov dword [edx + 0x24], eax
movzx eax, word [ecx + 8]
test al, 1
je 0x47d6b7
and dword [ecx + 0x10], 0
and dword [ecx + 0xc], 0
mov al, byte [edi + 3]
test al, 0x10
je 0x47d6c9
mov edx, dword [esi + 0xc]
mov dword [ebp - 0xf0], edx
jmp 0x47d6d0
and dword [ebp - 0xf0], 0
movzx edx, word [ecx + 8]
test edx, 0x4000
je 0x47d6e0
mov edx, dword [ecx]
jmp 0x47d6e2
xor edx, edx
movzx eax, al
shr eax, 3
and eax, 1
push eax
mov eax, dword [ebp - 0xf0]
push edx
push dword [ecx + 0xc]
push dword [ecx + 0x10]
mov ecx, dword [esi]
push dword [ebp - 0x150]
push dword [ebp - 0x154]
push 0
call fcn.0046db0d
and dword [esi + 0x3c], 0
add esp, 0x1c
mov dword [ebp - 0xc8], eax
mov byte [esi + 0x1a], 0
test eax, eax
jne case.default.0x47a81c
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je case.default.0x47a81c
mov eax, dword [edi + 0x10]
test eax, eax
je case.default.0x47a81c
push dword [ebp - 0x150]
movsx edx, byte [esi + 0x18]
push dword [ebp - 0x154]
shl edx, 4
push eax
mov eax, dword [ebp - 0xd0]
mov esi, dword [eax + 0x10]
push dword [edx + esi]
mov dl, byte [edi + 3]
and dl, 4
movzx edx, dl
neg edx
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push dword [eax + 0xd0]
call ecx
add esp, 0x18
jmp case.default.0x47a81c
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
call fcn.0046dcc8
and dword [esi + 0x3c], 0
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47d7e6
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 0xd4]
test edx, edx
je 0x47d7e6
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x47d7e6
test byte [esi + 0x1c], 4
je 0x47d7e6
push dword [esi + 0x34]
push dword [esi + 0x30]
push ecx
movsx ecx, byte [esi + 0x18]
mov esi, dword [eax + 0x10]
shl ecx, 4
push dword [ecx + esi]
push 9
push dword [eax + 0xd0]
call edx
add esp, 0x18
test byte [edi + 8], 1
je case.default.0x47a81c
inc dword [ebx + 0x5c]
jmp case.default.0x47a81c
mov ecx, dword [ebx + 0x5c]
mov eax, dword [ebp - 0xd0]
add dword [eax + 0x54], ecx
mov dword [eax + 0x50], ecx
and dword [ebx + 0x5c], 0
jmp case.default.0x47a81c
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
and dword [ebp - 0xe4], 0
lea esi, [ebp - 0xe4]
push esi
push edx
push ecx
call fcn.0044f65e
add esp, 0xc
cmp dword [ebp - 0xe4], 0
mov dword [ebp - 0xc8], eax
jmp 0x47a8b8
mov esi, dword [edi + 8]
mov eax, dword [edi + 4]
imul esi, esi, 0x28
mov ecx, dword [ebx + 0x38]
add esi, dword [ebp - 0xd4]
mov eax, dword [ecx + eax*4]
call fcn.00446377
mov ecx, dword [ebx + 0x38]
mov dword [ebp - 0xc8], eax
mov eax, dword [edi + 0xc]
mov eax, dword [ecx + eax*4]
and dword [eax + 0x3c], 0
jmp case.default.0x47a81c
mov eax, dword [edi + 8]
mov ecx, dword [ebx + 0x38]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 4]
mov ecx, dword [ecx + eax*4]
test byte [ecx + 0x1c], 4
mov eax, dword [ecx]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xd8], eax
jne 0x47d8e2
lea edi, [ebp - 0x24c]
call fcn.0043d120
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x58]
mov ecx, dword [ebp - 0x248]
cdq
cmp ecx, edx
jg 0x47b3fe
mov esi, dword [ebp - 0x24c]
jl 0x47d901
cmp esi, eax
jmp 0x47d8fb
mov esi, eax
call fcn.0043d0de
mov eax, dword [ebp - 0xd8]
mov esi, dword [eax + 0x24]
mov eax, dword [ebp - 0xd0]
cmp esi, dword [eax + 0x58]
ja 0x47b3fe
push 0x20
pop eax
cmp esi, eax
jbe 0x47d90a
mov eax, esi
mov ecx, dword [ebp - 0xe8]
call fcn.00445466
test eax, eax
jne 0x47f5e4
mov edi, dword [ebp - 0xe8]
mov ax, word [edi + 8]
mov ecx, 0xbe10
and ax, cx
or ax, 0x10
mov word [edi + 8], ax
mov eax, dword [ebp - 0xf4]
mov dword [edi + 0xc], esi
test byte [eax + 0x1c], 4
jne 0x47d95c
mov eax, dword [edi + 0x10]
push 0
push eax
mov eax, dword [ebp - 0xd8]
push esi
push 0
call fcn.00465581
jmp 0x47d96d
push dword [edi + 0x10]
push esi
push 0
push dword [ebp - 0xd8]
call fcn.0046d860
mov dword [ebp - 0xc8], eax
add esp, 0x10
mov byte [edi + 0xa], 1
jmp 0x47a870
push ebx
mov eax, edi
call fcn.0043e149
mov edx, dword [ebx + 0x38]
pop ecx
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
cmp byte [esi + 0x19], 0
mov dword [ebp - 0xe8], eax
je 0x47d9a5
xor ecx, ecx
inc ecx
jmp 0x47ab1c
cmp byte [esi + 0x1a], 0
je 0x47d9c2
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0x18c], ecx
mov ecx, dword [esi + 0x34]
mov dword [ebp - 0x188], ecx
jmp 0x47da4d
cmp dword [esi + 0x24], 0
je 0x47d9ed
mov esi, dword [esi + 0x24]
mov edi, dword [esi]
mov eax, dword [edi]
lea ecx, [ebp - 0x18c]
push ecx
push esi
call dword [eax + 0x30]
pop ecx
mov esi, edi
pop ecx
mov edi, ebx
mov dword [ebp - 0xc8], eax
call fcn.00445b01
jmp 0x47da41
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 1
je 0x47da10
mov edi, esi
call fcn.0046ef5e
mov edi, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xe8]
jmp 0x47da17
and dword [ebp - 0xc8], 0
cmp dword [ebp - 0xc8], 0
jne 0x47f58a
cmp byte [esi + 0x19], 0
jne 0x47d99d
mov eax, dword [esi]
lea edi, [ebp - 0x18c]
call fcn.0043d120
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x18c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x188]
jmp 0x47aa01
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov eax, dword [ecx + eax*4]
and dword [eax + 0x3c], 0
mov byte [eax + 0x19], 1
mov eax, dword [eax]
test eax, eax
je case.default.0x47a81c
mov esi, eax
call fcn.0043cd85
jmp case.default.0x47a81c
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov eax, dword [ecx + eax*4]
and dword [ebp - 0xdc], 0
mov dword [ebp - 0xf4], eax
mov eax, dword [eax]
lea edi, [ebp - 0xdc]
mov esi, eax
call fcn.004693d1
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xf4]
and dword [eax + 0x3c], 0
mov byte [eax + 0x19], dl
mov byte [eax + 0x1a], 0
mov esi, dword [ecx + 0xc]
mov dword [eax + 0xc], esi
cmp dword [ecx + 8], 0
mov edi, ecx
jle case.default.0x47a81c
test edx, edx
jmp 0x47a8b8
inc dword [ebx + 0x74]
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + eax*4]
cmp dword [esi + 0x38], 0
mov dword [ebp - 0xfc], 1
je 0x47db19
lea edi, [ebp - 0xfc]
mov eax, esi
call fcn.0044f613
mov edi, dword [ebp - 0xcc]
jmp 0x47db5b
mov eax, dword [esi]
mov dword [ebp - 0xf0], eax
call fcn.00469236
test eax, eax
jne 0x47db53
mov ecx, dword [ebp - 0xf0]
cmp byte [ecx + 0x49], al
jne 0x47db41
mov dword [ebp - 0xfc], 1
jmp 0x47db53
mov eax, dword [ebp - 0xf0]
and dword [ebp - 0xfc], 0
call fcn.00469336
and dword [esi + 0x3c], 0
mov byte [esi + 0x1a], 0
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xfc]
mov byte [esi + 0x19], al
jmp 0x47bb87
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + eax*4]
push dword [ebp - 0xd0]
and dword [ebp - 0x130], 0
lea edi, [ebp - 0x130]
mov eax, esi
call fcn.0044b9c7
mov edi, dword [ebp - 0xcc]
jmp 0x47dbc9
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
cmp dword [ecx + eax*4], 0
je case.default.0x47a81c
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + eax*4]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x130], eax
lea eax, [ebp - 0x130]
push eax
push dword [esi]
call dword [edi + 0x10]
pop ecx
and dword [esi + 0x3c], 0
cmp dword [ebp - 0x130], 0
mov dword [ebp - 0xc8], eax
pop ecx
jne 0x47dbf0
mov byte [esi + 0x19], 0
movzx eax, byte [edi + 3]
lea eax, [ebx + eax*4 + 0x6c]
inc dword [eax]
jmp case.0x47a81c.16
mov byte [esi + 0x19], 1
jmp 0x47f071
mov esi, dword [edi + 8]
mov eax, dword [edi + 4]
imul esi, esi, 0x28
mov ecx, dword [ebx + 0x38]
mov ecx, dword [ecx + eax*4]
add esi, dword [ebp - 0xd4]
test byte [edi + 3], 1
mov eax, dword [ecx]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xf4], eax
je 0x47dc25
inc dword [ebx + 0x5c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x47dc45
mov eax, esi
call fcn.00445489
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], eax
jmp 0x47dc4c
and dword [ebp - 0xc8], 0
cmp dword [ebp - 0xc8], 0
jne case.default.0x47a81c
cmp dword [ecx + 0x38], 0
je 0x47dc70
mov eax, dword [ebp - 0xd8]
push esi
call fcn.0044f3f1
jmp 0x47e051
test byte [edi + 3], 0x10
mov eax, dword [esi + 0xc]
mov esi, dword [esi + 0x10]
je 0x47dc81
mov ecx, dword [ecx + 0xc]
jmp 0x47dc83
xor ecx, ecx
push dword [edi + 0xc]
cdq
push 0
push 0
push 0x4c320a
push edx
push eax
mov eax, ecx
mov ecx, dword [ebp - 0xf4]
push esi
call fcn.0046db0d
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd8]
add esp, 0x1c
jmp 0x47d87b
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + eax*4]
mov ecx, dword [esi + 8]
mov eax, dword [esi]
mov dword [ebp - 0x290], ecx
mov cx, word [edi + 0xc]
mov word [ebp - 0x28c], cx
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
mov edi, eax
mov dword [ebp - 0x288], ecx
lea ecx, [ebp - 0x1c0]
push ecx
xor ecx, ecx
push ecx
push ecx
push ecx
lea ecx, [ebp - 0x290]
push ecx
mov dword [ebp - 0xf4], eax
mov byte [ebp - 0x28a], 0
call fcn.0046940f
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47dd2e
cmp dword [ebp - 0x1c0], eax
jne 0x47dd2e
mov eax, edi
call fcn.0046dcc8
mov dword [ebp - 0xc8], eax
and dword [esi + 0x3c], 0
jmp 0x47a870
push ebx
mov eax, edi
call fcn.0043e149
mov edx, dword [ebx + 0x38]
pop ecx
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [esi]
mov dword [ebp - 0xf4], ecx
xor ecx, ecx
inc ecx
mov word [eax + 8], cx
mov dword [ebp - 0xe8], eax
mov eax, dword [esi]
cmp byte [eax + 0x49], cl
je 0x47dd7a
mov edi, esi
call fcn.0046ef5e
mov edi, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], eax
jmp 0x47dd81
and dword [ebp - 0xc8], 0
cmp dword [ebp - 0xc8], 0
jne 0x47f58a
cmp byte [esi + 0x19], 0
jne case.default.0x47a81c
and dword [ebp - 0x1a8], 0
and dword [ebp - 0x1a4], 0
lea eax, [ebp - 0x1a8]
push eax
push dword [ebp - 0xf4]
push dword [ebp - 0xd0]
call fcn.0046ef94
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47f58a
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0xe8]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1a4]
push 4
mov dword [eax + 4], ecx
pop ecx
jmp 0x47ab1c
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2a4], ecx
mov cx, word [edi + 0x10]
mov word [ebp - 0x2a0], cx
cmp dl, 0x73
sbb cl, cl
mov byte [ebp - 0x29e], cl
mov ecx, dword [edi + 0xc]
and dword [ebp - 0xec], 0
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x29c], ecx
lea ecx, [ebp - 0xec]
push ecx
lea ecx, [ebp - 0x2a4]
push ecx
push dword [ebp - 0xd0]
call fcn.0046f077
add esp, 0xc
test byte [edi], 1
mov dword [ebp - 0xc8], eax
je 0x47de5e
neg dword [ebp - 0xec]
jmp 0x47de64
inc dword [ebp - 0xec]
cmp dword [ebp - 0xec], 0
jg 0x47d15f
jmp case.default.0x47a81c
push ebx
mov eax, edi
call fcn.0043e149
mov esi, eax
xor eax, eax
inc eax
mov word [esi + 8], ax
mov eax, dword [ebp - 0xd0]
pop ecx
mov ecx, dword [eax + 0xa4]
inc ecx
cmp dword [eax + 0x98], ecx
jle 0x47deb0
mov dword [ebp - 0xc8], 6
mov byte [ebx + 0x56], 2
jmp case.default.0x47a81c
mov ecx, dword [edi + 0xc]
mov eax, dword [eax + 0x10]
mov edx, dword [edi + 4]
and dword [ebp - 0x10c], 0
mov dword [ebp - 0xe0], ecx
shl ecx, 4
mov eax, dword [ecx + eax + 4]
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xf0], eax
call fcn.00444f69
lea eax, [ebp - 0x10c]
push eax
push dword [ebp - 0xf4]
push dword [ebp - 0xf0]
call fcn.0046e106
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf0]
add esp, 0xc
call fcn.0043ccb1
mov ecx, dword [ebp - 0xf4]
push 4
pop eax
mov word [esi + 8], ax
mov eax, dword [ebp - 0x10c]
cdq
mov dword [ebp - 0xc8], ecx
mov dword [esi], eax
mov dword [esi + 4], edx
test ecx, ecx
jne case.default.0x47a81c
mov esi, dword [ebp - 0x10c]
test esi, esi
je case.default.0x47a81c
mov eax, dword [edi + 4]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x10]
add eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0x10]
jmp 0x47df7e
mov ecx, dword [edx + 8]
cmp dword [ecx + 0x1c], esi
jne 0x47df7c
mov esi, dword [ebp - 0xf0]
mov dword [ecx + 0x1c], esi
mov esi, dword [ebp - 0x10c]
mov edx, dword [edx]
test edx, edx
jne 0x47df65
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x20]
jmp 0x47df9d
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x28], esi
jne 0x47df9b
mov edx, dword [ebp - 0xf0]
mov dword [ecx + 0x28], edx
mov eax, dword [eax]
test eax, eax
jne 0x47df8a
mov al, byte [ebp - 0xe0]
inc al
mov byte [ebp - 0x112], al
jmp case.default.0x47a81c
and dword [ebp - 0xe8], 0
mov eax, dword [edi + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0xe8]
and eax, ecx
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [edi + 8]
push dword [edi + 4]
shl eax, 4
mov esi, dword [eax + ecx + 4]
call fcn.0046e0b5
cmp dword [edi + 0xc], 0
pop ecx
pop ecx
mov dword [ebp - 0xc8], eax
je case.default.0x47a81c
mov eax, dword [ebp - 0xe8]
add dword [ebx + 0x5c], eax
mov ecx, dword [edi + 0xc]
test ecx, ecx
jle case.default.0x47a81c
mov edx, dword [ebp - 0xd4]
imul ecx, ecx, 0x28
add ecx, edx
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.default.0x47a81c
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov eax, dword [ecx + eax*4]
mov esi, dword [eax + 0x38]
test esi, esi
je 0x47e042
push dword [ebp - 0xd0]
call fcn.00446053
jmp 0x47b26b
mov eax, dword [eax]
mov esi, dword [eax]
push 0
push dword [eax + 0x3c]
call fcn.0046e0b5
pop ecx
pop ecx
mov dword [ebp - 0xc8], eax
jmp case.default.0x47a81c
push ebx
mov eax, edi
call fcn.0043e149
mov ecx, dword [ebp - 0xd0]
and dword [ebp - 0xf4], 0
mov esi, eax
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [ecx + 0x10]
xor ecx, ecx
cmp byte [edi], 0x79
setne cl
inc ecx
push ecx
lea ecx, [ebp - 0xf4]
push ecx
push dword [eax + 4]
call fcn.0046e087
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xf4]
add esp, 0x10
jmp 0x47bb04
mov eax, dword [edi + 4]
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x47e0bc
mov ecx, str.sqlite_master
push dword [edi + 0x10]
mov esi, dword [ebp - 0xd0]
push ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x21c], eax
lea edx, [ebx + 0x2c]
shl eax, 4
mov dword [ebp - 0x224], esi
mov dword [ebp - 0x220], edx
push dword [eax + ecx]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.00439851
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x47e104
mov dword [ebp - 0xc8], 7
jmp 0x47e159
and dword [ebp - 0x218], 0
push 0
lea eax, [ebp - 0x224]
push eax
push fcn.0047a5e2
push edi
push esi
mov byte [esi + 0x91], 1
call fcn.0047fbe5
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47e140
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0xc8], eax
mov edx, edi
mov ecx, esi
call fcn.004397ce
cmp dword [ebp - 0xc8], 0
mov byte [esi + 0x91], 0
je 0x47e160
mov eax, esi
call fcn.00450151
cmp dword [ebp - 0xc8], 7
je 0x47f5e4
jmp 0x47a870
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
call fcn.00446d6b
jmp 0x47e052
mov eax, dword [edi + 0x10]
mov edi, dword [edi + 4]
mov esi, dword [ebp - 0xd0]
shl edi, 4
add edi, dword [esi + 0x10]
push eax
mov eax, dword [edi + 0xc]
add eax, 8
xor edi, edi
call fcn.004424d3
push eax
push esi
call fcn.0044c149
add esp, 0xc
or dword [esi + 0x18], 2
jmp 0x47a870
push dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xd0]
call fcn.00446ee4
jmp 0x47ac05
push dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
call fcn.00447c97
jmp 0x47b26b
mov edi, dword [edi + 8]
mov esi, dword [ebp - 0xd0]
lea eax, [edi*4 + 4]
push 0
push eax
mov dword [ebp - 0xfc], edi
call fcn.00441bda
pop ecx
pop ecx
mov dword [ebp - 0x10c], eax
test eax, eax
je 0x47f5e4
mov eax, dword [ebp - 0xcc]
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xd4]
and dword [ebp - 0xe0], 0
cmp dword [ebp - 0xfc], 0
jle 0x47e276
mov dword [ebp - 0xd8], edi
mov ecx, dword [ebp - 0xd8]
call fcn.0043d468
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x10c]
add dword [ebp - 0xd8], 0x28
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xe0], ecx
jl 0x47e246
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xe0]
and dword [eax + ecx*4], 0
lea ecx, [ebp - 0x184]
push ecx
push dword [esi]
mov ecx, dword [ebp - 0xd0]
push dword [ebp - 0xfc]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [ebp - 0xcc]
movzx eax, byte [eax + 3]
shl eax, 4
mov ecx, dword [eax + ecx + 4]
call fcn.00466b78
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xd0]
add esp, 0x10
mov dword [ebp - 0xf4], eax
call fcn.004397ce
mov eax, dword [ebp - 0x184]
cdq
sub dword [esi], eax
mov eax, edi
sbb dword [esi + 4], edx
call fcn.0043d609
cmp dword [ebp - 0x184], 0
je 0x47e311
cmp dword [ebp - 0xf4], 0
je 0x47f5e4
push 1
push dword [ebp - 0xf4]
mov eax, fcn.0043975f
or ecx, 0xffffffff
mov edx, edi
call fcn.0044e268
pop ecx
pop ecx
movzx eax, byte [ebp - 0x110]
push eax
mov eax, edi
call fcn.0044e1bf
pop ecx
jmp 0x47a870
mov esi, dword [edi + 4]
mov eax, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
test byte [esi + 8], 0x20
mov dword [ebp - 0xe4], eax
jne 0x47e367
mov edi, esi
call fcn.00445532
test byte [esi + 8], 0x20
je 0x47f5e4
mov edi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xe4]
push dword [eax + 4]
push dword [eax]
mov eax, dword [esi]
call fcn.00443fbf
jmp 0x47b26a
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
test byte [esi + 8], 0x20
je 0x47e3cb
mov eax, dword [esi]
lea edi, [ebp - 0x244]
call fcn.0043bafe
test eax, eax
je 0x47e3c5
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 0xc]
push dword [ebp - 0x240]
imul eax, eax, 0x28
push dword [ebp - 0x244]
add eax, dword [ebp - 0xd4]
call fcn.0043d66c
pop ecx
pop ecx
jmp 0x47f071
mov edi, dword [ebp - 0xcc]
mov eax, esi
call fcn.0043d609
jmp case.0x47a81c.16
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
mov dword [ebp - 0xe4], eax
test byte [esi + 8], 0x20
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xd8], eax
jne 0x47e41b
mov edi, esi
call fcn.00445532
test byte [esi + 8], 0x20
je 0x47f5e4
mov edi, dword [ebp - 0xcc]
cmp dword [ebp - 0xd8], 0
je 0x47e361
mov eax, dword [ebp - 0xe4]
push dword [eax + 4]
push dword [eax]
mov eax, dword [esi]
push dword [ebp - 0xd8]
call fcn.00444016
add esp, 0xc
test eax, eax
jne 0x47d15f
cmp dword [ebp - 0xd8], eax
jl case.default.0x47a81c
jmp 0x47e361
mov ecx, dword [edi + 0xc]
mov esi, dword [edi + 0x10]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
cmp byte [edi + 3], 0
mov dword [ebp - 0xf4], ecx
je 0x47e498
mov eax, dword [ebx + 0xb0]
mov edx, dword [esi + 0x14]
test eax, eax
je 0x47e498
cmp dword [eax + 0x1c], edx
je 0x47e490
mov eax, dword [eax + 4]
test eax, eax
jne 0x47e484
test eax, eax
jne case.default.0x47a81c
mov eax, dword [ebx + 0xb8]
mov edx, dword [ebp - 0xd0]
cmp eax, dword [edx + 0x80]
jl 0x47e4c9
push str.too_many_levels_of_trigger_recursion
push edx
lea esi, [ebx + 0x2c]
mov dword [ebp - 0xc8], 1
call fcn.0045b1dc
jmp 0x47b26a
test byte [ecx + 8], 0x40
jne 0x47e5b8
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
add eax, ecx
mov dword [ebp - 0xf0], eax
add eax, 2
mov dword [ebp - 0xd8], eax
imul eax, eax, 0xa
add eax, ecx
mov ecx, dword [esi + 0x10]
lea eax, [ecx + eax*4]
cdq
push edx
push eax
mov eax, dword [ebp - 0xd0]
call fcn.00449537
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x47f5e4
mov eax, dword [ebp - 0xf4]
call fcn.0043d3fd
mov eax, dword [ebp - 0xf4]
mov dword [eax], edi
push 0x40
pop ecx
mov word [eax + 8], cx
mov eax, dword [ebp - 0xf0]
mov dword [edi + 0x3c], eax
mov dword [edi], ebx
mov eax, dword [esi + 0xc]
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0x108]
push 0x14
cdq
pop ecx
idiv ecx
mov dword [edi + 0x2c], eax
mov eax, dword [ebx + 8]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 0x1c]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x38]
mov dword [edi + 0x18], eax
mov eax, dword [ebx + 0x24]
mov dword [edi + 0x28], eax
mov eax, dword [ebx + 4]
mov dword [edi + 8], eax
mov eax, dword [ebx + 0x20]
mov dword [edi + 0x30], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x1c], eax
mov eax, dword [ebx + 0xc8]
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 0xc4]
mov dword [edi + 0x38], eax
mov eax, dword [ebp - 0xd8]
imul eax, eax, 0x28
add eax, edi
mov ecx, eax
lea eax, [edi + 0x50]
jmp 0x47e5b2
mov edx, 0x80
mov word [eax + 8], dx
mov edx, dword [ebp - 0xd0]
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x47e59d
jmp 0x47e5ba
mov edi, dword [ecx]
inc dword [ebx + 0xb8]
mov eax, dword [ebx + 0xb0]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x140]
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0x13c]
mov dword [edi + 0x24], eax
mov eax, dword [ebx + 0x5c]
mov dword [edi + 0x44], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x50]
mov dword [edi + 0x48], eax
and dword [ebx + 0x5c], 0
mov dword [ebx + 0xb0], edi
lea eax, [edi + 0x28]
mov dword [ebx + 8], eax
mov ecx, dword [edi + 0x3c]
mov dword [ebx + 0x1c], ecx
movzx ecx, word [edi + 0x40]
mov dword [ebx + 0x24], ecx
mov ecx, dword [ebx + 0x1c]
inc ecx
imul ecx, ecx, 0x28
add ecx, eax
mov dword [ebx + 0x38], ecx
mov dword [ebp - 0xd4], eax
mov eax, dword [esi]
mov dword [ebx + 4], eax
mov edx, dword [esi + 4]
mov dword [ebx + 0x20], edx
mov edx, dword [ebx + 0x24]
lea ecx, [ecx + edx*4]
mov dword [ebx + 0xc8], ecx
mov esi, dword [esi + 0x10]
push esi
mov dword [ebp - 0x108], eax
add eax, 0xffffffec
push 0
push ecx
mov dword [ebx + 0xc4], esi
mov dword [ebp - 0xcc], eax
call fcn.00489de0
add esp, 0xc
jmp 0x47a870
push ebx
mov eax, edi
call fcn.0043e149
mov ebx, dword [ebx + 0xb0]
mov ecx, dword [ebx + 0x2c]
mov edx, dword [ebx + 8]
imul ecx, ecx, 0x14
mov ecx, dword [ecx + edx + 4]
add ecx, dword [edi + 4]
mov dword [esp], 0x1000
imul ecx, ecx, 0x28
add ecx, dword [ebx + 0x10]
push ecx
jmp 0x47abfd
mov eax, dword [ebp - 0xd0]
test dword [eax + 0x18], 0x1000000
je 0x47e6a0
lea ecx, [eax + 0x1f0]
jmp 0x47e6b2
cmp dword [edi + 4], 0
lea ecx, [eax + 0x1e8]
jne 0x47e6b2
lea ecx, [ebx + 0x90]
mov eax, dword [edi + 8]
jmp 0x47e017
cmp dword [edi + 4], 0
je 0x47e6da
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x1e8]
or ecx, dword [eax + 0x1ec]
jne case.default.0x47a81c
jmp 0x47e6f2
mov eax, dword [ebx + 0x90]
or eax, dword [ebx + 0x94]
jne case.default.0x47a81c
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x1f0]
or ecx, dword [eax + 0x1f4]
jmp 0x47bbde
mov ecx, dword [ebx + 0xb0]
test ecx, ecx
jne 0x47e771
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov esi, eax
mov dword [ebp - 0xdc], eax
call fcn.0043d55f
mov esi, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xd4]
call fcn.0043d55f
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi]
mov esi, dword [esi + 4]
mov eax, dword [eax + 4]
cmp eax, esi
jg case.default.0x47a81c
jl 0x47e75f
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
cmp eax, ecx
jae case.default.0x47a81c
mov eax, dword [ebp - 0xdc]
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp case.default.0x47a81c
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x47e76f
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ecx + 0x10]
jmp 0x47e719
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd4]
imul eax, eax, 0x28
cmp dword [eax + ecx + 4], 0
jg 0x47d15f
jl case.default.0x47a81c
cmp dword [eax + ecx], 0
ja 0x47d15f
jmp case.default.0x47a81c
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
cmp dword [ecx + 4], 0
jl 0x47d15f
jg case.default.0x47a81c
cmp dword [ecx], 0
jb 0x47d15f
jmp case.default.0x47a81c
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xd4]
mov esi, dword [ecx]
mov eax, dword [ecx + 4]
mov edx, esi
or edx, eax
je case.default.0x47a81c
mov eax, dword [edi + 0xc]
cdq
add eax, esi
adc edx, dword [ecx + 4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x47d15f
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
add dword [eax], 0xffffffff
mov ecx, dword [eax]
adc dword [eax + 4], 0xffffffff
or ecx, dword [eax + 4]
jmp 0x47bbde
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov esi, ecx
add esi, 1
mov dword [ebp - 0x2a8], edx
adc edx, 0
mov dword [eax], esi
mov dword [eax + 4], edx
mov eax, ecx
mov ecx, dword [ebp - 0x2a8]
jmp 0x47cf08
mov eax, dword [edi + 8]
movzx edx, byte [edi + 3]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
mov ecx, dword [ebx + 0xc]
xor esi, esi
mov dword [ebp - 0xf4], edx
test edx, edx
jle 0x47e888
mov dword [ecx + esi*4], eax
inc esi
add eax, 0x28
cmp esi, edx
jl 0x47e87d
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x208], eax
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
push 0x14
mov dword [ebp - 0x204], eax
inc dword [eax + 0xc]
xor eax, eax
inc eax
mov word [ebp - 0x2cc], ax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x2b4], eax
lea eax, [ebp - 0x2d4]
mov dword [ebp - 0x20c], eax
mov eax, edi
sub eax, dword [ebp - 0x108]
pop esi
cdq
idiv esi
and dword [ebp - 0x2bc], 0
and dword [ebp - 0x1f8], 0
push ecx
push dword [ebp - 0xf4]
mov dword [ebp - 0x200], ebx
mov byte [ebp - 0x1f4], 0
mov dword [ebp - 0x1fc], eax
lea eax, [ebp - 0x20c]
push eax
mov eax, dword [ebp - 0x208]
call dword [eax + 0x10]
add esp, 0xc
cmp dword [ebp - 0x1f8], 0
je 0x47e949
lea eax, [ebp - 0x2d4]
push eax
call fcn.0044ed1a
push eax
push 0x4b900c
push dword [ebp - 0xd0]
lea esi, [ebx + 0x2c]
call fcn.0045b1dc
mov eax, dword [ebp - 0x1f8]
add esp, 0x10
mov dword [ebp - 0xc8], eax
cmp byte [ebp - 0x1f4], 0
je 0x47e96d
mov eax, dword [edi - 0x10]
test eax, eax
je 0x47e96d
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
push 0
push 1
call fcn.0043d66c
pop ecx
pop ecx
lea eax, [ebp - 0x2d4]
call fcn.0043d3fd
jmp case.default.0x47a81c
mov ebx, dword [edi + 4]
mov edx, dword [edi + 0x10]
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0xd4]
call fcn.0043d312
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x47e9be
push ebx
call fcn.0044ed1a
mov esi, dword [ebp - 0x100]
push eax
push 0x4b900c
push dword [ebp - 0xd0]
add esi, 0x2c
call fcn.0045b1dc
add esp, 0x10
movzx eax, byte [ebp - 0x110]
push eax
mov eax, ebx
call fcn.0044e1bf
pop ecx
mov ecx, ebx
call fcn.0043d6d1
mov ebx, dword [ebp - 0x100]
jmp 0x47b3f6
mov ebx, dword [ebp - 0xd0]
and dword [ebp - 0x1b4], 0
or dword [ebp - 0x1ac], 0xffffffff
or dword [ebp - 0x1b0], 0xffffffff
lea eax, [ebp - 0x1ac]
push eax
lea eax, [ebp - 0x1b0]
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.0045af63
add esp, 0x10
mov dword [ebp - 0xc8], eax
cmp eax, 5
jne 0x47ea33
and dword [ebp - 0xc8], 0
mov dword [ebp - 0x1b4], 1
mov esi, dword [edi + 0xc]
imul esi, esi, 0x28
xor ebx, ebx
add esi, dword [ebp - 0xd4]
mov eax, dword [ebp + ebx*4 - 0x1b4]
cdq
push edx
push eax
mov eax, esi
call fcn.0043d66c
inc ebx
pop ecx
add esi, 0x28
cmp ebx, 3
pop ecx
jl 0x47ea41
jmp 0x47ac06
push ebx
mov eax, edi
call fcn.0043e149
mov edx, dword [ebp - 0xd0]
mov esi, dword [edx + 0x10]
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 4]
shl eax, 4
mov eax, dword [eax + esi + 4]
mov dword [ebp - 0xf4], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
movzx eax, byte [esi + 5]
pop ecx
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xec], eax
cmp ecx, 0xffffffff
jne 0x47eaad
mov dword [ebp - 0xe4], eax
cmp byte [esi + 0x10], 3
jae 0x47eac8
mov ecx, dword [esi + 0x40]
xor eax, eax
cmp dword [ecx], eax
je 0x47ead4
cmp dword [esi + 0x4c], eax
jl 0x47ead4
jg 0x47eac8
cmp dword [esi + 0x48], eax
jbe 0x47ead4
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xe4], eax
cmp byte [esi + 0xf], 0
mov ecx, 0x4c320a
jne 0x47eae5
mov ecx, dword [esi + 0xa8]
cmp dword [ebp - 0xe4], 5
jne 0x47eb0e
call fcn.0043994f
test eax, eax
je 0x47eb02
mov eax, esi
call fcn.0043c3e2
test eax, eax
jne 0x47eb0e
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xec]
cmp dword [ebp - 0xe4], ecx
je 0x47eba8
push 5
pop eax
cmp ecx, eax
je 0x47eb2f
cmp dword [ebp - 0xe4], eax
jne 0x47eba8
cmp byte [edx + 0x3f], 0
je 0x47ebe2
cmp dword [edx + 0x98], 1
jg 0x47ebe2
cmp dword [ebp - 0xec], eax
jne 0x47eb67
mov eax, esi
call fcn.0045c55b
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x47ebb1
mov ecx, dword [ebp - 0xe4]
jmp 0x47eb73
cmp dword [ebp - 0xec], 4
jne 0x47eb7a
push 2
pop ecx
mov edi, esi
call fcn.0045c494
cmp dword [ebp - 0xc8], 0
jne 0x47ebb1
push dword [ebp - 0xf4]
xor ebx, ebx
cmp dword [ebp - 0xe4], 5
sete bl
inc ebx
call fcn.00466e75
mov ebx, dword [ebp - 0x100]
pop ecx
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
je 0x47ebbd
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
mov edi, esi
call fcn.0045c494
mov edx, dword [ebp - 0xe8]
mov ecx, 0xa02
mov word [edx + 8], cx
cmp eax, 6
jne 0x47ec15
xor ecx, ecx
jmp 0x47ec1c
cmp dword [ebp - 0xe4], eax
mov dword [ebp - 0xc8], 1
mov eax, str.into
je 0x47ebfe
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push edx
lea esi, [ebx + 0x2c]
call fcn.0045b1dc
add esp, 0xc
jmp case.default.0x47a81c
mov ecx, dword [eax*4 + 0x4b665c]
mov edx, dword [ebp - 0xe8]
mov dword [edx + 0x10], ecx
call fcn.0043994f
mov dword [edx + 0xc], eax
movzx eax, byte [ebp - 0x110]
push eax
mov byte [edx + 0xa], 1
mov eax, edx
jmp 0x47e31b
push dword [ebp - 0xd0]
lea eax, [ebx + 0x2c]
push eax
call fcn.0047a294
jmp 0x47e050
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 0x10]
shl eax, 4
push dword [eax + ecx + 4]
call fcn.0046d527
pop ecx
mov dword [ebp - 0xc8], eax
cmp eax, 0x65
jne case.default.0x47a81c
and dword [ebp - 0xc8], 0
jmp 0x47d15f
cmp dword [edi + 4], 0
jne 0x47ec9e
mov eax, dword [ebp - 0xd0]
call fcn.0043deaf
jmp case.default.0x47a81c
or dword [ebx + 0x58], 8
jmp case.default.0x47a81c
mov al, byte [edi + 0xc]
test al, al
jne 0x47ecc1
mov ecx, dword [ebp - 0xd0]
test dword [ecx + 0x18], 0x4000
jne case.default.0x47a81c
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xd0]
mov edx, dword [edx + 0x10]
push dword [edi + 8]
shl ecx, 4
mov ecx, dword [ecx + edx + 4]
call fcn.00445348
pop ecx
mov dword [ebp - 0xc8], eax
cmp al, 6
jne case.default.0x47a81c
push dword [edi + 0x10]
push str.database_table_is_locked:__s
push dword [ebp - 0xd0]
jmp 0x47ec05
mov edi, dword [edi + 0x10]
mov eax, dword [ebp - 0xd0]
call fcn.00447e6b
mov dword [ebp - 0xc8], eax
test edi, edi
je 0x47a870
mov esi, dword [edi + 8]
mov edi, ebx
call fcn.00445b01
jmp 0x47a870
mov esi, dword [ebp - 0xcc]
xor eax, eax
push 0xa
pop ecx
lea edi, [ebp - 0x318]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x2f8], eax
mov eax, dword [esi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
lea ebx, [ebp - 0x318]
push eax
call fcn.0044b09a
mov dword [ebp - 0xc8], eax
mov eax, ebx
push eax
call fcn.0044ed1a
pop ecx
pop ecx
test eax, eax
je 0x47ed95
mov ecx, dword [ebp - 0x100]
add ecx, 0x2c
push ecx
mov ecx, dword [ebp - 0xd0]
push eax
mov eax, dword [esi + 4]
call fcn.0044d403
pop ecx
pop ecx
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x318]
call fcn.0043d3fd
jmp 0x47cb6f
mov ecx, dword [ebp - 0xd0]
lea esi, [ecx + 0xa4]
inc dword [esi]
push dword [edi + 0x10]
mov eax, dword [edi + 4]
call fcn.004401c7
dec dword [esi]
pop ecx
mov dword [ebp - 0xc8], eax
jmp case.default.0x47a81c
and dword [ebp - 0x104], 0
mov eax, dword [edi + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x47ee50
mov eax, dword [esi]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x47ee50
lea eax, [ebp - 0x104]
push eax
mov eax, dword [ebp - 0xf4]
push esi
call dword [eax + 0x18]
pop ecx
pop ecx
mov edi, ebx
mov dword [ebp - 0xc8], eax
call fcn.00445b01
cmp dword [ebp - 0xc8], 0
jne 0x47a870
mov eax, dword [ebp - 0x104]
mov dword [eax], esi
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax + 4]
push 0
push 0xffffffffffffffff
push 0
mov eax, ebx
call fcn.004702c3
add esp, 0xc
test eax, eax
je 0x47f5cc
mov ecx, dword [ebp - 0x104]
mov dword [eax + 0x24], ecx
inc dword [esi + 4]
jmp 0x47a870
mov dword [ebp - 0xc8], 6
jmp case.default.0x47a81c
mov eax, dword [edi + 0xc]
mov edx, dword [ebx + 0x38]
imul eax, eax, 0x28
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
add eax, dword [ebp - 0xd4]
and dword [ebp - 0xe0], 0
mov dword [ebp - 0xec], ecx
mov ecx, dword [ecx + 0x24]
mov esi, dword [ecx]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [esi]
mov dword [ebp - 0xf0], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0xd8], ecx
mov ecx, dword [eax]
xor edx, edx
cmp dword [ebp - 0xd8], edx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebx + 0xc]
jle 0x47eed2
add eax, 0x50
jmp 0x47eebd
mov eax, dword [ebp - 0xfc]
mov dword [ecx + edx*4], eax
inc edx
add eax, 0x28
cmp edx, dword [ebp - 0xd8]
mov dword [ebp - 0xfc], eax
jl 0x47eeb7
mov eax, dword [ebp - 0xf0]
push ecx
push dword [ebp - 0xd8]
push dword [edi + 0x10]
push dword [ebp - 0x10c]
push dword [ebp - 0xf4]
call dword [eax + 0x20]
add esp, 0x14
mov edi, ebx
mov dword [ebp - 0xc8], eax
call fcn.00445b01
cmp dword [ebp - 0xc8], 0
jne 0x47ef20
push dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf0]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xec]
cmp dword [ebp - 0xe0], 0
mov byte [eax + 0x19], 0
jmp 0x47d153
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov edx, dword [ecx + eax*4]
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
cmp byte [edx + 0x19], 0
mov dword [ebp - 0xd8], eax
jne 0x47ae02
mov eax, dword [edx + 0x24]
mov esi, dword [eax]
mov eax, dword [esi]
mov dword [ebp - 0xf4], eax
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0x2f0]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x2f0], eax
mov cx, word [eax + 8]
mov edi, 0xbe01
and cx, di
or cx, 1
mov word [eax + 8], cx
mov eax, dword [ebp - 0xcc]
push dword [eax + 8]
lea eax, [ebp - 0x2f0]
push eax
push dword [edx + 0x24]
mov eax, dword [ebp - 0xf4]
call dword [eax + 0x2c]
add esp, 0xc
mov edi, ebx
mov dword [ebp - 0xc8], eax
call fcn.00445b01
mov eax, dword [ebp - 0x2dc]
test eax, eax
je 0x47efd1
mov dword [ebp - 0xc8], eax
movzx eax, byte [ebp - 0x110]
push eax
mov eax, dword [ebp - 0xd8]
call fcn.0044e1bf
pop ecx
mov ecx, dword [ebp - 0xd8]
call fcn.0043d6d1
test eax, eax
jne 0x47b3fe
jmp 0x47a870
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x19], 0
mov dword [ebp - 0xf4], eax
jne case.default.0x47a81c
mov eax, dword [eax + 0x24]
mov esi, dword [eax]
mov ecx, dword [esi]
push eax
mov dword [ebp - 0xf0], ecx
call dword [ecx + 0x24]
pop ecx
mov edi, ebx
mov dword [ebp - 0xc8], eax
call fcn.00445b01
cmp dword [ebp - 0xc8], 0
jne 0x47f055
mov eax, dword [ebp - 0xf4]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xf0]
call dword [eax + 0x28]
pop ecx
test eax, eax
jne 0x47f071
mov edi, dword [ebp - 0xcc]
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x108]
imul eax, eax, 0x14
lea eax, [eax + ecx - 0x14]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0xf0]
test eax, eax
je 0x47a870
mov edi, dword [ebp - 0xd0]
push 9
pop ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebx + 0x50], ecx
call fcn.00441267
push eax
push 0x4b900c
push edi
lea esi, [ebx + 0x2c]
call fcn.0045b1dc
add esp, 0xc
push dword [ebx + 0x2c]
mov eax, dword [ebp - 0xcc]
push dword [ebx + 0xa8]
sub eax, dword [ebp - 0x108]
push 0x14
pop ecx
cdq
idiv ecx
mov esi, dword [ebp - 0xc8]
mov dword [ebx + 0x50], esi
push eax
push str.statement_aborts_at__d:___s___s
push esi
call fcn.00441fb0
add esp, 0x14
mov edi, ebx
call fcn.00473234
cmp esi, 0xc0a
jne 0x47f0fa
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x41], 1
xor edi, edi
inc edi
cmp byte [ebp - 0x112], 0
jbe 0x47f11b
movzx eax, byte [ebp - 0x112]
mov esi, dword [ebp - 0xd0]
dec eax
push eax
call fcn.00450125
pop ecx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x140]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x13c]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x174]
add dword [ebx + 0x7c], eax
mov esi, ebx
call fcn.0043d833
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004876e8
leave
ret
mov esi, dword [edi + 4]
mov eax, dword [edi + 0x10]
imul esi, esi, 0x28
mov eax, dword [eax + 8]
add esi, dword [ebp - 0xd4]
mov dword [ebp - 0xf4], eax
push 1
mov eax, esi
call fcn.0044e1bf
pop ecx
mov dword [ebp - 0xc8], eax
test eax, eax
jne case.default.0x47a81c
push dword [esi + 0x10]
mov edi, dword [ebp - 0xf4]
mov eax, dword [edi]
push edi
call dword [eax + 0x4c]
pop ecx
mov esi, edi
pop ecx
mov edi, ebx
mov dword [ebp - 0xc8], eax
call fcn.00445b01
and dword [ebx + 0x58], 0xfffffff7
jmp 0x47a870
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x47ee50
mov esi, dword [eax]
test esi, esi
je 0x47ee50
cmp dword [esi + 0x34], 0
mov eax, dword [edi + 8]
mov dword [ebp - 0xd8], eax
je case.default.0x47a81c
mov eax, dword [ebp - 0xd0]
mov al, byte [eax + 0x45]
and dword [ebp - 0xe0], 0
mov ecx, dword [ebx + 0xc]
mov byte [ebp - 0x111], al
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xd4]
cmp dword [ebp - 0xd8], 0
jle 0x47f22c
mov edx, dword [ebp - 0xe0]
mov dword [ecx + edx*4], eax
add eax, 0x28
inc dword [ebp - 0xe0]
mov edx, dword [ebp - 0xe0]
cmp edx, dword [ebp - 0xd8]
jl 0x47f20c
mov al, byte [edi + 3]
mov edi, dword [ebp - 0xd0]
mov byte [edi + 0x45], al
lea eax, [ebp - 0x22c]
push eax
push ecx
push dword [ebp - 0xd8]
push dword [ebp - 0xf4]
call dword [esi + 0x34]
mov esi, dword [ebp - 0xf4]
mov dword [ebp - 0xc8], eax
mov al, byte [ebp - 0x111]
mov byte [edi + 0x45], al
add esp, 0x10
mov edi, ebx
call fcn.00445b01
cmp dword [ebp - 0xc8], 0
mov esi, dword [ebp - 0xcc]
jne 0x47f2a7
cmp dword [esi + 4], 0
je 0x47f2a7
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x228]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], ecx
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], ecx
cmp byte [ebp - 0xc8], 0x13
jne 0x47f2e0
mov eax, dword [esi + 0x10]
cmp byte [eax + 0x10], 0
je 0x47f2e0
mov al, byte [esi + 3]
cmp al, 4
jne 0x47f2cc
and dword [ebp - 0xc8], 0
jmp 0x47a870
cmp al, 5
jne 0x47f2d5
push 2
pop eax
jmp 0x47f2d8
movzx eax, al
mov byte [ebx + 0x56], al
jmp 0x47a870
inc dword [ebx + 0x5c]
jmp 0x47a870
push ebx
mov eax, edi
call fcn.0043e149
mov edx, dword [ebp - 0xd0]
mov edx, dword [edx + 0x10]
pop ecx
mov ecx, dword [edi + 4]
shl ecx, 4
mov ecx, dword [ecx + edx + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x2c]
and dword [eax + 4], 0
mov dword [eax], ecx
jmp case.default.0x47a81c
push ebx
mov eax, edi
call fcn.0043e149
and dword [ebp - 0xe0], 0
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 4]
pop ecx
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 0x10]
shl eax, 4
mov esi, dword [eax + ecx + 4]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x47f35b
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0x2c]
mov dword [ebp - 0xe0], ecx
cmp ecx, eax
jae 0x47f35b
mov dword [ebp - 0xe0], eax
mov eax, esi
call fcn.00444f69
cmp dword [ebp - 0xe0], 0
mov eax, dword [esi + 4]
mov eax, dword [eax]
jle 0x47f37c
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 0x9c], ecx
mov eax, dword [eax + 0x9c]
mov dword [ebp - 0xf4], eax
mov eax, esi
call fcn.0043ccb1
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe8]
jmp 0x47a9e3
mov esi, dword [ebp - 0xd0]
cmp dword [esi + 0xb0], 0
je 0x47f3f2
test dword [ebx + 0x58], 0x200
jne 0x47f3f2
mov edx, dword [edi + 0x10]
test edx, edx
jne 0x47f3c9
mov edx, dword [ebx + 0xa8]
test edx, edx
je 0x47f3f2
mov ecx, ebx
call fcn.00455c44
push eax
push dword [esi + 0xb4]
mov dword [ebp - 0xf4], eax
call dword [esi + 0xb0]
mov edx, dword [ebp - 0xf4]
pop ecx
pop ecx
mov ecx, esi
call fcn.004397ce
cmp dword [edi + 8], 0
je case.default.0x47a81c
jmp 0x47d15f
mov ecx, dword [edi + 4]
mov dword [ebx + 0x50], ecx
cmp dword [ebx + 0x50], 0
mov cl, byte [edi + 8]
mov byte [ebx + 0x56], cl
mov dword [ebx + 0x4c], eax
je 0x47f494
mov al, byte [edi + 3]
test al, al
je 0x47f429
movzx eax, al
mov ecx, dword [eax*4 + 0x4b5f2c]
jmp 0x47f42b
xor ecx, ecx
test ecx, ecx
je 0x47f450
mov eax, dword [edi + 0x10]
test eax, eax
je 0x47f450
push eax
push ecx
push str._s_constraint_failed:__s
push dword [ebp - 0xd0]
lea esi, [ebx + 0x2c]
call fcn.0045b1dc
add esp, 0x10
jmp 0x47f476
mov eax, dword [edi + 0x10]
lea esi, [ebx + 0x2c]
test eax, eax
je 0x47f462
push eax
push 0x4b900c
jmp 0x47f468
push ecx
push str._s_constraint_failed
push dword [ebp - 0xd0]
call fcn.0045b1dc
add esp, 0xc
push dword [esi]
push dword [ebx + 0xa8]
push dword [ebp - 0xf4]
push str.abort_at__d_in___s_:__s
push dword [edi + 4]
call fcn.00441fb0
add esp, 0x14
mov edi, ebx
call fcn.00473234
push 5
pop edi
cmp eax, edi
je 0x47f4cd
mov edi, dword [ebx + 0x50]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x47f11b
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0x108]
push 0x14
cdq
pop ecx
idiv ecx
mov dword [ebx + 0x4c], eax
mov byte [esi + 0x3f], 0
mov dword [ebx + 0x50], edi
jmp 0x47f11b
test ecx, ecx
je 0x47f4f7
push 0x204
mov eax, esi
call fcn.00470045
pop ecx
mov byte [esi + 0x3f], 1
mov esi, dword [ebp - 0xd0]
call fcn.004411d3
jmp 0x47f4a2
push 1
mov eax, ebx
call fcn.0045c758
mov edi, eax
pop ecx
test edi, edi
jne 0x47f11b
mov al, byte [ebp - 0xf4]
mov esi, dword [ebp - 0xd0]
mov edi, ebx
mov byte [esi + 0x3f], al
call fcn.00473234
push 5
pop edi
cmp eax, edi
jne 0x47f4ea
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0x108]
push 0x14
cdq
pop ecx
idiv ecx
mov dword [ebx + 0x4c], eax
mov al, 1
sub al, byte [ebp - 0xf4]
mov byte [esi + 0x3f], al
jmp 0x47f4cd
mov dword [ebp - 0xc8], 8
jmp 0x47f58a
mov eax, edi
sub eax, dword [ebp - 0x108]
push 0x14
cdq
pop esi
idiv esi
mov edi, ecx
mov dword [ebx + 0x50], ecx
mov dword [ebx + 0x4c], eax
jmp 0x47f11b
push 0x121b5
call fcn.0044903f
pop ecx
mov dword [ebp - 0xc8], eax
jmp 0x47f58a
mov ebx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x41], 0
je 0x47f5a0
mov dword [ebp - 0xc8], 7
cmp dword [ebp - 0xc8], 0xc0a
je 0x47f0ae
mov ecx, dword [ebp - 0xc8]
call fcn.00441267
push eax
push 0x4b900c
push dword [ebp - 0xd0]
jmp 0x47f0a3
push dword [ebp - 0x104]
mov eax, dword [ebp - 0xf4]
call dword [eax + 0x1c]
pop ecx
jmp 0x47f5e4
mov ebx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xd0]
push 0x4b4bac
push eax
lea esi, [ebx + 0x2c]
mov byte [eax + 0x41], 1
call fcn.0045b1dc
pop ecx
pop ecx
mov dword [ebp - 0xc8], 7
jmp 0x47f0ae