Function at 0x44ae40
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5628db
mov eax, dword fs:[0]
push eax
sub esp, 0x88
push ebx
push esi
push edi
mov eax, dword [0x5b0514]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0x10]
xor eax, eax
mov ebx, dword [ebp + 0xc]
push 0x48
mov dword [ebp - 0x30], 0
push eax
mov dword [ebp - 0x34], eax
push esi
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x34], eax
call fcn.00521a60
add esp, 0xc
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x6c], 0
cmp dword [ebp + 8], 0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
jne 0x44af9e
push 0xa
push str.Navigation
call fcn.00406610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4c]
push 6
push str.Config
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
call fcn.00406610
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x4c]
mov ecx, 0x5ba9b8
push eax
call fcn.004039f0
mov ecx, eax
call fcn.004039f0
push eax
lea ecx, [ebp - 0x74]
call fcn.00402c30
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x38]
cmp edx, 0x10
jb 0x44af58
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44af4e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
cmp edx, 0x10
jb 0x44b010
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b006
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d12c
jmp 0x44b006
push 5
push str.Tasks
call fcn.00406610
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4c]
push 6
push str.Config
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
call fcn.00406610
push ebx
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x4c]
mov ecx, 0x5ba9b8
push eax
call fcn.004039f0
mov ecx, eax
call fcn.004039f0
mov ecx, eax
call fcn.00401ef0
push eax
lea ecx, [ebp - 0x74]
call fcn.00402c30
mov byte [ebp - 4], 5
jmp 0x44af24
push edx
push ecx
call fcn.00497d51
add esp, 8
push 6
push str.silent
lea ecx, [ebp - 0x2c]
mov byte [esi], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 7
mov ebx, 1
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.00437e40
test al, al
je 0x44b096
push 6
push str.silent
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
call fcn.00406610
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 8
mov ebx, 3
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.004039f0
mov byte [ebp - 0x11], 1
cmp dword [eax + 8], 0
jne 0x44b09a
mov byte [ebp - 0x11], 0
mov dword [ebp - 4], 7
test bl, 2
je 0x44b0ef
mov edx, dword [ebp - 0x38]
and ebx, 0xfffffffd
cmp edx, 0x10
jb 0x44b0dd
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b0d3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0
and ebx, 0xfffffffe
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x44b12d
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b123
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x44b1aa
push 6
push str.silent
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x74]
call fcn.004039f0
cmp dword [eax + 8], 8
jne 0x44b16e
mov al, byte [eax]
jmp 0x44b170
xor al, al
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x18]
mov byte [esi], al
cmp edx, 0x10
jb 0x44b1aa
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b1a0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
push 6
push str.taskid
lea ecx, [ebp - 0x2c]
mov byte [esi + 1], 0
mov dword [esi + 2], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xa
or ebx, 4
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.00437e40
test al, al
je 0x44b234
push 6
push str.taskid
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
call fcn.00406610
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 0xb
or ebx, 8
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.004039f0
mov byte [ebp - 0x11], 1
cmp dword [eax + 8], 0
jne 0x44b238
mov byte [ebp - 0x11], 0
mov dword [ebp - 4], 0xa
test bl, 8
je 0x44b28d
mov edx, dword [ebp - 0x38]
and ebx, 0xfffffff7
cmp edx, 0x10
jb 0x44b27b
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b271
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0
and ebx, 0xfffffffb
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x44b2cb
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b2c1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x44b349
push 6
push str.taskid
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x74]
call fcn.004039f0
cmp dword [eax + 8], 7
jne 0x44b30c
mov eax, dword [eax]
jmp 0x44b30e
xor eax, eax
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x18]
mov dword [esi + 2], eax
cmp edx, 0x10
jb 0x44b349
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b33f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
push 8
push str.tasktype
lea ecx, [ebp - 0x2c]
mov byte [esi + 6], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xd
or ebx, 0x10
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.00437e40
test al, al
je 0x44b3cc
push 8
push str.tasktype
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
call fcn.00406610
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 0xe
or ebx, 0x20
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.004039f0
mov byte [ebp - 0x11], 1
cmp dword [eax + 8], 0
jne 0x44b3d0
mov byte [ebp - 0x11], 0
mov dword [ebp - 4], 0xd
test bl, 0x20
je 0x44b425
mov edx, dword [ebp - 0x38]
and ebx, 0xffffffdf
cmp edx, 0x10
jb 0x44b413
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b409
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0
and ebx, 0xffffffef
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x44b463
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b459
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x44b4e1
push 8
push str.tasktype
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x74]
call fcn.004039f0
cmp dword [eax + 8], 7
jne 0x44b4a4
mov eax, dword [eax]
jmp 0x44b4a6
xor eax, eax
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x18]
mov byte [esi + 6], al
cmp edx, 0x10
jb 0x44b4e1
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b4d7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
push 8
push str.taskname
lea ecx, [ebp - 0x64]
mov dword [esi + 7], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
call fcn.00406610
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x10
or ebx, 0x40
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.00437e40
test al, al
je 0x44b5c9
push 8
push str.taskname
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0x11
or ebx, 0x80
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
mov edi, ebx
call fcn.004039f0
cmp dword [eax + 8], 0
je 0x44b5c9
push 8
push str.taskname
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
call fcn.00406610
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x4c]
or ebx, 0x100
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x30], ebx
call fcn.004039f0
mov ecx, eax
call fcn.00437da0
mov ebx, edi
mov byte [ebp - 0x11], 1
or ebx, 0x300
cmp dword [eax + 0x10], 0
ja 0x44b5cd
mov byte [ebp - 0x11], 0
test ebx, 0x200
je 0x44b62f
mov edx, dword [ebp - 0x7c]
and ebx, 0xfffffdff
cmp edx, 8
jb 0x44b618
mov ecx, dword [ebp - 0x90]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44b60e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
xor eax, eax
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 7
mov word [ebp - 0x90], ax
mov dword [ebp - 4], 0x11
test ebx, 0x100
je 0x44b68a
mov edx, dword [ebp - 0x38]
and ebx, 0xfffffeff
cmp edx, 0x10
jb 0x44b678
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b66e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0x10
test bl, bl
jns 0x44b6e1
mov edx, dword [ebp - 0x18]
and ebx, 0xffffff7f
cmp edx, 0x10
jb 0x44b6cf
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b6c5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 4], 0
and ebx, 0xffffffbf
mov edx, dword [ebp - 0x50]
cmp edx, 0x10
jb 0x44b71f
mov ecx, dword [ebp - 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b715
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x44b738
push str.taskname
push dword [ebp - 0x78]
push dword [ebp + 8]
call fcn.0044a7d0
mov dword [esi + 7], eax
push 7
push str.tiptext
lea ecx, [ebp - 0x64]
mov dword [esi + 0xb], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
call fcn.00406610
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x13
or ebx, 0x400
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.00437e40
test al, al
je 0x44b823
push 7
push str.tiptext
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
call fcn.00406610
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 0x14
or ebx, 0x800
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
mov edi, ebx
call fcn.004039f0
cmp dword [eax + 8], 0
je 0x44b823
push 7
push str.tiptext
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x2c]
or ebx, 0x1000
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x30], ebx
call fcn.004039f0
mov ecx, eax
call fcn.00437da0
mov ebx, edi
mov byte [ebp - 0x11], 1
or ebx, 0x3000
cmp dword [eax + 0x10], 0
ja 0x44b827
mov byte [ebp - 0x11], 0
test ebx, 0x2000
je 0x44b889
mov edx, dword [ebp - 0x7c]
and ebx, 0xffffdfff
cmp edx, 8
jb 0x44b872
mov ecx, dword [ebp - 0x90]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44b868
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
xor eax, eax
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 7
mov word [ebp - 0x90], ax
mov dword [ebp - 4], 0x14
test ebx, 0x1000
je 0x44b8e4
mov edx, dword [ebp - 0x18]
and ebx, 0xffffefff
cmp edx, 0x10
jb 0x44b8d2
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b8c8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 4], 0x13
test ebx, 0x800
je 0x44b93f
mov edx, dword [ebp - 0x38]
and ebx, 0xfffff7ff
cmp edx, 0x10
jb 0x44b92d
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b923
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0
and ebx, 0xfffffbff
mov edx, dword [ebp - 0x50]
cmp edx, 0x10
jb 0x44b980
mov ecx, dword [ebp - 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44b976
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x44b999
push str.tiptext
push dword [ebp - 0x78]
push dword [ebp + 8]
call fcn.0044a7d0
mov dword [esi + 0xb], eax
push 8
push 0x58e5e0
lea ecx, [ebp - 0x64]
mov byte [esi + 0xf], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
call fcn.00406610
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x16
or ebx, 0x4000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.00437e40
test al, al
je 0x44ba22
push 8
push 0x58e5e0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0x17
or ebx, 0x8000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.004039f0
mov byte [ebp - 0x11], 1
cmp dword [eax + 8], 0
jne 0x44ba26
mov byte [ebp - 0x11], 0
mov dword [ebp - 4], 0x16
test ebx, 0x8000
je 0x44ba81
mov edx, dword [ebp - 0x18]
and ebx, 0xffff7fff
cmp edx, 0x10
jb 0x44ba6f
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44ba65
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 4], 0
and ebx, 0xffffbfff
mov edx, dword [ebp - 0x50]
cmp edx, 0x10
jb 0x44bac2
mov ecx, dword [ebp - 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44bab8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x44bb40
push 8
push 0x58e5e0
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
call fcn.00406610
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x74]
call fcn.004039f0
cmp dword [eax + 8], 8
jne 0x44bb03
mov al, byte [eax]
jmp 0x44bb05
xor al, al
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x50]
mov byte [esi + 0xf], al
cmp edx, 0x10
jb 0x44bb40
mov ecx, dword [ebp - 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44bb36
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
push 5
push str.altid
lea ecx, [ebp - 0x64]
mov dword [esi + 0x10], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
call fcn.00406610
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x19
or ebx, 0x10000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.00437e40
test al, al
je 0x44bbcc
push 5
push str.altid
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0x1a
or ebx, 0x20000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.004039f0
mov byte [ebp - 0x11], 1
cmp dword [eax + 8], 0
jne 0x44bbd0
mov byte [ebp - 0x11], 0
mov dword [ebp - 4], 0x19
test ebx, 0x20000
je 0x44bc2b
mov edx, dword [ebp - 0x18]
and ebx, 0xfffdffff
cmp edx, 0x10
jb 0x44bc19
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44bc0f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 4], 0
and ebx, 0xfffeffff
mov edx, dword [ebp - 0x50]
cmp edx, 0x10
jb 0x44bc6c
mov ecx, dword [ebp - 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44bc62
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x44bcea
push 5
push str.altid
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
call fcn.00406610
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x1b
push eax
lea ecx, [ebp - 0x74]
call fcn.004039f0
cmp dword [eax + 8], 7
jne 0x44bcad
mov eax, dword [eax]
jmp 0x44bcaf
xor eax, eax
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x50]
mov dword [esi + 0x10], eax
cmp edx, 0x10
jb 0x44bcea
mov ecx, dword [ebp - 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44bce0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
push 7
push 0x58f760
lea ecx, [ebp - 0x64]
mov dword [esi + 0x14], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
call fcn.00406610
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x1c
or ebx, 0x40000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.00437e40
test al, al
je 0x44bdd5
push 7
push 0x58f760
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
call fcn.00406610
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 0x1d
or ebx, 0x80000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
mov edi, ebx
call fcn.004039f0
cmp dword [eax + 8], 0
je 0x44bdd5
push 7
push 0x58f760
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x2c]
or ebx, 0x100000
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x30], ebx
call fcn.004039f0
mov ecx, eax
call fcn.00437da0
mov ebx, edi
mov byte [ebp - 0x11], 1
or ebx, 0x300000
cmp dword [eax + 0x10], 0
ja 0x44bdd9
mov byte [ebp - 0x11], 0
test ebx, 0x200000
je 0x44bdf2
lea ecx, [ebp - 0x90]
and ebx, 0xffdfffff
call fcn.00407320
mov dword [ebp - 4], 0x1d
test ebx, 0x100000
je 0x44be4d
mov edx, dword [ebp - 0x18]
and ebx, 0xffefffff
cmp edx, 0x10
jb 0x44be3b
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44be31
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 4], 0x1c
test ebx, 0x80000
je 0x44bea8
mov edx, dword [ebp - 0x38]
and ebx, 0xfff7ffff
cmp edx, 0x10
jb 0x44be96
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44be8c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0
and ebx, 0xfffbffff
mov edx, dword [ebp - 0x50]
cmp edx, 0x10
jb 0x44bee9
mov ecx, dword [ebp - 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44bedf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x44bf02
push 0x58f760
push dword [ebp - 0x78]
push dword [ebp + 8]
call fcn.0044a7d0
mov dword [esi + 0x14], eax
push 8
push 0x590678
lea ecx, [ebp - 0x64]
mov dword [esi + 0x18], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
call fcn.00406610
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x1f
or ebx, 0x400000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.00437e40
test al, al
je 0x44bfed
push 8
push 0x590678
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
call fcn.00406610
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 0x20
or ebx, 0x800000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
mov edi, ebx
call fcn.004039f0
cmp dword [eax + 8], 0
je 0x44bfed
push 8
push 0x590678
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 0x21
push eax
lea eax, [ebp - 0x2c]
or ebx, 0x1000000
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x30], ebx
call fcn.004039f0
mov ecx, eax
call fcn.00437da0
mov ebx, edi
mov byte [ebp - 0x11], 1
or ebx, 0x3000000
cmp dword [eax + 0x10], 0
ja 0x44bff1
mov byte [ebp - 0x11], 0
test ebx, 0x2000000
je 0x44c00a
lea ecx, [ebp - 0x90]
and ebx, 0xfdffffff
call fcn.00407320
mov dword [ebp - 4], 0x20
test ebx, 0x1000000
je 0x44c065
mov edx, dword [ebp - 0x18]
and ebx, 0xfeffffff
cmp edx, 0x10
jb 0x44c053
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c049
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 4], 0x1f
test ebx, 0x800000
je 0x44c0c0
mov edx, dword [ebp - 0x38]
and ebx, 0xff7fffff
cmp edx, 0x10
jb 0x44c0ae
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c0a4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0
and ebx, 0xffbfffff
mov edx, dword [ebp - 0x50]
cmp edx, 0x10
jb 0x44c101
mov ecx, dword [ebp - 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c0f7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x44c11a
push 0x590678
push dword [ebp - 0x78]
push dword [ebp + 8]
call fcn.0044a7d0
mov dword [esi + 0x18], eax
push 8
push str.savepath
lea ecx, [ebp - 0x64]
mov dword [esi + 0x1c], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
call fcn.00406610
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x22
or ebx, 0x4000000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.00437e40
test al, al
je 0x44c205
push 8
push str.savepath
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
call fcn.00406610
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 0x23
or ebx, 0x8000000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
mov edi, ebx
call fcn.004039f0
cmp dword [eax + 8], 0
je 0x44c205
push 8
push str.savepath
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 0x24
push eax
lea eax, [ebp - 0x2c]
or ebx, 0x10000000
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x30], ebx
call fcn.004039f0
mov ecx, eax
call fcn.00437da0
mov ebx, edi
mov byte [ebp - 0x11], 1
or ebx, 0x30000000
cmp dword [eax + 0x10], 0
ja 0x44c209
mov byte [ebp - 0x11], 0
test ebx, 0x20000000
je 0x44c222
lea ecx, [ebp - 0x90]
and ebx, 0xdfffffff
call fcn.00407320
mov dword [ebp - 4], 0x23
test ebx, 0x10000000
je 0x44c27d
mov edx, dword [ebp - 0x18]
and ebx, 0xefffffff
cmp edx, 0x10
jb 0x44c26b
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c261
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 4], 0x22
test ebx, 0x8000000
je 0x44c2d8
mov edx, dword [ebp - 0x38]
and ebx, 0xf7ffffff
cmp edx, 0x10
jb 0x44c2c6
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c2bc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0
and ebx, 0xfbffffff
mov edx, dword [ebp - 0x50]
cmp edx, 0x10
jb 0x44c319
mov ecx, dword [ebp - 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c30f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
cmp byte [ebp - 0x11], 0
mov edi, dword [ebp + 8]
je 0x44c333
push str.savepath
push dword [ebp - 0x78]
push edi
call fcn.0044a7d0
mov dword [esi + 0x1c], eax
push 7
push 0x590690
lea ecx, [ebp - 0x64]
mov dword [esi + 0x20], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
call fcn.00406610
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x25
or ebx, 0x40000000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.00437e40
test al, al
je 0x44c41f
push 7
push 0x590690
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
call fcn.00406610
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 0x26
or ebx, 0x80000000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x30], ebx
call fcn.004039f0
cmp dword [eax + 8], 0
je 0x44c41f
push 7
push 0x590690
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 0x27
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x34], 1
push eax
lea ecx, [ebp - 0x74]
call fcn.004039f0
mov ecx, eax
call fcn.00437da0
mov ecx, 3
mov dword [ebp - 0x94], ecx
cmp dword [eax + 0x10], 0
jbe 0x44c425
mov byte [ebp - 0x11], 1
jmp 0x44c429
mov ecx, dword [ebp - 0x94]
mov byte [ebp - 0x11], 0
test cl, 2
je 0x44c448
and ecx, 0xfffffffd
mov dword [ebp - 0x94], ecx
lea ecx, [ebp - 0x90]
call fcn.00407320
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 4], 0x26
test cl, 1
je 0x44c4a3
mov edx, dword [ebp - 0x18]
and ecx, 0xfffffffe
mov dword [ebp - 0x94], ecx
cmp edx, 0x10
jb 0x44c491
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c487
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 4], 0x25
test ebx, ebx
jns 0x44c4f4
mov edx, dword [ebp - 0x38]
cmp edx, 0x10
jb 0x44c4e2
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c4d8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x50]
cmp edx, 0x10
jb 0x44c52f
mov ecx, dword [ebp - 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c525
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x44c546
push 0x590690
push dword [ebp - 0x78]
push edi
call fcn.0044a7d0
mov dword [esi + 0x20], eax
push 7
push str.rootkey
lea ecx, [ebp - 0x64]
mov dword [esi + 0x24], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
call fcn.00406610
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x64]
mov ebx, dword [ebp - 0x94]
lea ecx, [ebp - 0x74]
or ebx, 4
push eax
mov dword [ebp - 0x34], ebx
call fcn.00437e40
test al, al
je 0x44c62b
push 7
push str.rootkey
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
call fcn.00406610
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 0x29
or ebx, 8
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
mov edi, ebx
call fcn.004039f0
cmp dword [eax + 8], 0
je 0x44c62b
push 7
push str.rootkey
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 0x2a
push eax
lea eax, [ebp - 0x2c]
or ebx, 0x10
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x34], ebx
call fcn.004039f0
mov ecx, eax
call fcn.00437da0
mov ebx, edi
mov byte [ebp - 0x11], 1
or ebx, 0x30
cmp dword [eax + 0x10], 0
ja 0x44c62f
mov byte [ebp - 0x11], 0
test bl, 0x20
je 0x44c642
lea ecx, [ebp - 0x90]
and ebx, 0xffffffdf
call fcn.00407320
mov dword [ebp - 4], 0x29
test bl, 0x10
je 0x44c697
mov edx, dword [ebp - 0x18]
and ebx, 0xffffffef
cmp edx, 0x10
jb 0x44c685
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c67b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 4], 0x28
test bl, 8
je 0x44c6ec
mov edx, dword [ebp - 0x38]
and ebx, 0xfffffff7
cmp edx, 0x10
jb 0x44c6da
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c6d0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0
and ebx, 0xfffffffb
mov edx, dword [ebp - 0x50]
cmp edx, 0x10
jb 0x44c72a
mov ecx, dword [ebp - 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c720
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x44c743
push str.rootkey
push dword [ebp - 0x78]
push dword [ebp + 8]
call fcn.0044a7d0
mov dword [esi + 0x24], eax
push 7
push str.keyname
lea ecx, [ebp - 0x64]
mov dword [esi + 0x28], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
call fcn.00406610
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x2b
or ebx, 0x40
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
call fcn.00437e40
test al, al
je 0x44c82b
push 7
push str.keyname
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
call fcn.00406610
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 0x2c
or ebx, 0x80
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
mov edi, ebx
call fcn.004039f0
cmp dword [eax + 8], 0
je 0x44c82b
push 7
push str.keyname
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 0x2d
push eax
lea eax, [ebp - 0x2c]
or ebx, 0x100
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x34], ebx
call fcn.004039f0
mov ecx, eax
call fcn.00437da0
mov ebx, edi
mov byte [ebp - 0x11], 1
or ebx, 0x300
cmp dword [eax + 0x10], 0
ja 0x44c82f
mov byte [ebp - 0x11], 0
test ebx, 0x200
je 0x44c848
lea ecx, [ebp - 0x90]
and ebx, 0xfffffdff
call fcn.00407320
mov dword [ebp - 4], 0x2c
test ebx, 0x100
je 0x44c8a3
mov edx, dword [ebp - 0x18]
and ebx, 0xfffffeff
cmp edx, 0x10
jb 0x44c891
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c887
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 4], 0x2b
test bl, bl
jns 0x44c8fa
mov edx, dword [ebp - 0x38]
and ebx, 0xffffff7f
cmp edx, 0x10
jb 0x44c8e8
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c8de
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0
and ebx, 0xffffffbf
mov edx, dword [ebp - 0x50]
cmp edx, 0x10
jb 0x44c938
mov ecx, dword [ebp - 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c92e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d127
push edx
push ecx
call fcn.00497d51
add esp, 8
cmp byte [ebp - 0x11], 0
je 0x44c951
push str.keyname
push dword [ebp - 0x78]
push dword [ebp + 8]
call fcn.0044a7d0
mov dword [esi + 0x28], eax
push 6
push str.regext
lea ecx, [ebp - 0x64]
mov dword [esi + 0x2c], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
call fcn.00406610
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x2e
or ebx, 0x400
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
call fcn.00437e40
test al, al
je 0x44ca42
push 6
push str.regext
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
call fcn.00406610
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 0x2f
or ebx, 0x800
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
mov edi, ebx
call fcn.004039f0
cmp dword [eax + 8], 0
je 0x44ca42
push 6
push str.regext
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00406610
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 0x30
push eax
lea eax, [ebp - 0x2c]
or ebx, 0x1000
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x34], ebx
call fcn.004039f0
mov ecx, eax
call fcn.00437da0
mov ebx, edi
mov byte [ebp - 0x11], 1
or ebx, 0x3000
cmp dword [eax + 0x10], 0
ja 0x44ca46
mov byte [ebp - 0x11], 0
test ebx, 0x2000
je 0x44ca5c
lea ecx, [ebp - 0x4c]
and ebx, 0xffffdfff
call fcn.00407320
test ebx, 0x1000
je 0x44ca91
mov eax, dword [ebp - 0x18]
and ebx, 0xffffefff
cmp eax, 0x10
jb 0x44ca7f
inc eax
push eax
push dword [ebp - 0x2c]
call fcn.00407420
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
test ebx, 0x800
je 0x44caaa
lea ecx, [ebp - 0x90]
and ebx, 0xfffff7ff
call fcn.00407270
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0
and ebx, 0xfffffbff
call fcn.00407270
cmp byte [ebp - 0x11], 0
je 0x44cad8
push str.regext
push dword [ebp - 0x78]
push dword [ebp + 8]
call fcn.0044a7d0
mov dword [esi + 0x2c], eax
push str.cmdline
lea ecx, [ebp - 0x2c]
mov dword [esi + 0x30], 0
call fcn.00406750
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x31
or ebx, 0x4000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
call fcn.00437e40
test al, al
je 0x44cb86
push str.cmdline
lea ecx, [ebp - 0x64]
call fcn.00406750
lea eax, [ebp - 0x64]
mov dword [ebp - 4], 0x32
or ebx, 0x8000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
mov edi, ebx
call fcn.004039f0
cmp dword [eax + 8], 0
je 0x44cb86
push str.cmdline
lea ecx, [ebp - 0x90]
call fcn.00406750
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 0x33
push eax
lea eax, [ebp - 0x90]
or ebx, 0x10000
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x34], ebx
call fcn.004039f0
mov ecx, eax
call fcn.00437da0
mov ebx, edi
mov byte [ebp - 0x11], 1
or ebx, 0x30000
cmp dword [eax + 0x10], 0
ja 0x44cb8a
mov byte [ebp - 0x11], 0
test ebx, 0x20000
je 0x44cba0
lea ecx, [ebp - 0x4c]
and ebx, 0xfffdffff
call fcn.00407320
test ebx, 0x10000
je 0x44cbb9
lea ecx, [ebp - 0x90]
and ebx, 0xfffeffff
call fcn.00407270
test ebx, 0x8000
je 0x44cbcf
lea ecx, [ebp - 0x64]
and ebx, 0xffff7fff
call fcn.00407270
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0
and ebx, 0xffffbfff
call fcn.00407270
cmp byte [ebp - 0x11], 0
je 0x44cbfd
push str.cmdline
push dword [ebp - 0x78]
push dword [ebp + 8]
call fcn.0044a7d0
mov dword [esi + 0x30], eax
push str.logourl
lea ecx, [ebp - 0x2c]
mov dword [esi + 0x34], 0
call fcn.00406750
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x34
or ebx, 0x40000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
call fcn.00437e40
test al, al
je 0x44ccab
push str.logourl
lea ecx, [ebp - 0x64]
call fcn.00406750
lea eax, [ebp - 0x64]
mov dword [ebp - 4], 0x35
or ebx, 0x80000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
mov edi, ebx
call fcn.004039f0
cmp dword [eax + 8], 0
je 0x44ccab
push str.logourl
lea ecx, [ebp - 0x90]
call fcn.00406750
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 0x36
push eax
lea eax, [ebp - 0x90]
or ebx, 0x100000
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x34], ebx
call fcn.004039f0
mov ecx, eax
call fcn.00437da0
mov ebx, edi
mov byte [ebp - 0x11], 1
or ebx, 0x300000
cmp dword [eax + 0x10], 0
ja 0x44ccaf
mov byte [ebp - 0x11], 0
test ebx, 0x200000
je 0x44ccc5
lea ecx, [ebp - 0x4c]
and ebx, 0xffdfffff
call fcn.00407320
test ebx, 0x100000
je 0x44ccde
lea ecx, [ebp - 0x90]
and ebx, 0xffefffff
call fcn.00407270
test ebx, 0x80000
je 0x44ccf4
lea ecx, [ebp - 0x64]
and ebx, 0xfff7ffff
call fcn.00407270
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0
and ebx, 0xfffbffff
call fcn.00407270
cmp byte [ebp - 0x11], 0
je 0x44cd22
push str.logourl
push dword [ebp - 0x78]
push dword [ebp + 8]
call fcn.0044a7d0
mov dword [esi + 0x34], eax
push str.logopath
lea ecx, [ebp - 0x2c]
mov dword [esi + 0x38], 0
call fcn.00406750
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x37
or ebx, 0x400000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
call fcn.00437e40
test al, al
je 0x44cdd0
push str.logopath
lea ecx, [ebp - 0x64]
call fcn.00406750
lea eax, [ebp - 0x64]
mov dword [ebp - 4], 0x38
or ebx, 0x800000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
mov edi, ebx
call fcn.004039f0
cmp dword [eax + 8], 0
je 0x44cdd0
push str.logopath
lea ecx, [ebp - 0x90]
call fcn.00406750
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 0x39
push eax
lea eax, [ebp - 0x90]
or ebx, 0x1000000
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x34], ebx
call fcn.004039f0
mov ecx, eax
call fcn.00437da0
mov ebx, edi
mov byte [ebp - 0x11], 1
or ebx, 0x3000000
cmp dword [eax + 0x10], 0
ja 0x44cdd4
mov byte [ebp - 0x11], 0
test ebx, 0x2000000
je 0x44cdea
lea ecx, [ebp - 0x4c]
and ebx, 0xfdffffff
call fcn.00407320
test ebx, 0x1000000
je 0x44ce03
lea ecx, [ebp - 0x90]
and ebx, 0xfeffffff
call fcn.00407270
test ebx, 0x800000
je 0x44ce19
lea ecx, [ebp - 0x64]
and ebx, 0xff7fffff
call fcn.00407270
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0
and ebx, 0xffbfffff
call fcn.00407270
cmp byte [ebp - 0x11], 0
je 0x44ce47
push str.logopath
push dword [ebp - 0x78]
push dword [ebp + 8]
call fcn.0044a7d0
mov dword [esi + 0x38], eax
push str.detectitem
lea ecx, [ebp - 0x2c]
mov dword [esi + 0x3c], 0
call fcn.00406750
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x3a
or ebx, 0x4000000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
call fcn.00437e40
test al, al
je 0x44cef5
push str.detectitem
lea ecx, [ebp - 0x64]
call fcn.00406750
lea eax, [ebp - 0x64]
mov dword [ebp - 4], 0x3b
or ebx, 0x8000000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
mov edi, ebx
call fcn.004039f0
cmp dword [eax + 8], 0
je 0x44cef5
push str.detectitem
lea ecx, [ebp - 0x90]
call fcn.00406750
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], 0x3c
push eax
lea eax, [ebp - 0x90]
or ebx, 0x10000000
push eax
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x34], ebx
call fcn.004039f0
mov ecx, eax
call fcn.00437da0
mov ebx, edi
mov byte [ebp - 0x11], 1
or ebx, 0x30000000
cmp dword [eax + 0x10], 0
ja 0x44cef9
mov byte [ebp - 0x11], 0
test ebx, 0x20000000
je 0x44cf0f
lea ecx, [ebp - 0x4c]
and ebx, 0xdfffffff
call fcn.00407320
test ebx, 0x10000000
je 0x44cf28
lea ecx, [ebp - 0x90]
and ebx, 0xefffffff
call fcn.00407270
test ebx, 0x8000000
je 0x44cf3e
lea ecx, [ebp - 0x64]
and ebx, 0xf7ffffff
call fcn.00407270
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0
and ebx, 0xfbffffff
call fcn.00407270
cmp byte [ebp - 0x11], 0
je 0x44cf6c
push str.detectitem
push dword [ebp - 0x78]
push dword [ebp + 8]
call fcn.0044a7d0
mov dword [esi + 0x3c], eax
push str.taskcolor
lea ecx, [ebp - 0x64]
mov dword [esi + 0x40], 0
call fcn.00406750
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x3d
or ebx, 0x40000000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
call fcn.00437e40
test al, al
je 0x44cfd6
push str.taskcolor
lea ecx, [ebp - 0x90]
call fcn.00406750
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 0x3e
or ebx, 0x80000000
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
call fcn.004039f0
mov byte [ebp - 0x11], 1
cmp dword [eax + 8], 0
jne 0x44cfda
mov byte [ebp - 0x11], 0
test ebx, ebx
jns 0x44cfe9
lea ecx, [ebp - 0x90]
call fcn.00407270
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0
call fcn.00407270
cmp byte [ebp - 0x11], 0
je 0x44d03e
push str.taskcolor
lea ecx, [ebp - 0x90]
call fcn.00406750
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x3f
push eax
lea ecx, [ebp - 0x74]
call fcn.004039f0
lea ecx, [ebp - 0x11]
push ecx
mov ecx, eax
call fcn.00437b30
lea ecx, [ebp - 0x90]
mov dword [esi + 0x40], eax
mov byte [ebp - 4], 0
call fcn.00407270
push str.repeatday
lea ecx, [ebp - 0x64]
mov dword [esi + 0x44], 0
call fcn.00406750
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x40
mov ebx, 1
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
call fcn.00437e40
test al, al
je 0x44d0a6
push str.repeatday
lea ecx, [ebp - 0x90]
call fcn.00406750
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 0x41
mov ebx, 3
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x34], ebx
call fcn.004039f0
mov byte [ebp - 0x11], 1
cmp dword [eax + 8], 0
jne 0x44d0aa
mov byte [ebp - 0x11], 0
test bl, 2
je 0x44d0ba
lea ecx, [ebp - 0x90]
call fcn.00407270
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0
call fcn.00407270
cmp byte [ebp - 0x11], 0
je 0x44d10b
push str.repeatday
lea ecx, [ebp - 0x90]
call fcn.00406750
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x42
push eax
lea ecx, [ebp - 0x74]
call fcn.004039f0
lea ecx, [ebp - 0x11]
push ecx
mov ecx, eax
call fcn.00437b30
lea ecx, [ebp - 0x90]
mov dword [esi + 0x44], eax
call fcn.00407270
lea ecx, [ebp - 0x74]
call fcn.00407520
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
call fcn.00524a29
call fcn.00524a29
int3