Function at 0x414f90
Capabilities:
Get common file path
Parse pe header

Disassembly:
push 0x408
mov eax, 0x45fb15
call fcn.0043c548
mov esi, ecx
mov dword [ebp - 0x338], esi
xor ebx, ebx
mov dword [ebp - 0x344], esi
lea ecx, [ebp - 0x33d]
mov byte [ebp - 0x33d], bl
call fcn.004180a0
neg al
lea ecx, [ebp - 0x234]
push str.HKLMSOFTWARENVIDIA_CorporationGlobalNVUpdatus
sbb al, al
and al, byte [ebp - 0x33d]
mov byte [ebp - 0x339], al
mov byte [ebp - 0x33d], al
call fcn.004062f0
add esi, 0x74
mov dword [ebp - 4], ebx
push ebx
mov edx, esi
lea ecx, [ebp - 0x234]
call fcn.00410e52
or dword [ebp - 4], 0xffffffff
pop ecx
push ebx
inc ebx
lea ecx, [ebp - 0x234]
push ebx
call fcn.00408a5c
push str.HKLMSOFTWARENVIDIA_CorporationGlobalNvBackend
lea ecx, [ebp - 0x234]
call fcn.004062f0
xor edi, edi
mov dword [ebp - 4], ebx
push edi
mov edx, esi
lea ecx, [ebp - 0x234]
call fcn.00410e52
or dword [ebp - 4], 0xffffffff
pop ecx
push edi
push ebx
lea ecx, [ebp - 0x234]
call fcn.00408a5c
push str.HKCUSOFTWARENVIDIA_CorporationNvBackend
lea ecx, [ebp - 0x234]
call fcn.004062f0
push edi
mov edx, esi
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x234]
call fcn.00410e52
or dword [ebp - 4], 0xffffffff
pop ecx
push edi
push ebx
lea ecx, [ebp - 0x234]
call fcn.00408a5c
push str.HKLMSOFTWARENVIDIA_CorporationGlobalNvNode
lea ecx, [ebp - 0x234]
call fcn.004062f0
push ebx
mov edx, esi
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x234]
call fcn.00410e52
or dword [ebp - 4], 0xffffffff
pop ecx
push edi
push ebx
lea ecx, [ebp - 0x234]
call fcn.00408a5c
push str.text_plain
lea ecx, [ebp - 0x234]
call fcn.004062f0
lea ecx, [ebp - 0x264]
mov dword [ebp - 4], 4
call fcn.0040dceb
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 5
push ecx
mov ecx, dword [ebp - 0x338]
push 2
push 0x4000
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x264]
call fcn.00408a5c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x234]
push edi
push ebx
call fcn.00408a5c
lea ecx, [ebp - 0x234]
call fcn.0040ddb3
lea eax, [ebp - 0x234]
mov dword [ebp - 4], 6
push eax
lea ecx, [ebp - 0x334]
call fcn.00422420
push edi
push ebx
lea ecx, [ebp - 0x330]
mov esi, dword [eax]
call fcn.00408a5c
cmp esi, ebx
jne 0x41518a
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
mov esi, dword [ebp - 0x338]
lea eax, [ebp - 0x24c]
push eax
push 2
push 0x4000
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 7
push eax
mov ecx, esi
call fcn.00412b9a
push edi
push ebx
lea ecx, [ebp - 0x24c]
call fcn.00408a5c
jmp 0x415190
mov esi, dword [ebp - 0x338]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x234]
push edi
push ebx
call fcn.00408a5c
cmp byte [ebp - 0x339], 0
mov ecx, 0x500000
mov eax, 0x100000
cmovne eax, ecx
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x220], eax
call fcn.0040df4e
lea ecx, [ebp - 0x27c]
mov dword [ebp - 4], 8
call fcn.00423d21
test al, al
je 0x41521d
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 9
push eax
push ebx
push dword [ebp - 0x220]
lea eax, [ebp - 0x27c]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 8
call fcn.00408a5c
push str..bak
call fcn.004012d2
pop ecx
push eax
push str..bak
lea ecx, [ebp - 0x27c]
call fcn.0040a414
lea ecx, [ebp - 0x27c]
call fcn.00423d21
test al, al
je 0x415285
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0xa
push eax
push ebx
push dword [ebp - 0x220]
lea eax, [ebp - 0x27c]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x24c]
call fcn.00408a5c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x27c]
push edi
push ebx
call fcn.00408a5c
lea ecx, [ebp - 0x234]
call fcn.0040df0a
lea ecx, [ebp - 0x234]
mov dword [ebp - 4], 0xb
call fcn.00423d21
test al, al
je 0x4152f7
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0xc
push eax
push ebx
push 0x8000
lea eax, [ebp - 0x234]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0xb
call fcn.00408a5c
push str..bak
call fcn.004012d2
pop ecx
push eax
push str..bak
lea ecx, [ebp - 0x234]
call fcn.0040a414
lea ecx, [ebp - 0x234]
call fcn.00423d21
test al, al
je 0x41535e
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0xd
push eax
push ebx
push 0x8000
lea eax, [ebp - 0x234]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x24c]
call fcn.00408a5c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x234]
push edi
push ebx
call fcn.00408a5c
lea ecx, [ebp - 0x228]
call fcn.0040df92
mov dword [ebp - 4], 0xe
mov esi, dword [ebp - 0x228]
mov edi, dword [ebp - 0x224]
jmp 0x415425
push esi
lea ecx, [ebp - 0x24c]
call fcn.0040635c
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x334]
call fcn.00422420
push 0
push 1
lea ecx, [ebp - 0x330]
mov ebx, dword [eax]
call fcn.00408a5c
cmp ebx, 1
jne 0x41540d
push str.text_plain
lea ecx, [ebp - 0x27c]
call fcn.004062f0
mov ecx, dword [ebp - 0x338]
lea eax, [ebp - 0x27c]
push eax
push ebx
push 0x2000
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0x10
push eax
call fcn.00412b9a
push 0
push ebx
lea ecx, [ebp - 0x27c]
call fcn.00408a5c
jmp 0x415410
xor ebx, ebx
inc ebx
push 0
push ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0xe
call fcn.00408a5c
add esi, 0x18
cmp esi, edi
jne 0x415392
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x228]
call fcn.00408997
lea ecx, [ebp - 0x228]
call fcn.0040e08c
mov dword [ebp - 4], 0x11
mov esi, dword [ebp - 0x228]
mov edi, dword [ebp - 0x224]
jmp 0x4154f2
push esi
lea ecx, [ebp - 0x24c]
call fcn.0040635c
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x334]
call fcn.00422420
push 0
push 1
lea ecx, [ebp - 0x330]
mov ebx, dword [eax]
call fcn.00408a5c
cmp ebx, 1
jne 0x4154da
push str.text_plain
lea ecx, [ebp - 0x27c]
call fcn.004062f0
mov ecx, dword [ebp - 0x338]
lea eax, [ebp - 0x27c]
push eax
push ebx
push 0x10000
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0x13
push eax
call fcn.00412b9a
push 0
push ebx
lea ecx, [ebp - 0x27c]
call fcn.00408a5c
jmp 0x4154dd
xor ebx, ebx
inc ebx
push 0
push ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x11
call fcn.00408a5c
add esi, 0x18
cmp esi, edi
jne 0x41545f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x228]
call fcn.00408997
lea ecx, [ebp - 0x234]
call fcn.0040f064
lea ecx, [ebp - 0x234]
mov dword [ebp - 4], 0x14
call fcn.00423d21
test al, al
je 0x415574
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
mov edi, dword [ebp - 0x338]
lea eax, [ebp - 0x24c]
push eax
push ebx
push 0x40000
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0x15
push eax
mov ecx, edi
call fcn.00412920
xor esi, esi
mov byte [ebp - 4], 0x14
push esi
push ebx
lea ecx, [ebp - 0x24c]
call fcn.00408a5c
jmp 0x41557c
mov edi, dword [ebp - 0x338]
xor esi, esi
push str..bak
call fcn.004012d2
pop ecx
push eax
push str..bak
lea ecx, [ebp - 0x234]
call fcn.0040a414
lea ecx, [ebp - 0x234]
call fcn.00423d21
test al, al
je 0x4155e3
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0x16
push eax
push ebx
push 0x40000
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.00412920
push esi
push ebx
lea ecx, [ebp - 0x24c]
call fcn.00408a5c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x234]
push esi
push ebx
call fcn.00408a5c
lea ecx, [ebp - 0x234]
call fcn.0040f01d
lea ecx, [ebp - 0x234]
mov dword [ebp - 4], 0x17
call fcn.00423d21
test al, al
je 0x415655
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0x18
push eax
push ebx
push 0x8000
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.00412920
push esi
push ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x17
call fcn.00408a5c
push str..bak
call fcn.004012d2
pop ecx
push eax
push str..bak
lea ecx, [ebp - 0x234]
call fcn.0040a414
lea ecx, [ebp - 0x234]
call fcn.00423d21
test al, al
je 0x4156bc
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0x19
push eax
push ebx
push 0x8000
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.00412920
push esi
push ebx
lea ecx, [ebp - 0x24c]
call fcn.00408a5c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x234]
push esi
push ebx
call fcn.00408a5c
lea ecx, [ebp - 0x35c]
call fcn.0040e515
mov dword [ebp - 4], 0x1a
mov eax, dword [ebp - 0x358]
sub eax, dword [ebp - 0x35c]
push 0x18
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x220], esi
test eax, eax
je 0x41578e
mov eax, esi
mov dword [ebp - 0x268], eax
mov ecx, dword [ebp - 0x35c]
add ecx, eax
call fcn.00423d21
test al, al
je 0x41575e
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0x1b
push eax
mov eax, dword [ebp - 0x35c]
mov ecx, edi
add eax, dword [ebp - 0x268]
push ebx
push 0x80000
push eax
call fcn.00412920
push esi
push ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x1a
call fcn.00408a5c
mov eax, dword [ebp - 0x358]
sub eax, dword [ebp - 0x35c]
push 0x18
pop ecx
cdq
idiv ecx
add dword [ebp - 0x268], ecx
inc dword [ebp - 0x220]
cmp dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x268]
jb 0x415707
lea ecx, [ebp - 0x350]
call fcn.0040e5b0
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x34c]
sub eax, dword [ebp - 0x350]
push 0x18
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x220], esi
test eax, eax
je 0x41584c
mov eax, esi
mov dword [ebp - 0x268], eax
mov ecx, dword [ebp - 0x350]
add ecx, eax
call fcn.00423d21
test al, al
je 0x41581c
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0x1d
push eax
mov eax, dword [ebp - 0x350]
mov ecx, edi
add eax, dword [ebp - 0x268]
push ebx
push 0x40000
push eax
call fcn.00412920
push esi
push ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x1c
call fcn.00408a5c
mov eax, dword [ebp - 0x34c]
sub eax, dword [ebp - 0x350]
push 0x18
pop ecx
cdq
idiv ecx
add dword [ebp - 0x268], ecx
inc dword [ebp - 0x220]
cmp dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x268]
jb 0x4157c5
lea ecx, [ebp - 0x228]
call fcn.0040e955
mov byte [ebp - 4], 0x1e
mov esi, dword [ebp - 0x228]
mov edi, dword [ebp - 0x224]
jmp 0x4158b6
mov ecx, esi
call fcn.00423d21
test al, al
je 0x4158b3
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
mov ecx, dword [ebp - 0x338]
lea eax, [ebp - 0x24c]
push eax
push ebx
push 0x80000
push esi
mov byte [ebp - 4], 0x1f
call fcn.00412920
push 0
push ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x1e
call fcn.00408a5c
add esi, 0x18
cmp esi, edi
jne 0x415869
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x1c
call fcn.00408997
lea ecx, [ebp - 0x228]
call fcn.0040e863
mov byte [ebp - 4], 0x20
mov esi, dword [ebp - 0x228]
mov edi, dword [ebp - 0x224]
jmp 0x41594f
push esi
lea ecx, [ebp - 0x334]
call fcn.00422420
push 0
push 1
lea ecx, [ebp - 0x330]
mov ebx, dword [eax]
call fcn.00408a5c
cmp ebx, 1
jne 0x415949
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
mov ecx, dword [ebp - 0x338]
lea eax, [ebp - 0x24c]
push eax
push ebx
push 0x8c00
push esi
mov byte [ebp - 4], 0x21
call fcn.00412b9a
push 0
push ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x20
call fcn.00408a5c
jmp 0x41594c
xor ebx, ebx
inc ebx
add esi, 0x18
cmp esi, edi
jne 0x4158e6
lea ecx, [ebp - 0x228]
call fcn.00408997
push str.NvCaas_Stub
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x22
call fcn.004062f0
sub esp, 0x28
xor esi, esi
mov eax, esp
mov dword [ebp - 0x220], esp
mov dword [eax + 0x24], esi
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x24
call fcn.0040e7ed
mov byte [ebp - 4], 0x25
mov edi, dword [ebp - 0x338]
lea ecx, [ebp - 0x24c]
push esi
push 0xc800
push 0xa
push ecx
mov edx, eax
mov byte [ebp - 4], 0x26
mov ecx, edi
call fcn.00414d77
add esp, 0x38
lea ecx, [ebp - 0x294]
push esi
push ebx
call fcn.00408a5c
push esi
push ebx
lea ecx, [ebp - 0x24c]
call fcn.00408a5c
jmp 0x415a83
mov dword [ebp - 4], 0x1c
lea ecx, [ebp - 0x24c]
push str.PocoInitializer_
mov byte [ebp - 4], 0x2a
call fcn.004062f0
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x220], esp
mov dword [eax + 0x24], esi
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x2c
call fcn.0040e8df
mov byte [ebp - 4], 0x2d
push esi
push 0xc800
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x2e
push 0xa
push ecx
mov edx, eax
mov ecx, edi
call fcn.00414d77
add esp, 0x38
lea ecx, [ebp - 0x294]
push esi
push ebx
call fcn.00408a5c
push esi
push ebx
lea ecx, [ebp - 0x24c]
call fcn.00408a5c
jmp 0x415ba7
lea ecx, [ebp - 0x294]
mov dword [ebp - 4], 0x1c
call fcn.0040de7c
mov byte [ebp - 4], 0x32
mov edx, eax
push dword [ebp - 0x33d]
mov ecx, edi
call fcn.00414adc
pop ecx
push esi
push ebx
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x1c
call fcn.00408a5c
push str.C:NvidiaLogging
lea ecx, [ebp - 0x24c]
call fcn.004062f0
mov byte [ebp - 4], 0x33
lea edx, [ebp - 0x24c]
push dword [ebp - 0x33d]
mov ecx, edi
call fcn.00414adc
pop ecx
push esi
push ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x1c
call fcn.00408a5c
call fcn.00424a1b
cmp eax, 5
jl 0x415dba
lea eax, [ebp - 0x21c]
push eax
push esi
push esi
push 0x24
push esi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x415dba
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x27c]
call fcn.004062f0
push str.inf_setupapi.dev.log
mov byte [ebp - 4], 0x34
call fcn.004012d2
pop ecx
push eax
push str.inf_setupapi.dev.log
lea ecx, [ebp - 0x27c]
call fcn.0040a414
lea ecx, [ebp - 0x27c]
call fcn.00423d21
test al, al
je 0x415da9
push ecx
lea edx, [ebp - 0x27c]
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x228]
call fcn.0041896c
pop ecx
push str.text_plain
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x36
call fcn.004062f0
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x24c]
mov eax, dword [ebp - 0x224]
sub eax, dword [ebp - 0x228]
push ecx
push eax
push dword [ebp - 0x228]
lea eax, [ebp - 0x27c]
mov ecx, edi
push eax
call fcn.00412ffd
push esi
push ebx
lea ecx, [ebp - 0x24c]
call fcn.00408a5c
lea ecx, [ebp - 0x228]
call fcn.00408971
jmp 0x415da2
mov dword [ebp - 4], 0x34
push esi
push ebx
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 0x1c
call fcn.00408a5c
lea ecx, [ebp - 0x228]
call fcn.0040f30f
mov byte [ebp - 4], 0x3b
mov esi, dword [ebp - 0x228]
mov edi, dword [ebp - 0x224]
jmp 0x415e40
push esi
lea ecx, [ebp - 0x334]
call fcn.00422420
push 0
push 1
lea ecx, [ebp - 0x330]
mov ebx, dword [eax]
call fcn.00408a5c
cmp ebx, 1
jne 0x415e3a
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
mov ecx, dword [ebp - 0x338]
lea eax, [ebp - 0x24c]
push eax
push ebx
push 0x20000
push esi
mov byte [ebp - 4], 0x3c
call fcn.00412b9a
push 0
push ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x3b
call fcn.00408a5c
jmp 0x415e3d
xor ebx, ebx
inc ebx
add esi, 0x18
cmp esi, edi
jne 0x415dd7
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x1c
call fcn.00408997
lea ecx, [ebp - 0x368]
call fcn.0040e186
mov byte [ebp - 4], 0x3d
xor ecx, ecx
mov eax, dword [ebp - 0x364]
mov edi, dword [ebp - 0x368]
sub eax, edi
push 0x18
mov dword [ebp - 0x220], ecx
cdq
pop ecx
idiv ecx
test eax, eax
je 0x415efb
xor esi, esi
lea ecx, [edi + esi]
call fcn.00423d21
test al, al
je 0x415ed7
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
mov ecx, dword [ebp - 0x338]
lea eax, [ebp - 0x24c]
push eax
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0x368]
push ebx
push 0x7d000
add eax, esi
push eax
call fcn.00412920
push 0
push ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x3d
call fcn.00408a5c
mov eax, dword [ebp - 0x364]
mov edi, dword [ebp - 0x368]
sub eax, edi
push 0x18
pop ecx
cdq
add esi, ecx
idiv ecx
inc dword [ebp - 0x220]
cmp dword [ebp - 0x220], eax
jb 0x415e84
lea ecx, [ebp - 0x228]
call fcn.0040e221
mov byte [ebp - 4], 0x3f
mov esi, dword [ebp - 0x228]
mov edi, dword [ebp - 0x224]
jmp 0x415f7c
push esi
lea ecx, [ebp - 0x334]
call fcn.00422420
push 0
push 1
lea ecx, [ebp - 0x330]
mov ebx, dword [eax]
call fcn.00408a5c
cmp ebx, 1
jne 0x415f79
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
mov ecx, dword [ebp - 0x338]
lea eax, [ebp - 0x24c]
push eax
push ebx
push 0xc800
push esi
mov byte [ebp - 4], 0x40
call fcn.00412b9a
push 0
push ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x3f
call fcn.00408a5c
add esi, 0x18
cmp esi, edi
jne 0x415f18
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x3d
call fcn.00408997
lea ecx, [ebp - 0x228]
call fcn.0040e31b
mov byte [ebp - 4], 0x41
mov esi, dword [ebp - 0x228]
mov edi, dword [ebp - 0x224]
jmp 0x415ffb
mov ecx, esi
call fcn.00423d21
test al, al
je 0x415ff8
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
mov ecx, dword [ebp - 0x338]
lea eax, [ebp - 0x24c]
push eax
push 1
push 0x40000
push esi
mov byte [ebp - 4], 0x42
call fcn.00412920
push 0
push 1
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x41
call fcn.00408a5c
add esi, 0x18
cmp esi, edi
jne 0x415fac
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x3d
call fcn.00408997
lea ecx, [ebp - 0x27c]
call fcn.0040e487
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 0x43
call fcn.00423d21
test al, al
je 0x416079
push str.text_plain
lea ecx, [ebp - 0x234]
call fcn.004062f0
mov edi, dword [ebp - 0x338]
lea eax, [ebp - 0x234]
push eax
xor ebx, ebx
mov byte [ebp - 4], 0x44
inc ebx
lea eax, [ebp - 0x27c]
push ebx
push 0x20000
push eax
mov ecx, edi
call fcn.00412920
xor esi, esi
mov byte [ebp - 4], 0x43
push esi
push ebx
lea ecx, [ebp - 0x234]
call fcn.00408a5c
jmp 0x416084
mov edi, dword [ebp - 0x338]
xor ebx, ebx
inc ebx
xor esi, esi
lea ecx, [ebp - 0x24c]
call fcn.0040e4ce
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x45
call fcn.00423d21
test al, al
je 0x4160de
push str.text_plain
lea ecx, [ebp - 0x234]
call fcn.004062f0
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0x46
push eax
push ebx
push 0x10000
lea eax, [ebp - 0x24c]
mov ecx, edi
push eax
call fcn.00412920
push esi
push ebx
lea ecx, [ebp - 0x234]
call fcn.00408a5c
push esi
push ebx
lea ecx, [ebp - 0x24c]
call fcn.00408a5c
push esi
push ebx
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 0x3d
call fcn.00408a5c
lea ecx, [ebp - 0x234]
call fcn.0040f0f2
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x47
call fcn.00423d21
test al, al
je 0x41615b
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0x48
push eax
push 2
push 0x40000
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.00412920
push esi
push ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x47
call fcn.00408a5c
push str..bak
call fcn.004012d2
pop ecx
push eax
push str..bak
lea ecx, [ebp - 0x234]
call fcn.0040a414
lea ecx, [ebp - 0x234]
call fcn.00423d21
test al, al
je 0x4161c3
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0x49
push eax
push 2
push 0x40000
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.00412920
push esi
push ebx
lea ecx, [ebp - 0x24c]
call fcn.00408a5c
push esi
push ebx
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x3d
call fcn.00408a5c
lea ecx, [ebp - 0x27c]
call fcn.0040f139
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 0x4a
call fcn.00423d21
test al, al
je 0x416233
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0x4b
push eax
push 2
push 0x8000
lea eax, [ebp - 0x27c]
mov ecx, edi
push eax
call fcn.00412920
push esi
push ebx
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x4a
call fcn.00408a5c
push str..bak
call fcn.004012d2
pop ecx
push eax
push str..bak
lea ecx, [ebp - 0x27c]
call fcn.0040a414
lea ecx, [ebp - 0x27c]
call fcn.00423d21
test al, al
je 0x41629b
push str.text_plain
lea ecx, [ebp - 0x24c]
call fcn.004062f0
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 0x4c
push eax
push 2
push 0x8000
lea eax, [ebp - 0x27c]
mov ecx, edi
push eax
call fcn.00412920
push esi
push ebx
lea ecx, [ebp - 0x24c]
call fcn.00408a5c
push esi
push ebx
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 0x3d
call fcn.00408a5c
lea ecx, [ebp - 0x24c]
call fcn.0040f1c7
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x4d
call fcn.00423d21
test al, al
je 0x416306
push str.text_plain
lea ecx, [ebp - 0x234]
call fcn.004062f0
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0x4e
push eax
push ebx
push 0x1400
lea eax, [ebp - 0x24c]
mov ecx, edi
push eax
call fcn.00412920
push esi
push ebx
lea ecx, [ebp - 0x234]
call fcn.00408a5c
push esi
push ebx
lea ecx, [ebp - 0x24c]
call fcn.00408a5c
lea eax, [ebp - 0x224]
mov byte [ebp - 4], 0x4f
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov ecx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x268], ecx
lea ecx, [ebp - 0x264]
push str..log
mov dword [ebp - 0x26c], eax
call fcn.004062f0
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x50
call fcn.0040f20b
push eax
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x51
call fcn.0042227d
sub esp, 0x28
mov byte [ebp - 4], 0x52
mov eax, esp
lea ecx, [ebp - 0x26c]
lea edx, [ebp - 0x24c]
push esi
mov dword [eax], vtable.std::_Func_impl_class__lambda_58ffce5ab2e2118712cc9c2caa7592b1___class_std::allocator_int___bool__class_GFE::Filesystem::Object_const__.0
mov dword [eax + 4], ecx
mov ecx, edi
push 0x80000
mov dword [eax + 0x24], eax
lea eax, [ebp - 0x264]
push 5
push eax
call fcn.00414d77
add esp, 0x38
lea ecx, [ebp - 0x24c]
push esi
push ebx
call fcn.00408a5c
push esi
push ebx
lea ecx, [ebp - 0x294]
call fcn.00408a5c
push esi
push ebx
lea ecx, [ebp - 0x264]
call fcn.00408a5c
jmp 0x416476
push 0x18
pop ebx
lea ecx, [ebp - 0x270]
mov dword [ebp - 4], 0x3d
call fcn.0040e6f3
mov byte [ebp - 4], 0x56
mov esi, dword [ebp - 0x270]
mov edi, dword [ebp - 0x26c]
jmp 0x416503
push esi
lea ecx, [ebp - 0x334]
call fcn.00422420
push 0
push 1
lea ecx, [ebp - 0x330]
mov ebx, dword [eax]
call fcn.00408a5c
cmp ebx, 1
jne 0x4164fe
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
mov ecx, dword [ebp - 0x338]
lea eax, [ebp - 0x264]
push eax
push ebx
push 0x19000
push esi
mov byte [ebp - 4], 0x57
call fcn.00412b9a
push 0
push ebx
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x56
call fcn.00408a5c
push 0x18
pop ebx
add esi, ebx
cmp esi, edi
jne 0x41649d
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 0x3d
call fcn.00408997
lea ecx, [ebp - 0x228]
call fcn.0040e9f0
mov byte [ebp - 4], 0x58
mov esi, dword [ebp - 0x228]
jmp 0x41657b
mov ecx, esi
call fcn.00423d21
test al, al
je 0x416579
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
mov ecx, dword [ebp - 0x338]
lea eax, [ebp - 0x264]
push eax
push 2
push 0x8000
push esi
mov byte [ebp - 4], 0x59
call fcn.00412920
push 0
push 1
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x58
call fcn.00408a5c
add esi, ebx
cmp esi, dword [ebp - 0x224]
jne 0x41652d
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x3d
call fcn.00408997
lea ecx, [ebp - 0x24c]
call fcn.0040ed1a
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x5a
call fcn.00423d21
test al, al
je 0x4165f9
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
mov esi, dword [ebp - 0x338]
lea eax, [ebp - 0x264]
push eax
xor ebx, ebx
mov byte [ebp - 4], 0x5b
inc ebx
lea eax, [ebp - 0x24c]
push ebx
push 0x19000
push eax
mov ecx, esi
call fcn.00412920
xor edi, edi
lea ecx, [ebp - 0x264]
push edi
push ebx
call fcn.00408a5c
jmp 0x416604
mov esi, dword [ebp - 0x338]
xor ebx, ebx
inc ebx
xor edi, edi
push str.MessageBus_
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 0x5c
call fcn.004062f0
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x5d
call fcn.0040ed60
push eax
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x5e
call fcn.0042227d
sub esp, 0x28
mov byte [ebp - 4], 0x5f
mov eax, esp
lea edx, [ebp - 0x264]
mov ecx, esi
push edi
push 0xc800
mov dword [eax + 0x24], edi
lea eax, [ebp - 0x27c]
push 0xa
push eax
call fcn.00414d77
add esp, 0x38
lea ecx, [ebp - 0x264]
push edi
push ebx
call fcn.00408a5c
push edi
push ebx
lea ecx, [ebp - 0x294]
call fcn.00408a5c
push edi
push ebx
lea ecx, [ebp - 0x27c]
call fcn.00408a5c
jmp 0x416738
push edi
mov dword [ebp - 4], 0x5a
lea ecx, [ebp - 0x24c]
push ebx
mov byte [ebp - 4], 0x3d
call fcn.00408a5c
lea ecx, [ebp - 0x228]
call fcn.0040ef0d
mov byte [ebp - 4], 0x63
mov esi, dword [ebp - 0x228]
jmp 0x4167b4
mov ecx, esi
call fcn.00423d21
test al, al
je 0x4167b1
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
mov ecx, dword [ebp - 0x338]
lea eax, [ebp - 0x264]
push eax
push 2
push 0x8000
push esi
mov byte [ebp - 4], 0x64
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x63
call fcn.00408a5c
add esi, 0x18
cmp esi, dword [ebp - 0x224]
jne 0x416767
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x3d
call fcn.00408997
lea ecx, [ebp - 0x2f4]
call fcn.0040d9b4
lea ecx, [ebp - 0x2f4]
mov byte [ebp - 4], 0x65
call fcn.00423d21
test al, al
je 0x416832
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
mov esi, dword [ebp - 0x338]
lea eax, [ebp - 0x264]
push eax
push 2
push 0x8000
lea eax, [ebp - 0x2f4]
mov byte [ebp - 4], 0x66
push eax
mov ecx, esi
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x65
call fcn.00408a5c
jmp 0x416838
mov esi, dword [ebp - 0x338]
push str..bak
call fcn.004012d2
pop ecx
push eax
push str..bak
lea ecx, [ebp - 0x2f4]
call fcn.0040a414
lea ecx, [ebp - 0x2f4]
call fcn.00423d21
test al, al
je 0x4168a4
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 0x67
push eax
push 2
push 0x8000
lea eax, [ebp - 0x2f4]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x65
call fcn.00408a5c
lea ecx, [ebp - 0x2dc]
call fcn.0040db97
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0x68
call fcn.00423d21
test al, al
je 0x416903
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 0x69
push eax
push 2
push 0x8000
lea eax, [ebp - 0x2dc]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x68
call fcn.00408a5c
push str..bak
call fcn.004012d2
pop ecx
push eax
push str..bak
lea ecx, [ebp - 0x2dc]
call fcn.0040a414
lea ecx, [ebp - 0x2dc]
call fcn.00423d21
test al, al
je 0x41696f
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 0x6a
push eax
push 2
push 0x8000
lea eax, [ebp - 0x2dc]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x68
call fcn.00408a5c
lea ecx, [ebp - 0x294]
call fcn.0040da83
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x6b
push ecx
mov ecx, eax
call fcn.0042238c
push edi
push ebx
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0x6d
call fcn.00408a5c
lea ecx, [ebp - 0x234]
call fcn.00423d21
test al, al
je 0x4169ed
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 0x6e
push eax
push 2
push 0x8000
lea eax, [ebp - 0x234]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x6d
call fcn.00408a5c
push str..bak
call fcn.004012d2
pop ecx
push eax
push str..bak
lea ecx, [ebp - 0x234]
call fcn.0040a414
lea ecx, [ebp - 0x234]
call fcn.00423d21
test al, al
je 0x416a55
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 0x6f
push eax
push 2
push 0x8000
lea eax, [ebp - 0x234]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x264]
call fcn.00408a5c
push edi
push ebx
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x68
call fcn.00408a5c
lea ecx, [ebp - 0x2c4]
call fcn.0040da3f
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 0x70
call fcn.00423d21
test al, al
je 0x416ac5
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 0x71
push eax
push 2
push 0x8000
lea eax, [ebp - 0x2c4]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x70
call fcn.00408a5c
push str..bak
call fcn.004012d2
pop ecx
push eax
push str..bak
lea ecx, [ebp - 0x2c4]
call fcn.0040a414
lea ecx, [ebp - 0x2c4]
call fcn.00423d21
test al, al
je 0x416b31
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 0x72
push eax
push 2
push 0x8000
lea eax, [ebp - 0x2c4]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x70
call fcn.00408a5c
lea ecx, [ebp - 0x2ac]
call fcn.0040dc66
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0x73
call fcn.00423d21
test al, al
je 0x416b90
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 0x74
push eax
push 2
push 0x8000
lea eax, [ebp - 0x2ac]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x73
call fcn.00408a5c
push str..bak
call fcn.004012d2
pop ecx
push eax
push str..bak
lea ecx, [ebp - 0x2ac]
call fcn.0040a414
lea ecx, [ebp - 0x2ac]
call fcn.00423d21
test al, al
je 0x416bfc
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 0x75
push eax
push 2
push 0x8000
lea eax, [ebp - 0x2ac]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x73
call fcn.00408a5c
lea ecx, [ebp - 0x234]
call fcn.0040f252
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x76
call fcn.00423d21
test al, al
je 0x416c5b
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 0x77
push eax
push 2
push 0x8000
lea eax, [ebp - 0x234]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x76
call fcn.00408a5c
push str..bak
call fcn.004012d2
pop ecx
push eax
push str..bak
lea ecx, [ebp - 0x234]
call fcn.0040a414
lea ecx, [ebp - 0x234]
call fcn.00423d21
test al, al
je 0x416cc3
push str.text_plain
lea ecx, [ebp - 0x264]
call fcn.004062f0
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 0x78
push eax
push 2
push 0x8000
lea eax, [ebp - 0x234]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x264]
call fcn.00408a5c
push edi
push ebx
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x73
call fcn.00408a5c
lea ecx, [ebp - 0x24c]
call fcn.0040de2a
push str.text_plain
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x79
call fcn.004062f0
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 0x7a
push eax
push 2
push 0x100000
lea eax, [ebp - 0x24c]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x79
call fcn.00408a5c
push str..bak
call fcn.004012d2
pop ecx
push eax
push str..bak
lea ecx, [ebp - 0x24c]
call fcn.0040a414
push str.text_plain
lea ecx, [ebp - 0x294]
call fcn.004062f0
lea eax, [ebp - 0x294]
mov byte [ebp - 4], 0x7b
push eax
push 2
push 0x100000
lea eax, [ebp - 0x24c]
mov ecx, esi
push eax
call fcn.00412920
push edi
push ebx
lea ecx, [ebp - 0x294]
call fcn.00408a5c
push edi
push ebx
lea ecx, [ebp - 0x24c]
call fcn.00408a5c
push edi
push ebx
lea ecx, [ebp - 0x2ac]
call fcn.00408a5c
push edi
push ebx
lea ecx, [ebp - 0x2c4]
call fcn.00408a5c
push edi
push ebx
lea ecx, [ebp - 0x2dc]
call fcn.00408a5c
push edi
push ebx
lea ecx, [ebp - 0x2f4]
call fcn.00408a5c
lea ecx, [ebp - 0x368]
call fcn.00408997
lea ecx, [ebp - 0x350]
call fcn.00408997
lea ecx, [ebp - 0x35c]
call fcn.00408997
call fcn.0043c495
ret