Function at 0x46fe30
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x344
mov eax, dword [0x5bb250]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, ecx
mov dword [ebp - 0xe0], 0
push ebx
push esi
push edi
mov ecx, dword [edx]
xor edi, edi
mov eax, dword [edx + 4]
mov ebx, dword [edx + 8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xe8], 0
mov eax, dword [eax + 0xc]
mov byte [ebp - 0x12d], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x140], 0
mov al, byte [eax + 0x4d]
mov byte [ebp - 0x114], al
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x134], eax
mov eax, dword [ecx + 0x24]
mov ecx, edx
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xec], edi
mov dword [ebp - 0x144], edi
mov dword [ebp - 0x138], eax
call fcn.00469e90
mov ecx, dword [ebp - 0xe4]
cmp dword [ecx + 0x50], 7
je 0x475d4f
mov dword [ecx + 0x50], edi
mov dword [ecx + 0x88], edi
mov dword [ecx + 0x8c], edi
mov dword [ecx + 0x14], edi
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x1bc], edi
cmp dword [ecx + 0xe8], edi
jne 0x475d0a
cmp dword [ecx + 0x11c], edi
je 0x46ff3c
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x7c]
test eax, eax
jne 0x46ff2e
mov edx, dword [ecx + 0x124]
jmp 0x46ff36
xor edx, edx
div dword [ecx + 0x124]
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0xe4]
mov esi, dword [eax + 0x4c]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
cmp byte [ecx + 0x40], 0
jne 0x475d55
inc dword [ebp - 0x140]
lea ebx, [esi + esi*4]
test byte [edx + ebx*4 + 2], 2
mov dword [ebp - 0xf4], ebx
je 0x46ffae
mov eax, dword [edx + ebx*4 + 8]
mov edi, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, 0x2460
mov dword [ebp - 0xec], edi
test word [edi + 0x1c], ax
je 0x46ffa5
mov ecx, edi
call fcn.00467e90
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
mov eax, 4
mov word [edi + 0x1c], ax
mov dl, byte [edx + ebx*4]
movzx eax, dl
dec eax
cmp eax, 0x9b
ja case.default.0x46ffc0
jmp dword [eax*4 + 0x475d84]
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + ebx*4 + 8]
jmp 0x4754fb
mov ecx, dword [ebp - 0xd8]
mov edx, 4
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ecx + ebx*4 + 4]
lea ecx, [ecx + ecx*4]
mov word [eax + ecx*8 + 0x1c], dx
mov eax, esi
mov esi, dword [ebp - 0xf0]
cdq
mov dword [esi + ecx*8 + 0x10], eax
mov eax, esi
mov dword [eax + ecx*8 + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + ebx*4 + 8]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x46ff51
mov edx, dword [ebp - 0xd8]
mov ecx, 0x80
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
mov esi, dword [ebx + eax*8 + 0x10]
mov word [ebx + eax*8 + 0x1c], cx
inc esi
mov ecx, dword [ebp - 0xdc]
jmp 0x46ff4b
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
dec eax
mov dword [ebp - 0xec], edi
cdq
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov dword [edi + 0x10], eax
mov eax, 4
mov word [edi + 0x1c], ax
mov eax, dword [edx + ebx*4 + 8]
test eax, eax
je 0x470096
lea esi, [eax - 1]
inc esi
jmp 0x46ff4b
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0xf0]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8 + 0x10]
lea eax, [eax + eax*4]
mov esi, dword [edx + eax*4 + 8]
mov eax, 0x80
mov word [ebx + ecx*8 + 0x1c], ax
mov ecx, dword [ebp - 0xdc]
jmp 0x46ff4b
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + ebx*4 + 4]
mov ebx, dword [ebp - 0xf0]
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8 + 0x10]
mov word [ebx + esi*8 + 0x1c], ax
inc ecx
mov eax, dword [ebp - 0xe0]
cdq
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ebx + esi*8 + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov dword [ebx + esi*8 + 0x10], eax
mov esi, dword [ebp - 0xe0]
jmp 0x46ff51
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
mov ecx, dword [ebp - 0xdc]
je 0x472aed
jmp 0x470149
mov edx, dword [ebp - 0xd8]
cmp dword [edx + ebx*4 + 4], 0
jne 0x47588e
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0xb0]
test ecx, ecx
je 0x47588e
mov edx, dword [ebp - 0xe4]
mov eax, dword [ecx + 4]
dec dword [edx + 0xb8]
mov dword [edx + 0xb0], eax
mov eax, dword [edx + 0x5c]
mov edx, dword [ebp - 0xdc]
add dword [edx + 0x54], eax
mov dword [edx + 0x50], eax
call fcn.0046a900
mov ecx, dword [ebp - 0xdc]
mov esi, eax
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x134], eax
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0xd8]
cmp dword [eax + ebx*4 + 8], 4
jne 0x4701db
mov eax, dword [ebp - 0xe4]
lea ecx, [esi + esi*4]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx*4 + 8]
dec ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe4]
inc esi
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xf0], eax
jmp 0x46ff4b
mov eax, dword [ebp - 0xd8]
inc esi
mov eax, dword [eax + ebx*4 + 4]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x46ff45
mov edx, dword [ebp - 0xd8]
inc esi
mov ecx, dword [edx + ebx*4 + 0x10]
mov eax, dword [ecx]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0xdc]
mov dword [edi + 0x14], eax
jmp 0x46ff4b
mov edx, dword [ebp - 0xd8]
mov eax, 8
mov word [edi + 0x1c], ax
inc esi
mov eax, dword [edx + ebx*4 + 0x10]
movsd xmm0, qword [eax]
movsd qword [edi + 8], xmm0
jmp 0x46ff4b
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + ebx*4 + 0x10]
mov byte [edx + ebx*4], 0x1b
call fcn.0044cf50
cmp byte [ebp - 0x114], 1
mov dword [edx + ebx*4 + 4], eax
je 0x4702eb
push 0
push 1
mov edx, ecx
mov ecx, edi
push 0xffffffffffffffff
call fcn.00468730
add esp, 0xc
mov dword [ebp - 0xe8], eax
cmp eax, 0x12
je 0x475b9b
movzx edx, byte [ebp - 0x114]
mov ecx, edi
call fcn.00467af0
test eax, eax
jne 0x475d4f
mov edx, dword [ebp - 0xd8]
mov dword [edi + 0x24], eax
mov eax, 0x800
or word [edi + 0x1c], ax
cmp byte [edx + ebx*4 + 1], 0xff
jne 0x4702d8
mov edx, dword [edx + ebx*4 + 0x10]
mov ecx, dword [ebp - 0xdc]
call fcn.0044a6e0
mov edx, dword [ebp - 0xd8]
mov byte [edx + ebx*4 + 1], 0xff
mov eax, dword [edi + 4]
mov dword [edx + ebx*4 + 0x10], eax
mov eax, dword [edi + 0x18]
mov dword [edx + ebx*4 + 4], eax
mov ecx, dword [ebp - 0xdc]
mov eax, dword [edx + ebx*4 + 4]
cmp eax, dword [ecx + 0x58]
jg 0x475ba1
jmp 0x470306
mov edx, dword [ebp - 0xd8]
mov eax, 0xa02
mov word [edi + 0x1c], ax
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [edi + 4], eax
mov eax, dword [edx + ebx*4 + 4]
mov dword [edi + 0x18], eax
mov al, byte [ebp - 0x114]
mov byte [edi + 0x1e], al
jmp 0x472aed
mov edx, dword [ebp - 0xd8]
mov eax, 1
mov ecx, 0x101
mov esi, dword [edx + ebx*4 + 0xc]
sub esi, dword [edx + ebx*4 + 8]
cmp dword [edx + ebx*4 + 4], 0
mov ebx, dword [ebp - 0xec]
cmovne eax, ecx
movzx edi, ax
mov word [ebx + 0x1c], di
test esi, esi
jle 0x47038b
mov eax, 0x2460
add ebx, 0x28
test word [ebx + 0x1c], ax
je 0x470376
mov ecx, ebx
call fcn.00467e90
mov eax, 0x2460
dec esi
mov word [ebx + 0x1c], di
test esi, esi
jg 0x470361
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xec], ebx
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x46ff4b
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov ebx, 0xff7f
mov ax, word [edi + 0x1c]
and ax, bx
mov dword [ebp - 0xec], edi
or ax, 1
inc esi
mov word [edi + 0x1c], ax
jmp 0x46ff4b
mov eax, dword [ebp - 0xd8]
mov ecx, edi
push 0
push 0
push dword [eax + ebx*4 + 4]
mov edx, dword [eax + ebx*4 + 0x10]
call fcn.00468730
mov al, byte [ebp - 0x114]
add esp, 0xc
mov ecx, dword [ebp - 0xdc]
inc esi
mov byte [edi + 0x1e], al
jmp 0x46ff45
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x3c]
lea esi, [eax + ecx*8]
lea ecx, [esi - 0x28]
call fcn.00468540
test eax, eax
jne 0x475b9b
push 0x800
lea edx, [esi - 0x28]
mov ecx, edi
call fcn.00468570
mov esi, dword [ebp - 0xe0]
add esp, 4
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x46ff45
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 4]
mov edi, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, 0x80
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, 0x2460
test word [ebx + 0x1c], ax
je 0x470497
mov ecx, ebx
call fcn.00467e90
mov ecx, 0x80
movdqu xmm0, xmmword [esi]
mov eax, dword [ebx + 0x24]
movdqu xmmword [ebx], xmm0
movdqu xmm0, xmmword [esi + 0x10]
movdqu xmmword [ebx + 0x10], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [ebx + 0x20], xmm0
add ebx, 0x28
mov word [esi + 0x1c], cx
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], eax
add esi, 0x28
dec edi
jne 0x470480
mov dword [ebp - 0xec], ebx
mov esi, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xec]
inc esi
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 4]
mov edi, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
push 0x1000
mov edx, esi
mov dword [ebp - 0xec], ebx
mov ecx, ebx
call fcn.00468570
mov eax, 0x1000
add esp, 4
test word [ebx + 0x1c], ax
je 0x47054c
mov ecx, ebx
call fcn.00467c40
test eax, eax
jne 0x475d4f
mov eax, edi
dec edi
test eax, eax
je 0x4704d3
add ebx, 0x28
add esi, 0x28
jmp 0x47051b
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
push 0x1000
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, edi
mov dword [ebp - 0xec], edi
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
call fcn.00468570
mov ecx, dword [ebp - 0xdc]
add esp, 4
inc esi
jmp 0x46ff45
mov eax, dword [ecx + 0x11c]
test eax, eax
je 0x4705c7
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0x13c]
jb 0x4705c7
push dword [ecx + 0x120]
call eax
add esp, 4
test eax, eax
jne 0x475970
mov ecx, dword [ebp - 0xe4]
xor edx, edx
call fcn.0046b670
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x472ae1
mov ecx, dword [ebp - 0xe4]
lea edx, [eax + 1]
call fcn.0046b540
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x472ae1
mov edx, dword [ebp - 0xe4]
xor edi, edi
mov ecx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xf0]
mov eax, dword [edx + 0x48]
add eax, 2
or eax, 1
mov dword [edx + 0x48], eax
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [edx + 0x14], esi
cmp dword [ecx + ebx*4 + 8], edi
jle 0x47066c
mov eax, 0x1000
test word [esi + 0x1c], ax
je 0x47064f
mov ecx, esi
call fcn.00467c40
test eax, eax
jne 0x475d4f
mov ecx, esi
call fcn.00467d00
mov eax, dword [ebp - 0xd8]
inc edi
add esi, 0x28
cmp edi, dword [eax + ebx*4 + 8]
jl 0x470635
mov edx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x40], 0
jne 0x475d55
mov eax, dword [ebp - 0xe0]
mov edi, 0x64
inc eax
mov dword [edx + 0x4c], eax
jmp 0x472b8f
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xf4], eax
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
mov ebx, dword [ebp - 0xf4]
lea eax, [eax + eax*4]
movzx ecx, word [ebx + 0x1c]
lea edi, [edx + eax*8]
mov al, byte [esi + 0x1c]
or al, cl
mov dword [ebp - 0xec], edi
test al, 1
je 0x4706f2
mov ecx, edi
call fcn.00468300
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x46ff45
test ecx, 0x4000
je 0x470709
mov ecx, ebx
call fcn.00467ca0
test eax, eax
jne 0x475d4f
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x470723
mov ecx, esi
call fcn.00467ca0
test eax, eax
jne 0x475d4f
test byte [ebx + 0x1c], 0x12
jne 0x47073f
movzx edx, byte [ebp - 0x114]
mov ecx, ebx
call fcn.00467d50
test eax, eax
jne 0x475d4f
test byte [esi + 0x1c], 0x12
jne 0x47075b
movzx edx, byte [ebp - 0x114]
mov ecx, esi
call fcn.00467d50
test eax, eax
jne 0x475d4f
mov eax, dword [esi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x475b9b
jl 0x470782
cmp edi, eax
ja 0x475b9b
mov ecx, dword [ebp - 0xec]
lea edx, [edi + 2]
xor eax, eax
cmp ecx, esi
sete al
push eax
call fcn.00467b10
add esp, 4
test eax, eax
jne 0x475d4f
mov ecx, dword [ebp - 0xec]
mov edx, 0xbe02
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 2
mov word [ecx + 0x1c], ax
cmp ecx, esi
je 0x4707d2
push dword [esi + 0x18]
push dword [esi + 4]
push dword [ecx + 4]
call fcn.0053c3c0
add esp, 0xc
push dword [ebx + 0x18]
mov eax, dword [esi + 0x18]
push dword [ebx + 4]
mov ebx, dword [ebp - 0xec]
add eax, dword [ebx + 4]
push eax
call fcn.0053c3c0
mov eax, dword [ebx + 4]
add esp, 0xc
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov byte [edi + eax], 0
mov eax, dword [ebx + 4]
mov byte [eax + edi + 1], 0
mov eax, 0x200
or word [ebx + 0x1c], ax
inc esi
mov al, byte [ebp - 0x114]
mov dword [ebx + 0x18], edi
mov edi, ebx
mov byte [edi + 0x1e], al
jmp 0x46ff45
mov esi, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [esi + ebx*4 + 4]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x10c], eax
call fcn.0046fdd0
movzx eax, ax
mov dword [ebp - 0xf8], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x11c], eax
call fcn.0046fdd0
mov ecx, dword [ebp - 0x10c]
movzx edx, ax
mov eax, dword [esi + ebx*4 + 0xc]
mov esi, dword [ebp - 0x11c]
mov dword [ebp - 0xf4], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0xec], eax
mov al, byte [esi + 0x1c]
or al, byte [ecx + 0x1c]
test al, 1
jne 0x470ad9
mov al, dl
and al, byte [ebp - 0xf8]
test al, 4
je 0x4709aa
mov eax, ecx
mov byte [ebp - 0x101], 1
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov eax, esi
mov esi, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x150], esi
mov dword [ebp - 0x14c], edi
movzx eax, byte [eax + ebx*4]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x4708e0
jmp dword [eax*4 + 0x475ff4]
push edx
push ecx
lea ecx, [ebp - 0x150]
call fcn.0044e310
add esp, 8
test eax, eax
jne 0x4709b3
mov edx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x150]
jmp 0x470978
push edx
push ecx
lea ecx, [ebp - 0x150]
call fcn.0044e3b0
jmp 0x4708f4
push edx
push ecx
lea ecx, [ebp - 0x150]
call fcn.0044e400
jmp 0x4708f4
mov eax, ecx
or eax, edx
je 0x470ad9
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x47094a
test esi, esi
jne 0x47094a
cmp edi, 0x80000000
je 0x4709b3
push edx
push ecx
push edi
push esi
call fcn.0055df00
jmp 0x470978
mov eax, ecx
or eax, edx
je 0x470ad9
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x47096f
mov ecx, 1
xor edx, edx
push edx
push ecx
push edi
push esi
call fcn.0055eb60
mov edi, dword [ebp - 0xec]
mov ecx, 0xbe04
mov esi, dword [ebp - 0xe0]
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [edi + 0x14], edx
mov ecx, dword [ebp - 0xdc]
or ax, 4
mov word [edi + 0x1c], ax
inc esi
jmp 0x46ff45
mov byte [ebp - 0x101], 0
jmp 0x4709bf
mov esi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x10c]
call fcn.00468070
mov ecx, esi
movsd qword [ebp - 0x128], xmm0
call fcn.00468070
mov eax, dword [ebp - 0xd8]
movapd xmm1, xmm0
movsd qword [ebp - 0x160], xmm1
movzx eax, byte [eax + ebx*4]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x4709f1
jmp dword [eax*4 + 0x476004]
addsd xmm1, qword [ebp - 0x128]
jmp 0x470a80
subsd xmm1, qword [ebp - 0x128]
jmp 0x470a80
mulsd xmm1, qword [ebp - 0x128]
jmp 0x470a80
movsd xmm0, qword [ebp - 0x128]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x470ad9
divsd xmm1, xmm0
jmp 0x470a80
movsd xmm0, qword [ebp - 0x128]
call fcn.0053eb2f
movsd xmm0, qword [ebp - 0x160]
mov esi, eax
mov edi, edx
call fcn.0053eb2f
mov ecx, esi
or ecx, edi
je 0x470ad9
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x470a6c
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.0055eb60
mov ecx, eax
call fcn.0053eccf
movapd xmm1, xmm0
movapd xmm0, xmm1
call fcn.0044cf10
test eax, eax
jne 0x470ad9
mov ebx, dword [ebp - 0xec]
mov ecx, 0xbe08
mov ax, word [ebx + 0x1c]
and ax, cx
movsd qword [ebx + 8], xmm1
or ax, 8
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xf4]
or al, byte [ebp - 0xf8]
test al, 8
jne 0x4704d3
cmp byte [ebp - 0x101], 0
jne 0x4704d3
mov ecx, ebx
call fcn.004680d0
jmp 0x4704d3
mov edi, dword [ebp - 0xec]
mov ecx, edi
call fcn.00468300
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x46ff45
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + ebx*4 + 4]
test eax, eax
je 0x470b24
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.004683d0
mov edx, dword [ebp - 0xd8]
add esp, 8
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x46ff4b
mov esi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xf0]
movzx ecx, byte [esi + ebx*4 + 3]
mov edx, dword [eax + 0xc]
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x110], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0xec], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
xor edi, edi
test ecx, ecx
jle 0x470bb1
mov eax, 0x1000
jmp 0x470b80
mov dword [edx + edi*4], esi
test word [esi + 0x1c], ax
je 0x470ba9
mov ecx, esi
call fcn.00467c40
test eax, eax
jne 0x475d4f
mov ecx, dword [ebp - 0xf4]
mov eax, 0x1000
mov edx, dword [ebp - 0x110]
inc edi
add esi, 0x28
cmp edi, ecx
jl 0x470b80
mov eax, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xec]
mov eax, dword [eax + ebx*4 + 0x10]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x238], eax
mov eax, 1
movdqu xmm0, xmmword [edi]
movdqu xmmword [ebp - 0x268], xmm0
movdqu xmm0, xmmword [edi + 0x10]
movdqu xmmword [ebp - 0x258], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [ebp - 0x248], xmm0
mov word [edi + 0x1c], ax
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov eax, dword [ebp - 0x24c]
mov esi, dword [ebp - 0x270]
and eax, 0xbe01
or eax, 1
mov byte [ebp - 0x22b], 0
mov word [ebp - 0x24c], ax
test byte [esi + 2], 0x20
je 0x470c54
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 - 4]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0x134]
push edx
push ecx
mov dword [eax + 0x20], edi
mov edi, dword [ebp - 0x138]
mov dword [eax + 0x24], edi
lea eax, [ebp - 0x270]
push eax
mov eax, dword [esi + 0xc]
call eax
mov esi, dword [ebp - 0xdc]
add esp, 0xc
mov edi, dword [ebp - 0xec]
cmp byte [esi + 0x40], 0
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x134], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x138], eax
jne 0x475980
cmp byte [ebp - 0x22b], 0
je 0x470d0b
cmp dword [ebp - 0x230], 0
je 0x470ce9
mov dl, 1
lea ecx, [ebp - 0x268]
call fcn.004689b0
push eax
mov eax, dword [ebp - 0xe4]
push 0x59457c
add eax, 0x2c
push esi
push eax
call fcn.0044ab10
mov eax, dword [ebp - 0x230]
add esp, 0x10
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe0]
mov edx, esi
mov ecx, dword [ebp - 0xe4]
push dword [eax + ebx*4 + 4]
call fcn.0046bba0
add esp, 4
jmp 0x470d11
mov esi, dword [ebp - 0xe0]
movzx edx, byte [ebp - 0x114]
lea ecx, [ebp - 0x268]
call fcn.00467af0
movdqu xmm0, xmmword [ebp - 0x268]
mov ecx, edi
movdqu xmmword [edi], xmm0
movdqu xmm0, xmmword [ebp - 0x258]
movdqu xmmword [edi + 0x10], xmm0
movq xmm0, qword [ebp - 0x248]
movq qword [edi + 0x20], xmm0
call fcn.00468540
mov ecx, dword [ebp - 0xdc]
test eax, eax
jne 0x475ba1
jmp case.default.0x46ffc0
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [ebp - 0xec], edi
test al, 1
je 0x470dc2
mov ecx, edi
call fcn.00468300
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
call fcn.00467fc0
mov edi, edx
mov dword [ebp - 0xfc], eax
mov ecx, esi
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], edi
call fcn.00467fc0
mov esi, eax
mov eax, dword [ebp - 0xd8]
mov cl, byte [eax + ebx*4]
cmp cl, 0x55
jne 0x470e01
mov ecx, dword [ebp - 0xfc]
and ecx, esi
and edi, edx
jmp 0x470ee7
cmp cl, 0x56
jne 0x470e15
mov ecx, dword [ebp - 0xfc]
or ecx, esi
or edi, edx
jmp 0x470ee7
mov eax, esi
or eax, edx
je 0x470ee1
test edx, edx
jg 0x470e4d
jl 0x470e29
test esi, esi
jae 0x470e42
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x470e4d
jg 0x470e3b
cmp esi, 0xffffffc0
jbe 0x470e4d
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x470e77
jg 0x470e4d
cmp esi, 0x40
jb 0x470e77
test edi, edi
jg 0x470e6e
jl 0x470e5c
cmp dword [ebp - 0xfc], 0
jae 0x470e6e
cmp cl, 0x57
je 0x470e6e
or eax, 0xffffffff
cdq
mov ecx, eax
mov edi, edx
jmp 0x470ee7
xor eax, eax
cdq
mov ecx, eax
mov edi, edx
jmp 0x470ee7
movq xmm1, qword [ebp - 0x1a8]
movd xmm0, esi
cmp cl, 0x57
jne 0x470ea2
psllq xmm1, xmm0
movq qword [ebp - 0x128], xmm1
mov edi, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
jmp 0x470ee7
psrlq xmm1, xmm0
movq qword [ebp - 0x128], xmm1
test edi, edi
jg 0x470e94
jl 0x470ebd
cmp dword [ebp - 0xfc], 0
jae 0x470e94
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, esi
or edx, 0xffffffff
call fcn.0055ec90
mov ecx, dword [ebp - 0x128]
mov edi, dword [ebp - 0x124]
or ecx, eax
or edi, edx
jmp 0x470ee7
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
mov dword [eax + 0x14], edi
mov edi, eax
mov dword [eax + 0x10], ecx
mov ecx, 0xbe04
mov ax, word [edi + 0x1c]
and ax, cx
mov ecx, dword [ebp - 0xdc]
or ax, 4
inc esi
mov word [edi + 0x1c], ax
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00468170
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [eax + ebx*4 + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
inc esi
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x470fd6
test al, 0xc
jne 0x470f9c
mov ecx, esi
call fcn.0046fc70
test byte [esi + 0x1c], 8
je 0x470fa9
mov ecx, esi
call fcn.004680d0
movzx eax, word [esi + 0x1c]
mov edx, dword [ebp - 0xd8]
test al, 4
jne 0x470fd6
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [ebp - 0xdc]
test eax, eax
je 0x475992
mov dword [ebp - 0xe0], eax
mov esi, eax
jmp 0x46ff51
mov ecx, dword [ebp - 0xdc]
and eax, 0xbe04
or eax, 4
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
inc esi
jmp 0x46ff4b
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 4
lea ecx, [ecx + eax*8]
je 0x470b24
call fcn.004681a0
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x46ff45
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x472951
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [esi + 0x1c], ax
test al, 2
jne 0x47106d
test al, 0xc
je 0x47106d
movzx edx, byte [ebp - 0x114]
mov ecx, esi
call fcn.00467d50
mov eax, 0xfff3
and word [esi + 0x1c], ax
movzx eax, word [esi + 0x1c]
test eax, 0x4000
je 0x4710a8
mov ecx, esi
call fcn.00467ca0
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xe8], eax
mov eax, 0xbfe3
and word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov eax, 0xbfe3
mov dword [ebp - 0xe8], 0
and word [esi + 0x1c], ax
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + ebx*4 + 4]
mov ebx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x4727b6
test al, 0x10
jne 0x471134
test al, 2
jne 0x47110e
test al, 0xc
je 0x47110e
movzx edx, byte [ebp - 0x114]
mov ecx, esi
call fcn.00467d50
mov edx, dword [ebp - 0xd8]
mov ax, word [esi + 0x1c]
mov ecx, 0xbe10
and ax, cx
mov ecx, dword [ebp - 0xdc]
or ax, 0x10
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
inc esi
jmp 0x46ff4b
and eax, 0xfe10
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
inc esi
jmp 0x46ff4b
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00468220
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne 0x470b24
call fcn.00468170
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x46ff45
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne 0x470b24
call fcn.004681a0
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x46ff45
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
movzx ecx, word [edx + eax*8 + 0x1c]
lea edi, [edx + eax*8]
movzx edx, word [esi + 0x1c]
mov al, cl
or al, dl
mov dword [ebp - 0xf4], edx
test al, 1
mov dword [ebp - 0x110], ecx
mov eax, dword [ebp - 0xd8]
mov al, byte [eax + ebx*4 + 3]
je 0x4712c9
test al, al
jns 0x471252
test dl, 1
je 0x471248
test cl, 1
je 0x471248
test ecx, 0x100
jne 0x471248
xor edx, edx
jmp 0x471347
mov edx, 1
jmp 0x471347
test al, 0x10
je 0x471298
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xe0]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, 0xbe01
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [ebp - 0xec], edi
mov ecx, dword [ebp - 0xdc]
or ax, 1
mov word [edi + 0x1c], ax
inc esi
jmp 0x46ff4b
test al, 8
je 0x472e2b
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xec]
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x46ff51
and al, 0x67
mov byte [ebp - 0x101], al
je 0x47130b
push dword [ebp - 0x114]
mov dl, al
mov ecx, esi
call fcn.0046fcf0
mov dl, byte [ebp - 0x101]
add esp, 4
mov ecx, edi
push dword [ebp - 0x114]
call fcn.0046fcf0
mov ecx, dword [ebp - 0xdc]
add esp, 4
cmp byte [ecx + 0x40], 0
jne 0x475d55
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x471322
mov ecx, esi
call fcn.00467ca0
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x47132f
mov ecx, edi
call fcn.00467ca0
mov eax, dword [ebp - 0xd8]
mov edx, esi
mov ecx, edi
push dword [eax + ebx*4 + 0x10]
call fcn.0046c800
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0xd8]
movzx ecx, byte [eax + ebx*4]
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x471359
jmp dword [ecx*4 + 0x476014]
xor eax, eax
test edx, edx
sete al
jmp 0x471394
xor eax, eax
test edx, edx
setne al
jmp 0x471394
xor eax, eax
test edx, edx
sets al
jmp 0x471394
xor eax, eax
test edx, edx
setle al
jmp 0x471394
xor eax, eax
test edx, edx
setg al
jmp 0x471394
xor eax, eax
test edx, edx
setns al
mov edx, dword [ebp - 0xd8]
test byte [edx + ebx*4 + 3], 0x10
je 0x4713da
mov ecx, dword [edx + ebx*4 + 8]
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*8]
mov edx, 0xbe04
mov cx, word [ebx + 0x1c]
and cx, dx
mov dword [ebp - 0xec], ebx
cdq
or cx, 4
mov dword [ebx + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov word [ebx + 0x1c], cx
mov dword [ebx + 0x10], eax
jmp 0x4713e9
test eax, eax
je 0x4713e9
mov eax, dword [edx + ebx*4 + 8]
dec eax
mov dword [ebp - 0xe0], eax
movzx eax, word [esi + 0x1c]
mov ebx, 0x1ff
xor ax, word [ebp - 0xf4]
mov ecx, dword [ebp - 0xdc]
and ax, bx
xor word [esi + 0x1c], ax
movzx eax, word [edi + 0x1c]
xor ax, word [ebp - 0x110]
mov esi, dword [ebp - 0xe0]
and ax, bx
xor word [edi + 0x1c], ax
inc esi
mov edi, dword [ebp - 0xec]
jmp 0x46ff4b
mov edx, dword [ebp - 0xd8]
inc esi
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0x144], eax
jmp 0x46ff4b
mov esi, dword [ebp - 0xd8]
mov ecx, 0
mov eax, dword [ebp - 0x144]
test byte [esi + ebx*4 + 3], 1
mov edx, dword [esi + ebx*4 + 0x10]
cmove eax, ecx
mov dword [ebp - 0xf8], edx
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x144], eax
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0x110], ecx
mov ecx, dword [esi + ebx*4 + 8]
xor esi, esi
mov dword [ebp - 0x108], eax
mov dword [ebp - 0xf4], ecx
test eax, eax
jle 0x471511
lea edi, [edx + 0x14]
mov eax, dword [ebp - 0x144]
test eax, eax
je 0x4714a3
mov ecx, dword [eax + esi*4]
jmp 0x4714a5
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0xf0]
push dword [edi]
movzx ebx, byte [eax + esi]
mov eax, dword [ebp - 0xf4]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x110]
add eax, ecx
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0046c800
add esp, 4
mov dword [ebp - 0x174], eax
test eax, eax
jne 0x471505
mov edx, dword [ebp - 0xf8]
inc esi
add edi, 4
cmp esi, dword [ebp - 0x108]
jl 0x471494
mov dword [ebp - 0x144], eax
jmp 0x4704d3
test ebx, ebx
je 0x471511
neg eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x144], 0
jmp 0x4704d3
mov eax, dword [ebp - 0x174]
mov edx, dword [ebp - 0xd8]
test eax, eax
jns 0x471539
mov esi, dword [edx + ebx*4 + 4]
jmp 0x46ff4b
jne 0x471544
mov esi, dword [edx + ebx*4 + 8]
jmp 0x46ff4b
mov esi, dword [edx + ebx*4 + 0xc]
jmp 0x46ff4b
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
je 0x471571
mov esi, 2
jmp 0x471589
call fcn.00467fc0
or eax, edx
mov edx, dword [ebp - 0xd8]
je 0x471587
mov esi, 1
jmp 0x471589
xor esi, esi
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
je 0x4715a1
mov eax, 2
jmp 0x4715b9
call fcn.00467fc0
or eax, edx
mov edx, dword [ebp - 0xd8]
je 0x4715b7
mov eax, 1
jmp 0x4715b9
xor eax, eax
cmp byte [edx + ebx*4], 0x48
lea eax, [eax + esi*2]
jne 0x4715cc
movzx ecx, byte [esi + eax + 0x591f70]
jmp 0x4715d4
movzx ecx, byte [esi + eax + 0x591e54]
mov eax, dword [edx + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov dword [ebp - 0xec], ebx
cmp ecx, 2
jne 0x471611
mov ax, word [ebx + 0x1c]
mov ecx, 0xbe01
mov esi, dword [ebp - 0xe0]
and ax, cx
mov ecx, dword [ebp - 0xdc]
or ax, 1
mov word [ebx + 0x1c], ax
inc esi
mov edi, ebx
jmp 0x46ff4b
mov eax, ecx
mov ecx, 0xbe04
cdq
mov dword [ebx + 0x10], eax
mov ax, word [ebx + 0x1c]
and ax, cx
mov dword [ebx + 0x14], edx
or ax, 4
mov word [ebx + 0x1c], ax
jmp 0x4704d3
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov dword [ebp - 0xec], ebx
je 0x471681
mov ecx, ebx
call fcn.00468300
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov edi, ebx
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
call fcn.00467fc0
or eax, edx
jne 0x4716ba
mov eax, 1
mov ecx, ebx
cdq
push edx
push eax
call fcn.004683d0
mov edi, dword [ebp - 0xec]
add esp, 8
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
xor eax, eax
mov ecx, ebx
cdq
push edx
push eax
call fcn.004683d0
mov edi, dword [ebp - 0xec]
add esp, 8
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
lea ecx, [edi + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov dword [ebp - 0xec], ebx
je 0x471735
mov ecx, ebx
call fcn.00468300
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov edi, ebx
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
call fcn.00467fc0
not edx
not eax
push edx
push eax
mov ecx, ebx
call fcn.004683d0
mov edi, dword [ebp - 0xec]
add esp, 8
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
mov eax, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xd8]
mov eax, dword [eax + 0xc8]
mov ecx, dword [edx + ebx*4 + 4]
cmp byte [eax + ecx], 0
je 0x47179f
mov ecx, dword [edx + ebx*4 + 8]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x46ff51
mov byte [eax + ecx], 1
inc esi
mov ecx, dword [ebp - 0xdc]
jmp 0x46ff4b
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
je 0x4717d2
mov ecx, dword [edx + ebx*4 + 0xc]
jmp 0x471802
call fcn.00468070
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4717eb
mov ecx, 1
jmp 0x4717ed
xor ecx, ecx
mov edx, dword [ebp - 0xd8]
cmp byte [edx + ebx*4], 0x2d
jne 0x471802
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
test ecx, ecx
je 0x471823
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x46ff51
mov ecx, dword [ebp - 0xe0]
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x46ff51
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 0x1c], 1
mov edi, dword [ebp - 0xec]
je 0x471866
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x46ff4b
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
mov ecx, dword [ebp - 0xdc]
jne 0x471866
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x46ff4b
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 0xc]
mov edi, dword [ecx + ebx*4 + 8]
mov ecx, dword [ecx + ebx*4 + 4]
mov dword [ebp - 0x120], edi
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x100], ecx
movsx eax, word [ecx + 0x14]
add eax, 0x16
lea esi, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0x10c], eax
call fcn.0046c0e0
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475a61
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x44]
cmp eax, dword [ecx + 0x48]
jne 0x471925
mov eax, dword [ebp - 0xd8]
test byte [eax + ebx*4 + 3], 0x20
je 0x471a7b
cmp byte [edx + 0x19], 0
je 0x471977
cmp dword [ebp - 0x10c], 0
jne 0x471958
mov eax, dword [edx + 0x10]
lea edi, [edx + 0x48]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8 + 0x18]
mov dword [edx + 0x4c], esi
mov dword [edi], esi
mov eax, dword [ecx + eax*8 + 4]
mov dword [edx + 0x54], eax
jmp 0x4719f6
mov ebx, dword [ebp - 0xfc]
mov ecx, 0xbe01
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 1
mov word [ebx + 0x1c], ax
jmp 0x471dc6
test byte [edx + 0x1c], 4
mov ecx, dword [ebp - 0x10c]
jne 0x4719b5
lea edx, [ebp - 0x220]
call fcn.00460ca0
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x100]
lea edi, [edx + 0x48]
movzx eax, word [ecx + 0x2c]
add eax, dword [ecx + 0x20]
movzx esi, word [ecx + 0x2e]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 0x220]
mov dword [edi], eax
jmp 0x4719d9
lea edi, [edx + 0x48]
mov edx, edi
call fcn.00460d30
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x100]
movzx eax, word [ecx + 0x2c]
add eax, dword [ecx + 0x20]
movzx esi, word [ecx + 0x2e]
mov dword [edx + 0x54], eax
mov eax, dword [edi]
cmp eax, esi
ja 0x4719e4
mov dword [edx + 0x4c], eax
jmp 0x4719e7
mov dword [edx + 0x4c], esi
mov ecx, dword [ebp - 0xdc]
cmp eax, dword [ecx + 0x58]
ja 0x475ba1
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + 0x54]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x44], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x471a1b
movzx ecx, al
mov eax, 1
mov dword [ebp - 0x178], ecx
jmp 0x471a35
lea edx, [ebp - 0x178]
call fcn.0044e0a0
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x100]
movzx eax, al
movzx eax, al
mov dword [edx + 0x50], eax
xor eax, eax
mov word [edx + 0x16], ax
mov eax, dword [ebp - 0x11c]
mov dword [eax], ecx
cmp esi, ecx
jae 0x471a5b
mov dword [edx + 0x54], 0
mov dword [edx + 0x4c], 0
cmp ecx, 0x18003
ja 0x471e01
cmp ecx, dword [edi]
ja 0x471e01
mov edi, dword [ebp - 0x120]
mov esi, dword [ebp - 0x11c]
movzx eax, word [edx + 0x16]
cmp eax, edi
jg 0x471c6d
mov eax, dword [edx + 0x50]
cmp eax, dword [esi]
jae 0x471c1b
mov ecx, dword [edx + 0x54]
mov dword [ebp - 0x108], ecx
test ecx, ecx
jne 0x471b01
mov ecx, dword [ebp - 0x10c]
lea eax, [ebp - 0x1e0]
push eax
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x1e0], xmm0
movdqu xmmword [ebp - 0x1d0], xmm0
movq qword [ebp - 0x1c0], xmm0
mov eax, dword [edx + 0x1c]
xor edx, edx
shr eax, 2
not eax
and eax, 1
push eax
push dword [esi]
call fcn.004688e0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x471bf8
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0x108], ecx
movzx edi, word [edx + 0x16]
mov eax, dword [esi + edi*4]
mov esi, dword [edx + 0x50]
mov dword [ebp - 0x118], eax
add esi, ecx
mov eax, dword [ebp - 0x11c]
mov eax, dword [eax]
add eax, ecx
mov dword [ebp - 0xf8], eax
mov al, byte [esi]
cmp al, 0x80
jae 0x471b35
movzx ecx, al
inc esi
mov dword [ebp - 0x17c], ecx
jmp 0x471b53
lea edx, [ebp - 0x17c]
mov ecx, esi
call fcn.0044e0a0
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x100]
movzx eax, al
add esi, eax
mov dword [edx + edi*4 + 0x58], ecx
call fcn.0046c290
mov ecx, dword [ebp - 0x118]
add ecx, eax
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x178], ecx
cmp ecx, eax
jb 0x471b90
mov eax, dword [ebp - 0x11c]
inc edi
mov dword [eax + edi*4], ecx
cmp edi, dword [ebp - 0x120]
jg 0x471b97
cmp esi, dword [ebp - 0xf8]
jb 0x471b23
jmp 0x471b97
mov esi, dword [ebp - 0xf8]
inc esi
mov eax, esi
mov word [edx + 0x16], di
sub eax, dword [ebp - 0x108]
cmp dword [edx + 0x54], 0
mov dword [edx + 0x50], eax
jne 0x471bcf
lea ecx, [ebp - 0x1e0]
call fcn.00467ee0
mov ecx, dword [ebp - 0x118]
mov eax, 1
mov edx, dword [ebp - 0x100]
mov word [ebp - 0x1c4], ax
mov edi, dword [ebp - 0xf8]
cmp esi, edi
ja 0x471be8
mov eax, dword [edx + 0x48]
cmp ecx, eax
ja 0x471be8
cmp esi, edi
jne 0x471c0f
cmp ecx, eax
je 0x471c0f
mov ecx, 0x11351
call fcn.004bc770
mov dword [ebp - 0xe8], eax
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov esi, dword [ebp - 0x11c]
mov edi, dword [ebp - 0x120]
movzx eax, word [edx + 0x16]
cmp eax, edi
jg 0x471c6d
mov edx, dword [ebp - 0xd8]
cmp byte [edx + ebx*4 + 1], 0xf8
jne 0x471c4e
mov edx, dword [edx + ebx*4 + 0x10]
mov ebx, dword [ebp - 0xfc]
mov ecx, ebx
push 0x800
call fcn.00468570
add esp, 4
jmp 0x471dc6
mov ebx, dword [ebp - 0xfc]
mov ecx, 0xbe01
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 1
mov word [ebx + 0x1c], ax
jmp 0x471dcc
mov eax, dword [edx + 0x4c]
cmp eax, dword [esi + edi*4 + 4]
jb 0x471cac
mov ebx, dword [ebp - 0xfc]
mov eax, 0x2460
test word [ebx + 0x1c], ax
je 0x471c94
mov ecx, ebx
call fcn.00467e90
mov edx, dword [ebp - 0x100]
mov ecx, dword [edx + 0x54]
add ecx, dword [esi + edi*4]
mov edx, dword [edx + edi*4 + 0x58]
push ebx
call fcn.0046c330
add esp, 4
jmp 0x471dbd
mov eax, dword [ebp - 0xd8]
mov ecx, dword [edx + edi*4 + 0x58]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x17c], ecx
mov al, byte [eax + ebx*4 + 3]
test al, 0xc0
je 0x471cd8
cmp ecx, 0xc
jb 0x471cd4
test cl, 1
je 0x471ce3
test al, al
js 0x471ce3
call fcn.0046c290
mov esi, eax
test esi, esi
jne 0x471d02
mov ebx, dword [ebp - 0xfc]
lea eax, [ebp - 0x220]
xor edx, edx
cmp ecx, 0xd
mov dword [ebp - 0x1bc], edx
cmova eax, edx
jmp 0x471d7d
mov ebx, dword [ebp - 0xfc]
lea ecx, [ebp - 0x1e0]
xorps xmm0, xmm0
mov edx, ebx
movdqu xmmword [ebp - 0x1e0], xmm0
movdqu xmmword [ebp - 0x1d0], xmm0
movq qword [ebp - 0x1c0], xmm0
call fcn.004686e0
mov ecx, dword [ebp - 0x100]
lea eax, [ebp - 0x1e0]
push eax
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x10c]
shr eax, 2
not eax
and eax, 1
push eax
mov eax, dword [ebp - 0x11c]
push esi
mov edx, dword [eax + edi*4]
call fcn.004688e0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x471bf8
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0xf4]
mov edx, ecx
mov ecx, eax
push ebx
call fcn.0046c330
add esp, 4
cmp dword [ebp - 0x1bc], 0
je 0x471dbd
mov ax, word [ebx + 0x1c]
mov ecx, 0xe7ff
and ax, cx
mov ecx, 0x200
or ax, cx
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x1dc]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x1bc]
mov dword [ebx + 0x24], eax
mov al, byte [ebp - 0x114]
mov byte [ebx + 0x1e], al
mov edx, dword [ebp - 0xd8]
mov eax, 0x1000
test word [ebx + 0x1c], ax
je 0x47294b
mov ecx, ebx
call fcn.00467c40
mov ecx, dword [ebp - 0xdc]
test eax, eax
jne 0x475d55
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov ecx, 0x1130f
jmp 0x471bed
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
mov esi, dword [edx + ebx*4 + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
test al, al
je 0x47038b
nop
push dword [ebp - 0x114]
mov dl, al
lea esi, [esi + 1]
mov ecx, edi
call fcn.0046fcf0
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x471e30
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
inc esi
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
jmp 0x46ff4b
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov edx, dword [ebp - 0xf0]
xorps xmm0, xmm0
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x10c], eax
mov eax, dword [ecx + ebx*4 + 4]
mov esi, dword [ecx + ebx*4 + 0x10]
movlpd qword [ebp - 0x160], xmm0
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
mov dword [ebp - 0xfc], edi
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [edi + eax*8]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xe4]
movzx edx, byte [eax + 0x57]
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x118], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xec], eax
test esi, esi
je 0x471f09
mov al, byte [esi]
push dword [ebp - 0x114]
mov dl, al
mov ecx, edi
call fcn.0046fcf0
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x471ee4
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x15c]
mov esi, dword [ebp - 0x108]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x120], eax
mov ecx, esi
call fcn.0046c180
mov ebx, eax
mov ecx, ebx
call fcn.0046c290
mov edi, eax
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x471f66
mov ecx, dword [ebp - 0x120]
or ecx, dword [ebp - 0xf8]
je 0x471f5b
mov ecx, esi
call fcn.00467ca0
jmp 0x471f66
mov eax, dword [esi + 0x10]
add dword [ebp - 0x10c], eax
sub edi, eax
mov eax, edi
mov edi, dword [ebp - 0xf8]
cdq
add dword [ebp - 0x120], eax
adc edi, edx
mov dword [ebp - 0xf8], edi
cmp ebx, 0x7f
ja 0x471f89
mov eax, 1
jmp 0x471f94
push 0
push ebx
call fcn.0044e120
add esp, 8
mov ecx, dword [ebp - 0x100]
sub esi, 0x28
mov ebx, dword [ebp - 0xfc]
add ecx, eax
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x100], ecx
cmp esi, ebx
jae 0x471f27
cmp ecx, 0x7e
jle 0x471fed
mov eax, ecx
cdq
push edx
push eax
call fcn.0044e120
mov esi, eax
mov eax, dword [ebp - 0x100]
add eax, esi
mov dword [ebp - 0x100], eax
cdq
push edx
push eax
call fcn.0044e120
mov ecx, dword [ebp - 0x100]
add esp, 0x10
cmp esi, eax
jge 0x471ff4
inc ecx
mov dword [ebp - 0x100], ecx
mov eax, ecx
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0xdc]
add esi, dword [ebp - 0x120]
mov dword [ebp - 0xf4], esi
adc ecx, edi
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x475b9b
jl 0x472025
cmp esi, eax
ja 0x475b9b
mov edx, esi
mov esi, dword [ebp - 0xec]
push 0
mov ecx, esi
call fcn.00467b10
add esp, 4
test eax, eax
jne 0x475d4f
mov eax, dword [ebp - 0x100]
mov edi, dword [esi + 4]
cmp eax, 0x80
jae 0x47205a
mov byte [edi], al
mov eax, 1
jmp 0x472063
mov edx, eax
mov ecx, edi
call fcn.0044def0
movzx esi, al
jmp 0x472070
mov edx, dword [ebp - 0x118]
mov ecx, ebx
call fcn.0046c180
mov ebx, eax
cmp ebx, 0x80
jae 0x472091
mov byte [esi + edi], bl
mov eax, 1
jmp 0x47209b
lea ecx, [esi + edi]
mov edx, ebx
call fcn.0044def0
mov ecx, dword [ebp - 0x100]
push ebx
mov ebx, dword [ebp - 0xfc]
mov edx, ebx
movzx eax, al
lea ecx, [ecx + edi]
add esi, eax
call fcn.0046c2b0
add dword [ebp - 0x100], eax
add ebx, 0x28
add esp, 4
mov dword [ebp - 0xfc], ebx
cmp ebx, dword [ebp - 0x108]
jbe 0x472070
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xf4]
mov dword [ebx + 0x18], eax
mov eax, 0x10
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x10c]
mov dword [ebx + 0x20], 0
test eax, eax
je 0x472106
mov dword [ebx + 0x10], eax
mov eax, 0x4010
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1e], 1
jmp 0x4704d3
mov eax, dword [ebp - 0xd8]
lea edx, [ebp - 0x190]
xorps xmm0, xmm0
movlpd qword [ebp - 0x190], xmm0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
call fcn.004654a0
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x190]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x18c]
mov dword [edi + 0x14], eax
jmp 0x472ae1
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + ebx*4 + 4]
mov edi, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0xfc], eax
test eax, eax
jne 0x47225a
cmp dword [ecx + 0x94], eax
jg 0x4759a2
mov ecx, edi
call fcn.0044cf50
mov esi, dword [ebp - 0xdc]
xor edx, edx
mov ebx, eax
mov ecx, dword [esi + 0x1ec]
add ecx, dword [esi + 0x1e8]
push ecx
mov ecx, esi
call fcn.004ac040
mov edx, eax
add esp, 4
mov dword [ebp - 0xe8], edx
mov ecx, esi
test edx, edx
jne 0x475a67
lea edx, [ebx + 0x21]
call fcn.0044a940
mov esi, eax
test esi, esi
je 0x472242
lea ecx, [ebx + 1]
push ecx
lea edx, [esi + 0x20]
push edi
push edx
mov dword [esi], edx
call fcn.0053c3c0
mov ecx, dword [ebp - 0xdc]
add esp, 0xc
cmp byte [ecx + 0x3e], 0
je 0x4721f7
mov byte [ecx + 0x3e], 0
mov byte [ecx + 0x45], 1
jmp 0x4721fd
inc dword [ecx + 0x1e8]
mov eax, dword [ecx + 0x1e0]
mov edi, dword [ebp - 0xec]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + 0x1f0]
mov dword [ecx + 0x1e0], esi
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x1f4]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x1f8]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0x1fc]
mov dword [esi + 0x14], eax
mov esi, dword [ebp - 0xe0]
inc esi
jmp 0x46ff45
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
inc esi
mov edi, dword [ebp - 0xec]
jmp 0x46ff45
mov esi, dword [ecx + 0x1e0]
xor ebx, ebx
mov dword [ebp - 0x108], esi
test esi, esi
je 0x472293
lea esp, [esp]
push edi
push dword [esi]
call fcn.0044d1b0
add esp, 8
test eax, eax
je 0x4722c3
mov esi, dword [esi + 0x18]
inc ebx
mov dword [ebp - 0x108], esi
test esi, esi
jne 0x472270
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe4]
push edi
push str.no_such_savepoint:__s
push ecx
add eax, 0x2c
push eax
call fcn.0044ab10
mov eax, dword [ebp - 0xe0]
mov edx, 1
add esp, 0x10
mov dword [ebp - 0xe8], edx
inc eax
jmp 0x472b0d
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xfc]
cmp dword [ecx + 0x94], 0
jle 0x4722e1
cmp edx, 1
je 0x4759d1
cmp dword [esi + 0x18], 0
jne 0x47234f
cmp byte [ecx + 0x45], 0
je 0x47234f
mov dword [ebp - 0xf8], 1
cmp edx, 1
jne 0x472359
mov ecx, dword [ebp - 0xe4]
call fcn.0046b670
mov edi, eax
test edi, edi
jne 0x475ca7
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xe4]
mov ecx, edi
mov byte [eax + 0x3e], 1
call fcn.0046b6e0
mov ecx, dword [ebp - 0xdc]
cmp eax, 5
je 0x475a00
mov byte [ecx + 0x45], 0
mov eax, dword [edi + 0x50]
mov edi, dword [ebp - 0xfc]
mov dword [ebp - 0xe8], eax
jmp 0x472425
mov dword [ebp - 0xf8], 0
mov eax, dword [ecx + 0x1e8]
sub eax, ebx
dec eax
mov dword [ebp - 0x10c], eax
cmp edx, 2
jne 0x4723b2
xor ebx, ebx
cmp dword [ecx + 0x14], ebx
jle 0x4723b2
xor edi, edi
mov esi, ecx
jmp 0x472380
mov ecx, dword [esi + 0x10]
mov edx, 4
mov ecx, dword [ecx + edi + 4]
call fcn.004606f0
inc ebx
lea edi, [edi + 0x10]
cmp ebx, dword [esi + 0x14]
jl 0x472380
mov esi, dword [ebp - 0x108]
mov eax, dword [ebp - 0x10c]
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xdc]
xor ebx, ebx
cmp dword [ecx + 0x14], ebx
jle 0x4723fb
xor edi, edi
jmp 0x4723c0
mov ecx, dword [ecx + 0x10]
push eax
mov ecx, dword [ecx + edi + 4]
call fcn.00460960
mov ecx, dword [ebp - 0xdc]
mov edx, eax
add esp, 4
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475a67
mov eax, dword [ebp - 0x10c]
inc ebx
mov edx, dword [ebp - 0xfc]
add edi, 0x10
cmp ebx, dword [ecx + 0x14]
jl 0x4723c0
mov edi, dword [ebp - 0xfc]
cmp edi, 2
jne 0x47241f
test byte [ecx + 0x18], 2
je 0x47241f
call fcn.0046d5d0
call fcn.00484850
mov ecx, dword [ebp - 0xdc]
or dword [ecx + 0x18], edi
mov ebx, dword [ebp - 0x10c]
cmp dword [ecx + 0x1e0], esi
je 0x472458
lea ecx, [ecx]
mov edx, dword [ecx + 0x1e0]
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x1e0], eax
call fcn.0044a6e0
mov ecx, dword [ebp - 0xdc]
dec dword [ecx + 0x1e8]
cmp dword [ecx + 0x1e0], esi
jne 0x472430
cmp edi, 1
jne 0x472484
mov eax, dword [esi + 0x18]
mov edx, esi
mov dword [ecx + 0x1e0], eax
call fcn.0044a6e0
cmp dword [ebp - 0xf8], 0
mov ecx, dword [ebp - 0xdc]
jne 0x4724d2
dec dword [ecx + 0x1e8]
jmp 0x4724b1
cmp dword [ebp - 0xf8], 0
mov eax, dword [esi + 8]
mov dword [ecx + 0x1f0], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x1f4], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x1f8], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x1fc], eax
jne 0x4724d2
push ebx
mov edx, edi
call fcn.004ac040
mov ecx, dword [ebp - 0xdc]
mov edx, eax
add esp, 4
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475a67
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + ebx*4 + 8]
test edx, edx
je 0x4724fe
test dword [ecx + 0x18], 0x2000000
jne 0x475a20
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xdc]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x472634
mov ecx, esi
call fcn.0045f6e0
mov edx, eax
mov dword [ebp - 0xe8], edx
cmp edx, 5
je 0x475a2d
test edx, edx
jne 0x475a61
mov eax, dword [ebp - 0xd8]
cmp dword [eax + ebx*4 + 8], edx
je 0x4725fa
mov edx, dword [ebp - 0xe4]
test byte [edx + 0x58], 0x80
je 0x4725fa
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x3e], 0
je 0x472572
cmp dword [ecx + 0x90], 1
jle 0x4725fa
cmp dword [edx + 0x68], 0
jne 0x47258d
mov eax, dword [ecx + 0x1e8]
inc dword [ecx + 0x1ec]
add eax, dword [ecx + 0x1ec]
mov dword [edx + 0x68], eax
mov eax, dword [edx + 0x68]
xor edx, edx
dec eax
push eax
call fcn.004ac040
mov edx, eax
add esp, 4
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x4725be
mov eax, dword [ebp - 0xe4]
mov ecx, esi
mov edx, dword [eax + 0x68]
call fcn.00460910
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe4]
mov eax, dword [ecx + 0x1f0]
mov dword [edx + 0x98], eax
mov eax, dword [ecx + 0x1f4]
mov dword [edx + 0x9c], eax
mov eax, dword [ecx + 0x1f8]
mov dword [edx + 0xa0], eax
mov eax, dword [ecx + 0x1fc]
mov dword [edx + 0xa4], eax
lea eax, [ebp - 0x184]
mov edx, 1
push eax
mov ecx, esi
call fcn.00465390
mov edx, dword [ebp - 0xd8]
add esp, 4
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0x184]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x472644
mov edx, dword [ebp - 0xd8]
xor esi, esi
mov dword [ebp - 0x184], esi
xor eax, eax
cmp byte [edx + ebx*4 + 3], 0
je 0x472951
cmp esi, dword [edx + ebx*4 + 0xc]
jne 0x47265f
cmp eax, dword [edx + ebx*4 + 0x10]
je 0x472951
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [eax + 0x2c]
call fcn.0044a6e0
mov ecx, dword [ebp - 0xdc]
mov edx, str.database_schema_has_changed
call fcn.0044aa80
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + ebx*4 + 4]
mov ecx, edx
mov ebx, dword [ebp - 0xdc]
add ecx, ecx
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], esi
je 0x4726b2
mov ecx, ebx
call fcn.00484810
mov ecx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], 0x11
or dword [ecx + 0x58], 0x20
mov ecx, ebx
jmp case.default.0x46ffc0
mov edx, dword [ebp - 0xd8]
lea eax, [ebp - 0x19c]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [edx + ebx*4 + 4]
mov edx, dword [edx + ebx*4 + 0xc]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00465390
mov eax, dword [ebp - 0x19c]
add esp, 4
mov ecx, dword [ebp - 0xdc]
inc esi
cdq
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov dword [edi + 0x10], eax
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
mov eax, dword [ebp - 0xd8]
mov esi, dword [eax + ebx*4 + 4]
mov eax, dword [eax + ebx*4 + 0xc]
shl esi, 4
add esi, dword [ecx + 0x10]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.00468170
mov eax, dword [ebp - 0xd8]
push dword [edi + 0x10]
mov ecx, dword [esi + 4]
mov edx, dword [eax + ebx*4 + 8]
call fcn.00465400
mov edx, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xe8], eax
mov eax, dword [edx + ebx*4 + 8]
cmp eax, 1
jne 0x472786
mov ecx, dword [esi + 0xc]
mov eax, dword [edi + 0x10]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xdc]
or dword [ecx + 0x18], 2
jmp 0x47279a
cmp eax, 2
jne 0x472794
mov ecx, dword [esi + 0xc]
mov al, byte [edi + 0x10]
mov byte [ecx + 0x4c], al
mov ecx, dword [ebp - 0xdc]
cmp dword [edx + ebx*4 + 4], 1
jne 0x4727b0
call fcn.0046d5d0
mov esi, dword [ebp - 0xe4]
and dword [esi + 0x58], 0xffffffdf
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp 0x472aed
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
test eax, eax
je case.0x46ffc0.53
mov ecx, dword [ebp - 0xd8]
mov eax, dword [eax + 0x20]
cmp eax, dword [ecx + ebx*4 + 8]
je 0x472ae1
mov eax, dword [ebp - 0xe4]
test byte [eax + 0x58], 0x20
jne 0x475a92
mov eax, dword [ebp - 0xd8]
xor edi, edi
mov dword [ebp - 0x108], edi
mov ecx, dword [eax + ebx*4 + 8]
mov esi, dword [eax + ebx*4 + 0xc]
mov eax, esi
mov dword [ebp - 0xf8], ecx
mov ecx, dword [ebp - 0xdc]
shl eax, 4
mov dword [ebp - 0xf4], esi
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0xf8]
cmp dl, 0x36
jne 0x472862
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0x118], 1
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x57]
jae 0x472868
mov byte [edx + 0x57], al
jmp 0x472868
mov dword [ebp - 0x118], edi
mov eax, dword [ebp - 0xd8]
test byte [eax + ebx*4 + 3], 2
je 0x4728a0
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xf0]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00468170
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xf8], eax
cmp eax, 2
jl 0x475a4f
mov esi, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xd8]
mov al, byte [ecx + ebx*4 + 1]
cmp al, 0xfa
jne 0x4728c4
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x108], eax
movzx edi, word [eax + 8]
movzx eax, word [eax + 6]
add edi, eax
jmp 0x4728cc
cmp al, 0xf2
jne 0x4728cc
mov edi, dword [ecx + ebx*4 + 0x10]
mov edx, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0xe4]
push 1
push esi
push edi
call fcn.0046fbb0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x475d4f
push dword [esi]
mov edi, dword [ebp - 0x108]
mov edx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x110]
or dword [esi + 0x1c], 8
push edi
push dword [ebp - 0x118]
mov byte [esi + 0x19], 1
mov dword [esi + 0x20], edx
call fcn.00460a80
mov edx, dword [ebp - 0xd8]
add esp, 0xc
mov dword [ebp - 0xe8], eax
mov eax, dword [esi]
mov dword [esi + 8], edi
mov cl, byte [edx + ebx*4 + 3]
and cl, 1
mov byte [eax + 0x52], cl
xor eax, eax
cmp byte [edx + ebx*4 + 1], 0xfa
setne al
shl eax, 2
xor eax, dword [esi + 0x1c]
and eax, 4
xor dword [esi + 0x1c], eax
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x472aed
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe4]
push 1
push 0xffffffffffffffff
push dword [eax + ebx*4 + 8]
mov edx, dword [eax + ebx*4 + 4]
call fcn.0046fbb0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x475d4f
mov eax, dword [ebp - 0xd8]
lea edi, [esi + 4]
or dword [esi + 0x1c], 1
xor edx, edx
mov byte [esi + 0x19], 1
push 0x41e
movzx eax, byte [eax + ebx*4 + 3]
or eax, 5
push eax
mov eax, dword [ebp - 0xdc]
push edi
push eax
mov ecx, dword [eax]
call fcn.0045e680
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x472a69
mov ecx, dword [edi]
lea edx, [eax + 1]
call fcn.0045f6e0
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x472a69
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x472a4a
movzx eax, byte [ecx + ebx*4 + 3]
lea edx, [ebp - 0x198]
mov ecx, dword [edi]
or eax, 2
push eax
call fcn.00464e70
add esp, 4
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x472a44
push dword [esi]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x198]
mov ecx, dword [edi]
push eax
push 1
mov dword [esi + 8], eax
call fcn.00460a80
add esp, 0xc
mov dword [ebp - 0xe8], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x472a69
push dword [esi]
mov ecx, dword [edi]
mov edx, 1
push 0
push 1
call fcn.00460a80
add esp, 0xc
mov dword [ebp - 0xe8], eax
or dword [esi + 0x1c], 4
mov edx, dword [ebp - 0xd8]
xor eax, eax
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
cmp byte [edx + ebx*4 + 3], 8
setne al
shl eax, 3
xor eax, dword [esi + 0x1c]
and eax, 8
xor dword [esi + 0x1c], eax
mov esi, dword [ebp - 0xe0]
jmp 0x472aed
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe4]
push 1
push 0xffffffffffffffff
push dword [eax + ebx*4 + 8]
mov edx, dword [eax + ebx*4 + 4]
call fcn.0046fbb0
add esp, 0xc
test eax, eax
je 0x475d4f
mov ecx, dword [ebp - 0xd8]
mov edx, eax
mov ecx, dword [ecx + ebx*4 + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xdc]
call fcn.00477250
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
inc esi
cmp dword [ebp - 0xe8], 0
mov dword [ebp - 0xe0], esi
je 0x46ff51
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
push dword [ecx + 0x2c]
mov dword [ecx + 0x50], edx
push dword [ecx + 0xa8]
push eax
push str.statement_aborts_at__d:___s___s
push edx
call fcn.0044c650
mov ecx, dword [ebp - 0xe4]
add esp, 0x14
call fcn.0046b6e0
cmp dword [ebp - 0xe8], 0xc0a
mov ecx, dword [ebp - 0xdc]
jne 0x472b4f
mov byte [ecx + 0x40], 1
mov al, byte [ebp - 0x12d]
mov edi, 1
test al, al
je 0x472b8f
mov ebx, dword [ebp - 0xdc]
movzx esi, al
dec esi
mov ecx, esi
mov eax, dword [ebx + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.0048aaf0
add esp, 4
cmp esi, edi
je 0x472b8d
mov eax, dword [ebx + 0x10]
push dword [eax + 0x1c]
call fcn.0048aaf0
add esp, 4
mov ecx, ebx
mov eax, dword [ebp - 0x134]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x138]
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x140]
add dword [ecx + 0x7c], eax
call fcn.00469ef0
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0053e21c
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe4]
push 0
push 0xffffffffffffffff
push dword [eax + ebx*4 + 0xc]
mov edx, dword [eax + ebx*4 + 4]
call fcn.0046fbb0
add esp, 0xc
test eax, eax
je 0x475d4f
mov edx, dword [ebp - 0xd8]
mov byte [eax + 0x19], 1
mov ecx, dword [edx + ebx*4 + 8]
or dword [eax + 0x1c], 4
inc esi
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xdc]
jmp 0x46ff4b
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x38]
mov eax, dword [eax + ebx*4 + 4]
mov edx, dword [edx + eax*4]
call fcn.0046a870
mov edx, dword [ebp - 0xd8]
inc esi
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0xdc]
jmp 0x46ff4b
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
movzx edx, byte [edi + ebx*4]
mov dword [ebp - 0xfc], edx
mov esi, dword [eax + ecx*4]
test byte [esi + 0x1c], 4
mov byte [esi + 0x19], 0
je 0x472d7d
mov eax, dword [edi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0xc
lea edi, [ecx + eax*8]
jne 0x472c9e
mov ecx, edi
call fcn.0046fc70
mov ecx, edi
call fcn.00467fc0
mov byte [esi + 0x1a], 0
movzx ecx, word [edi + 0x1c]
mov dword [ebp - 0x108], eax
mov dword [ebp - 0xf8], edx
test cl, 4
jne 0x472d2a
test cl, 8
jne 0x472cea
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xec]
mov ecx, dword [edx + ebx*4 + 8]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x46ff51
mov edx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x108]
call fcn.0053eccf
movsd xmm1, qword [edi + 8]
comisd xmm0, xmm1
jbe 0x472d13
mov eax, dword [ebp - 0xfc]
test al, 1
je 0x472d2a
dec eax
jmp 0x472d24
comisd xmm1, xmm0
jbe 0x472d2a
mov eax, dword [ebp - 0xfc]
test al, 1
jne 0x472d2a
inc eax
mov dword [ebp - 0xfc], eax
mov edi, dword [ebp - 0x108]
lea eax, [ebp - 0x12c]
mov ecx, dword [esi]
xor edx, edx
push eax
push 0
push dword [ebp - 0xf8]
push edi
call fcn.004617c0
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475a61
cmp dword [ebp - 0x12c], eax
jne 0x472dfa
mov eax, dword [ebp - 0xf8]
mov byte [esi + 0x1a], 1
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], eax
jmp 0x472dfa
mov eax, dword [esi + 8]
test dl, 1
mov ecx, dword [edi + ebx*4 + 0x10]
mov dword [ebp - 0x2f8], eax
sete al
mov word [ebp - 0x2f4], cx
mov ecx, dword [ebp - 0xf0]
lea eax, [eax*2 - 1]
mov byte [ebp - 0x2f2], al
mov eax, dword [edi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, 0x4000
mov dword [ebp - 0x2f0], ecx
test word [ecx + 0x1c], ax
je 0x472dca
call fcn.00467ca0
mov ecx, dword [esi]
lea eax, [ebp - 0x12c]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0x2f8]
call fcn.004617c0
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475a61
mov byte [esi + 0x1a], al
mov eax, dword [ebp - 0xfc]
mov byte [esi + 0x1b], 0
mov dword [esi + 0x44], 0
mov ecx, dword [ebp - 0x12c]
cmp eax, 0x3e
jl 0x472e6f
test ecx, ecx
js 0x472e55
jne 0x472e21
cmp eax, 0x3f
je 0x472e55
mov dword [ebp - 0x12c], 0
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xec]
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x46ff51
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0
push eax
push dword [esi]
call fcn.00461c50
jmp 0x472ea5
test ecx, ecx
jg 0x472e8d
jne 0x472e7a
cmp eax, 0x3c
je 0x472e8d
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax + 0x51], 1
setne cl
mov dword [ebp - 0x12c], ecx
jmp 0x472ebc
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0
push eax
push dword [esi]
call fcn.00461de0
mov edx, eax
add esp, 8
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475a61
mov byte [esi + 0x1a], 0
cmp dword [ebp - 0x12c], 0
je 0x472e2b
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xec]
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x46ff51
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xf0]
mov byte [esi + 0x19], 0
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00467fc0
mov ecx, dword [ebp - 0xdc]
mov dword [esi + 0x34], edx
mov edx, dword [ebp - 0xd8]
mov dword [esi + 0x30], eax
mov word [esi + 0x1a], 0x100
mov esi, dword [ebp - 0xe0]
inc esi
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xf0]
mov dword [ebp - 0x10c], 0
cmp dword [edx + ebx*4 + 0x10], 0
mov eax, dword [eax + 0x38]
mov ecx, dword [edx + ebx*4 + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov dword [ebp - 0x108], ecx
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [ebp - 0x110], esi
jle 0x472fff
mov eax, dword [ecx + 8]
xor edi, edi
mov dword [ebp - 0x1f4], eax
xor eax, eax
mov dx, word [edx + ebx*4 + 0x10]
mov word [ebp - 0x1f0], dx
mov dword [ebp - 0x1ec], esi
cmp ax, dx
jae 0x472ff1
mov ebx, dword [ebp - 0x110]
xor esi, esi
lea ebx, [ebx]
lea ecx, [ebx + esi]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x472fe0
call fcn.00467ca0
mov ebx, dword [ebp - 0x1ec]
mov dx, word [ebp - 0x1f0]
inc edi
movzx eax, dx
add esi, 0x28
cmp edi, eax
jl 0x472fc0
mov ebx, dword [ebp - 0xf4]
mov esi, dword [ebp - 0x108]
lea edi, [ebp - 0x1f4]
jmp 0x47303e
mov ecx, dword [ecx + 8]
lea eax, [ebp - 0x10c]
push eax
push 0xbf
lea edx, [ebp - 0xc8]
call fcn.0046c580
mov edi, eax
add esp, 8
test edi, edi
je 0x475d4f
mov edx, dword [esi + 0x18]
push edi
push dword [esi + 4]
mov esi, dword [ebp - 0x108]
mov ecx, dword [esi + 8]
call fcn.0046c5f0
add esp, 8
mov eax, dword [ebp - 0xd8]
mov byte [edi + 6], 0
cmp byte [eax + ebx*4], 0x41
jne 0x473084
movzx edx, word [ebp - 0x1f0]
xor ecx, ecx
test edx, edx
jle 0x473084
mov eax, dword [ebp - 0x1ec]
add eax, 0x1c
test byte [eax], 1
jne 0x473073
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x473064
jmp 0x473084
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [ebp - 0xe0], eax
mov ecx, dword [esi]
lea eax, [ebp - 0x1b0]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.004617c0
mov edx, dword [ebp - 0xd8]
add esp, 0x10
mov ecx, eax
mov dword [ebp - 0xe8], ecx
cmp dword [edx + ebx*4 + 0x10], 0
jne 0x4730cf
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xdc]
call fcn.0044a6e0
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe8]
test ecx, ecx
jne 0x47294b
mov eax, dword [ebp - 0x1b0]
test eax, eax
mov dword [esi + 0xc], eax
mov al, 1
sete cl
mov byte [esi + 0x1b], 0
sub al, cl
mov dword [esi + 0x44], 0
mov byte [esi + 0x19], al
cmp byte [edx + ebx*4], 0x43
jne 0x473128
test ecx, ecx
je 0x472e31
mov ecx, dword [edx + ebx*4 + 8]
mov edi, dword [ebp - 0xec]
dec ecx
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x46ff51
test ecx, ecx
jne 0x472e31
mov ecx, dword [edx + ebx*4 + 8]
mov edi, dword [ebp - 0xec]
dec ecx
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x46ff51
mov ecx, dword [ebp - 0xd8]
xor edx, edx
mov dword [ebp - 0x108], 0
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ecx + ebx*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
lea eax, [ebp - 0x108]
push eax
mov eax, dword [ebp - 0xf0]
push 0
mov ecx, dword [edi]
push dword [eax + esi*8 + 0x14]
push dword [eax + esi*8 + 0x10]
call fcn.004617c0
mov ecx, dword [ebp - 0xf0]
add esp, 0x10
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ecx + esi*8 + 0x10]
mov dword [edi + 0x38], eax
mov eax, dword [ecx + esi*8 + 0x14]
mov ecx, dword [ebp - 0x108]
test ecx, ecx
mov dword [edi + 0x3c], eax
sete al
mov byte [edi + 0x19], 0
mov byte [edi + 0x1a], al
mov dword [edi + 0x44], 0
mov byte [edi + 0x1b], 0
test ecx, ecx
je 0x4731e9
mov eax, dword [edx + ebx*4 + 8]
dec eax
mov dword [ebp - 0xe0], eax
mov esi, dword [ebp - 0xe0]
mov dword [edi + 0xc], ecx
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
jmp 0x472aed
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x28]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x2c]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xdc]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
inc esi
jmp 0x46ff4b
mov edx, dword [ebp - 0xd8]
xorps xmm0, xmm0
mov esi, dword [ebp - 0xe4]
movlpd qword [ebp - 0x128], xmm0
mov dword [ebp - 0xfc], 0
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x100], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x4734c2
test byte [eax + 0x1c], 2
jne 0x473312
lea edx, [ebp - 0xfc]
call fcn.00461760
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475ab6
cmp dword [ebp - 0xfc], eax
je 0x4732be
mov edx, dword [ebp - 0xd8]
lea esi, [eax + 1]
xor edi, edi
jmp 0x47331e
mov eax, dword [ebp - 0x100]
lea edx, [ebp - 0x128]
mov ecx, dword [eax]
call fcn.00460ca0
mov edi, dword [ebp - 0x124]
mov esi, dword [ebp - 0x128]
mov dword [ebp - 0xe8], eax
cmp edi, 0x7fffffff
jl 0x473304
jg 0x4732f2
cmp esi, 0xffffffff
jb 0x473304
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0xd8]
or dword [eax + 0x1c], 2
jmp 0x47331e
mov edx, dword [ebp - 0xd8]
add esi, 1
adc edi, 0
jmp 0x47331e
mov edi, dword [ebp - 0x124]
mov esi, dword [ebp - 0x128]
mov ecx, dword [edx + ebx*4 + 0xc]
test ecx, ecx
je 0x4733a9
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x473355
mov eax, dword [edx + 4]
test eax, eax
je 0x47334a
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x473341
mov eax, dword [edx + 0xc]
lea ecx, [ecx + ecx*4]
lea ebx, [eax + ecx*8]
jmp 0x473361
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xf0]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.00468170
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
cmp eax, 0xffffffff
jne 0x47337f
cmp ecx, 0x7fffffff
je 0x475aa9
mov edx, dword [ebp - 0x100]
test byte [edx + 0x1c], 2
jne 0x475aa9
add eax, 1
adc ecx, 0
cmp edi, ecx
jg 0x4733a3
jl 0x47339f
cmp esi, eax
jae 0x4733a3
mov esi, eax
mov edi, ecx
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x14], edi
mov eax, dword [ebp - 0x100]
test byte [eax + 0x1c], 2
je 0x4734ad
mov edi, dword [ebp - 0x138]
lea ecx, [ebp - 0xfc]
mov esi, dword [ebp - 0x134]
and edi, 0x3fffffff
add esi, 1
push ecx
mov ecx, dword [eax]
adc edi, 0
xor ebx, ebx
mov dword [ebp - 0x128], esi
push ebx
push edi
push esi
xor edx, edx
mov dword [ebp - 0x124], edi
call fcn.004617c0
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x4734a7
jmp 0x473410
mov eax, dword [ebp - 0xfc]
test eax, eax
jne 0x47349b
inc ebx
cmp ebx, 0x64
jge 0x47349b
lea eax, [ebp - 0x128]
push eax
push 8
call fcn.0044c690
mov esi, dword [ebp - 0x128]
add esp, 8
cmp ebx, 5
jge 0x47344e
and esi, 0xffffff
xor edi, edi
jmp 0x47345a
mov edi, dword [ebp - 0x124]
and edi, 0x3fffffff
add esi, 1
lea eax, [ebp - 0xfc]
push eax
mov eax, dword [ebp - 0x100]
adc edi, 0
push 0
push edi
push esi
mov ecx, dword [eax]
xor edx, edx
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x124], edi
call fcn.004617c0
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xe8], ecx
test ecx, ecx
je 0x473410
jmp 0x4734a7
test ecx, ecx
jne 0x4734a7
test eax, eax
je 0x475aa9
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0xd8]
mov word [eax + 0x1a], 0
mov dword [eax + 0x44], 0
jmp 0x4734ce
mov edi, dword [ebp - 0x124]
mov esi, dword [ebp - 0x128]
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov dword [eax + 0x10], esi
mov esi, dword [ebp - 0xe0]
mov dword [eax + 0x14], edi
mov edi, eax
jmp 0x472aed
mov edi, dword [ebp - 0xd8]
mov eax, dword [edi + ebx*4 + 8]
mov ecx, dword [edi + ebx*4 + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xf8], eax
mov eax, dword [edi + ebx*4 + 0xc]
cmp dl, 0x49
jne 0x473532
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*8 + 0x10]
mov eax, dword [ecx + eax*8 + 0x14]
mov dword [ebp - 0x108], eax
jmp 0x47353d
cdq
mov edi, eax
mov dword [ebp - 0x108], edx
mov eax, edx
mov ecx, dword [ebp - 0xd8]
test byte [ecx + ebx*4 + 3], 1
je 0x473553
mov edx, dword [ebp - 0xe4]
inc dword [edx + 0x5c]
test byte [ecx + ebx*4 + 3], 2
je 0x473578
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x134], edi
mov dword [ebp - 0x138], eax
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
movzx eax, word [edx + esi*8 + 0x1c]
test al, 1
je 0x473597
mov dword [edx + esi*8 + 4], 0
mov dword [edx + esi*8 + 0x18], 0
mov cl, byte [ecx + ebx*4 + 3]
mov byte [ebp - 0x101], cl
test cl, 0x10
je 0x4735b1
mov edx, dword [ebp - 0xf8]
mov edx, dword [edx + 0xc]
jmp 0x4735b3
xor edx, edx
test eax, 0x4000
je 0x4735c6
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + esi*8 + 0x10]
jmp 0x4735c8
xor ecx, ecx
movzx eax, byte [ebp - 0x101]
push edx
shr eax, 3
xor edx, edx
and eax, 1
push eax
mov eax, dword [ebp - 0xf0]
push ecx
push dword [eax + esi*8 + 0x18]
push dword [eax + esi*8 + 4]
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0x108]
push esi
push edi
mov ecx, dword [eax]
call fcn.00464750
mov ecx, dword [ebp - 0xf8]
mov edx, eax
add esp, 0x1c
mov dword [ebp - 0xe8], edx
mov word [ecx + 0x1a], 0
mov dword [ecx + 0x44], 0
test edx, edx
jne 0x471bf8
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x47586a
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x471bf8
movsx ecx, byte [ecx + 0x18]
push esi
mov esi, dword [ebp - 0xdc]
add ecx, ecx
push edi
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
mov eax, dword [ebp - 0xd8]
mov ecx, 0x17
test byte [eax + ebx*4 + 3], 4
mov eax, 0x12
cmovne eax, ecx
push eax
push dword [esi + 0xc4]
call edx
mov edi, dword [ebp - 0xec]
mov ecx, esi
mov esi, dword [ebp - 0xe0]
add esp, 0x18
jmp case.default.0x46ffc0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, esi
mov eax, dword [esi + 0x3c]
mov edi, dword [esi + 0x38]
mov dword [ebp - 0xf4], eax
call fcn.0046c0e0
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475a61
mov ecx, dword [esi]
call fcn.004649a0
mov ecx, eax
mov dword [esi + 0x44], 0
mov dword [ebp - 0xe8], ecx
test ecx, ecx
mov ecx, dword [ebp - 0xdc]
jne 0x473735
mov edx, dword [ecx + 0xc8]
test edx, edx
je 0x473735
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x473735
test byte [esi + 0x1c], 4
je 0x473735
push dword [ebp - 0xf4]
movsx ecx, byte [esi + 0x18]
mov esi, dword [ebp - 0xdc]
add ecx, ecx
push edi
push eax
mov eax, dword [esi + 0x10]
push dword [eax + ecx*8]
push 9
push dword [esi + 0xc4]
call edx
add esp, 0x18
mov ecx, esi
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xec]
test byte [edx + ebx*4 + 8], 1
je 0x4727b6
mov esi, dword [ebp - 0xe4]
inc dword [esi + 0x5c]
mov esi, dword [ebp - 0xe0]
jmp 0x472aed
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x5c]
add dword [ecx + 0x54], eax
inc esi
mov dword [ecx + 0x50], eax
mov dword [edx + 0x5c], 0
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x194]
push eax
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
call fcn.004780a0
mov edx, dword [ebp - 0xd8]
add esp, 8
cmp dword [ebp - 0x194], 0
mov dword [ebp - 0xe8], eax
je 0x475883
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x472aed
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ebp - 0xe4]
mov edx, edi
mov dword [ebp - 0xec], edi
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
call fcn.00478030
jmp 0x472adb
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xec], eax
mov eax, dword [esi + 0x38]
mov ebx, dword [eax + ecx*4]
mov ecx, ebx
mov edi, dword [ebx]
call fcn.0046c0e0
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475ab6
test byte [ebx + 0x1c], 4
mov ecx, edi
jne 0x4738ba
lea edx, [ebp - 0x218]
call fcn.00460ca0
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0x58]
cdq
cmp dword [ebp - 0x214], edx
jg 0x475ba1
mov esi, dword [ebp - 0x218]
jl 0x4738b2
cmp esi, eax
ja 0x475ba1
mov dword [ebp - 0x180], esi
jmp 0x4738da
lea edx, [ebp - 0x180]
call fcn.00460d30
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0x180]
cmp esi, dword [ecx + 0x58]
ja 0x475ba1
mov ecx, dword [ebp - 0xec]
mov edx, esi
push 0
call fcn.00467b10
add esp, 4
test eax, eax
jne 0x475d4f
mov ecx, dword [ebp - 0xec]
mov edx, 0xbe10
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ecx + 0x18], esi
or ax, 0x10
mov word [ecx + 0x1c], ax
test byte [ebx + 0x1c], 4
mov ebx, ecx
jne 0x473948
push 0
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
push esi
call fcn.00460f40
mov ecx, dword [ebp - 0xdc]
add esp, 0xc
mov esi, dword [ebp - 0xe0]
mov edi, ebx
mov byte [ebx + 0x1e], 1
mov dword [ebp - 0xe8], eax
jmp case.default.0x46ffc0
push dword [ebx + 4]
push esi
push 0
push edi
call fcn.00461340
mov edi, dword [ebp - 0xec]
add esp, 0x10
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov byte [ebx + 0x1e], 1
mov dword [ebp - 0xe8], eax
jmp case.default.0x46ffc0
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x19], 0
je 0x4739af
mov esi, dword [ebp - 0xe0]
mov eax, 1
mov ecx, dword [ebp - 0xdc]
inc esi
mov word [edi + 0x1c], ax
jmp 0x46ff4b
cmp byte [esi + 0x1b], 0
je 0x4739cc
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x170], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x16c], eax
jmp 0x473a45
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x4739fc
mov esi, dword [ecx]
lea edx, [ebp - 0x170]
push edx
push ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [ebp - 0xe4]
add esp, 8
mov edx, esi
mov dword [ebp - 0xe8], eax
call fcn.0046d6a0
jmp 0x473a3f
mov ecx, esi
call fcn.0046c0e0
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475a61
cmp byte [esi + 0x1a], al
je 0x473a2c
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x170], eax
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x16c], eax
jmp 0x473a3f
mov ecx, dword [esi]
lea edx, [ebp - 0x170]
call fcn.00460ca0
mov dword [ebp - 0xe8], eax
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x16c]
mov dword [edi + 0x14], eax
jmp 0x472aed
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov word [eax + 0x19], 1
mov dword [eax + 0x44], 0
test ecx, ecx
je 0x470397
call fcn.0045d2a0
mov edx, dword [ebp - 0xd8]
inc esi
mov ecx, dword [ebp - 0xdc]
jmp 0x46ff4b
mov eax, dword [ebp - 0xd8]
lea edx, [ebp - 0x11c]
mov dword [ebp - 0x11c], 0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
call fcn.00461760
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x11c]
mov byte [esi + 0x19], al
mov word [esi + 0x1a], 0
mov dword [esi + 0x44], 0
mov ecx, dword [edx + ebx*4 + 8]
test ecx, ecx
jle 0x472951
test eax, eax
je 0x472951
dec ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x472aed
mov eax, dword [ebp - 0xe4]
inc dword [eax + 0x74]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xf8], 1
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
cmp dword [esi + 0x40], 0
je 0x473b6f
mov ecx, dword [ebp - 0xdc]
lea eax, [ebp - 0xf8]
push eax
mov edx, esi
call fcn.00477b80
add esp, 4
jmp 0x473b89
mov ecx, dword [esi]
lea edx, [ebp - 0xf8]
call fcn.00461730
mov word [esi + 0x1a], 0
mov dword [esi + 0x44], 0
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xf8]
mov byte [esi + 0x19], al
test eax, eax
je 0x472951
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x472aed
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x154]
mov ecx, dword [ebp - 0xdc]
mov edx, esi
push eax
mov dword [ebp - 0x154], 0
call fcn.00477e50
add esp, 4
jmp 0x473c52
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
cmp dword [eax + ecx*4], 0
je 0x475883
jmp 0x473c20
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov dword [ebp - 0x154], eax
lea eax, [ebp - 0x154]
push eax
push dword [esi]
mov eax, dword [edx + ebx*4 + 0x10]
call eax
mov edi, dword [ebp - 0xd8]
add esp, 8
mov dword [esi + 0x44], 0
cmp dword [ebp - 0x154], 0
mov dword [ebp - 0xe8], eax
jne 0x473c8f
mov ecx, dword [ebp - 0xe4]
mov byte [esi + 0x19], 0
mov eax, dword [edi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xe0], eax
movzx eax, byte [edi + ebx*4 + 3]
inc dword [ecx + eax*4 + 0x6c]
mov byte [esi + 0x1a], 0
jmp 0x475502
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 0
jmp 0x475502
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
test byte [edx + ebx*4 + 3], 1
mov eax, dword [eax + 0x38]
mov ecx, dword [edx + ebx*4 + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, dword [edi]
mov dword [ebp - 0xf4], ecx
je 0x473cda
mov eax, dword [ebp - 0xe4]
inc dword [eax + 0x5c]
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x473d08
mov ecx, esi
call fcn.00467ca0
mov edx, dword [ebp - 0xd8]
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x47294b
mov ecx, dword [ebp - 0xf4]
cmp dword [edi + 0x40], 0
je 0x473d3c
mov ecx, dword [ebp - 0xdc]
mov edx, edi
push esi
call fcn.00477a20
mov edi, dword [ebp - 0xec]
add esp, 4
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], eax
jmp case.default.0x46ffc0
test byte [edx + ebx*4 + 3], 0x10
je 0x473d48
mov eax, dword [edi + 0xc]
jmp 0x473d4a
xor eax, eax
push eax
push dword [edx + ebx*4 + 0xc]
mov eax, dword [esi + 0x18]
push 0
push 0
cdq
push 0x58e9fd
push edx
mov edx, dword [esi + 4]
push eax
call fcn.00464750
mov ecx, dword [ebp - 0xdc]
add esp, 0x1c
mov esi, dword [ebp - 0xe0]
mov dword [edi + 0x44], 0
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xe8], eax
jmp case.default.0x46ffc0
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov dword [ebp - 0x2e4], eax
mov ax, word [edx + ebx*4 + 0xc]
mov word [ebp - 0x2e0], ax
mov eax, dword [edx + ebx*4 + 8]
lea edx, [ebp - 0x2e4]
mov byte [ebp - 0x2de], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x2dc], eax
lea eax, [ebp - 0x1ac]
push eax
push 0
push 0
push 0
call fcn.004617c0
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x473e15
cmp dword [ebp - 0x1ac], eax
jne 0x473e15
mov ecx, edi
call fcn.004649a0
mov dword [ebp - 0xe8], eax
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov dword [esi + 0x44], 0
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xec]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, 1
mov ecx, esi
mov edi, dword [esi]
mov word [ebx + 0x1c], ax
call fcn.0046c0e0
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475ab0
cmp byte [esi + 0x19], al
jne 0x473ebd
lea eax, [ebp - 0x160]
xorps xmm0, xmm0
push eax
mov edx, edi
movlpd qword [ebp - 0x160], xmm0
call fcn.0046d310
mov edx, eax
add esp, 4
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475a61
mov eax, dword [ebp - 0x160]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebx + 0x14], eax
mov eax, 4
mov word [ebx + 0x1c], ax
inc dword [ebp - 0xe0]
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
jmp 0x46ff51
mov eax, dword [ebp - 0xd8]
cmp dl, 0x71
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x118], 0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0xd8]
mov ax, word [eax + ebx*4 + 0x10]
mov word [ebp - 0x280], ax
sbb al, al
mov byte [ebp - 0x27e], al
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x27c], eax
lea edx, [ebp - 0x284]
lea eax, [ebp - 0x118]
push eax
call fcn.0046d480
mov edx, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x118]
test byte [edx + ebx*4], 1
je 0x473f73
neg eax
jmp 0x473f74
inc eax
test eax, eax
jle 0x475883
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x472aed
mov eax, dword [ecx + 4]
xor edx, edx
test eax, eax
je 0x473fd1
cmp dword [eax + 0x28], 0xbdf20da3
jne 0x473fc4
mov ecx, dword [eax + 0x58]
test ecx, 0x200
je 0x473fc4
and cl, 0xc
cmp cl, 8
jae 0x473fc4
cmp dword [eax + 0x4c], 0
jl 0x473fc4
inc edx
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x473fa1
mov ecx, dword [ebp - 0xdc]
mov eax, 1
mov word [edi + 0x1c], ax
cmp edx, eax
jg 0x475b09
mov edx, dword [ebp - 0xd8]
lea edi, [ebp - 0x100]
mov ecx, dword [ecx + 0x10]
push edi
mov dword [ebp - 0x100], 0
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [edx + ebx*4 + 4]
mov dword [ebp - 0xf4], eax
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00465340
mov edi, dword [ebp - 0xec]
add esp, 4
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0xe8], eax
mov eax, 4
mov word [edi + 0x1c], ax
mov eax, ecx
cdq
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0xe8]
mov dword [edi + 0x14], edx
test eax, eax
jne 0x472ae1
test ecx, ecx
je 0x472ae1
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 4]
mov ebx, dword [ebp - 0xf4]
mov edx, ebx
push ecx
mov ecx, dword [ebp - 0xdc]
call fcn.00486d20
mov al, bl
add esp, 8
inc al
mov byte [ebp - 0x12d], al
jmp 0x472ae1
mov edx, dword [ebp - 0xd8]
lea eax, [ebp - 0x110]
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0x110], 0
cmp dword [edx + ebx*4 + 0xc], 0
cmove eax, dword [ebp - 0xf4]
push eax
mov eax, dword [edx + ebx*4 + 8]
mov edx, dword [edx + ebx*4 + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00465060
mov edx, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xe8], eax
cmp dword [edx + ebx*4 + 0xc], 0
je 0x475883
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x110]
add dword [ecx + 0x5c], eax
mov ecx, dword [edx + ebx*4 + 0xc]
test ecx, ecx
jle 0x475883
mov ebx, dword [ebp - 0xf0]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8 + 0x10], eax
adc dword [ebx + ecx*8 + 0x14], edx
jmp 0x472ae1
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x40]
test edx, edx
je 0x474156
mov ecx, dword [ebp - 0xdc]
call fcn.00477390
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
jmp 0x46ff51
mov ecx, dword [ecx]
push 0
mov edx, dword [ecx + 0x44]
mov ecx, dword [ecx]
call fcn.00465060
add esp, 4
jmp 0x472adb
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xf4], 0
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xdc]
shl ecx, 4
add ecx, dword [eax + 0x10]
xor eax, eax
cmp dl, 0x77
lea edx, [ebp - 0xf4]
setne al
mov ecx, dword [ecx + 4]
inc eax
push eax
call fcn.00464e70
mov dword [ebp - 0xe8], eax
add esp, 4
mov eax, dword [ebp - 0xf4]
cdq
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
jmp 0x472ae1
mov esi, dword [ebp - 0xd8]
mov eax, str.sqlite_master
mov ecx, str.sqlite_temp_master
mov edx, dword [esi + ebx*4 + 4]
cmp edx, 1
push dword [esi + ebx*4 + 0x10]
mov ebx, dword [ebp - 0xdc]
cmovne ecx, eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0xe4]
add eax, 0x2c
mov dword [ebp - 0x208], edx
mov dword [ebp - 0x20c], eax
add edx, edx
mov eax, dword [ebx + 0x10]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.0044c300
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x47422f
mov dword [ebp - 0xe8], 7
mov ecx, ebx
jmp 0x474283
push 0
lea eax, [ebp - 0x210]
mov byte [ebx + 0x89], 1
push eax
push fcn.00499b50
push esi
push ebx
mov dword [ebp - 0x204], 0
call fcn.00495bf0
add esp, 0x14
mov edx, esi
test eax, eax
mov ecx, ebx
cmove eax, dword [ebp - 0x204]
mov dword [ebp - 0xe8], eax
call fcn.0044a6e0
mov edx, dword [ebp - 0xe8]
mov ecx, ebx
mov byte [ecx + 0x89], 0
test edx, edx
je 0x474290
call fcn.00484850
mov edx, dword [ebp - 0xe8]
mov ecx, ebx
cmp edx, 7
je 0x475d55
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00482c60
jmp 0x472adb
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00484b40
mov ecx, dword [ebp - 0xdc]
add esp, 4
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
jmp 0x46ff51
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00484630
mov ecx, dword [ebp - 0xdc]
add esp, 4
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
jmp 0x46ff51
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.004a6cf0
mov ecx, dword [ebp - 0xdc]
add esp, 4
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
jmp 0x46ff51
mov esi, dword [ebp - 0xd8]
mov edi, dword [esi + ebx*4 + 8]
mov dword [ebp - 0x110], edi
lea edx, [edi*4 + 4]
call fcn.0044a940
mov edx, eax
mov dword [ebp - 0x108], edx
test edx, edx
je 0x475d4f
mov ecx, dword [esi + ebx*4 + 0xc]
lea eax, [ecx + ecx*4]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xf8], eax
xor esi, esi
mov eax, dword [ebp - 0xf0]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
mov dword [ebp - 0x118], eax
test edi, edi
jle 0x4743d4
mov ebx, dword [ebp - 0x110]
mov edi, eax
mov edi, edi
mov ecx, edi
call fcn.00467fc0
mov edx, dword [ebp - 0x108]
add edi, 0x28
mov dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x4743b0
mov ebx, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x110]
mov ecx, dword [ebp - 0xf0]
lea eax, [ebp - 0x1b4]
push eax
mov eax, dword [ebp - 0xf8]
mov dword [edx + esi*4], 0
push dword [ecx + eax*8 + 0x10]
mov eax, dword [ebp - 0xd8]
push edi
movzx eax, byte [eax + ebx*4 + 3]
mov ebx, dword [ebp - 0xdc]
add eax, eax
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004662b0
mov edx, dword [ebp - 0x108]
add esp, 0xc
mov ecx, ebx
mov edi, eax
call fcn.0044a6e0
mov ecx, dword [ebp - 0xf8]
mov ebx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0x1b4]
mov eax, esi
cdq
sub dword [ebx + ecx*8 + 0x10], eax
sbb dword [ebx + ecx*8 + 0x14], edx
mov ebx, dword [ebp - 0x118]
mov ecx, ebx
call fcn.00468300
test esi, esi
je 0x47446f
test edi, edi
je 0x475d4f
push fcn.0044a640
push 1
push 0xffffffffffffffff
mov edx, edi
mov ecx, ebx
call fcn.00468730
add esp, 0xc
movzx edx, byte [ebp - 0x114]
mov ecx, ebx
call fcn.00467af0
inc dword [ebp - 0xe0]
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
jmp 0x46ff51
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 0x20
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea edi, [eax + eax*4]
jne 0x4744d5
mov ecx, esi
call fcn.00468490
test byte [esi + 0x1c], 0x20
je 0x475d4f
mov ebx, dword [ebp - 0xf0]
mov ecx, dword [esi + 0x10]
push dword [ebx + edi*8 + 0x14]
push dword [ebx + edi*8 + 0x10]
call fcn.00454230
add esp, 8
inc dword [ebp - 0xe0]
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
jmp 0x46ff51
mov edi, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [edi + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
je 0x474569
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x228]
call fcn.00454620
test eax, eax
je 0x474569
mov eax, dword [edi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xf0]
push dword [ebp - 0x224]
push dword [ebp - 0x228]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004683d0
add esp, 8
jmp 0x475502
mov ecx, esi
call fcn.00468300
mov ecx, dword [edi + ebx*4 + 8]
jmp 0x4754fb
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 0x20
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0xf4], eax
jne 0x4745c4
mov ecx, esi
call fcn.00468490
test byte [esi + 0x1c], 0x20
je 0x475d4f
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
test eax, eax
je 0x4745ed
push dword [edx + edi*8 + 0x14]
mov ecx, dword [esi + 0x10]
push dword [edx + edi*8 + 0x10]
mov edx, eax
call fcn.00454680
add esp, 8
test eax, eax
jne 0x472cc3
mov eax, dword [ebp - 0xf4]
test eax, eax
js 0x4744ee
jmp 0x4744d5
mov ecx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xf0]
cmp byte [ecx + ebx*4 + 3], 0
mov eax, dword [ecx + ebx*4 + 0xc]
mov edx, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x110], edx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0xf4], eax
je 0x474650
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + 0x14]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x474650
jmp 0x474640
cmp dword [eax + 0x18], ecx
je 0x474139
mov eax, dword [eax + 4]
test eax, eax
jne 0x474640
mov ecx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
mov eax, dword [ecx + 0xb8]
cmp eax, dword [esi + 0x80]
jge 0x475b2a
mov ebx, dword [ebp - 0xf4]
test byte [ebx + 0x1c], 0x40
jne 0x4747fe
mov ecx, dword [edx + 0xc]
mov edi, dword [edx + 8]
add edi, ecx
lea eax, [edi + edi*4]
lea ecx, [ecx + eax*2]
mov eax, dword [edx + 0x10]
lea ecx, [ecx + 0x12]
lea edx, [eax + ecx*4]
mov ecx, esi
call fcn.0044a910
mov esi, eax
test esi, esi
je 0x475d4f
mov ecx, ebx
call fcn.00467ee0
mov ecx, dword [ebp - 0xe4]
mov eax, 0x40
mov edx, dword [ebp - 0x110]
mov word [ebx + 0x1c], ax
mov dword [ebx + 0x10], esi
mov dword [esi], ecx
mov dword [esi + 0x3c], edi
mov eax, dword [edx + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0xe0]
mov dword [esi + 0x2c], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x1c]
mov dword [esi + 0x34], eax
mov eax, dword [ecx + 0x38]
mov dword [esi + 0x14], eax
mov eax, dword [ecx + 0x24]
mov dword [esi + 0x28], eax
mov eax, dword [ecx + 4]
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x18], eax
mov eax, dword [ecx + 0xc8]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0xc4]
mov dword [esi + 0x38], eax
lea eax, [edi*4 + 9]
add eax, edi
lea ecx, [esi + eax*8]
lea eax, [esi + 0x48]
cmp eax, ecx
je 0x474740
mov edi, dword [ebp - 0xdc]
mov ebx, 0x80
mov word [eax + 0x1c], bx
mov dword [eax], edi
add eax, 0x28
cmp eax, ecx
jne 0x474733
mov ecx, dword [ebp - 0xe4]
inc dword [ecx + 0xb8]
lea ebx, [esi + 0x20]
mov eax, dword [ecx + 0xb0]
or edi, 0xffffffff
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x134]
mov dword [ebx], eax
mov eax, dword [ebp - 0x138]
mov dword [ebx + 4], eax
mov eax, dword [ecx + 0x5c]
mov dword [esi + 0x44], eax
mov dword [ecx + 0xb0], esi
mov dword [ecx + 0x5c], 0
mov dword [ecx + 8], ebx
mov eax, dword [esi + 0x3c]
mov dword [ecx + 0x1c], eax
movzx eax, word [esi + 0x40]
mov esi, dword [ebp - 0xe4]
mov dword [ecx + 0x24], eax
mov eax, dword [ecx + 0x1c]
inc eax
mov dword [ebp - 0xf0], ebx
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov dword [esi + 0x38], ecx
mov eax, dword [edx]
mov dword [ebp - 0xd8], eax
mov dword [esi + 4], eax
mov eax, dword [edx + 4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x24]
lea ecx, [ecx + eax*4]
mov dword [esi + 0xc8], ecx
mov eax, dword [edx + 0x10]
push eax
push 0
push ecx
mov dword [esi + 0xc4], eax
call fcn.0053ca90
mov ecx, dword [ebp - 0xdc]
add esp, 0xc
mov edx, dword [ebp - 0xd8]
inc edi
mov dword [ebp - 0xe0], edi
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp 0x46ff51
mov esi, dword [ebx + 0x10]
jmp 0x474746
mov eax, dword [ebp - 0xe4]
push 0x1000
mov edx, dword [eax + 0xb0]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [ebp - 0xd8]
add eax, dword [ecx + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edx, [eax + ecx*8]
mov ecx, edi
call fcn.00468570
mov ecx, dword [ebp - 0xdc]
add esp, 4
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
jmp 0x46ff51
test dword [ecx + 0x18], 0x1000000
mov eax, dword [ebp - 0xd8]
je 0x474890
mov eax, dword [eax + ebx*4 + 8]
cdq
add dword [ecx + 0x1f8], eax
adc dword [ecx + 0x1fc], edx
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
cmp dword [eax + ebx*4 + 4], 0
mov eax, dword [eax + ebx*4 + 8]
cdq
je 0x4748ba
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
mov ebx, dword [ebp - 0xe4]
add dword [ebx + 0x90], eax
adc dword [ebx + 0x94], edx
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x46ff51
mov edx, dword [ebp - 0xd8]
cmp dword [edx + ebx*4 + 4], 0
je 0x47491a
mov eax, dword [ecx + 0x1f0]
or eax, dword [ecx + 0x1f4]
jne 0x471866
mov eax, dword [ecx + 0x1f8]
or eax, dword [ecx + 0x1fc]
jne 0x471866
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x46ff4b
mov eax, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xe4]
mov eax, dword [eax + 0x90]
or eax, dword [edi + 0x94]
mov edi, dword [ebp - 0xec]
jmp 0x4748f7
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x47496f
mov eax, dword [edx + 4]
test eax, eax
je 0x47495a
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x474951
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edi, [eax + ecx*8]
jmp 0x474985
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.00468170
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00468170
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
cmp dword [edi + 0x14], ecx
jg 0x4744ee
jl 0x4749c3
cmp dword [edi + 0x10], eax
jae 0x4744ee
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
mov dword [edi + 0x14], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [edi + 0x10], eax
mov edi, dword [ebp - 0xec]
jmp 0x46ff51
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea eax, [eax + eax*4]
cmp dword [edi + eax*8 + 0x14], 0
mov edi, dword [ebp - 0xec]
jl 0x471866
jg 0x471861
mov edi, dword [ebp - 0xf0]
cmp dword [edi + eax*8 + 0x10], 0
mov edi, dword [ebp - 0xec]
jbe 0x471866
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x46ff4b
mov edx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ebx*4 + 0xc]
cdq
add dword [esi + ecx*8 + 0x10], eax
adc dword [esi + ecx*8 + 0x14], edx
cmp dword [esi + ecx*8 + 0x14], 0
jg 0x474a8b
jl 0x474a68
cmp dword [esi + ecx*8 + 0x10], 0
jae 0x474a8b
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x46ff51
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x46ff51
mov edx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xf0]
mov eax, dword [edx + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ebx*4 + 0xc]
cdq
add dword [esi + ecx*8 + 0x10], eax
mov eax, dword [esi + ecx*8 + 0x10]
adc dword [esi + ecx*8 + 0x14], edx
or eax, dword [esi + ecx*8 + 0x14]
jne 0x474a8b
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x46ff51
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xf0]
movzx edx, byte [eax + ebx*4 + 3]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xe4]
mov esi, dword [eax + 0xc]
xor eax, eax
test edx, edx
jle 0x474b31
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x474b26
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x2a0], eax
inc dword [eax + 0x18]
mov eax, 1
mov ecx, dword [ebp - 0x2d0]
mov word [ebp - 0x2ac], ax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x29c], 0
mov byte [ebp - 0x28c], 0
test byte [ecx + 2], 0x20
je 0x474bc7
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 - 4]
mov dword [ebp - 0x29c], eax
push esi
push edx
lea eax, [ebp - 0x2d0]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x290], 0
je 0x474c18
mov dl, 1
lea ecx, [ebp - 0x2c8]
call fcn.004689b0
push eax
mov eax, dword [ebp - 0xe4]
push 0x59457c
push dword [ebp - 0xdc]
add eax, 0x2c
push eax
call fcn.0044ab10
mov eax, dword [ebp - 0x290]
add esp, 0x10
mov dword [ebp - 0xe8], eax
cmp byte [ebp - 0x28c], 0
je 0x474c47
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 - 0x10]
test eax, eax
je 0x474c47
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.004683d0
add esp, 8
lea ecx, [ebp - 0x2c8]
call fcn.00467ee0
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov edx, dword [ecx + ebx*4 + 0x10]
mov ecx, esi
call fcn.00467e00
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x474cb5
mov dl, 1
mov ecx, esi
call fcn.004689b0
push eax
mov eax, dword [ebp - 0xe4]
push 0x59457c
push dword [ebp - 0xdc]
add eax, 0x2c
push eax
call fcn.0044ab10
add esp, 0x10
movzx edx, byte [ebp - 0x114]
mov ecx, esi
call fcn.00467af0
mov ecx, esi
call fcn.00468540
mov ecx, dword [ebp - 0xdc]
test eax, eax
jne 0x475ba1
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov esi, dword [ebp - 0xd8]
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xd4], 0
push eax
push dword [esi + ebx*4 + 8]
mov edx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xcc], 0xffffffff
mov dword [ebp - 0xd0], 0xffffffff
call fcn.004bb2b0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xe8], ecx
cmp ecx, 5
jne 0x474d46
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xd4], 1
mov eax, dword [esi + ebx*4 + 0xc]
xor esi, esi
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
jmp 0x474d60
mov eax, dword [ebp + esi*4 - 0xd4]
mov ecx, edi
cdq
push edx
push eax
call fcn.004683d0
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x474d60
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xdc]
mov esi, dword [eax + ebx*4 + 0xc]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [edx + 0x10]
add ecx, ecx
cmp esi, 0xffffffff
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xf4], eax
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov dword [ebp - 0xf8], ecx
movzx edi, byte [ecx + 5]
cmove esi, edi
call fcn.004598f0
test eax, eax
mov eax, 0x58e9fd
cmove esi, edi
cmp byte [ecx + 0xf], 0
jne 0x474de7
mov eax, dword [ecx + 0xa8]
cmp esi, 5
jne 0x474e0a
mov ecx, eax
call fcn.0044cf50
test eax, eax
je 0x474e78
mov ecx, dword [ebp - 0xf8]
call fcn.00459a10
test eax, eax
je 0x474e78
cmp esi, edi
je 0x474e7a
cmp edi, 5
je 0x474e18
cmp esi, 5
jne 0x474e7a
cmp byte [edx + 0x3e], 0
je 0x475b57
cmp dword [edx + 0x90], 1
jg 0x475b57
cmp edi, 5
jne 0x474e4d
call fcn.00459bb0
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x474e78
mov ecx, dword [ebp - 0xf8]
mov edx, esi
jmp 0x474e55
cmp edi, 4
jne 0x474e5a
lea edx, [edi - 2]
call fcn.004597f0
mov ecx, dword [ebp - 0xf4]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.00466a10
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x474e7a
mov esi, edi
mov ecx, dword [ebp - 0xf8]
mov edx, esi
call fcn.004597f0
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
mov ecx, dword [ecx + ebx*4 + 8]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*8]
mov ecx, 0xa02
mov dword [ebp - 0xec], ebx
mov word [ebx + 0x1c], cx
cmp eax, 6
jne 0x474eb5
xor ecx, ecx
jmp 0x474ebc
mov ecx, dword [eax*4 + 0x591df4]
mov dword [ebx + 4], ecx
call fcn.0044cf50
movzx edx, byte [ebp - 0x114]
mov ecx, ebx
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1e], 1
call fcn.00467af0
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xdc]
lea ecx, [ecx + 0x2c]
call fcn.004aab70
jmp 0x472adb
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xdc]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + ecx*8 + 4]
call fcn.00460120
mov edx, dword [ebp - 0xd8]
mov ecx, eax
mov dword [ebp - 0xe8], ecx
cmp ecx, 0x65
jne 0x475883
mov ecx, dword [edx + ebx*4 + 8]
dec ecx
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x472aed
mov edx, dword [ebp - 0xd8]
cmp dword [edx + ebx*4 + 4], 0
jne 0x474f7c
call fcn.0046d5d0
inc esi
jmp 0x46ff4b
mov eax, dword [ebp - 0xe4]
or dword [eax + 0x58], 0x20
inc esi
jmp 0x46ff4b
mov edx, dword [ebp - 0xd8]
mov al, byte [edx + ebx*4 + 0xc]
mov byte [ebp - 0x164], al
test al, al
jne 0x474fad
test dword [ecx + 0x18], 0x4000
jne 0x472aed
mov eax, dword [edx + ebx*4 + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
push dword [ebp - 0x164]
mov edx, dword [edx + ebx*4 + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00466920
mov ecx, eax
add esp, 4
mov dword [ebp - 0xe8], ecx
cmp cl, 6
jne 0x472ae1
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [ebp - 0xe4]
push str.database_table_is_locked:__s
push dword [ebp - 0xdc]
add eax, 0x2c
push eax
call fcn.0044ab10
add esp, 0x10
jmp 0x472ae1
mov eax, dword [ebp - 0xd8]
mov esi, dword [eax + ebx*4 + 0x10]
mov edx, esi
call fcn.004abfa0
mov dword [ebp - 0xe8], eax
test esi, esi
je 0x4710bb
mov edx, dword [esi + 8]
mov ecx, dword [ebp - 0xe4]
call fcn.0046d6a0
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov eax, dword [ebp - 0xe4]
add eax, 0x2c
push eax
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.004abb00
add esp, 8
jmp 0x472adb
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x58]
and eax, 0xfffffffb
or eax, 8
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.004abdd0
mov ecx, dword [ebp - 0xe4]
add esp, 4
and dword [ecx + 0x58], 0xfffffff3
jmp 0x472adb
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x120], 0
mov eax, dword [eax + ebx*4 + 0x10]
mov esi, dword [eax + 8]
lea eax, [ebp - 0x120]
push eax
push esi
mov edi, dword [esi]
mov eax, dword [edi + 0x18]
call eax
mov ecx, dword [ebp - 0xe4]
add esp, 8
mov edx, esi
mov dword [ebp - 0xe8], eax
call fcn.0046d6a0
cmp dword [ebp - 0xe8], 0
jne 0x471bf8
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0xe4]
push 0
push 0xffffffffffffffff
mov dword [eax], esi
mov eax, dword [ebp - 0xd8]
push 0
mov edx, dword [eax + ebx*4 + 4]
call fcn.0046fbb0
add esp, 0xc
test eax, eax
je 0x475142
mov ecx, dword [ebp - 0x120]
inc dword [ebp - 0xe0]
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebp - 0xdc]
jmp 0x46ff51
mov eax, dword [ebp - 0xdc]
push dword [ebp - 0x120]
mov byte [eax + 0x40], 1
mov eax, dword [edi + 0x1c]
call eax
mov edi, dword [ebp - 0xec]
add esp, 4
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov ecx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xf0]
add edi, 0x28
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ecx + ebx*4 + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe4]
mov esi, dword [edi + edx*8 + 0x10]
lea edi, [edi + edx*8]
movd xmm0, edi
mov dword [ebp - 0x110], edi
mov eax, dword [eax + 0x38]
pshufd xmm3, xmm0, 0
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0xfc], eax
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xf8], eax
mov eax, dword [eax]
mov dword [ebp - 0x120], eax
mov eax, dword [eax]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax + edx*8 + 0x10]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0xf4], edx
test esi, esi
jle 0x47529f
cmp esi, 8
jb 0x475287
cmp dword [0x5c011c], 2
jl 0x475287
movdqa xmm2, xmmword [0x5a5e50]
mov eax, esi
and eax, 0x80000007
jns 0x475221
dec eax
or eax, 0xfffffff8
inc eax
movdqa xmm1, xmmword [0x5a5e80]
mov edi, esi
sub edi, eax
lea ecx, [ecx]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x20]
paddd xmm0, xmm2
add ecx, 8
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movdqu xmmword [edx - 0x20], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movdqu xmmword [edx - 0x10], xmm0
cmp ecx, edi
jl 0x475230
mov edx, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x110]
cmp ecx, esi
jge 0x47529f
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x475294
mov ecx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0x118]
push edx
push esi
mov eax, dword [ecx + 0x58]
mov esi, dword [ebp - 0xf8]
and eax, 0xfffffff7
or eax, 4
mov dword [ecx + 0x58], eax
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [edi + 0x20]
push dword [ebp - 0x108]
push esi
call eax
mov edx, dword [ebp - 0x120]
add esp, 0x14
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe4]
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.0046d6a0
cmp dword [ebp - 0xe8], 0
jne 0x47531e
mov eax, dword [edi + 0x28]
push esi
call eax
mov edx, dword [ebp - 0xd8]
add esp, 4
test eax, eax
je 0x475324
mov eax, dword [edx + ebx*4 + 8]
dec eax
mov dword [ebp - 0xe0], eax
jmp 0x475324
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xfc]
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov byte [eax + 0x19], 0
jmp 0x472aed
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x110], ecx
cmp byte [ecx + 0x19], 0
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xf4], eax
je 0x4753a1
mov ecx, eax
call fcn.00468300
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
jmp 0x46ff51
mov eax, dword [ecx + 0x24]
push 0x48
push 0
mov edi, dword [eax]
lea eax, [ebp - 0x340]
push eax
mov esi, dword [edi]
call fcn.0053ca90
mov edx, dword [ebp - 0xf4]
lea ecx, [ebp - 0x338]
add esp, 0xc
call fcn.004686e0
mov eax, dword [ebp - 0x31c]
and eax, 0xbe01
or eax, 1
mov word [ebp - 0x31c], ax
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 8]
lea eax, [ebp - 0x340]
push eax
mov eax, dword [ebp - 0x110]
push dword [eax + 0x24]
mov eax, dword [esi + 0x2c]
call eax
mov ecx, dword [ebp - 0xe4]
add esp, 0xc
mov edx, edi
mov ebx, eax
call fcn.0046d6a0
mov eax, dword [ebp - 0x300]
lea ecx, [ebp - 0x338]
movzx edx, byte [ebp - 0x114]
test eax, eax
cmovne ebx, eax
mov dword [ebp - 0xe8], ebx
call fcn.00467af0
mov ecx, dword [ebp - 0xf4]
lea edx, [ebp - 0x338]
call fcn.004686e0
mov ecx, dword [ebp - 0xf4]
call fcn.00468540
mov ecx, dword [ebp - 0xdc]
test eax, eax
jne 0x475ba1
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x47587d
mov eax, dword [edi + 0x24]
mov edx, dword [ebp - 0xe4]
mov esi, dword [eax]
mov eax, dword [edx + 0x58]
and eax, 0xfffffff7
or eax, 4
mov ecx, dword [esi]
mov dword [edx + 0x58], eax
push dword [edi + 0x24]
mov dword [ebp - 0xf4], ecx
mov eax, dword [ecx + 0x24]
call eax
mov dword [ebp - 0xe8], eax
add esp, 4
mov eax, dword [ebp - 0xe4]
mov edx, esi
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.0046d6a0
cmp dword [ebp - 0xe8], 0
jne 0x4754f1
mov eax, dword [ebp - 0xf4]
push dword [edi + 0x24]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x475502
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + ebx*4 + 8]
dec ecx
mov dword [ebp - 0xe0], ecx
mov ebx, dword [ebp - 0xdc]
cmp dword [ebx + 0xe8], 0
jne 0x475d0c
mov ecx, dword [ebx + 0x11c]
test ecx, ecx
je 0x475556
mov edi, dword [ebp - 0x140]
cmp edi, dword [ebp - 0x13c]
jb 0x475556
mov esi, dword [ebx + 0x124]
xor edx, edx
mov eax, edi
div esi
push dword [ebx + 0x120]
sub esi, edx
add esi, edi
mov dword [ebp - 0x13c], esi
call ecx
add esp, 4
test eax, eax
jne 0x475970
mov edi, dword [ebp - 0xec]
mov ecx, ebx
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov ecx, dword [ebp - 0xd8]
mov edx, 1
mov eax, dword [ecx + ebx*4 + 0x10]
mov esi, dword [eax + 8]
mov eax, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.00467af0
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x471bf8
mov eax, dword [esi]
push dword [edi + 4]
push esi
mov eax, dword [eax + 0x4c]
call eax
add esp, 8
mov dword [ebp - 0xe8], eax
mov edx, esi
mov esi, dword [ebp - 0xe4]
mov ecx, esi
call fcn.0046d6a0
and dword [esi + 0x58], 0xffffffdf
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov esi, dword [ebp - 0xd8]
mov eax, dword [esi + ebx*4 + 0x10]
mov esi, dword [esi + ebx*4 + 8]
mov edx, dword [eax + 8]
mov dword [ebp - 0x110], edx
mov eax, dword [edx]
mov dword [ebp - 0xf4], eax
cmp dword [eax + 0x34], 0
je 0x4710c1
mov al, byte [ecx + 0x44]
mov ecx, dword [ebp - 0xf0]
mov byte [ebp - 0x101], al
mov eax, dword [ebp - 0xe4]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x475642
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x475637
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
mov al, byte [eax + ebx*4 + 3]
mov byte [ecx + 0x44], al
lea eax, [ebp - 0x200]
push eax
mov eax, dword [ebp - 0xf4]
push edi
push esi
push edx
mov eax, dword [eax + 0x34]
call eax
mov ecx, dword [ebp - 0xdc]
add esp, 0x10
mov esi, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0xe8], eax
mov al, byte [ebp - 0x101]
mov byte [ecx + 0x44], al
mov ecx, esi
call fcn.0046d6a0
cmp dword [ebp - 0xe8], 0
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
jne 0x4756cf
cmp dword [edx + ebx*4 + 4], 0
je 0x4756cf
mov eax, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x138], edi
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edi
mov eax, dword [ebp - 0xe8]
cmp al, 0x13
jne 0x475739
mov eax, dword [edx + ebx*4 + 0x10]
cmp byte [eax + 0x10], 0
je 0x475739
mov al, byte [edx + ebx*4 + 3]
cmp al, 4
jne 0x475705
mov esi, dword [ebp - 0xe0]
xor eax, eax
mov edi, dword [ebp - 0xec]
inc esi
mov dword [ebp - 0xe8], eax
jmp 0x46ff4b
cmp al, 5
jne 0x475722
mov edi, dword [ebp - 0xec]
mov eax, 2
mov byte [esi + 0x56], al
mov esi, dword [ebp - 0xe0]
jmp 0x472aed
mov edi, dword [ebp - 0xec]
movzx eax, al
mov byte [esi + 0x56], al
mov esi, dword [ebp - 0xe0]
jmp 0x472aed
inc dword [esi + 0x5c]
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp 0x472aed
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [edx + ebx*4 + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0
jmp 0x46ff51
mov esi, dword [ebp - 0xd8]
xor edx, edx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov esi, dword [esi + ebx*4 + 0xc]
mov ecx, dword [eax + ecx*8 + 4]
test esi, esi
je 0x4757bb
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, esi
cmovb edx, esi
call fcn.0045f180
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
cdq
mov dword [edi + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov dword [edi + 0x10], eax
jmp 0x46ff51
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + ebx*4 + 8]
test eax, eax
je 0x4757fb
lea esi, [eax - 1]
mov dword [ebp - 0xe0], esi
cmp dword [ecx + 0xa4], 0
je 0x472aed
mov eax, dword [ebp - 0xe4]
test dword [eax + 0x58], 0x800
jne 0x472aed
mov edx, dword [edx + ebx*4 + 0x10]
mov ebx, eax
test edx, edx
jne 0x475833
mov edx, dword [ebx + 0xa8]
test edx, edx
je case.default.0x46ffc0
mov ecx, ebx
call fcn.0046f730
mov ebx, dword [ebp - 0xdc]
mov esi, eax
push esi
push dword [ebx + 0xa8]
mov ecx, dword [ebx + 0xa4]
call ecx
add esp, 8
mov edx, esi
mov ecx, ebx
call fcn.0044a6e0
mov esi, dword [ebp - 0xe0]
mov ecx, ebx
jmp case.default.0x46ffc0
mov edi, dword [ebp - 0xec]
mov ecx, eax
mov esi, dword [ebp - 0xe0]
jmp case.default.0x46ffc0
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
jmp 0x472aed
mov edi, dword [ebp - 0xe4]
mov ecx, dword [edx + ebx*4 + 4]
mov dword [edi + 0x50], ecx
mov al, byte [edx + ebx*4 + 8]
mov byte [edi + 0x56], al
mov dword [edi + 0x4c], esi
test ecx, ecx
je 0x475935
mov al, byte [edx + ebx*4 + 3]
test al, al
je 0x4758e6
movzx eax, al
mov eax, dword [eax*4 + 0x591fd4]
test eax, eax
je 0x4758e8
mov ecx, dword [edx + ebx*4 + 0x10]
test ecx, ecx
je 0x4758e8
push ecx
push eax
push str._s_constraint_failed:__s
push dword [ebp - 0xdc]
lea esi, [edi + 0x2c]
push esi
call fcn.0044ab10
add esp, 0x14
jmp 0x475910
xor eax, eax
mov ecx, dword [edx + ebx*4 + 0x10]
lea esi, [edi + 0x2c]
test ecx, ecx
je 0x4758fb
push ecx
push 0x59457c
jmp 0x475901
push eax
push str._s_constraint_failed
push dword [ebp - 0xdc]
push esi
call fcn.0044ab10
add esp, 0x10
push dword [esi]
mov eax, dword [ebp - 0xd8]
push dword [edi + 0xa8]
push dword [ebp - 0xe0]
push str.abort_at__d_in___s_:__s
push dword [eax + ebx*4 + 4]
call fcn.0044c650
add esp, 0x14
mov ecx, edi
call fcn.0046b6e0
mov ecx, dword [ebp - 0xdc]
cmp eax, 5
mov eax, dword [ebp - 0xe4]
jne 0x47595a
mov edi, 5
mov dword [eax + 0x50], edi
jmp 0x472b8f
cmp dword [eax + 0x50], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x472b8f
mov edx, 9
mov dword [ebp - 0xe8], edx
jmp 0x472b07
lea ecx, [ebp - 0x268]
call fcn.00467ee0
mov ecx, esi
jmp 0x475d55
mov edx, 0x14
mov dword [ebp - 0xe8], edx
jmp 0x475a67
mov eax, dword [ebp - 0xe4]
push str.cannot_open_savepoint___SQL_statements_in_progress
push ecx
add eax, 0x2c
push eax
call fcn.0044ab10
add esp, 0xc
mov edx, 5
inc esi
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xe0], esi
jmp 0x472b07
mov eax, dword [ebp - 0xe4]
push str.cannot_release_savepoint___SQL_statements_in_progress
push ecx
add eax, 0x2c
push eax
call fcn.0044ab10
mov eax, dword [ebp - 0xe0]
mov edx, 5
add esp, 0xc
mov dword [ebp - 0xe8], edx
inc eax
jmp 0x472b0d
mov eax, dword [ebp - 0xe0]
mov dword [edi + 0x4c], eax
mov edi, 5
mov eax, dword [ebp - 0xe4]
mov byte [ecx + 0x3e], 0
mov dword [eax + 0x50], edi
jmp 0x472b8f
mov edx, 8
mov dword [ebp - 0xe8], edx
jmp 0x475a67
mov ecx, dword [ebp - 0xe4]
mov edi, 5
mov eax, dword [ebp - 0xe0]
mov dword [ecx + 0x4c], eax
mov dword [ecx + 0x50], edi
mov ecx, dword [ebp - 0xdc]
jmp 0x472b8f
mov ecx, 0x11698
call fcn.004bc770
mov edx, eax
mov dword [ebp - 0xe8], edx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe4]
cmp byte [ecx + 0x40], 0
je 0x475abe
mov eax, 7
mov edx, str.unknown_error
mov ecx, eax
mov dword [ebp - 0xe8], eax
call fcn.004ba7e0
mov ecx, dword [ebp - 0xdc]
jmp 0x475af1
mov edx, 4
inc esi
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xe0], esi
jmp 0x472b07
mov edx, 0xd
jmp 0x475a5b
mov esi, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xdc]
jmp 0x475a6d
cmp edx, 0xc0a
je 0x472b07
cmp edx, 0x204
je 0x475aec
mov eax, dword [ebp - 0xe8]
mov edx, str.unknown_error
mov ecx, eax
call fcn.004ba7e0
mov ecx, dword [ebp - 0xdc]
jmp 0x475af1
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x59457c
push ecx
lea eax, [esi + 0x2c]
push eax
call fcn.0044ab10
add esp, 0x10
jmp 0x472b01
mov eax, dword [ebp - 0xe4]
mov edx, 6
inc esi
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xe0], esi
mov byte [eax + 0x56], 2
jmp 0x472b07
push str.too_many_levels_of_trigger_recursion
lea eax, [ecx + 0x2c]
mov dword [ebp - 0xe8], 1
push esi
push eax
call fcn.0044ab10
mov eax, dword [ebp - 0xe0]
add esp, 0xc
inc eax
mov edx, 1
jmp 0x472b0d
mov ecx, str.out_of
mov dword [ebp - 0xe8], 1
cmp esi, 5
mov eax, str.into
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0xe4]
push str.cannot_change__s_wal_mode_from_within_a_transaction
push edx
add eax, 0x2c
push eax
call fcn.0044ab10
mov eax, dword [ebp - 0xe0]
add esp, 0x10
inc eax
mov edx, 1
jmp 0x472b0d
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe4]
push str.string_or_blob_too_big
push ecx
add eax, 0x2c
push eax
call fcn.0044ab10
mov edx, 0x12
add esp, 0xc
mov dword [ebp - 0xe8], edx
jmp 0x472b07
mov eax, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [eax + ebx*4 + 4]
mov edx, dword [eax + ebx*4 + 8]
mov dword [ebp - 0x164], ecx
test ecx, ecx
je 0x475c28
cmp byte [esi + 0x3e], 0
jne 0x475c28
test edx, edx
jne 0x475c28
cmp dword [esi + 0x94], edx
jle 0x475c28
mov eax, dword [ebp - 0xe4]
push str.cannot_commit_transaction___SQL_statements_in_progress
add eax, 0x2c
push esi
push eax
call fcn.0044ab10
mov eax, dword [ebp - 0xe0]
mov edx, 5
add esp, 0xc
mov dword [ebp - 0xe8], edx
inc eax
jmp 0x472b0d
movzx eax, byte [esi + 0x3e]
cmp ecx, eax
jne 0x475c75
test ecx, ecx
jne 0x475c3b
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x475c4a
test edx, edx
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
push eax
mov eax, dword [ebp - 0xe4]
add eax, 0x2c
push esi
push eax
call fcn.0044ab10
mov eax, dword [ebp - 0xe0]
mov edx, 1
add esp, 0xc
mov dword [ebp - 0xe8], edx
inc eax
jmp 0x472b0d
test edx, edx
je 0x475cb2
mov edx, 0x204
mov ecx, esi
call fcn.004ba6e0
mov byte [esi + 0x3e], 1
mov ecx, esi
call fcn.004b9ef0
mov eax, dword [ebp - 0xe4]
mov edi, 1
mov ecx, 0x65
cmp dword [eax + 0x50], 0
cmove edi, ecx
mov ecx, dword [ebp - 0xdc]
jmp 0x472b8f
mov ecx, dword [ebp - 0xe4]
mov edx, 1
call fcn.0046b670
mov edi, eax
test edi, edi
jne 0x475ca7
mov ebx, dword [ebp - 0x164]
mov ecx, dword [ebp - 0xe4]
mov byte [esi + 0x3e], bl
call fcn.0046b6e0
cmp eax, 5
jne 0x475c89
mov edx, dword [ebp - 0xe4]
mov edi, 5
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov dword [edx + 0x4c], eax
mov al, 1
sub al, bl
mov byte [ecx + 0x3e], al
mov dword [edx + 0x50], edi
jmp 0x472b8f
mov ebx, ecx
mov eax, dword [str.interrupted]
mov ecx, str.unknown_error
mov edx, dword [ebp - 0xe4]
test eax, eax
mov dword [ebp - 0xe8], 9
cmovne ecx, eax
push ecx
push 0x59457c
lea eax, [edx + 0x2c]
mov dword [edx + 0x50], 9
push ebx
push eax
call fcn.0044ab10
add esp, 0x10
mov edx, 9
jmp 0x472b07
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe4]
push str.out_of_memory
push ecx
add eax, 0x2c
mov byte [ecx + 0x40], 1
push eax
call fcn.0044ab10
mov edx, 7
add esp, 0xc
mov dword [ebp - 0xe8], edx
jmp 0x472b07