Function at 0x417f4c
Capabilities:
Encode data using base64
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x228
mov eax, dword [0x5164b0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ecx]
and dword [ebp - 0xec], 0
and dword [ebp - 0x158], 0
cmp dword [ecx + 0x50], 0xbdf20da3
mov dword [ebp - 0xe0], eax
mov eax, dword [eax + 4]
push esi
push edi
mov dword [ebp - 0xdc], ecx
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov byte [ebp - 0x128], al
je 0x417f9d
push 0x15
pop eax
jmp 0x419957
mov edi, dword [ecx + 0x2c]
push 7
pop eax
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
cmp dword [ecx + 0x80], eax
je 0x419911
and dword [ecx + 0x80], 0
mov edx, dword [ecx + 0x22c]
test edx, edx
je 0x417ff0
lea ecx, [ebp - 0xe8]
call fcn.00417e16
mov ecx, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0xf0], edi
and dword [ecx + 0x22c], 0
mov edx, dword [ebp - 0xe0]
mov byte [ecx + 0x234], 0
and dword [edx + 0x11c], 0
cmp dword [edx + 0x98], 0
jne 0x41c2a8
mov eax, dword [ecx + 0x7c]
mov dword [ebp - 0xe4], eax
call fcn.0040bc0b
test eax, eax
jne 0x419911
imul esi, dword [ebp - 0xe4], 0x14
add esi, dword [ecx + 0x18]
mov dword [ebp - 0xfc], esi
cmp dword [edx + 0xa8], eax
je 0x4180b8
mov eax, dword [ebp - 0x158]
cmp dword [edx + 0xb0], eax
jne 0x4180ab
mov ecx, edx
call fcn.0040b8e0
test eax, eax
jne 0x41b9f5
push dword [edx + 0xac]
call dword [edx + 0xa8]
pop ecx
test eax, eax
je 0x41808e
mov edx, dword [ebp - 0xe0]
mov ecx, edx
call fcn.0040b8b5
push 4
pop eax
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xdc]
jmp 0x41c069
mov ecx, dword [ebp - 0xe0]
xor edx, edx
call fcn.0040b8b5
test eax, eax
jne 0x41b9f5
mov ecx, dword [ebp - 0xdc]
jmp 0x4180b1
mov edx, dword [ebp - 0x158]
inc edx
mov dword [ebp - 0x158], edx
mov al, byte [esi]
movzx edx, al
mov byte [ebp - 0x115], al
mov dword [ebp - 0x11c], edx
lea eax, [edx - 1]
cmp eax, 0x8d
ja case.0x4180d7.13
jmp dword [eax*4 + 0x41c300]
mov edx, dword [ebp - 0xe0]
cmp dword [edx + 0x98], 0
jne 0x41c2a8
mov esi, dword [esi + 8]
dec esi
jmp 0x41c06f
mov edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe4]
inc ecx
mov eax, dword [edx + 0x220]
mov dword [edx + eax*4 + 0x90], ecx
mov ecx, edx
inc dword [ecx + 0x220]
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 0xe4], edx
jmp case.0x4180d7.13
dec dword [ecx + 0x220]
mov eax, dword [ecx + 0x220]
mov edx, dword [ecx + eax*4 + 0x90]
jmp 0x41811f
add edi, 0x40
push 4
pop eax
mov dword [ebp - 0xf0], edi
mov word [edi + 0x18], ax
mov eax, dword [esi + 4]
cdq
mov dword [edi], eax
mov dword [ebp - 0xe8], edi
mov dword [edi + 4], edx
jmp case.0x4180d7.13
add edi, 0x40
mov eax, 0xa2
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov word [edi + 0x18], ax
mov ecx, dword [esi + 0xc]
mov dword [edi + 0x10], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418185
sub ecx, edx
mov dword [edi + 0x14], ecx
mov ecx, edi
mov byte [edi + 0x1b], 1
call fcn.00414ef2
mov dword [edi], eax
push 4
pop eax
mov dword [edi + 4], edx
or word [edi + 0x18], ax
mov ecx, dword [ebp - 0xdc]
jmp case.0x4180d7.13
add edi, 0x40
mov eax, 0xa2
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov word [edi + 0x18], ax
mov ecx, dword [esi + 0xc]
mov dword [edi + 0x10], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4181d4
sub ecx, edx
mov dword [edi + 0x14], ecx
mov ecx, edi
mov byte [edi + 0x1b], 1
call fcn.00414f51
movzx edx, byte [ebp - 0x128]
mov ecx, edi
push 8
pop eax
movsd qword [edi + 8], xmm0
or word [edi + 0x18], ax
call fcn.00414c43
jmp 0x4181a8
mov edx, dword [esi + 0xc]
mov ecx, edx
mov byte [esi], 0x1a
lea eax, [ecx + 1]
mov dword [ebp - 0xf8], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418218
sub ecx, dword [ebp - 0xf8]
xor eax, eax
inc eax
mov dword [esi + 4], ecx
cmp byte [ebp - 0x128], al
je case.0x4180d7.26
push 0
push eax
add edi, 0x40
or eax, 0xffffffff
push eax
mov ecx, edi
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
call fcn.004150ed
movzx edx, byte [ebp - 0x128]
add esp, 0xc
mov ecx, edi
call fcn.00414c43
test eax, eax
jne 0x41990b
mov ecx, edi
call fcn.00414c58
test eax, eax
jne 0x41990b
mov ax, word [edi + 0x18]
mov ecx, 0xffbf
and ax, cx
mov ecx, 0x80
or ax, cx
mov word [edi + 0x18], ax
or eax, 0xffffffff
cmp dword [esi + 0x10], eax
jne 0x4182a8
push dword [esi + 0xc]
call fcn.0040b198
pop ecx
or eax, 0xffffffff
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x10]
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 4], eax
jmp 0x4181a8
add edi, 0x40
mov eax, 0xa2
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov word [edi + 0x18], ax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 4]
mov dword [edi + 0x14], eax
mov al, byte [ebp - 0x128]
mov byte [edi + 0x1b], al
jmp 0x4181a8
add edi, 0x40
xor eax, eax
inc eax
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov word [edi + 0x18], ax
and dword [edi + 0x14], 0
jmp case.0x4180d7.13
mov edx, dword [esi + 0xc]
mov byte [esi], 0x7a
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x418316
sub edx, ecx
shr edx, 1
mov dword [esi + 4], edx
je 0x41835e
mov ecx, dword [esi + 0xc]
call fcn.0040bb2b
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x41990b
or ecx, 0xffffffff
cmp dword [esi + 0x10], ecx
jne 0x418353
push dword [esi + 0xc]
call fcn.0040b198
mov eax, dword [ebp - 0xf8]
pop ecx
mov dword [esi + 0xc], eax
or eax, 0xffffffff
mov dword [esi + 0x10], eax
jmp case.0x4180d7.122
or eax, 0xffffffff
cmp dword [esi + 0x10], eax
jne 0x41836f
push dword [esi + 0xc]
call fcn.0040b198
pop ecx
mov dword [esi + 0x10], 0xfffffffe
mov dword [esi + 0xc], 0x4e870e
mov edx, dword [esi + 0xc]
add edi, 0x40
push 0
push 0
push dword [esi + 4]
mov ecx, edi
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
call fcn.004150ed
add esp, 0xc
jmp 0x4181a8
mov ecx, dword [esi + 4]
add edi, 0x40
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
shl ecx, 6
push 8
mov esi, dword [eax + 0x44]
add esi, 0xffffffc0
mov dword [ebp - 0xf0], edi
add esi, ecx
mov dword [ebp - 0xe8], edi
pop eax
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe4]
movzx eax, word [edi + 0x18]
and dword [edi + 0x1c], 0
test al, 0x12
je 0x41c06f
and eax, 0xfcbf
or eax, 0x80
mov word [edi + 0x18], ax
jmp 0x41c06f
mov edx, dword [esi + 4]
lea ecx, [ebp - 0xe8]
call fcn.00417e16
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0xf0], edi
jmp 0x4181a8
mov eax, dword [esi + 4]
mov esi, edi
shl eax, 6
add edi, 0x40
sub esi, eax
mov dword [ebp - 0xf0], edi
push 8
pop eax
mov ecx, eax
mov dword [ebp - 0xe8], edi
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xf0]
mov ecx, 0x100
movzx eax, word [edi + 0x18]
and dword [edi + 0x1c], 0
test al, 0x12
je 0x41846b
and eax, 0xfd3f
or eax, ecx
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0xfc]
cmp dword [eax + 8], 0
je 0x4181a8
test word [edi + 0x18], cx
je 0x4181a8
mov ecx, edi
call fcn.00414cb8
mov ecx, dword [ebp - 0xdc]
test eax, eax
jne 0x419911
jmp case.0x4180d7.13
mov eax, dword [esi + 4]
mov edx, edi
shl eax, 6
lea edi, [ebp - 0x228]
sub edx, eax
push 0x10
pop ecx
mov esi, edx
mov dword [ebp - 0xf8], edx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xf0]
mov ecx, 0x100
test word [edi + 0x18], cx
je 0x4184e1
mov ecx, edi
call fcn.00414cb8
test eax, eax
jne 0x41990b
mov ecx, 0x100
mov edx, dword [ebp - 0xfc]
xor eax, eax
mov dword [ebp - 0x104], eax
cmp dword [edx + 4], eax
jle 0x418569
mov esi, dword [ebp - 0xf8]
add esi, 0x40
mov dword [ebp - 0xf4], esi
test word [esi + 0x18], cx
je 0x418524
mov ecx, esi
call fcn.00414cb8
test eax, eax
jne 0x41c2ee
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x104]
push 0x10
lea edi, [esi - 0x40]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xf4]
mov ecx, 0x200
test word [esi - 0x28], cx
je 0x418549
lea eax, [esi - 0x20]
mov dword [esi - 0x30], eax
mov eax, dword [ebp - 0x104]
inc eax
add esi, 0x40
mov ecx, 0x100
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xf4], esi
cmp eax, dword [edx + 4]
jl 0x418503
mov edi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xe0]
lea esi, [ebp - 0x228]
push 0x10
pop eax
mov ecx, eax
mov eax, 0x200
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe4]
test word [edi + 0x18], ax
je 0x41c06f
lea eax, [edi + 0x20]
mov dword [edi + 0x10], eax
jmp 0x41c06f
mov eax, dword [esi + 4]
mov ecx, edi
shl eax, 6
mov edx, edi
sub ecx, eax
call fcn.00415094
sub edi, 0x40
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
jmp 0x4181a8
mov edx, dword [esi + 4]
mov eax, edi
add edx, 2
mov ecx, edx
mov dword [ebp - 0x100], edx
shl ecx, 6
sub eax, ecx
xor ecx, ecx
and dword [ebp - 0x104], ecx
add eax, 0x40
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0xf4], ecx
test edx, edx
jle 0x4186aa
movzx edx, word [eax + 0x18]
mov dword [ebp - 0xf8], edx
test dl, 1
mov edx, dword [ebp - 0x100]
jne 0x41866f
test byte [ebp - 0xf8], 0x12
jne 0x41864d
movzx edx, byte [ebp - 0x128]
mov ecx, eax
call fcn.00414da2
test eax, eax
jne 0x41990b
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x100]
add ecx, dword [eax + 0x14]
add eax, 0x40
inc dword [ebp - 0x104]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x104], edx
jl 0x418607
jmp 0x418674
or eax, 0xffffffff
mov ecx, eax
test ecx, ecx
jns 0x4186aa
cmp dword [esi + 8], 0
jne 0x41868f
lea ecx, [ebp - 0xe8]
call fcn.00417e16
mov edi, dword [ebp - 0xe8]
add edi, 0x40
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
xor ecx, ecx
inc ecx
mov word [edi + 0x18], cx
jmp 0x4181a8
add ecx, 2
test ecx, ecx
jle 0x4186c6
call fcn.0040b14a
mov edx, dword [ebp - 0x100]
mov ecx, eax
mov dword [ebp - 0x12c], eax
jmp 0x4186ce
xor ecx, ecx
mov dword [ebp - 0x12c], ecx
test ecx, ecx
je 0x41990b
xor eax, eax
mov dword [ebp - 0x114], eax
test edx, edx
jle 0x41874c
mov eax, dword [ebp - 0x130]
mov edi, dword [ebp - 0x114]
add eax, 0x10
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x104], edx
mov esi, dword [eax + 4]
push esi
push dword [eax]
lea eax, [edi + ecx]
push eax
call fcn.004aa710
mov eax, dword [ebp - 0xf4]
add esp, 0xc
mov ecx, dword [ebp - 0x12c]
add eax, 0x40
add edi, esi
mov dword [ebp - 0xf4], eax
dec dword [ebp - 0x104]
jne 0x4186fd
mov esi, dword [ebp - 0xfc]
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0x114], edi
mov edi, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x114]
mov word [eax + ecx], 0
cmp dword [esi + 8], 0
jne 0x418775
lea ecx, [ebp - 0xe8]
call fcn.00417e16
mov edi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x12c]
add edi, 0x40
push 0x62
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov dword [edi + 0x14], eax
pop eax
mov word [edi + 0x18], ax
and dword [edi + 0x1c], 0
mov al, byte [ebp - 0x128]
mov byte [edi + 0x1b], al
mov dword [edi + 0x10], ecx
jmp 0x4181a8
lea eax, [edi - 0x40]
movzx ecx, word [eax + 0x18]
mov dword [ebp - 0x110], eax
mov esi, ecx
movzx eax, word [edi + 0x18]
or esi, eax
movzx eax, word [edi + 0x18]
mov dword [ebp - 0xf4], esi
test byte [ebp - 0xf4], 1
mov esi, dword [ebp - 0xfc]
je 0x418804
test al, 0x40
je 0x4187dc
mov ecx, edi
call fcn.00414ea0
mov edi, dword [ebp - 0x110]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
test byte [edi + 0x18], 0x40
je 0x41869e
mov ecx, edi
call fcn.00414ea0
jmp 0x41869e
and cl, al
push 4
pop eax
test al, cl
je 0x4188c8
mov eax, dword [ebp - 0x110]
mov esi, dword [eax]
mov ecx, dword [eax + 4]
sub edx, 0x4e
je 0x418877
dec edx
je 0x418870
dec edx
je 0x41885a
mov eax, dword [edi]
dec edx
je 0x418843
or eax, dword [edi + 4]
je 0x418944
push dword [edi + 4]
push dword [edi]
push ecx
push esi
call fcn.004b9440
jmp 0x418866
or eax, dword [edi + 4]
je 0x418944
push dword [edi + 4]
push dword [edi]
push ecx
push esi
call fcn.004b9390
jmp 0x418866
push dword [edi + 4]
push dword [edi]
push ecx
push esi
call fcn.004acf30
mov esi, eax
mov dword [ebp - 0x114], edx
jmp 0x418882
sub esi, dword [edi]
sbb ecx, dword [edi + 4]
jmp 0x41887c
add esi, dword [edi]
adc ecx, dword [edi + 4]
mov dword [ebp - 0x114], ecx
movzx ecx, word [edi + 0x18]
test cl, 0x40
je 0x418892
mov ecx, edi
call fcn.00414ea0
mov edi, dword [ebp - 0x110]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
test byte [edi + 0x18], 0x40
je 0x4188b1
mov ecx, edi
call fcn.00414ea0
mov eax, dword [ebp - 0x114]
mov dword [edi], esi
mov dword [edi + 4], eax
push 4
pop eax
mov word [edi + 0x18], ax
jmp 0x4181a8
mov ecx, edi
call fcn.00414f51
mov ecx, dword [ebp - 0x110]
movsd qword [ebp - 0x120], xmm0
call fcn.00414f51
movzx eax, byte [esi]
movapd xmm1, xmm0
sub eax, 0x4e
je 0x418967
dec eax
je 0x41895d
dec eax
je 0x418953
dec eax
je 0x41892e
cvttsd2si ecx, qword [ebp - 0x120]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm0, qword [0x4f2f30]
lahf
test ah, 0x44
jnp 0x418944
cvttsd2si eax, xmm1
cdq
idiv ecx
movd xmm0, edx
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x120], xmm0
jmp 0x418977
movsd xmm0, qword [ebp - 0x120]
ucomisd xmm0, qword [0x4f2f30]
lahf
test ah, 0x44
jp 0x41894d
test byte [edi + 0x18], 0x40
jmp 0x4187d3
divsd xmm1, xmm0
jmp 0x41896f
mulsd xmm1, qword [ebp - 0x120]
jmp 0x41896f
subsd xmm1, qword [ebp - 0x120]
jmp 0x41896f
addsd xmm1, qword [ebp - 0x120]
movsd qword [ebp - 0x120], xmm1
test byte [edi + 0x18], 0x40
je 0x418984
mov ecx, edi
call fcn.00414ea0
mov edi, dword [ebp - 0x110]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
test byte [edi + 0x18], 0x40
je 0x4189a3
mov ecx, edi
call fcn.00414ea0
movsd xmm0, qword [ebp - 0x120]
push 8
pop eax
movsd qword [edi + 8], xmm0
mov word [edi + 0x18], ax
test byte [ebp - 0xf4], al
jne 0x4181a8
mov ecx, edi
call fcn.00414fbc
jmp 0x4181a8
mov ecx, dword [ecx + 0x30]
xor edx, edx
mov eax, dword [esi + 8]
mov dword [ebp - 0xf4], ecx
mov ecx, edi
mov dword [ebp - 0x100], eax
shl eax, 6
sub ecx, eax
add ecx, 0x40
cmp dword [ebp - 0x100], edx
jle 0x418a1d
mov esi, dword [ebp - 0x100]
mov edi, dword [ebp - 0xf4]
mov dword [edi + edx*4], ecx
call fcn.00417deb
inc edx
add ecx, 0x40
cmp edx, esi
jl 0x418a01
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xfc]
cmp dword [esi + 0x10], 0xfffffffb
jne 0x418a2f
mov edx, dword [esi + 0xc]
and dword [ebp - 0xd4], 0
jmp 0x418a3a
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xd4], eax
mov edx, dword [eax]
xor eax, eax
mov dword [ebp - 0xd8], edx
inc eax
mov word [ebp - 0xb8], ax
xor eax, eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0x8c], al
cmp byte [edx + 3], al
je 0x418a6c
mov eax, dword [esi - 8]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0xe0]
call fcn.0040b8e0
test eax, eax
jne 0x41b9f5
push dword [ebp - 0xf4]
lea eax, [ebp - 0xd8]
push dword [ebp - 0x100]
push eax
call dword [edx + 0x10]
mov ecx, dword [ebp - 0xe0]
add esp, 0xc
call fcn.0040b8b5
test eax, eax
jne 0x41b9f5
call fcn.0040bc0b
test eax, eax
jne 0x41990b
mov edx, dword [ebp - 0x100]
lea ecx, [ebp - 0xe8]
call fcn.00417e16
mov ecx, dword [ebp - 0xd4]
test ecx, ecx
je 0x418aeb
mov edx, dword [esi + 4]
call fcn.004168c0
mov eax, dword [ebp - 0xd4]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0xfffffff9
cmp byte [ebp - 0x8c], 0
je 0x418b24
push 0
push ecx
mov dl, 1
lea ecx, [ebp - 0xd0]
call fcn.00415472
pop ecx
push eax
mov eax, dword [ebp - 0xdc]
add eax, 0x230
push eax
call fcn.0040b26f
add esp, 0xc
mov dword [ebp - 0xec], 1
movzx edx, byte [ebp - 0x128]
lea ecx, [ebp - 0xd0]
call fcn.00414c43
mov edi, dword [ebp - 0xe8]
lea edx, [ebp - 0xd0]
add edi, 0x40
xor eax, eax
mov ecx, edi
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov word [edi + 0x18], ax
call fcn.00415094
jmp 0x4181a8
lea ecx, [edi - 0x40]
mov al, byte [ecx + 0x18]
or al, byte [edi + 0x18]
mov dword [ebp - 0xf8], ecx
test al, 1
je 0x418b7e
push 2
pop edx
jmp 0x41867e
call fcn.00414ef2
mov ecx, edi
mov dword [ebp - 0x114], eax
mov dword [ebp - 0xfc], edx
call fcn.00414ef2
movzx ecx, byte [esi]
mov dword [ebp - 0xf4], eax
sub ecx, 0x4a
je 0x418bf7
dec ecx
je 0x418be7
dec ecx
je 0x418bc6
dec ecx
jne 0x418c07
mov eax, dword [ebp - 0x114]
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xf4]
call fcn.004c8570
jmp 0x418bdd
mov eax, dword [ebp - 0x114]
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xf4]
call fcn.004c8550
mov esi, eax
mov dword [ebp - 0xfc], edx
jmp 0x418c0d
mov esi, dword [ebp - 0x114]
or esi, eax
or dword [ebp - 0xfc], edx
jmp 0x418c0d
mov esi, dword [ebp - 0x114]
and esi, eax
and dword [ebp - 0xfc], edx
jmp 0x418c0d
mov esi, dword [ebp - 0x114]
test byte [edi + 0x18], 0x40
je 0x418c1a
mov ecx, edi
call fcn.00414ea0
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
test byte [edi + 0x18], 0x40
je 0x418c39
mov ecx, edi
call fcn.00414ea0
mov ecx, dword [ebp - 0xfc]
mov dword [edi], esi
mov dword [edi + 4], ecx
jmp 0x4188bc
mov ecx, edi
call fcn.00414fe7
mov eax, dword [esi + 4]
cdq
add dword [edi], eax
adc dword [edi + 4], edx
jmp 0x4181a8
mov ecx, edi
call fcn.00417e74
test byte [edi + 0x18], 8
je 0x418c72
mov ecx, edi
call fcn.00414fbc
movzx eax, word [edi + 0x18]
test al, 0xc
jne 0x418ca3
test al, 0x40
je 0x418c85
mov ecx, edi
call fcn.00414ea0
sub edi, 0x40
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xf0], edi
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 0xe4], ecx
jmp 0x4181a8
push 4
pop ecx
test cl, al
je 0x418d01
cmp dword [esi + 4], 0
je 0x418cb7
xor ecx, ecx
inc ecx
xor edx, edx
jmp 0x418cce
xorps xmm0, xmm0
movlpd qword [ebp - 0x120], xmm0
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x120]
mov eax, dword [edi]
add eax, ecx
mov ecx, dword [edi + 4]
mov dword [ebp - 0xfc], eax
adc ecx, edx
mov dword [ebp - 0x10c], ecx
mov esi, dword [ebp - 0xfc]
test byte [edi + 0x18], 0x40
je 0x418cf6
mov ecx, edi
call fcn.00414ea0
mov eax, dword [ebp - 0x10c]
jmp 0x4188b7
mov ecx, edi
call fcn.00415006
cvttsd2si eax, qword [edi + 8]
cdq
mov ecx, edx
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x10c], ecx
mov ecx, eax
call fcn.004c893f
movsd xmm1, qword [edi + 8]
comisd xmm1, xmm0
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x10c]
jbe 0x418d4c
add eax, 1
mov dword [ebp - 0xfc], eax
adc ecx, 0
mov dword [ebp - 0x10c], ecx
cmp dword [esi + 4], 0
je 0x418ce3
mov edx, ecx
mov ecx, eax
call fcn.004c893f
movsd xmm1, qword [edi + 8]
mov esi, dword [ebp - 0xfc]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x418ce9
add esi, 1
adc dword [ebp - 0x10c], 0
jmp 0x418ce9
mov ecx, edi
call fcn.00417e74
test byte [edi + 0x18], 8
je 0x418d97
mov ecx, edi
call fcn.00414fbc
movzx eax, word [edi + 0x18]
push 4
pop ecx
test cl, al
jne 0x418dcf
cmp dword [esi + 8], 0
je 0x41c09f
cmp dword [esi + 4], 0
je 0x418c94
xor edx, edx
lea ecx, [ebp - 0xe8]
inc edx
call fcn.00417e16
mov edi, dword [ebp - 0xe8]
jmp 0x418c8e
test al, 0x40
je 0x4188bc
mov ecx, edi
call fcn.00414ea0
jmp 0x4188bc
push 4
pop eax
test byte [edi + 0x18], al
je case.0x4180d7.13
mov ecx, edi
call fcn.00415006
jmp 0x4181a8
movzx ecx, word [edi + 0x18]
test cl, 1
jne 0x4181a8
push dword [ebp - 0x128]
mov eax, ecx
mov dl, 0x61
shr eax, 3
and eax, 2
or eax, ecx
mov ecx, edi
mov word [edi + 0x18], ax
call fcn.00417ee9
pop ecx
mov eax, 0xffe3
and word [edi + 0x18], ax
jmp 0x4181a8
movzx eax, word [edi + 0x18]
test al, 1
jne case.0x4180d7.13
test al, 0x10
jne 0x418e5b
push dword [ebp - 0x128]
mov dl, 0x61
mov ecx, edi
call fcn.00417ee9
pop ecx
push 0x10
pop eax
or word [edi + 0x18], ax
mov eax, 0xfff1
jmp 0x418e2b
test byte [edi + 0x18], 1
jne case.0x4180d7.13
mov ecx, edi
call fcn.00415006
jmp 0x4189c3
test byte [edi + 0x18], 1
jne case.0x4180d7.13
mov ecx, edi
call fcn.00414fe7
jmp 0x4181a8
test byte [edi + 0x18], 1
jne case.0x4180d7.13
jmp 0x418def
movzx ecx, word [edi + 0x18]
lea eax, [edi - 0x40]
mov al, byte [eax + 0x18]
xor edx, edx
or al, cl
inc edx
test dl, al
je 0x418ee5
mov eax, 0x200
test dword [esi + 4], eax
je 0x418f44
not ecx
and ecx, edx
mov eax, ecx
mov ecx, edi
cdq
push edx
push eax
call fcn.00415025
lea ecx, [edi - 0x40]
movzx eax, word [ecx + 0x18]
not eax
and eax, 1
cdq
push edx
push eax
call fcn.00415025
add esp, 0x10
mov al, byte [esi + 4]
mov byte [ebp - 0x115], al
test al, al
je 0x418f17
push dword [ebp - 0x128]
mov dl, al
lea ecx, [edi - 0x40]
call fcn.00417ee9
mov dl, byte [ebp - 0x115]
pop ecx
push dword [ebp - 0x128]
mov ecx, edi
call fcn.00417ee9
pop ecx
push dword [esi + 0xc]
mov edx, edi
lea ecx, [edi - 0x40]
call fcn.004151e4
pop ecx
movzx ecx, byte [esi]
mov edx, eax
xor eax, eax
sub ecx, 0x43
je 0x418f95
dec ecx
je 0x418f8e
dec ecx
je 0x418f87
dec ecx
je 0x418f80
dec ecx
je 0x418f79
test edx, edx
setns al
jmp 0x418f9a
push 2
pop edx
lea ecx, [ebp - 0xe8]
call fcn.00417e16
mov eax, dword [esi + 8]
test eax, eax
je 0x418689
mov ecx, 0x100
test dword [esi + 4], ecx
je 0x418418
lea ecx, [eax - 1]
mov dword [ebp - 0xe4], ecx
jmp 0x418418
test edx, edx
sets al
jmp 0x418f9a
test edx, edx
setle al
jmp 0x418f9a
test edx, edx
setg al
jmp 0x418f9a
test edx, edx
sete al
jmp 0x418f9a
test edx, edx
setne al
push 2
pop edx
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x10c], eax
call fcn.00417e16
mov eax, dword [esi + 8]
test eax, eax
je 0x418fbe
cmp dword [ebp - 0x10c], 0
jmp 0x418f65
mov edi, dword [ebp - 0xe8]
add edi, 0x40
push 4
pop eax
mov dword [ebp - 0xf0], edi
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x10c]
cdq
mov dword [edi], eax
mov dword [ebp - 0xe8], edi
mov dword [edi + 4], edx
jmp 0x4181a8
test byte [edi + 0x18], 1
lea eax, [edi - 0x40]
mov dword [ebp - 0xf8], eax
je 0x419006
mov dword [ebp - 0x100], 2
jmp 0x419027
mov ecx, edi
call fcn.00414fe7
mov eax, dword [edi]
or eax, dword [edi + 4]
jne 0x419020
mov dword [ebp - 0x100], 1
jmp 0x419027
and dword [ebp - 0x100], 0
mov edi, dword [ebp - 0xf8]
test byte [edi + 0x18], 1
je 0x419038
push 2
pop ecx
jmp 0x419049
mov ecx, edi
call fcn.00414fe7
mov eax, dword [edi]
xor ecx, ecx
or eax, dword [edi + 4]
jne 0x419049
inc ecx
imul eax, dword [ebp - 0x100], 3
cmp byte [esi], 0x3d
jne 0x41905f
movzx esi, byte [eax + ecx + 0x4e0e50]
jmp 0x419067
movzx esi, byte [eax + ecx + 0x4de144]
push 2
pop edx
lea ecx, [ebp - 0xe8]
call fcn.00417e16
mov edi, dword [ebp - 0xe8]
add edi, 0x40
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
cmp esi, 2
je 0x41869e
xor eax, eax
test esi, esi
sete al
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x4188bc
movzx eax, word [edi + 0x18]
test al, 8
jne 0x419104
push 4
pop edx
test dl, al
je 0x4190ee
test al, 0x40
je 0x4190c2
mov ecx, edi
call fcn.00414ea0
push 4
pop edx
cmp byte [esi], 0x55
je 0x4190d4
cmp dword [edi + 4], 0
jg 0x4190e5
jl 0x4190d4
cmp dword [edi], 0
jae 0x4190e5
mov ecx, dword [edi]
mov eax, dword [edi + 4]
neg ecx
mov dword [edi], ecx
adc eax, 0
neg eax
mov dword [edi + 4], eax
mov word [edi + 0x18], dx
jmp 0x4181a8
test al, 1
jne case.0x4180d7.13
mov ecx, edi
call fcn.00415006
mov ecx, edi
call fcn.00414fbc
test byte [edi + 0x18], 0x40
je 0x419111
mov ecx, edi
call fcn.00414ea0
cmp byte [esi], 0x55
je 0x419120
xorps xmm0, xmm0
comisd xmm0, xmmword [edi + 8]
jbe 0x419132
movsd xmm0, qword [edi + 8]
xorpd xmm0, xmmword [0x4f3150]
movsd qword [edi + 8], xmm0
push 8
jmp 0x4188be
test byte [edi + 0x18], 1
jne case.0x4180d7.13
mov ecx, edi
call fcn.00414fe7
mov eax, dword [edi]
or eax, dword [edi + 4]
jne 0x419157
inc eax
jmp 0x41909a
xor eax, eax
jmp 0x41909a
test byte [edi + 0x18], 1
jne case.0x4180d7.13
mov ecx, edi
call fcn.00414fe7
not dword [edi]
not dword [edi + 4]
jmp 0x4188bc
test byte [edi + 0x18], 1
je 0x41918a
mov ecx, dword [esi + 4]
mov dword [ebp - 0x100], ecx
jmp 0x4191ba
mov ecx, edi
call fcn.00414f51
ucomisd xmm0, qword [0x4f2f30]
lahf
xor ecx, ecx
test ah, 0x44
jnp 0x4191a2
inc ecx
cmp byte [esi], 0x56
mov dword [ebp - 0x100], ecx
jne 0x4191ba
xor eax, eax
test ecx, ecx
sete al
mov dword [ebp - 0x100], eax
test byte [edi + 0x18], 0x40
je 0x4191c7
mov ecx, edi
call fcn.00414ea0
mov edx, dword [ebp - 0xe0]
sub edi, 0x40
cmp dword [ebp - 0x100], 0
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
je 0x418083
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 0xe4], ecx
jmp 0x418083
test byte [edi + 0x18], 1
je 0x419228
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
dec ecx
mov dword [ebp - 0xe4], ecx
test edx, edx
jns 0x419228
neg edx
lea ecx, [ebp - 0xe8]
call fcn.00417e16
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0xf0], edi
mov edx, dword [esi + 4]
test edx, edx
jle 0x4181a8
jmp 0x41840d
mov edx, dword [esi + 4]
test edx, edx
jns 0x419241
neg edx
and dword [ebp - 0xf8], 0
test edx, edx
jle 0x41926f
mov eax, edx
mov ecx, edi
shl eax, 6
sub ecx, eax
mov eax, dword [ebp - 0xf8]
add ecx, 0x58
test byte [ecx], 1
jne 0x41926b
inc eax
add ecx, 0x40
cmp eax, edx
jl 0x41925e
cmp eax, edx
jl 0x419279
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 0xe4], ecx
cmp dword [esi + 4], 0
jmp 0x41922d
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + 8]
mov dword [ecx + 0x50], eax
jmp 0x4181a8
mov eax, dword [esi + 8]
add edi, 0x40
mov ecx, dword [esi + 4]
mov dword [ebp - 0x104], eax
xor eax, eax
mov word [ebp - 0xa8], ax
inc eax
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov eax, dword [eax + 0x3c]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x10c], edx
cmp dword [edx], ecx
je 0x419373
mov ecx, edx
call fcn.004169c3
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41b9fe
mov edx, dword [ebp - 0x10c]
and dword [ebp - 0x110], eax
mov ecx, dword [edx]
mov dword [ebp - 0x12c], ecx
cmp byte [edx + 0x1c], al
je 0x419316
and dword [ebp - 0x138], eax
jmp 0x419368
mov esi, dword [ebp - 0xdc]
mov eax, dword [edx + 0x68]
cmp eax, dword [esi + 0x60]
jne 0x419338
mov eax, dword [edx + 0x6c]
mov dword [ebp - 0x138], eax
mov eax, dword [edx + 0x78]
mov dword [ebp - 0x110], eax
jmp 0x419368
cmp byte [edx + 0x21], 0
je 0x419357
lea edx, [ebp - 0x1e8]
call fcn.00411340
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x138], eax
jmp 0x419362
lea edx, [ebp - 0x138]
call fcn.00411380
mov edx, dword [ebp - 0x10c]
mov ecx, dword [edx + 0x50]
mov eax, dword [ebp - 0x138]
jmp 0x4193a8
cmp byte [edx + 0x1e], cl
je 0x419394
mov ecx, dword [edx + 0x38]
and dword [edx + 0x68], 0
mov eax, dword [edx + 0x34]
and dword [ebp - 0x12c], 0
mov dword [ebp - 0x110], ecx
mov ecx, dword [edx + 0x50]
jmp 0x4193a2
mov dword [ebp - 0x110], ecx
mov eax, ecx
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x130], ecx
test eax, eax
je 0x4181a8
mov esi, dword [ebp - 0xdc]
mov eax, dword [edx + 0x68]
cmp eax, dword [esi + 0x60]
jne 0x4193db
mov ecx, dword [edx + 0x70]
mov eax, dword [edx + 0x74]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x124], eax
jmp 0x41961e
mov eax, dword [edx + 0x70]
mov dword [ebp - 0x114], eax
test eax, eax
jne 0x41940f
shl ecx, 3
test ecx, ecx
jle 0x4193fc
call fcn.0040b14a
mov edx, dword [ebp - 0x10c]
jmp 0x4193fe
xor eax, eax
mov dword [ebp - 0x114], eax
mov dword [edx + 0x70], eax
test eax, eax
je 0x41c2f9
mov ecx, dword [ebp - 0x130]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x124], eax
mov dword [edx + 0x74], eax
mov eax, dword [ebp - 0x138]
mov dword [edx + 0x6c], eax
mov eax, esi
mov eax, dword [eax + 0x60]
mov dword [edx + 0x68], eax
mov eax, dword [ebp - 0x110]
test eax, eax
je 0x419444
mov dword [ebp - 0xec], eax
jmp 0x41949e
cmp byte [edx + 0x21], 0
mov eax, dword [ebp - 0x12c]
je 0x41946e
cmp byte [eax + 0x41], 1
jne 0x419479
push 0
lea edx, [ebp - 0x15c]
mov ecx, eax
call fcn.0041157a
mov edx, dword [ebp - 0x10c]
pop ecx
jmp 0x41947b
xor ecx, ecx
inc ecx
cmp byte [eax + 0x41], cl
jne 0x419479
push ecx
jmp 0x419458
xor eax, eax
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0x15c], ecx
jb 0x41949a
mov dword [ebp - 0x110], eax
mov dword [edx + 0x78], eax
jmp 0x41949e
and dword [edx + 0x78], 0
movzx ecx, byte [eax]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xf4], ecx
cmp ecx, 0x7f
ja 0x4194be
mov dword [ebp - 0xf8], 1
jmp 0x4194e9
lea edx, [ebp - 0xf4]
mov ecx, eax
call fcn.0040ba90
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x100], ecx
cmp dword [ebp - 0x110], 0
jne 0x41952d
cmp dword [ebp - 0x15c], ecx
jae 0x41952d
lea eax, [ebp - 0xc0]
push eax
movzx eax, byte [edx + 0x21]
xor edx, edx
push eax
push ecx
mov ecx, dword [ebp - 0x12c]
call fcn.00415394
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41c061
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x100]
lea ecx, [edx + eax]
add eax, dword [ebp - 0xf8]
cmp dword [ebp - 0x130], 0
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xf4], eax
jbe 0x4195ca
mov eax, dword [ebp - 0x124]
mov esi, dword [ebp - 0x114]
sub eax, esi
mov edi, dword [ebp - 0xf4]
mov dword [ebp - 0xf8], eax
cmp edi, ecx
jae 0x4195af
mov dword [eax + esi], edx
movzx eax, byte [edi]
mov dword [esi], eax
cmp eax, 0x7f
ja 0x419581
xor eax, eax
inc eax
jmp 0x419590
mov edx, esi
mov ecx, edi
call fcn.0040ba90
mov edx, dword [ebp - 0x100]
mov ecx, dword [esi]
add edi, eax
call fcn.00416af7
mov ecx, dword [ebp - 0xec]
add edx, eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x100], edx
jmp 0x4195b3
and dword [eax + esi], 0
add esi, 4
dec dword [ebp - 0x130]
jne 0x41956b
mov dword [ebp - 0xf4], edi
mov edi, dword [ebp - 0xf0]
test byte [ebp - 0xa8], 0x40
je 0x4195e4
lea ecx, [ebp - 0xc0]
call fcn.00414ea0
mov edx, dword [ebp - 0x100]
xor eax, eax
inc eax
mov word [ebp - 0xa8], ax
mov eax, dword [ebp - 0xec]
cmp dword [ebp - 0xf4], eax
ja 0x419713
cmp edx, dword [ebp - 0x138]
ja 0x419713
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x124]
mov esi, dword [ebp - 0x104]
mov eax, dword [eax + esi*4]
mov esi, dword [ebp - 0xfc]
test eax, eax
je 0x4196af
mov esi, dword [ebp - 0x110]
test esi, esi
je 0x419640
lea ecx, [esi + eax]
jmp 0x41968e
mov eax, dword [ebp - 0x104]
mov ecx, dword [ecx + eax*4]
call fcn.00416af7
movzx esi, byte [edx + 0x21]
lea ecx, [ebp - 0xc0]
push ecx
mov ecx, dword [ebp - 0x104]
push esi
push eax
mov eax, dword [ebp - 0x124]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x12c]
call fcn.00415394
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x4181a8
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0x114]
push edi
mov edx, dword [edx + eax*4]
call fcn.00416b88
mov al, byte [ebp - 0x128]
pop ecx
mov byte [edi + 0x1b], al
jmp 0x4196e4
cmp dword [esi + 0x10], 0xfffffff8
jne 0x4196dd
mov esi, dword [esi + 0xc]
push 8
pop eax
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xf0]
movzx eax, word [edi + 0x18]
and dword [edi + 0x1c], 0
test al, 0x12
je 0x4196e4
and eax, 0xfcbf
or eax, 0x80
jmp 0x4196e0
xor eax, eax
inc eax
mov word [edi + 0x18], ax
test byte [ebp - 0xa8], 0x40
je 0x419701
mov ax, word [edi + 0x18]
mov ecx, 0xfeff
and ax, cx
or ax, 0x60
mov word [edi + 0x18], ax
mov ecx, edi
call fcn.00414cb8
mov dword [ebp - 0xec], eax
jmp 0x4181a8
mov dword [ebp - 0xec], 0xb
jmp 0x4181a8
and dword [ebp - 0x12c], 0
xor eax, eax
and dword [ebp - 0x100], 0
xor ecx, ecx
cmp dword [esi + 4], eax
mov edx, dword [esi + 0xc]
setl al
mov dword [ebp - 0xfc], ecx
inc ecx
mov dword [ebp - 0x10c], eax
test eax, eax
mov dword [ebp - 0xf8], edx
push 0xffffffffffffffff
pop eax
cmovne ecx, eax
mov eax, dword [esi + 8]
imul ecx, dword [esi + 4]
mov dword [ebp - 0x11c], eax
xor eax, eax
cmp byte [esi], 0x36
mov esi, edi
sete al
and dword [ebp - 0x130], 0
mov dword [ebp - 0x124], eax
mov eax, ecx
shl eax, 6
mov dword [ebp - 0xf0], ecx
sub esi, eax
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x110], esi
lea eax, [esi + 0x40]
movzx ecx, byte [ecx + 0x239]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x104], eax
cmp eax, edi
ja 0x419855
push 0xffffffffffffffe8
pop esi
sub esi, eax
test edx, edx
je 0x4197eb
push dword [ebp - 0x128]
mov ecx, dword [ebp - 0x104]
add eax, 0x18
add eax, esi
sar eax, 6
mov dl, byte [eax + edx]
call fcn.00417ee9
mov eax, dword [ebp - 0x104]
pop ecx
mov ecx, dword [ebp - 0x130]
xor edx, edx
inc edx
test byte [eax + 0x18], dl
cmovne ecx, edx
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x130], ecx
mov ecx, eax
call fcn.00416a2b
mov ecx, eax
call fcn.00416af7
add dword [ebp - 0x100], eax
push 0
push ecx
call fcn.0040baee
mov edx, dword [ebp - 0xf8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xfc]
add ecx, eax
mov eax, dword [ebp - 0x104]
add eax, 0x40
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0x104], eax
cmp eax, edi
jbe 0x4197c4
mov esi, dword [ebp - 0x110]
cmp dword [ebp - 0x124], 0
je 0x419899
mov ecx, esi
mov dword [ebp - 0x12c], esi
call fcn.00414fe7
xor edx, edx
mov ecx, esi
call fcn.00416a2b
mov ecx, eax
call fcn.00416af7
add dword [ebp - 0x100], eax
push 0
push ecx
call fcn.0040baee
pop ecx
pop ecx
mov ecx, dword [ebp - 0xfc]
add ecx, eax
mov dword [ebp - 0xfc], ecx
mov eax, ecx
cdq
push edx
push eax
call fcn.0040baee
mov esi, eax
mov eax, dword [ebp - 0xfc]
add eax, esi
mov dword [ebp - 0xfc], eax
cdq
push edx
push eax
call fcn.0040baee
add esp, 0x10
cmp esi, eax
mov eax, dword [ebp - 0xfc]
jge 0x4198cf
inc eax
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0x100]
add ecx, eax
mov dword [ebp - 0x100], ecx
cmp ecx, 0x20
jbe 0x419967
test ecx, ecx
jle 0x4198ff
call fcn.0040b14a
mov ecx, eax
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0xfc]
jmp 0x419907
xor ecx, ecx
mov dword [ebp - 0x104], ecx
test ecx, ecx
jne 0x419970
mov ecx, dword [ebp - 0xdc]
push 0
lea eax, [ecx + 0x230]
push str.out_of_memory
push eax
call fcn.0040b26f
add esp, 0xc
push 7
pop eax
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xec]
xor esi, esi
mov dword [eax + 0x80], ecx
inc esi
mov ecx, eax
call fcn.004165bf
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x2c], edi
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.004a5088
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x104], ecx
cdq
push edx
push eax
call fcn.0040b928
pop ecx
mov esi, eax
add esi, dword [ebp - 0x104]
pop ecx
mov ecx, dword [ebp - 0x114]
mov eax, ecx
mov dword [ebp - 0xf8], ecx
cmp ecx, edi
ja 0x4199c2
mov edx, dword [ebp - 0xf4]
mov ecx, eax
call fcn.00416a2b
push 0
push eax
mov ecx, esi
call fcn.0040b928
add esi, eax
mov eax, dword [ebp - 0xf8]
add eax, 0x40
mov dword [ebp - 0xf8], eax
pop ecx
pop ecx
cmp eax, edi
jbe 0x419994
cmp dword [ebp - 0x124], 0
je 0x4199e6
mov ecx, dword [ebp - 0x12c]
xor edx, edx
call fcn.00416a2b
push 0
push eax
mov ecx, esi
call fcn.0040b928
pop ecx
pop ecx
add esi, eax
mov eax, dword [ebp - 0x114]
jmp 0x419a0f
push dword [ebp - 0xf4]
mov edx, eax
mov ecx, esi
call fcn.00416b0a
add esi, eax
mov eax, dword [ebp - 0x114]
add eax, 0x40
pop ecx
mov dword [ebp - 0x114], eax
cmp eax, edi
jbe 0x4199ee
mov eax, dword [ebp - 0x124]
test eax, eax
je 0x419a33
mov edx, dword [ebp - 0x12c]
mov ecx, esi
push 0
call fcn.00416b0a
mov eax, dword [ebp - 0x124]
pop ecx
cmp dword [ebp - 0x10c], 0
jne 0x419a56
mov edx, dword [ebp - 0xf0]
lea ecx, [ebp - 0xe8]
lea edx, [eax + edx]
call fcn.00417e16
mov edi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x100]
add edi, 0x40
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov dword [edi + 0x14], ecx
cmp ecx, 0x20
ja 0x419a92
push ecx
lea ecx, [ebp - 0x24]
lea eax, [edi + 0x20]
push ecx
push eax
mov dword [edi + 0x10], eax
call fcn.004aa710
mov eax, 0x210
add esp, 0xc
mov word [edi + 0x18], ax
jmp 0x419aa6
mov eax, dword [ebp - 0x104]
mov dword [edi + 0x10], eax
push 0x50
pop eax
mov word [edi + 0x18], ax
and dword [edi + 0x1c], 0
mov eax, dword [ebp - 0x11c]
mov byte [edi + 0x1b], 1
test eax, eax
je 0x4181a8
cmp dword [ebp - 0x130], 0
mov edx, dword [ebp - 0xe0]
je 0x418083
lea ecx, [eax - 1]
jmp 0x4191ed
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0xe0]
test eax, eax
js 0x41c069
cmp eax, dword [edx]
jge 0x41c069
imul ecx, eax, 0x18
mov eax, dword [edx + 4]
mov eax, dword [ecx + eax + 4]
test eax, eax
je 0x418083
cmp byte [edx + 0x14], 0
jne 0x418083
mov esi, dword [eax + 4]
test esi, esi
je 0x419b19
cmp byte [esi + 0xc], 0
jne 0x418083
cmp byte [eax + 8], 2
jne 0x419b50
cmp byte [esi + 0xc], 0
jne 0x419b50
cmp byte [esi + 0xd], 0
je 0x419b34
and dword [ebp - 0xec], 0
jmp 0x419b47
mov ecx, dword [esi]
call fcn.0040f59c
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xec], eax
mov byte [esi + 0xc], 1
jmp 0x418083
xor ecx, ecx
inc ecx
cmp byte [esi + 0xd], 0
push 8
pop eax
cmovne ecx, eax
mov dword [ebp - 0xec], ecx
jmp 0x418083
mov edx, dword [ebp - 0xe0]
mov al, byte [esi + 4]
mov cl, byte [esi + 8]
mov byte [ebp - 0x13d], al
cmp dword [edx + 0x54], 1
mov byte [ebp - 0x115], cl
jle 0x419bcf
test al, al
je 0x419bcf
cmp byte [edx + 0x14], 0
jne 0x419bcf
push 0
test cl, cl
mov edx, str.commit
push str._transaction___SQL_statements_in_progress
mov eax, str.rollback
cmove eax, edx
push eax
mov eax, dword [ebp - 0xdc]
add eax, 0x230
push str.cannot
push eax
call fcn.0040b26f
add esp, 0x14
mov dword [ebp - 0xec], 1
jmp 0x4181a8
cmp al, byte [edx + 0x14]
jne 0x41c0a6
xor edx, edx
mov ecx, str.cannot_rollback___no_transaction_is_active
test al, al
mov eax, str.cannot_commit___no_transaction_is_active
push 0
sete dl
cmp byte [ebp - 0x115], 0
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmove eax, ecx
push eax
mov eax, dword [ebp - 0xdc]
add eax, 0x230
push eax
call fcn.0040b26f
add esp, 0xc
jmp 0x419bc0
imul ecx, dword [esi + 4], 0x18
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
je 0x418083
mov edx, dword [esi + 8]
call fcn.00410a92
push 5
mov ecx, eax
pop edx
mov dword [ebp - 0xec], ecx
cmp ecx, edx
je 0x41c11e
test ecx, ecx
je 0x4181a8
push 8
pop eax
cmp ecx, eax
jne 0x41b9fe
jmp 0x4181a8
mov ecx, dword [ebp - 0xe0]
lea eax, [ebp - 0x190]
mov edx, dword [esi + 8]
push eax
imul eax, dword [esi + 4], 0x18
inc edx
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx + 4]
call fcn.00413f7c
add edi, 0x40
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x190]
pop ecx
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
jmp 0x41909a
imul eax, dword [esi + 4], 0x18
mov ecx, dword [ebp - 0xe0]
add eax, dword [ecx + 4]
mov ecx, edi
mov dword [ebp - 0xf4], eax
call fcn.00414fe7
mov ecx, dword [ebp - 0xf4]
mov edx, dword [esi + 8]
push dword [edi]
inc edx
mov ecx, dword [ecx + 4]
call fcn.00413fe1
cmp dword [esi + 8], 0
mov edx, dword [ebp - 0xe0]
pop ecx
mov dword [ebp - 0xec], eax
jne 0x419cfa
mov eax, dword [ebp - 0xf4]
push 0x10
mov ecx, dword [eax + 0x14]
mov eax, dword [edi]
mov dword [ecx], eax
pop eax
or dword [edx + 8], eax
jmp 0x419d0e
cmp dword [esi + 8], 1
jne 0x419d0e
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 0x14]
mov al, byte [edi]
mov byte [ecx + 0x78], al
sub edi, 0x40
cmp dword [esi + 4], 1
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
jne 0x418083
mov ecx, edx
call fcn.00417129
jmp 0x418083
imul ecx, dword [esi + 4], 0x18
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
mov ecx, dword [ecx + eax + 4]
test ecx, ecx
je 0x419d68
lea eax, [ebp - 0x150]
xor edx, edx
push eax
inc edx
call fcn.00413f7c
mov edx, dword [ebp - 0xe0]
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x150]
jmp 0x419d72
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x418083
cmp eax, dword [esi + 8]
je 0x418083
mov eax, dword [ebp - 0xdc]
push ecx
add eax, 0x230
push str.database_schema_has_changed
push eax
call fcn.0040b26f
mov edx, dword [esi + 4]
add esp, 0xc
mov esi, dword [ebp - 0xe0]
imul ecx, edx, 0x18
mov eax, dword [esi + 4]
mov eax, dword [ecx + eax + 0x14]
mov ecx, dword [ebp - 0x150]
cmp dword [eax], ecx
je 0x419dc7
mov ecx, esi
call fcn.00420a15
mov edx, esi
mov ecx, edx
call fcn.00417129
mov dword [ebp - 0xec], 0x11
jmp 0x418083
mov eax, dword [esi + 4]
mov ecx, edi
mov dword [ebp - 0x104], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0xf4], eax
call fcn.00414fe7
mov eax, dword [edi]
sub edi, 0x40
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x11c], eax
imul eax, eax, 0x18
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
add eax, dword [ecx + 4]
cmp byte [esi], 9
mov ecx, dword [eax + 4]
mov dword [ebp - 0x124], ecx
jne 0x419e4f
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xf8], 1
mov al, byte [eax + 0x78]
cmp al, byte [ecx + 0x239]
jae 0x419e56
mov byte [ecx + 0x239], al
jmp 0x419e56
and dword [ebp - 0xf8], 0
cmp dword [ebp - 0xf4], 0
jg 0x419e7d
mov ecx, edi
call fcn.00414fe7
mov eax, dword [edi]
sub edi, 0x40
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
push dword [ebp - 0x11c]
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xdc]
call fcn.00417e3c
mov dword [ebp - 0x104], eax
pop ecx
test eax, eax
je 0x41990b
mov ecx, dword [ebp - 0x124]
mov byte [eax + 0x1c], 1
test ecx, ecx
je 0x4181a8
mov edx, dword [ebp - 0xf4]
push eax
push dword [esi + 0xc]
push fcn.00416d48
push dword [ebp - 0xf8]
call fcn.004111d1
mov edx, dword [ebp - 0x104]
add esp, 0x10
cmp dword [esi + 0x10], 0xfffffffa
mov ecx, eax
mov dword [ebp - 0xec], ecx
jne 0x419f0e
mov eax, dword [esi + 0xc]
mov dword [edx + 0x4c], eax
inc eax
mov ecx, dword [edx + 0x4c]
mov dword [edx + 0x48], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov byte [ecx], al
mov ecx, dword [ebp - 0xec]
jmp 0x419f18
and dword [edx + 0x4c], 0
lea eax, [edx + 0x22]
mov dword [edx + 0x48], eax
test ecx, ecx
je 0x419f50
push 5
pop eax
cmp ecx, eax
je 0x41c138
push 0x10
pop eax
cmp ecx, eax
jne 0x41b9fe
cmp dword [esi + 0x10], 0xfffffffa
setne al
test al, al
mov byte [edx + 0x20], al
sete al
and dword [ebp - 0xec], 0
mov byte [edx + 0x21], al
jmp 0x4181a8
mov eax, dword [edx]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x419f66
movzx ecx, byte [eax + 8]
mov eax, dword [eax + 0x44]
movzx ecx, byte [ecx + eax]
jmp 0x419f68
xor ecx, ecx
test cl, 0xf0
jne 0x419fa7
mov eax, ecx
and eax, 7
cmp eax, 5
je 0x419f7c
cmp eax, 2
jne 0x419fa7
mov al, cl
shr ecx, 1
and al, 1
and cl, 1
mov byte [edx + 0x20], al
mov byte [edx + 0x21], cl
test al, al
je 0x419f95
cmp dword [esi + 0x10], 0xfffffffa
je 0x419fa7
test cl, cl
je 0x4181a8
cmp dword [esi + 0x10], 0xfffffffa
je 0x4181a8
push 0xb
jmp 0x41b9f7
mov edx, dword [esi + 4]
or eax, 0xffffffff
push eax
call fcn.00417e3c
mov dword [ebp - 0x110], eax
pop ecx
test eax, eax
je 0x41990b
xor ecx, ecx
xor edx, edx
inc ecx
mov byte [eax + 0x1c], cl
add eax, 0x30
push eax
push 0x1f4
push ecx
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x104], eax
call fcn.004356d0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41a0de
mov ecx, dword [ebp - 0x104]
xor edx, edx
inc edx
mov ecx, dword [ecx]
call fcn.00410a92
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41a0de
cmp dword [esi + 0xc], eax
je 0x41a0a8
mov eax, dword [ebp - 0x104]
lea edx, [ebp - 0x194]
push 2
mov ecx, dword [eax]
call fcn.00413ab7
mov dword [ebp - 0xec], eax
pop ecx
test eax, eax
jne 0x41a09c
push dword [ebp - 0x110]
mov eax, dword [ebp - 0x104]
push dword [esi + 0xc]
mov edx, dword [ebp - 0x194]
push fcn.00416d48
mov ecx, dword [eax]
push 1
call fcn.004111d1
mov edx, dword [ebp - 0x110]
add esp, 0x10
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xdc]
mov dword [edx + 0x4c], ecx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
mov al, byte [eax + 0x79]
mov byte [ecx], al
mov eax, dword [edx + 0x4c]
inc eax
mov dword [edx + 0x48], eax
jmp 0x41a0a2
mov edx, dword [ebp - 0x110]
mov byte [edx + 0x20], 0
jmp 0x41a0e4
push dword [ebp - 0x110]
push eax
push eax
xor eax, eax
inc eax
push eax
mov edx, eax
mov eax, dword [ebp - 0x104]
mov ecx, dword [eax]
call fcn.004111d1
mov edx, dword [ebp - 0x110]
add esp, 0x10
mov dword [ebp - 0xec], eax
lea eax, [edx + 0x22]
mov byte [edx + 0x20], 1
mov dword [edx + 0x48], eax
jmp 0x41a0e4
mov edx, dword [ebp - 0x110]
mov eax, dword [esi + 8]
cmp byte [edx + 0x20], 0
mov dword [edx + 0x50], eax
sete al
mov byte [edx + 0x21], al
jmp 0x4181a8
mov edx, dword [esi + 4]
or eax, 0xffffffff
push eax
call fcn.00417e3c
pop ecx
test eax, eax
je 0x41990b
xor ecx, ecx
mov word [eax + 0x20], 1
inc ecx
mov byte [eax + 0x1c], cl
mov byte [eax + 0x1e], cl
lea ecx, [eax + 0x22]
mov dword [eax + 0x48], ecx
jmp 0x4181a8
mov esi, dword [esi + 4]
test esi, esi
js case.0x4180d7.13
cmp esi, dword [ecx + 0x38]
jge case.0x4180d7.13
mov edx, dword [ecx + 0x3c]
mov edx, dword [edx + esi*4]
call fcn.00415fb4
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0x3c]
and dword [eax + esi*4], 0
jmp case.0x4180d7.13
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x110], ecx
cmp dword [ecx], 0
je 0x41a2e6
mov byte [ecx + 0x1c], 0
cmp edx, 7
je 0x41a189
cmp edx, 0x54
je 0x41a189
xor edx, edx
jmp 0x41a18c
xor edx, edx
inc edx
mov eax, dword [ecx + 0x48]
mov byte [eax], dl
cmp byte [ecx + 0x20], 0
je 0x41a211
mov ecx, edi
call fcn.00414fe7
cmp dword [esi + 8], 0
mov eax, dword [edi]
mov edx, dword [edi + 4]
jne 0x41a1c3
cmp byte [esi], 0x7f
jne 0x41a1c3
mov ecx, dword [ebp - 0x110]
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
mov byte [ecx + 0x1f], 1
jmp 0x4185b9
lea ecx, [ebp - 0x13c]
push ecx
mov ecx, dword [ebp - 0x110]
push 0
push edx
push eax
mov ecx, dword [ecx]
xor edx, edx
call fcn.004117c8
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41b9fe
mov ecx, dword [ebp - 0x110]
mov eax, dword [edi]
mov edx, dword [ebp - 0x13c]
test edx, edx
mov dword [ecx + 8], eax
mov eax, dword [edi + 4]
mov dword [ecx + 0xc], eax
sete al
mov byte [ecx + 0x19], al
jmp 0x41a24c
mov ecx, dword [ecx]
lea eax, [ebp - 0x13c]
push eax
mov eax, dword [edi + 0x14]
cdq
push 0
push edx
mov edx, dword [edi + 0x10]
push eax
call fcn.004117c8
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41b9fe
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0x13c]
mov byte [ecx + 0x19], al
mov eax, dword [ecx + 0x48]
and dword [ecx + 0x68], 0
mov byte [ecx + 0x1f], 0
mov byte [eax], 0
mov eax, dword [ebp - 0x11c]
cmp eax, 0x7f
je 0x41a296
cmp eax, 7
je 0x41a296
test edx, edx
js 0x41a27d
mov ecx, dword [ecx]
lea edx, [ebp - 0x13c]
call fcn.00411ad5
jmp 0x41a2a7
mov eax, dword [ecx]
xor ecx, ecx
cmp byte [eax + 0x41], 1
setne cl
mov dword [ebp - 0x13c], ecx
mov ecx, dword [ebp - 0x110]
jmp 0x41a2c9
test edx, edx
jns 0x41a2c2
mov ecx, dword [ecx]
lea edx, [ebp - 0x13c]
call fcn.00411a05
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41b9fe
mov ecx, dword [ebp - 0x110]
mov byte [ecx + 0x19], al
jmp 0x41a2c9
and dword [ebp - 0x13c], 0
cmp dword [ebp - 0x13c], 0
je 0x41a2e6
mov eax, dword [esi + 8]
test eax, eax
jle 0x41a2e2
dec eax
mov dword [ebp - 0xe4], eax
jmp 0x41a2e6
mov byte [ecx + 0x1c], 1
test byte [edi + 0x18], 0x40
je 0x4185b9
mov ecx, edi
call fcn.00414ea0
jmp 0x4185b9
mov eax, dword [ebp - 0xdc]
xor edx, edx
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xf8], eax
cmp dword [eax], edx
je 0x41a376
test byte [edi + 0x18], 0x12
jne 0x41a333
movzx edx, byte [ebp - 0x128]
mov ecx, edi
call fcn.00414da2
test eax, eax
jne 0x41990b
mov ecx, dword [ebp - 0xf8]
lea eax, [ebp - 0x18c]
push eax
mov eax, dword [edi + 0x14]
cdq
mov ecx, dword [ecx]
push 0
push edx
mov edx, dword [edi + 0x10]
push eax
call fcn.004117c8
add esp, 0x10
test eax, eax
jne 0x41a366
cmp dword [ebp - 0x18c], eax
jne 0x41a366
xor edx, edx
inc edx
jmp 0x41a368
xor edx, edx
mov eax, dword [ebp - 0xf8]
and dword [eax + 0x68], 0
mov byte [eax + 0x1f], 0
mov al, byte [esi]
cmp al, 0x85
jne 0x41a382
test edx, edx
je 0x41a390
jmp 0x41a386
test edx, edx
jne 0x41a390
mov ecx, dword [esi + 8]
dec ecx
mov dword [ebp - 0xe4], ecx
cmp al, 0x6f
je 0x4181a8
jmp 0x41a2e6
mov esi, dword [esi + 4]
lea eax, [edi - 0x40]
mov ecx, edi
mov dword [ebp - 0xf8], eax
call fcn.00414fe7
mov eax, dword [edi]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x11c], eax
mov eax, dword [edi + 4]
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x124], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov eax, dword [eax + esi*4]
mov dword [ebp - 0x104], eax
mov eax, dword [eax]
mov dword [ebp - 0xf4], eax
test eax, eax
je case.0x4180d7.13
mov esi, edi
test byte [esi + 0x18], 0x12
jne 0x41a413
movzx edx, byte [ebp - 0x128]
mov ecx, esi
call fcn.00414da2
test eax, eax
jne 0x41990b
mov eax, dword [esi + 0x10]
mov ecx, eax
mov dword [ebp - 0xf8], eax
call fcn.00416fac
mov esi, dword [esi + 0x14]
mov ecx, dword [ebp - 0xf4]
sub esi, eax
mov eax, dword [ebp - 0x104]
and dword [eax + 0x68], 0
lea eax, [ebp - 0x14c]
push eax
mov eax, esi
cdq
push 0
push edx
mov edx, dword [ebp - 0xf8]
push eax
call fcn.004117c8
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41b9fe
cmp dword [ebp - 0x14c], eax
jge 0x41a49a
mov ecx, dword [ebp - 0xf4]
lea edx, [ebp - 0x14c]
call fcn.00411a05
cmp dword [ebp - 0x14c], 0
mov dword [ebp - 0xec], eax
je 0x41a49a
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 8]
jmp 0x418c97
mov ecx, dword [ebp - 0x104]
lea eax, [ebp - 0x14c]
push eax
push dword [ebp - 0xf8]
mov edx, esi
call fcn.0041708f
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41b9fe
cmp dword [ebp - 0x14c], eax
jg 0x41a48c
mov ecx, dword [ebp - 0xf4]
lea edx, [ebp - 0x1b0]
call fcn.00416fd6
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41b9fe
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1ac]
cmp ecx, dword [ebp - 0x11c]
jne 0x41a50b
cmp eax, dword [ebp - 0x124]
je 0x41a48c
add edi, 0x40
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov dword [edi], ecx
jmp 0x4188b9
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x11c], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x41a2e6
lea eax, [ebp - 0x198]
xor edx, edx
push eax
push 0
push dword [edi + 4]
push dword [edi]
call fcn.004117c8
mov edx, dword [ebp - 0x11c]
add esp, 0x10
mov ecx, dword [ebp - 0x198]
test ecx, ecx
mov dword [ebp - 0xec], eax
mov eax, dword [edi]
mov dword [edx + 8], eax
mov eax, dword [edi + 4]
mov dword [edx + 0xc], eax
sete al
and dword [edx + 0x68], 0
mov byte [edx + 0x19], al
mov byte [edx + 0x1c], 0
test ecx, ecx
je 0x41a2e6
mov eax, dword [esi + 8]
dec eax
mov byte [edx + 0x19], 0
mov dword [ebp - 0xe4], eax
jmp 0x41a2e6
mov eax, dword [ecx + 0x3c]
add edi, 0x40
mov edx, dword [esi + 4]
push 4
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx + 0x58]
mov dword [edi], eax
mov eax, dword [ecx + 0x5c]
mov ecx, dword [ebp - 0xdc]
mov dword [edi + 4], eax
mov eax, dword [ecx + 0x3c]
mov eax, dword [eax + edx*4]
add dword [eax + 0x58], 1
adc dword [eax + 0x5c], 0
pop eax
mov word [edi + 0x18], ax
jmp case.0x4180d7.13
mov eax, dword [ebp - 0xdc]
xorps xmm0, xmm0
mov ecx, dword [esi + 4]
movlpd qword [ebp - 0x108], xmm0
mov eax, dword [eax + 0x3c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x10c], edx
mov ecx, dword [edx]
test ecx, ecx
je 0x41a8ed
and dword [ebp - 0xf4], 0
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x41a62a
movzx ecx, byte [eax + 8]
mov eax, dword [eax + 0x44]
movzx eax, byte [ecx + eax]
mov ecx, dword [edx]
jmp 0x41a62c
xor eax, eax
and al, 3
cmp al, 1
jne 0x419fa7
cmp byte [edx + 0x1b], 0
jne 0x41a7ab
cmp byte [edx + 0x1d], 0
je 0x41a64e
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
jmp 0x41a6c6
lea edx, [ebp - 0x134]
call fcn.0041179d
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41b9fe
cmp dword [ebp - 0x134], eax
je 0x41a674
inc eax
jmp 0x41a6c0
mov ecx, dword [ebp - 0x10c]
lea edx, [ebp - 0x108]
mov ecx, dword [ecx]
call fcn.00411340
mov eax, dword [ebp - 0x108]
or ecx, 0xffffffff
cmp eax, ecx
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0xfc], ecx
jne 0x41a6ba
cmp ecx, 0x7fffffff
jne 0x41a6ba
mov edx, dword [ebp - 0x10c]
mov byte [edx + 0x1b], 1
jmp 0x41a6d2
add eax, 1
adc ecx, 0
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xfc], ecx
mov esi, dword [esi + 8]
test esi, esi
je 0x41a768
mov eax, dword [ebp - 0xdc]
shl esi, 6
add esi, dword [eax + 0x58]
mov ecx, esi
call fcn.00414fe7
mov ecx, dword [esi]
or edx, 0xffffffff
mov eax, dword [esi + 4]
cmp ecx, edx
jne 0x41a707
cmp eax, 0x7fffffff
je 0x41c163
mov edx, dword [ebp - 0x10c]
cmp byte [edx + 0x1b], 0
jne 0x41c163
add ecx, 1
mov dword [ebp - 0xf8], ecx
mov ecx, dword [ebp - 0xfc]
adc eax, 0
mov dword [ebp - 0x11c], eax
cmp ecx, eax
jg 0x41a75d
jl 0x41a743
mov eax, dword [ebp - 0xe8]
cmp eax, dword [ebp - 0xf8]
jae 0x41a763
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xfc], ecx
jmp 0x41a763
mov eax, dword [ebp - 0xe8]
mov dword [esi], eax
mov dword [esi + 4], ecx
cmp ecx, 0x7fffffff
ja 0x41a79f
jb 0x41a779
or esi, 0xffffffff
cmp eax, esi
jae 0x41a79f
mov ecx, eax
mov byte [edx + 0x1d], 1
mov eax, dword [ebp - 0xfc]
add ecx, 1
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0xfc]
adc eax, 0
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0xe8]
jmp 0x41a7b7
mov eax, dword [ebp - 0xe8]
mov byte [edx + 0x1d], 0
jmp 0x41a7b7
mov ecx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x108]
cmp byte [edx + 0x1b], 0
je 0x41a8df
mov eax, dword [ebp - 0xe0]
xor esi, esi
mov ecx, dword [eax + 0x2c]
mov edi, dword [eax + 0x28]
mov dword [ebp - 0x108], edi
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0x104], ecx
mov eax, edi
or eax, ecx
je 0x41a81b
cmp esi, 2
jg 0x41a81b
xor ecx, ecx
lea edx, [ebp - 0x13e]
inc ecx
call fcn.0040a950
movzx eax, byte [ebp - 0x13e]
mov ecx, dword [ebp - 0xfc]
inc eax
cdq
add edi, eax
adc ecx, edx
mov dword [ebp - 0x108], edi
mov dword [ebp - 0x104], ecx
jmp 0x41a848
push 8
pop eax
lea edx, [ebp - 0x108]
mov ecx, eax
call fcn.0040a950
mov edi, dword [ebp - 0x108]
push 5
pop eax
cmp esi, eax
jge 0x41a842
and edi, 0xffffff
xor ecx, ecx
jmp 0x41a80d
mov ecx, dword [ebp - 0x104]
mov eax, edi
mov dword [ebp - 0xfc], ecx
or eax, ecx
je 0x41a880
lea eax, [ebp - 0x134]
xor edx, edx
push eax
mov eax, dword [ebp - 0x10c]
push 0
push ecx
push edi
mov ecx, dword [eax]
call fcn.004117c8
mov ecx, dword [ebp - 0xfc]
add esp, 0x10
mov dword [ebp - 0xf4], eax
inc esi
jmp 0x41a886
mov eax, dword [ebp - 0xf4]
cmp esi, 0x3e8
jge 0x41a89e
test eax, eax
jne 0x41a89e
cmp dword [ebp - 0x134], eax
je 0x41a7e1
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe8], edi
mov dword [edx + 0x28], edi
mov edi, dword [ebp - 0xf0]
mov dword [edx + 0x2c], ecx
test eax, eax
jne 0x41a8d3
cmp dword [ebp - 0x134], 0
je 0x41c163
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xe8]
and dword [edx + 0x68], 0
mov byte [edx + 0x19], 0
mov byte [edx + 0x1f], 0
jmp 0x41a8f9
mov ecx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x108]
add edi, 0x40
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov dword [edi], eax
jmp 0x418c41
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x104], ecx
cmp dword [ecx], 0
jne 0x41a933
cmp byte [ecx + 0x1e], 0
je 0x41aac3
test byte [esi + 8], 1
mov edx, dword [edi - 0x40]
mov eax, dword [edi - 0x3c]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xf4], eax
je 0x41a957
mov eax, dword [ebp - 0xdc]
inc dword [eax + 0x23c]
test byte [esi + 8], 2
je 0x41a975
mov esi, dword [ebp - 0xe0]
mov eax, dword [edi - 0x40]
mov dword [esi + 0x20], eax
mov eax, dword [edi - 0x3c]
mov dword [esi + 0x24], eax
mov esi, dword [ebp - 0xfc]
cmp byte [ecx + 0x1d], 0
je 0x41a991
mov eax, dword [edi - 0x3c]
cmp eax, dword [ecx + 0x14]
jl 0x41a991
jg 0x41a98d
mov eax, dword [edi - 0x40]
cmp eax, dword [ecx + 0x10]
jb 0x41a991
mov byte [ecx + 0x1d], 0
test byte [edi + 0x18], 1
je 0x41a99f
and dword [edi + 0x10], 0
and dword [edi + 0x14], 0
cmp byte [ecx + 0x1e], 0
je 0x41aa3c
push dword [ecx + 0x38]
call fcn.0040b198
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0xf8]
pop ecx
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0xf4]
mov dword [edx + 0x44], eax
mov ecx, dword [edi + 0x14]
mov dword [edx + 0x34], ecx
test byte [edi + 0x18], 0x40
je 0x41a9e5
mov eax, dword [edi + 0x10]
mov dword [edx + 0x38], eax
xor eax, eax
inc eax
mov word [edi + 0x18], ax
jmp 0x41aa30
add ecx, 2
test ecx, ecx
jle 0x41a9f9
call fcn.0040b14a
mov edx, dword [ebp - 0x104]
jmp 0x41a9fb
xor eax, eax
mov dword [edx + 0x38], eax
test eax, eax
je 0x41990b
push dword [edx + 0x34]
push dword [edi + 0x10]
push eax
call fcn.004aa710
mov edx, dword [ebp - 0x104]
add esp, 0xc
mov ecx, dword [edx + 0x38]
mov eax, dword [edx + 0x34]
mov byte [ecx + eax], 0
mov ecx, dword [edx + 0x38]
mov eax, dword [edx + 0x34]
mov byte [ecx + eax + 1], 0
mov eax, dword [ebp - 0xec]
mov byte [edx + 0x1c], 0
jmp 0x41aa69
mov eax, dword [esi + 8]
mov ecx, dword [ecx]
and eax, 8
push eax
push dword [edi + 0x14]
mov eax, dword [ebp - 0xf4]
push dword [edi + 0x10]
push eax
push edx
xor edx, edx
call fcn.004136f2
mov edx, dword [ebp - 0x104]
add esp, 0x14
mov dword [ebp - 0xec], eax
and dword [edx + 0x68], 0
mov byte [edx + 0x19], 0
mov byte [edx + 0x1f], 0
test eax, eax
jne 0x41aac3
mov eax, dword [ebp - 0xe0]
mov edi, dword [eax + 0x7c]
test edi, edi
je 0x41aac3
cmp dword [esi + 0xc], 0
je 0x41aac3
push dword [ebp - 0xf4]
imul ecx, dword [edx + 4], 0x18
push dword [ebp - 0xf8]
mov eax, dword [eax + 4]
push dword [esi + 0xc]
push dword [ecx + eax]
push 4
pop eax
test byte [esi + 8], al
push 0x12
pop eax
push 0x17
pop ecx
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0xe0]
push dword [eax + 0x78]
call edi
add esp, 0x18
push 2
pop edx
jmp 0x41840d
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xf4], ecx
mov eax, dword [ecx]
test eax, eax
je 0x41abb7
mov edx, dword [ebp - 0xe0]
cmp dword [edx + 0x7c], 0
je 0x41ab39
cmp dword [esi + 0xc], 0
je 0x41ab39
cmp byte [ecx + 0x19], 0
je 0x41ab16
mov eax, dword [ecx + 8]
mov dword [ebp - 0x188], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x184], eax
jmp 0x41ab39
lea edx, [ebp - 0x188]
mov ecx, eax
call fcn.00411340
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41b9fe
mov ecx, dword [ebp - 0xf4]
call fcn.004169c3
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41b9fe
mov ecx, dword [ebp - 0xf4]
mov ecx, dword [ecx]
call fcn.00413883
mov ecx, eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xec], ecx
and dword [eax + 0x68], 0
mov byte [eax + 0x1d], 0
test ecx, ecx
jne 0x41abb7
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0x7c]
test edx, edx
je 0x41abb7
cmp dword [esi + 0xc], 0
je 0x41abb7
imul ecx, dword [eax + 4], 0x18
push dword [ebp - 0x184]
mov eax, dword [ebp - 0xe0]
push dword [ebp - 0x188]
push dword [esi + 0xc]
mov eax, dword [eax + 4]
push dword [ecx + eax]
mov eax, dword [ebp - 0xe0]
push 9
push dword [eax + 0x78]
call edx
add esp, 0x18
test byte [esi + 8], 1
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe4]
je 0x41c06f
inc dword [ecx + 0x23c]
jmp 0x41c06f
cmp dword [esi + 4], 0
mov edx, dword [ebp - 0xe0]
je 0x41abf6
mov eax, dword [ecx + 0x23c]
add dword [edx + 0x38], eax
mov dword [edx + 0x34], eax
and dword [ecx + 0x23c], 0
jmp 0x41c069
mov eax, dword [ebp - 0xdc]
add edi, 0x40
mov ecx, dword [esi + 4]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x11c], esi
cmp byte [esi + 0x1c], 0
jne 0x41ad20
mov eax, dword [esi]
mov dword [ebp - 0x104], eax
test eax, eax
je 0x41acfd
mov ecx, esi
call fcn.004169c3
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41b9fe
cmp byte [esi + 0x1c], al
jne 0x41869e
mov ecx, dword [ebp - 0x104]
cmp byte [esi + 0x21], al
je 0x41ac84
lea edx, [ebp - 0x1e0]
call fcn.00411340
mov esi, dword [ebp - 0x1e0]
mov dword [ebp - 0x178], esi
jmp 0x41ac95
lea edx, [ebp - 0x178]
call fcn.00411380
mov esi, dword [ebp - 0x178]
mov dword [edi + 0x14], esi
cmp esi, 0x20
ja 0x41acab
mov eax, 0x210
mov word [edi + 0x18], ax
lea eax, [edi + 0x20]
jmp 0x41accd
test esi, esi
jle 0x41acb8
mov ecx, esi
call fcn.0040b14a
jmp 0x41acba
xor eax, eax
test eax, eax
je 0x41990b
push 0x50
pop ecx
mov word [edi + 0x18], cx
and dword [edi + 0x1c], 0
mov ecx, dword [ebp - 0x104]
xor edx, edx
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x11c]
push dword [edi + 0x10]
push esi
cmp byte [eax + 0x21], dl
je 0x41acee
call fcn.00411504
jmp 0x41acf3
call fcn.00411546
pop ecx
pop ecx
mov dword [ebp - 0xec], eax
jmp 0x41ad18
cmp byte [esi + 0x1e], 0
je 0x41ad20
mov eax, dword [esi + 0x34]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x38]
mov dword [edi + 0x10], eax
mov eax, 0x110
mov word [edi + 0x18], ax
xor eax, eax
inc eax
jmp 0x4182e6
xor eax, eax
inc eax
mov word [edi + 0x18], ax
jmp 0x4182e6
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.004169c3
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41b9fe
add edi, 0x40
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
cmp byte [esi + 0x19], al
je 0x41ad6e
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
jmp 0x41ad7a
cmp byte [esi + 0x1e], 0
je 0x41ad8b
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], ecx
jmp 0x41a908
cmp byte [esi + 0x1c], 0
jne 0x41869e
mov ecx, dword [esi]
test ecx, ecx
je 0x41869e
lea edx, [ebp - 0x170]
call fcn.00411340
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x170]
jmp 0x41a908
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp 0x4181a8
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x11c], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x41ae38
lea edx, [ebp - 0x1a0]
call fcn.0041179d
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x1a0]
and dword [ecx + 0x68], 0
mov byte [ecx + 0x1f], 0
mov byte [ecx + 0x1c], al
test eax, eax
je 0x4181a8
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0xe0]
test eax, eax
jle 0x418083
jmp 0x419acb
mov byte [eax + 0x1c], 0
jmp 0x4181a8
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xf8], ecx
mov eax, dword [ecx]
mov dword [ebp - 0x11c], eax
test eax, eax
je 0x41aec0
mov ecx, eax
call fcn.0041167b
mov edx, eax
mov dword [ebp - 0xec], edx
test edx, edx
jne 0x41aea1
mov ecx, dword [ebp - 0x11c]
cmp byte [ecx + 0x41], al
jne 0x41ae8f
inc eax
and dword [ebp - 0xec], edx
mov dword [ebp - 0x144], eax
jmp 0x41aea7
and dword [ebp - 0x144], 0
call fcn.00411726
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0xf8]
test eax, eax
sete al
mov byte [ecx + 0x1a], al
mov eax, dword [ebp - 0x144]
jmp 0x41ae0f
xor eax, eax
inc eax
mov dword [ebp - 0x144], eax
jmp 0x41ae17
mov edx, dword [ebp - 0xe0]
cmp dword [edx + 0x98], 0
jne 0x41c2a8
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x11c], ecx
test ecx, ecx
je 0x418083
mov eax, dword [ecx]
test eax, eax
je 0x41af69
cmp byte [ecx + 0x1c], 0
je 0x41af16
mov dword [ebp - 0x164], 1
jmp 0x41af60
cmp byte [ebp - 0x115], 0x6d
lea edx, [ebp - 0x164]
mov ecx, eax
jne 0x41af2e
call fcn.00411a05
jmp 0x41af33
call fcn.00411ad5
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x164]
and dword [ecx + 0x68], 0
mov byte [ecx + 0x1c], al
test eax, eax
jne 0x41af5a
mov edx, dword [esi + 8]
dec edx
mov dword [ebp - 0xe4], edx
mov edx, dword [ebp - 0xe0]
mov byte [ecx + 0x19], 0
jmp 0x418083
mov byte [ecx + 0x1c], 1
jmp 0x41af60
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x11c], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x41a2e6
push dword [esi + 8]
mov eax, dword [edi + 0x14]
push 0
cdq
push 0x4e870e
push edx
mov edx, dword [edi + 0x10]
push eax
call fcn.004136f2
add esp, 0x14
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x11c]
and dword [eax + 0x68], 0
jmp 0x41a2e6
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x11c], eax
mov esi, dword [eax]
test esi, esi
je 0x41a2e6
lea eax, [ebp - 0x19c]
mov ecx, esi
push eax
mov eax, dword [edi + 0x14]
cdq
push 0
push edx
mov edx, dword [edi + 0x10]
push eax
call fcn.004117c8
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41afaf
cmp dword [ebp - 0x19c], eax
jne 0x41afaf
mov ecx, esi
call fcn.00413883
jmp 0x41afa9
mov ecx, dword [esi + 4]
add edi, 0x40
xor eax, eax
mov dword [ebp - 0xf0], edi
inc eax
mov dword [ebp - 0xe8], edi
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
test ecx, ecx
je 0x4181a8
cmp byte [eax + 0x1c], 0
jne 0x41869e
lea edx, [ebp - 0x1b8]
call fcn.00416fd6
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41b9fe
push 4
pop eax
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x1b8]
mov dword [edi], eax
mov eax, dword [ebp - 0x1b4]
mov dword [edi + 4], eax
jmp 0x4181a8
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xf4], eax
cmp dword [eax], 0
je 0x41a2e6
test byte [edi + 0x18], 0x12
jne 0x41b0c7
movzx edx, byte [ebp - 0x128]
mov ecx, edi
call fcn.00414da2
test eax, eax
jne 0x41990b
mov eax, dword [ebp - 0xf4]
cmp dword [esi + 0xc], 0
mov eax, dword [eax + 0x48]
setne cl
mov byte [eax], cl
lea eax, [ebp - 0x148]
mov edx, dword [edi + 0x14]
mov ecx, dword [ebp - 0xf4]
push eax
push dword [edi + 0x10]
call fcn.0041708f
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xec], ecx
mov eax, dword [eax + 0x48]
mov byte [eax], 0
test ecx, ecx
jne 0x4181a8
mov al, byte [esi]
cmp al, 0x26
jne 0x41b119
mov eax, dword [ebp - 0x148]
neg eax
jmp 0x41b124
cmp al, 0x3f
mov eax, dword [ebp - 0x148]
jne 0x41b12a
inc eax
mov dword [ebp - 0x148], eax
test eax, eax
jle 0x41a2e6
mov eax, dword [esi + 8]
jmp 0x41a2d9
mov edx, dword [ebp - 0xe0]
xor ecx, ecx
mov eax, dword [edx + 0x50]
test eax, eax
je 0x41b17d
cmp dword [eax + 0x50], 0xbdf20da3
jne 0x41b162
cmp byte [eax + 0x23a], 2
jae 0x41b162
cmp dword [eax + 0x7c], 0
jl 0x41b162
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x41b149
cmp ecx, 1
jle 0x41b17d
mov dword [ebp - 0xec], 6
jmp 0x418083
mov ecx, dword [edx + 4]
lea eax, [ebp - 0x160]
mov edx, dword [esi + 4]
push eax
imul eax, dword [esi + 8], 0x18
mov ecx, dword [eax + ecx + 4]
call fcn.00413dfc
add edi, 0x40
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
pop ecx
mov ecx, dword [ebp - 0x160]
push 4
pop eax
mov word [edi + 0x18], ax
mov eax, ecx
cdq
mov dword [edi], eax
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov dword [edi + 4], edx
jne 0x4181a8
test ecx, ecx
je 0x4181a8
mov eax, dword [esi + 4]
imul edx, dword [esi + 8], 0x18
mov esi, ecx
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xe0]
add edx, dword [eax + 4]
mov dword [ebp - 0x11c], edx
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x41b21c
mov edx, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x41b210
mov dword [ecx + 0x14], edx
mov eax, dword [eax]
test eax, eax
jne 0x41b205
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0x28]
test eax, eax
je 0x4181a8
mov edi, dword [ebp - 0xf8]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], esi
jne 0x41b23b
mov dword [ecx + 0x14], edi
mov eax, dword [eax]
test eax, eax
jne 0x41b230
mov edi, dword [ebp - 0xf0]
jmp 0x4181a8
imul eax, dword [esi + 8], 0x18
mov ecx, dword [ebp - 0xe0]
mov edx, dword [esi + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [eax + ecx + 4]
call fcn.00413db2
jmp 0x419708
imul ecx, dword [esi + 4], 0x18
mov eax, dword [ebp - 0xe0]
push 2
add ecx, dword [eax + 4]
cmp byte [ebp - 0x115], 0x33
pop eax
push 5
mov ecx, dword [ecx + 4]
pop edx
cmove eax, edx
lea edx, [ebp - 0x154]
push eax
call fcn.00413ab7
mov esi, dword [ebp - 0xe4]
add edi, 0x40
pop ecx
mov ecx, eax
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe8], edi
test ecx, ecx
jne 0x41b2cd
mov eax, dword [ebp - 0x154]
cdq
mov dword [edi], eax
push 4
pop eax
mov dword [edi + 4], edx
mov word [edi + 0x18], ax
jmp 0x41b2d4
xor ecx, ecx
inc ecx
mov word [edi + 0x18], cx
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
jmp 0x41c06f
cmp dword [esi + 8], 0
mov edx, dword [esi + 4]
jne 0x41b308
mov eax, dword [ebp - 0xe0]
imul ecx, edx, 0x18
mov eax, dword [eax + 4]
mov eax, dword [ecx + eax + 0x14]
test byte [eax + 0x7a], 1
je 0x4181a8
push dword [esi + 0xc]
cmp edx, 1
mov dword [ebp - 0x1d4], edx
mov eax, str.sqlite_master
mov ecx, str.sqlite_temp_master
cmovne ecx, eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0xdc]
add eax, 0x230
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0xe0]
push ecx
imul ecx, edx, 0x18
mov eax, dword [eax + 4]
push dword [ecx + eax]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
call fcn.0040a77b
mov esi, eax
add esp, 0x10
test esi, esi
je 0x41990b
mov ecx, dword [ebp - 0xe0]
call fcn.0040b8e0
push 0
lea eax, [ebp - 0x1d8]
mov byte [ecx + 0x44], 1
push eax
push fcn.0042938b
push esi
push ecx
call fcn.00427951
add esp, 0x14
push 4
pop ecx
cmp eax, ecx
push esi
cmove eax, dword [ebp - 0x1cc]
mov dword [ebp - 0xec], eax
call fcn.0040b198
mov edx, dword [ebp - 0xe0]
pop ecx
mov ecx, edx
mov byte [edx + 0x44], 0
call fcn.0040b8b5
cmp dword [ebp - 0xec], 7
jne 0x418083
call fcn.0040bc24
jmp 0x41990b
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0xe0]
call fcn.0041fb99
jmp 0x4181a8
push dword [esi + 0xc]
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0xe0]
call fcn.00420ca6
pop ecx
jmp 0x4181a8
push dword [esi + 0xc]
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0xe0]
call fcn.00420991
jmp 0x41b3f1
push dword [esi + 0xc]
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0xe0]
call fcn.0042e4a1
jmp 0x41b3f1
xor edx, edx
mov dword [ebp - 0xf4], edx
cmp edi, dword [ecx + 0x28]
jb 0x41b44f
mov ecx, edi
push 4
pop eax
test byte [ecx + 0x18], al
je 0x41b449
inc edx
mov ecx, edi
mov eax, edx
shl eax, 6
sub ecx, eax
mov eax, dword [ebp - 0xdc]
cmp ecx, dword [eax + 0x28]
jae 0x41b42c
mov dword [ebp - 0xf4], edx
lea ecx, [edx*4 + 4]
test ecx, ecx
jle 0x41b467
call fcn.0040b14a
mov edx, dword [ebp - 0xf4]
jmp 0x41b469
xor eax, eax
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x100], eax
test eax, eax
je 0x419911
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [ecx + 0x58]
xor ecx, ecx
mov dword [ebp - 0xf8], eax
test edx, edx
jle 0x41b4ab
mov esi, dword [ebp - 0x100]
mov eax, dword [edi]
lea edi, [edi - 0x40]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x41b498
mov esi, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x100]
and dword [eax + ecx*4], 0
lea ecx, [ebp - 0xe8]
call fcn.00417e16
mov ecx, dword [ebp - 0xe0]
lea eax, [ebp - 0x174]
mov edi, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x100]
add edi, 0x40
push eax
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
push dword [eax]
imul eax, dword [esi + 8], 0x18
push dword [ebp - 0xf4]
mov ecx, dword [eax + ecx + 4]
call fcn.004147c0
mov esi, dword [ebp - 0xf8]
mov ecx, eax
mov eax, dword [ebp - 0x174]
add esp, 0xc
cdq
sub dword [esi], eax
sbb dword [esi + 4], edx
cmp dword [ebp - 0x174], 0
jne 0x41b52f
xor eax, eax
inc eax
mov word [edi + 0x18], ax
jmp 0x41b54f
mov dword [edi + 0x10], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b535
sub ecx, edx
push 0x62
pop eax
mov dword [edi + 0x14], ecx
mov word [edi + 0x18], ax
xor eax, eax
and dword [edi + 0x1c], 0
inc eax
movzx edx, byte [ebp - 0x128]
mov ecx, edi
mov byte [edi + 0x1b], al
call fcn.00414c43
push dword [ebp - 0x100]
call fcn.0040b198
jmp 0x41b3f1
mov ecx, edi
call fcn.00414fe7
push dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
push dword [edi]
lea ecx, [ecx + 0x64]
call fcn.00414b75
pop ecx
pop ecx
jmp 0x4185b9
mov edx, dword [ebp - 0xe0]
cmp dword [edx + 0x98], 0
jne 0x41c2a8
add ecx, 0x64
lea edx, [ebp - 0x1c8]
call fcn.00414bd2
mov edx, dword [ebp - 0xe0]
cmp eax, 0x65
je 0x4191e9
mov eax, dword [ebp - 0x1c8]
add edi, 0x40
push 4
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
mov dword [edi], eax
mov eax, dword [ebp - 0x1c4]
mov dword [edi + 4], eax
pop eax
mov word [edi + 0x18], ax
jmp 0x418083
mov esi, dword [ecx + 0x70]
lea eax, [esi + 1]
mov dword [ecx + 0x70], eax
cmp esi, dword [ecx + 0x74]
jl 0x41b61d
mov dword [ecx + 0x74], eax
lea eax, [esi + 1]
mov ecx, dword [ecx + 0x78]
imul edx, eax, 0x18
call fcn.0040b1dd
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x78], eax
test eax, eax
je 0x419911
mov edx, dword [ebp - 0xe0]
imul edi, esi, 0x18
lea esi, [ecx + 0x64]
mov eax, dword [edx + 0x20]
add edi, dword [ecx + 0x78]
mov dword [edi], eax
mov eax, dword [edx + 0x24]
mov dword [edi + 4], eax
mov eax, dword [ecx + 0x23c]
mov dword [edi + 8], eax
add edi, 0xc
xor eax, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ecx + 0x64]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [ebp - 0xf0]
jmp 0x418083
dec dword [ecx + 0x70]
lea edi, [ecx + 0x64]
imul esi, dword [ecx + 0x70], 0x18
mov edx, dword [ebp - 0xe0]
add esi, dword [ecx + 0x78]
mov eax, dword [esi]
mov dword [edx + 0x20], eax
mov eax, dword [esi + 4]
mov dword [edx + 0x24], eax
mov eax, dword [esi + 8]
mov dword [ecx + 0x23c], eax
mov ecx, edi
call fcn.00414c20
add esi, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x41b241
mov eax, dword [ebp - 0xdc]
mov edx, edi
mov ecx, dword [esi + 4]
shl ecx, 6
add ecx, dword [eax + 0x58]
call fcn.00415094
sub edi, 0x40
mov dword [ebp - 0xec], eax
cmp dword [esi + 8], 0
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
jne 0x4181a8
mov esi, dword [esi + 4]
add edi, 0x40
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
shl esi, 6
push 8
add esi, dword [eax + 0x58]
pop eax
mov ecx, eax
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe8], edi
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xe4]
movzx eax, word [edi + 0x18]
and dword [edi + 0x1c], 0
test al, 0x12
je 0x41b71a
and eax, 0xfd3f
mov ecx, 0x100
or eax, ecx
mov word [edi + 0x18], ax
mov ecx, dword [ebp - 0xdc]
jmp 0x41c06f
mov esi, dword [esi + 4]
shl esi, 6
add esi, dword [ecx + 0x58]
mov ecx, esi
call fcn.00414fe7
mov ecx, edi
call fcn.00414fe7
mov ecx, dword [edi + 4]
mov eax, dword [edi]
cmp dword [esi + 4], ecx
jg 0x4181a8
jl 0x41b754
cmp dword [esi], eax
jae 0x4181a8
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x4181a8
mov ecx, dword [esi + 8]
mov eax, dword [ebp - 0xdc]
shl ecx, 6
add ecx, dword [eax + 0x58]
mov eax, dword [esi + 4]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp 0x4181a8
mov eax, dword [esi + 4]
mov ecx, dword [ecx + 0x58]
shl eax, 6
cmp dword [eax + ecx + 4], 0
jl 0x4181a8
jg 0x418c94
cmp dword [eax + ecx], 0
jbe 0x4181a8
jmp 0x418c94
mov eax, dword [esi + 4]
mov ecx, dword [ecx + 0x58]
shl eax, 6
cmp dword [eax + ecx + 4], 0
jg 0x4181a8
jl 0x418c94
cmp dword [eax + ecx], 0
jae 0x4181a8
jmp 0x418c94
mov edx, dword [esi + 4]
mov ecx, dword [ecx + 0x58]
shl edx, 6
mov eax, dword [edx + ecx]
or eax, dword [edx + ecx + 4]
mov edx, dword [ebp - 0xe0]
jne 0x418083
jmp 0x4191e9
mov esi, dword [esi + 4]
shl esi, 6
add esi, dword [ecx + 0x58]
mov ecx, esi
call fcn.00414ea0
xor ecx, ecx
push 5
inc ecx
and dword [esi + 0x14], 0
pop eax
mov word [esi + 0x18], cx
mov byte [esi + 0x1a], al
jmp 0x4181a8
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
cdq
push edx
push eax
mov eax, dword [ebp - 0xdc]
shl ecx, 6
add ecx, dword [eax + 0x58]
call fcn.00415025
pop ecx
jmp 0x41b3f1
mov edx, dword [esi + 8]
mov eax, dword [ebp - 0xdc]
shl edx, 6
add edx, dword [ecx + 0x58]
mov ecx, dword [esi + 4]
shl ecx, 6
add ecx, dword [eax + 0x58]
call fcn.00415094
jmp 0x419708
mov ecx, dword [esi + 8]
xor edx, edx
mov eax, ecx
mov dword [ebp - 0xf4], ecx
shl eax, 6
sub edi, eax
mov eax, dword [ebp - 0xdc]
add edi, 0x40
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xf8], eax
test ecx, ecx
jle 0x41b8a4
mov esi, ecx
mov ecx, edi
mov dword [eax + edx*4], edi
call fcn.00417deb
mov eax, dword [ebp - 0xf8]
inc edx
add edi, 0x40
cmp edx, esi
jl 0x41b880
mov esi, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xf4]
mov eax, dword [esi + 0xc]
mov edi, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], eax
mov eax, dword [esi + 4]
shl eax, 6
add eax, dword [edi + 0x58]
mov dword [ebp - 0x90], eax
inc dword [eax + 0x14]
xor eax, eax
mov edx, dword [ebp - 0xd8]
inc eax
mov word [ebp - 0xb8], ax
xor eax, eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb4], eax
mov byte [ebp - 0x8c], al
mov dword [ebp - 0x88], eax
cmp byte [edx + 3], al
je 0x41b8fd
mov eax, dword [esi - 8]
mov dword [ebp - 0x88], eax
push dword [ebp - 0xf8]
lea eax, [ebp - 0xd8]
push ecx
push eax
call dword [edx + 0x14]
mov edx, dword [ebp - 0xf4]
lea ecx, [ebp - 0xe8]
add esp, 0xc
call fcn.00417e16
cmp byte [ebp - 0x8c], 0
je 0x41b956
push 0
push ecx
mov dl, 1
lea ecx, [ebp - 0xd0]
call fcn.00415472
pop ecx
push eax
lea eax, [edi + 0x230]
push eax
call fcn.0040b26f
add esp, 0xc
mov dword [ebp - 0xec], 1
lea ecx, [ebp - 0xd0]
call fcn.00414ea0
jmp 0x418418
mov eax, dword [esi + 4]
mov edx, dword [esi + 0xc]
shl eax, 6
add eax, dword [ecx + 0x58]
mov ecx, eax
mov dword [ebp - 0x11c], eax
call fcn.00414e14
mov ecx, eax
mov dword [ebp - 0xec], ecx
cmp ecx, 1
jne 0x4181a8
push 0
push ecx
mov ecx, dword [ebp - 0x11c]
mov dl, al
call fcn.00415472
pop ecx
push eax
mov eax, dword [ebp - 0xdc]
add eax, 0x230
push eax
call fcn.0040b26f
jmp 0x41839d
mov edx, dword [ebp - 0xe0]
mov ecx, edx
call fcn.0040b8e0
test eax, eax
jne 0x41b9f5
mov ecx, dword [ebp - 0xdc]
lea ecx, [ecx + 0x230]
call fcn.0042f5e6
mov dword [ebp - 0xec], eax
mov edx, dword [ebp - 0xe0]
mov ecx, edx
call fcn.0040b8b5
test eax, eax
je 0x418083
push 0x15
pop ecx
mov dword [ebp - 0xec], ecx
mov eax, dword [ebp - 0xdc]
lea edx, [eax + 0x230]
cmp dword [edx], 0
jne 0x41c089
call fcn.0040bc0b
push 7
test eax, eax
pop eax
cmovne ecx, eax
push 0x65
mov dword [ebp - 0xec], ecx
movzx ecx, cl
pop esi
cmp ecx, esi
jg 0x41c16a
call fcn.00435175
jmp 0x41c16f
cmp dword [esi + 4], 0
mov edx, dword [ebp - 0xe0]
je 0x419d27
mov byte [ecx + 0x238], 1
jmp 0x41c069
mov ecx, dword [esi + 4]
test ecx, ecx
sets dl
test dl, dl
je 0x41ba6d
or eax, 0xffffffff
sub eax, ecx
mov ecx, eax
mov eax, dword [esi + 8]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xe0]
imul ecx, ecx, 0x18
test dl, dl
mov edx, dword [ebp - 0xf8]
mov eax, dword [eax + 4]
mov ecx, dword [ecx + eax + 4]
setne al
inc al
mov dword [ebp - 0x11c], ecx
mov byte [ebp - 0x17c], al
push dword [ebp - 0x17c]
call fcn.0040f854
pop ecx
mov ecx, eax
mov dword [ebp - 0xec], ecx
test ecx, ecx
jne 0x41bad7
push dword [ebp - 0x17c]
mov edx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x11c]
call fcn.0040f8b3
pop ecx
mov ecx, eax
mov dword [ebp - 0xec], ecx
cmp ecx, 6
jne 0x4181a8
mov eax, dword [ebp - 0xdc]
push 0
push dword [esi + 0xc]
add eax, 0x230
push str.database_table_is_locked:
push eax
call fcn.0040b26f
add esp, 0x10
jmp 0x4181a8
mov edx, dword [esi + 0xc]
mov ecx, dword [ebp - 0xe0]
call fcn.0043007c
jmp 0x419708
mov edx, dword [esi + 4]
lea eax, [ecx + 0x230]
mov ecx, dword [ebp - 0xe0]
push eax
push dword [esi + 0xc]
call fcn.0042fe3e
pop ecx
pop ecx
jmp 0x419708
mov byte [ecx + 0x23a], 2
push dword [esi + 0xc]
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0xe0]
call fcn.0042ffb8
pop ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xec], eax
mov byte [ecx + 0x23a], 0
jmp case.0x4180d7.13
mov edx, dword [esi + 0xc]
and dword [ebp - 0x100], 0
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x11c], edx
mov eax, dword [edx]
mov dword [ebp - 0xf8], eax
call fcn.0040b8e0
test eax, eax
jne 0x41b9f5
lea eax, [ebp - 0x100]
push eax
mov eax, dword [ebp - 0xf8]
push edx
call dword [eax + 0x18]
mov edx, dword [ebp - 0xe0]
pop ecx
pop ecx
mov ecx, edx
mov dword [ebp - 0xec], eax
call fcn.0040b8b5
test eax, eax
jne 0x41b9f5
cmp dword [ebp - 0xec], eax
jne 0x418083
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x11c]
mov dword [eax], ecx
or eax, 0xffffffff
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0xdc]
push eax
call fcn.00417e3c
pop ecx
test eax, eax
je 0x41bc0b
mov ecx, dword [ebp - 0x100]
mov dword [eax + 0x60], ecx
mov ecx, dword [ebp - 0x100]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [eax + 0x64], ecx
jmp 0x4181a8
mov eax, dword [ebp - 0xf8]
push dword [ebp - 0x100]
call dword [eax + 0x1c]
jmp 0x41b3f1
mov edx, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
and dword [ebp - 0x11c], 0
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [edx + 0x30]
xor edx, edx
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xf8], ecx
mov eax, dword [eax + 0x60]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x124], eax
mov eax, dword [edi - 0x40]
mov dword [ebp - 0xf4], eax
test eax, eax
jle 0x41bc90
mov esi, dword [ebp - 0xf4]
inc eax
mov ecx, edi
shl eax, 6
mov edi, dword [ebp - 0xf8]
sub ecx, eax
mov dword [edi + edx*4], ecx
call fcn.00417deb
inc edx
add ecx, 0x40
cmp edx, esi
jl 0x41bc74
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xe0]
call fcn.0040b8e0
test eax, eax
jne 0x41b9f5
push dword [ebp - 0xf8]
mov eax, dword [ebp - 0xdc]
push dword [ebp - 0xf4]
mov byte [eax + 0x23a], 1
push dword [esi + 0xc]
mov eax, dword [ebp - 0x104]
push dword [edi]
push dword [eax + 0x60]
mov eax, dword [ebp - 0x124]
call dword [eax + 0x20]
mov ecx, eax
add esp, 0x14
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xec], ecx
mov byte [eax + 0x23a], 0
test ecx, ecx
jne 0x41bd06
mov eax, dword [ebp - 0x104]
push dword [eax + 0x60]
mov eax, dword [ebp - 0x124]
call dword [eax + 0x28]
pop ecx
mov edx, eax
jmp 0x41bd0c
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xe0]
call fcn.0040b8b5
test eax, eax
jne 0x41b9f5
test edx, edx
je 0x41bd2d
mov eax, dword [esi + 8]
dec eax
mov dword [ebp - 0xe4], eax
mov edx, dword [ebp - 0xf4]
lea edx, [edx + 2]
jmp 0x41840d
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax + ecx*4]
mov eax, dword [edx + 0x60]
mov eax, dword [eax]
mov esi, dword [eax]
cmp dword [esi + 0x30], 0
jne 0x41bd63
push 0
push str.Unsupported_module_operation:_xRowid
jmp 0x419c00
mov ecx, dword [ebp - 0xe0]
call fcn.0040b8e0
test eax, eax
jne 0x41b9f5
lea eax, [ebp - 0x1c0]
push eax
push dword [edx + 0x60]
call dword [esi + 0x30]
mov edx, dword [ebp - 0xe0]
pop ecx
pop ecx
mov ecx, edx
mov dword [ebp - 0xec], eax
call fcn.0040b8b5
test eax, eax
jne 0x41b9f5
add edi, 0x40
push 4
pop eax
mov dword [ebp - 0xf0], edi
mov word [edi + 0x18], ax
mov eax, dword [ebp - 0x1c0]
mov dword [edi], eax
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0xe8], edi
mov dword [edi + 4], eax
jmp 0x418083
mov edx, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x11c], eax
mov eax, dword [eax + 0x60]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xf8], eax
cmp dword [eax + 0x2c], ecx
jne 0x41be06
push ecx
push str.Unsupported_module_operation:_xColumn
lea eax, [edx + 0x230]
jmp 0x419c0b
push 0x58
push ecx
lea eax, [ebp - 0x80]
push eax
call fcn.004ab3c0
mov ecx, dword [ebp - 0xe0]
xor eax, eax
add esp, 0xc
inc eax
mov word [ebp - 0x60], ax
call fcn.0040b8e0
test eax, eax
jne 0x41b9f5
push dword [esi + 8]
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x11c]
push dword [eax + 0x60]
mov eax, dword [ebp - 0xf8]
call dword [eax + 0x2c]
movzx edx, byte [ebp - 0x128]
lea ecx, [ebp - 0x78]
add esp, 0xc
mov dword [ebp - 0xec], eax
call fcn.00414c43
add edi, 0x40
lea edx, [ebp - 0x78]
xor eax, eax
mov dword [ebp - 0xf0], edi
mov ecx, edi
mov dword [ebp - 0xe8], edi
mov word [edi + 0x18], ax
call fcn.00415094
jmp 0x41b9e0
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + 4]
and dword [ebp - 0xf4], 0
mov eax, dword [eax + 0x3c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x11c], edx
mov eax, dword [edx + 0x60]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xf8], eax
cmp dword [eax + 0x24], 0
jne 0x41bebf
push 0
push str.Unsupported_module_operation:_xNext
jmp 0x419c00
mov ecx, dword [ebp - 0xe0]
call fcn.0040b8e0
test eax, eax
jne 0x41b9f5
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x23a], 1
mov eax, dword [ebp - 0xf8]
push dword [edx + 0x60]
call dword [eax + 0x24]
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xec], ecx
mov byte [eax + 0x23a], 0
test ecx, ecx
jne 0x41bf1c
mov eax, dword [ebp - 0x11c]
push dword [eax + 0x60]
mov eax, dword [ebp - 0xf8]
call dword [eax + 0x28]
pop ecx
mov edx, eax
jmp 0x41bf22
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe0]
call fcn.0040b8b5
test eax, eax
jne 0x41b9f5
test edx, edx
jmp 0x41b7dd
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x104], eax
mov ecx, dword [edx]
mov dword [ebp - 0x11c], ecx
cmp dword [ecx + 0x34], 0
jne 0x41bf86
mov eax, dword [ebp - 0xdc]
push 0
add eax, 0x230
push str.read_only_table
push eax
call fcn.0040b26f
add esp, 0xc
mov dword [ebp - 0xec], 1
jmp 0x41c056
mov ecx, dword [ebp - 0xdc]
xor edx, edx
shl eax, 6
mov ecx, dword [ecx + 0x30]
mov dword [ebp - 0xf8], ecx
mov ecx, edi
sub ecx, eax
add ecx, 0x40
cmp dword [ebp - 0x104], edx
jle 0x41bfd1
mov esi, dword [ebp - 0x104]
mov edi, dword [ebp - 0xf8]
call fcn.00417deb
mov dword [edi + edx*4], ecx
inc edx
add ecx, 0x40
cmp edx, esi
jl 0x41bfb5
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xe0]
call fcn.0040b8e0
test eax, eax
jne 0x41b9f5
mov eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0x1a8]
push ecx
push dword [ebp - 0xf8]
push dword [ebp - 0x104]
inc dword [eax + 4]
push eax
mov eax, dword [ebp - 0x11c]
call dword [eax + 0x34]
mov edx, dword [ebp - 0xf4]
add esp, 0x10
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xec], eax
call fcn.0042f89c
mov ecx, dword [ebp - 0xe0]
call fcn.0040b8b5
test eax, eax
jne 0x41b9f5
cmp dword [esi + 4], eax
je 0x41c056
cmp dword [ebp - 0xec], eax
jne 0x41c056
mov eax, dword [ebp - 0x1a8]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x1a4]
mov dword [ecx + 0x24], eax
mov edx, dword [ebp - 0x104]
jmp 0x41840d
mov ecx, esi
mov edx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe4]
inc esi
cmp dword [ebp - 0xec], 0
mov dword [ebp - 0xe4], esi
je 0x41801a
mov eax, dword [ebp - 0xdc]
push 0x65
pop esi
mov ecx, dword [ebp - 0xec]
test ecx, ecx
jne 0x41993c
jmp 0x419945
push 0x14
jmp 0x41b9f7
cmp dword [esi + 8], 0
je 0x41c0c7
mov ecx, edx
call fcn.004350ee
mov ecx, dword [ebp - 0xe0]
xor eax, eax
mov esi, dword [ebp - 0xdc]
inc eax
mov byte [ecx + 0x14], al
jmp 0x41c10c
mov esi, dword [ebp - 0xdc]
mov ecx, esi
mov byte [edx + 0x14], al
call fcn.004165bf
push 5
pop edx
cmp eax, edx
jne 0x41c109
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe0]
mov dword [esi + 0x7c], eax
xor eax, eax
inc eax
mov dword [esi + 0x2c], edi
sub al, byte [ebp - 0x13d]
mov byte [ecx + 0x14], al
mov dword [esi + 0x80], edx
mov eax, edx
jmp 0x419957
xor eax, eax
inc eax
cmp dword [esi + 0x80], 0
push 0x65
pop ecx
cmove eax, ecx
jmp 0x419957
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe4]
mov dword [eax + 0x7c], esi
mov dword [eax + 0x80], edx
mov dword [eax + 0x2c], edi
jmp 0x41c102
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe4]
push 5
pop edx
mov dword [ecx + 0x7c], eax
xor eax, eax
mov dword [ecx + 0x80], edx
cmp dword [esi + 8], eax
setle al
inc eax
shl eax, 6
add eax, edi
mov dword [ecx + 0x2c], eax
jmp 0x41c102
push 0xd
jmp 0x41b9f7
mov eax, str.unknown_error
push 0
push eax
push edx
call fcn.0040b26f
mov eax, dword [ebp - 0xdc]
add esp, 0xc
jmp 0x41c08c
mov dword [ecx + 0x2c], edi
mov eax, dword [esi + 4]
mov dword [ecx + 0x80], eax
mov eax, dword [ebp - 0xe4]
mov dword [ecx + 0x7c], eax
mov eax, dword [esi + 8]
mov dword [ecx + 0x88], eax
cmp dword [esi + 0xc], 0
je 0x41c1c4
push 0
push dword [esi + 0xc]
lea eax, [ecx + 0x230]
push eax
call fcn.0040b26f
mov ecx, dword [ebp - 0xdc]
add esp, 0xc
call fcn.004165bf
push 5
pop ecx
cmp eax, ecx
mov eax, dword [ebp - 0xdc]
jne 0x41c1e3
mov dword [eax + 0x80], ecx
mov eax, ecx
jmp 0x419957
cmp dword [eax + 0x80], 0
push 1
pop eax
push 0x65
pop ecx
cmovne ecx, eax
jmp 0x41c1dc
mov eax, dword [esi + 4]
mov edx, edi
mov ecx, dword [ecx + 0x28]
shl eax, 6
sub edx, eax
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x154], edx
cmp ecx, edx
jae 0x41c248
mov eax, 0x100
test word [ecx + 0x18], ax
je 0x41c23b
call fcn.00414cb8
test eax, eax
jne 0x41990b
mov ecx, dword [ebp - 0x134]
mov eax, 0x100
mov edx, dword [ebp - 0x154]
add ecx, 0x40
mov dword [ebp - 0x134], ecx
cmp ecx, edx
jb 0x41c217
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x60]
add eax, 2
or eax, 1
mov dword [edx + 0x60], eax
cmp ecx, edi
ja 0x41c281
call fcn.00414d2b
mov ecx, dword [ebp - 0x134]
call fcn.00417deb
add ecx, 0x40
mov dword [ebp - 0x134], ecx
cmp ecx, edi
jbe 0x41c25e
mov edx, dword [ebp - 0xdc]
inc dword [edx + 0x5c]
mov byte [edx + 0x234], 1
mov eax, dword [esi + 4]
mov dword [edx + 0x22c], eax
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [edx + 0x2c], edi
mov dword [edx + 0x7c], eax
push 0x64
jmp 0x417f97
cmp dword [edx + 0x30], 0xf03b7906
push 9
pop eax
push 0x15
pop esi
cmovne eax, esi
push 0x65
mov dword [ecx + 0x80], eax
movzx ecx, al
pop esi
mov dword [ebp - 0xec], eax
cmp ecx, esi
jg 0x41c2d5
call fcn.00435175
jmp 0x41c2da
mov eax, str.unknown_error
push 0
push eax
mov eax, dword [ebp - 0xdc]
add eax, 0x230
push eax
jmp 0x41c173
mov edi, dword [ebp - 0xf0]
jmp 0x41990b
mov ecx, esi
jmp 0x419911