Function at 0x47c7e4
Capabilities:
Enumerate pe sections
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x5b38f0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x100], edi
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], ebx
mov esi, dword [edi]
mov eax, dword [edi + 4]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0xf4], esi
mov eax, dword [esi + 0x10]
mov byte [ebp - 0x101], bl
mov dword [ebp - 0x11c], ebx
mov dword [ebp - 0xe0], ebx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x118], ebx
mov al, byte [eax + 0x4d]
mov byte [ebp - 0xfc], al
mov eax, dword [edi + 8]
mov dword [ebp - 0xdc], eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x10c], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x108], eax
call fcn.00479569
push 7
pop eax
cmp dword [edi + 0x58], eax
je 0x481f62
mov dword [edi + 0x58], ebx
mov dword [edi + 0x14], ebx
mov dword [esi + 0x1b4], ebx
cmp dword [esi + 0xe0], ebx
jne 0x481f4c
mov eax, dword [edi + 0x54]
xor ecx, ecx
cmp dword [esi + 0x114], ebx
mov dword [ebp - 0xd8], eax
setne cl
mov dword [ebp - 0x120], ecx
cmp byte [esi + 0x36], 0
push 2
pop edx
jne 0x481f62
imul ebx, eax, 0x14
add ebx, dword [ebp - 0x114]
test ecx, ecx
je 0x47c8f3
mov eax, dword [ebp - 0x11c]
cmp dword [esi + 0x11c], eax
jne 0x47c8ec
push dword [esi + 0x118]
call dword [esi + 0x114]
pop ecx
test eax, eax
jne 0x481d45
push 2
pop edx
inc eax
mov dword [ebp - 0x11c], eax
test byte [ebx + 2], dl
je 0x47c929
imul edx, dword [ebx + 8], 0x28
mov eax, 0x2460
add edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], edx
test word [edx + 0x1c], ax
je 0x47c920
mov ecx, edx
call fcn.00477f3f
mov edx, dword [ebp - 0xe0]
push 4
pop ecx
mov word [edx + 0x1c], cx
jmp 0x47c932
mov edx, dword [ebp - 0xe0]
push 4
pop ecx
movzx eax, byte [ebx]
dec eax
cmp eax, 0x93
ja case.default.0x47c941
jmp dword [eax*4 + 0x481fe0]
cmp dword [esi + 0xe0], 0
jne 0x481f4c
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x47c941
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [ebp - 0xdc]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd8]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x47c955
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xdc]
mov eax, dword [eax + ecx + 0x10]
jmp 0x47c959
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [ebp - 0xdc]
mov word [ecx + 0x1c], ax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd8]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [ebp - 0xd0]
jmp 0x47c959
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0xdc]
test byte [eax + ecx + 0x1c], 1
je case.default.0x47c941
cmp dword [ebx + 4], 0
jne 0x481d4c
mov ecx, dword [edi + 0xa8]
test ecx, ecx
je 0x481d4c
mov eax, dword [ecx + 4]
dec dword [edi + 0xb0]
mov dword [edi + 0xa8], eax
mov eax, dword [edi + 0x68]
add dword [esi + 0x48], eax
mov dword [esi + 0x44], eax
call fcn.00479d5d
mov ecx, dword [esi + 0x20]
mov dword [ebp - 0x10c], ecx
mov ecx, dword [esi + 0x24]
push 4
mov dword [ebp - 0x108], ecx
pop ecx
mov dword [ebp - 0xd8], eax
cmp dword [ebx + 8], ecx
jne 0x47ca3e
imul ecx, eax, 0x14
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x114], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0xdc], eax
jmp case.default.0x47c941
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe0]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x47c941
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [edx + 0x14], eax
jmp case.default.0x47c941
push 8
pop eax
mov word [edx + 0x1c], ax
mov eax, dword [ebx + 0x10]
movsd xmm0, qword [eax]
movsd qword [edx + 8], xmm0
jmp case.default.0x47c941
mov ecx, dword [ebx + 0x10]
mov byte [ebx], 9
call fcn.00466946
mov dword [ebx + 4], eax
xor eax, eax
inc eax
cmp byte [ebp - 0xfc], al
je 0x47cb37
push 0
push eax
mov edx, ecx
mov ecx, dword [ebp - 0xe0]
push 0xffffffffffffffff
call fcn.004783f4
add esp, 0xc
mov dword [ebp - 0xd4], eax
cmp eax, 0x12
je 0x481f36
movzx edx, byte [ebp - 0xfc]
mov ecx, dword [ebp - 0xe0]
call fcn.00477c9a
test eax, eax
jne 0x481f62
mov ecx, dword [ebp - 0xe0]
mov edx, 0xfbff
and dword [ecx + 0x24], eax
mov ax, word [ecx + 0x1c]
and ax, dx
mov edx, 0x800
or ax, dx
mov word [ecx + 0x1c], ax
cmp byte [ebx + 1], 0xff
jne 0x47cb27
mov edx, dword [ebx + 0x10]
mov ecx, esi
call fcn.00464d37
mov ecx, dword [ebp - 0xe0]
mov byte [ebx + 1], 0xff
mov eax, dword [ecx + 4]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x4c]
jg 0x481f36
mov ecx, dword [ebp - 0xe0]
mov eax, 0xa02
mov word [ecx + 0x1c], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0x18], eax
mov al, byte [ebp - 0xfc]
mov byte [ecx + 0x1f], al
jmp case.default.0x47c941
mov eax, dword [ebx + 0xc]
xor edx, edx
sub eax, dword [ebx + 8]
inc edx
mov ebx, dword [ebp - 0xe0]
mov dword [ebp - 0xd0], eax
mov word [ebx + 0x1c], dx
cmp dword [ebp - 0xd0], 0
jle case.default.0x47c941
push 0x28
pop edi
mov esi, 0x2460
add ebx, edi
test word [ebx + 0x1c], si
je 0x47cbac
mov ecx, ebx
call fcn.00477f3f
xor edx, edx
inc edx
mov word [ebx + 0x1c], dx
mov eax, dword [ebp - 0xd0]
dec eax
mov dword [ebp - 0xd0], eax
test eax, eax
jg 0x47cb9a
mov edi, dword [ebp - 0x100]
mov dword [ebp - 0xe0], ebx
mov esi, dword [ebp - 0xf4]
jmp case.default.0x47c941
mov edx, dword [ebx + 0x10]
xor eax, eax
push eax
push eax
push dword [ebx + 4]
mov ebx, dword [ebp - 0xe0]
mov ecx, ebx
call fcn.004783f4
mov al, byte [ebp - 0xfc]
add esp, 0xc
mov byte [ebx + 0x1f], al
jmp case.default.0x47c941
imul ecx, dword [ebx + 4], 0x28
mov ebx, dword [edi + 0x44]
add ecx, 0xffffffd8
add ebx, ecx
mov ecx, ebx
mov dword [ebp - 0xd0], ebx
call fcn.004782e1
test eax, eax
jne 0x481f36
mov ecx, dword [ebp - 0xe0]
mov eax, 0x800
push eax
mov edx, ebx
call fcn.00478304
pop ecx
jmp case.default.0x47c941
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebx + 4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xc4], ecx
imul ebx, eax, 0x28
imul ecx, ecx, 0x28
add ebx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], ecx
test edx, edx
je 0x47ccbc
push 0x28
mov esi, ecx
pop edi
dec edx
mov ecx, esi
mov dword [ebp - 0xcc], edx
mov edx, ebx
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xd0], eax
and dword [esi + 0x24], 0
call fcn.004783ce
mov eax, dword [ebp - 0xd0]
add esi, edi
mov dword [ebx + 0x24], eax
add ebx, edi
mov edx, dword [ebp - 0xcc]
test edx, edx
jne 0x47cc76
mov edi, dword [ebp - 0x100]
mov dword [ebp - 0xe0], esi
mov esi, dword [ebp - 0xf4]
dec edx
mov dword [ebp - 0xcc], edx
jmp case.default.0x47c941
imul eax, dword [ebx + 8], 0x28
imul edx, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xdc]
add edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
mov eax, 0x1000
mov ebx, dword [ebp - 0xe0]
mov ecx, ebx
push eax
call fcn.00478304
mov eax, 0x1000
pop ecx
test word [ebx + 0x1c], ax
je case.default.0x47c941
mov ecx, ebx
call fcn.00477d73
test eax, eax
jne 0x481f62
jmp case.default.0x47c941
imul eax, dword [ebx + 8], 0x28
mov edx, 0x1000
push edx
imul edx, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
mov ecx, eax
add edx, dword [ebp - 0xdc]
jmp 0x47cc2f
xor edx, edx
mov ecx, edi
call fcn.0047a44c
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x481d23
xor edx, edx
mov ecx, edi
inc edx
call fcn.0047a34f
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x481d23
mov eax, dword [edi + 0x50]
push 2
pop ecx
add eax, ecx
xor ecx, ecx
or eax, 1
mov dword [edi + 0x50], eax
imul edx, dword [ebx + 4], 0x28
mov dword [ebp - 0xcc], ecx
add edx, dword [ebp - 0xdc]
mov dword [edi + 0x14], edx
mov dword [ebp - 0xd0], edx
cmp dword [ebx + 8], ecx
jle 0x481de0
imul eax, ecx, 0x28
mov esi, 0x1000
add eax, edx
test word [eax + 0x1c], si
mov esi, dword [ebp - 0xf4]
je 0x47cdd2
mov ecx, eax
call fcn.00477d73
test eax, eax
jne 0x481f62
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xd0]
imul ecx, ecx, 0x28
add ecx, edx
call fcn.00477e22
imul ecx, dword [ebp - 0xcc], 0x28
add ecx, dword [ebp - 0xd0]
call fcn.0047c5d8
mov ecx, dword [ebp - 0xcc]
inc ecx
mov dword [ebp - 0xcc], ecx
cmp ecx, dword [ebx + 8]
jge 0x481de0
mov edx, dword [ebp - 0xd0]
jmp 0x47cda1
imul edx, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
imul eax, dword [ebx + 0xc], 0x28
add edx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0xdc]
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
movzx ebx, word [edx + 0x1c]
mov al, byte [ecx + 0x1c]
or al, bl
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xe4], ecx
test al, 1
je 0x47ce59
mov ecx, dword [ebp - 0xe0]
call fcn.004781ca
jmp case.default.0x47c941
mov eax, 0x4000
test eax, ebx
je 0x47ce73
mov ecx, edx
call fcn.00477dcf
mov ecx, dword [ebp - 0xe4]
xor ebx, ebx
jmp 0x47ce77
xor ebx, ebx
mov eax, ebx
test eax, eax
jne 0x481f62
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x47ce91
call fcn.00477dcf
jmp 0x47ce93
mov eax, ebx
test eax, eax
jne 0x481f62
mov eax, dword [ebp - 0xe8]
test byte [eax + 0x1c], 0x12
jne 0x47cebd
movzx edx, byte [ebp - 0xfc]
mov ecx, eax
call fcn.00477e6c
test eax, eax
jne 0x481f62
mov eax, dword [ebp - 0xe4]
test byte [eax + 0x1c], 0x12
jne 0x47cedf
movzx edx, byte [ebp - 0xfc]
mov ecx, eax
call fcn.00477e6c
test eax, eax
jne 0x481f62
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [eax + 0x18]
add eax, dword [ecx + 0x18]
cdq
mov ecx, edx
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
mov eax, dword [esi + 0x4c]
cdq
cmp ecx, edx
jg 0x481f36
jl 0x47cf1a
cmp dword [ebp - 0xd0], eax
ja 0x481f36
mov ecx, dword [ebp - 0xe0]
mov edx, 0xbf02
push 2
mov ax, word [ecx + 0x1c]
and ax, dx
pop edx
or ax, dx
mov word [ecx + 0x1c], ax
xor eax, eax
cmp ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xd0]
sete al
push eax
lea edx, [edx + 2]
call fcn.00477cb4
pop ecx
test eax, eax
jne 0x481f62
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe0]
cmp ecx, eax
je 0x47cf80
push dword [eax + 0x18]
push dword [eax + 4]
push dword [ecx + 4]
call fcn.00527280
mov eax, dword [ebp - 0xe4]
add esp, 0xc
mov ecx, dword [ebp - 0xe8]
mov eax, dword [eax + 0x18]
push dword [ecx + 0x18]
push dword [ecx + 4]
mov ecx, dword [ebp - 0xe0]
add eax, dword [ecx + 4]
push eax
call fcn.00527280
mov edx, dword [ebp - 0xe0]
add esp, 0xc
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + 4]
mov byte [eax + ecx], bl
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + 4]
mov byte [ecx + eax + 1], bl
mov ecx, edx
mov ebx, 0x200
or word [ecx + 0x1c], bx
mov eax, dword [ebp - 0xd0]
jmp 0x47cb5b
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xdc]
mov ecx, eax
mov dword [ebp - 0xe4], eax
call fcn.0047c6bc
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0xdc]
mov ecx, eax
mov dword [ebp - 0xf8], eax
call fcn.0047c6bc
imul eax, dword [ebx + 0xc], 0x28
mov edx, dword [ebp - 0xe4]
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xf8]
movzx ecx, word [eax + 0x1c]
movzx eax, word [edx + 0x1c]
or ecx, eax
mov dword [ebp - 0xd0], ecx
test cl, 1
jne 0x47ce49
mov eax, dword [ebp - 0xf8]
push 4
pop ecx
mov al, byte [eax + 0x1c]
and al, byte [edx + 0x1c]
test cl, al
je 0x47d195
mov eax, edx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc8], ecx
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0xc4], edx
mov edi, dword [eax + 0x10]
mov dword [ebp - 0xc0], edi
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xbc], eax
movzx eax, byte [ebx]
mov dword [ebp - 0xe8], edi
mov edi, dword [ebp - 0x100]
sub eax, 0x56
je 0x47d149
dec eax
je 0x47d13a
dec eax
je 0x47d12b
dec eax
mov eax, ecx
je 0x47d0e4
or eax, edx
je 0x47ce49
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x47d0cf
xor ecx, ecx
inc ecx
xor edx, edx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], edx
push edx
push ecx
push dword [ebp - 0xec]
push dword [ebp - 0xe8]
call fcn.0053d0b0
jmp 0x47d11d
or eax, edx
je 0x47ce49
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0xe8]
jne 0x47d10f
test eax, eax
jne 0x47d10f
cmp dword [ebp - 0xec], 0x80000000
je 0x47d18f
push edx
push ecx
push dword [ebp - 0xec]
push eax
call fcn.0053d000
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
jmp 0x47d15c
push edx
push ecx
lea ecx, [ebp - 0xc0]
call fcn.004676da
jmp 0x47d156
push edx
push ecx
lea ecx, [ebp - 0xc0]
call fcn.0046768c
jmp 0x47d156
push edx
push ecx
lea ecx, [ebp - 0xc0]
call fcn.00467600
pop ecx
pop ecx
test eax, eax
jne 0x47d18f
mov ecx, dword [ebp - 0xe0]
mov edx, 0xbf04
mov eax, dword [ebp - 0xc0]
push 4
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x14], eax
mov ax, word [ecx + 0x1c]
and ax, dx
pop edx
or ax, dx
mov word [ecx + 0x1c], ax
jmp case.default.0x47c941
mov edx, dword [ebp - 0xe4]
mov ecx, edx
call fcn.0047806c
mov ecx, dword [ebp - 0xf8]
movsd qword [ebp - 0xb8], xmm0
call fcn.0047806c
movsd qword [ebp - 0xb0], xmm0
movzx eax, byte [ebx]
movsd qword [ebp - 0xf0], xmm0
sub eax, 0x56
je 0x47d285
dec eax
je 0x47d27b
dec eax
je 0x47d271
dec eax
je 0x47d251
movsd xmm0, qword [ebp - 0xb8]
call fcn.0055cebf
movsd xmm0, qword [ebp - 0xf0]
mov ebx, eax
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], edx
call fcn.0055cebf
mov dword [ebp - 0xc0], eax
mov ecx, ebx
mov eax, dword [ebp - 0xc4]
or ecx, eax
mov dword [ebp - 0xbc], edx
je 0x47ce49
mov ecx, ebx
and ecx, eax
cmp ecx, 0xffffffff
jne 0x47d23a
xor ebx, ebx
inc ebx
xor eax, eax
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], eax
push eax
push ebx
push edx
push dword [ebp - 0xc0]
call fcn.0053d0b0
mov ecx, eax
call fcn.0055d05f
jmp 0x47d28d
movsd xmm1, qword [ebp - 0xb8]
ucomisd xmm1, qword [0x5970d0]
lahf
test ah, 0x44
jnp 0x47ce49
divsd xmm0, xmm1
jmp 0x47d28d
mulsd xmm0, qword [ebp - 0xb8]
jmp 0x47d28d
subsd xmm0, qword [ebp - 0xb8]
jmp 0x47d28d
addsd xmm0, qword [ebp - 0xb8]
movsd qword [ebp - 0xb0], xmm0
call fcn.00466916
test eax, eax
jne 0x47ce49
mov ebx, dword [ebp - 0xe0]
mov ecx, 0xbf08
movsd xmm0, qword [ebp - 0xb0]
push 8
mov ax, word [ebx + 0x1c]
and ax, cx
movsd qword [ebx + 8], xmm0
pop ecx
or ax, cx
mov word [ebx + 0x1c], ax
test byte [ebp - 0xd0], cl
jne case.default.0x47c941
mov ecx, ebx
call fcn.004780c0
jmp case.default.0x47c941
mov eax, dword [ebx + 4]
test eax, eax
je case.default.0x47c941
xor ebx, ebx
imul ecx, eax, 0x28
push ebx
push ebx
add ecx, dword [ebp - 0xdc]
call fcn.00478234
pop ecx
jmp 0x47cc34
movzx eax, byte [ebx + 3]
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0x84], eax
imul ecx, dword [ebx + 0xc], 0x28
imul edx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xdc]
add edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], ecx
xor ecx, ecx
mov dword [ebp - 0xcc], edx
mov esi, ecx
mov dword [ebp - 0xec], esi
mov dword [ebp - 0xd0], esi
mov esi, dword [ebp - 0xf4]
test eax, eax
jle 0x47d3bd
mov eax, ecx
mov ecx, dword [ebp - 0xe8]
mov dword [ecx + eax*4], edx
mov eax, 0x1000
mov ecx, dword [ebp - 0xcc]
test word [ecx + 0x1c], ax
je 0x47d388
call fcn.00477d73
test eax, eax
jne 0x481f62
mov ecx, dword [ebp - 0xcc]
call fcn.0047c5d8
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
inc eax
push 0x28
pop ecx
add edx, ecx
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
cmp eax, dword [ebp - 0x84]
jge 0x47d3bb
mov ecx, dword [ebp - 0x88]
jmp 0x47d361
xor ecx, ecx
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 0x10]
jne 0x47d3ce
mov dword [ebp - 0xc4], ecx
jmp 0x47d3d6
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], eax
xor eax, eax
inc eax
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], ecx
lea ecx, [ebp - 0xc0]
mov word [ebp - 0xa4], ax
mov dword [ebp - 0xc0], esi
call fcn.004783ce
mov eax, dword [ebp - 0xa4]
mov ecx, 0xbf01
and dword [ebp - 0x90], 0
and eax, ecx
or eax, 1
mov word [ebp - 0xa4], ax
mov eax, dword [ebp - 0xc8]
push 8
pop ecx
test byte [eax + 3], cl
je 0x47d43e
mov eax, dword [ebx - 4]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x10c]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x108]
mov dword [esi + 0x24], eax
lea eax, [ebp - 0xc8]
push dword [ebp - 0x88]
push dword [ebp - 0x84]
push eax
mov eax, dword [ebp - 0xc8]
call dword [eax + 0xc]
mov eax, dword [esi + 0x20]
add esp, 0xc
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x10c], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x108], eax
test ecx, ecx
je 0x47d4a0
mov edx, dword [ebx + 4]
call fcn.0047a811
mov eax, dword [ebp - 0xc4]
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf9
cmp byte [esi + 0x36], 0
jne 0x481e29
cmp dword [ebp - 0x90], 0
je 0x47d4df
mov dl, 1
lea ecx, [ebp - 0xc0]
call fcn.00478810
push eax
push 0x58e094
lea eax, [edi + 0x34]
push esi
push eax
call fcn.0046508f
mov eax, dword [ebp - 0x90]
add esp, 0x10
mov dword [ebp - 0xd4], eax
movzx edx, byte [ebp - 0xfc]
lea ecx, [ebp - 0xc0]
call fcn.00477c9a
mov ecx, dword [ebp - 0xe0]
lea edx, [ebp - 0xc0]
call fcn.004783ce
mov ecx, dword [ebp - 0xe0]
call fcn.004782e1
test eax, eax
jne 0x481f36
jmp case.default.0x47c941
imul edx, dword [ebx + 8], 0x28
imul ecx, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
add edx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0xdc]
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
mov al, byte [edx + 0x1c]
or al, byte [ecx + 0x1c]
mov dword [ebp - 0xec], ecx
test al, 1
jne 0x47ce49
mov ecx, edx
call fcn.00478010
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
call fcn.00478010
mov ecx, eax
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xc0], ecx
mov al, byte [ebx]
mov dword [ebp - 0xf8], ecx
mov byte [ebp - 0xe1], al
mov byte [ebp - 0xb8], al
cmp al, 0x52
jne 0x47d5b3
mov ecx, dword [ebp - 0xd0]
and ecx, dword [ebp - 0xf8]
and dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
jmp 0x47d6f5
cmp al, 0x53
jne 0x47d5d4
mov ecx, dword [ebp - 0xd0]
or ecx, dword [ebp - 0xf8]
or dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
jmp 0x47d6f5
mov eax, ecx
or eax, edx
je 0x47d6ef
xor ebx, ebx
cmp edx, ebx
jg 0x47d625
jl 0x47d5ea
cmp ecx, ebx
jae 0x47d625
mov al, 0xa9
sub al, byte [ebp - 0xe1]
mov byte [ebp - 0xb8], al
cmp edx, 0xffffffff
jl 0x47d61e
jg 0x47d604
cmp ecx, 0xffffffc0
jbe 0x47d61e
neg ecx
adc edx, ebx
neg edx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xbc], edx
jmp 0x47d62b
push 0x40
pop ecx
mov edx, ebx
jmp 0x47d60a
mov al, byte [ebp - 0xe1]
cmp edx, ebx
jl 0x47d667
jg 0x47d638
push 0x40
pop edx
cmp ecx, edx
jb 0x47d667
cmp dword [ebp - 0xcc], ebx
jg 0x47d651
jl 0x47d64a
cmp dword [ebp - 0xd0], ebx
jae 0x47d651
cmp al, 0x54
je 0x47d651
or ebx, 0xffffffff
mov eax, ebx
cdq
mov ecx, eax
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
jmp 0x47d6f5
mov edx, dword [ebp - 0xcc]
cmp al, 0x54
mov eax, dword [ebp - 0xd0]
jne 0x47d682
call fcn.0055cc20
mov ecx, eax
mov eax, edx
jmp 0x47d6d5
call fcn.005530a0
mov ecx, eax
mov eax, edx
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xcc], ebx
jg 0x47d6e1
jl 0x47d6af
cmp dword [ebp - 0xd0], ebx
jae 0x47d6e1
push 0x40
pop eax
mov ecx, eax
or edx, 0xffffffff
sub ecx, dword [ebp - 0xf8]
or eax, 0xffffffff
call fcn.0055cc20
mov ecx, dword [ebp - 0xec]
or ecx, eax
mov eax, dword [ebp - 0xc4]
or eax, edx
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], eax
jmp 0x47d6f5
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe0]
push 4
mov dword [edx + 0x10], ecx
mov ecx, 0xbf04
mov eax, dword [ebp - 0xcc]
mov dword [edx + 0x14], eax
mov ax, word [edx + 0x1c]
and ax, cx
pop ecx
or ax, cx
mov word [edx + 0x1c], ax
jmp case.default.0x47c941
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xdc]
mov ecx, esi
call fcn.00478113
mov eax, dword [ebx + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp 0x47cbcd
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xdc]
mov ecx, eax
mov dword [ebp - 0xec], eax
call fcn.0047c6bc
mov eax, dword [ebp - 0xec]
push 8
pop ecx
test byte [eax + 0x1c], cl
je 0x47d774
mov ecx, eax
call fcn.004780c0
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
push 4
pop edx
test dl, cl
jne 0x47d791
mov eax, dword [ebx + 8]
test eax, eax
jne 0x47c958
push 0x14
jmp 0x481edf
mov ebx, 0xbf04
and ecx, ebx
or ecx, edx
mov word [eax + 0x1c], cx
jmp case.default.0x47c941
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], al
je case.default.0x47c941
call fcn.00478139
jmp case.default.0x47c941
imul ebx, dword [ebx + 4], 0x28
add ebx, dword [ebp - 0xdc]
movzx ecx, word [ebx + 0x1c]
test cl, 1
jne case.default.0x47c941
mov eax, ecx
push 2
pop edx
push dword [ebp - 0xfc]
shr eax, 3
and eax, edx
mov dl, 0x61
or eax, ecx
mov ecx, ebx
mov word [ebx + 0x1c], ax
call fcn.0047c739
mov eax, 0x4000
pop ecx
test word [ebx + 0x1c], ax
je 0x47d814
mov ecx, ebx
call fcn.00477dcf
mov dword [ebp - 0xd4], eax
jmp 0x47d81b
and dword [ebp - 0xd4], 0
mov eax, 0xbfe3
and word [ebx + 0x1c], ax
jmp case.default.0x47c941
imul ebx, dword [ebx + 4], 0x28
add ebx, dword [ebp - 0xdc]
movzx eax, word [ebx + 0x1c]
test al, 1
jne case.default.0x47c941
push 0x10
pop ecx
test cl, al
jne 0x47d871
push dword [ebp - 0xfc]
mov dl, 0x61
mov ecx, ebx
call fcn.0047c739
pop ecx
mov ecx, 0xbf10
push 0x10
mov ax, word [ebx + 0x1c]
and ax, cx
pop ecx
or ax, cx
mov word [ebx + 0x1c], ax
jmp case.default.0x47c941
and eax, 0xff10
jmp 0x47d868
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xdc]
call fcn.0047815e
jmp case.default.0x47c941
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], 1
jne case.default.0x47c941
call fcn.00478113
jmp case.default.0x47c941
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], 1
jne case.default.0x47c941
jmp 0x47d7b9
imul eax, dword [ebx + 4], 0x28
xor edx, edx
imul ecx, dword [ebx + 0xc], 0x28
inc edx
add eax, dword [ebp - 0xdc]
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xe8], ecx
mov ax, word [eax + 0x1c]
mov word [ebp - 0xca], ax
mov ax, word [ecx + 0x1c]
mov word [ebp - 0xc8], ax
mov cl, al
mov ah, byte [ebp - 0xca]
or al, ah
mov byte [ebp - 0xe1], ah
test dl, al
je 0x47d95e
mov al, byte [ebx + 3]
test al, al
jns 0x47d926
and cl, ah
test dl, cl
push 0
pop edx
sete dl
jmp 0x47d9f5
push 0x10
pop ecx
test cl, al
je 0x47d94e
imul ecx, dword [ebx + 8], 0x28
mov ebx, 0xbf01
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], ecx
mov ax, word [ecx + 0x1c]
and ax, bx
jmp 0x47d183
push 8
pop ecx
test cl, al
je case.default.0x47c941
jmp 0x47c955
mov dl, byte [ebx + 3]
and dl, 0x67
mov byte [ebp - 0xcc], dl
je 0x47d9a0
push dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xf8]
call fcn.0047c739
mov dl, byte [ebp - 0xcc]
pop ecx
push dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xe8]
call fcn.0047c739
cmp byte [esi + 0x36], 0
pop ecx
jne 0x481f62
mov eax, dword [ebp - 0xf8]
mov ecx, 0x4000
test word [eax + 0x1c], cx
je 0x47d9bd
mov ecx, eax
call fcn.00477dcf
mov ecx, 0x4000
mov eax, dword [ebp - 0xe8]
test word [eax + 0x1c], cx
je 0x47d9d6
mov ecx, eax
call fcn.00477dcf
mov eax, dword [ebp - 0xe8]
push dword [ebx + 0x10]
mov edx, dword [ebp - 0xf8]
mov ecx, eax
call fcn.0047854d
mov edx, eax
mov al, byte [ebp - 0xca]
pop ecx
mov byte [ebp - 0xe1], al
mov dword [ebp - 0xd0], edx
xor eax, eax
movzx ecx, byte [ebx]
sub ecx, 0x4b
je 0x47da34
dec ecx
je 0x47da2d
dec ecx
je 0x47da26
dec ecx
je 0x47da1f
dec ecx
je 0x47da18
test edx, edx
setns al
jmp 0x47da39
test edx, edx
sets al
jmp 0x47da39
test edx, edx
setle al
jmp 0x47da39
test edx, edx
setg al
jmp 0x47da39
test edx, edx
sete al
jmp 0x47da39
test edx, edx
setne al
push 0x10
pop ecx
mov dword [ebp - 0xd0], eax
test byte [ebx + 3], cl
je 0x47da88
imul ebx, dword [ebx + 8], 0x28
mov ecx, 0xbf04
push 4
add ebx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], ebx
mov ax, word [ebx + 0x1c]
and ax, cx
pop ecx
or ax, cx
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
mov al, byte [ebp - 0xca]
mov byte [ebp - 0xe1], al
jmp 0x47da96
test eax, eax
je 0x47da96
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xf8]
mov cl, byte [ebp - 0xe1]
mov byte [eax + 0x1c], cl
mov ecx, dword [ebp - 0xe8]
mov al, byte [ebp - 0xc8]
mov byte [ecx + 0x1c], al
jmp case.default.0x47c941
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x118], ecx
jmp case.default.0x47c941
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebx + 4]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xc8], edx
mov edx, dword [ebx + 8]
xor ebx, ebx
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xc4], edx
mov edx, ebx
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xcc], edx
test eax, eax
jle 0x47dbd2
mov eax, dword [ebp - 0x118]
test eax, eax
je 0x47db1e
mov eax, dword [eax + edx*4]
jmp 0x47db20
mov eax, edx
mov dword [ebp - 0xbc], eax
mov ecx, dword [ecx + edx*4 + 0xc]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xb8], ecx
push ecx
mov eax, dword [eax + 8]
movzx eax, byte [eax + edx]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xe8]
add eax, dword [ebp - 0x110]
imul edx, eax, 0x28
mov eax, dword [ebp - 0xf8]
add eax, dword [ebp - 0x110]
imul ecx, eax, 0x28
add edx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0xdc]
call fcn.0047854d
mov dword [ebp - 0x110], eax
pop ecx
test eax, eax
jne 0x47dbc2
mov edx, dword [ebp - 0xcc]
inc edx
mov dword [ebp - 0xcc], edx
cmp edx, dword [ebp - 0xd0]
jge 0x47dbd2
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xf8], eax
jmp 0x47db0f
cmp dword [ebp - 0xb4], ebx
je 0x47dbd2
neg eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x118], ebx
jmp case.default.0x47c941
mov eax, dword [ebp - 0x110]
test eax, eax
jns 0x47dbef
mov eax, dword [ebx + 4]
jmp 0x47c958
je 0x47c955
mov eax, dword [ebx + 0xc]
jmp 0x47c958
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
inc edx
add ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], dl
je 0x47dc14
push 2
pop eax
jmp 0x47dc29
call fcn.00478010
or eax, edx
je 0x47dc24
xor edx, edx
inc edx
mov eax, edx
jmp 0x47dc29
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0xd0], eax
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], dl
je 0x47dc43
push 2
pop ecx
jmp 0x47dc5e
call fcn.00478010
or eax, edx
mov eax, dword [ebp - 0xd0]
je 0x47dc59
xor edx, edx
inc edx
mov ecx, edx
jmp 0x47dc5e
xor edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0xcc], ecx
imul eax, eax, 3
cmp byte [ebx], 0x45
jne 0x47dc76
movzx eax, byte [eax + ecx + 0x58749c]
jmp 0x47dc7e
movzx eax, byte [eax + ecx + 0x588bec]
mov dword [ebp - 0xd0], eax
imul ebx, dword [ebx + 0xc], 0x28
push 2
pop ecx
add ebx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], ebx
cmp eax, ecx
jne 0x47dcaf
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, dx
jmp 0x47d868
cdq
mov ecx, 0xbf04
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
push 4
jmp 0x47d85d
imul ecx, dword [ebx + 4], 0x28
imul ebx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xdc]
add ebx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], ebx
test byte [ecx + 0x1c], 1
je 0x47dce9
mov ecx, ebx
jmp 0x47ce4f
call fcn.00478010
or eax, edx
jne 0x47dcf5
inc eax
jmp 0x47dcf7
xor eax, eax
cdq
push edx
push eax
mov ecx, ebx
jmp 0x47d2fb
imul ecx, dword [ebx + 4], 0x28
imul ebx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xdc]
add ebx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], ebx
test byte [ecx + 0x1c], 1
jne 0x47dce2
call fcn.00478010
not eax
not edx
jmp 0x47dcf8
mov eax, dword [edi + 0xc0]
mov ecx, dword [ebx + 4]
cmp byte [eax + ecx], 0
jne 0x47c955
mov byte [eax + ecx], 1
jmp case.default.0x47c941
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], 1
je 0x47dd5d
mov ecx, dword [ebx + 0xc]
jmp 0x47dd87
call fcn.0047806c
ucomisd xmm0, qword [0x5970d0]
lahf
xor ecx, ecx
test ah, 0x44
jnp 0x47dd73
inc ecx
mov dword [ebp - 0xd0], ecx
cmp byte [ebx], 0x1c
jne 0x47dd8d
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov dword [ebp - 0xd0], ecx
test ecx, ecx
jmp 0x47d953
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xdc]
test byte [eax + ecx + 0x1c], 1
jmp 0x47d953
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xdc]
test byte [eax + ecx + 0x1c], 1
jne case.default.0x47c941
jmp 0x47c955
mov eax, dword [ebx + 4]
lea edi, [ebp - 0x90]
mov dword [ebp - 0xc0], eax
xor edx, edx
mov eax, dword [ebx + 8]
mov dword [ebp - 0xbc], eax
xor eax, eax
mov dword [ebp - 0xb8], edx
push 0xa
pop ecx
rep stosd dword es:[edi], eax
imul ecx, dword [ebx + 0xc], 0x28
mov edi, dword [ebp - 0x100]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xb4], edx
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0xe4], ecx
mov ecx, dword [edi + 0x40]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xec], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x47deec
call fcn.0047a957
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x481ee0
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0x1c], al
je 0x47de68
and dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xe4], eax
jmp 0x47df68
mov eax, dword [ecx + 0x50]
cmp eax, dword [edi + 0x50]
jne 0x47de8a
mov eax, dword [ecx + 0x54]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ecx + 0x60]
mov dword [ebp - 0xb4], eax
jmp 0x47deb9
cmp byte [ecx + 0x1f], 0
je 0x47decc
mov ecx, dword [ebp - 0xb0]
lea edx, [ebp - 0xc8]
call fcn.004730b0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x94]
xor edx, edx
mov dword [ebp - 0xe4], eax
jmp 0x47df5f
mov esi, dword [ebp - 0xb0]
mov ecx, esi
call fcn.00473086
mov eax, dword [esi + 0x34]
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xd0], eax
jmp 0x47df31
mov eax, dword [ecx + 0x10]
test eax, eax
jle 0x47df4b
imul ecx, eax, 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x4c], ecx
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xd0], eax
mov eax, dword [ecx + 4]
mov ecx, edx
mov dword [ebp - 0xb4], eax
test byte [ebx + 3], 0x20
jne 0x47df1c
mov ecx, dword [edi + 0x50]
mov eax, dword [ebp - 0xec]
mov dword [eax + 0x50], ecx
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0xf8], esi
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xf4]
mov dword [ebp - 0xe4], eax
jmp 0x47df5f
mov eax, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xe4]
cmp dword [ebp - 0xf8], 0
jne 0x47df85
mov ax, word [eax + 0x1c]
mov ecx, 0xbf01
and ax, cx
xor ecx, ecx
inc ecx
or ax, cx
mov ecx, dword [ebp - 0xe4]
jmp 0x47d186
mov eax, dword [ebp - 0xf8]
cmp eax, dword [esi + 0x4c]
ja 0x481f36
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ecx + 0x58]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xac], eax
mov eax, dword [ecx + 0x50]
cmp eax, dword [edi + 0x50]
mov eax, dword [ebp - 0xec]
jne 0x47dfd4
mov edx, dword [ecx + 0x5c]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xa8], edx
jmp 0x47e22d
mov esi, dword [ebp - 0xe8]
mov dword [ebp - 0x54], edx
lea eax, [eax + esi*4]
mov esi, dword [ebp - 0xf4]
mov dword [ebp - 0xa8], eax
mov dword [ecx + 0x5c], eax
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0x54], eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [edi + 0x50]
mov dword [eax + 0x50], ecx
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x47e01c
mov dword [ebp - 0x98], eax
jmp 0x47e08d
mov eax, dword [ebp - 0xb8]
mov ecx, edx
mov dword [ebp - 0xe8], eax
cmp byte [eax + 0x1f], 0
mov eax, dword [ebp - 0xb0]
je 0x47e03f
cmp byte [eax + 0x5b], 1
jne 0x47e062
push edx
jmp 0x47e047
cmp byte [eax + 0x5b], 1
jne 0x47e062
push 1
lea edx, [ebp - 0x54]
mov ecx, eax
call fcn.004734f9
pop ecx
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x98], ecx
ja 0x47e084
mov dword [ebp - 0xb4], ecx
mov dword [eax + 0x60], ecx
jmp 0x47e087
mov dword [eax + 0x60], edx
mov eax, dword [ebp - 0x98]
mov cl, byte [eax]
mov edx, 0x80
cmp cl, dl
jae 0x47e0a3
movzx ecx, cl
xor edx, edx
mov dword [ebp - 0x60], ecx
inc edx
jmp 0x47e0b9
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.0046742f
mov ecx, dword [ebp - 0x60]
movzx edx, al
mov eax, dword [ebp - 0x98]
movzx edx, dl
mov dword [ebp - 0x58], edx
cmp ecx, 0x18003
jbe 0x47e0dc
mov ecx, 0x100ee
call fcn.004a836e
mov dword [ebp - 0xd4], eax
jmp 0x481d23
imul edx, dword [ebp - 0xa4], 5
add edx, 3
cmp edx, ecx
cmovg edx, ecx
cmp dword [ebp - 0xb4], 0
mov dword [ebp - 0xa0], edx
jne 0x47e151
cmp dword [ebp - 0x54], edx
jge 0x47e151
mov ecx, dword [ebp - 0xb0]
xor eax, eax
and dword [ebp - 0x90], eax
mov word [ebp - 0x74], ax
lea eax, [ebp - 0x90]
push eax
mov eax, dword [ebp - 0xb8]
movzx eax, byte [eax + 0x1f]
push eax
push edx
xor edx, edx
call fcn.00478726
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x481d23
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0x98], eax
add edx, eax
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x64], edx
xor edx, edx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0xa4], edx
jle 0x47e1da
cmp eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0xa8]
jae 0x47e286
mov dword [eax + edx*4], ecx
mov edx, 0x80
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, dl
jae 0x47e198
movzx edx, al
inc ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x68], ecx
jmp 0x47e1a9
lea edx, [ebp - 0x50]
call fcn.0046742f
mov edx, dword [ebp - 0x50]
movzx eax, al
add dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x50]
call fcn.0047aaa8
mov ecx, dword [ebp - 0x60]
add ecx, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], ecx
cmp ecx, eax
jae 0x47e28d
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x90]
call fcn.00477f90
mov ecx, dword [ebp - 0x64]
xor eax, eax
inc eax
mov word [ebp - 0x74], ax
cmp dword [ebp - 0x68], ecx
ja 0x47e3ef
mov eax, dword [ebp - 0xd0]
cmp dword [ebp - 0x60], eax
ja 0x47e3ef
cmp dword [ebp - 0x68], ecx
jne 0x47e215
cmp dword [ebp - 0x60], eax
jne 0x47e3ef
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xe4], ecx
mov esi, dword [ebp - 0xbc]
cmp dword [edx + esi*4], 0
mov esi, dword [ebp - 0xf4]
je 0x47e373
cmp dword [ebp - 0xb4], 0
je 0x47e2ae
mov ebx, 0x2460
test word [ecx + 0x1c], bx
je 0x47e26e
call fcn.00477f3f
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [ebp - 0xbc]
push ecx
mov ecx, dword [edx + ebx*4]
add ecx, dword [ebp - 0xb4]
mov edx, dword [eax + ebx*4]
jmp 0x47e35c
and dword [eax + edx*4], 0
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x9c]
inc edx
mov dword [ebp - 0x9c], edx
cmp edx, dword [ebp - 0xa4]
jge 0x47e1da
mov eax, dword [ebp - 0x68]
jmp 0x47e16c
mov edx, dword [ebp - 0xbc]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0x50], edx
mov al, byte [ebx + 3]
test al, 0xc0
je 0x47e2e3
cmp edx, 0xc
jb 0x47e2cb
test dl, 1
je 0x47e2d4
mov ebx, 0x80
test bl, al
je 0x47e2e3
cmp edx, 0xc
lea ebx, [ebp - 0xc8]
sbb eax, eax
and eax, ebx
jmp 0x47e353
mov ecx, edx
call fcn.0047aaa8
mov edx, dword [ebp - 0xe4]
lea ecx, [ebp - 0x90]
mov dword [ebp - 0xa0], eax
call fcn.004783ce
mov edx, dword [ebp - 0xbc]
lea eax, [ebp - 0x90]
mov ecx, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xb8]
movzx eax, byte [eax + 0x1f]
push eax
mov eax, dword [ebp - 0xa8]
push dword [ebp - 0xa0]
mov edx, dword [eax + edx*4]
call fcn.00478726
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x481d23
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x94]
push ecx
mov dword [ebp - 0x98], eax
mov ecx, eax
call fcn.0047ab62
mov eax, dword [ebp - 0x94]
pop ecx
mov cl, byte [ebp - 0xfc]
mov byte [eax + 0x1f], cl
jmp 0x47e3a0
cmp byte [ebx + 1], 0xf8
jne 0x47e38a
mov edx, dword [ebx + 0x10]
mov eax, 0x800
push eax
call fcn.00478304
pop ecx
jmp 0x47e3a0
mov ax, word [ecx + 0x1c]
mov edx, 0xbf01
and ax, dx
xor edx, edx
inc edx
or ax, dx
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0x6c], 0
je 0x47e3df
mov eax, dword [ebp - 0x94]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov ecx, 0x200
mov eax, dword [ebp - 0x94]
or word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x8c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x6c]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebp - 0x94]
call fcn.00477d73
jmp 0x47e0d1
mov ecx, 0x1013e
jmp 0x47e0cc
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xd0], eax
imul ebx, dword [ebx + 4], 0x28
mov cl, byte [eax]
mov byte [ebp - 0xcc], cl
add ebx, dword [ebp - 0xdc]
test cl, cl
je 0x47e46a
push 0x28
pop edi
mov esi, 0x4000
inc eax
mov dword [ebp - 0xd0], eax
test word [ebx + 0x1c], si
je 0x47e43a
mov ecx, ebx
call fcn.00477dcf
mov cl, byte [ebp - 0xcc]
push dword [ebp - 0xfc]
mov dl, cl
mov ecx, ebx
call fcn.0047c739
mov eax, dword [ebp - 0xd0]
add ebx, edi
pop ecx
mov cl, byte [eax]
mov byte [ebp - 0xcc], cl
test cl, cl
jne 0x47e420
mov edi, dword [ebp - 0x100]
mov esi, dword [ebp - 0xf4]
inc eax
mov dword [ebp - 0xd0], eax
jmp case.default.0x47c941
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xe4], eax
movlpd qword [ebp - 0xc8], xmm0
mov eax, dword [ebx + 4]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xec], ecx
imul ecx, eax, 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xa4], ecx
mov esi, ecx
mov eax, dword [ebx + 8]
imul edx, eax, 0x28
mov dword [ebp - 0x9c], eax
movzx eax, byte [edi + 0x61]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0xe8], ecx
add edx, 0xffffffd8
add edx, ecx
mov dword [ebp - 0xa0], edx
imul eax, dword [ebx + 0xc], 0x28
xor ebx, ebx
mov dword [ebp - 0xcc], esi
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
cmp ecx, edx
ja 0x47e625
mov edi, dword [ebp - 0xec]
test edi, edi
je 0x47e554
push dword [ebp - 0xfc]
mov eax, esi
sub eax, ecx
push 0x28
pop ecx
cdq
idiv ecx
mov ecx, esi
mov dl, byte [eax + edi]
call fcn.0047c739
mov eax, dword [ebp - 0x98]
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xb0]
pop ecx
mov dword [ebp - 0xe4], eax
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x47e595
cmp dword [esi + 0x18], ebx
jle 0x47e595
mov ecx, esi
call fcn.00477dcf
mov eax, dword [ebp - 0x98]
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xe4], eax
mov edx, dword [ebp - 0x94]
mov ecx, esi
call fcn.0047a9cc
mov ecx, eax
mov dword [ebp - 0xa8], ecx
call fcn.0047aaa8
mov dword [ebp - 0x8c], eax
cdq
add dword [ebp - 0xc8], eax
push ebx
adc dword [ebp - 0xc4], edx
push ecx
call fcn.00467499
mov edi, dword [ebp - 0xc0]
add edi, eax
mov eax, 0x4000
pop ecx
pop ecx
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], edi
test word [esi + 0x1c], ax
je 0x47e5ef
add ecx, dword [esi + 0x10]
jmp 0x47e5fa
xor eax, eax
cmp dword [ebp - 0x8c], eax
cmovne ecx, eax
push 0x28
pop eax
add esi, eax
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xcc], esi
cmp esi, dword [ebp - 0xa0]
jbe 0x47e505
jmp 0x47e62b
mov edi, dword [ebp - 0xc0]
mov eax, edi
cdq
push edx
push eax
call fcn.00467499
mov esi, eax
add edi, esi
mov dword [ebp - 0xac], esi
mov eax, edi
mov dword [ebp - 0xc0], edi
cdq
push edx
push eax
call fcn.00467499
add esp, 0x10
cmp esi, eax
jge 0x47e65d
inc edi
mov dword [ebp - 0xc0], edi
mov eax, dword [ebp - 0xe4]
cdq
mov ecx, eax
mov esi, edx
mov eax, edi
cdq
sub eax, ecx
mov edi, edx
sbb edi, esi
add eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xf4]
adc edi, dword [ebp - 0xc4]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edi
mov eax, dword [esi + 0x4c]
cdq
cmp edi, edx
jg 0x481f30
mov edx, dword [ebp - 0xec]
jl 0x47e6b1
cmp edx, eax
ja 0x481f30
mov edi, dword [ebp - 0xe0]
mov ecx, edi
push ebx
call fcn.00477cb4
pop ecx
test eax, eax
jne 0x481f5c
mov edx, dword [ebp - 0xc0]
mov eax, 0x80
mov ecx, dword [edi + 4]
mov dword [ebp - 0xd0], ecx
cmp edx, eax
jae 0x47e6e9
mov al, dl
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x47e6ee
call fcn.004672ae
mov ecx, dword [ebp - 0xa0]
movzx edi, al
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x90], edi
mov dword [ebp - 0xcc], eax
cmp eax, ecx
ja 0x47e781
push 0x28
pop esi
mov edx, dword [ebp - 0x94]
mov ecx, eax
call fcn.0047a9cc
mov edx, eax
mov eax, 0x80
mov dword [ebp - 0xa8], edx
cmp edx, eax
jae 0x47e73e
mov eax, dword [ebp - 0xd0]
mov cl, dl
mov byte [edi + eax], cl
xor eax, eax
inc eax
jmp 0x47e74c
mov ecx, dword [ebp - 0xd0]
lea ecx, [edi + ecx]
call fcn.004672ae
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xa0]
movzx eax, al
add edi, eax
mov eax, dword [ebp - 0xcc]
add eax, esi
mov dword [ebp - 0x90], edi
mov dword [ebp - 0xcc], eax
cmp eax, ecx
jbe 0x47e710
mov esi, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], eax
cmp eax, ecx
ja 0x47e7d7
push 0x28
pop esi
mov ecx, dword [ebp - 0xd0]
push dword [ebp - 0x94]
mov edx, dword [ebp - 0xb8]
push eax
sub edx, edi
lea ecx, [edi + ecx]
call fcn.0047aabb
mov edi, dword [ebp - 0x90]
add edi, eax
mov eax, dword [ebp - 0xcc]
add eax, esi
mov dword [ebp - 0x90], edi
pop ecx
pop ecx
mov dword [ebp - 0xcc], eax
cmp eax, dword [ebp - 0xa0]
jbe 0x47e78e
mov esi, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xb8]
mov dword [ecx + 0x18], eax
mov eax, 0x410
mov dword [ecx + 0x20], ebx
mov ebx, ecx
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xb0]
test eax, eax
je 0x47e80a
mov dword [ebx + 0x10], eax
mov eax, 0x4410
mov word [ebx + 0x1c], ax
mov edi, dword [ebp - 0x100]
mov byte [ebx + 0x1f], 1
jmp case.default.0x47c941
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je 0x47e841
lea edx, [ebp - 0xd0]
call fcn.00476334
mov dword [ebp - 0xd4], eax
jmp 0x47e84c
xorps xmm0, xmm0
movlpd qword [ebp - 0xd0], xmm0
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x14], eax
jmp case.default.0x47c941
mov eax, dword [ebx + 4]
mov dword [ebp - 0xd0], eax
mov edx, dword [ebx + 0x10]
xor ebx, ebx
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xcc], edx
test eax, eax
jne 0x47e978
cmp dword [esi + 0x84], ebx
jle 0x47e8b3
push str.cannot_open_savepoint___SQL_statements_in_progress
lea eax, [edi + 0x34]
push esi
push eax
call fcn.0046508f
add esp, 0xc
push 5
pop eax
jmp 0x47e0d1
mov ecx, edx
call fcn.00466946
mov dword [ebp - 0xc8], eax
xor edx, edx
mov eax, dword [esi + 0x1e4]
mov ecx, esi
add eax, dword [esi + 0x1e0]
push eax
call fcn.0049f12e
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne 0x481ee0
mov edx, dword [ebp - 0xc8]
mov ecx, esi
lea edx, [edx + 0x19]
call fcn.00464ef8
mov dword [ebp - 0xc4], eax
test eax, eax
je case.default.0x47c941
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc8]
inc eax
push eax
mov eax, dword [ebp - 0xc4]
push dword [ebp - 0xcc]
push dword [eax]
call fcn.00527280
add esp, 0xc
cmp byte [esi + 0x34], bl
je 0x47e934
mov byte [esi + 0x34], bl
mov byte [esi + 0x3b], 1
jmp 0x47e93a
inc dword [esi + 0x1e0]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [esi + 0x1d8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [esi + 0x1e8]
mov dword [esi + 0x1d8], eax
mov eax, dword [ebp - 0xc4]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [esi + 0x1ec]
mov dword [eax + 0xc], ecx
jmp case.default.0x47c941
mov dword [ebp - 0xb8], ebx
mov ecx, dword [esi + 0x1d8]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xc0], ecx
test ecx, ecx
je 0x47ebf1
mov esi, dword [ebp - 0xf8]
mov edi, ecx
mov ecx, dword [edi]
mov edx, esi
call fcn.00466a6c
test eax, eax
je 0x47e9c0
inc dword [ebp - 0xb8]
mov edi, dword [edi + 0x10]
mov dword [ebp - 0xc0], edi
test edi, edi
jne 0x47e9a0
mov esi, dword [ebp - 0xf4]
test edi, edi
mov dword [ebp - 0xec], edi
mov edi, dword [ebp - 0x100]
je 0x47ebeb
mov edx, dword [ebp - 0xe8]
xor eax, eax
inc eax
cmp dword [esi + 0x84], ebx
jle 0x47e9f9
cmp edx, eax
jne 0x47e9f9
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x47e89e
mov ecx, dword [ebp - 0xec]
cmp dword [ecx + 0x10], ebx
jne 0x47ea53
cmp byte [esi + 0x3b], bl
je 0x47ea53
mov dword [ebp - 0xec], eax
cmp edx, eax
jne 0x47ea59
mov edx, eax
mov ecx, edi
call fcn.0047a44c
mov esi, eax
test esi, esi
jne 0x481df7
mov esi, dword [ebp - 0xf4]
mov ecx, edi
mov byte [esi + 0x34], 1
call fcn.0047a4a1
push 5
pop ecx
cmp eax, ecx
je 0x481e39
mov byte [esi + 0x3b], bl
mov eax, dword [edi + 0x58]
mov dword [ebp - 0xd4], eax
jmp 0x47eb25
mov dword [ebp - 0xec], ebx
mov eax, dword [esi + 0x1e0]
sub eax, dword [ebp - 0xb8]
dec eax
push 2
mov dword [ebp - 0xb8], eax
pop eax
cmp edx, eax
jne 0x47eab7
mov eax, ebx
mov dword [ebp - 0xb4], eax
cmp dword [esi + 0x14], ebx
jle 0x47eab7
push 4
pop edi
mov ecx, dword [esi + 0x10]
add eax, eax
mov edx, edi
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00472d6c
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, dword [esi + 0x14]
jl 0x47ea83
mov edi, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xd0]
mov eax, ebx
mov dword [ebp - 0xb4], eax
cmp dword [esi + 0x14], ebx
jle 0x47eb05
mov ecx, dword [esi + 0x10]
add eax, eax
push dword [ebp - 0xb8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00472eae
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne 0x481ee0
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, dword [esi + 0x14]
jl 0x47eac4
mov ecx, dword [ebp - 0xc0]
push 2
pop eax
cmp edx, eax
jne 0x47eb31
mov ebx, 0x200
test dword [esi + 0x18], ebx
je 0x47eb31
mov ecx, esi
call fcn.0047b16f
call fcn.0048ad8a
or dword [esi + 0x18], ebx
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xc0]
cmp dword [esi + 0x1d8], ecx
je 0x47eb75
mov eax, dword [esi + 0x1d8]
mov ecx, esi
mov dword [ebp - 0xbc], eax
mov eax, dword [eax + 0x10]
mov dword [esi + 0x1d8], eax
mov edx, dword [ebp - 0xbc]
call fcn.00464d37
dec dword [esi + 0x1e0]
mov ecx, dword [ebp - 0xc0]
cmp dword [esi + 0x1d8], ecx
jne 0x47eb39
mov edx, dword [ebp - 0xd0]
cmp edx, 1
jne 0x47eba5
mov eax, dword [ecx + 0x10]
mov ecx, esi
mov dword [esi + 0x1d8], eax
mov edx, dword [ebp - 0xc0]
call fcn.00464d37
cmp dword [ebp - 0xec], 0
jne case.default.0x47c941
dec dword [esi + 0x1e0]
jmp 0x47ebc4
cmp dword [ebp - 0xec], 0
mov eax, dword [ecx + 8]
mov dword [esi + 0x1e8], eax
mov eax, dword [ecx + 0xc]
mov dword [esi + 0x1ec], eax
jne case.default.0x47c941
push dword [ebp - 0xb8]
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.0049f12e
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne 0x481ee0
jmp 0x481d23
mov edx, dword [ebp - 0xf8]
push edx
push str.no_such_savepoint:__s
lea eax, [edi + 0x34]
push esi
push eax
call fcn.0046508f
add esp, 0x10
xor eax, eax
inc eax
jmp 0x47e0d1
mov edx, dword [ebx + 4]
mov dword [ebp - 0xd0], edx
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xcc], ecx
test edx, edx
je 0x47ec56
cmp byte [esi + 0x34], 0
jne 0x47ec56
xor ebx, ebx
mov dword [ebp - 0xc8], 1
test ecx, ecx
jne 0x47ec5e
cmp dword [esi + 0x84], ebx
jle 0x47ec5e
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x47e89e
xor ebx, ebx
mov dword [ebp - 0xc8], ebx
movzx eax, byte [esi + 0x34]
cmp edx, eax
jne 0x481e4c
xor edx, edx
mov eax, str.cannot_commit___no_transaction_is_active
cmp dword [ebp - 0xec], edx
mov ecx, str.cannot_rollback___no_transaction_is_active
sete dl
cmp dword [ebp - 0xe8], 0
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmove eax, ecx
push eax
lea eax, [edi + 0x34]
push esi
push eax
call fcn.0046508f
add esp, 0xc
jmp 0x47ec04
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xd0], ecx
test ecx, ecx
je case.default.0x47c941
mov edx, dword [ebx + 8]
call fcn.00472413
push 5
pop ecx
mov dword [ebp - 0xd4], eax
cmp eax, ecx
je 0x481ebd
test eax, eax
jne 0x481ee0
xor edx, edx
cmp dword [ebx + 8], edx
je 0x481d23
cmp byte [edi + 0x63], dl
je 0x481d23
cmp byte [esi + 0x34], dl
je 0x47ed07
cmp dword [esi + 0x80], 1
jle 0x481d23
cmp dword [edi + 0x74], edx
jne 0x47ed21
mov eax, dword [esi + 0x1e0]
inc dword [esi + 0x1e4]
add eax, dword [esi + 0x1e4]
mov dword [edi + 0x74], eax
mov eax, dword [edi + 0x74]
xor edx, edx
dec eax
mov ecx, esi
push eax
call fcn.0049f12e
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne 0x47ed4e
mov edx, dword [edi + 0x74]
mov ecx, dword [ebp - 0xd0]
call fcn.00472e87
mov dword [ebp - 0xd4], eax
mov eax, dword [esi + 0x1e8]
mov dword [edi + 0x98], eax
mov eax, dword [esi + 0x1ec]
mov dword [edi + 0x9c], eax
jmp case.default.0x47c941
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xcc], eax
add eax, eax
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0xc8], edx
push ecx
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004762a8
mov eax, dword [ebp - 0xd0]
pop ecx
jmp 0x47ca58
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [ebp - 0xd0], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xdc]
mov ecx, eax
mov dword [ebp - 0xec], eax
call fcn.00478113
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebx + 8]
push dword [eax + 0x10]
mov ecx, dword [ecx + 4]
call fcn.004762db
xor edx, edx
mov dword [ebp - 0xd4], eax
inc edx
pop ecx
cmp dword [ebx + 8], edx
jne 0x47ee0b
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
mov dword [ecx], eax
mov eax, 0x200
or dword [esi + 0x18], eax
jmp 0x47ee28
push 2
pop ecx
cmp dword [ebx + 8], ecx
jne 0x47ee2e
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xec]
mov al, byte [eax + 0x10]
mov byte [ecx + 0x4c], al
mov eax, dword [ebp - 0xd4]
cmp dword [ebx + 4], edx
jne 0x481d23
mov ecx, esi
call fcn.0047b16f
mov byte [edi + 0x5f], 0
jmp case.default.0x47c941
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je 0x47ee84
lea eax, [ebp - 0xd0]
xor edx, edx
push eax
inc edx
call fcn.004762a8
mov eax, dword [esi + 0x10]
pop ecx
mov ecx, dword [ebx + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
jmp 0x47ee8e
xor eax, eax
mov ecx, eax
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], eax
cmp ecx, dword [ebx + 8]
jne 0x47eea2
cmp eax, dword [ebx + 0xc]
je case.default.0x47c941
mov edx, dword [edi + 0x34]
mov ecx, esi
call fcn.00464d37
mov edx, str.database_schema_has_changed
mov ecx, esi
call fcn.0046501f
mov dword [edi + 0x34], eax
mov edx, dword [ebx + 4]
mov ecx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xd0]
je 0x47eeda
mov ecx, esi
call fcn.0048ad5d
mov byte [edi + 0x5f], 1
push 0x11
jmp 0x47e8ad
cmp byte [edi + 0x5f], 0
je 0x47eef2
mov eax, ecx
jmp 0x47e0d1
xor ecx, ecx
mov dword [ebp - 0xcc], ecx
mov edx, ecx
mov dword [ebp - 0xd0], edx
mov eax, dword [ebx + 8]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xf8], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xec], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0xbc], eax
cmp byte [ebx], 0x28
jne 0x47ef60
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xc0], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [edi + 0x61]
jae 0x47ef66
mov byte [edi + 0x61], al
jmp 0x47ef66
mov dword [ebp - 0xc0], ecx
push 2
pop eax
test byte [ebx + 3], al
je 0x47efaa
imul esi, dword [ebp - 0xe8], 0x28
add esi, dword [ebp - 0xdc]
mov ecx, esi
call fcn.00478113
mov eax, dword [esi + 0x10]
push 2
pop ecx
mov dword [ebp - 0xc8], eax
cmp eax, ecx
jl 0x481ecb
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xf4]
jmp 0x47efb0
mov eax, dword [ebp - 0xf8]
mov cl, byte [ebx + 1]
cmp cl, 0xfa
jne 0x47efe2
mov eax, dword [edi]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xcc], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xcc]
movzx edx, word [eax + 6]
mov eax, dword [ebp - 0xc4]
inc edx
jmp 0x47efea
cmp cl, 0xf2
jne 0x47eff0
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0xd0], edx
push 1
push eax
push edx
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.0047c603
add esp, 0xc
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x481f62
xor ecx, ecx
inc ecx
mov byte [eax + 0x1c], cl
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x20], cl
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xbc]
push dword [eax]
push dword [ebp - 0xcc]
push dword [ebp - 0xc0]
call fcn.00472f80
mov ecx, dword [ebp - 0xb8]
add esp, 0xc
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xb8]
mov cl, byte [ebx + 3]
and cl, 1
mov eax, dword [eax]
mov byte [eax + 0x5d], cl
cmp byte [ebx + 1], 0xfa
mov eax, dword [ebp - 0xb8]
setne cl
mov byte [eax + 0x1e], cl
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0x1e], 0
sete al
jmp 0x47cb64
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.0047c603
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x481f62
mov byte [eax + 0x1c], 1
xor edx, edx
movzx eax, byte [ebx + 3]
mov ecx, dword [esi]
or eax, 5
push 0x41e
push eax
mov eax, dword [ebp - 0xd0]
add eax, 4
push eax
push esi
call fcn.00471910
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x47f1b0
mov ecx, dword [ebp - 0xd0]
xor edx, edx
inc edx
mov ecx, dword [ecx + 4]
call fcn.00472413
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x47f1b0
cmp dword [ebx + 0x10], eax
je 0x47f186
movzx eax, byte [ebx + 3]
lea edx, [ebp - 0x128]
push 2
pop ecx
or eax, ecx
mov ecx, dword [ebp - 0xd0]
push eax
mov ecx, dword [ecx + 4]
call fcn.00475f48
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne 0x47f17a
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0x128]
push dword [ecx]
mov ecx, dword [ecx + 4]
push dword [ebx + 0x10]
push 1
call fcn.00472f80
mov ecx, dword [ebx + 0x10]
add esp, 0xc
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 8], ecx
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 0
jmp 0x47f1b0
mov ecx, dword [ebp - 0xd0]
push dword [ecx]
mov ecx, dword [ecx + 4]
push eax
xor eax, eax
inc eax
push eax
mov edx, eax
call fcn.00472f80
mov dword [ebp - 0xd4], eax
add esp, 0xc
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 1
push 8
pop eax
cmp byte [ebx + 3], al
mov eax, dword [ebp - 0xd0]
setne cl
mov byte [eax + 0x20], cl
mov ecx, dword [ebp - 0xd0]
jmp 0x47f082
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.0047c603
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x481f62
mov ecx, dword [ebx + 0x10]
mov dword [eax + 8], ecx
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov ecx, esi
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x21], 1
mov edx, dword [ebp - 0xd0]
call fcn.00482de6
jmp 0x47e0d1
mov edx, dword [ebx + 4]
mov ecx, edi
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.0047c603
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x481f62
xor edx, edx
inc edx
mov byte [eax + 0x1c], dl
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebx + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], dl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1f], 0
jmp case.default.0x47c941
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x40]
mov edx, dword [edx + eax*4]
call fcn.00479d17
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
and dword [eax + ecx*4], 0
jmp case.default.0x47c941
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
cmp dword [ecx], edx
je 0x47c955
movzx eax, byte [ebx]
mov dword [ebp - 0xcc], eax
mov byte [ecx + 0x1c], dl
mov ecx, dword [ebp - 0xc8]
cmp byte [ecx + 0x1e], dl
je 0x47f4d5
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xdc]
mov ecx, eax
mov dword [ebp - 0xf8], eax
call fcn.0047c6bc
mov ecx, dword [ebp - 0xf8]
call fcn.00478010
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x9c], edx
xor edx, edx
push 4
pop ecx
mov byte [eax + 0x19], dl
mov eax, dword [ebp - 0xf8]
movzx eax, word [eax + 0x1c]
test cl, al
jne 0x47f4ca
push 8
pop ecx
test cl, al
je 0x47c955
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x9c]
cmp ecx, edx
jne 0x47f3e1
mov edx, SysReAllocString
cmp eax, edx
jne 0x47f3e1
xor ecx, ecx
call fcn.0055d05f
mov eax, dword [ebp - 0xf8]
movsd xmm1, qword [eax + 8]
comisd xmm0, xmm1
xorps xmm0, xmm0
ja 0x47f362
comisd xmm1, xmm0
jbe 0x47f3d5
mov dword [ebp - 0xd0], 1
comisd xmm0, xmmword [eax + 8]
jbe 0x47f395
cmp dword [ebp - 0xcc], 0x30
jl 0x47c955
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xd0]
mov ecx, dword [ecx]
call fcn.004737cf
jmp 0x47f3b5
cmp dword [ebp - 0xcc], 0x2f
jg 0x47c955
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xd0]
mov ecx, dword [ecx]
call fcn.004737fa
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x481ee0
cmp dword [ebp - 0xd0], 0
je 0x481d23
jmp 0x47c955
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa0]
cmp dword [ebp - 0xcc], 0x2e
je 0x47f491
cmp dword [ebp - 0xcc], 0x30
je 0x47f491
mov edx, eax
call fcn.0055d05f
mov eax, dword [ebp - 0xf8]
comisd xmm0, xmmword [eax + 8]
mov eax, dword [ebp - 0x9c]
jbe 0x47f425
add dword [ebp - 0xa0], 0xffffffff
adc eax, 0xffffffff
mov dword [ebp - 0x9c], eax
xor edx, edx
lea ecx, [ebp - 0xd0]
push ecx
mov ecx, dword [ebp - 0xc8]
push edx
push eax
push dword [ebp - 0xa0]
mov ecx, dword [ecx]
xor edx, edx
call fcn.00473843
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x481ee0
xor edx, edx
cmp dword [ebp - 0xd0], edx
jne 0x47f55e
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xa0]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x9c]
mov dword [eax + 0x44], ecx
jmp 0x47f55e
mov edx, eax
call fcn.0055d05f
mov eax, dword [ebp - 0xf8]
movsd xmm1, qword [eax + 8]
comisd xmm1, xmm0
mov eax, dword [ebp - 0x9c]
jbe 0x47f425
add dword [ebp - 0xa0], 1
push 0
pop edx
adc eax, edx
mov dword [ebp - 0x9c], eax
jmp 0x47f427
mov eax, dword [ebp - 0x9c]
jmp 0x47f427
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xa8], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc0], eax
mov ax, word [ebp - 0xa8]
mov word [ebp - 0xbc], ax
mov al, byte [ebp - 0xcc]
and al, 1
mov byte [ebp - 0xba], al
mov eax, 0x4000
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xb0], ecx
test word [ecx + 0x1c], ax
je 0x47f525
call fcn.00477dcf
xor edx, edx
mov ecx, dword [ebp - 0xc8]
lea eax, [ebp - 0xd0]
push eax
push edx
push edx
mov ecx, dword [ecx]
push edx
lea edx, [ebp - 0xc0]
call fcn.00473843
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x481ee0
mov eax, dword [ebp - 0xc8]
xor edx, edx
mov byte [eax + 0x19], dl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], dl
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], edx
cmp dword [ebp - 0xcc], 0x30
mov eax, dword [ebp - 0xd0]
jl 0x47f5af
test eax, eax
js 0x47f599
jne 0x47f58e
cmp dword [ebp - 0xcc], 0x31
je 0x47f599
mov dword [ebp - 0xd0], edx
jmp case.default.0x47c941
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc8]
push dword [eax]
call fcn.00473afc
jmp 0x47f5eb
test eax, eax
jg 0x47f5d7
jne 0x47f5be
cmp dword [ebp - 0xcc], 0x2e
je 0x47f5d7
mov eax, dword [ebp - 0xc8]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0x5b], 1
setne cl
mov dword [ebp - 0xd0], ecx
jmp 0x47f605
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc8]
push dword [eax]
call fcn.00473c0a
mov dword [ebp - 0xd4], eax
pop ecx
pop ecx
test eax, eax
jne 0x481ee0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
cmp dword [ebp - 0xd0], 0
jmp 0x47d953
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
cmp dword [eax], edx
je case.default.0x47c941
mov byte [eax + 0x1c], dl
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xdc]
call fcn.00478010
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 1
jmp case.default.0x47c941
mov eax, dword [edi + 0x40]
xor edx, edx
mov dword [ebp - 0xd0], edx
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xcc], ecx
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xec], eax
cmp dword [ecx], edx
je 0x47f79a
cmp dword [ebx + 0x10], edx
jle 0x47f6d2
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb8], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xb4], ax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xa8], eax
push 2
pop eax
mov byte [ebp - 0xb2], al
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xc0], eax
jmp 0x47f733
mov ecx, dword [ecx + 8]
lea eax, [ebp - 0xc4]
push eax
push 0x97
lea edx, [ebp - 0xa0]
call fcn.0047ad42
mov dword [ebp - 0xc0], eax
pop ecx
pop ecx
test eax, eax
je 0x481f62
mov ecx, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xec]
mov ecx, dword [ecx + 8]
push dword [eax + 4]
mov edx, dword [eax + 0x18]
call fcn.0047ad9a
mov eax, dword [ebp - 0xc0]
pop ecx
pop ecx
push 2
pop ecx
or byte [eax + 6], cl
xor edx, edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx]
lea esi, [ebp - 0xc8]
push esi
push edx
push edx
push edx
mov edx, eax
call fcn.00473843
mov esi, dword [ebp - 0xf4]
xor edx, edx
add esp, 0x10
mov dword [ebp - 0xd4], eax
cmp dword [ebx + 0x10], edx
jne 0x47f76b
mov edx, dword [ebp - 0xc4]
mov ecx, esi
call fcn.00464d37
xor edx, edx
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x481d23
cmp dword [ebp - 0xc8], eax
sete al
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1d], dl
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], edx
cmp byte [ebx], 0x34
je 0x47f605
cmp dword [ebp - 0xd0], 0
jmp 0x47ddb7
imul eax, dword [ebx + 0xc], 0x28
xor edx, edx
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xec], eax
imul eax, dword [ebx + 0x10], 0x28
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov dword [eax + 0x4c], edx
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], edx
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ecx]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 8]
xor ecx, ecx
and dword [ebp - 0xf8], ecx
mov ax, word [eax + 6]
cmp word [ebp - 0xf8], ax
mov word [ebp - 0xe2], ax
mov word [ebp - 0xc4], ax
jmp 0x47f84c
mov esi, dword [ebp - 0xc0]
movzx eax, cx
imul eax, eax, 0x28
test byte [eax + esi + 0x1c], 1
mov esi, dword [ebp - 0xf4]
jne 0x47f91c
inc cx
cmp cx, word [ebp - 0xe2]
mov word [ebp - 0xd0], cx
jb 0x47f826
mov edx, dword [ebp - 0xe8]
test edx, edx
je case.default.0x47c941
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xec]
push 4
mov eax, dword [eax + 8]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xc4]
inc eax
mov word [ebp - 0xb4], ax
pop eax
mov byte [ebp - 0xb2], al
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xa8], eax
call fcn.00478113
mov ecx, dword [ebp - 0xec]
lea edx, [ebp - 0xb8]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xa0], eax
mov eax, dword [ecx + 0x14]
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xcc]
add eax, 0x4c
push eax
xor eax, eax
push eax
push eax
push eax
call fcn.00473843
add esp, 0x10
mov dword [ebp - 0xd4], eax
push 4
pop ecx
test byte [ebp - 0xb2], cl
jne 0x47f937
mov edx, dword [ebp - 0xb0]
cmp edx, dword [ebp - 0xa0]
jne 0x47f908
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x9c]
je 0x47f931
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0xac]
jmp 0x47e861
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xd8], eax
jmp 0x47f85b
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebx + 8]
dec edx
jmp 0x481d29
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebx + 4]
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xec], eax
mov eax, dword [edi + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [eax]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je 0x47fa29
mov eax, dword [ebp - 0xec]
lea esi, [ebp - 0xc8]
xor edx, edx
mov dword [ebp - 0xc8], edx
push esi
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax + 0x14]
push edx
push eax
push ecx
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xbc], eax
call fcn.00473843
mov edx, dword [ebp - 0xec]
add esp, 0x10
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xf4]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + 0x14]
mov dword [eax + 0x44], ecx
cmp dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xd0]
sete cl
xor edx, edx
mov byte [eax + 0x19], cl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1c], dl
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], edx
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], dl
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
je 0x47fa1b
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x4c], ecx
jmp case.default.0x47c941
mov edx, dword [ebx + 8]
dec edx
and dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xd4]
jmp 0x481d29
mov eax, dword [edi + 0x40]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 0x34]
mov dword [edx + 0x14], eax
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.default.0x47c941
mov eax, dword [edi + 0x40]
xor edx, edx
xorps xmm0, xmm0
mov dword [ebp - 0xc4], edx
movlpd qword [ebp - 0xd0], xmm0
mov ecx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xe4], eax
mov ecx, dword [eax]
mov dword [ebp - 0xec], ecx
test ecx, ecx
je 0x47e84c
cmp byte [eax + 0x1b], dl
jne 0x47fca0
mov eax, dword [ebp - 0xec]
mov ecx, dword [ecx + 0x20]
mov dword [ebp - 0xd0], ecx
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xcc], eax
mov eax, ecx
or eax, dword [ebp - 0xec]
jne 0x47fb8a
mov eax, dword [ebp - 0xe4]
lea edx, [ebp - 0xc4]
mov ecx, dword [eax]
call fcn.004737fa
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x481ee0
cmp dword [ebp - 0xc4], eax
je 0x47fb24
xor ecx, ecx
inc ecx
xor edx, edx
mov eax, edx
mov esi, dword [ebp - 0xc8]
mov dword [ebp - 0xe4], esi
mov esi, dword [ebp - 0xf4]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], eax
jmp 0x47fb90
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xd0]
mov ecx, dword [ecx]
call fcn.004730b0
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
cmp eax, 0x7fffffff
jl 0x47fb7d
jg 0x47fb57
cmp ecx, 0xffffffff
jb 0x47fb7d
mov eax, dword [ebp - 0xc8]
xor edx, edx
mov byte [eax + 0x1b], 1
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xcc]
jmp 0x47fb90
push 0
add ecx, 1
pop edx
adc eax, edx
jmp 0x47fb04
mov eax, dword [ebp - 0xec]
cmp dword [ebx + 0xc], 0
je 0x47fc56
mov eax, dword [edi + 0xa8]
test eax, eax
jne 0x47fc14
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xbc], ecx
call fcn.00478113
mov eax, dword [ebp - 0xbc]
mov ebx, dword [eax + 0x10]
mov ecx, dword [eax + 0x14]
cmp ebx, 0xffffffff
jne 0x47fbd6
cmp ecx, 0x7fffffff
je 0x481edd
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1b], 0
jne 0x481edd
add ebx, 1
push 0
pop edx
adc ecx, edx
cmp dword [ebp - 0xcc], ecx
jg 0x47fc2a
jl 0x47fc02
mov eax, dword [ebp - 0xd0]
cmp eax, ebx
jae 0x47fc30
mov eax, ebx
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd0], eax
jmp 0x47fc30
mov eax, ecx
mov dword [ebp - 0xb8], eax
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x47fc12
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [eax + 0xc]
jmp 0x47fbae
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x14], eax
mov ebx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
jmp 0x47fc5c
mov ebx, dword [ebp - 0xe4]
cmp eax, 0x7fffffff
jg 0x47fc71
jl 0x47fc6a
cmp ecx, 0xffffffff
jae 0x47fc71
add ecx, 1
adc eax, edx
jmp 0x47fc88
xorps xmm0, xmm0
movlpd qword [ebp - 0xf0], xmm0
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xf0]
push eax
push ecx
mov ecx, dword [ebx]
call fcn.00472fc6
mov eax, dword [ebp - 0xc8]
add esp, 8
mov dword [ebp - 0xe4], eax
cmp byte [eax + 0x1b], 0
je 0x47fdae
mov eax, dword [ebp - 0x108]
lea edx, [ebp - 0xc4]
mov ecx, dword [ebp - 0x10c]
and eax, 0x3fffffff
push 0
pop ebx
add ecx, 1
mov dword [ebp - 0xc0], ebx
push edx
adc eax, ebx
mov dword [ebp - 0xd0], ecx
push ebx
mov dword [ebp - 0xcc], eax
xor edx, edx
push eax
mov eax, dword [ebp - 0xe4]
push ecx
mov ecx, dword [eax]
call fcn.00473843
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jne 0x47fda6
mov edx, dword [ebp - 0xc4]
test edx, edx
jne 0x47fd9a
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp eax, 0x64
jge 0x47fd9a
lea eax, [ebp - 0xd0]
push eax
push 8
pop eax
push eax
call fcn.004662dc
cmp dword [ebp - 0xc0], 5
mov eax, dword [ebp - 0xd0]
pop ecx
pop ecx
jge 0x47fd4b
and eax, 0xffffff
mov ecx, ebx
jmp 0x47fd57
mov ecx, dword [ebp - 0xcc]
and ecx, 0x3fffffff
add eax, 1
lea edx, [ebp - 0xc4]
push edx
adc ecx, ebx
mov dword [ebp - 0xd0], eax
push ebx
push ecx
mov dword [ebp - 0xcc], ecx
xor edx, edx
mov ecx, dword [ebp - 0xc8]
push eax
mov ecx, dword [ecx]
call fcn.00473843
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xd4], ecx
test ecx, ecx
je 0x47fd01
mov edx, dword [ebp - 0xc4]
test ecx, ecx
jne 0x47fda6
test edx, edx
je 0x481edd
mov eax, dword [ebp - 0xc8]
jmp 0x47fdb0
xor ebx, ebx
mov byte [eax + 0x19], bl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], bl
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], ebx
jmp 0x47e84c
imul edx, dword [ebx + 8], 0x28
mov eax, dword [edi + 0x40]
add edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], edx
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xec], edx
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc0], ecx
cmp byte [ebx], 0x39
mov dword [ebp - 0xe8], ecx
jne 0x47fe18
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], eax
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 0x14]
jmp 0x47fe2c
mov eax, dword [ebx + 0xc]
cdq
mov ecx, eax
mov eax, edx
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], eax
test byte [ebx + 3], 1
je 0x47fe3b
inc dword [edi + 0x68]
test byte [ebx + 3], 2
je 0x47fe6d
mov dword [esi + 0x20], ecx
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xc4]
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0xe8], eax
jmp 0x47fe73
mov eax, dword [ebp - 0xe8]
xor ecx, ecx
test byte [edx + 0x1c], 1
je 0x47fe99
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xe8], eax
test byte [ebx + 3], 0x10
je 0x47feaa
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0xb8], eax
jmp 0x47feb0
mov dword [ebp - 0xb8], ecx
mov eax, 0x4000
test word [edx + 0x1c], ax
je 0x47fec6
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xbc], eax
jmp 0x47fecc
mov dword [ebp - 0xbc], ecx
push ecx
push ecx
mov ecx, dword [ebp - 0xe8]
mov ecx, dword [ecx]
call fcn.00472fc6
push dword [ebp - 0xb8]
movzx eax, byte [ebx + 3]
xor edx, edx
push 8
pop ecx
and eax, ecx
mov ecx, dword [ebp - 0xc0]
push eax
push dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ecx]
push dword [eax + 0x18]
push dword [eax + 4]
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
call fcn.004759c4
mov dword [ebp - 0xd4], eax
xor edx, edx
mov eax, dword [ebp - 0xc0]
add esp, 0x24
mov byte [eax + 0x19], dl
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x1d], dl
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x50], edx
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x481d23
cmp dword [esi + 0xb8], edx
je 0x481d23
cmp dword [ebx + 0x10], edx
je 0x481d23
mov eax, dword [ebp - 0xc0]
push 4
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov edx, dword [eax + ecx*8]
pop eax
push 0x12
mov dword [ebp - 0xb4], edx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xb0], ecx
test byte [ebx + 3], al
pop eax
push 0x17
pop ebx
push dword [ebp - 0xc4]
cmovne eax, ebx
push dword [ebp - 0xc8]
mov dword [ebp - 0xac], eax
push ecx
push edx
push eax
push dword [esi + 0xb4]
call dword [esi + 0xb8]
add esp, 0x18
jmp case.default.0x47c941
mov eax, dword [edi + 0x40]
xorps xmm0, xmm0
movlpd qword [ebp - 0xd0], xmm0
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0xc8], ecx
cmp dword [esi + 0xb8], eax
je 0x47fff4
cmp dword [ebx + 0x10], eax
je 0x47fff4
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xd0], eax
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xcc], eax
call fcn.0047a957
test eax, eax
jne 0x481ee0
mov ecx, dword [ebp - 0xc8]
push eax
push eax
mov ecx, dword [ecx]
call fcn.00472fc6
mov ecx, dword [ebp - 0xc8]
add esp, 8
mov ecx, dword [ecx]
call fcn.00475b8d
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xc8]
and dword [eax + 0x50], 0
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x48007c
mov edx, dword [esi + 0xb8]
test edx, edx
je 0x48007c
cmp dword [ebx + 0x10], eax
je 0x48007c
push dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc8]
push dword [ebp - 0xd0]
push dword [ebx + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
push 9
push dword [esi + 0xb4]
call edx
mov eax, dword [ebp - 0xd4]
add esp, 0x18
test byte [ebx + 8], 1
mov edx, dword [ebp - 0xd8]
je 0x481d29
inc dword [edi + 0x68]
jmp 0x481d29
mov eax, dword [edi + 0x68]
add dword [esi + 0x48], eax
mov dword [esi + 0x44], eax
and dword [edi + 0x68], 0
jmp case.default.0x47c941
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
mov ecx, dword [eax + ecx*4]
lea eax, [ebp - 0xcc]
mov dword [ebp - 0xd0], ecx
imul edx, dword [ebx + 0xc], 0x28
push eax
add edx, dword [ebp - 0xdc]
call fcn.00483731
cmp dword [ebp - 0xcc], 0
pop ecx
mov dword [ebp - 0xd4], eax
je 0x481d23
jmp 0x47f937
imul edx, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
add edx, dword [ebp - 0xdc]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xd0], ecx
call fcn.004836d6
jmp 0x47e0d1
imul eax, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
mov eax, dword [edi + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xcc], eax
call fcn.0047a957
test eax, eax
jne 0x481ee0
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1f], 0
je 0x480186
mov ecx, dword [ebp - 0xcc]
lea edx, [ebp - 0xc0]
call fcn.004730b0
mov eax, dword [esi + 0x4c]
cdq
cmp dword [ebp - 0xbc], edx
jg 0x481f36
mov edx, dword [ebp - 0xc0]
jl 0x48017e
cmp edx, eax
ja 0x481f36
mov dword [ebp - 0xc8], edx
jmp 0x4801ab
mov esi, dword [ebp - 0xcc]
mov ecx, esi
call fcn.00473086
mov edx, dword [esi + 0x34]
mov esi, dword [ebp - 0xf4]
mov dword [ebp - 0xc8], edx
cmp edx, dword [esi + 0x4c]
ja 0x481f36
mov ecx, dword [ebp - 0xe0]
xor ebx, ebx
push ebx
call fcn.00477cb4
pop ecx
test eax, eax
jne 0x481f62
mov ecx, dword [ebp - 0xe0]
mov edx, 0xbf10
mov eax, dword [ebp - 0xc8]
push 0x10
mov dword [ecx + 0x18], eax
mov ax, word [ecx + 0x1c]
and ax, dx
pop edx
or ax, dx
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1f], bl
je 0x480210
push ebx
mov ebx, ecx
xor edx, edx
mov ecx, dword [ebp - 0xcc]
push dword [ebx + 4]
push dword [ebp - 0xc8]
call fcn.004731da
add esp, 0xc
jmp 0x48022e
push dword [ecx + 4]
push dword [ebp - 0xc8]
push ebx
push dword [ebp - 0xcc]
call fcn.004734ba
mov ebx, dword [ebp - 0xe0]
add esp, 0x10
mov dword [ebp - 0xd4], eax
mov byte [ebx + 0x1f], 1
jmp 0x481d23
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
cmp byte [ecx + 0x1c], 0
je 0x48025a
xor eax, eax
inc eax
jmp 0x47d719
cmp byte [ecx + 0x1d], 0
je 0x48026e
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x3c]
jmp 0x4802d3
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x4802a9
mov eax, dword [eax]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xc0], eax
push edx
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
push dword [ecx + 0x24]
call dword [eax + 0x30]
mov edx, dword [ebp - 0xc0]
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0xd4], eax
call fcn.0047c7b2
jmp 0x4802ee
call fcn.0047a957
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x481ee0
mov ecx, dword [ebp - 0xd0]
cmp byte [ecx + 0x19], al
je 0x4802db
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xc4], eax
jmp 0x4802ee
mov ecx, dword [ecx]
lea edx, [ebp - 0xc8]
call fcn.004730b0
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc4]
jmp 0x47e861
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
test ecx, ecx
je case.default.0x47c941
call fcn.00470ab6
jmp case.default.0x47c941
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], edx
test eax, eax
je 0x48037d
lea edx, [ebp - 0xc8]
mov ecx, eax
call fcn.004737fa
mov ecx, dword [ebp - 0xd0]
xor edx, edx
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0xc8]
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], dl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], dl
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], edx
mov eax, dword [ebx + 8]
test eax, eax
jle case.default.0x47c941
cmp dword [ebp - 0xc8], 0
je case.default.0x47c941
jmp 0x47c958
inc dword [edi + 0x7c]
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xc8], 1
cmp dword [ecx + 0x48], 0
je 0x4803f9
lea eax, [ebp - 0xc8]
mov edx, ecx
push eax
mov ecx, esi
call fcn.00483404
pop ecx
mov dword [ebp - 0xd4], eax
jmp 0x480442
mov ecx, dword [ecx]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xcc], ecx
call fcn.004737cf
cmp dword [ebp - 0xc8], 0
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
sete cl
xor edx, edx
mov byte [eax + 0x1a], cl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], dl
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], edx
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], dl
mov eax, dword [ebp - 0xd0]
mov cl, byte [ebp - 0xc8]
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0xc8], 0
jmp 0x47d953
xor edx, edx
cmp dword [esi + 0xe0], edx
jne 0x481f4c
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
test eax, eax
je case.default.0x47c941
lea ecx, [ebp - 0xcc]
push ecx
cmp dword [eax + 0x48], edx
je 0x480499
mov edx, eax
mov ecx, esi
call fcn.00483613
jmp 0x4804a9
mov dword [ebp - 0xcc], 1
push dword [eax]
call dword [ebx + 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xd0]
xor edx, edx
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0xcc]
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], edx
cmp dword [ebp - 0xcc], edx
jne 0x4804ea
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov al, byte [ebx + 3]
test al, al
je 0x4804ea
movzx eax, al
inc dword [edi + eax*4 + 0x74]
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], dl
jmp case.default.0x47c941
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
imul ecx, dword [ebx + 8], 0x28
mov dword [ebp - 0xec], eax
mov eax, dword [eax]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xcc], eax
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xf8], ecx
test eax, eax
je case.default.0x47c941
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x480571
call fcn.00477dcf
mov ecx, dword [ebp - 0xf8]
xor edx, edx
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xd4]
jmp 0x48057b
xor edx, edx
mov eax, edx
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x481d23
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0x48], edx
je 0x48059e
push ecx
mov edx, eax
mov ecx, esi
call fcn.004832c7
pop ecx
jmp 0x47e0d1
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0xc8], esi
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xc4], ecx
test byte [ebx + 3], 0x10
mov dword [ebp - 0xec], esi
mov esi, dword [ebp - 0xf4]
je 0x4805c7
mov eax, dword [eax + 0x4c]
jmp 0x4805c9
mov eax, edx
push eax
push dword [ebx + 0xc]
mov eax, dword [ebp - 0xec]
push edx
push edx
cdq
push 0x58ccc0
push edx
mov edx, ecx
mov ecx, dword [ebp - 0xe8]
push eax
call fcn.004759c4
mov dword [ebp - 0xd4], eax
add esp, 0x1c
mov eax, dword [ebp - 0xd0]
and dword [eax + 0x50], 0
jmp case.default.0x47c941
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [eax]
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je case.default.0x47c941
mov eax, dword [eax + 8]
lea edx, [ebp - 0xc0]
mov dword [ebp - 0xc0], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0xbc], ax
mov byte [ebp - 0xba], 0
imul eax, dword [ebx + 8], 0x28
xor ebx, ebx
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xc8]
push eax
push ebx
push ebx
push ebx
call fcn.00473843
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x480689
cmp dword [ebp - 0xc8], ebx
jne 0x480689
mov ecx, dword [ebp - 0xcc]
call fcn.00475b8d
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], ebx
jmp case.default.0x47c941
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
mov ebx, dword [ebp - 0xe0]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
xor eax, eax
inc eax
mov word [ebx + 0x1c], ax
cmp dword [ebp - 0xd0], 0
je case.default.0x47c941
mov ecx, dword [ebp - 0xcc]
call fcn.0047a957
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x481ee0
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1c], 0
jne case.default.0x47c941
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 0xc8]
push eax
call fcn.0047afec
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne 0x481ee0
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xc4]
push 4
mov dword [ebx + 0x14], eax
pop eax
jmp 0x47d868
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
cmp dword [ecx], 0
je case.default.0x47c941
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc8], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xc4], ax
cmp byte [ebx + 3], 0
push 2
setne al
pop edx
add al, dl
lea edx, [ebp - 0xc8]
mov byte [ebp - 0xc2], al
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xcc]
push eax
call fcn.0047b0cf
cmp byte [ebx], 0x64
pop ecx
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
jne 0x4807a2
neg ecx
jmp 0x4807a3
inc ecx
mov dword [ebp - 0xcc], ecx
test ecx, ecx
jle 0x481d23
jmp 0x47f937
xor edx, edx
mov ecx, edx
mov dword [ebp - 0xcc], ecx
mov eax, dword [esi + 4]
jmp 0x4807e3
cmp dword [eax + 0x30], 0xbdf20da3
jne 0x4807e0
cmp byte [eax + 0x62], 2
jae 0x4807e0
cmp dword [eax + 0x54], edx
jl 0x4807e0
inc ecx
mov dword [ebp - 0xcc], ecx
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x4807c5
mov eax, dword [ebp - 0xe0]
xor ecx, ecx
inc ecx
mov word [eax + 0x1c], cx
cmp dword [ebp - 0xcc], ecx
jle 0x480816
push 6
pop eax
push 2
pop ecx
mov dword [ebp - 0xd4], eax
mov byte [edi + 0x5c], cl
jmp 0x481d23
mov eax, dword [ebx + 0xc]
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xc4], eax
add eax, eax
mov edx, dword [ebx + 4]
push ecx
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0047627c
pop ecx
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xd4], eax
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 0x14], edx
test eax, eax
jne 0x481d23
cmp dword [ebp - 0xd0], eax
je 0x481d23
push dword [ebx + 4]
mov edx, dword [ebp - 0xc4]
mov ecx, esi
push dword [ebp - 0xd0]
call fcn.0048c23c
mov al, byte [ebp - 0xc4]
pop ecx
inc al
pop ecx
mov byte [ebp - 0x101], al
jmp case.default.0x47c941
xor ecx, ecx
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xd0], ecx
xor edx, edx
cmp dword [ebx + 0xc], ecx
mov ecx, dword [esi + 0x10]
cmove eax, edx
mov edx, dword [ebx + 4]
push eax
mov eax, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0047609a
cmp dword [ebx + 0xc], 0
pop ecx
mov dword [ebp - 0xd4], eax
je 0x481d23
mov edx, dword [ebp - 0xd0]
add dword [edi + 0x68], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x481d23
mov ebx, dword [ebp - 0xdc]
mov eax, edx
imul ecx, ecx, 0x28
cdq
add dword [ecx + ebx + 0x10], eax
adc dword [ecx + ebx + 0x14], edx
jmp case.default.0x47c941
and dword [ebp - 0xd0], 0
lea edx, [ebp - 0xd0]
mov ecx, dword [ebx + 4]
xor eax, eax
shl ecx, 4
add ecx, dword [esi + 0x10]
mov dword [ebp - 0xc8], ecx
cmp byte [ebx], 0x69
setne al
inc eax
mov dword [ebp - 0xcc], eax
mov ecx, dword [ecx + 4]
push eax
call fcn.00475f48
mov dword [ebp - 0xd4], eax
jmp 0x47ed92
mov edx, dword [ebx + 4]
mov eax, str.sqlite_master
cmp edx, 1
mov dword [ebp - 0xd0], edx
mov ecx, str.sqlite_temp_master
mov dword [ebp - 0xc4], esi
cmovne ecx, eax
add edx, edx
mov dword [ebp - 0xcc], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0xbc], eax
lea eax, [edi + 0x34]
mov dword [ebp - 0xc0], eax
push dword [ebx + 0x10]
mov eax, dword [esi + 0x10]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.00465fe0
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x4809ab
push 7
pop eax
mov dword [ebp - 0xd4], eax
jmp 0x4809fc
xor ebx, ebx
mov byte [esi + 0x7d], 1
push ebx
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xb8], ebx
push eax
push fcn.004964c9
push dword [ebp - 0xc8]
push esi
call fcn.00493c36
mov edx, dword [ebp - 0xc8]
add esp, 0x14
test eax, eax
mov ecx, esi
cmove eax, dword [ebp - 0xb8]
mov dword [ebp - 0xd4], eax
call fcn.00464d37
mov eax, dword [ebp - 0xd4]
mov byte [esi + 0x7d], bl
test eax, eax
je 0x480a09
mov ecx, esi
call fcn.0048ad8a
mov eax, dword [ebp - 0xd4]
cmp eax, 7
je 0x481f62
jmp 0x481d23
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.00489c30
jmp 0x47e0d1
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.0048af23
jmp 0x47cc34
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.0048ac20
jmp 0x47cc34
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.0049caf0
jmp 0x47cc34
mov edx, dword [ebx + 8]
mov ecx, esi
mov dword [ebp - 0xd0], edx
lea edx, [edx*4 + 4]
call fcn.00464ef8
mov edx, eax
mov dword [ebp - 0xcc], edx
test edx, edx
je 0x481f62
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xbc], ecx
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xec], eax
xor eax, eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xd0], eax
jle 0x480af3
mov edi, dword [ebp - 0xec]
imul ecx, eax, 0x28
add ecx, edi
call fcn.00478010
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0xd0]
jl 0x480ab9
mov edi, dword [ebp - 0x100]
mov edx, dword [ebp - 0xcc]
and dword [edx + eax*4], 0
lea eax, [ebp - 0xc4]
mov ecx, dword [esi + 0x10]
mov edx, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax + 0x10]
movzx eax, byte [ebx + 3]
push dword [ebp - 0xd0]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00476e7c
mov edx, dword [ebp - 0xcc]
add esp, 0xc
mov ecx, esi
mov dword [ebp - 0xc0], eax
call fcn.00464d37
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xec]
cdq
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
mov ecx, ebx
call fcn.004781ca
cmp dword [ebp - 0xc4], 0
je 0x480b85
mov edx, dword [ebp - 0xc0]
test edx, edx
je 0x481f62
push fcn.00464cd9
push 1
push 0xffffffffffffffff
mov ecx, ebx
call fcn.004783f4
add esp, 0xc
movzx edx, byte [ebp - 0xfc]
mov ecx, ebx
call fcn.00477c9a
jmp case.default.0x47c941
imul eax, dword [ebx + 4], 0x28
imul ebx, dword [ebx + 8], 0x28
add eax, dword [ebp - 0xdc]
add ebx, dword [ebp - 0xdc]
mov dword [ebp - 0xec], eax
test byte [eax + 0x1c], 0x20
jne 0x480bcf
mov ecx, eax
call fcn.0047829a
mov eax, dword [ebp - 0xec]
test byte [eax + 0x1c], 0x20
je 0x481f62
push dword [ebx + 0x14]
push dword [ebx + 0x10]
mov ecx, dword [eax + 0x10]
call fcn.0046ae57
jmp 0x47d300
cmp dword [esi + 0xe0], 0
jne 0x481f4c
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xec], eax
test byte [eax + 0x1c], 0x20
je 0x480c32
mov ecx, dword [eax + 0x10]
lea edx, [ebp - 0xd0]
call fcn.0046b0a0
test eax, eax
je 0x480c2c
push dword [ebp - 0xcc]
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0xd0]
jmp 0x47d2f5
mov eax, dword [ebp - 0xec]
mov ecx, eax
call fcn.004781ca
jmp 0x47c955
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 0xc], 0x28
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0xd0], edx
add eax, dword [ebp - 0xdc]
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], ecx
test byte [eax + 0x1c], 0x20
jne 0x480c90
mov ecx, eax
call fcn.0047829a
mov eax, dword [ebp - 0xec]
test byte [eax + 0x1c], 0x20
je 0x481f62
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe8]
test edx, edx
je 0x480cd7
push dword [ecx + 0x14]
mov al, byte [ebp - 0xd0]
push dword [ecx + 0x10]
and al, 0xf
mov ecx, 0xff
test edx, edx
movzx eax, al
cmovns ecx, eax
mov eax, dword [ebp - 0xec]
mov dl, cl
mov ecx, dword [eax + 0x10]
call fcn.0046b0e0
mov dword [ebp - 0xcc], eax
pop ecx
pop ecx
test eax, eax
jne 0x47c955
mov edx, dword [ebp - 0xd0]
test edx, edx
js case.default.0x47c941
mov eax, dword [ebp - 0xe8]
push dword [eax + 0x14]
push dword [eax + 0x10]
mov eax, dword [ebp - 0xec]
jmp 0x480bd5
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0xb8], edx
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], ecx
cmp byte [ebx + 3], 0
je 0x480d46
mov eax, dword [edi + 0xa8]
mov ebx, dword [edx + 0x14]
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x480d46
cmp dword [eax + 0x18], ebx
je 0x480d3e
mov eax, dword [eax + 4]
mov dword [ebp - 0xbc], eax
test eax, eax
jne 0x480d2c
test eax, eax
jne case.default.0x47c941
mov eax, dword [edi + 0xb0]
cmp eax, dword [esi + 0x74]
jl 0x480d72
push str.too_many_levels_of_trigger_recursion
lea eax, [edi + 0x34]
mov dword [ebp - 0xd4], 1
push esi
push eax
call fcn.0046508f
add esp, 0xc
jmp case.default.0x47c941
test byte [ecx + 0x1c], 0x40
jne 0x480ee5
mov eax, dword [edx + 8]
add eax, dword [edx + 0xc]
imul ecx, eax, 0xa
mov dword [ebp - 0xd0], eax
mov eax, dword [edx + 0x10]
add ecx, 0x12
add ecx, dword [edx + 0xc]
lea edx, [eax + ecx*4]
mov ecx, esi
mov dword [ebp - 0xcc], edx
call fcn.00464ed8
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x481f62
mov ecx, dword [ebp - 0xc8]
call fcn.00477f90
mov eax, dword [ebp - 0xc8]
push 0x40
pop ecx
mov edx, dword [ebp - 0xd8]
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xbc]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xbc]
mov dword [eax], edi
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0x3c], eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edi + 8]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edi + 0x18]
mov dword [eax + 0x34], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edi + 0x40]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0xbc]
mov cx, word [edi + 0x2e]
mov word [eax + 0x28], cx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edi + 4]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edi + 0x1c]
mov dword [eax + 0x30], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edi + 0xc0]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edi + 0xbc]
mov dword [eax + 0x38], ecx
mov edx, dword [ebp - 0xbc]
imul eax, dword [edx + 0x3c], 0x28
lea ecx, [edx + 0x48]
mov dword [ebp - 0xc4], ecx
add eax, 0x48
add eax, edx
mov dword [ebp - 0xc0], eax
cmp ecx, eax
je 0x480eee
push 0x28
pop edi
mov eax, 0x80
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc4]
mov dword [eax], esi
mov ecx, dword [ebp - 0xc4]
add ecx, edi
mov dword [ebp - 0xc4], ecx
cmp ecx, dword [ebp - 0xc0]
jne 0x480eb0
mov edi, dword [ebp - 0x100]
mov edx, dword [ebp - 0xbc]
jmp 0x480eee
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xbc], edx
inc dword [edi + 0xb0]
xor ebx, ebx
mov eax, dword [edi + 0xa8]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x10c]
or dword [ebp - 0xd8], 0xffffffff
mov dword [eax + 0x20], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x108]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edi + 0x68]
mov dword [eax + 0x44], ecx
mov ecx, dword [ebp - 0xbc]
mov dword [edi + 0xa8], ecx
mov dword [edi + 0x68], ebx
lea edx, [ecx + 0x20]
mov dword [edi + 8], edx
mov eax, dword [ecx + 0x3c]
mov dword [edi + 0x18], eax
mov ax, word [ecx + 0x40]
mov word [edi + 0x2e], ax
mov eax, dword [edi + 0x18]
inc eax
mov dword [ebp - 0xdc], edx
imul ecx, eax, 0x28
add ecx, edx
mov edx, dword [ebp - 0xb8]
mov dword [edi + 0x40], ecx
mov eax, dword [edx]
mov dword [ebp - 0x114], eax
mov dword [edi + 4], eax
mov eax, dword [edx + 4]
mov dword [edi + 0x1c], eax
movzx eax, word [edi + 0x2e]
lea ecx, [ecx + eax*4]
mov dword [edi + 0xc0], ecx
mov eax, dword [edx + 0x10]
push eax
push ebx
push ecx
mov dword [edi + 0xbc], eax
call fcn.005278d0
jmp 0x480d6a
mov esi, dword [edi + 0xa8]
mov dword [ebp - 0xd0], esi
imul ecx, dword [esi + 0x2c], 0x14
mov eax, dword [esi + 8]
mov eax, dword [ecx + eax + 4]
add eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe0]
imul edx, eax, 0x28
mov eax, 0x1000
push eax
add edx, dword [esi + 0xc]
mov dword [ebp - 0xcc], edx
call fcn.00478304
pop ecx
jmp 0x47cbcd
cmp dword [ebx + 4], 0
mov eax, dword [ebx + 8]
cdq
je 0x480ff7
add dword [esi + 0x1e8], eax
adc dword [esi + 0x1ec], edx
jmp case.default.0x47c941
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
jmp case.default.0x47c941
cmp dword [ebx + 4], 0
je 0x48101f
mov eax, dword [esi + 0x1e8]
or eax, dword [esi + 0x1ec]
jmp 0x47ddb7
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jmp 0x47ddb7
mov eax, dword [edi + 0xa8]
test eax, eax
jne 0x48108d
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], ecx
call fcn.00478113
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0xdc]
mov ecx, esi
call fcn.00478113
mov eax, dword [ebp - 0xd0]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
cmp dword [eax + 0x14], edx
jg 0x47cbcd
jl 0x481080
cmp dword [eax + 0x10], ecx
jae 0x47cbcd
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp 0x47cbcd
mov eax, ecx
mov dword [ebp - 0xcc], eax
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x48108b
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [eax + 0xc]
jmp 0x481044
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [ebp - 0xdc]
cmp dword [eax + ecx + 0x14], edx
jl case.default.0x47c941
jg 0x47c955
cmp dword [eax + ecx + 0x10], edx
jbe case.default.0x47c941
jmp 0x47c955
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [ebp - 0xdc]
cmp dword [eax + ecx + 0x14], edx
jg case.default.0x47c941
jl 0x47c955
cmp dword [eax + ecx + 0x10], edx
jae case.default.0x47c941
jmp 0x47c955
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
cdq
add ecx, dword [ebp - 0xdc]
add dword [ecx + 0x10], eax
mov eax, dword [ecx + 0x10]
adc dword [ecx + 0x14], edx
or eax, dword [ecx + 0x14]
jmp 0x47ddb7
movzx eax, byte [ebx + 3]
mov edx, dword [edi + 0xc]
mov dword [ebp - 0xd0], eax
imul ecx, dword [ebx + 8], 0x28
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0x80], edx
xor edx, edx
mov esi, edx
mov dword [ebp - 0xec], esi
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], esi
mov esi, dword [ebp - 0xf4]
mov dword [ebp - 0xc4], ecx
test eax, eax
jle 0x4811a5
mov edi, dword [ebp - 0xe8]
mov eax, edx
push 0x28
pop esi
mov dword [edi + eax*4], ecx
mov ecx, dword [ebp - 0xc4]
call fcn.0047c5d8
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc4]
inc eax
add ecx, esi
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc4], ecx
cmp eax, dword [ebp - 0xd0]
jge 0x481199
mov edi, dword [ebp - 0x80]
jmp 0x481163
mov edi, dword [ebp - 0x100]
mov esi, dword [ebp - 0xf4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xc0], eax
imul eax, dword [ebx + 0xc], 0x28
push 8
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x90], eax
inc dword [eax + 0x18]
xor eax, eax
mov ecx, dword [ebp - 0xc0]
inc eax
mov word [ebp - 0x9c], ax
pop eax
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x98], edx
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x84], edx
test byte [ecx + 3], al
je 0x481212
mov eax, dword [ebx - 4]
mov dword [ebp - 0x8c], eax
push dword [ebp - 0x80]
lea eax, [ebp - 0xc0]
push dword [ebp - 0xd0]
push eax
call dword [ecx + 0x10]
add esp, 0xc
cmp dword [ebp - 0x88], 0
je 0x48125d
mov dl, 1
lea ecx, [ebp - 0xb8]
call fcn.00478810
push eax
push 0x58e094
lea eax, [edi + 0x34]
push esi
push eax
call fcn.0046508f
mov eax, dword [ebp - 0x88]
add esp, 0x10
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0x84], 0
je 0x481287
mov eax, dword [ebx - 0x10]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x481287
imul ecx, eax, 0x28
push 0
push 1
add ecx, dword [ebp - 0xdc]
call fcn.00478234
pop ecx
pop ecx
lea ecx, [ebp - 0xb8]
call fcn.00477f90
jmp case.default.0x47c941
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebx + 0x10]
call fcn.00477ee2
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x4812d9
mov ecx, dword [ebp - 0xd0]
mov dl, 1
call fcn.00478810
push eax
push 0x58e094
lea eax, [edi + 0x34]
push esi
push eax
call fcn.0046508f
add esp, 0x10
movzx edx, byte [ebp - 0xfc]
mov ecx, dword [ebp - 0xd0]
call fcn.00477c9a
mov ecx, dword [ebp - 0xd0]
jmp 0x47d508
and dword [ebp - 0xcc], 0
lea eax, [ebp - 0xc4]
or dword [ebp - 0xc4], 0xffffffff
mov ecx, esi
or dword [ebp - 0xc8], 0xffffffff
mov edx, dword [ebx + 4]
push eax
lea eax, [ebp - 0xc8]
push eax
push dword [ebx + 8]
call fcn.004a7649
add esp, 0xc
mov dword [ebp - 0xd4], eax
cmp eax, 5
jne 0x481345
and dword [ebp - 0xd4], 0
mov dword [ebp - 0xcc], 1
xor eax, eax
mov dword [ebp - 0xd0], eax
imul ecx, dword [ebx + 0xc], 0x28
push 0x28
pop ebx
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xc0], ecx
mov eax, dword [ebp + eax*4 - 0xcc]
cdq
push edx
push eax
call fcn.00478234
mov eax, dword [ebp - 0xd0]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc0]
inc eax
add ecx, ebx
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc0], ecx
cmp eax, 3
jl 0x481360
jmp case.default.0x47c941
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0xc8], edx
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
cmp edx, 0xffffffff
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xe8], eax
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xe4], ecx
movzx eax, byte [ecx + 5]
cmove edx, eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xc8], edx
call fcn.0046e611
mov ecx, dword [ebp - 0xec]
test eax, eax
mov eax, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xc4]
cmove ecx, edx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xec], ecx
cmp byte [eax + 0xe], 0
je 0x48141e
mov dword [ebp - 0xc0], 0x58ccc0
jmp 0x48142a
mov edi, dword [eax + 0x90]
mov dword [ebp - 0xc0], edi
mov edi, dword [ebp - 0x100]
cmp ecx, 5
jne 0x48146f
mov ecx, dword [ebp - 0xc0]
call fcn.00466946
test eax, eax
je 0x481459
mov ecx, dword [ebp - 0xe4]
call fcn.0046e6d6
mov edx, dword [ebp - 0xc4]
test eax, eax
jne 0x481463
mov ecx, edx
mov dword [ebp - 0xc8], ecx
jmp 0x481469
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xe4]
cmp ecx, edx
je 0x481578
cmp edx, 5
je 0x481485
cmp ecx, 5
jne 0x481578
cmp byte [esi + 0x34], 0
je 0x481546
cmp dword [esi + 0x80], 1
jg 0x481546
cmp edx, 5
jne 0x4814e2
mov ecx, eax
call fcn.0046e795
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4814d1
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
call fcn.0046e557
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
jmp 0x48151c
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0xe4], edx
jmp 0x481582
cmp edx, 4
jne 0x48150d
push 2
pop ecx
mov edx, ecx
mov ecx, eax
call fcn.0046e557
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xd0]
jmp 0x481513
mov eax, dword [ebp - 0xe8]
cmp dword [ebp - 0xd4], 0
jne 0x481582
xor edx, edx
cmp ecx, 5
mov ecx, eax
sete dl
inc edx
call fcn.004772eb
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xe4], edx
jmp 0x48157e
cmp ecx, 5
mov dword [ebp - 0xd4], 1
mov eax, str.into
mov edx, str.out_of
cmovne eax, edx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
lea eax, [edi + 0x34]
push esi
push eax
call fcn.0046508f
add esp, 0x10
jmp case.default.0x47c941
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x48158e
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], ecx
mov edx, ecx
mov ecx, dword [ebp - 0xe4]
call fcn.0046e557
mov dword [ebp - 0xc8], eax
mov eax, 0xa02
imul ebx, dword [ebx + 8], 0x28
add ebx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], ebx
mov word [ebx + 0x1c], ax
mov ecx, dword [ebp - 0xc8]
call fcn.004945a7
mov ecx, eax
mov dword [ebx + 4], eax
call fcn.00466946
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1f], 1
jmp 0x480b85
lea ecx, [edi + 0x34]
mov edx, esi
call fcn.0049e151
jmp 0x47e0d1
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xd0], ecx
call fcn.00472a98
mov dword [ebp - 0xd4], eax
cmp eax, 0x65
jne 0x481d23
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd8], eax
xor eax, eax
jmp 0x47e0d1
cmp dword [ebx + 4], 0
jne 0x481633
mov ecx, esi
call fcn.0047b16f
jmp case.default.0x47c941
mov byte [edi + 0x5f], 1
jmp case.default.0x47c941
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x124], al
test al, al
jne 0x481656
test dword [esi + 0x18], 0x80000
jne case.default.0x47c941
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x10]
add eax, eax
push dword [ebp - 0x124]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00477242
mov dword [ebp - 0xd4], eax
pop ecx
cmp al, 6
jne 0x481d23
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x481566
mov edx, dword [ebx + 0x10]
mov ecx, esi
mov dword [ebp - 0xd0], edx
call fcn.0049f0a1
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
test edx, edx
je 0x481d23
mov edx, dword [edx + 8]
mov ecx, edi
call fcn.0047c7b2
jmp case.default.0x47c941
mov edx, dword [ebx + 4]
lea eax, [edi + 0x34]
push eax
push dword [ebx + 0x10]
mov ecx, esi
call fcn.0049ed29
pop ecx
jmp 0x480598
push 2
pop eax
mov byte [edi + 0x62], al
mov ecx, esi
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.0049ef39
pop ecx
mov dword [ebp - 0xd4], eax
mov byte [edi + 0x62], 0
jmp 0x481d23
xor eax, eax
lea edx, [ebp - 0xcc]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + 0x10]
push edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc8], ecx
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc4], eax
call dword [eax + 0x18]
mov edx, dword [ebp - 0xc8]
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0xd4], eax
call fcn.0047c7b2
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x481d23
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
mov dword [eax], ecx
xor eax, eax
mov edx, dword [ebx + 4]
mov ecx, edi
push eax
push 0xffffffffffffffff
push eax
call fcn.0047c603
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x481795
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x28], ecx
jmp case.default.0x47c941
mov byte [esi + 0x36], 1
mov eax, dword [ebp - 0xc4]
push dword [ebp - 0xcc]
call dword [eax + 0x1c]
jmp 0x47cc34
imul edx, dword [ebx + 0xc], 0x28
add edx, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], edx
lea eax, [edx + 0x28]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xb4], eax
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xbc], eax
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
mov eax, dword [eax]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xd0], eax
mov eax, dword [edx + 0x10]
mov edx, dword [edi + 0xc]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xcc], eax
xor eax, eax
mov ecx, eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xac], ecx
test eax, eax
jle 0x4818b3
lea eax, [ecx + 1]
imul eax, eax, 0x28
add eax, dword [ebp - 0xc0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx + eax*4]
call fcn.0047c5d8
mov ecx, dword [ebp - 0xac]
mov esi, dword [ebp - 0xd0]
inc ecx
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xec], esi
cmp ecx, esi
jl 0x481841
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xf4]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xec]
jmp 0x4818b9
mov ecx, dword [ebp - 0xd4]
push edx
push eax
mov eax, dword [ebp - 0xf8]
mov byte [edi + 0x62], 1
push dword [ebx + 0x10]
push dword [ebp - 0xe8]
push ecx
call dword [eax + 0x20]
mov edx, dword [ebp - 0xb8]
add esp, 0x14
mov ecx, edi
mov dword [ebp - 0xd4], eax
mov byte [edi + 0x62], 0
call fcn.0047c7b2
cmp dword [ebp - 0xd4], 0
jne 0x48190d
mov eax, dword [ebp - 0xc8]
push dword [ebp - 0xbc]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xb0], eax
jmp 0x481913
mov eax, dword [ebp - 0xb0]
test eax, eax
je 0x481921
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xb4]
mov byte [eax + 0x1c], 0
jmp case.default.0x47c941
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
mov eax, dword [eax + ecx*4]
imul ecx, dword [ebx + 0xc], 0x28
mov dword [ebp - 0xec], eax
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], ecx
cmp byte [eax + 0x1c], 0
jne 0x47ce4f
mov eax, dword [eax + 0x24]
push 0x40
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
pop eax
push eax
lea eax, [ebp - 0xc0]
push 0
push eax
call fcn.005278d0
mov edx, dword [ebp - 0xc8]
lea ecx, [ebp - 0xb8]
add esp, 0xc
call fcn.004783ce
mov eax, dword [ebp - 0x9c]
mov ecx, 0xbf01
and eax, ecx
or eax, 1
mov word [ebp - 0x9c], ax
lea eax, [ebp - 0xc0]
push dword [ebx + 8]
push eax
mov eax, dword [ebp - 0xec]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xcc]
call dword [eax + 0x2c]
mov edx, dword [ebp - 0xd0]
add esp, 0xc
mov ecx, edi
mov dword [ebp - 0xd4], eax
call fcn.0047c7b2
cmp dword [ebp - 0x88], 0
lea ecx, [ebp - 0xb8]
mov eax, dword [ebp - 0xd4]
cmovne eax, dword [ebp - 0x88]
movzx edx, byte [ebp - 0xfc]
mov dword [ebp - 0xd4], eax
call fcn.00477c9a
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xb8]
call fcn.004783ce
mov ecx, dword [ebp - 0xc8]
jmp 0x47d508
and dword [ebp - 0xc8], 0
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
cmp byte [ecx + 0x1c], 0
jne case.default.0x47c941
mov eax, dword [ecx + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov byte [edi + 0x62], 1
push dword [ecx + 0x24]
call dword [eax + 0x24]
mov edx, dword [ebp - 0xd0]
pop ecx
mov ecx, edi
mov dword [ebp - 0xd4], eax
mov byte [edi + 0x62], 0
call fcn.0047c7b2
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x481aa5
mov eax, dword [ebp - 0xc4]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xcc]
call dword [eax + 0x28]
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], ecx
jmp 0x481aab
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
jne 0x481d23
jmp 0x47f937
mov eax, dword [ebx + 0x10]
xor edx, edx
inc edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xd0], eax
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], ecx
call fcn.00477c9a
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x481d23
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xcc]
mov edx, dword [ecx]
push dword [eax + 4]
push ecx
call dword [edx + 0x4c]
mov edx, dword [ebp - 0xd0]
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0xd4], eax
call fcn.0047c7b2
jmp 0x47ee3e
mov eax, dword [ebx + 0x10]
xor edx, edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xec], ecx
cmp dword [eax + 0x34], edx
je case.default.0x47c941
mov al, byte [esi + 0x3a]
mov byte [ebp - 0xe1], al
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xb8], eax
imul ecx, dword [ebx + 0xc], 0x28
mov dword [ebp - 0xc4], edx
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xb4], ecx
cmp dword [ebp - 0xec], edx
jle 0x481bbd
push 0x28
pop edi
call fcn.0047c5d8
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb4]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc4]
add ecx, edi
inc eax
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0xc8]
jl 0x481b7a
mov edi, dword [ebp - 0x100]
mov al, byte [ebx + 3]
mov byte [esi + 0x3a], al
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0xb8]
mov eax, dword [ebp - 0xcc]
push dword [ebp - 0xc8]
push dword [ebp - 0xd0]
call dword [eax + 0x34]
mov dword [ebp - 0xd4], eax
add esp, 0x10
mov al, byte [ebp - 0xe1]
mov ecx, edi
mov byte [esi + 0x3a], al
mov edx, dword [ebp - 0xd0]
call fcn.0047c7b2
xor edx, edx
cmp dword [ebp - 0xd4], edx
jne 0x481c37
cmp dword [ebx + 4], edx
je 0x481c70
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x10c], eax
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x108], ecx
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0xd4]
cmp eax, 0x13
jne 0x481c76
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x481c70
mov al, byte [ebx + 3]
push 4
pop ecx
cmp al, cl
jne 0x481c5c
mov eax, edx
jmp 0x47e0d1
cmp al, 5
jne 0x481c65
push 2
pop eax
jmp 0x481c68
movzx eax, al
mov byte [edi + 0x5c], al
jmp case.default.0x47c941
mov eax, dword [ebp - 0xd4]
inc dword [edi + 0x68]
jmp 0x481d23
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
and dword [edx + 0x14], 0
mov dword [edx + 0x10], eax
jmp case.default.0x47c941
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0xec], eax
test ecx, ecx
je 0x481cc8
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x2c]
cmp edx, ecx
mov eax, dword [ebp - 0xec]
cmovb edx, ecx
mov ecx, eax
call fcn.00472059
jmp 0x47ca58
cmp dword [esi + 0x94], 0
je case.default.0x47c941
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x481cea
mov edx, dword [edi + 0xa0]
mov dword [ebp - 0xd0], edx
test edx, edx
je case.default.0x47c941
mov ecx, edi
call fcn.0047c302
push eax
mov dword [ebp - 0xcc], eax
push dword [esi + 0x98]
call dword [esi + 0x94]
mov edx, dword [ebp - 0xcc]
pop ecx
pop ecx
mov ecx, esi
call fcn.00464d37
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
inc edx
mov dword [ebp - 0xd8], edx
test eax, eax
jne 0x481f87
mov ecx, dword [ebp - 0x120]
mov eax, edx
jmp 0x47c8ac
push 9
jmp 0x481f7a
mov ecx, dword [ebx + 4]
mov dword [edi + 0x58], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x5c], al
mov eax, dword [ebp - 0xd8]
mov dword [edi + 0x54], eax
cmp dword [ebx + 0x10], 0
je 0x481d9b
push dword [ebx + 0x10]
lea eax, [edi + 0x34]
push 0x58e094
push esi
push eax
call fcn.0046508f
push dword [ebx + 0x10]
mov edx, dword [ebp - 0xd8]
push dword [edi + 0xa0]
push edx
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.00466195
add esp, 0x24
jmp 0x481db6
test ecx, ecx
je 0x481db6
push dword [edi + 0xa0]
push eax
push str.constraint_failed_at__d_in___s_
push dword [ebx + 4]
call fcn.00466195
add esp, 0x10
mov ecx, edi
call fcn.0047a4a1
mov ebx, dword [ebp - 0xf4]
push 5
pop ecx
cmp eax, ecx
jne 0x481dd1
mov esi, ecx
mov dword [edi + 0x58], ecx
jmp 0x481dfd
cmp dword [edi + 0x58], 0
push 0x65
pop esi
push 1
pop eax
cmovne esi, eax
jmp 0x481dfd
cmp byte [esi + 0x36], 0
jne 0x481f62
mov eax, dword [ebp - 0xd8]
inc eax
push 0x64
mov dword [edi + 0x54], eax
pop esi
mov ebx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x10c]
mov ecx, edi
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x108]
mov dword [ebx + 0x24], eax
call fcn.004795c1
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0052b1ec
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0xc0]
call fcn.00477f90
jmp 0x481f62
mov edx, dword [ebp - 0xd8]
mov dword [edi + 0x54], edx
mov byte [esi + 0x34], bl
mov esi, ecx
mov dword [edi + 0x58], ecx
jmp 0x481df7
test ecx, ecx
je 0x481e75
mov edx, 0x204
mov ecx, esi
call fcn.004a6ef1
mov byte [esi + 0x34], 1
mov ecx, esi
call fcn.004a6ba4
xor esi, esi
inc esi
cmp dword [edi + 0x58], ebx
push 0x65
pop eax
cmove esi, eax
jmp 0x481df7
xor edx, edx
mov ecx, edi
inc edx
call fcn.0047a44c
mov esi, eax
test esi, esi
jne 0x481df7
mov esi, dword [ebp - 0xf4]
mov ecx, edi
mov al, byte [ebp - 0xd0]
mov byte [esi + 0x34], al
call fcn.0047a4a1
push 5
pop ecx
cmp eax, ecx
jne 0x481e60
mov edx, dword [ebp - 0xd8]
xor eax, eax
inc eax
mov dword [edi + 0x54], edx
sub al, byte [ebp - 0xd0]
mov byte [esi + 0x34], al
jmp 0x481e45
mov edx, dword [ebp - 0xd8]
mov dword [edi + 0x54], edx
jmp 0x481e45
mov ecx, 0x1046a
call fcn.004a836e
mov esi, dword [ebp - 0xf4]
jmp 0x481ee0
push 0xd
pop eax
cmp byte [esi + 0x36], 0
push 7
pop ecx
cmovne eax, ecx
mov dword [ebp - 0xd4], eax
cmp eax, 0xc0a
je 0x481f81
cmp eax, 0x204
je 0x481f10
mov ecx, eax
mov edx, str.unknown_error
call fcn.004a6fa8
jmp 0x481f15
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x58e094
lea eax, [edi + 0x34]
push esi
push eax
call fcn.0046508f
mov eax, dword [ebp - 0xd4]
add esp, 0x10
jmp 0x481f81
mov edi, dword [ebp - 0x100]
push str.string_or_blob_too_big
lea eax, [edi + 0x34]
push esi
push eax
call fcn.0046508f
add esp, 0xc
push 0x12
jmp 0x481f7a
push 9
pop ebx
mov dword [ebp - 0xd4], ebx
mov ecx, ebx
mov dword [edi + 0x58], ebx
jmp 0x481f04
mov edi, dword [ebp - 0x100]
push str.out_of_memory
lea eax, [edi + 0x34]
mov byte [esi + 0x36], 1
push esi
push eax
call fcn.0046508f
add esp, 0xc
push 7
pop eax
mov dword [ebp - 0xd4], eax
mov edx, dword [ebp - 0xd8]
push dword [edi + 0x34]
mov dword [edi + 0x58], eax
push dword [edi + 0xa0]
push edx
push str.statement_aborts_at__d:___s___s
push eax
call fcn.00466195
add esp, 0x14
mov ecx, edi
call fcn.0047a4a1
cmp dword [ebp - 0xd4], 0xc0a
jne 0x481fb9
mov byte [esi + 0x36], 1
mov al, byte [ebp - 0x101]
xor esi, esi
inc esi
test al, al
je 0x481df7
mov ebx, dword [ebp - 0xf4]
mov ecx, ebx
movzx edx, al
dec edx
call fcn.0048ad5d
jmp 0x481dfd