Function at 0x403369
Capabilities:
Get common file path

Disassembly:
push 0x298
mov eax, 0x425b19
call fcn.00411cc5
mov eax, dword [ebp + 8]
xor ebx, ebx
push 0x206
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x21e]
push ebx
mov dword [ebp - 0x230], ebx
push eax
mov word [ebp - 0x220], bx
call fcn.00411d70
add esp, 0xc
lea eax, [ebp - 0x220]
push eax
push ebx
push ebx
push 0x1a
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov eax, dword [0x4322e4]
mov ecx, 0x4322e4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x23c], eax
push 0x69
mov dword [ebp - 4], ebx
call fcn.0040528a
cmp eax, ebx
pop ecx
je 0x4033eb
push 0x69
push eax
lea eax, [ebp - 0x23c]
push eax
call fcn.00404782
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x238]
push eax
call fcn.0040417c
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x23c]
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x238]
call fcn.00404b50
mov esi, 0x429c44
lea edi, [ebp - 0x18]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x224]
movsw word es:[edi], word [esi]
jmp 0x403553
movzx eax, word [esi]
cmp ax, 0x49
je 0x4034d9
cmp ax, 0x69
je 0x4034d9
cmp ax, 0x73
je 0x40345b
cmp ax, 0x53
je 0x40345b
inc esi
inc esi
jmp 0x40354d
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x238]
push eax
call fcn.00404247
push 0x5b
push esi
call fcn.0040f07c
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
je 0x403b09
inc esi
inc esi
push 0x5d
push esi
call fcn.0040f07c
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
mov dword [ebp - 0x22c], edi
je 0x403b09
sub edi, esi
sar edi, 1
cmp edi, 1
jle 0x403544
push esi
mov ecx, 0x4322e4
lea esi, [ebp - 0x230]
call fcn.004044de
mov eax, esi
lea edi, [ebp - 0x238]
mov byte [ebp - 4], 3
call fcn.00404206
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x230]
jmp 0x40353c
inc esi
inc esi
push 0x5b
push esi
call fcn.0040f07c
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
je 0x403b09
inc esi
inc esi
push 0x5d
push esi
call fcn.0040f07c
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
mov dword [ebp - 0x22c], edi
je 0x403b09
sub edi, esi
sar edi, 1
cmp edi, 1
jle 0x403544
push esi
mov ecx, 0x4322e4
lea esi, [ebp - 0x240]
call fcn.004044de
mov eax, esi
push eax
mov byte [ebp - 4], 2
call fcn.00401fdc
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x240]
pop ecx
add eax, 0xfffffff0
call fcn.004054c6
mov esi, dword [ebp - 0x22c]
add esi, 2
lea eax, [ebp - 0x18]
push eax
mov eax, esi
call fcn.00401f9b
mov esi, eax
cmp esi, ebx
pop ecx
jne 0x403431
mov eax, dword [0x42726c]
lea esi, [ebp - 0x264]
mov dword [ebp - 0x284], ebx
mov dword [ebp - 0x274], ebx
mov dword [ebp - 0x270], ebx
mov dword [ebp - 0x26c], ebx
mov dword [ebp - 0x268], eax
mov dword [ebp - method.CMainWindow.virtual_0], vtable.CMainWindow.0
call fcn.00403f66
push ebx
call fcn.00410618
pop ecx
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], edx
lea esi, [ebp - 0x22c]
mov byte [ebp - 4], 4
call fcn.0040931e
mov byte [ebp - 4], 5
cmp dword [eax], ebx
mov dword [ebp - 0x230], 1
je 0x403610
lea esi, [ebp - 0x224]
call fcn.0040a14f
mov dword [ebp - 4], 6
cmp dword [eax], ebx
mov dword [ebp - 0x230], 3
je 0x403610
lea ebx, [ebp - 0x240]
call fcn.00408aca
xor ebx, ebx
cmp dword [eax], ebx
mov dword [ebp - 0x230], 7
mov byte [ebp - 0x225], bl
jne 0x403617
mov byte [ebp - 0x225], 1
test byte [ebp - 0x230], 4
je 0x40363c
mov edi, dword [ebp - 0x240]
and dword [ebp - 0x230], 0xfffffffb
cmp edi, ebx
je 0x403636
call entry0
mov dword [ebp - 0x240], ebx
mov dword [ebp - 4], 5
test byte [ebp - 0x230], 2
je 0x403668
mov edi, dword [ebp - 0x224]
and dword [ebp - 0x230], 0xfffffffd
cmp edi, ebx
je 0x403662
call entry0
mov dword [ebp - 0x224], ebx
mov dword [ebp - 4], 4
test byte [ebp - 0x230], 1
je 0x40368e
mov edi, dword [ebp - 0x22c]
and dword [ebp - 0x230], 0xfffffffe
cmp edi, ebx
je 0x40368e
call entry0
cmp byte [ebp - 0x225], bl
je 0x4036ec
cmp dword [0x43159c], 0xffffffff
je 0x403afa
push str.CFileDownloadMaster_or_CInstallMaster_or_CConfigMaster_instance_error_n
lea eax, [ebp - 0x224]
push eax
mov dword [ebp - 0x22c], ebx
call fcn.00403fc0
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax - 0xc]
push ebx
lea edx, [ebp - 0x22c]
push edx
push ecx
push eax
push dword [0x43159c]
call dword [0x42707c]
mov eax, dword [ebp - 0x224]
add eax, 0xfffffff0
call fcn.004054c6
jmp 0x403afa
mov dword [ebp - 0x24c], ebx
mov dword [ebp - 0x248], ebx
mov dword [ebp - 0x244], ebx
lea ebx, [ebp - 0x22c]
mov byte [ebp - 4], 7
call fcn.00408aca
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 8
mov eax, dword [eax]
push ecx
push eax
call fcn.00408c18
mov bl, al
neg bl
sbb bl, bl
mov byte [ebp - 4], 7
mov edi, dword [ebp - 0x22c]
xor esi, esi
inc bl
cmp edi, esi
je 0x40373d
call entry0
test bl, bl
je 0x403797
cmp dword [0x43159c], 0xffffffff
je 0x403aef
push str.CConfigMaster_GetDownloadList_error_n
lea eax, [ebp - 0x224]
push eax
mov dword [ebp - 0x22c], esi
call fcn.00403fc0
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax - 0xc]
push esi
lea edx, [ebp - 0x22c]
push edx
push ecx
push eax
push dword [0x43159c]
call dword [0x42707c]
mov eax, dword [ebp - 0x224]
add eax, 0xfffffff0
call fcn.004054c6
jmp 0x403aef
cmp dword [ebp - 0x24c], esi
je 0x403aef
mov eax, dword [ebp - 0x248]
sub eax, dword [ebp - 0x24c]
sar eax, 5
je 0x403aef
xor edi, edi
cmp dword [0x4315d0], esi
jne 0x4037c8
mov dword [0x4315d0], esi
lea eax, [ebp - 0x268]
push eax
push 0x4315a0
call fcn.00405605
movzx eax, ax
push eax
push esi
push esi
push 0x56000000
push esi
push edi
lea ebx, [ebp - 0x288]
call fcn.00405525
push dword [ebp - 0x284]
call dword [0x427280]
test eax, eax
je 0x403aef
and dword [ebp - 0x240], edi
lea esi, [ebp - 0x22c]
call fcn.0040931e
mov byte [ebp - 4], 9
mov edi, dword [eax]
mov eax, dword [ebp - 0x284]
or dword [ebp - 0x230], 8
push 0x48
mov dword [edi + 0x60], eax
call fcn.0040edf4
test eax, eax
pop ecx
je 0x403841
mov esi, eax
call fcn.004059d9
jmp 0x403843
xor eax, eax
lea esi, [edi + 0x30]
call fcn.00409669
mov esi, dword [esi]
test esi, esi
je 0x403888
call fcn.00405aad
test al, al
je 0x403888
lea esi, [ebp - 0x224]
call fcn.0040a14f
mov dword [ebp - 4], 0xa
mov edi, dword [eax]
mov eax, dword [ebp - 0x284]
or dword [ebp - 0x230], 0x10
call fcn.0040a1c9
test al, al
je 0x403888
mov bl, 1
jmp 0x40388a
xor bl, bl
mov dword [ebp - 4], 9
test byte [ebp - 0x230], 0x10
je 0x4038b7
mov edi, dword [ebp - 0x224]
and dword [ebp - 0x230], 0xffffffef
test edi, edi
je 0x4038b0
call entry0
and dword [ebp - 0x224], 0
mov dword [ebp - 4], 7
test byte [ebp - 0x230], 8
je 0x4038d6
mov edi, dword [ebp - 0x22c]
test edi, edi
je 0x4038d6
call entry0
test bl, bl
je 0x403a9f
cmp dword [0x43159c], 0xffffffff
je 0x40392d
and dword [ebp - 0x22c], 0
push str.CFileDownloadMaster_and_CInstallMaster_init_success__n
lea eax, [ebp - 0x224]
push eax
call fcn.00403fc0
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax - 0xc]
push 0
lea edx, [ebp - 0x22c]
push edx
push ecx
push eax
push dword [0x43159c]
call dword [0x42707c]
mov eax, dword [ebp - 0x224]
add eax, 0xfffffff0
call fcn.004054c6
mov esi, dword [ebp - 0x24c]
cmp esi, dword [ebp - 0x248]
jbe 0x403940
call fcn.0040f3a3
lea eax, [ebp - 0x250]
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], esi
mov esi, dword [ebp - 0x248]
cmp dword [ebp - 0x24c], esi
jbe 0x403965
call fcn.0040f3a3
cmp dword [ebp - 0x234], 0
je 0x40397c
lea eax, [ebp - 0x250]
cmp dword [ebp - 0x234], eax
je 0x403981
call fcn.0040f3a3
cmp dword [ebp - 0x230], esi
je 0x403a96
lea esi, [ebp - 0x234]
call fcn.004044a1
lea esi, [ebp - 0x224]
mov ebx, eax
call fcn.0040931e
mov byte [ebp - 4], 0xb
mov edx, dword [ebx + 0x1c]
mov eax, dword [eax]
mov ecx, dword [ebx + 0x10]
push edx
push dword [ebp - 0x238]
push ebx
push eax
call fcn.00409398
mov byte [ebp - 4], 7
mov edi, dword [ebp - 0x224]
test edi, edi
mov byte [ebp - 0x225], al
je 0x4039d8
call entry0
and dword [ebp - 0x224], 0
cmp byte [ebp - 0x225], 0
je 0x403a96
cmp dword [0x43159c], 0xffffffff
je 0x403a7c
mov eax, dword [0x4322e4]
and dword [ebp - 0x254], 0
mov ecx, 0x4322e4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x240], eax
mov byte [ebp - 4], 0xc
push dword [ebx + 0x10]
lea eax, [ebp - 0x240]
push str.CFileDownloadMaster_AddDownloadJob:__s_n
call fcn.00404d5a
mov esi, dword [ebp - 0x240]
pop ecx
pop ecx
push esi
lea eax, [ebp - 0x22c]
push eax
call fcn.00403fc0
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax - 0xc]
push 0
lea edx, [ebp - 0x254]
push edx
push ecx
push eax
push dword [0x43159c]
call dword [0x42707c]
mov eax, dword [ebp - 0x22c]
add eax, 0xfffffff0
call fcn.004054c6
lea eax, [esi - 0x10]
mov byte [ebp - 4], 7
call fcn.004054c6
lea esi, [ebp - 0x234]
mov dword [ebp - 0x240], 1
call fcn.004044be
jmp 0x403952
cmp dword [ebp - 0x240], 0
jne 0x403abb
push dword [ebp - 0x284]
call dword [0x427280]
test eax, eax
je 0x403abb
push dword [ebp - 0x284]
call dword [0x42727c]
mov esi, dword [0x427278]
xor edi, edi
jmp 0x403adf
lea eax, [ebp - 0x2a4]
push eax
call dword [0x427274]
lea eax, [ebp - 0x2a4]
push eax
call dword [0x427270]
push edi
push edi
push edi
lea eax, [ebp - 0x2a4]
push eax
call esi
test eax, eax
jne 0x403ac5
lea edi, [ebp - 0x250]
call fcn.00404416
lea eax, [ebp - 0x288]
mov byte [ebp - 4], 1
call fcn.0040aa67
mov eax, dword [ebp - 0x238]
add eax, 0xfffffff0
call fcn.004054c6
mov eax, dword [ebp - 0x23c]
add eax, 0xfffffff0
call fcn.004054c6
call fcn.00411d48
ret