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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x6bc858]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov ecx, dword [esi + 4]
mov ebx, dword [esi + 8]
xor eax, eax
push edi
mov edi, dword [esi]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x114], ecx
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x4d]
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0xf5], al
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x110], eax
mov eax, dword [edi + 0x20]
push esi
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xd8], edi
mov byte [ebp - 0xf4], dl
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], ecx
call fcn.004f75d0
add esp, 4
cmp dword [esi + 0x58], 7
je 0x4fca34
xor eax, eax
mov dword [esi + 0x58], eax
mov dword [esi + 0x14], eax
mov edx, dword [edi + 0xe0]
mov dword [edi + 0x1b4], eax
test edx, edx
jne 0x501fc2
mov edx, dword [esi + 0x54]
mov ecx, edi
cmp dword [ecx + 0x114], eax
mov dword [ebp - 0xe0], edx
setne al
mov dword [ebp - 0x118], eax
mov edi, edi
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0x36], 0
jne 0x4fca34
cmp dword [ebp - 0x118], 0
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x114]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*4]
mov dword [ebp - 0xec], edi
je 0x4fc4db
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x11c]
cmp ecx, dword [ebp - 0x10c]
jne 0x4fc4d5
mov edx, dword [eax + 0x118]
mov eax, dword [eax + 0x114]
push edx
call eax
add esp, 4
test eax, eax
jne 0x501d8e
mov dword [ebp - 0x10c], eax
inc dword [ebp - 0x10c]
test byte [edi + 2], 2
je 0x4fc50f
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
lea eax, [ebx + ecx*8]
mov edx, 0x2460
mov dword [ebp - 0xdc], eax
test word [eax + 0x1c], dx
je 0x4fc506
call fcn.004f58c0
mov eax, dword [ebp - 0xdc]
mov ecx, 4
mov word [eax + 0x1c], cx
movzx eax, byte [edi]
dec eax
cmp eax, 0x93
ja case.default.0x4fc51e
jmp dword [eax*4 + 0x502004]
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0xe0]
test eax, eax
jne 0x501fc2
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea ecx, [ebx + ecx*8]
mov edx, 4
mov word [ecx + 0x1c], dx
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xe0], eax
jmp case.default.0x4fc51e
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
mov edx, dword [ebx + ecx*8 + 0x10]
mov dword [ebp - 0xe0], edx
jmp case.default.0x4fc51e
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
lea ecx, [ebx + eax*8]
mov eax, dword [ecx + 0x10]
mov edx, 4
mov word [ecx + 0x1c], dx
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xe0]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xe0], ecx
jmp case.default.0x4fc51e
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
je case.default.0x4fc51e
cmp dword [edi + 4], 0
jne 0x501d9d
mov eax, dword [esi + 0xa8]
test eax, eax
je 0x501d9d
mov ecx, dword [eax + 4]
dec dword [esi + 0xb0]
mov edx, dword [ebp - 0xd8]
mov dword [esi + 0xa8], ecx
mov ecx, dword [esi + 0x68]
add dword [edx + 0x48], ecx
mov dword [edx + 0x44], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 0x10]
mov dword [ecx + 0xc0], edx
mov edx, dword [eax + 0x38]
mov dword [ecx + 0xbc], edx
mov edx, dword [eax + 8]
mov dword [ecx + 4], edx
mov edx, dword [eax + 0x30]
mov dword [ecx + 0x1c], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x34]
mov dword [ecx + 0x18], edx
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x40], edx
mov dx, word [eax + 0x28]
mov word [ecx + 0x2e], dx
mov edx, dword [ecx]
mov ebx, dword [eax + 0x20]
mov dword [edx + 0x20], ebx
mov ebx, dword [eax + 0x24]
mov dword [edx + 0x24], ebx
mov edx, dword [eax + 0x44]
mov dword [ecx + 0x68], edx
cmp dword [edi + 8], 4
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x20]
mov eax, dword [eax + 0x2c]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], ecx
jne 0x4fc691
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
mov ecx, dword [eax + edx*4 + 8]
dec ecx
mov dword [ebp - 0xe0], ecx
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0xf0], eax
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x4fc51e
mov edi, dword [edi + 0x10]
mov ecx, dword [edi]
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 4]
mov dword [eax + 0x14], edx
jmp case.default.0x4fc51e
mov eax, dword [ebp - 0xdc]
mov ecx, 8
mov word [eax + 0x1c], cx
mov edx, dword [edi + 0x10]
fld qword [edx]
fstp qword [eax + 8]
jmp case.default.0x4fc51e
mov ecx, dword [edi + 0x10]
mov byte [edi], 9
mov dword [ebp - 0xe8], ecx
call fcn.004dd0f0
cmp byte [ebp - 0xf4], 1
mov dword [edi + 4], eax
je 0x4fc86a
mov esi, dword [ebp - 0xdc]
test ecx, ecx
jne 0x4fc76e
test byte [esi + 0x1c], 0x40
je 0x4fc737
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xac]
mov dword [eax + 4], edx
mov dword [ecx + 0xac], eax
test byte [esi + 0x1c], 0x20
je 0x4fc751
mov eax, dword [ebp - 0xdc]
mov ebx, dword [eax + 0x10]
call fcn.004e2df0
mov esi, dword [ebp - 0xdc]
mov cx, word [esi + 0x1c]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov word [esi + 0x1c], cx
mov byte [esi + 0x1e], 5
jmp 0x4fc80a
mov eax, dword [esi]
test eax, eax
je 0x4fc779
mov eax, dword [eax + 0x4c]
jmp 0x4fc77e
mov eax, 0x3b9aca00
xor ebx, ebx
mov dword [ebp - 0xd4], eax
test eax, eax
js 0x4fc79b
lea ebx, [ebx]
cmp byte [ebx + ecx], 0
je 0x4fc79b
inc ebx
cmp ebx, eax
jle 0x4fc790
xor eax, eax
mov dword [ebp - 0xec], 0x202
push esi
cmp eax, 0x4dae50
jne 0x4fc7c2
call fcn.004f5930
mov eax, dword [ebp - 0xe8]
mov dword [esi + 4], eax
mov dword [esi + 0x24], eax
jmp 0x4fc7da
call fcn.004f5930
mov ecx, dword [ebp - 0xe8]
mov dword [esi + 4], ecx
mov dword [ebp - 0xec], 0xa02
mov dx, word [ebp - 0xec]
add esp, 4
mov dword [esi + 0x20], 0
mov dword [esi + 0x18], ebx
mov word [esi + 0x1c], dx
mov word [esi + 0x1e], 0x103
cmp ebx, dword [ebp - 0xd4]
jg 0x4fd23c
mov esi, dword [ebp - 0xdc]
movzx ecx, byte [ebp - 0xf4]
mov eax, esi
mov dword [ebp - 0xd4], 0
call fcn.004f5550
test eax, eax
jne 0x4fca34
mov dword [esi + 0x24], eax
mov ax, word [esi + 0x1c]
mov ecx, 0xfbff
and ax, cx
mov edx, 0x800
or ax, dx
or bl, 0xff
mov word [esi + 0x1c], ax
cmp byte [edi + 1], bl
jne 0x4fc85b
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0xd8]
call fcn.004daf00
mov byte [edi + 1], bl
mov eax, dword [esi + 4]
mov dword [edi + 0x10], eax
mov ecx, dword [esi + 0x18]
mov dword [edi + 4], ecx
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
cmp edx, dword [eax + 0x4c]
jg 0x4fd23c
mov eax, dword [ebp - 0xdc]
mov ecx, 0xa02
mov word [eax + 0x1c], cx
mov edx, dword [edi + 0x10]
mov dword [eax + 4], edx
mov ecx, dword [edi + 4]
mov dl, byte [ebp - 0xf4]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1f], dl
jmp case.default.0x4fc51e
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 8]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], eax
mov ecx, 1
mov word [edx + 0x1c], cx
cmp dword [ebp - 0xd0], 0
jle case.default.0x4fc51e
mov eax, edx
nop
add eax, 0x28
mov ecx, 0x2460
mov dword [ebp - 0xdc], eax
test word [eax + 0x1c], cx
je 0x4fc8ef
call fcn.004f58c0
mov eax, dword [ebp - 0xdc]
mov edx, 1
mov word [eax + 0x1c], dx
mov ecx, dword [ebp - 0xd0]
dec ecx
mov dword [ebp - 0xd0], ecx
test ecx, ecx
jg 0x4fc8d0
jmp case.default.0x4fc51e
mov eax, dword [edi + 0x10]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [edi + 4]
push 0
push eax
xor eax, eax
mov edx, esi
call fcn.004f5fe0
mov cl, byte [ebp - 0xf4]
add esp, 8
mov byte [esi + 0x1f], cl
jmp case.default.0x4fc51e
mov edi, dword [edi + 4]
mov eax, dword [esi + 0x44]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8 - 0x28]
mov ecx, esi
mov dword [ebp - 0xd0], esi
call fcn.004f5ea0
test eax, eax
jne 0x4fd23c
mov ebx, dword [ebp - 0xdc]
push 0x800
push esi
call fcn.004f5ed0
add esp, 8
jmp case.default.0x4fc51e
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xcc], eax
mov ecx, dword [edi + 4]
mov dword [ebp - 0xc8], ecx
mov edx, dword [edi + 8]
mov dword [ebp - 0xc4], edx
lea edx, [edx + edx*4]
lea ecx, [ecx + ecx*4]
lea esi, [ebx + edx*8]
lea edi, [ebx + ecx*8]
mov dword [ebp - 0xdc], esi
test eax, eax
je 0x4fc9e2
dec eax
mov dword [ebp - 0xcc], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xd0], eax
mov ebx, edi
mov eax, esi
mov dword [esi + 0x24], 0
call fcn.004f5f90
mov ecx, dword [ebp - 0xd0]
mov dword [edi + 0x24], ecx
mov eax, dword [ebp - 0xcc]
add edi, 0x28
add esi, 0x28
test eax, eax
jne 0x4fc9a3
mov dword [ebp - 0xdc], esi
dec eax
mov dword [ebp - 0xcc], eax
jmp case.default.0x4fc51e
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea edx, [eax + eax*4]
lea eax, [edi + edi*4]
lea esi, [ebx + edx*8]
lea ecx, [ebx + eax*8]
push 0x1000
push ecx
mov ebx, esi
mov dword [ebp - 0xdc], esi
call fcn.004f5ed0
mov edx, 0x1000
add esp, 8
test word [esi + 0x1c], dx
je case.default.0x4fc51e
mov eax, esi
call fcn.004f5690
test eax, eax
je case.default.0x4fc51e
mov esi, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xe4]
push str.out_of_memory
add ebx, 0x34
mov byte [esi + 0x36], 1
call fcn.004db2f0
mov dword [ebp - 0xd4], 7
jmp 0x4fd25f
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea eax, [eax + eax*4]
lea ecx, [edi + edi*4]
lea eax, [ebx + eax*8]
lea edx, [ebx + ecx*8]
push 0x1000
push edx
mov ebx, eax
mov dword [ebp - 0xdc], eax
call fcn.004f5ed0
add esp, 8
jmp case.default.0x4fc51e
push 0
mov eax, esi
call fcn.004f8a20
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x4fc51e
push 1
push esi
call fcn.004f8920
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x4fc51e
mov edx, dword [esi + 0x50]
add edx, 2
or edx, 1
mov dword [esi + 0x50], edx
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
xor ecx, ecx
mov dword [esi + 0x14], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ecx
cmp dword [edi + 8], ecx
jle 0x4fcb4f
mov eax, dword [ebp - 0xd0]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x4fcb15
call fcn.004f5690
test eax, eax
jne 0x4fca34
mov ecx, dword [ebp - 0xcc]
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xd0]
lea eax, [ecx + eax*8]
call fcn.004f5750
mov eax, dword [ebp - 0xcc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd0]
lea ecx, [eax + edx*8]
call fcn.004fc100
mov ecx, dword [ebp - 0xcc]
inc ecx
mov dword [ebp - 0xcc], ecx
cmp ecx, dword [edi + 8]
jl 0x4fcaeb
mov ecx, dword [ebp - 0xd8]
cmp byte [ecx + 0x36], 0
jne 0x4fca34
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe4]
inc edx
mov dword [eax + 0x54], edx
mov edi, 0x64
jmp 0x4fd2f0
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edi + 8]
mov edi, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea eax, [edi + edi*4]
lea edi, [ebx + eax*8]
movzx eax, word [ecx + 0x1c]
lea edx, [ebx + edx*8]
mov dword [ebp - 0xe8], ecx
mov cl, byte [edx + 0x1c]
or cl, al
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xdc], edi
test cl, 1
je 0x4fcbc0
mov esi, edi
call fcn.004f5c40
jmp case.default.0x4fc51e
test eax, 0x4000
je 0x4fcbda
mov eax, dword [ebp - 0xe8]
call fcn.004f56f0
test eax, eax
jne 0x4fca34
mov eax, dword [ebp - 0xec]
mov edx, 0x4000
test word [eax + 0x1c], dx
je 0x4fcbf8
call fcn.004f56f0
test eax, eax
jne 0x4fca34
mov ecx, dword [ebp - 0xe8]
mov bl, 0x12
test byte [ecx + 0x1c], bl
jne 0x4fcc1b
movzx esi, byte [ebp - 0xf4]
mov eax, ecx
call fcn.004f57a0
test eax, eax
jne 0x4fca34
mov edx, dword [ebp - 0xec]
test byte [edx + 0x1c], bl
jne 0x4fcc3c
movzx esi, byte [ebp - 0xf4]
mov eax, edx
call fcn.004f57a0
test eax, eax
jne 0x4fca34
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 0xec]
add eax, dword [ecx + 0x18]
cdq
mov ecx, edx
mov edx, dword [ebp - 0xd8]
mov esi, eax
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], ecx
mov eax, dword [edx + 0x4c]
cdq
cmp ecx, edx
jg 0x4fd23c
jl 0x4fcc7b
cmp esi, eax
ja 0x4fd23c
mov ax, word [edi + 0x1c]
mov esi, dword [ebp - 0xec]
mov ecx, 0xbf02
and ax, cx
or ax, 2
xor edx, edx
cmp edi, esi
sete dl
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xd0]
add eax, 2
push edx
call fcn.004f5570
add esp, 4
test eax, eax
jne 0x4fca34
cmp edi, esi
je 0x4fccce
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 4]
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.00602090
add esp, 0xc
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [edi + 4]
add eax, dword [esi + 0x18]
push ecx
push edx
push eax
call fcn.00602090
mov edx, dword [ebp - 0xd0]
mov ecx, dword [edi + 4]
mov byte [edx + ecx], 0
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edi + 4]
mov byte [eax + ecx + 1], 0
mov cl, byte [ebp - 0xf4]
mov edx, 0x200
add esp, 0xc
or word [edi + 0x1c], dx
mov eax, dword [ebp - 0xd0]
mov dword [edi + 0x18], eax
mov byte [edi + 0x1f], cl
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xf0]
lea ebx, [eax + edx*8]
mov esi, ebx
call fcn.004fc1f0
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0xf0]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.004fc1f0
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
movzx eax, word [ebx + 0x1c]
movzx ecx, word [esi + 0x1c]
or eax, ecx
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xd0], eax
test al, 1
jne 0x4fcffa
mov dl, byte [ebx + 0x1c]
and dl, byte [esi + 0x1c]
test dl, 4
je 0x4fcddb
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0xc4], ecx
mov edx, dword [esi + 0x10]
mov dword [ebp - 0xc0], edx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0xbc], edx
movzx edx, byte [edi]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x4fcdbb
jmp dword [edx*4 + 0x502254]
push ecx
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.004de060
add esp, 0xc
test eax, eax
je 0x4fcec8
mov eax, ebx
call fcn.004f5a40
fstp qword [ebp - 0xb8]
mov eax, esi
call fcn.004f5a40
fst qword [ebp - 0xb0]
movzx eax, byte [edi]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x4fce04
jmp dword [eax*4 + 0x502264]
push ecx
push eax
lea edx, [ebp - 0xc0]
call fcn.004de0f0
add esp, 8
test eax, eax
jne 0x4fcddb
jmp 0x4fcec8
push ecx
push eax
lea ecx, [ebp - 0xc0]
push ecx
call fcn.004de140
add esp, 0xc
test eax, eax
jne 0x4fcddb
jmp 0x4fcec8
mov edx, eax
or edx, ecx
je 0x4fcffa
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x4fce6a
cmp dword [ebp - 0xc0], 0
jne 0x4fce6a
cmp dword [ebp - 0xbc], 0x80000000
je 0x4fcddb
push ecx
mov ecx, dword [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xbc]
push eax
push ecx
call fcn.00613a90
jmp 0x4fcebc
mov edx, eax
or edx, ecx
je 0x4fcffa
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x4fcea7
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
push ecx
mov ecx, dword [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xbc]
push eax
push ecx
call fcn.00613b40
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xc0]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xbc]
mov dx, word [eax + 0x1c]
mov dword [eax + 0x14], ecx
mov ecx, 0xbf04
and dx, cx
or dx, 4
mov word [eax + 0x1c], dx
jmp case.default.0x4fc51e
fadd qword [ebp - 0xb8]
jmp 0x4fcfa2
fsub qword [ebp - 0xb8]
jmp 0x4fcfa2
fmul qword [ebp - 0xb8]
jmp 0x4fcfa2
fld qword [ebp - 0xb8]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4fcff6
fdivp st(1)
jmp 0x4fcfa2
fld qword [ebp - 0xb8]
call fcn.00607186
mov esi, eax
mov edi, edx
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], edi
call fcn.00607186
mov ecx, esi
or ecx, edi
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
je 0x4fcffa
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x4fcf87
mov esi, 1
xor edi, edi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], edi
push edi
push esi
push edx
push eax
call fcn.00613b40
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
fild qword [ebp - 0x128]
sub esp, 8
fst qword [ebp - 0xb0]
fstp qword [esp]
call fcn.004dd0c0
add esp, 8
test eax, eax
jne 0x4fcffa
mov eax, dword [ebp - 0xdc]
fld qword [ebp - 0xb0]
mov dx, word [eax + 0x1c]
fstp qword [eax + 8]
mov ecx, 0xbf08
and dx, cx
or dx, 8
mov word [eax + 0x1c], dx
test byte [ebp - 0xd0], 8
jne case.default.0x4fc51e
mov esi, eax
call fcn.004f5a90
jmp case.default.0x4fc51e
fstp st(0)
fstp st(0)
mov esi, dword [ebp - 0xdc]
call fcn.004f5c40
jmp case.default.0x4fc51e
mov edi, dword [edi + 4]
test edi, edi
je case.default.0x4fc51e
mov eax, dword [ebp - 0xf0]
lea edx, [edi + edi*4]
push 0
push 0
lea esi, [eax + edx*8]
call fcn.004f5cf0
add esp, 8
jmp case.default.0x4fc51e
movzx ecx, byte [edi + 3]
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], ecx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
xor eax, eax
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xd0], eax
test ecx, ecx
jle 0x4fd0c7
mov ecx, dword [ebp - 0x88]
mov dword [ecx + eax*4], ebx
mov eax, dword [ebp - 0xcc]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x4fd09c
call fcn.004f5690
test eax, eax
jne 0x4fca34
mov eax, dword [ebp - 0xcc]
mov ecx, eax
call fcn.004fc100
mov eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xcc]
inc eax
add ebx, 0x28
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ebx
cmp eax, dword [ebp - 0x84]
jl 0x4fd06f
cmp byte [edi + 1], 0xfb
mov eax, dword [edi + 0x10]
jne 0x4fd0e2
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], 0
jmp 0x4fd0f0
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov esi, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xdc]
xor eax, eax
mov edx, 1
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0xc0]
mov word [ebp - 0xa4], dx
mov dword [ebp - 0xc0], esi
call fcn.004f5f90
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xc8]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0xa4], ax
mov dword [ebp - 0x90], 0
test byte [ecx + 3], 8
je 0x4fd15b
mov edx, dword [edi - 4]
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xfc]
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], eax
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x84]
push edx
mov edx, dword [ebp - 0xc8]
push eax
mov eax, dword [edx + 0xc]
lea ecx, [ebp - 0xc8]
push ecx
call eax
mov ebx, dword [ebp - 0xc4]
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
add esp, 0xc
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xfc], edx
test ebx, ebx
je 0x4fd1c5
mov eax, dword [edi + 4]
push eax
call fcn.004f9030
mov ecx, dword [ebp - 0xc4]
add esp, 4
mov dword [edi + 0x10], ecx
mov byte [edi + 1], 0xf9
cmp byte [esi + 0x36], 0
jne 0x501e4b
cmp dword [ebp - 0x90], 0
je 0x4fd208
mov bl, 1
lea edi, [ebp - 0xc0]
call fcn.004f6540
mov ebx, dword [ebp - 0xe4]
push eax
push 0x675fac
add ebx, 0x34
call fcn.004db2f0
mov edx, dword [ebp - 0x90]
add esp, 8
mov dword [ebp - 0xd4], edx
movzx ecx, byte [ebp - 0xf4]
lea eax, [ebp - 0xc0]
call fcn.004f5550
mov esi, dword [ebp - 0xdc]
lea ebx, [ebp - 0xc0]
mov eax, esi
call fcn.004f5f90
mov ecx, esi
call fcn.004f5ea0
test eax, eax
je case.default.0x4fc51e
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
push str.string_or_blob_too_big
add ebx, 0x34
call fcn.004db2f0
mov dword [ebp - 0xd4], 0x12
add esp, 4
mov esi, dword [ebp - 0xe4]
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0xa0]
mov edx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xd4]
push eax
push ecx
push edx
push str.statement_aborts_at__d:___s___s
push edi
mov dword [esi + 0x58], edi
call fcn.004dc840
add esp, 0x14
mov eax, esi
call fcn.004f8a90
cmp edi, 0xc0a
jne 0x4fd2aa
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x36], 1
mov al, byte [ebp - 0xf5]
mov edi, 1
test al, al
je 0x4fd2f0
mov edx, dword [ebp - 0xd8]
movzx esi, al
mov eax, dword [edx + 0x10]
dec esi
mov ecx, esi
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 0xc]
push ecx
call fcn.00514800
add esp, 4
cmp esi, edi
je 0x4fd2f0
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0x1c]
push ecx
call fcn.00514800
add esp, 4
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xfc]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0xe4]
push edx
mov dword [eax + 0x24], ecx
call fcn.004f7640
mov ecx, dword [ebp - 4]
add esp, 4
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005f0da0
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea ecx, [ebx + ecx*8]
lea edx, [eax + eax*4]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
lea ebx, [ebx + edx*8]
mov dword [ebp - 0xdc], ebx
test al, 1
je 0x4fd361
mov esi, ebx
call fcn.004f5c40
jmp case.default.0x4fc51e
call fcn.004f59d0
mov ecx, esi
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
call fcn.004f59d0
mov ebx, eax
mov esi, edx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], esi
mov al, byte [edi]
mov byte [ebp - 0xb8], al
cmp al, 0x52
jne 0x4fd3a6
and dword [ebp - 0xd0], ebx
and dword [ebp - 0xcc], esi
jmp 0x4fd4cd
cmp al, 0x53
jne 0x4fd3bb
or dword [ebp - 0xd0], ebx
or dword [ebp - 0xcc], esi
jmp 0x4fd4cd
mov ecx, ebx
or ecx, esi
je 0x4fd4cd
test esi, esi
jg 0x4fd405
jl 0x4fd3cf
test ebx, ebx
jae 0x4fd3fa
mov dl, 0xa9
sub dl, al
mov al, dl
mov byte [ebp - 0xb8], al
cmp esi, 0xffffffff
jl 0x4fd432
jg 0x4fd3e7
cmp ebx, 0xffffffc0
jbe 0x4fd432
neg ebx
adc esi, 0
neg esi
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], esi
test esi, esi
jl 0x4fd459
jg 0x4fd405
cmp ebx, 0x40
jb 0x4fd459
cmp dword [ebp - 0xcc], 0
jg 0x4fd448
jl 0x4fd419
cmp dword [ebp - 0xd0], 0
jae 0x4fd448
cmp al, 0x54
je 0x4fd448
or eax, 0xffffffff
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x4fd4cd
mov dword [ebp - 0xc0], 0x40
mov dword [ebp - 0xbc], 0
jmp 0x4fd405
xor eax, eax
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x4fd4cd
mov edx, dword [ebp - 0xcc]
cmp al, 0x54
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
jne 0x4fd476
call fcn.006076b0
mov esi, eax
mov edi, edx
jmp 0x4fd4b5
call fcn.00607780
cmp dword [ebp - 0xcc], 0
mov esi, eax
mov edi, edx
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], edi
jg 0x4fd4c1
jl 0x4fd49f
cmp dword [ebp - 0xd0], 0
jae 0x4fd4c1
mov ecx, 0x40
sub ecx, ebx
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.006076b0
or esi, eax
or edi, edx
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], edi
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xcc]
mov cx, word [eax + 0x1c]
mov dword [eax + 0x14], edx
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.004f5b30
mov eax, dword [edi + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xf0]
lea esi, [eax + edx*8]
call fcn.004fc1f0
test byte [esi + 0x1c], 8
je 0x4fd540
call fcn.004f5a90
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x4fd55f
mov edi, dword [edi + 8]
test edi, edi
je 0x501e5f
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.default.0x4fc51e
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
test byte [ebx + ecx*8 + 0x1c], 4
lea esi, [ebx + ecx*8]
je case.default.0x4fc51e
call fcn.004f5b60
jmp case.default.0x4fc51e
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
movzx eax, word [ebx + edx*8 + 0x1c]
lea edi, [ebx + edx*8]
test al, 1
jne case.default.0x4fc51e
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
mov word [edi + 0x1c], cx
test cl, 2
jne 0x4fd5ca
test cl, 0xc
je 0x4fd5ca
movzx esi, byte [ebp - 0xf4]
mov eax, edi
call fcn.004f57a0
mov edx, 0xfff3
and word [edi + 0x1c], dx
movzx eax, word [edi + 0x1c]
test eax, 0x4000
je 0x4fd5f9
mov eax, edi
call fcn.004f56f0
mov dword [ebp - 0xd4], eax
mov eax, 0xbfe3
and word [edi + 0x1c], ax
jmp case.default.0x4fc51e
mov eax, 0xbfe3
and word [edi + 0x1c], ax
mov dword [ebp - 0xd4], 0
jmp case.default.0x4fc51e
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
movzx eax, word [ebx + ecx*8 + 0x1c]
lea edi, [ebx + ecx*8]
test al, 1
jne case.default.0x4fc51e
test al, 0x10
jne 0x4fd65a
test al, 2
jne 0x4fd641
test al, 0xc
je 0x4fd641
movzx esi, byte [ebp - 0xf4]
mov eax, edi
call fcn.004f57a0
mov dx, word [edi + 0x1c]
mov eax, 0xbf10
and dx, ax
or dx, 0x10
mov word [edi + 0x1c], dx
jmp case.default.0x4fc51e
and eax, 0xff10
mov word [edi + 0x1c], ax
jmp case.default.0x4fc51e
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea eax, [ebx + ecx*8]
call fcn.004f5bc0
jmp case.default.0x4fc51e
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
test byte [ebx + edx*8 + 0x1c], 1
lea esi, [ebx + edx*8]
jne case.default.0x4fc51e
call fcn.004f5b30
jmp case.default.0x4fc51e
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
test byte [ebx + eax*8 + 0x1c], 1
lea esi, [ebx + eax*8]
jne case.default.0x4fc51e
call fcn.004f5b60
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea esi, [ebx + ecx*8]
mov cx, word [esi + 0x1c]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov word [ebp - 0xca], cx
mov dx, word [eax + 0x1c]
mov dword [ebp - 0xe8], eax
mov al, dl
mov word [ebp - 0xc8], dx
mov dl, byte [ebp - 0xca]
mov cl, al
or cl, dl
test cl, 1
je 0x4fd754
mov cl, byte [edi + 3]
test cl, cl
jns 0x4fd70e
and al, dl
test al, 1
mov eax, 0
sete al
jmp 0x4fd7e1
test cl, 0x10
je 0x4fd73c
mov edi, dword [edi + 8]
lea edx, [edi + edi*4]
mov cx, word [ebx + edx*8 + 0x1c]
lea eax, [ebx + edx*8]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov dword [ebp - 0xdc], eax
mov word [eax + 0x1c], cx
jmp case.default.0x4fc51e
test cl, 8
je case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov al, byte [edi + 3]
and al, 0x67
mov byte [ebp - 0xcc], al
je 0x4fd7a1
mov ebx, dword [ebp - 0xf4]
push ebx
mov edi, esi
call fcn.004fc270
mov al, byte [ebp - 0xcc]
add esp, 4
push ebx
mov ebx, dword [ebp - 0xe8]
mov edi, ebx
call fcn.004fc270
mov eax, dword [ebp - 0xd8]
add esp, 4
cmp byte [eax + 0x36], 0
jne 0x4fca34
mov edi, dword [ebp - 0xec]
jmp 0x4fd7a7
mov ebx, dword [ebp - 0xe8]
mov ecx, 0x4000
test word [esi + 0x1c], cx
je 0x4fd7b9
mov eax, esi
call fcn.004f56f0
mov edx, 0x4000
test word [ebx + 0x1c], dx
je 0x4fd7cb
mov eax, ebx
call fcn.004f56f0
mov eax, dword [edi + 0x10]
push eax
mov eax, esi
mov ecx, ebx
call fcn.004f61a0
mov ebx, dword [ebp - 0xf0]
add esp, 4
mov dword [ebp - 0xd0], eax
movzx ecx, byte [edi]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x4fd7f2
jmp dword [ecx*4 + 0x502274]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x4fd835
xor edx, edx
test eax, eax
setne dl
jmp 0x4fd833
xor ecx, ecx
test eax, eax
sets cl
mov eax, ecx
jmp 0x4fd835
xor edx, edx
test eax, eax
setle dl
jmp 0x4fd833
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x4fd835
xor edx, edx
test eax, eax
setns dl
mov eax, edx
mov dword [ebp - 0xd0], eax
test byte [edi + 3], 0x10
je 0x4fd88f
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
mov cx, word [ebx + eax*8 + 0x1c]
lea ebx, [ebx + eax*8]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [ebx + 0x1c], cx
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ebx + 0x14], edx
mov edx, dword [ebp - 0xe8]
mov dword [ebx + 0x10], eax
mov al, byte [ebp - 0xca]
mov byte [esi + 0x1c], al
mov cl, byte [ebp - 0xc8]
mov dword [ebp - 0xdc], ebx
mov byte [edx + 0x1c], cl
jmp case.default.0x4fc51e
test eax, eax
je 0x4fd89d
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
mov al, byte [ebp - 0xca]
mov edx, dword [ebp - 0xe8]
mov byte [esi + 0x1c], al
mov cl, byte [ebp - 0xc8]
mov byte [edx + 0x1c], cl
jmp case.default.0x4fc51e
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x110], eax
jmp case.default.0x4fc51e
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0xd0], ecx
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xc0], esi
mov edx, dword [edi + 4]
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 8]
mov dword [ebp - 0xc4], eax
xor eax, eax
mov dword [ebp - 0xcc], eax
test ecx, ecx
jle 0x4fd9a7
mov ebx, dword [ebp - 0x110]
mov edi, dword [ebp - 0xf0]
jmp 0x4fd916
mov esi, dword [ebp - 0xc0]
test ebx, ebx
je 0x4fd91f
mov ecx, dword [ebx + eax*4]
jmp 0x4fd921
mov ecx, eax
mov dword [ebp - 0xbc], ecx
mov edx, dword [esi + eax*4 + 0xc]
mov dword [ebp - 0xb8], edx
mov esi, dword [esi + 8]
movzx eax, byte [esi + eax]
mov dword [ebp - 0xb4], eax
push edx
mov edx, dword [ebp - 0xc4]
lea eax, [ecx + edx]
add ecx, dword [ebp - 0xc8]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [edi + eax*8]
lea ecx, [edi + ecx*8]
call fcn.004f61a0
add esp, 4
mov dword [ebp - 0x108], eax
test eax, eax
jne 0x4fd990
mov eax, dword [ebp - 0xcc]
inc eax
mov dword [ebp - 0xcc], eax
cmp eax, dword [ebp - 0xd0]
jl 0x4fd910
mov dword [ebp - 0x110], 0
jmp case.default.0x4fc51e
cmp dword [ebp - 0xb4], 0
je 0x4fd9a7
mov edx, dword [ebp - 0x108]
neg edx
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x110], 0
jmp case.default.0x4fc51e
mov eax, dword [ebp - 0x108]
test eax, eax
jns 0x4fd9cf
mov edi, dword [edi + 4]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
jne 0x4fd9e0
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov edi, dword [edi + 0xc]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea ecx, [ebx + eax*8]
je 0x4fda06
mov edx, 2
jmp 0x4fda18
call fcn.004f59d0
or eax, edx
je 0x4fda16
mov edx, 1
jmp 0x4fda18
xor edx, edx
mov dword [ebp - 0xd0], edx
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 0x1c], 1
lea ecx, [ebx + ecx*8]
je 0x4fda35
mov eax, 2
jmp 0x4fda4d
call fcn.004f59d0
or eax, edx
mov edx, dword [ebp - 0xd0]
je 0x4fda4b
mov eax, 1
jmp 0x4fda4d
xor eax, eax
mov dword [ebp - 0xcc], eax
cmp byte [edi], 0x45
jne 0x4fda65
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x66e1ac]
jmp 0x4fda70
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x66e1e0]
mov dword [ebp - 0xd0], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea ebx, [ebx + edx*8]
mov dword [ebp - 0xdc], ebx
cmp eax, 2
jne 0x4fdaa3
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, 1
mov word [ebx + 0x1c], ax
jmp case.default.0x4fc51e
cdq
mov dword [ebx + 0x14], edx
mov dx, word [ebx + 0x1c]
mov dword [ebx + 0x10], eax
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [ebx + 0x1c], dx
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 0x1c], 1
lea edx, [edi + edi*4]
lea ecx, [ebx + ecx*8]
lea esi, [ebx + edx*8]
mov dword [ebp - 0xdc], esi
je 0x4fdaec
call fcn.004f5c40
jmp case.default.0x4fc51e
call fcn.004f59d0
or eax, edx
jne 0x4fdb0a
mov eax, 1
cdq
push edx
push eax
call fcn.004f5cf0
add esp, 8
jmp case.default.0x4fc51e
xor eax, eax
cdq
push edx
push eax
call fcn.004f5cf0
add esp, 8
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea edx, [edi + edi*4]
lea ecx, [ebx + eax*8]
lea esi, [ebx + edx*8]
mov dword [ebp - 0xdc], esi
je 0x4fdb45
call fcn.004f5c40
jmp case.default.0x4fc51e
call fcn.004f59d0
not edx
not eax
push edx
push eax
call fcn.004f5cf0
add esp, 8
jmp case.default.0x4fc51e
mov eax, dword [esi + 0xc0]
mov ecx, dword [edi + 4]
cmp byte [eax + ecx], 0
je 0x4fdb7b
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov byte [eax + ecx], 1
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
lea eax, [ebx + edx*8]
je 0x4fdb99
mov eax, dword [edi + 0xc]
jmp 0x4fdbc6
call fcn.004f5a40
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4fdbb0
mov eax, 1
jmp 0x4fdbb2
xor eax, eax
mov dword [ebp - 0xd0], eax
cmp byte [edi], 0x1c
jne 0x4fdbcc
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
mov dword [ebp - 0xd0], eax
test eax, eax
je case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
je case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
jne case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov ecx, dword [edi + 4]
xor eax, eax
mov dword [ebp - 0xc0], ecx
mov edx, dword [edi + 8]
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
xor edx, edx
mov dword [ebp - 0xb8], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 0x40]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [eax]
mov dword [ebp - 0xb0], ecx
cmp ecx, edx
je 0x4fdd52
mov esi, eax
call fcn.004f9220
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x501f49
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0x1c], 0
je 0x4fdcc7
mov dword [ebp - 0xd0], 0
jmp 0x4fdd22
mov ecx, dword [eax + 0x50]
mov edx, dword [ebp - 0xe4]
cmp ecx, dword [edx + 0x50]
jne 0x4fdce9
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0xd0], ecx
mov edx, dword [eax + 0x60]
mov dword [ebp - 0xb4], edx
jmp 0x4fdd18
cmp byte [eax + 0x1f], 0
mov esi, dword [ebp - 0xb0]
je 0x4fdd41
lea edi, [ebp - 0xc8]
call fcn.004ee820
mov eax, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xd0]
test ecx, ecx
jne 0x4fdd91
mov eax, dword [ebp - 0x94]
mov dx, word [eax + 0x1c]
mov ecx, 0xbf01
and dx, cx
or dx, 1
mov word [eax + 0x1c], dx
jmp case.default.0x4fc51e
lea ecx, [ebp - 0xd0]
push ecx
call fcn.004ee890
add esp, 4
jmp 0x4fdd12
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jle 0x4fdd89
lea ecx, [ecx + ecx*4]
lea ebx, [ebx + ecx*8]
mov dword [ebp - 0x4c], ebx
mov ecx, dword [ebx + 0x18]
mov dword [ebp - 0xd0], ecx
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xb4], ecx
test byte [edi + 3], 0x20
je 0x4fdd81
xor esi, esi
mov dword [eax + 0x50], esi
jmp 0x4fdd12
mov esi, dword [esi + 0x50]
mov dword [eax + 0x50], esi
jmp 0x4fdd12
mov dword [ebp - 0xd0], edx
jmp 0x4fdd22
mov edx, dword [ebp - 0xd8]
cmp ecx, dword [edx + 0x4c]
ja 0x4fd23c
mov edx, dword [eax + 0x14]
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xa4], edx
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0xac], ecx
mov ebx, dword [eax + 0x50]
cmp ebx, dword [esi + 0x50]
jne 0x4fddce
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0xa8], eax
jmp 0x4fe00b
lea ecx, [ecx + edx*4]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x54], 0
mov dword [eax + 0x5c], ecx
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xd0]
mov dword [ecx + 0x54], edx
mov ecx, dword [ebp - 0xb8]
mov eax, dword [esi + 0x50]
mov dword [ecx + 0x50], eax
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x4fde0e
mov dword [ebp - 0x98], ecx
jmp 0x4fde72
mov edx, dword [ebp - 0xb8]
cmp byte [edx + 0x1f], 0
je 0x4fde2b
mov esi, dword [ebp - 0xb0]
lea eax, [ebp - 0x54]
push eax
call fcn.004eef30
jmp 0x4fde3a
mov eax, dword [ebp - 0xb0]
lea ecx, [ebp - 0x54]
push ecx
call fcn.004eef90
mov edx, dword [ebp - 0xd0]
add esp, 4
mov dword [ebp - 0x98], eax
cmp edx, dword [ebp - 0x54]
ja 0x4fde5f
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xb4], eax
mov dword [ecx + 0x60], eax
jmp 0x4fde6c
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x60], 0
mov ecx, dword [ebp - 0x98]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4fde85
movzx edx, al
mov dword [ebp - 0x60], edx
mov eax, 1
jmp 0x4fde99
lea esi, [ebp - 0x60]
call fcn.004ddea0
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x98]
movzx eax, al
movzx eax, al
mov dword [ebp - 0x58], eax
cmp edx, 0x18003
jbe 0x4fdebc
mov eax, 0x100eb
call fcn.0053de50
mov dword [ebp - 0xd4], eax
jmp case.default.0x4fc51e
mov esi, dword [ebp - 0xa4]
lea ebx, [esi + esi*4 + 3]
mov dword [ebp - 0xa0], ebx
cmp ebx, edx
jle 0x4fded8
mov ebx, edx
mov dword [ebp - 0xa0], ebx
cmp dword [ebp - 0xb4], 0
jne 0x4fdf3c
cmp dword [ebp - 0x54], ebx
jge 0x4fdf3c
mov edx, dword [ebp - 0xb8]
xor ecx, ecx
mov word [ebp - 0x74], cx
mov dword [ebp - 0x90], ecx
movzx eax, byte [edx + 0x1f]
push eax
push ecx
mov ecx, dword [ebp - 0xb0]
push ecx
lea eax, [ebp - 0x90]
call fcn.004f6420
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x4fc51e
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0xa0]
mov esi, dword [ebp - 0xa4]
mov dword [ebp - 0x98], ecx
lea eax, [ecx + ebx]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x58]
add eax, ecx
mov dword [ebp - 0x68], eax
xor eax, eax
mov dword [ebp - 0x9c], eax
test esi, esi
jle 0x4fdfc2
mov ecx, dword [ebp - 0x64]
cmp dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0xa8]
jae 0x4fe06c
mov dword [ecx + eax*4], edx
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4fdf80
movzx edx, al
inc ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x68], ecx
jmp 0x4fdf8e
lea esi, [ebp - 0x50]
call fcn.004ddea0
movzx eax, al
add dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xac]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x50]
call fcn.004f93b0
mov edx, dword [ebp - 0x60]
add edx, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], edx
cmp edx, eax
jae 0x4fe076
mov edx, dword [ebp - 0x64]
inc edx
mov dword [ebp - 0x68], edx
lea eax, [ebp - 0x90]
push eax
call fcn.004f5930
mov eax, dword [ebp - 0x68]
mov ecx, 1
mov word [ebp - 0x74], cx
mov ecx, dword [ebp - 0x64]
add esp, 4
cmp eax, ecx
ja 0x4fe1db
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0xd0]
cmp edx, esi
ja 0x4fe1db
cmp eax, ecx
jne 0x4fe005
cmp edx, esi
jne 0x4fe1db
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xa8]
cmp dword [eax + edx*4], 0
je 0x4fe14d
cmp dword [ebp - 0xb4], 0
je 0x4fe094
mov eax, dword [ebp - 0x94]
mov esi, 0x2460
test word [eax + 0x1c], si
je 0x4fe052
call fcn.004f58c0
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ecx + edx*4]
push ecx
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx + edx*4]
add ecx, dword [ebp - 0xb4]
mov esi, eax
jmp 0x4fe134
mov dword [ecx + eax*4], 0
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa4]
jl 0x4fdf56
jmp 0x4fdfc2
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x50], eax
mov cl, byte [edi + 3]
test cl, 0xc0
je 0x4fe0be
cmp eax, 0xc
jb 0x4fe0ab
test al, 1
je 0x4fe0af
test cl, cl
jns 0x4fe0be
cmp eax, 0xc
sbb ecx, ecx
lea edx, [ebp - 0xc8]
and ecx, edx
jmp 0x4fe127
call fcn.004f93b0
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x90]
call fcn.004f5f90
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x1f]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xa0]
push ecx
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp - 0xb0]
push ecx
push edx
lea eax, [ebp - 0x90]
call fcn.004f6420
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x4fc51e
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x50]
mov esi, dword [ebp - 0x94]
mov dword [ebp - 0x98], ecx
push eax
call fcn.004f9480
mov eax, dword [ebp - 0x94]
mov cl, byte [ebp - 0xf4]
add esp, 4
mov byte [eax + 0x1f], cl
jmp 0x4fe186
cmp byte [edi + 1], 0xf8
jne 0x4fe16c
mov edx, dword [edi + 0x10]
mov ebx, dword [ebp - 0x94]
push 0x800
push edx
call fcn.004f5ed0
add esp, 8
jmp 0x4fe186
mov eax, dword [ebp - 0x94]
mov cx, word [eax + 0x1c]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov word [eax + 0x1c], cx
cmp dword [ebp - 0x6c], 0
je 0x4fe1c5
mov eax, dword [ebp - 0x94]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [ebp - 0x94]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x8c]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x94]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x94]
call fcn.004f5690
mov dword [ebp - 0xd4], eax
jmp case.default.0x4fc51e
mov eax, 0x1013b
call fcn.0053de50
mov dword [ebp - 0xd4], eax
jmp case.default.0x4fc51e
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xd0], ecx
mov edi, dword [edi + 4]
mov al, byte [ecx]
lea edx, [edi + edi*4]
lea edi, [ebx + edx*8]
mov byte [ebp - 0xcc], al
test al, al
je 0x4fe253
mov edi, edi
inc ecx
mov dword [ebp - 0xd0], ecx
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x4fe22f
mov eax, edi
call fcn.004f56f0
mov al, byte [ebp - 0xcc]
mov edx, dword [ebp - 0xf4]
push edx
call fcn.004fc270
mov ecx, dword [ebp - 0xd0]
mov al, byte [ecx]
add esp, 4
add edi, 0x28
mov byte [ebp - 0xcc], al
test al, al
jne 0x4fe210
inc ecx
mov dword [ebp - 0xd0], ecx
jmp case.default.0x4fc51e
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb0], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x9c], eax
mov ecx, dword [edi + 0x10]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
movzx edx, byte [esi + 0x61]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xa4], eax
mov ecx, dword [edi + 8]
mov dword [ebp - 0x9c], ecx
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8 - 0x28]
mov dword [ebp - 0x94], edx
mov dword [ebp - 0xa0], ecx
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea esi, [ebx + edx*8]
mov edi, eax
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xcc], edi
cmp eax, ecx
ja 0x4fe3b7
cmp dword [ebp - 0x98], 0
je 0x4fe316
mov eax, dword [ebp - 0xf4]
push eax
mov ecx, edi
sub ecx, dword [ebp - 0xa4]
mov eax, 0x66666667
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [ebp - 0x98]
mov al, byte [ecx + edx]
call fcn.004fc270
mov edi, dword [ebp - 0xcc]
add esp, 4
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x4fe334
cmp dword [edi + 0x18], 0
jle 0x4fe334
mov eax, edi
call fcn.004f56f0
mov edi, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x94]
push ecx
mov ecx, edi
call fcn.004f92c0
mov ecx, eax
add esp, 4
mov dword [ebp - 0xa8], ecx
call fcn.004f93b0
mov ebx, eax
cdq
add dword [ebp - 0xc8], eax
push 0
push ecx
adc dword [ebp - 0xc4], edx
mov dword [ebp - 0x8c], ebx
call fcn.004ddf10
add dword [ebp - 0xc0], eax
mov edx, 0x4000
add esp, 8
test word [edi + 0x1c], dx
je 0x4fe38e
mov eax, dword [edi + 0x10]
add dword [ebp - 0xb0], eax
jmp 0x4fe39c
test ebx, ebx
je 0x4fe39c
mov dword [ebp - 0xb0], 0
add edi, 0x28
mov dword [ebp - 0xcc], edi
cmp edi, dword [ebp - 0xa0]
jbe 0x4fe2d6
mov esi, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xc0]
mov eax, edi
cdq
push edx
push eax
call fcn.004ddf10
mov ebx, eax
add edi, ebx
mov eax, edi
cdq
push edx
push eax
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xc0], edi
call fcn.004ddf10
add esp, 0x10
cmp ebx, eax
jge 0x4fe3ef
inc edi
mov dword [ebp - 0xc0], edi
mov eax, dword [ebp - 0xb0]
cdq
mov ebx, eax
mov eax, edi
mov dword [ebp - 0xe8], edx
cdq
mov edi, eax
mov ecx, edx
mov edx, dword [ebp - 0xd8]
sub edi, ebx
sbb ecx, dword [ebp - 0xe8]
add edi, dword [ebp - 0xc8]
adc ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xb4], ecx
mov eax, dword [edx + 0x4c]
cdq
cmp ecx, edx
jg 0x4fd23c
jl 0x4fe441
cmp edi, eax
ja 0x4fd23c
mov eax, edi
push 0
mov edi, esi
call fcn.004f5570
add esp, 4
test eax, eax
jne 0x4fca34
mov eax, dword [ebp - 0xc0]
mov ecx, dword [esi + 4]
mov dword [ebp - 0xd0], ecx
cmp eax, 0x80
jae 0x4fe476
mov byte [ecx], al
mov eax, 1
jmp 0x4fe47b
call fcn.004ddcf0
mov ecx, dword [ebp - 0xa4]
movzx edi, al
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x90], edi
mov dword [ebp - 0xcc], ecx
cmp ecx, eax
ja 0x4fe50a
lea ebx, [ebx]
mov edx, dword [ebp - 0x94]
push edx
call fcn.004f92c0
add esp, 4
mov dword [ebp - 0xa8], eax
cmp eax, 0x80
jae 0x4fe4cc
mov ecx, dword [ebp - 0xd0]
mov byte [edi + ecx], al
mov eax, 1
jmp 0x4fe4da
mov edx, dword [ebp - 0xd0]
lea ecx, [edi + edx]
call fcn.004ddcf0
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xcc]
movzx eax, al
add edi, eax
mov eax, dword [ebp - 0xa0]
add ecx, 0x28
mov dword [ebp - 0x90], edi
mov dword [ebp - 0xcc], ecx
cmp ecx, eax
jbe 0x4fe4a0
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], ecx
cmp ecx, eax
ja 0x4fe565
jmp 0x4fe520
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xd0]
sub edx, edi
lea ebx, [edi + eax]
mov eax, dword [ebp - 0x94]
push edx
call fcn.004f93d0
mov ecx, dword [ebp - 0xcc]
mov edi, dword [ebp - 0x90]
add ecx, 0x28
add edi, eax
add esp, 4
mov dword [ebp - 0x90], edi
mov dword [ebp - 0xcc], ecx
cmp ecx, dword [ebp - 0xa0]
jbe 0x4fe520
mov ecx, dword [ebp - 0xb8]
mov edx, 0x410
mov dword [esi + 0x18], ecx
mov word [esi + 0x1c], dx
mov dword [esi + 0x20], 0
mov eax, dword [ebp - 0xb0]
test eax, eax
je 0x4fe594
mov dword [esi + 0x10], eax
mov eax, 0x4410
mov word [esi + 0x1c], ax
mov byte [esi + 0x1f], 1
jmp case.default.0x4fc51e
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x40]
mov eax, dword [edx + ecx*4]
mov eax, dword [eax]
xor ecx, ecx
mov dword [ebp - 0xc8], eax
cmp eax, ecx
je 0x4fe5e6
lea ecx, [ebp - 0xd0]
push ecx
call fcn.004f2db0
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xcc]
add esp, 4
mov dword [eax + 0x14], ecx
jmp case.default.0x4fc51e
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], ecx
mov edx, ecx
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0x14], ecx
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov dword [ebp - 0xd0], eax
mov ebx, dword [edi + 0x10]
mov dword [ebp - 0xcc], ebx
test eax, eax
jne 0x4fe72c
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 0x84], eax
jle 0x4fe65a
mov ebx, dword [ebp - 0xe4]
push str.cannot_open_savepoint___SQL_statements_in_progress
add ebx, 0x34
mov esi, edx
call fcn.004db2f0
add esp, 4
mov dword [ebp - 0xd4], 5
jmp case.default.0x4fc51e
mov ecx, ebx
call fcn.004dd0f0
mov dword [ebp - 0xc8], eax
mov eax, edx
mov ecx, dword [eax + 0x1e4]
add ecx, dword [eax + 0x1e0]
push ecx
push 0
push eax
call fcn.00530eb0
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x501f49
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xd8]
add ecx, 0x19
call fcn.004db140
mov dword [ebp - 0xc4], eax
test eax, eax
je case.default.0x4fc51e
lea edx, [eax + 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc4]
inc eax
push eax
mov eax, dword [edx]
push ecx
push eax
call fcn.00602090
mov eax, esi
add esp, 0xc
cmp byte [eax + 0x34], 0
je 0x4fe6e8
mov byte [eax + 0x34], 0
mov byte [eax + 0x3b], 1
jmp 0x4fe6ee
inc dword [eax + 0x1e0]
mov ecx, dword [eax + 0x1d8]
mov edx, dword [ebp - 0xc4]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0xc4]
mov edx, dword [eax + 0x1e8]
mov dword [eax + 0x1d8], ecx
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x1ec]
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0xc], edx
jmp case.default.0x4fc51e
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xb8], 0
mov edi, dword [ecx + 0x1d8]
mov dword [ebp - 0xc0], edi
test edi, edi
je 0x4fe770
lea esp, [esp]
mov ecx, dword [edi]
mov edx, ebx
call fcn.004dd340
test eax, eax
je 0x4fe79c
inc dword [ebp - 0xb8]
mov edi, dword [edi + 0x10]
mov dword [ebp - 0xc0], edi
test edi, edi
jne 0x4fe750
mov esi, dword [ebp - 0xd8]
push ebx
mov ebx, dword [ebp - 0xe4]
push str.no_such_savepoint:__s
add ebx, 0x34
call fcn.004db2f0
add esp, 8
mov dword [ebp - 0xd4], 1
jmp case.default.0x4fc51e
mov ebx, dword [ebp - 0xd8]
cmp dword [ebx + 0x84], 0
mov eax, dword [ebp - 0xd0]
jle 0x4fe7e1
cmp eax, 1
jne 0x4fe7e1
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
push str.cannot_release_savepoint___SQL_statements_in_progress
add ebx, 0x34
call fcn.004db2f0
add esp, 4
mov dword [ebp - 0xd4], 5
jmp case.default.0x4fc51e
cmp dword [edi + 0x10], 0
jne 0x4fe8c7
cmp byte [ebx + 0x3b], 0
je 0x4fe8c7
mov dword [ebp - 0xe8], 1
cmp eax, 1
jne 0x4fe8d1
push eax
mov eax, esi
call fcn.004f8a20
mov edi, eax
add esp, 4
test edi, edi
jne 0x4fd2f0
mov eax, esi
mov byte [ebx + 0x34], 1
call fcn.004f8a90
cmp eax, 5
je 0x501e6e
mov byte [ebx + 0x3b], 0
mov edx, dword [esi + 0x58]
mov edi, dword [ebp - 0xc0]
mov dword [ebp - 0xd4], edx
mov esi, ebx
cmp dword [esi + 0x1d8], edi
je 0x4fe886
mov edi, edi
mov eax, dword [esi + 0x1d8]
mov dword [ebp - 0xbc], eax
mov eax, dword [eax + 0x10]
mov dword [esi + 0x1d8], eax
mov eax, dword [ebp - 0xbc]
mov ecx, esi
call fcn.004daf00
dec dword [esi + 0x1e0]
mov edi, dword [ebp - 0xc0]
cmp dword [esi + 0x1d8], edi
jne 0x4fe850
cmp dword [ebp - 0xd0], 1
jne 0x4fe9c4
mov ecx, dword [edi + 0x10]
mov dword [esi + 0x1d8], ecx
mov eax, dword [ebp - 0xc0]
mov ecx, esi
call fcn.004daf00
cmp dword [ebp - 0xe8], 0
jne case.default.0x4fc51e
mov eax, dword [ebp - 0xd8]
dec dword [eax + 0x1e0]
jmp 0x4fe9e9
mov dword [ebp - 0xe8], 0
mov ecx, dword [ebx + 0x1e0]
sub ecx, dword [ebp - 0xb8]
dec ecx
mov dword [ebp - 0xb8], ecx
cmp eax, 2
jne 0x4fe928
xor eax, eax
mov dword [ebp - 0xb4], eax
cmp dword [ebx + 0x14], eax
jle 0x4fe928
mov ecx, dword [ebx + 0x10]
add eax, eax
mov edx, dword [ecx + eax*8 + 4]
push 4
push edx
call fcn.004ee260
mov eax, dword [ebp - 0xb4]
inc eax
add esp, 8
mov dword [ebp - 0xb4], eax
cmp eax, dword [ebx + 0x14]
jl 0x4fe8f6
mov ecx, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xc0]
xor eax, eax
mov dword [ebp - 0xb4], eax
cmp dword [ebx + 0x14], eax
jle 0x4fe987
mov edx, ebx
jmp 0x4fe946
mov ecx, dword [ebp - 0xb8]
mov edx, dword [edx + 0x10]
push ecx
mov ecx, dword [ebp - 0xd0]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
push ecx
call fcn.004ee580
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x501f49
mov eax, dword [ebp - 0xb4]
inc eax
mov edx, ebx
mov dword [ebp - 0xb4], eax
cmp eax, dword [edx + 0x14]
jl 0x4fe940
mov edi, dword [ebp - 0xc0]
cmp dword [ebp - 0xd0], 2
jne 0x4fe844
mov esi, dword [ebp - 0xd8]
mov ebx, 0x200
test dword [esi + 0x18], ebx
je 0x4fe846
mov eax, esi
call fcn.004f9c90
mov eax, esi
call fcn.0050fa40
or dword [esi + 0x18], ebx
mov edi, dword [ebp - 0xc0]
jmp 0x4fe846
cmp dword [ebp - 0xe8], 0
mov edx, dword [edi + 8]
mov dword [esi + 0x1e8], edx
mov eax, dword [edi + 0xc]
mov dword [esi + 0x1ec], eax
jne case.default.0x4fc51e
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xd0]
push ecx
push edx
push eax
call fcn.00530eb0
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x501f49
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], eax
mov edi, dword [edi + 8]
mov dword [ebp - 0xcc], edi
test eax, eax
je 0x4fea72
cmp byte [ecx + 0x34], 0
jne 0x4fea72
mov dword [ebp - 0xc8], 1
test edi, edi
jne 0x4fea7c
cmp dword [ecx + 0x84], edi
jle 0x4fea7c
mov ebx, dword [ebp - 0xe4]
push str.cannot_commit_transaction___SQL_statements_in_progress
add ebx, 0x34
mov esi, ecx
call fcn.004db2f0
add esp, 4
mov dword [ebp - 0xd4], 5
jmp case.default.0x4fc51e
mov dword [ebp - 0xc8], 0
movzx ecx, byte [ecx + 0x34]
cmp eax, ecx
jne 0x501e88
test eax, eax
jne 0x4fea93
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4feaa1
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x4feaa1
mov eax, str.cannot_commit___no_transaction_is_active
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
push eax
add ebx, 0x34
call fcn.004db2f0
add esp, 4
mov dword [ebp - 0xd4], 1
jmp case.default.0x4fc51e
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
mov dword [ebp - 0xd0], eax
test eax, eax
je case.default.0x4fc51e
mov edx, dword [edi + 8]
push edx
push eax
call fcn.004ed250
add esp, 8
mov dword [ebp - 0xd4], eax
cmp eax, 5
je 0x501f17
test eax, eax
jne 0x501f49
cmp dword [edi + 8], eax
je case.default.0x4fc51e
mov eax, dword [ebp - 0xe4]
cmp byte [eax + 0x63], 0
je case.default.0x4fc51e
mov esi, dword [ebp - 0xd8]
cmp byte [esi + 0x34], 0
je 0x4feb3e
cmp dword [esi + 0x80], 1
jle case.default.0x4fc51e
mov edi, eax
cmp dword [edi + 0x74], 0
jne 0x4feb5b
mov ecx, dword [esi + 0x1e0]
inc dword [esi + 0x1e4]
add ecx, dword [esi + 0x1e4]
mov dword [edi + 0x74], ecx
mov edx, dword [edi + 0x74]
dec edx
push edx
push 0
push esi
call fcn.00530eb0
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4feb8d
mov eax, dword [edi + 0x74]
push eax
mov eax, dword [ebp - 0xd0]
call fcn.004ee530
add esp, 4
mov dword [ebp - 0xd4], eax
mov ecx, dword [esi + 0x1e8]
mov dword [edi + 0x98], ecx
mov edx, dword [esi + 0x1ec]
mov dword [edi + 0x9c], edx
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], eax
mov edi, dword [edi + 0xc]
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xc8], edi
push ecx
mov ecx, dword [edx + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
push edi
call fcn.004f2cb0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xdc]
cdq
add esp, 8
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x4fc51e
mov edx, dword [edi + 4]
mov ebx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
shl edx, 4
add edx, dword [ebx + 0x10]
mov dword [ebp - 0xd0], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.004f5b30
mov edx, dword [esi + 0x10]
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xd0]
push edx
push eax
mov eax, dword [ecx + 4]
call fcn.004f2d20
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + 8]
add esp, 8
cmp eax, 1
jne 0x4fec5a
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
or dword [ebx + 0x18], 0x200
jmp 0x4fec6e
cmp eax, 2
jne 0x4fec6e
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xc]
mov cl, byte [esi + 0x10]
mov byte [eax + 0x4c], cl
cmp dword [edi + 4], 1
jne case.default.0x4fc51e
mov eax, ebx
call fcn.004f9c90
mov edx, dword [ebp - 0xe4]
mov byte [edx + 0x5f], 0
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x4fecd2
lea ecx, [ebp - 0xd0]
push ecx
push 1
call fcn.004f2cb0
mov eax, dword [ebp - 0xd8]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x10]
add esp, 8
add edx, edx
mov edx, dword [ecx + edx*8 + 0xc]
mov eax, dword [edx + 4]
jmp 0x4fecde
mov dword [ebp - 0xd0], 0
xor eax, eax
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], eax
cmp ecx, dword [edi + 8]
jne 0x4fecf8
cmp eax, dword [edi + 0xc]
je case.default.0x4fc51e
mov ebx, dword [ebp - 0xd8]
mov eax, dword [esi + 0x34]
mov ecx, ebx
call fcn.004daf00
push ebx
mov ebx, str.database_schema_has_changed
call fcn.004db270
mov dword [esi + 0x34], eax
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
mov edx, edi
add edx, edx
mov edx, dword [ecx + edx*8 + 0xc]
mov eax, dword [edx]
add esp, 4
cmp eax, dword [ebp - 0xd0]
je 0x4fed4a
mov esi, edi
mov edi, dword [ebp - 0xd8]
call fcn.0050fa10
mov esi, dword [ebp - 0xe4]
mov byte [esi + 0x5f], 1
mov dword [ebp - 0xd4], 0x11
jmp case.default.0x4fc51e
cmp byte [esi + 0x5f], 0
je 0x4fed72
mov dword [ebp - 0xd4], 4
jmp case.default.0x4fc51e
mov ebx, dword [ebp - 0xd8]
xor ecx, ecx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], ecx
mov edx, dword [edi + 8]
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc4], eax
shl eax, 4
add eax, dword [ebx + 0x10]
mov dword [ebp - 0xb4], eax
mov ebx, dword [eax + 4]
mov dword [ebp - 0xbc], ebx
cmp byte [edi], 0x28
jne 0x4fedcc
mov dword [ebp - 0xc0], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x61]
jae 0x4fedd2
mov byte [esi + 0x61], al
jmp 0x4fedd2
mov dword [ebp - 0xc0], ecx
test byte [edi + 3], 2
je 0x4fee01
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 0xf0]
lea esi, [edx + ecx*8]
call fcn.004f5b30
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xc8], esi
cmp esi, 2
jl 0x501f2d
mov ecx, dword [ebp - 0xd0]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x4fee32
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xcc], eax
mov ecx, dword [edx + 0x10]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x4d]
mov byte [eax + 4], cl
mov edx, dword [ebp - 0xcc]
movzx ecx, word [edx + 6]
inc ecx
jmp 0x4fee39
cmp al, 0xf2
jne 0x4fee3f
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xe4]
push 1
push eax
push ecx
mov ecx, dword [edi + 4]
push ecx
call fcn.004fc130
add esp, 0x10
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x4fca34
mov bl, 1
mov byte [eax + 0x1c], bl
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x20], bl
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc0]
push ecx
mov ecx, dword [ebp - 0xc8]
push edx
push eax
mov eax, dword [ebp - 0xbc]
push ecx
call fcn.004ee6a0
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
mov dword [edx + 8], eax
mov edx, dword [ebp - 0xb8]
mov cl, byte [edi + 3]
mov eax, dword [edx]
and cl, bl
mov byte [eax + 0x5d], cl
mov edx, dword [ebp - 0xb8]
add esp, 0x10
cmp byte [edi + 1], 0xfa
setne cl
mov byte [edx + 0x1e], cl
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0x1e], 0
sete cl
mov byte [eax + 0x1f], cl
jmp case.default.0x4fc51e
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
mov ebx, esi
call fcn.004fc130
add esp, 0x10
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x4fca34
mov edx, dword [ebp - 0xd8]
mov ebx, 1
mov byte [eax + 0x1c], bl
movzx ecx, byte [edi + 3]
mov eax, dword [edx]
or ecx, 5
push 0x41e
push ecx
mov ecx, dword [ebp - 0xd0]
push 0
add ecx, 4
push eax
call fcn.004ec270
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4ff020
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 4]
push ebx
push edx
call fcn.004ed250
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4ff020
cmp dword [edi + 0x10], eax
je 0x4feff9
movzx eax, byte [edi + 3]
mov edx, dword [ebp - 0xd0]
or eax, 2
push eax
mov eax, dword [edx + 4]
lea ecx, [ebp - 0x11c]
push ecx
call fcn.004f2650
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4fefed
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov edx, dword [edi + 0x10]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x11c]
push edx
push ebx
push ecx
call fcn.004ee6a0
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 8], edx
mov ecx, dword [esi]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 8]
mov al, byte [eax + 0x4d]
add esp, 0x10
mov byte [edx + 4], al
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x1e], 0
jmp 0x4ff020
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax]
mov eax, dword [eax + 4]
push edx
push 0
push ebx
push ebx
call fcn.004ee6a0
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
add esp, 0x10
mov byte [eax + 0x1e], bl
cmp byte [edi + 3], 8
mov edx, dword [ebp - 0xd0]
setne cl
mov byte [edx + 0x20], cl
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1e], 0
sete cl
mov byte [eax + 0x1f], cl
jmp case.default.0x4fc51e
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
mov ebx, esi
call fcn.004fc130
add esp, 0x10
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x4fca34
mov ecx, dword [edi + 0x10]
mov dword [eax + 8], ecx
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 8]
mov cl, byte [ecx + 0x4d]
mov byte [eax + 4], cl
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
mov byte [edx + 0x21], 1
push eax
mov eax, dword [ebp - 0xd0]
call fcn.00503390
add esp, 4
mov dword [ebp - 0xd4], eax
jmp case.default.0x4fc51e
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 4]
push 0
push 0xffffffffffffffff
push ecx
push edx
mov ebx, esi
call fcn.004fc130
add esp, 0x10
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x4fca34
mov cl, 1
mov byte [eax + 0x1c], cl
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], cl
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x1f], 0
jmp case.default.0x4fc51e
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x40]
mov eax, dword [eax + edx*4]
push esi
call fcn.004f7f70
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x40]
add esp, 4
mov dword [edx + ecx*4], 0
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc8], eax
cmp dword [eax], 0
je 0x4fc539
movzx edx, byte [edi]
mov dword [ebp - 0xcc], edx
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 0xc8]
cmp byte [ecx + 0x1e], 0
je 0x4ff32d
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.004fc1f0
mov ecx, esi
call fcn.004f59d0
mov dword [ebp - 0x9c], edx
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xa0], eax
mov byte [edx + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x4ff2bc
test al, 8
jne 0x4ff1a6
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
xor ebx, ebx
cmp dword [ebp - 0xa0], ebx
jne 0x4ff26c
mov eax, SysReAllocStringLen
cmp dword [ebp - 0x9c], eax
jne 0x4ff26c
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x130], ebx
fild qword [ebp - 0x130]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x4ff1ed
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x4ff26c
fldz
mov dword [ebp - 0xd0], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x4ff221
cmp dword [ebp - 0xcc], 0x30
jl 0x4ff25d
mov eax, dword [ebp - 0xc8]
mov esi, dword [eax]
lea edi, [ebp - 0xd0]
call fcn.004ef370
jmp 0x4ff23d
cmp dword [ebp - 0xcc], 0x2f
jg 0x4ff25d
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ecx]
lea edi, [ebp - 0xd0]
call fcn.004ef3a0
mov dword [ebp - 0xd4], eax
cmp eax, ebx
jne 0x501f49
cmp dword [ebp - 0xd0], ebx
je case.default.0x4fc51e
mov edi, dword [ebp - 0xec]
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov eax, dword [ebp - 0xcc]
cmp eax, 0x2e
je 0x4ff29d
cmp eax, 0x30
je 0x4ff29d
fild qword [ebp - 0xa0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x4ff2be
or eax, 0xffffffff
add dword [ebp - 0xa0], eax
adc dword [ebp - 0x9c], eax
jmp 0x4ff2be
fild qword [ebp - 0xa0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x4ff2be
add dword [ebp - 0xa0], 1
adc dword [ebp - 0x9c], ebx
jmp 0x4ff2be
xor ebx, ebx
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa0]
lea edx, [ebp - 0xd0]
push edx
mov edx, dword [ebp - 0xc8]
push ebx
push eax
mov eax, dword [edx]
push ecx
push ebx
push eax
call fcn.004ef3e0
add esp, 0x18
mov dword [ebp - 0xd4], eax
cmp eax, ebx
jne 0x501f49
cmp dword [ebp - 0xd0], ebx
jne 0x4ff3b2
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x19], 1
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x40], edx
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x44], ecx
jmp 0x4ff3b2
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xa8], eax
mov edx, dword [ecx + 8]
mov dword [ebp - 0xc0], edx
mov dl, byte [ebp - 0xcc]
and dl, 1
mov word [ebp - 0xbc], ax
mov byte [ebp - 0xba], dl
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov edx, 0x4000
mov dword [ebp - 0xb0], eax
test word [eax + 0x1c], dx
je 0x4ff37a
call fcn.004f56f0
mov ecx, dword [ebp - 0xc8]
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
lea edx, [ebp - 0xc0]
push edx
push eax
call fcn.004ef3e0
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x501f49
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x19], al
xor ebx, ebx
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], ebx
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd0]
cmp ecx, 0x30
jl 0x4ff41e
cmp eax, ebx
jl 0x4ff3ec
jne 0x4ff3e1
cmp ecx, 0x31
je 0x4ff3ec
mov dword [ebp - 0xd0], ebx
jmp case.default.0x4fc51e
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
lea ecx, [ebp - 0xd0]
push ecx
push eax
call fcn.004ef7b0
add esp, 8
mov dword [ebp - 0xd4], eax
cmp eax, ebx
jne 0x501f49
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x19], 0
jmp 0x4ff472
cmp eax, ebx
jg 0x4ff442
jne 0x4ff429
cmp ecx, 0x2e
je 0x4ff442
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x5b], 1
setne cl
mov dword [ebp - 0xd0], ecx
jmp 0x4ff472
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
lea edx, [ebp - 0xd0]
push edx
push ecx
call fcn.004ef940
add esp, 8
mov dword [ebp - 0xd4], eax
cmp eax, ebx
jne 0x501f49
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x19], 0
cmp dword [ebp - 0xd0], ebx
je case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd0], eax
cmp dword [eax], 0
je case.default.0x4fc51e
mov byte [eax + 0x1c], 0
mov edi, dword [edi + 8]
lea edx, [edi + edi*4]
lea ecx, [ebx + edx*8]
call fcn.004f59d0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x3c], edx
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1d], 1
jmp case.default.0x4fc51e
mov ecx, dword [esi + 0x40]
xor edx, edx
mov dword [ebp - 0xd0], edx
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea esi, [ebx + ecx*8]
cmp dword [eax], edx
je 0x4ff609
cmp dword [edi + 0x10], edx
jle 0x4ff53e
mov edx, dword [eax + 8]
mov dword [ebp - 0xb8], edx
mov cx, word [edi + 0x10]
lea edx, [ebp - 0xb8]
mov word [ebp - 0xb4], cx
mov dword [ebp - 0xa8], esi
mov byte [ebp - 0xb2], 2
mov dword [ebp - 0xc0], edx
jmp 0x4ff599
mov edi, dword [eax + 8]
push 0x97
lea ebx, [ebp - 0xc4]
lea edx, [ebp - 0xa0]
call fcn.004f96b0
add esp, 4
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x4fca34
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp - 0xcc]
push eax
mov eax, dword [esi + 4]
push eax
mov eax, dword [edx + 8]
push ecx
push eax
call fcn.004f9700
mov eax, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xec]
add esp, 0x10
or byte [eax + 6], 2
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc0]
mov eax, dword [eax]
lea ecx, [ebp - 0xc8]
push ecx
push 0
push 0
push 0
push edx
push eax
call fcn.004ef3e0
add esp, 0x18
cmp dword [edi + 0x10], 0
mov esi, eax
mov dword [ebp - 0xd4], esi
jne 0x4ff5d7
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xd8]
call fcn.004daf00
test esi, esi
jne case.default.0x4fc51e
mov edx, dword [ebp - 0xcc]
xor ecx, ecx
cmp dword [ebp - 0xc8], ecx
sete cl
mov dword [ebp - 0xd0], ecx
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], esi
mov edx, dword [ebp - 0xd0]
cmp byte [edi], 0x34
jne 0x4ff625
test edx, edx
je case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
test edx, edx
jne case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x10]
lea edx, [ebx + ecx*8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [esi + 0x40]
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xe8], edx
mov edx, dword [edi + 4]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xcc], eax
xor ecx, ecx
mov dword [eax + 0x4c], ecx
mov edx, dword [ebp - 0xcc]
mov dword [edx + 0x50], ecx
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx]
mov ebx, dword [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
mov ecx, dword [edx + 8]
mov cx, word [ecx + 6]
xor eax, eax
xor esi, esi
mov word [ebp - 0xc4], cx
mov word [ebp - 0xd0], ax
cmp si, cx
jae 0x4ff6cf
lea esp, [esp]
movzx esi, ax
lea esi, [esi + esi*4]
test byte [ebx + esi*8 + 0x1c], 1
jne 0x4ff787
inc ax
mov word [ebp - 0xd0], ax
cmp ax, cx
jb 0x4ff6b0
cmp dword [ebp - 0xc8], 0
je case.default.0x4fc51e
mov edx, dword [edx + 8]
mov eax, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xe8]
inc eax
mov dword [ebp - 0xb8], edx
mov word [ebp - 0xb4], ax
mov byte [ebp - 0xb2], 4
mov dword [ebp - 0xa8], ebx
call fcn.004f5b30
mov eax, dword [ebp - 0xcc]
mov ecx, dword [esi + 0x10]
add eax, 0x4c
push eax
push 0
mov dword [ebp - 0xa0], ecx
mov edx, dword [esi + 0x14]
push 0
push 0
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x9c], edx
mov edx, dword [ebp - 0xc8]
push ecx
push edx
call fcn.004ef3e0
add esp, 0x18
test byte [ebp - 0xb2], 4
mov dword [ebp - 0xd4], eax
jne 0x4fc539
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebp - 0xa0]
jne 0x4ff776
mov ecx, dword [ebp - 0xac]
cmp ecx, dword [ebp - 0x9c]
je 0x4fc539
mov dword [esi + 0x10], eax
mov edx, dword [ebp - 0xac]
mov dword [esi + 0x14], edx
jmp case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xc8], 0
jmp case.default.0x4fc51e
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x40]
mov ecx, dword [edx + ecx*4]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x4ff86e
mov dword [ebp - 0xc8], 0
mov ecx, dword [ebx + 0x10]
lea esi, [ebp - 0xc8]
push esi
push 0
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebx + 0x14]
push edx
push ecx
push 0
push eax
mov dword [ebp - 0xbc], edx
call fcn.004ef3e0
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x40], eax
mov edx, dword [ebx + 0x14]
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x44], edx
mov edx, dword [ebp - 0xd0]
add esp, 0x18
cmp dword [ebp - 0xc8], 0
sete cl
mov byte [edx + 0x19], cl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x50], 0
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x4ff860
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x4c], eax
jmp case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
mov dword [ecx + 0x4c], 0
jmp case.default.0x4fc51e
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x40]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x30]
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x10], edx
mov eax, dword [eax + 0x34]
mov dword [ecx + 0x14], eax
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x40]
mov eax, dword [edx + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.default.0x4fc51e
mov edx, dword [esi + 0x40]
xor ecx, ecx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc4], ecx
mov eax, dword [edi + 4]
mov edx, dword [edx + eax*4]
mov dword [ebp - 0xc8], edx
mov eax, dword [edx]
cmp eax, ecx
je 0x4ffbc3
cmp byte [edx + 0x1b], cl
jne 0x4ffa9f
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0xd0], ecx
mov eax, dword [eax + 0x24]
mov edx, ecx
or edx, eax
mov dword [ebp - 0xcc], eax
jne 0x4ff9a4
mov eax, dword [ebp - 0xc8]
mov esi, dword [eax]
lea edi, [ebp - 0xc4]
call fcn.004ef3a0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x501f49
cmp dword [ebp - 0xc4], eax
je 0x4ff935
lea ecx, [eax + 1]
jmp 0x4ff986
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ecx]
lea edi, [ebp - 0xd0]
call fcn.004ee820
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
cmp eax, 0x7fffffff
jl 0x4ff980
jg 0x4ff968
cmp ecx, 0xffffffff
jb 0x4ff980
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1b], 1
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
jmp 0x4ff992
add ecx, 1
adc eax, 0
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xd0], ecx
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xf0]
mov edx, dword [edi + 0xc]
test edx, edx
je 0x4ffa6d
mov esi, dword [esi + 0xa8]
test esi, esi
je 0x4ff9ed
mov ecx, esi
mov dword [ebp - 0xb8], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x4ff9df
jmp 0x4ff9d0
mov ecx, eax
mov dword [ebp - 0xb8], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x4ff9d0
mov edi, dword [edi + 0xc]
mov ecx, dword [ecx + 0xc]
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8]
jmp 0x4ff9f3
lea edx, [edx + edx*4]
lea esi, [ebx + edx*8]
mov dword [ebp - 0xbc], esi
call fcn.004f5b30
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
cmp eax, 0xffffffff
jne 0x4ffa1b
cmp ecx, 0x7fffffff
je 0x501f3f
mov esi, dword [ebp - 0xc8]
cmp byte [esi + 0x1b], 0
jne 0x501f3f
add eax, 1
adc ecx, 0
cmp dword [ebp - 0xcc], ecx
jg 0x4ffa4f
jl 0x4ffa43
cmp dword [ebp - 0xd0], eax
jae 0x4ffa4f
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
mov eax, dword [ebp - 0xd0]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 0x14], ecx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
cmp eax, 0x7fffffff
jg 0x4ffa83
jl 0x4ffa7b
cmp ecx, 0xffffffff
jae 0x4ffa83
add ecx, 1
adc eax, 0
jmp 0x4ffa87
xor ecx, ecx
xor eax, eax
mov edx, dword [ebp - 0xc8]
mov esi, dword [edx]
push eax
push ecx
call fcn.004ee6f0
mov edx, dword [ebp - 0xc8]
add esp, 8
cmp byte [edx + 0x1b], 0
je 0x4ffba8
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x100]
and eax, 0x3fffffff
add ecx, 1
lea esi, [ebp - 0xc4]
push esi
adc eax, 0
push 0
push eax
push ecx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc0], 0
mov eax, dword [edx]
push 0
push eax
call fcn.004ef3e0
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4ffba2
mov ecx, dword [ebp - 0xc4]
test ecx, ecx
jne 0x4ffb91
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp eax, 0x64
jge 0x4ffb91
lea ecx, [ebp - 0xd0]
push ecx
push 8
call fcn.004dc980
mov eax, dword [ebp - 0xd0]
add esp, 8
cmp dword [ebp - 0xc0], 5
jge 0x4ffb45
and eax, 0xffffff
xor ecx, ecx
jmp 0x4ffb51
mov ecx, dword [ebp - 0xcc]
and ecx, 0x3fffffff
add eax, 1
lea edx, [ebp - 0xc4]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.004ef3e0
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x4ffafc
jmp 0x4ffba2
cmp dword [ebp - 0xd4], 0
jne 0x4ffba2
test ecx, ecx
je 0x501f3f
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x19], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xcc]
mov dword [eax + 0x14], edx
jmp case.default.0x4fc51e
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [esi + 0x40]
mov dword [ebp - 0xd0], ecx
mov edx, dword [edi + 4]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0xc0], edx
cmp byte [edi], 0x39
mov eax, dword [edi + 0xc]
jne 0x4ffc20
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov dword [ebp - 0xcc], edx
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xc8], eax
mov edx, dword [edx + 0x14]
jmp 0x4ffc27
cdq
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
test byte [edi + 3], 1
je 0x4ffc36
inc dword [esi + 0x68]
test byte [edi + 3], 2
je 0x4ffc60
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 0x20], eax
mov dword [ebp - 0xfc], edx
mov edx, dword [ebp - 0xc4]
mov dword [ecx + 0x24], edx
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x100], eax
xor eax, eax
test byte [ecx + 0x1c], 1
je 0x4ffc7a
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x18], eax
mov ecx, dword [ebp - 0xd0]
test byte [edi + 3], 0x10
je 0x4ffc91
mov edx, dword [ebp - 0xc0]
mov edx, dword [edx + 0x4c]
mov dword [ebp - 0xb8], edx
jmp 0x4ffc97
mov dword [ebp - 0xb8], eax
mov edx, 0x4000
test word [ecx + 0x1c], dx
je 0x4ffca5
mov eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xbc], eax
mov esi, dword [ecx]
push 0
push 0
call fcn.004ee6f0
movzx eax, byte [edi + 3]
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xbc]
push edx
and eax, 8
push eax
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0xc4]
push edx
mov edx, dword [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xc0]
mov esi, dword [eax]
push ecx
push edx
push 0
call fcn.004f1f60
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x1d], 0
mov ecx, dword [ebp - 0xc0]
add esp, 0x28
mov dword [ebp - 0xd4], eax
mov dword [ecx + 0x50], 0
test eax, eax
jne case.default.0x4fc51e
mov edx, dword [ebp - 0xd8]
cmp dword [edx + 0xb8], eax
je case.default.0x4fc51e
cmp dword [edi + 0x10], eax
je case.default.0x4fc51e
mov eax, dword [ebp - 0xc0]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + 0x10]
add edx, edx
mov edx, dword [eax + edx*8]
mov dword [ebp - 0xb4], edx
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xb0], esi
mov al, byte [edi + 3]
mov edi, dword [ebp - 0xc4]
and al, 4
movzx eax, al
push edi
mov edi, dword [ebp - 0xc8]
neg eax
sbb eax, eax
push edi
and eax, 5
add eax, 0x12
push esi
push edx
mov dword [ebp - 0xac], eax
mov edx, dword [ecx + 0xb4]
push eax
mov eax, dword [ecx + 0xb8]
push edx
call eax
add esp, 0x18
jmp case.default.0x4fc51e
mov edx, dword [esi + 0x40]
xor eax, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], esi
cmp dword [ecx + 0xb8], eax
je 0x4ffdf2
cmp dword [edi + 0x10], eax
je 0x4ffdf2
mov edx, dword [esi + 0x40]
mov dword [ebp - 0xd0], edx
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xcc], eax
call fcn.004f9220
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x501f49
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ecx]
push eax
push eax
call fcn.004ee6f0
mov edx, dword [ebp - 0xc8]
mov esi, dword [edx]
add esp, 8
call fcn.004f2160
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd4], eax
mov dword [ecx + 0x50], 0
test eax, eax
jne 0x4ffe81
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + 0xb8]
test ecx, ecx
je 0x4ffe81
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4ffe81
mov esi, dword [ebp - 0xcc]
push esi
mov esi, dword [ebp - 0xd0]
push esi
mov esi, dword [edx + 0x10]
mov edx, dword [edx + 0xb4]
push eax
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0xc]
add eax, eax
mov eax, dword [esi + eax*8]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [edi + 8], 1
je case.default.0x4fc51e
mov eax, dword [ebp - 0xe4]
inc dword [eax + 0x68]
jmp case.default.0x4fc51e
mov eax, dword [esi + 0x68]
mov ecx, dword [ebp - 0xd8]
add dword [ecx + 0x48], eax
mov dword [ecx + 0x44], eax
mov dword [esi + 0x68], 0
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [edi + 0xc]
lea edx, [ecx + ecx*4]
lea ecx, [ebp - 0xcc]
lea edx, [ebx + edx*8]
push ecx
call fcn.00503fd0
add esp, 4
cmp dword [ebp - 0xcc], 0
mov dword [ebp - 0xd4], eax
je case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
lea ecx, [ebx + edx*8]
mov edx, dword [esi + 0x40]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd0], eax
call fcn.00503f60
mov dword [ebp - 0xd4], eax
jmp case.default.0x4fc51e
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xf0]
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0x40]
mov esi, dword [ecx + edx*4]
mov dword [ebp - 0xd0], esi
mov edx, dword [esi]
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xcc], edx
call fcn.004f9220
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x501f49
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1f], 0
mov esi, dword [ebp - 0xcc]
je 0x4fffbd
lea edi, [ebp - 0xc0]
call fcn.004ee820
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + 0x4c]
cdq
cmp dword [ebp - 0xbc], edx
jg 0x4fd23c
mov ecx, dword [ebp - 0xc0]
jl 0x4fffb3
cmp ecx, eax
ja 0x4fd23c
mov eax, ecx
mov dword [ebp - 0xc8], eax
jmp 0x4fffe1
lea edx, [ebp - 0xc8]
push edx
call fcn.004ee890
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd8]
add esp, 4
cmp eax, dword [ecx + 0x4c]
ja 0x4fd23c
push 0
mov edi, ebx
call fcn.004f5570
add esp, 4
test eax, eax
jne 0x4fca34
mov ax, word [ebx + 0x1c]
mov edx, dword [ebp - 0xc8]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov dword [ebx + 0x18], edx
mov word [ebx + 0x1c], ax
mov edx, dword [ebp - 0xd0]
cmp byte [edx + 0x1f], 0
mov ecx, dword [ebp - 0xcc]
je 0x50004b
mov eax, dword [ebx + 4]
push 0
push eax
mov eax, dword [ebp - 0xc8]
push eax
push 0
push ecx
call fcn.004eebc0
add esp, 0x14
mov dword [ebp - 0xd4], eax
mov byte [ebx + 0x1f], 1
jmp case.default.0x4fc51e
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0xc8]
push edx
push eax
push 0
push ecx
call fcn.004eeee0
add esp, 0x10
mov dword [ebp - 0xd4], eax
mov byte [ebx + 0x1f], 1
jmp case.default.0x4fc51e
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x40]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xd0], eax
cmp byte [eax + 0x1c], 0
je 0x500099
mov edx, dword [ebp - 0xdc]
mov ecx, 1
mov word [edx + 0x1c], cx
jmp case.default.0x4fc51e
cmp byte [eax + 0x1d], 0
je 0x5000c8
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0xc8], ecx
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], edx
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x14], edx
jmp case.default.0x4fc51e
cmp dword [eax + 0x24], 0
je 0x500124
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xbc], ecx
mov eax, dword [eax + 0x24]
mov ecx, dword [ecx + 0x30]
lea edx, [ebp - 0xc8]
push edx
push eax
call ecx
mov edx, dword [ebp - 0xc0]
push edx
push esi
mov dword [ebp - 0xd4], eax
call fcn.004fc320
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xc4]
add esp, 0x10
mov dword [eax + 0x14], edx
jmp case.default.0x4fc51e
mov esi, eax
call fcn.004f9220
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x501f49
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x19], 0
je 0x50016e
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xc8], ecx
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], edx
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x14], edx
jmp case.default.0x4fc51e
mov esi, dword [eax]
lea edi, [ebp - 0xc8]
call fcn.004ee820
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x14], edx
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd0], eax
mov byte [eax + 0x1c], 1
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov esi, dword [eax]
test esi, esi
je case.default.0x4fc51e
call fcn.004eadf0
jmp case.default.0x4fc51e
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x40]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xd0], eax
mov esi, dword [eax]
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xc8], 0
test esi, esi
je 0x500217
lea edi, [ebp - 0xc8]
call fcn.004ef3a0
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov cl, byte [ebp - 0xc8]
mov byte [eax + 0x1c], cl
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x50], 0
mov edi, dword [edi + 8]
test edi, edi
jle case.default.0x4fc51e
cmp dword [ebp - 0xc8], 0
je case.default.0x4fc51e
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
inc dword [esi + 0x7c]
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xc8], 1
cmp dword [ecx + 0x48], 0
je 0x5002a4
lea edx, [ebp - 0xc8]
push edx
mov edx, dword [ebp - 0xd8]
call fcn.00503bf0
add esp, 4
mov dword [ebp - 0xd4], eax
jmp 0x5002f9
mov ecx, dword [ecx]
lea edi, [ebp - 0xc8]
mov esi, ecx
mov dword [ebp - 0xcc], ecx
call fcn.004ef370
cmp dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xd4], eax
sete al
mov byte [ecx + 0x1a], al
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x19], 0
mov dl, byte [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1c], dl
cmp dword [ebp - 0xc8], 0
je case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x501fc2
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd0], eax
test eax, eax
je case.default.0x4fc51e
cmp dword [eax + 0x48], edx
je 0x500369
lea edx, [ebp - 0xcc]
push edx
push eax
mov eax, dword [ebp - 0xd8]
call fcn.00503eb0
jmp 0x500382
mov dword [ebp - 0xcc], 1
mov edx, dword [eax]
mov eax, dword [edi + 0x10]
lea ecx, [ebp - 0xcc]
push ecx
push edx
call eax
mov ecx, dword [ebp - 0xd0]
mov dl, byte [ebp - 0xcc]
mov byte [ecx + 0x1c], dl
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
add esp, 8
mov dword [eax + 0x50], 0
cmp dword [ebp - 0xcc], 0
jne 0x5003cc
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xe0], eax
mov al, byte [edi + 3]
test al, al
je 0x5003cc
movzx ecx, al
inc dword [esi + ecx*4 + 0x74]
lea esi, [esi + ecx*4 + 0x74]
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x19], 0
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x40]
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edi + 8]
mov esi, dword [ecx]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov dword [ebp - 0xcc], esi
test esi, esi
je case.default.0x4fc51e
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x50042f
mov eax, ebx
call fcn.004f56f0
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x4fc51e
mov esi, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx + 0x48], 0
je 0x500450
push ecx
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.00503ab0
add esp, 8
mov dword [ebp - 0xd4], eax
jmp case.default.0x4fc51e
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0xc8], eax
mov ebx, dword [ebx + 4]
mov dword [ebp - 0xc4], ebx
test byte [edi + 3], 0x10
je 0x50046d
mov ecx, dword [ecx + 0x4c]
jmp 0x50046f
xor ecx, ecx
mov edx, dword [edi + 0xc]
push ecx
push edx
push 0
push 0
cdq
push 0x6745b6
push edx
push eax
push ebx
call fcn.004f1f60
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
add esp, 0x20
mov dword [eax + 0x50], 0
jmp case.default.0x4fc51e
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x40]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [eax]
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je case.default.0x4fc51e
mov eax, dword [eax + 8]
mov dword [ebp - 0xc0], eax
mov dx, word [edi + 0xc]
mov word [ebp - 0xbc], dx
mov byte [ebp - 0xba], 0
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
lea edx, [ebx + eax*8]
lea eax, [ebp - 0xc8]
push eax
push 0
push 0
mov dword [ebp - 0xb0], edx
push 0
lea edx, [ebp - 0xc0]
push edx
push ecx
call fcn.004ef3e0
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x50052a
cmp dword [ebp - 0xc8], eax
jne 0x50052a
mov esi, dword [ebp - 0xcc]
call fcn.004f2160
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
jmp case.default.0x4fc51e
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x40]
mov eax, dword [edx + ecx*4]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov ecx, 1
mov word [edx + 0x1c], cx
cmp dword [ebp - 0xd0], 0
je case.default.0x4fc51e
mov esi, dword [ebp - 0xcc]
call fcn.004f9220
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x501f49
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1c], 0
jne case.default.0x4fc51e
mov eax, dword [ebp - 0xd0]
lea ecx, [ebp - 0xc8]
push ecx
call fcn.004f9a30
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x501f49
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xc4]
mov edx, 4
mov dword [eax + 0x14], ecx
mov word [eax + 0x1c], dx
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xd0], eax
cmp dword [eax], 0
je case.default.0x4fc51e
mov edx, dword [eax + 8]
mov dword [ebp - 0xc8], edx
mov cx, word [edi + 0x10]
mov word [ebp - 0xc4], cx
cmp byte [edi + 3], 0
setne dl
add dl, 2
mov byte [ebp - 0xc2], dl
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea edx, [ebx + ecx*8]
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0xb8], edx
push ecx
lea edx, [ebp - 0xc8]
push edx
call fcn.004f9b90
add esp, 8
cmp byte [edi], 0x64
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
jne 0x500657
neg eax
jmp 0x500658
inc eax
mov dword [ebp - 0xcc], eax
test eax, eax
jle case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0xc8], eax
mov ecx, 1
test eax, eax
je 0x5006bf
cmp dword [eax + 0x30], 0xbdf20da3
jne 0x5006b2
cmp byte [eax + 0x62], 2
jae 0x5006b2
cmp dword [eax + 0x54], 0
jl 0x5006b2
add dword [ebp - 0xcc], ecx
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x500697
mov eax, dword [ebp - 0xdc]
mov edx, ecx
mov word [eax + 0x1c], dx
cmp dword [ebp - 0xcc], ecx
jle 0x5006e6
mov dword [ebp - 0xd4], 6
mov byte [esi + 0x5c], 2
jmp case.default.0x4fc51e
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc4], eax
mov edx, dword [edi + 4]
lea ecx, [ebp - 0xd0]
push ecx
mov ecx, dword [ebp - 0xd8]
push edx
mov edx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
call fcn.004f2c60
mov esi, dword [ebp - 0xdc]
mov ecx, eax
mov eax, 4
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
add esp, 8
mov dword [ebp - 0xd4], ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
test ecx, ecx
jne case.default.0x4fc51e
mov esi, dword [ebp - 0xd0]
test esi, esi
je case.default.0x4fc51e
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xd8]
call fcn.00511650
mov al, byte [ebp - 0xc4]
inc al
mov byte [ebp - 0xf5], al
jmp case.default.0x4fc51e
mov dword [ebp - 0xd0], 0
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 4]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 0xd0]
and ecx, edx
mov edx, dword [ebp - 0xd8]
push ecx
mov ecx, dword [edi + 8]
push eax
mov eax, dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
call fcn.004f2830
add esp, 8
cmp dword [edi + 0xc], 0
mov dword [ebp - 0xd4], eax
je case.default.0x4fc51e
mov eax, dword [ebp - 0xd0]
add dword [esi + 0x68], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.default.0x4fc51e
lea ecx, [edi + edi*4]
cdq
add dword [ebx + ecx*8 + 0x10], eax
lea ecx, [ebx + ecx*8 + 0x10]
adc dword [ecx + 4], edx
jmp case.default.0x4fc51e
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], 0
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [edx + 0x10]
xor ecx, ecx
mov dword [ebp - 0xc8], eax
cmp byte [edi], 0x69
setne cl
inc ecx
mov dword [ebp - 0xcc], ecx
mov eax, dword [eax + 4]
push ecx
lea ecx, [ebp - 0xd0]
push ecx
call fcn.004f2650
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
cdq
add esp, 8
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov dword [ebp - 0xd0], eax
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x500859
mov ecx, str.sqlite_master
mov ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc4], ebx
mov edx, dword [edi + 4]
mov dword [ebp - 0xbc], edx
add esi, 0x34
mov dword [ebp - 0xc0], esi
mov edx, dword [edi + 0x10]
push edx
push ecx
mov ecx, dword [ebx + 0x10]
add eax, eax
mov edx, dword [ecx + eax*8]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.004dc560
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x5008af
mov dword [ebp - 0xd4], 7
jmp 0x50090a
push 0
lea eax, [ebp - 0xc4]
push eax
mov byte [ebx + 0x7d], 1
mov ecx, dword [ebp - 0xc8]
push fcn.00521bd0
push ecx
push ebx
mov dword [ebp - 0xb8], 0
call fcn.0051eb60
mov esi, eax
add esp, 0x14
mov dword [ebp - 0xd4], esi
test esi, esi
jne 0x5008f5
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0xd4], edx
mov esi, edx
mov eax, dword [ebp - 0xc8]
mov ecx, ebx
call fcn.004daf00
mov byte [ebx + 0x7d], 0
test esi, esi
je 0x500911
mov eax, ebx
call fcn.0050fa40
cmp dword [ebp - 0xd4], 7
je 0x4fca34
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xd8]
call fcn.0050ded0
mov dword [ebp - 0xd4], eax
jmp case.default.0x4fc51e
mov eax, dword [ebp - 0xd8]
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
call fcn.0050fcb0
add esp, 4
jmp case.default.0x4fc51e
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [edi + 0x10]
call fcn.0050f7b0
add esp, 4
jmp case.default.0x4fc51e
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.0052c690
add esp, 4
jmp case.default.0x4fc51e
mov eax, dword [edi + 8]
mov ebx, dword [ebp - 0xd8]
lea ecx, [eax*4 + 4]
mov esi, ebx
mov dword [ebp - 0xd0], eax
call fcn.004db140
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x4fca34
mov ecx, dword [edi + 0xc]
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xbc], ecx
mov ecx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8]
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xd0], ecx
jle 0x500a18
lea edx, [ecx + ecx*4]
lea ecx, [esi + edx*8]
call fcn.004f59d0
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xc8]
inc ecx
mov dword [ebp - 0xc8], ecx
cmp ecx, dword [ebp - 0xd0]
jl 0x5009e3
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xcc]
push ecx
movzx ecx, byte [edi + 3]
push edx
push eax
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
lea edx, [ebp - 0xc4]
call fcn.004f3b90
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xcc]
add esp, 0xc
mov ecx, ebx
call fcn.004daf00
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
cdq
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
call fcn.004f5c40
cmp dword [ebp - 0xc4], 0
je 0x500aa9
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x4fca34
push 1
push eax
mov eax, fcn.004dae60
or ecx, 0xffffffff
mov edx, esi
call fcn.004f5fe0
add esp, 8
movzx ecx, byte [ebp - 0xf4]
mov eax, esi
call fcn.004f5550
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 0x1c], 0x20
lea esi, [ebx + ecx*8]
lea edx, [edi + edi*4]
lea ebx, [ebx + edx*8]
jne 0x500ae6
mov edi, esi
call fcn.004f5df0
test byte [esi + 0x1c], 0x20
je 0x4fca34
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov edi, dword [esi + 0x10]
push eax
push ecx
call fcn.004e2ea0
add esp, 8
jmp case.default.0x4fc51e
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0xe0]
test eax, eax
jne 0x501fc2
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 0x1c], 0x20
lea ebx, [ebx + ecx*8]
je 0x500b5e
mov eax, dword [ebx + 0x10]
lea esi, [ebp - 0xd0]
call fcn.004e3230
test eax, eax
je 0x500b5e
mov edx, dword [ebp - 0xcc]
mov edi, dword [edi + 0xc]
mov eax, dword [ebp - 0xd0]
push edx
mov edx, dword [ebp - 0xf0]
lea ecx, [edi + edi*4]
push eax
lea esi, [edx + ecx*8]
call fcn.004f5cf0
add esp, 8
jmp case.default.0x4fc51e
mov esi, ebx
call fcn.004f5c40
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xd0], eax
test byte [esi + 0x1c], 0x20
lea ebx, [ebx + ecx*8]
jne 0x500bb2
mov edi, esi
call fcn.004f5df0
test byte [esi + 0x1c], 0x20
je 0x4fca34
mov eax, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xec]
test eax, eax
je 0x500bf7
js 0x500bbd
and eax, 0xf
jmp 0x500bc2
mov eax, 0xff
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
push edx
push ecx
push eax
mov eax, dword [esi + 0x10]
call fcn.004e3280
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x500bef
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov eax, dword [ebp - 0xd0]
test eax, eax
js case.default.0x4fc51e
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x10]
mov edi, dword [esi + 0x10]
push edx
push eax
call fcn.004e2ea0
add esp, 8
jmp case.default.0x4fc51e
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xb8], ecx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov dword [ebp - 0xc8], ebx
cmp byte [edi + 3], 0
je 0x500c66
mov eax, dword [esi + 0xa8]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x500c66
lea esp, [esp]
cmp dword [eax + 0x18], edx
je case.default.0x4fc51e
mov eax, dword [eax + 4]
mov dword [ebp - 0xbc], eax
test eax, eax
jne 0x500c50
mov eax, dword [esi + 0xb0]
mov edx, dword [ebp - 0xd8]
cmp eax, dword [edx + 0x74]
jl 0x500c9e
mov ebx, dword [ebp - 0xe4]
push str.too_many_levels_of_trigger_recursion
add ebx, 0x34
mov esi, edx
mov dword [ebp - 0xd4], 1
call fcn.004db2f0
add esp, 4
jmp case.default.0x4fc51e
test byte [ebx + 0x1c], 0x40
jne 0x500e26
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov dword [ebp - 0xd0], eax
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea eax, [edx + eax*2]
lea edi, [ecx + eax*4 + 0x48]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], edi
call fcn.004db120
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x4fca34
mov edx, dword [ebp - 0xc8]
push edx
call fcn.004f5930
mov ecx, dword [ebp - 0xc8]
mov eax, 0x40
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xe4]
mov dword [ecx], eax
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xd0]
mov dword [edx + 0x3c], ecx
mov edx, dword [ebp - 0xb8]
mov ecx, dword [edx + 0xc]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0x40], ecx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xe0]
mov dword [ecx + 0x2c], edx
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x18]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0x34], ecx
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0x14], ecx
mov cx, word [eax + 0x2e]
mov edx, dword [ebp - 0xbc]
mov word [edx + 0x28], cx
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0x1c]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0x30], ecx
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x18], edx
mov edx, dword [eax + 0xc0]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0xbc]
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ecx + 0x3c]
lea edx, [eax + eax*4]
lea edx, [ecx + edx*8 + 0x48]
lea eax, [ecx + 0x48]
add esp, 4
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xc4], eax
cmp eax, edx
je 0x500e2f
jmp 0x500df0
mov ecx, 0x80
mov word [eax + 0x1c], cx
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xd8]
mov dword [edx], eax
mov eax, dword [ebp - 0xc4]
add eax, 0x28
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0xc0]
jne 0x500df0
mov ecx, dword [ebp - 0xbc]
jmp 0x500e2f
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xbc], ecx
mov eax, dword [ebp - 0xe4]
inc dword [eax + 0xb0]
mov edx, dword [eax + 0xa8]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x100]
mov dword [ecx + 0x20], edx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xfc]
mov dword [ecx + 0x24], edx
mov ecx, dword [eax + 0x68]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0x44], ecx
mov ecx, dword [ebp - 0xbc]
lea edx, [ecx + 0x20]
mov dword [eax + 0xa8], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x68], 0
mov esi, dword [ecx + 0x3c]
mov dword [eax + 0x18], esi
mov cx, word [ecx + 0x40]
mov word [eax + 0x2e], cx
mov ecx, esi
lea ecx, [ecx + ecx*4 + 5]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xf0], edx
mov edx, dword [ebp - 0xb8]
mov dword [eax + 0x40], ecx
mov esi, dword [edx]
mov dword [eax + 4], esi
mov dword [ebp - 0x114], esi
mov esi, dword [edx + 4]
mov dword [eax + 0x1c], esi
movzx esi, word [eax + 0x2e]
lea ecx, [ecx + esi*4]
mov dword [eax + 0xc0], ecx
mov edx, dword [edx + 0x10]
push edx
push 0
push ecx
mov dword [eax + 0xbc], edx
mov dword [ebp - 0xe0], 0xffffffff
call fcn.005ff630
add esp, 0xc
jmp case.default.0x4fc51e
mov esi, dword [esi + 0xa8]
mov ebx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], esi
mov eax, dword [esi + 0x2c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 8]
mov eax, dword [eax + edx*4 + 4]
add eax, dword [edi + 4]
mov edx, dword [esi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
push 0x1000
push eax
mov dword [ebp - 0xcc], eax
call fcn.004f5ed0
add esp, 8
jmp case.default.0x4fc51e
cmp dword [edi + 4], 0
mov eax, dword [edi + 8]
cdq
je 0x500f54
mov ecx, dword [ebp - 0xd8]
add dword [ecx + 0x1e8], eax
adc dword [ecx + 0x1ec], edx
jmp case.default.0x4fc51e
add dword [esi + 0x90], eax
adc dword [esi + 0x94], edx
jmp case.default.0x4fc51e
cmp dword [edi + 4], 0
je 0x500f92
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x1e8]
or ecx, dword [eax + 0x1ec]
jne case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov edx, dword [esi + 0x90]
or edx, dword [esi + 0x94]
jne case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov esi, dword [esi + 0xa8]
test esi, esi
je 0x500fed
mov ecx, esi
mov dword [ebp - 0xcc], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x500fdf
lea esp, [esp]
mov ecx, eax
mov dword [ebp - 0xcc], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x500fd0
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
jmp 0x500ff6
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
mov dword [ebp - 0xd0], esi
call fcn.004f5b30
mov edi, dword [edi + 8]
mov ecx, dword [ebp - 0xf0]
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8]
call fcn.004f5b30
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 0xd0]
mov esi, dword [esi + 0x14]
cmp dword [eax + 0x14], esi
jg case.default.0x4fc51e
jl 0x501035
cmp dword [eax + 0x10], ecx
jae case.default.0x4fc51e
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], esi
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 0x14], 0
jl case.default.0x4fc51e
jg 0x50105e
cmp dword [ebx + eax*8 + 0x10], 0
jbe case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 0x14], 0
jg case.default.0x4fc51e
jl 0x50108b
cmp dword [ebx + eax*8 + 0x10], 0
jae case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edi + 0xc]
cdq
add dword [ecx + 0x10], eax
adc dword [ecx + 0x14], edx
mov edx, dword [ecx + 0x10]
or edx, dword [ecx + 0x14]
jne case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
movzx ecx, byte [edi + 3]
mov edx, dword [esi + 0xc]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
xor eax, eax
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0xcc], eax
test ecx, ecx
jle 0x501128
mov ecx, dword [ebp - 0x80]
mov dword [ecx + eax*4], ebx
mov ecx, dword [ebp - 0xc4]
call fcn.004fc100
mov eax, dword [ebp - 0xcc]
mov ebx, dword [ebp - 0xc4]
inc eax
add ebx, 0x28
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc4], ebx
cmp eax, dword [ebp - 0xd0]
jl 0x5010f3
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xc0], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x90], eax
inc dword [eax + 0x18]
mov eax, dword [ebp - 0xd8]
xor esi, esi
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xc0]
mov edx, 1
mov word [ebp - 0x9c], dx
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x84], esi
test byte [eax + 3], 8
je 0x5011a2
mov ecx, dword [edi - 4]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [ebp - 0xc0]
push edx
call eax
add esp, 0xc
cmp dword [ebp - 0x88], esi
je 0x501202
mov bl, 1
lea edi, [ebp - 0xb8]
call fcn.004f6540
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
push eax
push 0x675fac
add ebx, 0x34
call fcn.004db2f0
mov ecx, dword [ebp - 0x88]
mov edi, dword [ebp - 0xec]
add esp, 8
mov dword [ebp - 0xd4], ecx
xor esi, esi
cmp dword [ebp - 0x84], esi
je 0x50122e
mov edi, dword [edi - 0x10]
mov dword [ebp - 0xcc], edi
cmp edi, esi
je 0x50122e
mov eax, dword [ebp - 0xf0]
push esi
lea edx, [edi + edi*4]
push 1
lea esi, [eax + edx*8]
call fcn.004f5cf0
add esp, 8
lea ecx, [ebp - 0xb8]
push ecx
call fcn.004f5930
add esp, 4
jmp case.default.0x4fc51e
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
lea ecx, [ebx + edx*8]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edi + 0x10]
call fcn.004f5850
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x50128d
mov edi, dword [ebp - 0xd0]
mov bl, 1
call fcn.004f6540
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
push eax
push 0x675fac
add ebx, 0x34
call fcn.004db2f0
add esp, 8
movzx ecx, byte [ebp - 0xf4]
mov eax, dword [ebp - 0xd0]
call fcn.004f5550
mov ecx, dword [ebp - 0xd0]
call fcn.004f5ea0
test eax, eax
jne 0x4fd23c
jmp case.default.0x4fc51e
or eax, 0xffffffff
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc8], eax
xor esi, esi
mov dword [ebp - 0xcc], esi
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xd8]
push ecx
push edx
push eax
lea eax, [ebp - 0xc8]
call fcn.0053ca50
add esp, 0x10
mov dword [ebp - 0xd4], eax
cmp eax, 5
jne 0x50130d
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xcc], 1
xor eax, eax
mov dword [ebp - 0xd0], eax
mov edi, dword [edi + 0xc]
lea ecx, [edi + edi*4]
lea ebx, [ebx + ecx*8]
mov dword [ebp - 0xc0], ebx
mov eax, dword [ebp + eax*4 - 0xcc]
cdq
push edx
push eax
mov esi, ebx
call fcn.004f5cf0
mov eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xc0]
inc eax
add ebx, 0x28
add esp, 8
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc0], ebx
cmp eax, 3
jl 0x501324
jmp case.default.0x4fc51e
mov edx, dword [edi + 0xc]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov dword [ebp - 0xcc], esi
movzx eax, byte [esi + 5]
mov dword [ebp - 0xc4], eax
cmp edx, 0xffffffff
jne 0x5013a1
mov edx, eax
mov dword [ebp - 0xc8], edx
cmp byte [esi + 0xf], 3
jae 0x5013bd
mov ecx, dword [esi + 0x40]
cmp dword [ecx], 0
je 0x5013c5
cmp dword [esi + 0x4c], 0
jl 0x5013c5
jg 0x5013bd
cmp dword [esi + 0x48], 0
jbe 0x5013c5
mov edx, eax
mov dword [ebp - 0xc8], edx
cmp byte [esi + 0xe], 0
mov ecx, 0x6745b6
jne 0x5013d6
mov ecx, dword [esi + 0x90]
mov dword [ebp - 0xc0], ecx
cmp edx, 5
jne 0x50140c
call fcn.004dd0f0
test eax, eax
je 0x5013f5
mov eax, esi
call fcn.004e7b70
test eax, eax
jne 0x501406
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], edx
jmp 0x5014e4
mov eax, dword [ebp - 0xc4]
cmp edx, eax
je 0x5014e4
cmp eax, 5
je 0x501422
cmp edx, 5
jne 0x5014e4
mov ecx, dword [ebp - 0xd8]
cmp byte [ecx + 0x34], 0
je 0x5014a1
cmp dword [ecx + 0x80], 1
jg 0x5014a1
cmp eax, 5
jne 0x50145b
mov eax, esi
call fcn.004e7cb0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x501493
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
jmp 0x501465
cmp eax, 4
jne 0x501470
lea ecx, [eax - 2]
mov eax, esi
call fcn.004e7a10
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
xor eax, eax
cmp edx, 5
sete al
inc eax
push eax
push ecx
call fcn.004f4260
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x5014d8
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], edx
jmp 0x5014de
mov dword [ebp - 0xd4], 1
mov eax, str.into
cmp edx, 5
je 0x5014ba
mov eax, str.out_of
mov ebx, dword [ebp - 0xe4]
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
add ebx, 0x34
mov esi, ecx
call fcn.004db2f0
add esp, 8
jmp case.default.0x4fc51e
mov edx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xcc]
mov ecx, edx
mov eax, esi
call fcn.004e7a10
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 8]
lea edx, [edi + edi*4]
lea edx, [ebx + edx*8]
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xdc], edx
cmp eax, 6
jne 0x50151a
xor ecx, ecx
jmp 0x501521
mov ecx, dword [eax*4 + 0x66e624]
mov dword [edx + 4], ecx
call fcn.004dd0f0
movzx ecx, byte [ebp - 0xf4]
mov dword [edx + 0x18], eax
mov eax, edx
mov byte [edx + 0x1f], 1
call fcn.004f5550
jmp case.default.0x4fc51e
mov eax, dword [ebp - 0xd8]
lea ecx, [esi + 0x34]
call fcn.0052fa50
mov dword [ebp - 0xd4], eax
jmp case.default.0x4fc51e
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x10]
add ecx, ecx
mov ebx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xd0], ebx
call fcn.004eddd0
mov dword [ebp - 0xd4], eax
cmp eax, 0x65
jne case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xd4], 0
jmp case.default.0x4fc51e
cmp dword [edi + 4], 0
jne 0x5015b7
mov eax, dword [ebp - 0xd8]
call fcn.004f9c90
jmp case.default.0x4fc51e
mov byte [esi + 0x5f], 1
jmp case.default.0x4fc51e
mov cl, byte [edi + 0xc]
test cl, cl
jne 0x5015da
mov edx, dword [ebp - 0xd8]
test dword [edx + 0x18], 0x80000
jne case.default.0x4fc51e
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
push edx
mov edx, dword [ebp - 0xd8]
mov edx, dword [edx + 0x10]
add eax, eax
mov esi, dword [edx + eax*8 + 4]
call fcn.004f4150
add esp, 4
mov dword [ebp - 0xd4], eax
cmp al, 6
jne case.default.0x4fc51e
mov eax, dword [edi + 0x10]
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
push eax
push str.database_table_is_locked:__s
add ebx, 0x34
call fcn.004db2f0
add esp, 8
jmp case.default.0x4fc51e
mov edi, dword [edi + 0x10]
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], edi
call fcn.00530dc0
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
test eax, eax
je case.default.0x4fc51e
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0xe4]
push ecx
push edx
call fcn.004fc320
add esp, 8
jmp case.default.0x4fc51e
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0xd8]
add esi, 0x34
push esi
push eax
mov eax, dword [edi + 4]
call fcn.005308c0
add esp, 8
mov dword [ebp - 0xd4], eax
jmp case.default.0x4fc51e
mov byte [esi + 0x62], 2
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [ebp - 0xd8]
call fcn.00530bc0
add esp, 4
mov dword [ebp - 0xd4], eax
mov byte [esi + 0x62], 0
jmp case.default.0x4fc51e
xor eax, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
lea edx, [ebp - 0xcc]
push edx
mov dword [ebp - 0xc4], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [ebp - 0xc8]
push ecx
mov ebx, eax
push esi
mov dword [ebp - 0xd4], ebx
call fcn.004fc320
add esp, 0x10
test ebx, ebx
jne case.default.0x4fc51e
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
mov dword [eax], edx
mov edi, dword [edi + 4]
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 8]
sub eax, edi
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0xe8], eax
lea eax, [ecx + edi*4]
mov dword [ebp - 0xec], edi
cmp dword [eax], ebx
je 0x50174c
mov eax, dword [eax]
push esi
call fcn.004f7f70
mov edx, dword [esi + 0x40]
add esp, 4
mov dword [edx + edi*4], ebx
mov edi, dword [ebp - 0xe8]
push 0
mov eax, 0x68
call fcn.004f5570
add esp, 4
test eax, eax
jne 0x501797
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 0x40]
mov eax, edi
mov ebx, dword [eax + 4]
mov eax, dword [ebp - 0xec]
push 0x68
push 0
push ebx
mov dword [edx + eax*4], ebx
call fcn.005ff630
add esp, 0xc
mov dword [ebx + 0xc], 0xffffffff
mov dword [ebx + 0x14], 0
mov dword [ebp - 0xd0], ebx
test ebx, ebx
je 0x5017c2
mov ecx, dword [ebp - 0xcc]
mov dword [ebx + 0x24], ecx
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x28], ecx
jmp case.default.0x4fc51e
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x36], 1
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x1c]
push ecx
call eax
add esp, 4
jmp case.default.0x4fc51e
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea ebx, [ebx + ecx*8]
mov ecx, dword [esi + 0x40]
mov esi, dword [esi + 0xc]
mov dword [ebp - 0xc4], ebx
lea eax, [ebx + 0x28]
mov dword [ebp - 0xc0], eax
mov edx, dword [edi + 4]
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0xbc], edx
mov ecx, dword [edx]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xcc], eax
xor eax, eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xac], eax
cmp ecx, eax
jle 0x50189a
mov edx, dword [ebp - 0xc0]
lea ecx, [eax + eax*4 + 5]
lea ecx, [edx + ecx*8]
mov edx, dword [ebp - 0xa8]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx + eax*4]
call fcn.004fc100
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xac], eax
cmp eax, ecx
jl 0x501853
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0xcc]
push ecx
mov byte [esi + 0x62], 1
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [ebp - 0xc8]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov ebx, eax
mov eax, dword [ebp - 0xb8]
add esp, 0x14
push eax
push esi
mov dword [ebp - 0xd4], ebx
mov byte [esi + 0x62], 0
call fcn.004fc320
add esp, 8
test ebx, ebx
jne 0x501901
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
je 0x501914
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
mov ecx, dword [ebp - 0xb4]
mov byte [ecx + 0x1c], 0
jmp case.default.0x4fc51e
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + edx*4]
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov dword [ebp - 0xc8], eax
cmp byte [ecx + 0x1c], 0
mov dword [ebp - 0xe8], ecx
je 0x501953
mov esi, eax
call fcn.004f5c40
jmp case.default.0x4fc51e
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx]
mov dword [ebp - 0xd0], eax
mov edx, dword [eax]
push 0x40
lea eax, [ebp - 0xc0]
push 0
push eax
mov dword [ebp - 0xcc], edx
call fcn.005ff630
mov ebx, dword [ebp - 0xc8]
add esp, 0xc
lea eax, [ebp - 0xb8]
call fcn.004f5f90
mov ecx, dword [ebp - 0x9c]
and ecx, 0xbf01
or ecx, 1
mov word [ebp - 0x9c], cx
mov edx, dword [edi + 8]
mov ecx, dword [ebp - 0xe8]
push edx
mov edx, dword [ecx + 0x24]
lea eax, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x2c]
push edx
call ecx
mov edx, dword [ebp - 0xd0]
add esp, 0xc
push edx
push esi
mov dword [ebp - 0xd4], eax
call fcn.004fc320
mov eax, dword [ebp - 0x88]
add esp, 8
test eax, eax
je 0x5019ef
mov dword [ebp - 0xd4], eax
movzx ecx, byte [ebp - 0xf4]
lea eax, [ebp - 0xb8]
call fcn.004f5550
mov eax, dword [ebp - 0xc8]
lea ebx, [ebp - 0xb8]
call fcn.004f5f90
mov ecx, dword [ebp - 0xc8]
call fcn.004f5ea0
test eax, eax
jne 0x4fd23c
jmp case.default.0x4fc51e
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0xc8], 0
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc4], eax
cmp byte [eax + 0x1c], 0
jne case.default.0x4fc51e
mov edx, dword [eax + 0x24]
mov ecx, dword [edx]
mov dword [ebp - 0xd0], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xcc], ecx
mov byte [esi + 0x62], 1
mov eax, dword [eax + 0x24]
mov ecx, dword [ecx + 0x24]
push eax
call ecx
mov edx, dword [ebp - 0xd0]
add esp, 4
push edx
mov ebx, eax
push esi
mov dword [ebp - 0xd4], ebx
mov byte [esi + 0x62], 0
call fcn.004fc320
add esp, 8
test ebx, ebx
jne 0x501aae
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x24]
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jne case.default.0x4fc51e
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x4fc51e
mov ecx, dword [edi + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xd0], edx
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
lea eax, [ebx + eax*8]
mov ecx, 1
mov dword [ebp - 0xcc], eax
call fcn.004f5550
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x4fc51e
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd0]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x4c]
call eax
mov ecx, dword [ebp - 0xd0]
push ecx
push esi
mov dword [ebp - 0xd4], eax
call fcn.004fc320
add esp, 0x10
mov byte [esi + 0x5f], 0
jmp case.default.0x4fc51e
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov ecx, dword [edi + 8]
mov dword [ebp - 0xc8], ecx
cmp dword [eax + 0x34], 0
je case.default.0x4fc51e
mov eax, dword [ebp - 0xd8]
mov dl, byte [eax + 0x3a]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xb8], eax
mov eax, dword [edi + 0xc]
mov byte [ebp - 0x101], dl
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*8]
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xc4], 0
test ecx, ecx
jle 0x501bd0
mov ecx, ebx
call fcn.004fc100
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xb8]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xb4]
inc eax
add ebx, 0x28
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0xc8]
jl 0x501b90
mov al, byte [edi + 3]
mov ecx, dword [ebp - 0xd8]
mov byte [ecx + 0x3a], al
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xc0]
push edx
mov edx, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xcc]
push ecx
mov ecx, dword [eax + 0x34]
push edx
call ecx
mov dl, byte [ebp - 0x101]
mov ebx, eax
mov eax, dword [ebp - 0xd8]
mov byte [eax + 0x3a], dl
mov ecx, dword [ebp - 0xd0]
push ecx
push esi
mov dword [ebp - 0xd4], ebx
call fcn.004fc320
add esp, 0x18
test ebx, ebx
jne 0x501c65
cmp dword [edi + 4], ebx
je 0x501c5d
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x100], eax
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xfc], edx
mov dword [ecx + 0x24], eax
inc dword [esi + 0x68]
jmp case.default.0x4fc51e
cmp ebx, 0x13
jne 0x501c5d
mov ecx, dword [edi + 0x10]
cmp byte [ecx + 0x10], 0
je 0x501c5d
mov al, byte [edi + 3]
cmp al, 4
jne 0x501c89
mov dword [ebp - 0xd4], 0
jmp case.default.0x4fc51e
cmp al, 5
jne 0x501c9a
mov eax, 2
mov byte [esi + 0x5c], al
jmp case.default.0x4fc51e
movzx eax, al
mov byte [esi + 0x5c], al
jmp case.default.0x4fc51e
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
add edx, edx
mov edx, dword [ecx + edx*8 + 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0
jmp case.default.0x4fc51e
mov eax, dword [ebp - 0xd8]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x10]
mov edi, dword [edi + 0xc]
add edx, edx
mov ecx, dword [ecx + edx*8 + 4]
xor eax, eax
test edi, edi
je 0x501cf9
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x2c]
cmp eax, edi
jae 0x501cf9
mov eax, edi
call fcn.004ecc30
mov ecx, dword [ebp - 0xdc]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x4fc51e
mov eax, dword [ebp - 0xd8]
cmp dword [eax + 0x94], 0
je case.default.0x4fc51e
mov edi, dword [edi + 0x10]
mov ecx, edi
test edi, edi
jne 0x501d2b
mov ecx, dword [esi + 0xa0]
mov dword [ebp - 0xd0], ecx
test ecx, ecx
je case.default.0x4fc51e
push esi
call fcn.004fbd30
mov esi, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xcc], eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x94]
push eax
push ecx
call edx
mov eax, dword [ebp - 0xcc]
add esp, 8
mov ecx, esi
call fcn.004daf00
inc dword [ebp - 0xe0]
cmp dword [ebp - 0xd4], 0
jne 0x4fd262
mov esi, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xf0]
jmp 0x4fc470
mov dword [ebp - 0xd4], 9
jmp 0x4fd262
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xe0]
mov dword [esi + 0x58], eax
mov cl, byte [edi + 8]
mov byte [esi + 0x5c], cl
mov dword [esi + 0x54], edx
mov eax, dword [edi + 0x10]
test eax, eax
je 0x501e04
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
push eax
push 0x675fac
add ebx, 0x34
call fcn.004db2f0
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 0xa0]
mov ecx, dword [edi + 4]
push eax
mov eax, dword [ebp - 0xe0]
push edx
push eax
push str.abort_at__d_in___s_:__s
push ecx
call fcn.004dc840
mov esi, dword [ebp - 0xe4]
add esp, 0x1c
jmp 0x501e29
cmp dword [esi + 0x58], 0
je 0x501e29
mov edx, dword [esi + 0xa0]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edi + 4]
push edx
push eax
push str.constraint_failed_at__d_in___s_
push ecx
call fcn.004dc840
add esp, 0x10
mov eax, esi
call fcn.004f8a90
mov edi, 5
cmp eax, edi
je 0x501e80
mov edi, dword [esi + 0x58]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x4fd2f0
lea ecx, [ebp - 0xc0]
push ecx
call fcn.004f5930
add esp, 4
jmp 0x4fca34
mov dword [ebp - 0xd4], 0x14
jmp 0x501f49
mov edx, dword [ebp - 0xe0]
mov dword [esi + 0x54], edx
mov byte [ebx + 0x34], 0
mov edi, 5
mov dword [esi + 0x58], edi
jmp 0x4fd2f0
test edi, edi
je 0x501ec8
mov esi, dword [ebp - 0xd8]
push 0x204
mov eax, esi
call fcn.0053c030
add esp, 4
mov byte [esi + 0x34], 1
mov esi, dword [ebp - 0xd8]
call fcn.0053bb40
mov eax, dword [ebp - 0xe4]
mov edi, dword [eax + 0x58]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x4fd2f0
push 1
mov eax, esi
call fcn.004f8a20
mov edi, eax
add esp, 4
test edi, edi
jne 0x4fd2f0
mov al, byte [ebp - 0xd0]
mov edi, dword [ebp - 0xd8]
mov byte [edi + 0x34], al
mov eax, esi
call fcn.004f8a90
cmp eax, 5
jne 0x501ea5
mov ecx, dword [ebp - 0xe0]
mov dl, 1
sub dl, byte [ebp - 0xd0]
mov dword [esi + 0x54], ecx
mov byte [edi + 0x34], dl
mov edi, eax
mov dword [esi + 0x58], edi
jmp 0x4fd2f0
mov ecx, dword [ebp - 0xe0]
mov edi, 5
mov dword [esi + 0x54], ecx
mov dword [esi + 0x58], edi
jmp 0x4fd2f0
mov eax, 0x10467
call fcn.0053de50
mov dword [ebp - 0xd4], eax
jmp 0x501f49
mov dword [ebp - 0xd4], 0xd
mov edx, dword [ebp - 0xd8]
cmp byte [edx + 0x36], 0
je 0x501f71
mov dword [ebp - 0xd4], 7
mov ecx, dword [ebp - 0xd4]
mov eax, str.unknown_error
call fcn.0053c100
jmp 0x501fa4
cmp dword [ebp - 0xd4], 0xc0a
je 0x4fd262
cmp dword [ebp - 0xd4], 0x204
je 0x501f9f
mov ecx, dword [ebp - 0xd4]
mov eax, str.unknown_error
call fcn.0053c100
jmp 0x501fa4
mov eax, str.abort_due_to_ROLLBACK
mov ebx, dword [ebp - 0xe4]
push eax
push 0x675fac
add ebx, 0x34
mov esi, edx
call fcn.004db2f0
add esp, 8
jmp 0x4fd262
mov eax, 9
mov dword [esi + 0x58], eax
mov ecx, dword [str.interrupted]
mov dword [ebp - 0xd4], eax
mov eax, str.unknown_error
test ecx, ecx
je 0x501fe1
mov eax, ecx
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
push eax
push 0x675fac
add ebx, 0x34
call fcn.004db2f0
add esp, 8
jmp 0x4fd262