Function at 0x46ff60
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x344
mov eax, dword [0x5bd250]
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.00469fc0
mov ecx, dword [ebp - 0xe4]
cmp dword [ecx + 0x50], 7
je 0x475e7f
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 0x475e3a
cmp dword [ecx + 0x11c], edi
je 0x47006c
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x7c]
test eax, eax
jne 0x47005e
mov edx, dword [ecx + 0x124]
jmp 0x470066
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 0x475e85
inc dword [ebp - 0x140]
lea ebx, [esi + esi*4]
test byte [edx + ebx*4 + 2], 2
mov dword [ebp - 0xf4], ebx
je 0x4700de
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 0x4700d5
mov ecx, edi
call fcn.00467fc0
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.0x4700f0
jmp dword [eax*4 + 0x475eb4]
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + ebx*4 + 8]
jmp 0x47562b
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 0x470081
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 0x47007b
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 0x4701c6
lea esi, [eax - 1]
inc esi
jmp 0x47007b
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 0x47007b
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 0x470081
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 0x472c1d
jmp 0x470279
mov edx, dword [ebp - 0xd8]
cmp dword [edx + ebx*4 + 4], 0
jne 0x4759be
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0xb0]
test ecx, ecx
je 0x4759be
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.0046aa30
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 0x47030b
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 0x47007b
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 0x470075
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 0x47007b
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 0x47007b
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + ebx*4 + 0x10]
mov byte [edx + ebx*4], 0x1b
call fcn.0044d040
cmp byte [ebp - 0x114], 1
mov dword [edx + ebx*4 + 4], eax
je 0x47041b
push 0
push 1
mov edx, ecx
mov ecx, edi
push 0xffffffffffffffff
call fcn.00468860
add esp, 0xc
mov dword [ebp - 0xe8], eax
cmp eax, 0x12
je 0x475ccb
movzx edx, byte [ebp - 0x114]
mov ecx, edi
call fcn.00467c20
test eax, eax
jne 0x475e7f
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 0x470408
mov edx, dword [edx + ebx*4 + 0x10]
mov ecx, dword [ebp - 0xdc]
call fcn.0044a7d0
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 0x475cd1
jmp 0x470436
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 0x472c1d
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 0x4704bb
mov eax, 0x2460
add ebx, 0x28
test word [ebx + 0x1c], ax
je 0x4704a6
mov ecx, ebx
call fcn.00467fc0
mov eax, 0x2460
dec esi
mov word [ebx + 0x1c], di
test esi, esi
jg 0x470491
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 0x47007b
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 0x47007b
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.00468860
mov al, byte [ebp - 0x114]
add esp, 0xc
mov ecx, dword [ebp - 0xdc]
inc esi
mov byte [edi + 0x1e], al
jmp 0x470075
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.00468670
test eax, eax
jne 0x475ccb
push 0x800
lea edx, [esi - 0x28]
mov ecx, edi
call fcn.004686a0
mov esi, dword [ebp - 0xe0]
add esp, 4
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x470075
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 0x4705c7
mov ecx, ebx
call fcn.00467fc0
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 0x4705b0
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 0x470081
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.004686a0
mov eax, 0x1000
add esp, 4
test word [ebx + 0x1c], ax
je 0x47067c
mov ecx, ebx
call fcn.00467d70
test eax, eax
jne 0x475e7f
mov eax, edi
dec edi
test eax, eax
je 0x470603
add ebx, 0x28
add esi, 0x28
jmp 0x47064b
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.004686a0
mov ecx, dword [ebp - 0xdc]
add esp, 4
inc esi
jmp 0x470075
mov eax, dword [ecx + 0x11c]
test eax, eax
je 0x4706f7
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0x13c]
jb 0x4706f7
push dword [ecx + 0x120]
call eax
add esp, 4
test eax, eax
jne 0x475aa0
mov ecx, dword [ebp - 0xe4]
xor edx, edx
call fcn.0046b7a0
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x472c11
mov ecx, dword [ebp - 0xe4]
lea edx, [eax + 1]
call fcn.0046b670
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x472c11
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 0x47079c
mov eax, 0x1000
test word [esi + 0x1c], ax
je 0x47077f
mov ecx, esi
call fcn.00467d70
test eax, eax
jne 0x475e7f
mov ecx, esi
call fcn.00467e30
mov eax, dword [ebp - 0xd8]
inc edi
add esi, 0x28
cmp edi, dword [eax + ebx*4 + 8]
jl 0x470765
mov edx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x40], 0
jne 0x475e85
mov eax, dword [ebp - 0xe0]
mov edi, 0x64
inc eax
mov dword [edx + 0x4c], eax
jmp 0x472cbf
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 0x470822
mov ecx, edi
call fcn.00468430
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x470075
test ecx, 0x4000
je 0x470839
mov ecx, ebx
call fcn.00467dd0
test eax, eax
jne 0x475e7f
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x470853
mov ecx, esi
call fcn.00467dd0
test eax, eax
jne 0x475e7f
test byte [ebx + 0x1c], 0x12
jne 0x47086f
movzx edx, byte [ebp - 0x114]
mov ecx, ebx
call fcn.00467e80
test eax, eax
jne 0x475e7f
test byte [esi + 0x1c], 0x12
jne 0x47088b
movzx edx, byte [ebp - 0x114]
mov ecx, esi
call fcn.00467e80
test eax, eax
jne 0x475e7f
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 0x475ccb
jl 0x4708b2
cmp edi, eax
ja 0x475ccb
mov ecx, dword [ebp - 0xec]
lea edx, [edi + 2]
xor eax, eax
cmp ecx, esi
sete al
push eax
call fcn.00467c40
add esp, 4
test eax, eax
jne 0x475e7f
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 0x470902
push dword [esi + 0x18]
push dword [esi + 4]
push dword [ecx + 4]
call fcn.0053db60
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.0053db60
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 0x470075
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.0046ff00
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.0046ff00
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 0x470c09
mov al, dl
and al, byte [ebp - 0xf8]
test al, 4
je 0x470ada
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.0x470a10
jmp dword [eax*4 + 0x476124]
push edx
push ecx
lea ecx, [ebp - 0x150]
call fcn.0044e400
add esp, 8
test eax, eax
jne 0x470ae3
mov edx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x150]
jmp 0x470aa8
push edx
push ecx
lea ecx, [ebp - 0x150]
call fcn.0044e4a0
jmp 0x470a24
push edx
push ecx
lea ecx, [ebp - 0x150]
call fcn.0044e4f0
jmp 0x470a24
mov eax, ecx
or eax, edx
je 0x470c09
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x470a7a
test esi, esi
jne 0x470a7a
cmp edi, 0x80000000
je 0x470ae3
push edx
push ecx
push edi
push esi
call fcn.0055f2c0
jmp 0x470aa8
mov eax, ecx
or eax, edx
je 0x470c09
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x470a9f
mov ecx, 1
xor edx, edx
push edx
push ecx
push edi
push esi
call fcn.0055ff20
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 0x470075
mov byte [ebp - 0x101], 0
jmp 0x470aef
mov esi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x10c]
call fcn.004681a0
mov ecx, esi
movsd qword [ebp - 0x128], xmm0
call fcn.004681a0
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.0x470b21
jmp dword [eax*4 + 0x476134]
addsd xmm1, qword [ebp - 0x128]
jmp 0x470bb0
subsd xmm1, qword [ebp - 0x128]
jmp 0x470bb0
mulsd xmm1, qword [ebp - 0x128]
jmp 0x470bb0
movsd xmm0, qword [ebp - 0x128]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x470c09
divsd xmm1, xmm0
jmp 0x470bb0
movsd xmm0, qword [ebp - 0x128]
call fcn.005402cf
movsd xmm0, qword [ebp - 0x160]
mov esi, eax
mov edi, edx
call fcn.005402cf
mov ecx, esi
or ecx, edi
je 0x470c09
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x470b9c
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.0055ff20
mov ecx, eax
call fcn.0054046f
movapd xmm1, xmm0
movapd xmm0, xmm1
call fcn.0044d000
test eax, eax
jne 0x470c09
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 0x470603
cmp byte [ebp - 0x101], 0
jne 0x470603
mov ecx, ebx
call fcn.00468200
jmp 0x470603
mov edi, dword [ebp - 0xec]
mov ecx, edi
call fcn.00468430
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x470075
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + ebx*4 + 4]
test eax, eax
je 0x470c54
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.00468500
mov edx, dword [ebp - 0xd8]
add esp, 8
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x47007b
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 0x470ce1
mov eax, 0x1000
jmp 0x470cb0
mov dword [edx + edi*4], esi
test word [esi + 0x1c], ax
je 0x470cd9
mov ecx, esi
call fcn.00467d70
test eax, eax
jne 0x475e7f
mov ecx, dword [ebp - 0xf4]
mov eax, 0x1000
mov edx, dword [ebp - 0x110]
inc edi
add esi, 0x28
cmp edi, ecx
jl 0x470cb0
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 0x470d84
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 0x475ab0
cmp byte [ebp - 0x22b], 0
je 0x470e3b
cmp dword [ebp - 0x230], 0
je 0x470e19
mov dl, 1
lea ecx, [ebp - 0x268]
call fcn.00468ae0
push eax
mov eax, dword [ebp - 0xe4]
push 0x5965ac
add eax, 0x2c
push esi
push eax
call fcn.0044ac00
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.0046bcd0
add esp, 4
jmp 0x470e41
mov esi, dword [ebp - 0xe0]
movzx edx, byte [ebp - 0x114]
lea ecx, [ebp - 0x268]
call fcn.00467c20
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.00468670
mov ecx, dword [ebp - 0xdc]
test eax, eax
jne 0x475cd1
jmp case.default.0x4700f0
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 0x470ef2
mov ecx, edi
call fcn.00468430
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x470081
call fcn.004680f0
mov edi, edx
mov dword [ebp - 0xfc], eax
mov ecx, esi
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], edi
call fcn.004680f0
mov esi, eax
mov eax, dword [ebp - 0xd8]
mov cl, byte [eax + ebx*4]
cmp cl, 0x55
jne 0x470f31
mov ecx, dword [ebp - 0xfc]
and ecx, esi
and edi, edx
jmp 0x471017
cmp cl, 0x56
jne 0x470f45
mov ecx, dword [ebp - 0xfc]
or ecx, esi
or edi, edx
jmp 0x471017
mov eax, esi
or eax, edx
je 0x471011
test edx, edx
jg 0x470f7d
jl 0x470f59
test esi, esi
jae 0x470f72
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x470f7d
jg 0x470f6b
cmp esi, 0xffffffc0
jbe 0x470f7d
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x470fa7
jg 0x470f7d
cmp esi, 0x40
jb 0x470fa7
test edi, edi
jg 0x470f9e
jl 0x470f8c
cmp dword [ebp - 0xfc], 0
jae 0x470f9e
cmp cl, 0x57
je 0x470f9e
or eax, 0xffffffff
cdq
mov ecx, eax
mov edi, edx
jmp 0x471017
xor eax, eax
cdq
mov ecx, eax
mov edi, edx
jmp 0x471017
movq xmm1, qword [ebp - 0x1a8]
movd xmm0, esi
cmp cl, 0x57
jne 0x470fd2
psllq xmm1, xmm0
movq qword [ebp - 0x128], xmm1
mov edi, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
jmp 0x471017
psrlq xmm1, xmm0
movq qword [ebp - 0x128], xmm1
test edi, edi
jg 0x470fc4
jl 0x470fed
cmp dword [ebp - 0xfc], 0
jae 0x470fc4
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, esi
or edx, 0xffffffff
call fcn.00560050
mov ecx, dword [ebp - 0x128]
mov edi, dword [ebp - 0x124]
or ecx, eax
or edi, edx
jmp 0x471017
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 0x470081
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.004682a0
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 0x470081
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 0x471106
test al, 0xc
jne 0x4710cc
mov ecx, esi
call fcn.0046fda0
test byte [esi + 0x1c], 8
je 0x4710d9
mov ecx, esi
call fcn.00468200
movzx eax, word [esi + 0x1c]
mov edx, dword [ebp - 0xd8]
test al, 4
jne 0x471106
mov eax, dword [edx + ebx*4 + 8]
mov ecx, dword [ebp - 0xdc]
test eax, eax
je 0x475ac2
mov dword [ebp - 0xe0], eax
mov esi, eax
jmp 0x470081
mov ecx, dword [ebp - 0xdc]
and eax, 0xbe04
or eax, 4
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
inc esi
jmp 0x47007b
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 0x470c54
call fcn.004682d0
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x470075
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 0x472a81
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [esi + 0x1c], ax
test al, 2
jne 0x47119d
test al, 0xc
je 0x47119d
movzx edx, byte [ebp - 0x114]
mov ecx, esi
call fcn.00467e80
mov eax, 0xfff3
and word [esi + 0x1c], ax
movzx eax, word [esi + 0x1c]
test eax, 0x4000
je 0x4711d8
mov ecx, esi
call fcn.00467dd0
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.0x4700f0
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.0x4700f0
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 0x4728e6
test al, 0x10
jne 0x471264
test al, 2
jne 0x47123e
test al, 0xc
je 0x47123e
movzx edx, byte [ebp - 0x114]
mov ecx, esi
call fcn.00467e80
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 0x47007b
and eax, 0xfe10
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
inc esi
jmp 0x47007b
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.00468350
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x470081
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 0x470c54
call fcn.004682a0
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x470075
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 0x470c54
call fcn.004682d0
mov ecx, dword [ebp - 0xdc]
inc esi
jmp 0x470075
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 0x4713f9
test al, al
jns 0x471382
test dl, 1
je 0x471378
test cl, 1
je 0x471378
test ecx, 0x100
jne 0x471378
xor edx, edx
jmp 0x471477
mov edx, 1
jmp 0x471477
test al, 0x10
je 0x4713c8
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 0x47007b
test al, 8
je 0x472f5b
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 0x470081
and al, 0x67
mov byte [ebp - 0x101], al
je 0x47143b
push dword [ebp - 0x114]
mov dl, al
mov ecx, esi
call fcn.0046fe20
mov dl, byte [ebp - 0x101]
add esp, 4
mov ecx, edi
push dword [ebp - 0x114]
call fcn.0046fe20
mov ecx, dword [ebp - 0xdc]
add esp, 4
cmp byte [ecx + 0x40], 0
jne 0x475e85
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x471452
mov ecx, esi
call fcn.00467dd0
mov eax, 0x4000
test word [edi + 0x1c], ax
je 0x47145f
mov ecx, edi
call fcn.00467dd0
mov eax, dword [ebp - 0xd8]
mov edx, esi
mov ecx, edi
push dword [eax + ebx*4 + 0x10]
call fcn.0046c930
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.0x471489
jmp dword [ecx*4 + 0x476144]
xor eax, eax
test edx, edx
sete al
jmp 0x4714c4
xor eax, eax
test edx, edx
setne al
jmp 0x4714c4
xor eax, eax
test edx, edx
sets al
jmp 0x4714c4
xor eax, eax
test edx, edx
setle al
jmp 0x4714c4
xor eax, eax
test edx, edx
setg al
jmp 0x4714c4
xor eax, eax
test edx, edx
setns al
mov edx, dword [ebp - 0xd8]
test byte [edx + ebx*4 + 3], 0x10
je 0x47150a
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 0x471519
test eax, eax
je 0x471519
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 0x47007b
mov edx, dword [ebp - 0xd8]
inc esi
mov eax, dword [edx + ebx*4 + 0x10]
mov dword [ebp - 0x144], eax
jmp 0x47007b
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 0x471641
lea edi, [edx + 0x14]
mov eax, dword [ebp - 0x144]
test eax, eax
je 0x4715d3
mov ecx, dword [eax + esi*4]
jmp 0x4715d5
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.0046c930
add esp, 4
mov dword [ebp - 0x174], eax
test eax, eax
jne 0x471635
mov edx, dword [ebp - 0xf8]
inc esi
add edi, 4
cmp esi, dword [ebp - 0x108]
jl 0x4715c4
mov dword [ebp - 0x144], eax
jmp 0x470603
test ebx, ebx
je 0x471641
neg eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x144], 0
jmp 0x470603
mov eax, dword [ebp - 0x174]
mov edx, dword [ebp - 0xd8]
test eax, eax
jns 0x471669
mov esi, dword [edx + ebx*4 + 4]
jmp 0x47007b
jne 0x471674
mov esi, dword [edx + ebx*4 + 8]
jmp 0x47007b
mov esi, dword [edx + ebx*4 + 0xc]
jmp 0x47007b
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 0x4716a1
mov esi, 2
jmp 0x4716b9
call fcn.004680f0
or eax, edx
mov edx, dword [ebp - 0xd8]
je 0x4716b7
mov esi, 1
jmp 0x4716b9
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 0x4716d1
mov eax, 2
jmp 0x4716e9
call fcn.004680f0
or eax, edx
mov edx, dword [ebp - 0xd8]
je 0x4716e7
mov eax, 1
jmp 0x4716e9
xor eax, eax
cmp byte [edx + ebx*4], 0x48
lea eax, [eax + esi*2]
jne 0x4716fc
movzx ecx, byte [esi + eax + 0x593fa0]
jmp 0x471704
movzx ecx, byte [esi + eax + 0x593e84]
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 0x471741
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 0x47007b
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 0x470603
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 0x4717b1
mov ecx, ebx
call fcn.00468430
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov edi, ebx
mov dword [ebp - 0xe0], esi
jmp 0x470081
call fcn.004680f0
or eax, edx
jne 0x4717ea
mov eax, 1
mov ecx, ebx
cdq
push edx
push eax
call fcn.00468500
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 0x470081
xor eax, eax
mov ecx, ebx
cdq
push edx
push eax
call fcn.00468500
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 0x470081
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 0x471865
mov ecx, ebx
call fcn.00468430
mov ecx, dword [ebp - 0xdc]
inc esi
mov edx, dword [ebp - 0xd8]
mov edi, ebx
mov dword [ebp - 0xe0], esi
jmp 0x470081
call fcn.004680f0
not edx
not eax
push edx
push eax
mov ecx, ebx
call fcn.00468500
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 0x470081
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 0x4718cf
mov ecx, dword [edx + ebx*4 + 8]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x470081
mov byte [eax + ecx], 1
inc esi
mov ecx, dword [ebp - 0xdc]
jmp 0x47007b
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 0x471902
mov ecx, dword [edx + ebx*4 + 0xc]
jmp 0x471932
call fcn.004681a0
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x47191b
mov ecx, 1
jmp 0x47191d
xor ecx, ecx
mov edx, dword [ebp - 0xd8]
cmp byte [edx + ebx*4], 0x2d
jne 0x471932
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
test ecx, ecx
je 0x471953
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 0x470081
mov ecx, dword [ebp - 0xe0]
inc ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x470081
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 0x471996
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x47007b
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 0x471996
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x47007b
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.0046c210
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475b91
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [edx + 0x44]
cmp eax, dword [ecx + 0x48]
jne 0x471a55
mov eax, dword [ebp - 0xd8]
test byte [eax + ebx*4 + 3], 0x20
je 0x471bab
cmp byte [edx + 0x19], 0
je 0x471aa7
cmp dword [ebp - 0x10c], 0
jne 0x471a88
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 0x471b26
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 0x471ef6
test byte [edx + 0x1c], 4
mov ecx, dword [ebp - 0x10c]
jne 0x471ae5
lea edx, [ebp - 0x220]
call fcn.00460dc0
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 0x471b09
lea edi, [edx + 0x48]
mov edx, edi
call fcn.00460e50
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 0x471b14
mov dword [edx + 0x4c], eax
jmp 0x471b17
mov dword [edx + 0x4c], esi
mov ecx, dword [ebp - 0xdc]
cmp eax, dword [ecx + 0x58]
ja 0x475cd1
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 0x471b4b
movzx ecx, al
mov eax, 1
mov dword [ebp - 0x178], ecx
jmp 0x471b65
lea edx, [ebp - 0x178]
call fcn.0044e190
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 0x471b8b
mov dword [edx + 0x54], 0
mov dword [edx + 0x4c], 0
cmp ecx, 0x18003
ja 0x471f31
cmp ecx, dword [edi]
ja 0x471f31
mov edi, dword [ebp - 0x120]
mov esi, dword [ebp - 0x11c]
movzx eax, word [edx + 0x16]
cmp eax, edi
jg 0x471d9d
mov eax, dword [edx + 0x50]
cmp eax, dword [esi]
jae 0x471d4b
mov ecx, dword [edx + 0x54]
mov dword [ebp - 0x108], ecx
test ecx, ecx
jne 0x471c31
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.00468a10
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x471d28
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 0x471c65
movzx ecx, al
inc esi
mov dword [ebp - 0x17c], ecx
jmp 0x471c83
lea edx, [ebp - 0x17c]
mov ecx, esi
call fcn.0044e190
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.0046c3c0
mov ecx, dword [ebp - 0x118]
add ecx, eax
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x178], ecx
cmp ecx, eax
jb 0x471cc0
mov eax, dword [ebp - 0x11c]
inc edi
mov dword [eax + edi*4], ecx
cmp edi, dword [ebp - 0x120]
jg 0x471cc7
cmp esi, dword [ebp - 0xf8]
jb 0x471c53
jmp 0x471cc7
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 0x471cff
lea ecx, [ebp - 0x1e0]
call fcn.00468010
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 0x471d18
mov eax, dword [edx + 0x48]
cmp ecx, eax
ja 0x471d18
cmp esi, edi
jne 0x471d3f
cmp ecx, eax
je 0x471d3f
mov ecx, 0x11351
call fcn.004bc8c0
mov dword [ebp - 0xe8], eax
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4700f0
mov esi, dword [ebp - 0x11c]
mov edi, dword [ebp - 0x120]
movzx eax, word [edx + 0x16]
cmp eax, edi
jg 0x471d9d
mov edx, dword [ebp - 0xd8]
cmp byte [edx + ebx*4 + 1], 0xf8
jne 0x471d7e
mov edx, dword [edx + ebx*4 + 0x10]
mov ebx, dword [ebp - 0xfc]
mov ecx, ebx
push 0x800
call fcn.004686a0
add esp, 4
jmp 0x471ef6
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 0x471efc
mov eax, dword [edx + 0x4c]
cmp eax, dword [esi + edi*4 + 4]
jb 0x471ddc
mov ebx, dword [ebp - 0xfc]
mov eax, 0x2460
test word [ebx + 0x1c], ax
je 0x471dc4
mov ecx, ebx
call fcn.00467fc0
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.0046c460
add esp, 4
jmp 0x471eed
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 0x471e08
cmp ecx, 0xc
jb 0x471e04
test cl, 1
je 0x471e13
test al, al
js 0x471e13
call fcn.0046c3c0
mov esi, eax
test esi, esi
jne 0x471e32
mov ebx, dword [ebp - 0xfc]
lea eax, [ebp - 0x220]
xor edx, edx
cmp ecx, 0xd
mov dword [ebp - 0x1bc], edx
cmova eax, edx
jmp 0x471ead
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.00468810
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.00468a10
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x471d28
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0xf4]
mov edx, ecx
mov ecx, eax
push ebx
call fcn.0046c460
add esp, 4
cmp dword [ebp - 0x1bc], 0
je 0x471eed
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 0x472a7b
mov ecx, ebx
call fcn.00467d70
mov ecx, dword [ebp - 0xdc]
test eax, eax
jne 0x475e85
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4700f0
mov ecx, 0x1130f
jmp 0x471d1d
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 0x4704bb
nop
push dword [ebp - 0x114]
mov dl, al
lea esi, [esi + 1]
mov ecx, edi
call fcn.0046fe20
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x471f60
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
inc esi
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
jmp 0x47007b
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 0x472039
mov al, byte [esi]
push dword [ebp - 0x114]
mov dl, al
mov ecx, edi
call fcn.0046fe20
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x472014
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.0046c2b0
mov ebx, eax
mov ecx, ebx
call fcn.0046c3c0
mov edi, eax
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x472096
mov ecx, dword [ebp - 0x120]
or ecx, dword [ebp - 0xf8]
je 0x47208b
mov ecx, esi
call fcn.00467dd0
jmp 0x472096
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 0x4720b9
mov eax, 1
jmp 0x4720c4
push 0
push ebx
call fcn.0044e210
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 0x472057
cmp ecx, 0x7e
jle 0x47211d
mov eax, ecx
cdq
push edx
push eax
call fcn.0044e210
mov esi, eax
mov eax, dword [ebp - 0x100]
add eax, esi
mov dword [ebp - 0x100], eax
cdq
push edx
push eax
call fcn.0044e210
mov ecx, dword [ebp - 0x100]
add esp, 0x10
cmp esi, eax
jge 0x472124
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 0x475ccb
jl 0x472155
cmp esi, eax
ja 0x475ccb
mov edx, esi
mov esi, dword [ebp - 0xec]
push 0
mov ecx, esi
call fcn.00467c40
add esp, 4
test eax, eax
jne 0x475e7f
mov eax, dword [ebp - 0x100]
mov edi, dword [esi + 4]
cmp eax, 0x80
jae 0x47218a
mov byte [edi], al
mov eax, 1
jmp 0x472193
mov edx, eax
mov ecx, edi
call fcn.0044dfe0
movzx esi, al
jmp 0x4721a0
mov edx, dword [ebp - 0x118]
mov ecx, ebx
call fcn.0046c2b0
mov ebx, eax
cmp ebx, 0x80
jae 0x4721c1
mov byte [esi + edi], bl
mov eax, 1
jmp 0x4721cb
lea ecx, [esi + edi]
mov edx, ebx
call fcn.0044dfe0
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.0046c3e0
add dword [ebp - 0x100], eax
add ebx, 0x28
add esp, 4
mov dword [ebp - 0xfc], ebx
cmp ebx, dword [ebp - 0x108]
jbe 0x4721a0
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 0x472236
mov dword [ebx + 0x10], eax
mov eax, 0x4010
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1e], 1
jmp 0x470603
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.004655d0
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 0x472c11
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 0x47238a
cmp dword [ecx + 0x94], eax
jg 0x475ad2
mov ecx, edi
call fcn.0044d040
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.004ac180
mov edx, eax
add esp, 4
mov dword [ebp - 0xe8], edx
mov ecx, esi
test edx, edx
jne 0x475b97
lea edx, [ebx + 0x21]
call fcn.0044aa30
mov esi, eax
test esi, esi
je 0x472372
lea ecx, [ebx + 1]
push ecx
lea edx, [esi + 0x20]
push edi
push edx
mov dword [esi], edx
call fcn.0053db60
mov ecx, dword [ebp - 0xdc]
add esp, 0xc
cmp byte [ecx + 0x3e], 0
je 0x472327
mov byte [ecx + 0x3e], 0
mov byte [ecx + 0x45], 1
jmp 0x47232d
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 0x470075
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
inc esi
mov edi, dword [ebp - 0xec]
jmp 0x470075
mov esi, dword [ecx + 0x1e0]
xor ebx, ebx
mov dword [ebp - 0x108], esi
test esi, esi
je 0x4723c3
lea esp, [esp]
push edi
push dword [esi]
call fcn.0044d2a0
add esp, 8
test eax, eax
je 0x4723f3
mov esi, dword [esi + 0x18]
inc ebx
mov dword [ebp - 0x108], esi
test esi, esi
jne 0x4723a0
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.0044ac00
mov eax, dword [ebp - 0xe0]
mov edx, 1
add esp, 0x10
mov dword [ebp - 0xe8], edx
inc eax
jmp 0x472c3d
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xfc]
cmp dword [ecx + 0x94], 0
jle 0x472411
cmp edx, 1
je 0x475b01
cmp dword [esi + 0x18], 0
jne 0x47247f
cmp byte [ecx + 0x45], 0
je 0x47247f
mov dword [ebp - 0xf8], 1
cmp edx, 1
jne 0x472489
mov ecx, dword [ebp - 0xe4]
call fcn.0046b7a0
mov edi, eax
test edi, edi
jne 0x475dd7
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xe4]
mov ecx, edi
mov byte [eax + 0x3e], 1
call fcn.0046b810
mov ecx, dword [ebp - 0xdc]
cmp eax, 5
je 0x475b30
mov byte [ecx + 0x45], 0
mov eax, dword [edi + 0x50]
mov edi, dword [ebp - 0xfc]
mov dword [ebp - 0xe8], eax
jmp 0x472555
mov dword [ebp - 0xf8], 0
mov eax, dword [ecx + 0x1e8]
sub eax, ebx
dec eax
mov dword [ebp - 0x10c], eax
cmp edx, 2
jne 0x4724e2
xor ebx, ebx
cmp dword [ecx + 0x14], ebx
jle 0x4724e2
xor edi, edi
mov esi, ecx
jmp 0x4724b0
mov ecx, dword [esi + 0x10]
mov edx, 4
mov ecx, dword [ecx + edi + 4]
call fcn.00460810
inc ebx
lea edi, [edi + 0x10]
cmp ebx, dword [esi + 0x14]
jl 0x4724b0
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 0x47252b
xor edi, edi
jmp 0x4724f0
mov ecx, dword [ecx + 0x10]
push eax
mov ecx, dword [ecx + edi + 4]
call fcn.00460a80
mov ecx, dword [ebp - 0xdc]
mov edx, eax
add esp, 4
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475b97
mov eax, dword [ebp - 0x10c]
inc ebx
mov edx, dword [ebp - 0xfc]
add edi, 0x10
cmp ebx, dword [ecx + 0x14]
jl 0x4724f0
mov edi, dword [ebp - 0xfc]
cmp edi, 2
jne 0x47254f
test byte [ecx + 0x18], 2
je 0x47254f
call fcn.0046d700
call fcn.00484980
mov ecx, dword [ebp - 0xdc]
or dword [ecx + 0x18], edi
mov ebx, dword [ebp - 0x10c]
cmp dword [ecx + 0x1e0], esi
je 0x472588
lea ecx, [ecx]
mov edx, dword [ecx + 0x1e0]
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x1e0], eax
call fcn.0044a7d0
mov ecx, dword [ebp - 0xdc]
dec dword [ecx + 0x1e8]
cmp dword [ecx + 0x1e0], esi
jne 0x472560
cmp edi, 1
jne 0x4725b4
mov eax, dword [esi + 0x18]
mov edx, esi
mov dword [ecx + 0x1e0], eax
call fcn.0044a7d0
cmp dword [ebp - 0xf8], 0
mov ecx, dword [ebp - 0xdc]
jne 0x472602
dec dword [ecx + 0x1e8]
jmp 0x4725e1
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 0x472602
push ebx
mov edx, edi
call fcn.004ac180
mov ecx, dword [ebp - 0xdc]
mov edx, eax
add esp, 4
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475b97
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4700f0
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + ebx*4 + 8]
test edx, edx
je 0x47262e
test dword [ecx + 0x18], 0x2000000
jne 0x475b50
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 0x472764
mov ecx, esi
call fcn.0045f800
mov edx, eax
mov dword [ebp - 0xe8], edx
cmp edx, 5
je 0x475b5d
test edx, edx
jne 0x475b91
mov eax, dword [ebp - 0xd8]
cmp dword [eax + ebx*4 + 8], edx
je 0x47272a
mov edx, dword [ebp - 0xe4]
test byte [edx + 0x58], 0x80
je 0x47272a
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x3e], 0
je 0x4726a2
cmp dword [ecx + 0x90], 1
jle 0x47272a
cmp dword [edx + 0x68], 0
jne 0x4726bd
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.004ac180
mov edx, eax
add esp, 4
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x4726ee
mov eax, dword [ebp - 0xe4]
mov ecx, esi
mov edx, dword [eax + 0x68]
call fcn.00460a30
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.004654c0
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 0x472774
mov edx, dword [ebp - 0xd8]
xor esi, esi
mov dword [ebp - 0x184], esi
xor eax, eax
cmp byte [edx + ebx*4 + 3], 0
je 0x472a81
cmp esi, dword [edx + ebx*4 + 0xc]
jne 0x47278f
cmp eax, dword [edx + ebx*4 + 0x10]
je 0x472a81
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [eax + 0x2c]
call fcn.0044a7d0
mov ecx, dword [ebp - 0xdc]
mov edx, str.database_schema_has_changed
call fcn.0044ab70
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 0x4727e2
mov ecx, ebx
call fcn.00484940
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.0x4700f0
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.004654c0
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 0x470081
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.004682a0
mov eax, dword [ebp - 0xd8]
push dword [edi + 0x10]
mov ecx, dword [esi + 4]
mov edx, dword [eax + ebx*4 + 8]
call fcn.00465530
mov edx, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xe8], eax
mov eax, dword [edx + ebx*4 + 8]
cmp eax, 1
jne 0x4728b6
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 0x4728ca
cmp eax, 2
jne 0x4728c4
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 0x4728e0
call fcn.0046d700
mov esi, dword [ebp - 0xe4]
and dword [esi + 0x58], 0xffffffdf
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp 0x472c1d
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.0x4700f0.53
mov ecx, dword [ebp - 0xd8]
mov eax, dword [eax + 0x20]
cmp eax, dword [ecx + ebx*4 + 8]
je 0x472c11
mov eax, dword [ebp - 0xe4]
test byte [eax + 0x58], 0x20
jne 0x475bc2
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 0x472992
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 0x472998
mov byte [edx + 0x57], al
jmp 0x472998
mov dword [ebp - 0x118], edi
mov eax, dword [ebp - 0xd8]
test byte [eax + ebx*4 + 3], 2
je 0x4729d0
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xf0]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.004682a0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xf8], eax
cmp eax, 2
jl 0x475b7f
mov esi, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xd8]
mov al, byte [ecx + ebx*4 + 1]
cmp al, 0xfa
jne 0x4729f4
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 0x4729fc
cmp al, 0xf2
jne 0x4729fc
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.0046fce0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x475e7f
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.00460ba0
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 0x472c1d
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.0046fce0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x475e7f
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.0045e7a0
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x472b99
mov ecx, dword [edi]
lea edx, [eax + 1]
call fcn.0045f800
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x472b99
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x472b7a
movzx eax, byte [ecx + ebx*4 + 3]
lea edx, [ebp - 0x198]
mov ecx, dword [edi]
or eax, 2
push eax
call fcn.00464f90
add esp, 4
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x472b74
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.00460ba0
add esp, 0xc
mov dword [ebp - 0xe8], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x472b99
push dword [esi]
mov ecx, dword [edi]
mov edx, 1
push 0
push 1
call fcn.00460ba0
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 0x472c1d
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.0046fce0
add esp, 0xc
test eax, eax
je 0x475e7f
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.00477380
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 0x470081
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.0044c740
mov ecx, dword [ebp - 0xe4]
add esp, 0x14
call fcn.0046b810
cmp dword [ebp - 0xe8], 0xc0a
mov ecx, dword [ebp - 0xdc]
jne 0x472c7f
mov byte [ecx + 0x40], 1
mov al, byte [ebp - 0x12d]
mov edi, 1
test al, al
je 0x472cbf
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.0048ac20
add esp, 4
cmp esi, edi
je 0x472cbd
mov eax, dword [ebx + 0x10]
push dword [eax + 0x1c]
call fcn.0048ac20
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.0046a020
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0053f9bc
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.0046fce0
add esp, 0xc
test eax, eax
je 0x475e7f
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 0x47007b
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.0046a9a0
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 0x47007b
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 0x472ead
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 0x472dce
mov ecx, edi
call fcn.0046fda0
mov ecx, edi
call fcn.004680f0
mov byte [esi + 0x1a], 0
movzx ecx, word [edi + 0x1c]
mov dword [ebp - 0x108], eax
mov dword [ebp - 0xf8], edx
test cl, 4
jne 0x472e5a
test cl, 8
jne 0x472e1a
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 0x470081
mov edx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x108]
call fcn.0054046f
movsd xmm1, qword [edi + 8]
comisd xmm0, xmm1
jbe 0x472e43
mov eax, dword [ebp - 0xfc]
test al, 1
je 0x472e5a
dec eax
jmp 0x472e54
comisd xmm1, xmm0
jbe 0x472e5a
mov eax, dword [ebp - 0xfc]
test al, 1
jne 0x472e5a
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.004618e0
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475b91
cmp dword [ebp - 0x12c], eax
jne 0x472f2a
mov eax, dword [ebp - 0xf8]
mov byte [esi + 0x1a], 1
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], eax
jmp 0x472f2a
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 0x472efa
call fcn.00467dd0
mov ecx, dword [esi]
lea eax, [ebp - 0x12c]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0x2f8]
call fcn.004618e0
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475b91
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 0x472f9f
test ecx, ecx
js 0x472f85
jne 0x472f51
cmp eax, 0x3f
je 0x472f85
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 0x470081
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0
push eax
push dword [esi]
call fcn.00461d70
jmp 0x472fd5
test ecx, ecx
jg 0x472fbd
jne 0x472faa
cmp eax, 0x3c
je 0x472fbd
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax + 0x51], 1
setne cl
mov dword [ebp - 0x12c], ecx
jmp 0x472fec
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0
push eax
push dword [esi]
call fcn.00461f00
mov edx, eax
add esp, 8
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475b91
mov byte [esi + 0x1a], 0
cmp dword [ebp - 0x12c], 0
je 0x472f5b
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 0x470081
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.004680f0
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 0x470081
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 0x47312f
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 0x473121
mov ebx, dword [ebp - 0x110]
xor esi, esi
lea ebx, [ebx]
lea ecx, [ebx + esi]
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x473110
call fcn.00467dd0
mov ebx, dword [ebp - 0x1ec]
mov dx, word [ebp - 0x1f0]
inc edi
movzx eax, dx
add esi, 0x28
cmp edi, eax
jl 0x4730f0
mov ebx, dword [ebp - 0xf4]
mov esi, dword [ebp - 0x108]
lea edi, [ebp - 0x1f4]
jmp 0x47316e
mov ecx, dword [ecx + 8]
lea eax, [ebp - 0x10c]
push eax
push 0xbf
lea edx, [ebp - 0xc8]
call fcn.0046c6b0
mov edi, eax
add esp, 8
test edi, edi
je 0x475e7f
mov edx, dword [esi + 0x18]
push edi
push dword [esi + 4]
mov esi, dword [ebp - 0x108]
mov ecx, dword [esi + 8]
call fcn.0046c720
add esp, 8
mov eax, dword [ebp - 0xd8]
mov byte [edi + 6], 0
cmp byte [eax + ebx*4], 0x41
jne 0x4731b4
movzx edx, word [ebp - 0x1f0]
xor ecx, ecx
test edx, edx
jle 0x4731b4
mov eax, dword [ebp - 0x1ec]
add eax, 0x1c
test byte [eax], 1
jne 0x4731a3
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x473194
jmp 0x4731b4
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.004618e0
mov edx, dword [ebp - 0xd8]
add esp, 0x10
mov ecx, eax
mov dword [ebp - 0xe8], ecx
cmp dword [edx + ebx*4 + 0x10], 0
jne 0x4731ff
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xdc]
call fcn.0044a7d0
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe8]
test ecx, ecx
jne 0x472a7b
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 0x473258
test ecx, ecx
je 0x472f61
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 0x470081
test ecx, ecx
jne 0x472f61
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 0x470081
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.004618e0
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 0x473319
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 0x472c1d
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 0x47007b
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 0x4735f2
test byte [eax + 0x1c], 2
jne 0x473442
lea edx, [ebp - 0xfc]
call fcn.00461880
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475be6
cmp dword [ebp - 0xfc], eax
je 0x4733ee
mov edx, dword [ebp - 0xd8]
lea esi, [eax + 1]
xor edi, edi
jmp 0x47344e
mov eax, dword [ebp - 0x100]
lea edx, [ebp - 0x128]
mov ecx, dword [eax]
call fcn.00460dc0
mov edi, dword [ebp - 0x124]
mov esi, dword [ebp - 0x128]
mov dword [ebp - 0xe8], eax
cmp edi, 0x7fffffff
jl 0x473434
jg 0x473422
cmp esi, 0xffffffff
jb 0x473434
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0xd8]
or dword [eax + 0x1c], 2
jmp 0x47344e
mov edx, dword [ebp - 0xd8]
add esi, 1
adc edi, 0
jmp 0x47344e
mov edi, dword [ebp - 0x124]
mov esi, dword [ebp - 0x128]
mov ecx, dword [edx + ebx*4 + 0xc]
test ecx, ecx
je 0x4734d9
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x473485
mov eax, dword [edx + 4]
test eax, eax
je 0x47347a
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x473471
mov eax, dword [edx + 0xc]
lea ecx, [ecx + ecx*4]
lea ebx, [eax + ecx*8]
jmp 0x473491
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xf0]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.004682a0
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
cmp eax, 0xffffffff
jne 0x4734af
cmp ecx, 0x7fffffff
je 0x475bd9
mov edx, dword [ebp - 0x100]
test byte [edx + 0x1c], 2
jne 0x475bd9
add eax, 1
adc ecx, 0
cmp edi, ecx
jg 0x4734d3
jl 0x4734cf
cmp esi, eax
jae 0x4734d3
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 0x4735dd
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.004618e0
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x4735d7
jmp 0x473540
mov eax, dword [ebp - 0xfc]
test eax, eax
jne 0x4735cb
inc ebx
cmp ebx, 0x64
jge 0x4735cb
lea eax, [ebp - 0x128]
push eax
push 8
call fcn.0044c780
mov esi, dword [ebp - 0x128]
add esp, 8
cmp ebx, 5
jge 0x47357e
and esi, 0xffffff
xor edi, edi
jmp 0x47358a
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.004618e0
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xe8], ecx
test ecx, ecx
je 0x473540
jmp 0x4735d7
test ecx, ecx
jne 0x4735d7
test eax, eax
je 0x475bd9
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0xd8]
mov word [eax + 0x1a], 0
mov dword [eax + 0x44], 0
jmp 0x4735fe
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 0x472c1d
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 0x473662
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 0x47366d
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 0x473683
mov edx, dword [ebp - 0xe4]
inc dword [edx + 0x5c]
test byte [ecx + ebx*4 + 3], 2
je 0x4736a8
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 0x4736c7
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 0x4736e1
mov edx, dword [ebp - 0xf8]
mov edx, dword [edx + 0xc]
jmp 0x4736e3
xor edx, edx
test eax, 0x4000
je 0x4736f6
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + esi*8 + 0x10]
jmp 0x4736f8
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.00464870
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 0x471d28
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x47599a
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x471d28
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.0x4700f0
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.0046c210
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475b91
mov ecx, dword [esi]
call fcn.00464ac0
mov ecx, eax
mov dword [esi + 0x44], 0
mov dword [ebp - 0xe8], ecx
test ecx, ecx
mov ecx, dword [ebp - 0xdc]
jne 0x473865
mov edx, dword [ecx + 0xc8]
test edx, edx
je 0x473865
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x473865
test byte [esi + 0x1c], 4
je 0x473865
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 0x4728e6
mov esi, dword [ebp - 0xe4]
inc dword [esi + 0x5c]
mov esi, dword [ebp - 0xe0]
jmp 0x472c1d
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 0x470081
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.004781d0
mov edx, dword [ebp - 0xd8]
add esp, 8
cmp dword [ebp - 0x194], 0
mov dword [ebp - 0xe8], eax
je 0x4759b3
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 0x472c1d
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.00478160
jmp 0x472c0b
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.0046c210
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475be6
test byte [ebx + 0x1c], 4
mov ecx, edi
jne 0x4739ea
lea edx, [ebp - 0x218]
call fcn.00460dc0
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0x58]
cdq
cmp dword [ebp - 0x214], edx
jg 0x475cd1
mov esi, dword [ebp - 0x218]
jl 0x4739e2
cmp esi, eax
ja 0x475cd1
mov dword [ebp - 0x180], esi
jmp 0x473a0a
lea edx, [ebp - 0x180]
call fcn.00460e50
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0x180]
cmp esi, dword [ecx + 0x58]
ja 0x475cd1
mov ecx, dword [ebp - 0xec]
mov edx, esi
push 0
call fcn.00467c40
add esp, 4
test eax, eax
jne 0x475e7f
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 0x473a78
push 0
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
push esi
call fcn.00461060
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.0x4700f0
push dword [ebx + 4]
push esi
push 0
push edi
call fcn.00461460
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.0x4700f0
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 0x473adf
mov esi, dword [ebp - 0xe0]
mov eax, 1
mov ecx, dword [ebp - 0xdc]
inc esi
mov word [edi + 0x1c], ax
jmp 0x47007b
cmp byte [esi + 0x1b], 0
je 0x473afc
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x170], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x16c], eax
jmp 0x473b75
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x473b2c
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.0046d7d0
jmp 0x473b6f
mov ecx, esi
call fcn.0046c210
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475b91
cmp byte [esi + 0x1a], al
je 0x473b5c
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x170], eax
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x16c], eax
jmp 0x473b6f
mov ecx, dword [esi]
lea edx, [ebp - 0x170]
call fcn.00460dc0
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 0x472c1d
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 0x4704c7
call fcn.0045d3b0
mov edx, dword [ebp - 0xd8]
inc esi
mov ecx, dword [ebp - 0xdc]
jmp 0x47007b
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.00461880
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 0x472a81
test eax, eax
je 0x472a81
dec ecx
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp 0x472c1d
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 0x473c9f
mov ecx, dword [ebp - 0xdc]
lea eax, [ebp - 0xf8]
push eax
mov edx, esi
call fcn.00477cb0
add esp, 4
jmp 0x473cb9
mov ecx, dword [esi]
lea edx, [ebp - 0xf8]
call fcn.00461850
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 0x472a81
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 0x472c1d
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.00477f80
add esp, 4
jmp 0x473d82
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 0x4759b3
jmp 0x473d50
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 0x473dbf
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 0x475632
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 0
jmp 0x475632
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 0x473e0a
mov eax, dword [ebp - 0xe4]
inc dword [eax + 0x5c]
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x473e38
mov ecx, esi
call fcn.00467dd0
mov edx, dword [ebp - 0xd8]
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x472a7b
mov ecx, dword [ebp - 0xf4]
cmp dword [edi + 0x40], 0
je 0x473e6c
mov ecx, dword [ebp - 0xdc]
mov edx, edi
push esi
call fcn.00477b50
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.0x4700f0
test byte [edx + ebx*4 + 3], 0x10
je 0x473e78
mov eax, dword [edi + 0xc]
jmp 0x473e7a
xor eax, eax
push eax
push dword [edx + ebx*4 + 0xc]
mov eax, dword [esi + 0x18]
push 0
push 0
cdq
push 0x590a2d
push edx
mov edx, dword [esi + 4]
push eax
call fcn.00464870
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.0x4700f0
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.004618e0
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x473f45
cmp dword [ebp - 0x1ac], eax
jne 0x473f45
mov ecx, edi
call fcn.00464ac0
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.0x4700f0
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.0046c210
mov edx, eax
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475be0
cmp byte [esi + 0x19], al
jne 0x473fed
lea eax, [ebp - 0x160]
xorps xmm0, xmm0
push eax
mov edx, edi
movlpd qword [ebp - 0x160], xmm0
call fcn.0046d440
mov edx, eax
add esp, 4
mov dword [ebp - 0xe8], edx
test edx, edx
jne 0x475b91
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 0x470081
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.0046d5b0
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 0x4740a3
neg eax
jmp 0x4740a4
inc eax
test eax, eax
jle 0x4759b3
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 0x472c1d
mov eax, dword [ecx + 4]
xor edx, edx
test eax, eax
je 0x474101
cmp dword [eax + 0x28], 0xbdf20da3
jne 0x4740f4
mov ecx, dword [eax + 0x58]
test ecx, 0x200
je 0x4740f4
and cl, 0xc
cmp cl, 8
jae 0x4740f4
cmp dword [eax + 0x4c], 0
jl 0x4740f4
inc edx
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x4740d1
mov ecx, dword [ebp - 0xdc]
mov eax, 1
mov word [edi + 0x1c], ax
cmp edx, eax
jg 0x475c39
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.00465470
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 0x472c11
test ecx, ecx
je 0x472c11
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.00486e50
mov al, bl
add esp, 8
inc al
mov byte [ebp - 0x12d], al
jmp 0x472c11
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.00465190
mov edx, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xe8], eax
cmp dword [edx + ebx*4 + 0xc], 0
je 0x4759b3
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 0x4759b3
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 0x472c11
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 0x474286
mov ecx, dword [ebp - 0xdc]
call fcn.004774c0
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
jmp 0x470081
mov ecx, dword [ecx]
push 0
mov edx, dword [ecx + 0x44]
mov ecx, dword [ecx]
call fcn.00465190
add esp, 4
jmp 0x472c0b
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.00464f90
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 0x472c11
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.0044c3f0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x47435f
mov dword [ebp - 0xe8], 7
mov ecx, ebx
jmp 0x4743b3
push 0
lea eax, [ebp - 0x210]
mov byte [ebx + 0x89], 1
push eax
push fcn.00499c90
push esi
push ebx
mov dword [ebp - 0x204], 0
call fcn.00495d30
add esp, 0x14
mov edx, esi
test eax, eax
mov ecx, ebx
cmove eax, dword [ebp - 0x204]
mov dword [ebp - 0xe8], eax
call fcn.0044a7d0
mov edx, dword [ebp - 0xe8]
mov ecx, ebx
mov byte [ecx + 0x89], 0
test edx, edx
je 0x4743c0
call fcn.00484980
mov edx, dword [ebp - 0xe8]
mov ecx, ebx
cmp edx, 7
je 0x475e85
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4700f0
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00482d90
jmp 0x472c0b
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00484c70
mov ecx, dword [ebp - 0xdc]
add esp, 4
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
jmp 0x470081
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.00484760
mov ecx, dword [ebp - 0xdc]
add esp, 4
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
jmp 0x470081
mov eax, dword [ebp - 0xd8]
push dword [eax + ebx*4 + 0x10]
mov edx, dword [eax + ebx*4 + 4]
call fcn.004a6e30
mov ecx, dword [ebp - 0xdc]
add esp, 4
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
jmp 0x470081
mov esi, dword [ebp - 0xd8]
mov edi, dword [esi + ebx*4 + 8]
mov dword [ebp - 0x110], edi
lea edx, [edi*4 + 4]
call fcn.0044aa30
mov edx, eax
mov dword [ebp - 0x108], edx
test edx, edx
je 0x475e7f
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 0x474504
mov ebx, dword [ebp - 0x110]
mov edi, eax
mov edi, edi
mov ecx, edi
call fcn.004680f0
mov edx, dword [ebp - 0x108]
add edi, 0x28
mov dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x4744e0
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.004663e0
mov edx, dword [ebp - 0x108]
add esp, 0xc
mov ecx, ebx
mov edi, eax
call fcn.0044a7d0
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.00468430
test esi, esi
je 0x47459f
test edi, edi
je 0x475e7f
push fcn.0044a730
push 1
push 0xffffffffffffffff
mov edx, edi
mov ecx, ebx
call fcn.00468860
add esp, 0xc
movzx edx, byte [ebp - 0x114]
mov ecx, ebx
call fcn.00467c20
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 0x470081
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 0x474605
mov ecx, esi
call fcn.004685c0
test byte [esi + 0x1c], 0x20
je 0x475e7f
mov ebx, dword [ebp - 0xf0]
mov ecx, dword [esi + 0x10]
push dword [ebx + edi*8 + 0x14]
push dword [ebx + edi*8 + 0x10]
call fcn.00454340
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 0x470081
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 0x474699
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x228]
call fcn.00454730
test eax, eax
je 0x474699
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.00468500
add esp, 8
jmp 0x475632
mov ecx, esi
call fcn.00468430
mov ecx, dword [edi + ebx*4 + 8]
jmp 0x47562b
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 0x4746f4
mov ecx, esi
call fcn.004685c0
test byte [esi + 0x1c], 0x20
je 0x475e7f
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
test eax, eax
je 0x47471d
push dword [edx + edi*8 + 0x14]
mov ecx, dword [esi + 0x10]
push dword [edx + edi*8 + 0x10]
mov edx, eax
call fcn.00454790
add esp, 8
test eax, eax
jne 0x472df3
mov eax, dword [ebp - 0xf4]
test eax, eax
js 0x47461e
jmp 0x474605
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 0x474780
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx + 0x14]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x474780
jmp 0x474770
cmp dword [eax + 0x18], ecx
je 0x474269
mov eax, dword [eax + 4]
test eax, eax
jne 0x474770
mov ecx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
mov eax, dword [ecx + 0xb8]
cmp eax, dword [esi + 0x80]
jge 0x475c5a
mov ebx, dword [ebp - 0xf4]
test byte [ebx + 0x1c], 0x40
jne 0x47492e
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.0044aa00
mov esi, eax
test esi, esi
je 0x475e7f
mov ecx, ebx
call fcn.00468010
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 0x474870
mov edi, dword [ebp - 0xdc]
mov ebx, 0x80
mov word [eax + 0x1c], bx
mov dword [eax], edi
add eax, 0x28
cmp eax, ecx
jne 0x474863
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.0053e230
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 0x470081
mov esi, dword [ebx + 0x10]
jmp 0x474876
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.004686a0
mov ecx, dword [ebp - 0xdc]
add esp, 4
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
jmp 0x470081
test dword [ecx + 0x18], 0x1000000
mov eax, dword [ebp - 0xd8]
je 0x4749c0
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 0x470081
cmp dword [eax + ebx*4 + 4], 0
mov eax, dword [eax + ebx*4 + 8]
cdq
je 0x4749ea
add dword [ecx + 0x1f0], eax
adc dword [ecx + 0x1f4], edx
inc esi
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], esi
jmp 0x470081
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 0x470081
mov edx, dword [ebp - 0xd8]
cmp dword [edx + ebx*4 + 4], 0
je 0x474a4a
mov eax, dword [ecx + 0x1f0]
or eax, dword [ecx + 0x1f4]
jne 0x471996
mov eax, dword [ecx + 0x1f8]
or eax, dword [ecx + 0x1fc]
jne 0x471996
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x47007b
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 0x474a27
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x474a9f
mov eax, dword [edx + 4]
test eax, eax
je 0x474a8a
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x474a81
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 0x474ab5
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.004682a0
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.004682a0
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
cmp dword [edi + 0x14], ecx
jg 0x47461e
jl 0x474af3
cmp dword [edi + 0x10], eax
jae 0x47461e
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 0x470081
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 0x471996
jg 0x471991
mov edi, dword [ebp - 0xf0]
cmp dword [edi + eax*8 + 0x10], 0
mov edi, dword [ebp - 0xec]
jbe 0x471996
mov esi, dword [edx + ebx*4 + 8]
dec esi
inc esi
jmp 0x47007b
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 0x474bbb
jl 0x474b98
cmp dword [esi + ecx*8 + 0x10], 0
jae 0x474bbb
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 0x470081
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 0x470081
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 0x474bbb
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 0x470081
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 0x474c61
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x474c56
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 0x474cf7
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 0x474d48
mov dl, 1
lea ecx, [ebp - 0x2c8]
call fcn.00468ae0
push eax
mov eax, dword [ebp - 0xe4]
push 0x5965ac
push dword [ebp - 0xdc]
add eax, 0x2c
push eax
call fcn.0044ac00
mov eax, dword [ebp - 0x290]
add esp, 0x10
mov dword [ebp - 0xe8], eax
cmp byte [ebp - 0x28c], 0
je 0x474d77
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + ebx*4 - 0x10]
test eax, eax
je 0x474d77
mov ecx, dword [ebp - 0xf0]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.00468500
add esp, 8
lea ecx, [ebp - 0x2c8]
call fcn.00468010
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4700f0
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.00467f30
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x474de5
mov dl, 1
mov ecx, esi
call fcn.00468ae0
push eax
mov eax, dword [ebp - 0xe4]
push 0x5965ac
push dword [ebp - 0xdc]
add eax, 0x2c
push eax
call fcn.0044ac00
add esp, 0x10
movzx edx, byte [ebp - 0x114]
mov ecx, esi
call fcn.00467c20
mov ecx, esi
call fcn.00468670
mov ecx, dword [ebp - 0xdc]
test eax, eax
jne 0x475cd1
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4700f0
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.004bb3f0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xe8], ecx
cmp ecx, 5
jne 0x474e76
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 0x474e90
mov eax, dword [ebp + esi*4 - 0xd4]
mov ecx, edi
cdq
push edx
push eax
call fcn.00468500
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x474e90
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4700f0
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.00459a00
test eax, eax
mov eax, 0x590a2d
cmove esi, edi
cmp byte [ecx + 0xf], 0
jne 0x474f17
mov eax, dword [ecx + 0xa8]
cmp esi, 5
jne 0x474f3a
mov ecx, eax
call fcn.0044d040
test eax, eax
je 0x474fa8
mov ecx, dword [ebp - 0xf8]
call fcn.00459b20
test eax, eax
je 0x474fa8
cmp esi, edi
je 0x474faa
cmp edi, 5
je 0x474f48
cmp esi, 5
jne 0x474faa
cmp byte [edx + 0x3e], 0
je 0x475c87
cmp dword [edx + 0x90], 1
jg 0x475c87
cmp edi, 5
jne 0x474f7d
call fcn.00459cc0
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x474fa8
mov ecx, dword [ebp - 0xf8]
mov edx, esi
jmp 0x474f85
cmp edi, 4
jne 0x474f8a
lea edx, [edi - 2]
call fcn.00459900
mov ecx, dword [ebp - 0xf4]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.00466b40
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x474faa
mov esi, edi
mov ecx, dword [ebp - 0xf8]
mov edx, esi
call fcn.00459900
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 0x474fe5
xor ecx, ecx
jmp 0x474fec
mov ecx, dword [eax*4 + 0x593e24]
mov dword [ebx + 4], ecx
call fcn.0044d040
movzx edx, byte [ebp - 0x114]
mov ecx, ebx
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1e], 1
call fcn.00467c20
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4700f0
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xdc]
lea ecx, [ecx + 0x2c]
call fcn.004aacb0
jmp 0x472c0b
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.00460240
mov edx, dword [ebp - 0xd8]
mov ecx, eax
mov dword [ebp - 0xe8], ecx
cmp ecx, 0x65
jne 0x4759b3
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 0x472c1d
mov edx, dword [ebp - 0xd8]
cmp dword [edx + ebx*4 + 4], 0
jne 0x4750ac
call fcn.0046d700
inc esi
jmp 0x47007b
mov eax, dword [ebp - 0xe4]
or dword [eax + 0x58], 0x20
inc esi
jmp 0x47007b
mov edx, dword [ebp - 0xd8]
mov al, byte [edx + ebx*4 + 0xc]
mov byte [ebp - 0x164], al
test al, al
jne 0x4750dd
test dword [ecx + 0x18], 0x4000
jne 0x472c1d
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.00466a50
mov ecx, eax
add esp, 4
mov dword [ebp - 0xe8], ecx
cmp cl, 6
jne 0x472c11
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.0044ac00
add esp, 0x10
jmp 0x472c11
mov eax, dword [ebp - 0xd8]
mov esi, dword [eax + ebx*4 + 0x10]
mov edx, esi
call fcn.004ac0e0
mov dword [ebp - 0xe8], eax
test esi, esi
je 0x4711eb
mov edx, dword [esi + 8]
mov ecx, dword [ebp - 0xe4]
call fcn.0046d7d0
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4700f0
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.004abc40
add esp, 8
jmp 0x472c0b
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.004abf10
mov ecx, dword [ebp - 0xe4]
add esp, 4
and dword [ecx + 0x58], 0xfffffff3
jmp 0x472c0b
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.0046d7d0
cmp dword [ebp - 0xe8], 0
jne 0x471d28
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.0046fce0
add esp, 0xc
test eax, eax
je 0x475272
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 0x470081
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.0x4700f0
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 0x4753cf
cmp esi, 8
jb 0x4753b7
cmp dword [0x5c2120], 2
jl 0x4753b7
movdqa xmm2, xmmword [0x5a7e80]
mov eax, esi
and eax, 0x80000007
jns 0x475351
dec eax
or eax, 0xfffffff8
inc eax
movdqa xmm1, xmmword [0x5a7eb0]
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 0x475360
mov edx, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x110]
cmp ecx, esi
jge 0x4753cf
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 0x4753c4
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.0046d7d0
cmp dword [ebp - 0xe8], 0
jne 0x47544e
mov eax, dword [edi + 0x28]
push esi
call eax
mov edx, dword [ebp - 0xd8]
add esp, 4
test eax, eax
je 0x475454
mov eax, dword [edx + ebx*4 + 8]
dec eax
mov dword [ebp - 0xe0], eax
jmp 0x475454
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 0x472c1d
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 0x4754d1
mov ecx, eax
call fcn.00468430
inc dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
jmp 0x470081
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.0053e230
mov edx, dword [ebp - 0xf4]
lea ecx, [ebp - 0x338]
add esp, 0xc
call fcn.00468810
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.0046d7d0
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.00467c20
mov ecx, dword [ebp - 0xf4]
lea edx, [ebp - 0x338]
call fcn.00468810
mov ecx, dword [ebp - 0xf4]
call fcn.00468670
mov ecx, dword [ebp - 0xdc]
test eax, eax
jne 0x475cd1
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4700f0
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 0x4759ad
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.0046d7d0
cmp dword [ebp - 0xe8], 0
jne 0x475621
mov eax, dword [ebp - 0xf4]
push dword [edi + 0x24]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x475632
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 0x475e3c
mov ecx, dword [ebx + 0x11c]
test ecx, ecx
je 0x475686
mov edi, dword [ebp - 0x140]
cmp edi, dword [ebp - 0x13c]
jb 0x475686
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 0x475aa0
mov edi, dword [ebp - 0xec]
mov ecx, ebx
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4700f0
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.00467c20
mov ecx, eax
mov dword [ebp - 0xe8], ecx
test ecx, ecx
jne 0x471d28
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.0046d7d0
and dword [esi + 0x58], 0xffffffdf
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4700f0
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 0x4711f1
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 0x475772
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x475767
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.0046d7d0
cmp dword [ebp - 0xe8], 0
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
jne 0x4757ff
cmp dword [edx + ebx*4 + 4], 0
je 0x4757ff
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 0x475869
mov eax, dword [edx + ebx*4 + 0x10]
cmp byte [eax + 0x10], 0
je 0x475869
mov al, byte [edx + ebx*4 + 3]
cmp al, 4
jne 0x475835
mov esi, dword [ebp - 0xe0]
xor eax, eax
mov edi, dword [ebp - 0xec]
inc esi
mov dword [ebp - 0xe8], eax
jmp 0x47007b
cmp al, 5
jne 0x475852
mov edi, dword [ebp - 0xec]
mov eax, 2
mov byte [esi + 0x56], al
mov esi, dword [ebp - 0xe0]
jmp 0x472c1d
mov edi, dword [ebp - 0xec]
movzx eax, al
mov byte [esi + 0x56], al
mov esi, dword [ebp - 0xe0]
jmp 0x472c1d
inc dword [esi + 0x5c]
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
jmp 0x472c1d
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 0x470081
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 0x4758eb
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, esi
cmovb edx, esi
call fcn.0045f2a0
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 0x470081
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + ebx*4 + 8]
test eax, eax
je 0x47592b
lea esi, [eax - 1]
mov dword [ebp - 0xe0], esi
cmp dword [ecx + 0xa4], 0
je 0x472c1d
mov eax, dword [ebp - 0xe4]
test dword [eax + 0x58], 0x800
jne 0x472c1d
mov edx, dword [edx + ebx*4 + 0x10]
mov ebx, eax
test edx, edx
jne 0x475963
mov edx, dword [ebx + 0xa8]
test edx, edx
je case.default.0x4700f0
mov ecx, ebx
call fcn.0046f860
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.0044a7d0
mov esi, dword [ebp - 0xe0]
mov ecx, ebx
jmp case.default.0x4700f0
mov edi, dword [ebp - 0xec]
mov ecx, eax
mov esi, dword [ebp - 0xe0]
jmp case.default.0x4700f0
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
jmp 0x472c1d
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 0x475a65
mov al, byte [edx + ebx*4 + 3]
test al, al
je 0x475a16
movzx eax, al
mov eax, dword [eax*4 + 0x594004]
test eax, eax
je 0x475a18
mov ecx, dword [edx + ebx*4 + 0x10]
test ecx, ecx
je 0x475a18
push ecx
push eax
push str._s_constraint_failed:__s
push dword [ebp - 0xdc]
lea esi, [edi + 0x2c]
push esi
call fcn.0044ac00
add esp, 0x14
jmp 0x475a40
xor eax, eax
mov ecx, dword [edx + ebx*4 + 0x10]
lea esi, [edi + 0x2c]
test ecx, ecx
je 0x475a2b
push ecx
push 0x5965ac
jmp 0x475a31
push eax
push str._s_constraint_failed
push dword [ebp - 0xdc]
push esi
call fcn.0044ac00
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.0044c740
add esp, 0x14
mov ecx, edi
call fcn.0046b810
mov ecx, dword [ebp - 0xdc]
cmp eax, 5
mov eax, dword [ebp - 0xe4]
jne 0x475a8a
mov edi, 5
mov dword [eax + 0x50], edi
jmp 0x472cbf
cmp dword [eax + 0x50], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x472cbf
mov edx, 9
mov dword [ebp - 0xe8], edx
jmp 0x472c37
lea ecx, [ebp - 0x268]
call fcn.00468010
mov ecx, esi
jmp 0x475e85
mov edx, 0x14
mov dword [ebp - 0xe8], edx
jmp 0x475b97
mov eax, dword [ebp - 0xe4]
push str.cannot_open_savepoint___SQL_statements_in_progress
push ecx
add eax, 0x2c
push eax
call fcn.0044ac00
add esp, 0xc
mov edx, 5
inc esi
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xe0], esi
jmp 0x472c37
mov eax, dword [ebp - 0xe4]
push str.cannot_release_savepoint___SQL_statements_in_progress
push ecx
add eax, 0x2c
push eax
call fcn.0044ac00
mov eax, dword [ebp - 0xe0]
mov edx, 5
add esp, 0xc
mov dword [ebp - 0xe8], edx
inc eax
jmp 0x472c3d
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 0x472cbf
mov edx, 8
mov dword [ebp - 0xe8], edx
jmp 0x475b97
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 0x472cbf
mov ecx, 0x11698
call fcn.004bc8c0
mov edx, eax
mov dword [ebp - 0xe8], edx
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe4]
cmp byte [ecx + 0x40], 0
je 0x475bee
mov eax, 7
mov edx, str.unknown_error
mov ecx, eax
mov dword [ebp - 0xe8], eax
call fcn.004ba920
mov ecx, dword [ebp - 0xdc]
jmp 0x475c21
mov edx, 4
inc esi
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xe0], esi
jmp 0x472c37
mov edx, 0xd
jmp 0x475b8b
mov esi, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xdc]
jmp 0x475b9d
cmp edx, 0xc0a
je 0x472c37
cmp edx, 0x204
je 0x475c1c
mov eax, dword [ebp - 0xe8]
mov edx, str.unknown_error
mov ecx, eax
call fcn.004ba920
mov ecx, dword [ebp - 0xdc]
jmp 0x475c21
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x5965ac
push ecx
lea eax, [esi + 0x2c]
push eax
call fcn.0044ac00
add esp, 0x10
jmp 0x472c31
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 0x472c37
push str.too_many_levels_of_trigger_recursion
lea eax, [ecx + 0x2c]
mov dword [ebp - 0xe8], 1
push esi
push eax
call fcn.0044ac00
mov eax, dword [ebp - 0xe0]
add esp, 0xc
inc eax
mov edx, 1
jmp 0x472c3d
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.0044ac00
mov eax, dword [ebp - 0xe0]
add esp, 0x10
inc eax
mov edx, 1
jmp 0x472c3d
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.0044ac00
mov edx, 0x12
add esp, 0xc
mov dword [ebp - 0xe8], edx
jmp 0x472c37
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 0x475d58
cmp byte [esi + 0x3e], 0
jne 0x475d58
test edx, edx
jne 0x475d58
cmp dword [esi + 0x94], edx
jle 0x475d58
mov eax, dword [ebp - 0xe4]
push str.cannot_commit_transaction___SQL_statements_in_progress
add eax, 0x2c
push esi
push eax
call fcn.0044ac00
mov eax, dword [ebp - 0xe0]
mov edx, 5
add esp, 0xc
mov dword [ebp - 0xe8], edx
inc eax
jmp 0x472c3d
movzx eax, byte [esi + 0x3e]
cmp ecx, eax
jne 0x475da5
test ecx, ecx
jne 0x475d6b
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x475d7a
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.0044ac00
mov eax, dword [ebp - 0xe0]
mov edx, 1
add esp, 0xc
mov dword [ebp - 0xe8], edx
inc eax
jmp 0x472c3d
test edx, edx
je 0x475de2
mov edx, 0x204
mov ecx, esi
call fcn.004ba820
mov byte [esi + 0x3e], 1
mov ecx, esi
call fcn.004ba030
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 0x472cbf
mov ecx, dword [ebp - 0xe4]
mov edx, 1
call fcn.0046b7a0
mov edi, eax
test edi, edi
jne 0x475dd7
mov ebx, dword [ebp - 0x164]
mov ecx, dword [ebp - 0xe4]
mov byte [esi + 0x3e], bl
call fcn.0046b810
cmp eax, 5
jne 0x475db9
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 0x472cbf
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 0x5965ac
lea eax, [edx + 0x2c]
mov dword [edx + 0x50], 9
push ebx
push eax
call fcn.0044ac00
add esp, 0x10
mov edx, 9
jmp 0x472c37
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.0044ac00
mov edx, 7
add esp, 0xc
mov dword [ebp - 0xe8], edx
jmp 0x472c37