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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x5c8910]
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.0047b50c
push 7
pop eax
cmp dword [edi + 0x58], eax
je 0x483f0a
mov dword [edi + 0x58], ebx
mov dword [edi + 0x14], ebx
mov dword [esi + 0x1b4], ebx
cmp dword [esi + 0xe0], ebx
jne 0x483ef4
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 0x483f0a
imul ebx, eax, 0x14
add ebx, dword [ebp - 0x114]
test ecx, ecx
je 0x47e89b
mov eax, dword [ebp - 0x11c]
cmp dword [esi + 0x11c], eax
jne 0x47e894
push dword [esi + 0x118]
call dword [esi + 0x114]
pop ecx
test eax, eax
jne 0x483ced
push 2
pop edx
inc eax
mov dword [ebp - 0x11c], eax
test byte [ebx + 2], dl
je 0x47e8d1
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 0x47e8c8
mov ecx, edx
call fcn.00479ee2
mov edx, dword [ebp - 0xe0]
push 4
pop ecx
mov word [edx + 0x1c], cx
jmp 0x47e8da
mov edx, dword [ebp - 0xe0]
push 4
pop ecx
movzx eax, byte [ebx]
dec eax
cmp eax, 0x93
ja case.default.0x47e8e9
jmp dword [eax*4 + 0x483f88]
cmp dword [esi + 0xe0], 0
jne 0x483ef4
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x47e8e9
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 0x47e8fd
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xdc]
mov eax, dword [eax + ecx + 0x10]
jmp 0x47e901
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 0x47e901
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0xdc]
test byte [eax + ecx + 0x1c], 1
je case.default.0x47e8e9
cmp dword [ebx + 4], 0
jne 0x483cf4
mov ecx, dword [edi + 0xa8]
test ecx, ecx
je 0x483cf4
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.0047bd00
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 0x47e9e6
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.0x47e8e9
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe0]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x47e8e9
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.0x47e8e9
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.0x47e8e9
mov ecx, dword [ebx + 0x10]
mov byte [ebx], 9
call fcn.004688e7
mov dword [ebx + 4], eax
xor eax, eax
inc eax
cmp byte [ebp - 0xfc], al
je 0x47eadf
push 0
push eax
mov edx, ecx
mov ecx, dword [ebp - 0xe0]
push 0xffffffffffffffff
call fcn.0047a397
add esp, 0xc
mov dword [ebp - 0xd4], eax
cmp eax, 0x12
je 0x483ede
movzx edx, byte [ebp - 0xfc]
mov ecx, dword [ebp - 0xe0]
call fcn.00479c3d
test eax, eax
jne 0x483f0a
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 0x47eacf
mov edx, dword [ebx + 0x10]
mov ecx, esi
call fcn.00466cd8
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 0x483ede
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.0x47e8e9
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.0x47e8e9
push 0x28
pop edi
mov esi, 0x2460
add ebx, edi
test word [ebx + 0x1c], si
je 0x47eb54
mov ecx, ebx
call fcn.00479ee2
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 0x47eb42
mov edi, dword [ebp - 0x100]
mov dword [ebp - 0xe0], ebx
mov esi, dword [ebp - 0xf4]
jmp case.default.0x47e8e9
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.0047a397
mov al, byte [ebp - 0xfc]
add esp, 0xc
mov byte [ebx + 0x1f], al
jmp case.default.0x47e8e9
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.0047a284
test eax, eax
jne 0x483ede
mov ecx, dword [ebp - 0xe0]
mov eax, 0x800
push eax
mov edx, ebx
call fcn.0047a2a7
pop ecx
jmp case.default.0x47e8e9
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 0x47ec64
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.0047a371
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 0x47ec1e
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.0x47e8e9
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.0047a2a7
mov eax, 0x1000
pop ecx
test word [ebx + 0x1c], ax
je case.default.0x47e8e9
mov ecx, ebx
call fcn.00479d16
test eax, eax
jne 0x483f0a
jmp case.default.0x47e8e9
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 0x47ebd7
xor edx, edx
mov ecx, edi
call fcn.0047c3f2
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x483ccb
xor edx, edx
mov ecx, edi
inc edx
call fcn.0047c2f5
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x483ccb
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 0x483d88
imul eax, ecx, 0x28
mov esi, 0x1000
add eax, edx
test word [eax + 0x1c], si
mov esi, dword [ebp - 0xf4]
je 0x47ed7a
mov ecx, eax
call fcn.00479d16
test eax, eax
jne 0x483f0a
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xd0]
imul ecx, ecx, 0x28
add ecx, edx
call fcn.00479dc5
imul ecx, dword [ebp - 0xcc], 0x28
add ecx, dword [ebp - 0xd0]
call fcn.0047e57e
mov ecx, dword [ebp - 0xcc]
inc ecx
mov dword [ebp - 0xcc], ecx
cmp ecx, dword [ebx + 8]
jge 0x483d88
mov edx, dword [ebp - 0xd0]
jmp 0x47ed49
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 0x47ee01
mov ecx, dword [ebp - 0xe0]
call fcn.0047a16d
jmp case.default.0x47e8e9
mov eax, 0x4000
test eax, ebx
je 0x47ee1b
mov ecx, edx
call fcn.00479d72
mov ecx, dword [ebp - 0xe4]
xor ebx, ebx
jmp 0x47ee1f
xor ebx, ebx
mov eax, ebx
test eax, eax
jne 0x483f0a
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x47ee39
call fcn.00479d72
jmp 0x47ee3b
mov eax, ebx
test eax, eax
jne 0x483f0a
mov eax, dword [ebp - 0xe8]
test byte [eax + 0x1c], 0x12
jne 0x47ee65
movzx edx, byte [ebp - 0xfc]
mov ecx, eax
call fcn.00479e0f
test eax, eax
jne 0x483f0a
mov eax, dword [ebp - 0xe4]
test byte [eax + 0x1c], 0x12
jne 0x47ee87
movzx edx, byte [ebp - 0xfc]
mov ecx, eax
call fcn.00479e0f
test eax, eax
jne 0x483f0a
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 0x483ede
jl 0x47eec2
cmp dword [ebp - 0xd0], eax
ja 0x483ede
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.00479c57
pop ecx
test eax, eax
jne 0x483f0a
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe0]
cmp ecx, eax
je 0x47ef28
push dword [eax + 0x18]
push dword [eax + 4]
push dword [ecx + 4]
call fcn.005382c0
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.005382c0
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 0x47eb03
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xdc]
mov ecx, eax
mov dword [ebp - 0xe4], eax
call fcn.0047e662
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0xdc]
mov ecx, eax
mov dword [ebp - 0xf8], eax
call fcn.0047e662
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 0x47edf1
mov eax, dword [ebp - 0xf8]
push 4
pop ecx
mov al, byte [eax + 0x1c]
and al, byte [edx + 0x1c]
test cl, al
je 0x47f13d
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 0x47f0f1
dec eax
je 0x47f0e2
dec eax
je 0x47f0d3
dec eax
mov eax, ecx
je 0x47f08c
or eax, edx
je 0x47edf1
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x47f077
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.0054f840
jmp 0x47f0c5
or eax, edx
je 0x47edf1
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0xe8]
jne 0x47f0b7
test eax, eax
jne 0x47f0b7
cmp dword [ebp - 0xec], 0x80000000
je 0x47f137
push edx
push ecx
push dword [ebp - 0xec]
push eax
call fcn.0054f790
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
jmp 0x47f104
push edx
push ecx
lea ecx, [ebp - 0xc0]
call fcn.0046967b
jmp 0x47f0fe
push edx
push ecx
lea ecx, [ebp - 0xc0]
call fcn.0046962d
jmp 0x47f0fe
push edx
push ecx
lea ecx, [ebp - 0xc0]
call fcn.004695a1
pop ecx
pop ecx
test eax, eax
jne 0x47f137
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.0x47e8e9
mov edx, dword [ebp - 0xe4]
mov ecx, edx
call fcn.0047a00f
mov ecx, dword [ebp - 0xf8]
movsd qword [ebp - 0xb8], xmm0
call fcn.0047a00f
movsd qword [ebp - 0xb0], xmm0
movzx eax, byte [ebx]
movsd qword [ebp - 0xf0], xmm0
sub eax, 0x56
je 0x47f22d
dec eax
je 0x47f223
dec eax
je 0x47f219
dec eax
je 0x47f1f9
movsd xmm0, qword [ebp - 0xb8]
call fcn.0056e07f
movsd xmm0, qword [ebp - 0xf0]
mov ebx, eax
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], edx
call fcn.0056e07f
mov dword [ebp - 0xc0], eax
mov ecx, ebx
mov eax, dword [ebp - 0xc4]
or ecx, eax
mov dword [ebp - 0xbc], edx
je 0x47edf1
mov ecx, ebx
and ecx, eax
cmp ecx, 0xffffffff
jne 0x47f1e2
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.0054f840
mov ecx, eax
call fcn.0056e21f
jmp 0x47f235
movsd xmm1, qword [ebp - 0xb8]
ucomisd xmm1, qword [0x5ab958]
lahf
test ah, 0x44
jnp 0x47edf1
divsd xmm0, xmm1
jmp 0x47f235
mulsd xmm0, qword [ebp - 0xb8]
jmp 0x47f235
subsd xmm0, qword [ebp - 0xb8]
jmp 0x47f235
addsd xmm0, qword [ebp - 0xb8]
movsd qword [ebp - 0xb0], xmm0
call fcn.004688b7
test eax, eax
jne 0x47edf1
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.0x47e8e9
mov ecx, ebx
call fcn.0047a063
jmp case.default.0x47e8e9
mov eax, dword [ebx + 4]
test eax, eax
je case.default.0x47e8e9
xor ebx, ebx
imul ecx, eax, 0x28
push ebx
push ebx
add ecx, dword [ebp - 0xdc]
call fcn.0047a1d7
pop ecx
jmp 0x47ebdc
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 0x47f365
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 0x47f330
call fcn.00479d16
test eax, eax
jne 0x483f0a
mov ecx, dword [ebp - 0xcc]
call fcn.0047e57e
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 0x47f363
mov ecx, dword [ebp - 0x88]
jmp 0x47f309
xor ecx, ecx
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 0x10]
jne 0x47f376
mov dword [ebp - 0xc4], ecx
jmp 0x47f37e
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.0047a371
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 0x47f3e6
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 0x47f448
mov edx, dword [ebx + 4]
call fcn.0047c7b7
mov eax, dword [ebp - 0xc4]
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf9
cmp byte [esi + 0x36], 0
jne 0x483dd1
cmp dword [ebp - 0x90], 0
je 0x47f487
mov dl, 1
lea ecx, [ebp - 0xc0]
call fcn.0047a7b3
push eax
push 0x5a22a4
lea eax, [edi + 0x34]
push esi
push eax
call fcn.00467030
mov eax, dword [ebp - 0x90]
add esp, 0x10
mov dword [ebp - 0xd4], eax
movzx edx, byte [ebp - 0xfc]
lea ecx, [ebp - 0xc0]
call fcn.00479c3d
mov ecx, dword [ebp - 0xe0]
lea edx, [ebp - 0xc0]
call fcn.0047a371
mov ecx, dword [ebp - 0xe0]
call fcn.0047a284
test eax, eax
jne 0x483ede
jmp case.default.0x47e8e9
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 0x47edf1
mov ecx, edx
call fcn.00479fb3
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
call fcn.00479fb3
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 0x47f55b
mov ecx, dword [ebp - 0xd0]
and ecx, dword [ebp - 0xf8]
and dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
jmp 0x47f69d
cmp al, 0x53
jne 0x47f57c
mov ecx, dword [ebp - 0xd0]
or ecx, dword [ebp - 0xf8]
or dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
jmp 0x47f69d
mov eax, ecx
or eax, edx
je 0x47f697
xor ebx, ebx
cmp edx, ebx
jg 0x47f5cd
jl 0x47f592
cmp ecx, ebx
jae 0x47f5cd
mov al, 0xa9
sub al, byte [ebp - 0xe1]
mov byte [ebp - 0xb8], al
cmp edx, 0xffffffff
jl 0x47f5c6
jg 0x47f5ac
cmp ecx, 0xffffffc0
jbe 0x47f5c6
neg ecx
adc edx, ebx
neg edx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xbc], edx
jmp 0x47f5d3
push 0x40
pop ecx
mov edx, ebx
jmp 0x47f5b2
mov al, byte [ebp - 0xe1]
cmp edx, ebx
jl 0x47f60f
jg 0x47f5e0
push 0x40
pop edx
cmp ecx, edx
jb 0x47f60f
cmp dword [ebp - 0xcc], ebx
jg 0x47f5f9
jl 0x47f5f2
cmp dword [ebp - 0xd0], ebx
jae 0x47f5f9
cmp al, 0x54
je 0x47f5f9
or ebx, 0xffffffff
mov eax, ebx
cdq
mov ecx, eax
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
jmp 0x47f69d
mov edx, dword [ebp - 0xcc]
cmp al, 0x54
mov eax, dword [ebp - 0xd0]
jne 0x47f62a
call fcn.0056dde0
mov ecx, eax
mov eax, edx
jmp 0x47f67d
call fcn.005665c0
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 0x47f689
jl 0x47f657
cmp dword [ebp - 0xd0], ebx
jae 0x47f689
push 0x40
pop eax
mov ecx, eax
or edx, 0xffffffff
sub ecx, dword [ebp - 0xf8]
or eax, 0xffffffff
call fcn.0056dde0
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 0x47f69d
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.0x47e8e9
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xdc]
mov ecx, esi
call fcn.0047a0b6
mov eax, dword [ebx + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp 0x47eb75
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xdc]
mov ecx, eax
mov dword [ebp - 0xec], eax
call fcn.0047e662
mov eax, dword [ebp - 0xec]
push 8
pop ecx
test byte [eax + 0x1c], cl
je 0x47f71c
mov ecx, eax
call fcn.0047a063
mov eax, dword [ebp - 0xec]
movzx ecx, word [eax + 0x1c]
push 4
pop edx
test dl, cl
jne 0x47f739
mov eax, dword [ebx + 8]
test eax, eax
jne 0x47e900
push 0x14
jmp 0x483e87
mov ebx, 0xbf04
and ecx, ebx
or ecx, edx
mov word [eax + 0x1c], cx
jmp case.default.0x47e8e9
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], al
je case.default.0x47e8e9
call fcn.0047a0dc
jmp case.default.0x47e8e9
imul ebx, dword [ebx + 4], 0x28
add ebx, dword [ebp - 0xdc]
movzx ecx, word [ebx + 0x1c]
test cl, 1
jne case.default.0x47e8e9
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.0047e6df
mov eax, 0x4000
pop ecx
test word [ebx + 0x1c], ax
je 0x47f7bc
mov ecx, ebx
call fcn.00479d72
mov dword [ebp - 0xd4], eax
jmp 0x47f7c3
and dword [ebp - 0xd4], 0
mov eax, 0xbfe3
and word [ebx + 0x1c], ax
jmp case.default.0x47e8e9
imul ebx, dword [ebx + 4], 0x28
add ebx, dword [ebp - 0xdc]
movzx eax, word [ebx + 0x1c]
test al, 1
jne case.default.0x47e8e9
push 0x10
pop ecx
test cl, al
jne 0x47f819
push dword [ebp - 0xfc]
mov dl, 0x61
mov ecx, ebx
call fcn.0047e6df
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.0x47e8e9
and eax, 0xff10
jmp 0x47f810
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xdc]
call fcn.0047a101
jmp case.default.0x47e8e9
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], 1
jne case.default.0x47e8e9
call fcn.0047a0b6
jmp case.default.0x47e8e9
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], 1
jne case.default.0x47e8e9
jmp 0x47f761
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 0x47f906
mov al, byte [ebx + 3]
test al, al
jns 0x47f8ce
and cl, ah
test dl, cl
push 0
pop edx
sete dl
jmp 0x47f99d
push 0x10
pop ecx
test cl, al
je 0x47f8f6
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 0x47f12b
push 8
pop ecx
test cl, al
je case.default.0x47e8e9
jmp 0x47e8fd
mov dl, byte [ebx + 3]
and dl, 0x67
mov byte [ebp - 0xcc], dl
je 0x47f948
push dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xf8]
call fcn.0047e6df
mov dl, byte [ebp - 0xcc]
pop ecx
push dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xe8]
call fcn.0047e6df
cmp byte [esi + 0x36], 0
pop ecx
jne 0x483f0a
mov eax, dword [ebp - 0xf8]
mov ecx, 0x4000
test word [eax + 0x1c], cx
je 0x47f965
mov ecx, eax
call fcn.00479d72
mov ecx, 0x4000
mov eax, dword [ebp - 0xe8]
test word [eax + 0x1c], cx
je 0x47f97e
mov ecx, eax
call fcn.00479d72
mov eax, dword [ebp - 0xe8]
push dword [ebx + 0x10]
mov edx, dword [ebp - 0xf8]
mov ecx, eax
call fcn.0047a4f0
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 0x47f9dc
dec ecx
je 0x47f9d5
dec ecx
je 0x47f9ce
dec ecx
je 0x47f9c7
dec ecx
je 0x47f9c0
test edx, edx
setns al
jmp 0x47f9e1
test edx, edx
sets al
jmp 0x47f9e1
test edx, edx
setle al
jmp 0x47f9e1
test edx, edx
setg al
jmp 0x47f9e1
test edx, edx
sete al
jmp 0x47f9e1
test edx, edx
setne al
push 0x10
pop ecx
mov dword [ebp - 0xd0], eax
test byte [ebx + 3], cl
je 0x47fa30
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 0x47fa3e
test eax, eax
je 0x47fa3e
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.0x47e8e9
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x118], ecx
jmp case.default.0x47e8e9
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 0x47fb7a
mov eax, dword [ebp - 0x118]
test eax, eax
je 0x47fac6
mov eax, dword [eax + edx*4]
jmp 0x47fac8
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.0047a4f0
mov dword [ebp - 0x110], eax
pop ecx
test eax, eax
jne 0x47fb6a
mov edx, dword [ebp - 0xcc]
inc edx
mov dword [ebp - 0xcc], edx
cmp edx, dword [ebp - 0xd0]
jge 0x47fb7a
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 0x47fab7
cmp dword [ebp - 0xb4], ebx
je 0x47fb7a
neg eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x118], ebx
jmp case.default.0x47e8e9
mov eax, dword [ebp - 0x110]
test eax, eax
jns 0x47fb97
mov eax, dword [ebx + 4]
jmp 0x47e900
je 0x47e8fd
mov eax, dword [ebx + 0xc]
jmp 0x47e900
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
inc edx
add ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], dl
je 0x47fbbc
push 2
pop eax
jmp 0x47fbd1
call fcn.00479fb3
or eax, edx
je 0x47fbcc
xor edx, edx
inc edx
mov eax, edx
jmp 0x47fbd1
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 0x47fbeb
push 2
pop ecx
jmp 0x47fc06
call fcn.00479fb3
or eax, edx
mov eax, dword [ebp - 0xd0]
je 0x47fc01
xor edx, edx
inc edx
mov ecx, edx
jmp 0x47fc06
xor edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0xcc], ecx
imul eax, eax, 3
cmp byte [ebx], 0x45
jne 0x47fc1e
movzx eax, byte [eax + ecx + 0x59c2a0]
jmp 0x47fc26
movzx eax, byte [eax + ecx + 0x59cd0c]
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 0x47fc57
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, dx
jmp 0x47f810
cdq
mov ecx, 0xbf04
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
push 4
jmp 0x47f805
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 0x47fc91
mov ecx, ebx
jmp 0x47edf7
call fcn.00479fb3
or eax, edx
jne 0x47fc9d
inc eax
jmp 0x47fc9f
xor eax, eax
cdq
push edx
push eax
mov ecx, ebx
jmp 0x47f2a3
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 0x47fc8a
call fcn.00479fb3
not eax
not edx
jmp 0x47fca0
mov eax, dword [edi + 0xc0]
mov ecx, dword [ebx + 4]
cmp byte [eax + ecx], 0
jne 0x47e8fd
mov byte [eax + ecx], 1
jmp case.default.0x47e8e9
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xdc]
test byte [ecx + 0x1c], 1
je 0x47fd05
mov ecx, dword [ebx + 0xc]
jmp 0x47fd2f
call fcn.0047a00f
ucomisd xmm0, qword [0x5ab958]
lahf
xor ecx, ecx
test ah, 0x44
jnp 0x47fd1b
inc ecx
mov dword [ebp - 0xd0], ecx
cmp byte [ebx], 0x1c
jne 0x47fd35
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov dword [ebp - 0xd0], ecx
test ecx, ecx
jmp 0x47f8fb
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xdc]
test byte [eax + ecx + 0x1c], 1
jmp 0x47f8fb
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xdc]
test byte [eax + ecx + 0x1c], 1
jne case.default.0x47e8e9
jmp 0x47e8fd
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 0x47fe94
call fcn.0047c8fd
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x483e88
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0x1c], al
je 0x47fe10
and dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xe4], eax
jmp 0x47ff10
mov eax, dword [ecx + 0x50]
cmp eax, dword [edi + 0x50]
jne 0x47fe32
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 0x47fe61
cmp byte [ecx + 0x1f], 0
je 0x47fe74
mov ecx, dword [ebp - 0xb0]
lea edx, [ebp - 0xc8]
call fcn.00475053
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 0x47ff07
mov esi, dword [ebp - 0xb0]
mov ecx, esi
call fcn.00475029
mov eax, dword [esi + 0x34]
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xd0], eax
jmp 0x47fed9
mov eax, dword [ecx + 0x10]
test eax, eax
jle 0x47fef3
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 0x47fec4
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 0x47ff07
mov eax, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xe4]
cmp dword [ebp - 0xf8], 0
jne 0x47ff2d
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 0x47f12e
mov eax, dword [ebp - 0xf8]
cmp eax, dword [esi + 0x4c]
ja 0x483ede
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 0x47ff7c
mov edx, dword [ecx + 0x5c]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xa8], edx
jmp 0x4801d5
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 0x47ffc4
mov dword [ebp - 0x98], eax
jmp 0x480035
mov eax, dword [ebp - 0xb8]
mov ecx, edx
mov dword [ebp - 0xe8], eax
cmp byte [eax + 0x1f], 0
mov eax, dword [ebp - 0xb0]
je 0x47ffe7
cmp byte [eax + 0x5b], 1
jne 0x48000a
push edx
jmp 0x47ffef
cmp byte [eax + 0x5b], 1
jne 0x48000a
push 1
lea edx, [ebp - 0x54]
mov ecx, eax
call fcn.0047549c
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 0x48002c
mov dword [ebp - 0xb4], ecx
mov dword [eax + 0x60], ecx
jmp 0x48002f
mov dword [eax + 0x60], edx
mov eax, dword [ebp - 0x98]
mov cl, byte [eax]
mov edx, 0x80
cmp cl, dl
jae 0x48004b
movzx ecx, cl
xor edx, edx
mov dword [ebp - 0x60], ecx
inc edx
jmp 0x480061
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.004693d0
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 0x480084
mov ecx, 0x100ee
call fcn.004aa313
mov dword [ebp - 0xd4], eax
jmp 0x483ccb
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 0x4800f9
cmp dword [ebp - 0x54], edx
jge 0x4800f9
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.0047a6c9
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x483ccb
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 0x480182
cmp eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0xa8]
jae 0x48022e
mov dword [eax + edx*4], ecx
mov edx, 0x80
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, dl
jae 0x480140
movzx edx, al
inc ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x68], ecx
jmp 0x480151
lea edx, [ebp - 0x50]
call fcn.004693d0
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.0047ca4e
mov ecx, dword [ebp - 0x60]
add ecx, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], ecx
cmp ecx, eax
jae 0x480235
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x90]
call fcn.00479f33
mov ecx, dword [ebp - 0x64]
xor eax, eax
inc eax
mov word [ebp - 0x74], ax
cmp dword [ebp - 0x68], ecx
ja 0x480397
mov eax, dword [ebp - 0xd0]
cmp dword [ebp - 0x60], eax
ja 0x480397
cmp dword [ebp - 0x68], ecx
jne 0x4801bd
cmp dword [ebp - 0x60], eax
jne 0x480397
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 0x48031b
cmp dword [ebp - 0xb4], 0
je 0x480256
mov ebx, 0x2460
test word [ecx + 0x1c], bx
je 0x480216
call fcn.00479ee2
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 0x480304
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 0x480182
mov eax, dword [ebp - 0x68]
jmp 0x480114
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 0x48028b
cmp edx, 0xc
jb 0x480273
test dl, 1
je 0x48027c
mov ebx, 0x80
test bl, al
je 0x48028b
cmp edx, 0xc
lea ebx, [ebp - 0xc8]
sbb eax, eax
and eax, ebx
jmp 0x4802fb
mov ecx, edx
call fcn.0047ca4e
mov edx, dword [ebp - 0xe4]
lea ecx, [ebp - 0x90]
mov dword [ebp - 0xa0], eax
call fcn.0047a371
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.0047a6c9
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x483ccb
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.0047cb08
mov eax, dword [ebp - 0x94]
pop ecx
mov cl, byte [ebp - 0xfc]
mov byte [eax + 0x1f], cl
jmp 0x480348
cmp byte [ebx + 1], 0xf8
jne 0x480332
mov edx, dword [ebx + 0x10]
mov eax, 0x800
push eax
call fcn.0047a2a7
pop ecx
jmp 0x480348
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 0x480387
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.00479d16
jmp 0x480079
mov ecx, 0x1013e
jmp 0x480074
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 0x480412
push 0x28
pop edi
mov esi, 0x4000
inc eax
mov dword [ebp - 0xd0], eax
test word [ebx + 0x1c], si
je 0x4803e2
mov ecx, ebx
call fcn.00479d72
mov cl, byte [ebp - 0xcc]
push dword [ebp - 0xfc]
mov dl, cl
mov ecx, ebx
call fcn.0047e6df
mov eax, dword [ebp - 0xd0]
add ebx, edi
pop ecx
mov cl, byte [eax]
mov byte [ebp - 0xcc], cl
test cl, cl
jne 0x4803c8
mov edi, dword [ebp - 0x100]
mov esi, dword [ebp - 0xf4]
inc eax
mov dword [ebp - 0xd0], eax
jmp case.default.0x47e8e9
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 0x4805cd
mov edi, dword [ebp - 0xec]
test edi, edi
je 0x4804fc
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.0047e6df
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 0x48053d
cmp dword [esi + 0x18], ebx
jle 0x48053d
mov ecx, esi
call fcn.00479d72
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.0047c972
mov ecx, eax
mov dword [ebp - 0xa8], ecx
call fcn.0047ca4e
mov dword [ebp - 0x8c], eax
cdq
add dword [ebp - 0xc8], eax
push ebx
adc dword [ebp - 0xc4], edx
push ecx
call fcn.0046943a
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 0x480597
add ecx, dword [esi + 0x10]
jmp 0x4805a2
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 0x4804ad
jmp 0x4805d3
mov edi, dword [ebp - 0xc0]
mov eax, edi
cdq
push edx
push eax
call fcn.0046943a
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.0046943a
add esp, 0x10
cmp esi, eax
jge 0x480605
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 0x483ed8
mov edx, dword [ebp - 0xec]
jl 0x480659
cmp edx, eax
ja 0x483ed8
mov edi, dword [ebp - 0xe0]
mov ecx, edi
push ebx
call fcn.00479c57
pop ecx
test eax, eax
jne 0x483f04
mov edx, dword [ebp - 0xc0]
mov eax, 0x80
mov ecx, dword [edi + 4]
mov dword [ebp - 0xd0], ecx
cmp edx, eax
jae 0x480691
mov al, dl
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x480696
call fcn.0046924f
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 0x480729
push 0x28
pop esi
mov edx, dword [ebp - 0x94]
mov ecx, eax
call fcn.0047c972
mov edx, eax
mov eax, 0x80
mov dword [ebp - 0xa8], edx
cmp edx, eax
jae 0x4806e6
mov eax, dword [ebp - 0xd0]
mov cl, dl
mov byte [edi + eax], cl
xor eax, eax
inc eax
jmp 0x4806f4
mov ecx, dword [ebp - 0xd0]
lea ecx, [edi + ecx]
call fcn.0046924f
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 0x4806b8
mov esi, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], eax
cmp eax, ecx
ja 0x48077f
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.0047ca61
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 0x480736
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 0x4807b2
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.0x47e8e9
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 0x4807e9
lea edx, [ebp - 0xd0]
call fcn.004782d7
mov dword [ebp - 0xd4], eax
jmp 0x4807f4
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.0x47e8e9
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 0x480920
cmp dword [esi + 0x84], ebx
jle 0x48085b
push str.cannot_open_savepoint___SQL_statements_in_progress
lea eax, [edi + 0x34]
push esi
push eax
call fcn.00467030
add esp, 0xc
push 5
pop eax
jmp 0x480079
mov ecx, edx
call fcn.004688e7
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.004a10d6
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne 0x483e88
mov edx, dword [ebp - 0xc8]
mov ecx, esi
lea edx, [edx + 0x19]
call fcn.00466e99
mov dword [ebp - 0xc4], eax
test eax, eax
je case.default.0x47e8e9
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.005382c0
add esp, 0xc
cmp byte [esi + 0x34], bl
je 0x4808dc
mov byte [esi + 0x34], bl
mov byte [esi + 0x3b], 1
jmp 0x4808e2
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.0x47e8e9
mov dword [ebp - 0xb8], ebx
mov ecx, dword [esi + 0x1d8]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xc0], ecx
test ecx, ecx
je 0x480b99
mov esi, dword [ebp - 0xf8]
mov edi, ecx
mov ecx, dword [edi]
mov edx, esi
call fcn.00468a0d
test eax, eax
je 0x480968
inc dword [ebp - 0xb8]
mov edi, dword [edi + 0x10]
mov dword [ebp - 0xc0], edi
test edi, edi
jne 0x480948
mov esi, dword [ebp - 0xf4]
test edi, edi
mov dword [ebp - 0xec], edi
mov edi, dword [ebp - 0x100]
je 0x480b93
mov edx, dword [ebp - 0xe8]
xor eax, eax
inc eax
cmp dword [esi + 0x84], ebx
jle 0x4809a1
cmp edx, eax
jne 0x4809a1
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x480846
mov ecx, dword [ebp - 0xec]
cmp dword [ecx + 0x10], ebx
jne 0x4809fb
cmp byte [esi + 0x3b], bl
je 0x4809fb
mov dword [ebp - 0xec], eax
cmp edx, eax
jne 0x480a01
mov edx, eax
mov ecx, edi
call fcn.0047c3f2
mov esi, eax
test esi, esi
jne 0x483d9f
mov esi, dword [ebp - 0xf4]
mov ecx, edi
mov byte [esi + 0x34], 1
call fcn.0047c447
push 5
pop ecx
cmp eax, ecx
je 0x483de1
mov byte [esi + 0x3b], bl
mov eax, dword [edi + 0x58]
mov dword [ebp - 0xd4], eax
jmp 0x480acd
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 0x480a5f
mov eax, ebx
mov dword [ebp - 0xb4], eax
cmp dword [esi + 0x14], ebx
jle 0x480a5f
push 4
pop edi
mov ecx, dword [esi + 0x10]
add eax, eax
mov edx, edi
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00474d0f
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, dword [esi + 0x14]
jl 0x480a2b
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 0x480aad
mov ecx, dword [esi + 0x10]
add eax, eax
push dword [ebp - 0xb8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00474e51
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne 0x483e88
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, dword [esi + 0x14]
jl 0x480a6c
mov ecx, dword [ebp - 0xc0]
push 2
pop eax
cmp edx, eax
jne 0x480ad9
mov ebx, 0x200
test dword [esi + 0x18], ebx
je 0x480ad9
mov ecx, esi
call fcn.0047d115
call fcn.0048cd32
or dword [esi + 0x18], ebx
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xc0]
cmp dword [esi + 0x1d8], ecx
je 0x480b1d
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.00466cd8
dec dword [esi + 0x1e0]
mov ecx, dword [ebp - 0xc0]
cmp dword [esi + 0x1d8], ecx
jne 0x480ae1
mov edx, dword [ebp - 0xd0]
cmp edx, 1
jne 0x480b4d
mov eax, dword [ecx + 0x10]
mov ecx, esi
mov dword [esi + 0x1d8], eax
mov edx, dword [ebp - 0xc0]
call fcn.00466cd8
cmp dword [ebp - 0xec], 0
jne case.default.0x47e8e9
dec dword [esi + 0x1e0]
jmp 0x480b6c
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.0x47e8e9
push dword [ebp - 0xb8]
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.004a10d6
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne 0x483e88
jmp 0x483ccb
mov edx, dword [ebp - 0xf8]
push edx
push str.no_such_savepoint:__s
lea eax, [edi + 0x34]
push esi
push eax
call fcn.00467030
add esp, 0x10
xor eax, eax
inc eax
jmp 0x480079
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 0x480bfe
cmp byte [esi + 0x34], 0
jne 0x480bfe
xor ebx, ebx
mov dword [ebp - 0xc8], 1
test ecx, ecx
jne 0x480c06
cmp dword [esi + 0x84], ebx
jle 0x480c06
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x480846
xor ebx, ebx
mov dword [ebp - 0xc8], ebx
movzx eax, byte [esi + 0x34]
cmp edx, eax
jne 0x483df4
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.00467030
add esp, 0xc
jmp 0x480bac
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.0x47e8e9
mov edx, dword [ebx + 8]
call fcn.004743b6
push 5
pop ecx
mov dword [ebp - 0xd4], eax
cmp eax, ecx
je 0x483e65
test eax, eax
jne 0x483e88
xor edx, edx
cmp dword [ebx + 8], edx
je 0x483ccb
cmp byte [edi + 0x63], dl
je 0x483ccb
cmp byte [esi + 0x34], dl
je 0x480caf
cmp dword [esi + 0x80], 1
jle 0x483ccb
cmp dword [edi + 0x74], edx
jne 0x480cc9
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.004a10d6
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne 0x480cf6
mov edx, dword [edi + 0x74]
mov ecx, dword [ebp - 0xd0]
call fcn.00474e2a
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.0x47e8e9
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.0047824b
mov eax, dword [ebp - 0xd0]
pop ecx
jmp 0x47ea00
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.0047a0b6
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.0047827e
xor edx, edx
mov dword [ebp - 0xd4], eax
inc edx
pop ecx
cmp dword [ebx + 8], edx
jne 0x480db3
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 0x480dd0
push 2
pop ecx
cmp dword [ebx + 8], ecx
jne 0x480dd6
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 0x483ccb
mov ecx, esi
call fcn.0047d115
mov byte [edi + 0x5f], 0
jmp case.default.0x47e8e9
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 0x480e2c
lea eax, [ebp - 0xd0]
xor edx, edx
push eax
inc edx
call fcn.0047824b
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 0x480e36
xor eax, eax
mov ecx, eax
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], eax
cmp ecx, dword [ebx + 8]
jne 0x480e4a
cmp eax, dword [ebx + 0xc]
je case.default.0x47e8e9
mov edx, dword [edi + 0x34]
mov ecx, esi
call fcn.00466cd8
mov edx, str.database_schema_has_changed
mov ecx, esi
call fcn.00466fc0
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 0x480e82
mov ecx, esi
call fcn.0048cd05
mov byte [edi + 0x5f], 1
push 0x11
jmp 0x480855
cmp byte [edi + 0x5f], 0
je 0x480e9a
mov eax, ecx
jmp 0x480079
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 0x480f08
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 0x480f0e
mov byte [edi + 0x61], al
jmp 0x480f0e
mov dword [ebp - 0xc0], ecx
push 2
pop eax
test byte [ebx + 3], al
je 0x480f52
imul esi, dword [ebp - 0xe8], 0x28
add esi, dword [ebp - 0xdc]
mov ecx, esi
call fcn.0047a0b6
mov eax, dword [esi + 0x10]
push 2
pop ecx
mov dword [ebp - 0xc8], eax
cmp eax, ecx
jl 0x483e73
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xf4]
jmp 0x480f58
mov eax, dword [ebp - 0xf8]
mov cl, byte [ebx + 1]
cmp cl, 0xfa
jne 0x480f8a
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 0x480f92
cmp cl, 0xf2
jne 0x480f98
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.0047e5a9
add esp, 0xc
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x483f0a
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.00474f23
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 0x47eb0c
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.0047e5a9
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x483f0a
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.004738b3
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x481158
mov ecx, dword [ebp - 0xd0]
xor edx, edx
inc edx
mov ecx, dword [ecx + 4]
call fcn.004743b6
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x481158
cmp dword [ebx + 0x10], eax
je 0x48112e
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.00477eeb
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne 0x481122
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.00474f23
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 0x481158
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.00474f23
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 0x48102a
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.0047e5a9
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x483f0a
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.00484d8e
jmp 0x480079
mov edx, dword [ebx + 4]
mov ecx, edi
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.0047e5a9
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x483f0a
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.0x47e8e9
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x40]
mov edx, dword [edx + eax*4]
call fcn.0047bcba
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x40]
and dword [eax + ecx*4], 0
jmp case.default.0x47e8e9
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 0x47e8fd
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 0x48147d
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xdc]
mov ecx, eax
mov dword [ebp - 0xf8], eax
call fcn.0047e662
mov ecx, dword [ebp - 0xf8]
call fcn.00479fb3
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 0x481472
push 8
pop ecx
test cl, al
je 0x47e8fd
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x9c]
cmp ecx, edx
jne 0x481389
mov edx, SysReAllocString
cmp eax, edx
jne 0x481389
xor ecx, ecx
call fcn.0056e21f
mov eax, dword [ebp - 0xf8]
movsd xmm1, qword [eax + 8]
comisd xmm0, xmm1
xorps xmm0, xmm0
ja 0x48130a
comisd xmm1, xmm0
jbe 0x48137d
mov dword [ebp - 0xd0], 1
comisd xmm0, xmmword [eax + 8]
jbe 0x48133d
cmp dword [ebp - 0xcc], 0x30
jl 0x47e8fd
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xd0]
mov ecx, dword [ecx]
call fcn.00475772
jmp 0x48135d
cmp dword [ebp - 0xcc], 0x2f
jg 0x47e8fd
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xd0]
mov ecx, dword [ecx]
call fcn.0047579d
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x483e88
cmp dword [ebp - 0xd0], 0
je 0x483ccb
jmp 0x47e8fd
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa0]
cmp dword [ebp - 0xcc], 0x2e
je 0x481439
cmp dword [ebp - 0xcc], 0x30
je 0x481439
mov edx, eax
call fcn.0056e21f
mov eax, dword [ebp - 0xf8]
comisd xmm0, xmmword [eax + 8]
mov eax, dword [ebp - 0x9c]
jbe 0x4813cd
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.004757e6
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x483e88
xor edx, edx
cmp dword [ebp - 0xd0], edx
jne 0x481506
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 0x481506
mov edx, eax
call fcn.0056e21f
mov eax, dword [ebp - 0xf8]
movsd xmm1, qword [eax + 8]
comisd xmm1, xmm0
mov eax, dword [ebp - 0x9c]
jbe 0x4813cd
add dword [ebp - 0xa0], 1
push 0
pop edx
adc eax, edx
mov dword [ebp - 0x9c], eax
jmp 0x4813cf
mov eax, dword [ebp - 0x9c]
jmp 0x4813cf
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 0x4814cd
call fcn.00479d72
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.004757e6
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x483e88
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 0x481557
test eax, eax
js 0x481541
jne 0x481536
cmp dword [ebp - 0xcc], 0x31
je 0x481541
mov dword [ebp - 0xd0], edx
jmp case.default.0x47e8e9
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc8]
push dword [eax]
call fcn.00475a9f
jmp 0x481593
test eax, eax
jg 0x48157f
jne 0x481566
cmp dword [ebp - 0xcc], 0x2e
je 0x48157f
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 0x4815ad
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc8]
push dword [eax]
call fcn.00475bad
mov dword [ebp - 0xd4], eax
pop ecx
pop ecx
test eax, eax
jne 0x483e88
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
cmp dword [ebp - 0xd0], 0
jmp 0x47f8fb
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.0x47e8e9
mov byte [eax + 0x1c], dl
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xdc]
call fcn.00479fb3
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.0x47e8e9
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 0x481742
cmp dword [ebx + 0x10], edx
jle 0x48167a
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 0x4816db
mov ecx, dword [ecx + 8]
lea eax, [ebp - 0xc4]
push eax
push 0x97
lea edx, [ebp - 0xa0]
call fcn.0047cce8
mov dword [ebp - 0xc0], eax
pop ecx
pop ecx
test eax, eax
je 0x483f0a
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.0047cd40
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.004757e6
mov esi, dword [ebp - 0xf4]
xor edx, edx
add esp, 0x10
mov dword [ebp - 0xd4], eax
cmp dword [ebx + 0x10], edx
jne 0x481713
mov edx, dword [ebp - 0xc4]
mov ecx, esi
call fcn.00466cd8
xor edx, edx
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x483ccb
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 0x4815ad
cmp dword [ebp - 0xd0], 0
jmp 0x47fd5f
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 0x4817f4
mov esi, dword [ebp - 0xc0]
movzx eax, cx
imul eax, eax, 0x28
test byte [eax + esi + 0x1c], 1
mov esi, dword [ebp - 0xf4]
jne 0x4818c4
inc cx
cmp cx, word [ebp - 0xe2]
mov word [ebp - 0xd0], cx
jb 0x4817ce
mov edx, dword [ebp - 0xe8]
test edx, edx
je case.default.0x47e8e9
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.0047a0b6
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.004757e6
add esp, 0x10
mov dword [ebp - 0xd4], eax
push 4
pop ecx
test byte [ebp - 0xb2], cl
jne 0x4818df
mov edx, dword [ebp - 0xb0]
cmp edx, dword [ebp - 0xa0]
jne 0x4818b0
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x9c]
je 0x4818d9
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0xac]
jmp 0x480809
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xd8], eax
jmp 0x481803
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebx + 8]
dec edx
jmp 0x483cd1
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 0x4819d1
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.004757e6
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 0x4819c3
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.0x47e8e9
mov edx, dword [ebx + 8]
dec edx
and dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xd4]
jmp 0x483cd1
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.0x47e8e9
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 0x4807f4
cmp byte [eax + 0x1b], dl
jne 0x481c48
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 0x481b32
mov eax, dword [ebp - 0xe4]
lea edx, [ebp - 0xc4]
mov ecx, dword [eax]
call fcn.0047579d
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x483e88
cmp dword [ebp - 0xc4], eax
je 0x481acc
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 0x481b38
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xd0]
mov ecx, dword [ecx]
call fcn.00475053
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
cmp eax, 0x7fffffff
jl 0x481b25
jg 0x481aff
cmp ecx, 0xffffffff
jb 0x481b25
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 0x481b38
push 0
add ecx, 1
pop edx
adc eax, edx
jmp 0x481aac
mov eax, dword [ebp - 0xec]
cmp dword [ebx + 0xc], 0
je 0x481bfe
mov eax, dword [edi + 0xa8]
test eax, eax
jne 0x481bbc
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xbc], ecx
call fcn.0047a0b6
mov eax, dword [ebp - 0xbc]
mov ebx, dword [eax + 0x10]
mov ecx, dword [eax + 0x14]
cmp ebx, 0xffffffff
jne 0x481b7e
cmp ecx, 0x7fffffff
je 0x483e85
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1b], 0
jne 0x483e85
add ebx, 1
push 0
pop edx
adc ecx, edx
cmp dword [ebp - 0xcc], ecx
jg 0x481bd2
jl 0x481baa
mov eax, dword [ebp - 0xd0]
cmp eax, ebx
jae 0x481bd8
mov eax, ebx
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd0], eax
jmp 0x481bd8
mov eax, ecx
mov dword [ebp - 0xb8], eax
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x481bba
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [eax + 0xc]
jmp 0x481b56
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 0x481c04
mov ebx, dword [ebp - 0xe4]
cmp eax, 0x7fffffff
jg 0x481c19
jl 0x481c12
cmp ecx, 0xffffffff
jae 0x481c19
add ecx, 1
adc eax, edx
jmp 0x481c30
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.00474f69
mov eax, dword [ebp - 0xc8]
add esp, 8
mov dword [ebp - 0xe4], eax
cmp byte [eax + 0x1b], 0
je 0x481d56
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.004757e6
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jne 0x481d4e
mov edx, dword [ebp - 0xc4]
test edx, edx
jne 0x481d42
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp eax, 0x64
jge 0x481d42
lea eax, [ebp - 0xd0]
push eax
push 8
pop eax
push eax
call fcn.0046827d
cmp dword [ebp - 0xc0], 5
mov eax, dword [ebp - 0xd0]
pop ecx
pop ecx
jge 0x481cf3
and eax, 0xffffff
mov ecx, ebx
jmp 0x481cff
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.004757e6
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xd4], ecx
test ecx, ecx
je 0x481ca9
mov edx, dword [ebp - 0xc4]
test ecx, ecx
jne 0x481d4e
test edx, edx
je 0x483e85
mov eax, dword [ebp - 0xc8]
jmp 0x481d58
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 0x4807f4
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 0x481dc0
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 0x481dd4
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 0x481de3
inc dword [edi + 0x68]
test byte [ebx + 3], 2
je 0x481e15
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 0x481e1b
mov eax, dword [ebp - 0xe8]
xor ecx, ecx
test byte [edx + 0x1c], 1
je 0x481e41
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 0x481e52
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0xb8], eax
jmp 0x481e58
mov dword [ebp - 0xb8], ecx
mov eax, 0x4000
test word [edx + 0x1c], ax
je 0x481e6e
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xbc], eax
jmp 0x481e74
mov dword [ebp - 0xbc], ecx
push ecx
push ecx
mov ecx, dword [ebp - 0xe8]
mov ecx, dword [ecx]
call fcn.00474f69
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.00477967
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 0x483ccb
cmp dword [esi + 0xb8], edx
je 0x483ccb
cmp dword [ebx + 0x10], edx
je 0x483ccb
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.0x47e8e9
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 0x481f9c
cmp dword [ebx + 0x10], eax
je 0x481f9c
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xd0], eax
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xcc], eax
call fcn.0047c8fd
test eax, eax
jne 0x483e88
mov ecx, dword [ebp - 0xc8]
push eax
push eax
mov ecx, dword [ecx]
call fcn.00474f69
mov ecx, dword [ebp - 0xc8]
add esp, 8
mov ecx, dword [ecx]
call fcn.00477b30
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xc8]
and dword [eax + 0x50], 0
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x482024
mov edx, dword [esi + 0xb8]
test edx, edx
je 0x482024
cmp dword [ebx + 0x10], eax
je 0x482024
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 0x483cd1
inc dword [edi + 0x68]
jmp 0x483cd1
mov eax, dword [edi + 0x68]
add dword [esi + 0x48], eax
mov dword [esi + 0x44], eax
and dword [edi + 0x68], 0
jmp case.default.0x47e8e9
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.004856d9
cmp dword [ebp - 0xcc], 0
pop ecx
mov dword [ebp - 0xd4], eax
je 0x483ccb
jmp 0x4818df
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.0048567e
jmp 0x480079
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.0047c8fd
test eax, eax
jne 0x483e88
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1f], 0
je 0x48212e
mov ecx, dword [ebp - 0xcc]
lea edx, [ebp - 0xc0]
call fcn.00475053
mov eax, dword [esi + 0x4c]
cdq
cmp dword [ebp - 0xbc], edx
jg 0x483ede
mov edx, dword [ebp - 0xc0]
jl 0x482126
cmp edx, eax
ja 0x483ede
mov dword [ebp - 0xc8], edx
jmp 0x482153
mov esi, dword [ebp - 0xcc]
mov ecx, esi
call fcn.00475029
mov edx, dword [esi + 0x34]
mov esi, dword [ebp - 0xf4]
mov dword [ebp - 0xc8], edx
cmp edx, dword [esi + 0x4c]
ja 0x483ede
mov ecx, dword [ebp - 0xe0]
xor ebx, ebx
push ebx
call fcn.00479c57
pop ecx
test eax, eax
jne 0x483f0a
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 0x4821b8
push ebx
mov ebx, ecx
xor edx, edx
mov ecx, dword [ebp - 0xcc]
push dword [ebx + 4]
push dword [ebp - 0xc8]
call fcn.0047517d
add esp, 0xc
jmp 0x4821d6
push dword [ecx + 4]
push dword [ebp - 0xc8]
push ebx
push dword [ebp - 0xcc]
call fcn.0047545d
mov ebx, dword [ebp - 0xe0]
add esp, 0x10
mov dword [ebp - 0xd4], eax
mov byte [ebx + 0x1f], 1
jmp 0x483ccb
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 0x482202
xor eax, eax
inc eax
jmp 0x47f6c1
cmp byte [ecx + 0x1d], 0
je 0x482216
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x3c]
jmp 0x48227b
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x482251
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.0047e758
jmp 0x482296
call fcn.0047c8fd
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x483e88
mov ecx, dword [ebp - 0xd0]
cmp byte [ecx + 0x19], al
je 0x482283
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xc4], eax
jmp 0x482296
mov ecx, dword [ecx]
lea edx, [ebp - 0xc8]
call fcn.00475053
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 0x480809
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.0x47e8e9
call fcn.00472a59
jmp case.default.0x47e8e9
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 0x482325
lea edx, [ebp - 0xc8]
mov ecx, eax
call fcn.0047579d
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.0x47e8e9
cmp dword [ebp - 0xc8], 0
je case.default.0x47e8e9
jmp 0x47e900
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 0x4823a1
lea eax, [ebp - 0xc8]
mov edx, ecx
push eax
mov ecx, esi
call fcn.004853ac
pop ecx
mov dword [ebp - 0xd4], eax
jmp 0x4823ea
mov ecx, dword [ecx]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xcc], ecx
call fcn.00475772
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 0x47f8fb
xor edx, edx
cmp dword [esi + 0xe0], edx
jne 0x483ef4
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.0x47e8e9
lea ecx, [ebp - 0xcc]
push ecx
cmp dword [eax + 0x48], edx
je 0x482441
mov edx, eax
mov ecx, esi
call fcn.004855bb
jmp 0x482451
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 0x482492
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov al, byte [ebx + 3]
test al, al
je 0x482492
movzx eax, al
inc dword [edi + eax*4 + 0x74]
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], dl
jmp case.default.0x47e8e9
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.0x47e8e9
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x482519
call fcn.00479d72
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 0x482523
xor edx, edx
mov eax, edx
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x483ccb
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0x48], edx
je 0x482546
push ecx
mov edx, eax
mov ecx, esi
call fcn.0048526f
pop ecx
jmp 0x480079
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 0x48256f
mov eax, dword [eax + 0x4c]
jmp 0x482571
mov eax, edx
push eax
push dword [ebx + 0xc]
mov eax, dword [ebp - 0xec]
push edx
push edx
cdq
push 0x5a0ec0
push edx
mov edx, ecx
mov ecx, dword [ebp - 0xe8]
push eax
call fcn.00477967
mov dword [ebp - 0xd4], eax
add esp, 0x1c
mov eax, dword [ebp - 0xd0]
and dword [eax + 0x50], 0
jmp case.default.0x47e8e9
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.0x47e8e9
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.004757e6
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x482631
cmp dword [ebp - 0xc8], ebx
jne 0x482631
mov ecx, dword [ebp - 0xcc]
call fcn.00477b30
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], ebx
jmp case.default.0x47e8e9
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.0x47e8e9
mov ecx, dword [ebp - 0xcc]
call fcn.0047c8fd
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x483e88
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1c], 0
jne case.default.0x47e8e9
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 0xc8]
push eax
call fcn.0047cf92
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne 0x483e88
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 0x47f810
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.0x47e8e9
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.0047d075
cmp byte [ebx], 0x64
pop ecx
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
jne 0x48274a
neg ecx
jmp 0x48274b
inc ecx
mov dword [ebp - 0xcc], ecx
test ecx, ecx
jle 0x483ccb
jmp 0x4818df
xor edx, edx
mov ecx, edx
mov dword [ebp - 0xcc], ecx
mov eax, dword [esi + 4]
jmp 0x48278b
cmp dword [eax + 0x30], 0xbdf20da3
jne 0x482788
cmp byte [eax + 0x62], 2
jae 0x482788
cmp dword [eax + 0x54], edx
jl 0x482788
inc ecx
mov dword [ebp - 0xcc], ecx
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x48276d
mov eax, dword [ebp - 0xe0]
xor ecx, ecx
inc ecx
mov word [eax + 0x1c], cx
cmp dword [ebp - 0xcc], ecx
jle 0x4827be
push 6
pop eax
push 2
pop ecx
mov dword [ebp - 0xd4], eax
mov byte [edi + 0x5c], cl
jmp 0x483ccb
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.0047821f
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 0x483ccb
cmp dword [ebp - 0xd0], eax
je 0x483ccb
push dword [ebx + 4]
mov edx, dword [ebp - 0xc4]
mov ecx, esi
push dword [ebp - 0xd0]
call fcn.0048e1e4
mov al, byte [ebp - 0xc4]
pop ecx
inc al
pop ecx
mov byte [ebp - 0x101], al
jmp case.default.0x47e8e9
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.0047803d
cmp dword [ebx + 0xc], 0
pop ecx
mov dword [ebp - 0xd4], eax
je 0x483ccb
mov edx, dword [ebp - 0xd0]
add dword [edi + 0x68], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x483ccb
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.0x47e8e9
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.00477eeb
mov dword [ebp - 0xd4], eax
jmp 0x480d3a
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.00467f81
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x482953
push 7
pop eax
mov dword [ebp - 0xd4], eax
jmp 0x4829a4
xor ebx, ebx
mov byte [esi + 0x7d], 1
push ebx
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xb8], ebx
push eax
push fcn.00498471
push dword [ebp - 0xc8]
push esi
call fcn.00495bde
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.00466cd8
mov eax, dword [ebp - 0xd4]
mov byte [esi + 0x7d], bl
test eax, eax
je 0x4829b1
mov ecx, esi
call fcn.0048cd32
mov eax, dword [ebp - 0xd4]
cmp eax, 7
je 0x483f0a
jmp 0x483ccb
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.0048bbd8
jmp 0x480079
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.0048cecb
jmp 0x47ebdc
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.0048cbc8
jmp 0x47ebdc
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.0049ea98
jmp 0x47ebdc
mov edx, dword [ebx + 8]
mov ecx, esi
mov dword [ebp - 0xd0], edx
lea edx, [edx*4 + 4]
call fcn.00466e99
mov edx, eax
mov dword [ebp - 0xcc], edx
test edx, edx
je 0x483f0a
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 0x482a9b
mov edi, dword [ebp - 0xec]
imul ecx, eax, 0x28
add ecx, edi
call fcn.00479fb3
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 0x482a61
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.00478e1f
mov edx, dword [ebp - 0xcc]
add esp, 0xc
mov ecx, esi
mov dword [ebp - 0xc0], eax
call fcn.00466cd8
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.0047a16d
cmp dword [ebp - 0xc4], 0
je 0x482b2d
mov edx, dword [ebp - 0xc0]
test edx, edx
je 0x483f0a
push fcn.00466c7a
push 1
push 0xffffffffffffffff
mov ecx, ebx
call fcn.0047a397
add esp, 0xc
movzx edx, byte [ebp - 0xfc]
mov ecx, ebx
call fcn.00479c3d
jmp case.default.0x47e8e9
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 0x482b77
mov ecx, eax
call fcn.0047a23d
mov eax, dword [ebp - 0xec]
test byte [eax + 0x1c], 0x20
je 0x483f0a
push dword [ebx + 0x14]
push dword [ebx + 0x10]
mov ecx, dword [eax + 0x10]
call fcn.0046cdfa
jmp 0x47f2a8
cmp dword [esi + 0xe0], 0
jne 0x483ef4
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xdc]
mov dword [ebp - 0xec], eax
test byte [eax + 0x1c], 0x20
je 0x482bda
mov ecx, dword [eax + 0x10]
lea edx, [ebp - 0xd0]
call fcn.0046d043
test eax, eax
je 0x482bd4
push dword [ebp - 0xcc]
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0xd0]
jmp 0x47f29d
mov eax, dword [ebp - 0xec]
mov ecx, eax
call fcn.0047a16d
jmp 0x47e8fd
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 0x482c38
mov ecx, eax
call fcn.0047a23d
mov eax, dword [ebp - 0xec]
test byte [eax + 0x1c], 0x20
je 0x483f0a
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe8]
test edx, edx
je 0x482c7f
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.0046d083
mov dword [ebp - 0xcc], eax
pop ecx
pop ecx
test eax, eax
jne 0x47e8fd
mov edx, dword [ebp - 0xd0]
test edx, edx
js case.default.0x47e8e9
mov eax, dword [ebp - 0xe8]
push dword [eax + 0x14]
push dword [eax + 0x10]
mov eax, dword [ebp - 0xec]
jmp 0x482b7d
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 0x482cee
mov eax, dword [edi + 0xa8]
mov ebx, dword [edx + 0x14]
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x482cee
cmp dword [eax + 0x18], ebx
je 0x482ce6
mov eax, dword [eax + 4]
mov dword [ebp - 0xbc], eax
test eax, eax
jne 0x482cd4
test eax, eax
jne case.default.0x47e8e9
mov eax, dword [edi + 0xb0]
cmp eax, dword [esi + 0x74]
jl 0x482d1a
push str.too_many_levels_of_trigger_recursion
lea eax, [edi + 0x34]
mov dword [ebp - 0xd4], 1
push esi
push eax
call fcn.00467030
add esp, 0xc
jmp case.default.0x47e8e9
test byte [ecx + 0x1c], 0x40
jne 0x482e8d
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.00466e79
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x483f0a
mov ecx, dword [ebp - 0xc8]
call fcn.00479f33
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 0x482e96
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 0x482e58
mov edi, dword [ebp - 0x100]
mov edx, dword [ebp - 0xbc]
jmp 0x482e96
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.00538910
jmp 0x482d12
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.0047a2a7
pop ecx
jmp 0x47eb75
cmp dword [ebx + 4], 0
mov eax, dword [ebx + 8]
cdq
je 0x482f9f
add dword [esi + 0x1e8], eax
adc dword [esi + 0x1ec], edx
jmp case.default.0x47e8e9
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
jmp case.default.0x47e8e9
cmp dword [ebx + 4], 0
je 0x482fc7
mov eax, dword [esi + 0x1e8]
or eax, dword [esi + 0x1ec]
jmp 0x47fd5f
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jmp 0x47fd5f
mov eax, dword [edi + 0xa8]
test eax, eax
jne 0x483035
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], ecx
call fcn.0047a0b6
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0xdc]
mov ecx, esi
call fcn.0047a0b6
mov eax, dword [ebp - 0xd0]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
cmp dword [eax + 0x14], edx
jg 0x47eb75
jl 0x483028
cmp dword [eax + 0x10], ecx
jae 0x47eb75
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp 0x47eb75
mov eax, ecx
mov dword [ebp - 0xcc], eax
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x483033
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [eax + 0xc]
jmp 0x482fec
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [ebp - 0xdc]
cmp dword [eax + ecx + 0x14], edx
jl case.default.0x47e8e9
jg 0x47e8fd
cmp dword [eax + ecx + 0x10], edx
jbe case.default.0x47e8e9
jmp 0x47e8fd
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [ebp - 0xdc]
cmp dword [eax + ecx + 0x14], edx
jg case.default.0x47e8e9
jl 0x47e8fd
cmp dword [eax + ecx + 0x10], edx
jae case.default.0x47e8e9
jmp 0x47e8fd
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 0x47fd5f
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 0x48314d
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.0047e57e
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 0x483141
mov edi, dword [ebp - 0x80]
jmp 0x48310b
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 0x4831ba
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 0x483205
mov dl, 1
lea ecx, [ebp - 0xb8]
call fcn.0047a7b3
push eax
push 0x5a22a4
lea eax, [edi + 0x34]
push esi
push eax
call fcn.00467030
mov eax, dword [ebp - 0x88]
add esp, 0x10
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0x84], 0
je 0x48322f
mov eax, dword [ebx - 0x10]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x48322f
imul ecx, eax, 0x28
push 0
push 1
add ecx, dword [ebp - 0xdc]
call fcn.0047a1d7
pop ecx
pop ecx
lea ecx, [ebp - 0xb8]
call fcn.00479f33
jmp case.default.0x47e8e9
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebx + 0x10]
call fcn.00479e85
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x483281
mov ecx, dword [ebp - 0xd0]
mov dl, 1
call fcn.0047a7b3
push eax
push 0x5a22a4
lea eax, [edi + 0x34]
push esi
push eax
call fcn.00467030
add esp, 0x10
movzx edx, byte [ebp - 0xfc]
mov ecx, dword [ebp - 0xd0]
call fcn.00479c3d
mov ecx, dword [ebp - 0xd0]
jmp 0x47f4b0
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.004a95ee
add esp, 0xc
mov dword [ebp - 0xd4], eax
cmp eax, 5
jne 0x4832ed
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.0047a1d7
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 0x483308
jmp case.default.0x47e8e9
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.004705b4
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 0x4833c6
mov dword [ebp - 0xc0], 0x5a0ec0
jmp 0x4833d2
mov edi, dword [eax + 0x90]
mov dword [ebp - 0xc0], edi
mov edi, dword [ebp - 0x100]
cmp ecx, 5
jne 0x483417
mov ecx, dword [ebp - 0xc0]
call fcn.004688e7
test eax, eax
je 0x483401
mov ecx, dword [ebp - 0xe4]
call fcn.00470679
mov edx, dword [ebp - 0xc4]
test eax, eax
jne 0x48340b
mov ecx, edx
mov dword [ebp - 0xc8], ecx
jmp 0x483411
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xe4]
cmp ecx, edx
je 0x483520
cmp edx, 5
je 0x48342d
cmp ecx, 5
jne 0x483520
cmp byte [esi + 0x34], 0
je 0x4834ee
cmp dword [esi + 0x80], 1
jg 0x4834ee
cmp edx, 5
jne 0x48348a
mov ecx, eax
call fcn.00470738
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x483479
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
call fcn.004704fa
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
jmp 0x4834c4
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0xe4], edx
jmp 0x48352a
cmp edx, 4
jne 0x4834b5
push 2
pop ecx
mov edx, ecx
mov ecx, eax
call fcn.004704fa
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xd0]
jmp 0x4834bb
mov eax, dword [ebp - 0xe8]
cmp dword [ebp - 0xd4], 0
jne 0x48352a
xor edx, edx
cmp ecx, 5
mov ecx, eax
sete dl
inc edx
call fcn.0047928e
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xe4], edx
jmp 0x483526
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.00467030
add esp, 0x10
jmp case.default.0x47e8e9
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x483536
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], ecx
mov edx, ecx
mov ecx, dword [ebp - 0xe4]
call fcn.004704fa
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.0049654f
mov ecx, eax
mov dword [ebx + 4], eax
call fcn.004688e7
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1f], 1
jmp 0x482b2d
lea ecx, [edi + 0x34]
mov edx, esi
call fcn.004a00f9
jmp 0x480079
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.00474a3b
mov dword [ebp - 0xd4], eax
cmp eax, 0x65
jne 0x483ccb
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd8], eax
xor eax, eax
jmp 0x480079
cmp dword [ebx + 4], 0
jne 0x4835db
mov ecx, esi
call fcn.0047d115
jmp case.default.0x47e8e9
mov byte [edi + 0x5f], 1
jmp case.default.0x47e8e9
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x124], al
test al, al
jne 0x4835fe
test dword [esi + 0x18], 0x80000
jne case.default.0x47e8e9
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.004791e5
mov dword [ebp - 0xd4], eax
pop ecx
cmp al, 6
jne 0x483ccb
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
jmp 0x48350e
mov edx, dword [ebx + 0x10]
mov ecx, esi
mov dword [ebp - 0xd0], edx
call fcn.004a1049
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
test edx, edx
je 0x483ccb
mov edx, dword [edx + 8]
mov ecx, edi
call fcn.0047e758
jmp case.default.0x47e8e9
mov edx, dword [ebx + 4]
lea eax, [edi + 0x34]
push eax
push dword [ebx + 0x10]
mov ecx, esi
call fcn.004a0cd1
pop ecx
jmp 0x482540
push 2
pop eax
mov byte [edi + 0x62], al
mov ecx, esi
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.004a0ee1
pop ecx
mov dword [ebp - 0xd4], eax
mov byte [edi + 0x62], 0
jmp 0x483ccb
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.0047e758
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x483ccb
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.0047e5a9
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x48373d
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.0x47e8e9
mov byte [esi + 0x36], 1
mov eax, dword [ebp - 0xc4]
push dword [ebp - 0xcc]
call dword [eax + 0x1c]
jmp 0x47ebdc
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 0x48385b
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.0047e57e
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 0x4837e9
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 0x483861
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.0047e758
cmp dword [ebp - 0xd4], 0
jne 0x4838b5
mov eax, dword [ebp - 0xc8]
push dword [ebp - 0xbc]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xb0], eax
jmp 0x4838bb
mov eax, dword [ebp - 0xb0]
test eax, eax
je 0x4838c9
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.0x47e8e9
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 0x47edf7
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.00538910
mov edx, dword [ebp - 0xc8]
lea ecx, [ebp - 0xb8]
add esp, 0xc
call fcn.0047a371
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.0047e758
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.00479c3d
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xb8]
call fcn.0047a371
mov ecx, dword [ebp - 0xc8]
jmp 0x47f4b0
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.0x47e8e9
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.0047e758
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x483a4d
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 0x483a53
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
jne 0x483ccb
jmp 0x4818df
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.00479c3d
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x483ccb
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.0047e758
jmp 0x480de6
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.0x47e8e9
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 0x483b65
push 0x28
pop edi
call fcn.0047e57e
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 0x483b22
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.0047e758
xor edx, edx
cmp dword [ebp - 0xd4], edx
jne 0x483bdf
cmp dword [ebx + 4], edx
je 0x483c18
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 0x483c1e
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x483c18
mov al, byte [ebx + 3]
push 4
pop ecx
cmp al, cl
jne 0x483c04
mov eax, edx
jmp 0x480079
cmp al, 5
jne 0x483c0d
push 2
pop eax
jmp 0x483c10
movzx eax, al
mov byte [edi + 0x5c], al
jmp case.default.0x47e8e9
mov eax, dword [ebp - 0xd4]
inc dword [edi + 0x68]
jmp 0x483ccb
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.0x47e8e9
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 0x483c70
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.00473ffc
jmp 0x47ea00
cmp dword [esi + 0x94], 0
je case.default.0x47e8e9
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x483c92
mov edx, dword [edi + 0xa0]
mov dword [ebp - 0xd0], edx
test edx, edx
je case.default.0x47e8e9
mov ecx, edi
call fcn.0047e2a8
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.00466cd8
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
inc edx
mov dword [ebp - 0xd8], edx
test eax, eax
jne 0x483f2f
mov ecx, dword [ebp - 0x120]
mov eax, edx
jmp 0x47e854
push 9
jmp 0x483f22
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 0x483d43
push dword [ebx + 0x10]
lea eax, [edi + 0x34]
push 0x5a22a4
push esi
push eax
call fcn.00467030
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.00468136
add esp, 0x24
jmp 0x483d5e
test ecx, ecx
je 0x483d5e
push dword [edi + 0xa0]
push eax
push str.constraint_failed_at__d_in___s_
push dword [ebx + 4]
call fcn.00468136
add esp, 0x10
mov ecx, edi
call fcn.0047c447
mov ebx, dword [ebp - 0xf4]
push 5
pop ecx
cmp eax, ecx
jne 0x483d79
mov esi, ecx
mov dword [edi + 0x58], ecx
jmp 0x483da5
cmp dword [edi + 0x58], 0
push 0x65
pop esi
push 1
pop eax
cmovne esi, eax
jmp 0x483da5
cmp byte [esi + 0x36], 0
jne 0x483f0a
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.0047b564
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0053bd6c
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0xc0]
call fcn.00479f33
jmp 0x483f0a
mov edx, dword [ebp - 0xd8]
mov dword [edi + 0x54], edx
mov byte [esi + 0x34], bl
mov esi, ecx
mov dword [edi + 0x58], ecx
jmp 0x483d9f
test ecx, ecx
je 0x483e1d
mov edx, 0x204
mov ecx, esi
call fcn.004a8e96
mov byte [esi + 0x34], 1
mov ecx, esi
call fcn.004a8b49
xor esi, esi
inc esi
cmp dword [edi + 0x58], ebx
push 0x65
pop eax
cmove esi, eax
jmp 0x483d9f
xor edx, edx
mov ecx, edi
inc edx
call fcn.0047c3f2
mov esi, eax
test esi, esi
jne 0x483d9f
mov esi, dword [ebp - 0xf4]
mov ecx, edi
mov al, byte [ebp - 0xd0]
mov byte [esi + 0x34], al
call fcn.0047c447
push 5
pop ecx
cmp eax, ecx
jne 0x483e08
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 0x483ded
mov edx, dword [ebp - 0xd8]
mov dword [edi + 0x54], edx
jmp 0x483ded
mov ecx, 0x1046a
call fcn.004aa313
mov esi, dword [ebp - 0xf4]
jmp 0x483e88
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 0x483f29
cmp eax, 0x204
je 0x483eb8
mov ecx, eax
mov edx, str.unknown_error
call fcn.004a8f4d
jmp 0x483ebd
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x5a22a4
lea eax, [edi + 0x34]
push esi
push eax
call fcn.00467030
mov eax, dword [ebp - 0xd4]
add esp, 0x10
jmp 0x483f29
mov edi, dword [ebp - 0x100]
push str.string_or_blob_too_big
lea eax, [edi + 0x34]
push esi
push eax
call fcn.00467030
add esp, 0xc
push 0x12
jmp 0x483f22
push 9
pop ebx
mov dword [ebp - 0xd4], ebx
mov ecx, ebx
mov dword [edi + 0x58], ebx
jmp 0x483eac
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.00467030
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.00468136
add esp, 0x14
mov ecx, edi
call fcn.0047c447
cmp dword [ebp - 0xd4], 0xc0a
jne 0x483f61
mov byte [esi + 0x36], 1
mov al, byte [ebp - 0x101]
xor esi, esi
inc esi
test al, al
je 0x483d9f
mov ebx, dword [ebp - 0xf4]
mov ecx, ebx
movzx edx, al
dec edx
call fcn.0048cd05
jmp 0x483da5