Function at 0x40213a
Capabilities:
Check if file exists
Delete file
Move file

Disassembly:
push 0x424
mov eax, 0x4898b1
call fcn.0044465a
mov edi, ecx
xor ebx, ebx
push ebx
lea eax, [ebp - 0x2c0]
push edi
push eax
mov dword [ebp - 0x33c], edi
call fcn.00423182
add esp, 0xc
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x2a8], 8
mov esi, dword [ebp - 0x2bc]
jae 0x40217c
lea esi, [ebp - 0x2bc]
call fcn.0041baed
cmp dword [edi + 0x18], 0x10
lea eax, [edi + 4]
mov dword [ebp - 0x344], eax
jb 0x402192
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x314]
push str.Softwareprojonepodlp_smpcache_addonInfo_
push eax
call fcn.004012e7
add esp, 0xc
push str._addon_desc.json
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x2a4]
push eax
mov byte [ebp - 4], 1
call fcn.00405a32
add esp, 0xc
push str._file_list.json
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x26c]
push eax
mov byte [ebp - 4], 2
call fcn.00405a32
add esp, 0xc
lea ecx, [edi + 0x8c]
lea eax, [ebp - 0x314]
mov byte [ebp - 4], 3
xor esi, esi
mov dword [ebp - 0x340], ebx
mov dword [ebp - 0x3a8], ecx
call fcn.004058be
test al, al
jne 0x402213
inc esi
mov dword [ebp - 0x340], esi
cmp dword [ebp - 0x28c], 8
mov eax, dword [ebp - 0x2a0]
jae 0x402228
lea eax, [ebp - 0x2a0]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push eax
call edi
test eax, eax
jne 0x402238
xor esi, esi
inc esi
cmp dword [ebp - 0x254], 8
mov eax, dword [ebp - 0x268]
jae 0x40224d
lea eax, [ebp - 0x268]
push eax
call edi
test eax, eax
jne 0x40225e
mov dword [ebp - 0x340], 1
push ebx
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x238], 0xf
call fcn.004043f6
mov byte [ebp - 4], 4
mov dword [ebp - 0x348], ebx
mov edi, 0xc8
cmp esi, ebx
je 0x4023bd
push 1
lea ecx, [ebp - 0x39c]
call fcn.00420d9c
pop ecx
mov ecx, dword [ebp - 0x33c]
mov byte [ebp - 4], 5
cmp dword [ecx + 0x18], 0x10
mov ecx, dword [ebp - 0x344]
jb 0x4022b1
mov ecx, dword [ecx]
cmp dword [eax + 0x18], 0x10
jb 0x4022bc
mov eax, dword [eax + 4]
jmp 0x4022bf
add eax, 4
push ecx
push 0x32e3
push eax
push str.https:___s:_d_addons__s_addon_desc.json
lea esi, [ebp - 0x2dc]
call fcn.0041dc15
add esp, 0x10
push ebx
push 1
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 7
call fcn.00403c15
cmp dword [ebp - 0x28c], 8
mov eax, dword [ebp - 0x2a0]
jae 0x402300
lea eax, [ebp - 0x2a0]
lea ecx, [ebp - 0x250]
push ecx
push eax
lea eax, [ebp - 0x2dc]
push eax
lea esi, [ebp - 0x348]
call fcn.004244bc
add esp, 0xc
test al, al
je 0x402401
cmp dword [ebp - 0x348], edi
jne 0x402401
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x2f8]
push eax
call fcn.0040121b
mov esi, eax
push dword [ebp - 0x33c]
lea eax, [ebp - 0x288]
push eax
mov byte [ebp - 4], 0xa
call fcn.0040121b
add esp, 0x10
mov byte [ebp - 4], 0xb
cmp dword [esi + 0x18], 8
jb 0x40236e
mov esi, dword [esi + 4]
jmp 0x402371
add esi, 4
cmp dword [eax + 0x18], 8
jb 0x40237c
mov eax, dword [eax + 4]
jmp 0x40237f
add eax, 4
push edi
push esi
push eax
push str.download_addon_desc_ok:__s_s_d
call fcn.0041f771
add esp, 0x10
push ebx
push 1
lea esi, [ebp - 0x288]
call fcn.00403d0d
push ebx
push 1
lea esi, [ebp - 0x2f8]
call fcn.00403d0d
push ebx
push 1
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 4
call fcn.00403c15
cmp dword [ebp - 0x340], ebx
je 0x402590
push 1
lea ecx, [ebp - 0x39c]
call fcn.00420d9c
pop ecx
mov ecx, dword [ebp - 0x33c]
mov byte [ebp - 4], 0xc
cmp dword [ecx + 0x18], 0x10
mov ecx, dword [ebp - 0x344]
jb 0x4023ef
mov ecx, dword [ecx]
cmp dword [eax + 0x18], 0x10
jb 0x402493
mov eax, dword [eax + 4]
jmp 0x402496
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x2f8]
push eax
call fcn.0040121b
mov esi, eax
push dword [ebp - 0x33c]
lea eax, [ebp - 0x288]
push eax
mov byte [ebp - 4], 8
call fcn.0040121b
add esp, 0x10
mov byte [ebp - 4], 9
cmp dword [esi + 0x18], 8
jb 0x40243e
mov esi, dword [esi + 4]
jmp 0x402441
add esi, 4
cmp dword [eax + 0x18], 8
jb 0x40244c
mov eax, dword [eax + 4]
jmp 0x40244f
add eax, 4
push dword [ebp - 0x348]
push esi
push eax
push str.download_addon_desc_failed:__s_s_d
call fcn.0041fc97
add esp, 0x10
xor edi, edi
push ebx
inc edi
push edi
lea esi, [ebp - 0x288]
call fcn.00403d0d
push ebx
push edi
lea esi, [ebp - 0x2f8]
call fcn.00403d0d
push ebx
push edi
lea ecx, [ebp - 0x2dc]
call fcn.00403c15
jmp 0x40301c
add eax, 4
push ecx
push 0x32e3
push eax
push str.https:___s:_d_addons__s_file_list.json
lea esi, [ebp - 0x2dc]
call fcn.0041dc15
add esp, 0x10
push ebx
push 1
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0xe
call fcn.00403c15
cmp dword [ebp - 0x254], 8
mov eax, dword [ebp - 0x268]
jae 0x4024d7
lea eax, [ebp - 0x268]
lea ecx, [ebp - 0x250]
push ecx
push eax
lea eax, [ebp - 0x2dc]
push eax
lea esi, [ebp - 0x348]
call fcn.004244bc
add esp, 0xc
test al, al
je 0x4026f7
cmp dword [ebp - 0x348], edi
jne 0x4026f7
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x2f8]
push eax
call fcn.0040121b
mov esi, eax
push dword [ebp - 0x33c]
lea eax, [ebp - 0x288]
push eax
mov byte [ebp - 4], 0x11
call fcn.0040121b
add esp, 0x10
mov byte [ebp - 4], 0x12
cmp dword [esi + 0x18], 8
jb 0x402545
mov esi, dword [esi + 4]
jmp 0x402548
add esi, 4
cmp dword [eax + 0x18], 8
jb 0x402553
mov eax, dword [eax + 4]
jmp 0x402556
add eax, 4
push edi
push esi
push eax
push str.download_addon_file_list_ok:__s_s_d
call fcn.0041f771
add esp, 0x10
push ebx
push 1
lea esi, [ebp - 0x288]
call fcn.00403d0d
push ebx
push 1
lea esi, [ebp - 0x2f8]
call fcn.00403d0d
push ebx
push 1
lea ecx, [ebp - 0x2dc]
call fcn.00403c15
push ebx
push ebx
lea eax, [ebp - 0x3c0]
call fcn.0042a348
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x254], 8
mov ecx, dword [ebp - 0x268]
jae 0x4025b6
lea ecx, [ebp - 0x268]
lea esi, [ebp - 0x3c0]
call fcn.00401570
test al, al
je 0x402fca
cmp byte [ebp - 0x3b8], 7
jne 0x402fca
lea eax, [ebp - 0x380]
push eax
mov ecx, esi
call fcn.0042a67c
lea eax, [ebp - 0x368]
mov byte [ebp - 4], 0x17
push eax
mov dword [ebp - 0x348], ebx
mov dword [ebp - 0x34c], ebx
call fcn.00403912
mov byte [ebp - 4], 0x18
mov esi, dword [ebp - 0x374]
mov dword [ebp - 0x340], ebx
cmp esi, dword [ebp - 0x370]
jbe 0x40261d
call fcn.004437aa
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x334], esi
mov esi, dword [ebp - 0x370]
cmp dword [ebp - 0x374], esi
jbe 0x402642
call fcn.004437aa
mov eax, dword [ebp - 0x338]
cmp eax, ebx
je 0x402654
cmp eax, dword [ebp - 0x380]
je 0x402659
call fcn.004437aa
cmp dword [ebp - 0x334], esi
je 0x402d03
lea esi, [ebp - 0x338]
call fcn.00404dde
push 0x48e92c
call fcn.004034b7
test eax, eax
je 0x402c04
call fcn.00404dde
push str.file_list.json
call fcn.004034b7
test eax, eax
je 0x402c04
call fcn.00404dde
push 0x48e94c
push eax
call fcn.00403496
cmp eax, 0xffffffff
jne 0x4026c3
call fcn.00404dde
push 0x48e950
push eax
call fcn.00403496
cmp eax, 0xffffffff
je 0x4026e1
lea esi, [ebp - 0x338]
call fcn.00404dde
push str.windows
push eax
call fcn.00403496
test eax, eax
jne 0x402c04
lea esi, [ebp - 0x338]
call fcn.00404dde
cmp dword [eax + 0x18], 0x10
jb 0x402757
mov eax, dword [eax + 4]
jmp 0x40275a
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x2f8]
push eax
call fcn.0040121b
mov esi, eax
push dword [ebp - 0x33c]
lea eax, [ebp - 0x288]
push eax
mov byte [ebp - 4], 0xf
call fcn.0040121b
add esp, 0x10
mov byte [ebp - 4], 0x10
cmp dword [esi + 0x18], 8
jb 0x402734
mov esi, dword [esi + 4]
jmp 0x402737
add esi, 4
cmp dword [eax + 0x18], 8
jb 0x402742
mov eax, dword [eax + 4]
jmp 0x402745
add eax, 4
push dword [ebp - 0x348]
push esi
push eax
push str.download_addon_file_list_failed:__s_s_d
jmp 0x40245c
add eax, 4
push eax
mov ebx, str..zip
call fcn.0041db74
mov dword [ebp - 0x350], eax
test eax, eax
jne 0x402775
inc dword [ebp - 0x340]
lea esi, [ebp - 0x338]
call fcn.00404dde
push eax
lea eax, [ebp - 0x288]
push eax
call fcn.0040121b
mov esi, eax
push 0x48e964
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x39c]
push eax
mov byte [ebp - 4], 0x19
call fcn.00405a32
add esp, 0x14
push esi
push eax
lea eax, [ebp - 0x234]
push eax
mov byte [ebp - 4], 0x1a
call fcn.00405a78
add esp, 0xc
push 0
push 1
lea esi, [ebp - 0x39c]
call fcn.00403d0d
push 0
push 1
lea esi, [ebp - 0x288]
mov byte [ebp - 4], 0x1d
call fcn.00403d0d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x3a0], esp
push 0x48e56b
call fcn.0040344e
lea esi, [ebp - 0x338]
call fcn.00404dde
push eax
lea esi, [ebp - 0x3c0]
lea ebx, [ebp - 0x2dc]
call fcn.004015b7
add esp, 0x20
push 8
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0x230]
pop ebx
cmp dword [ebp - 0x21c], ebx
jae 0x402835
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4028a2
mov eax, dword [ebp - 0x230]
cmp dword [ebp - 0x21c], ebx
jae 0x402854
lea eax, [ebp - 0x230]
push eax
lea ebx, [ebp - 0x39c]
call fcn.00431f41
pop ecx
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0x1f
call fcn.004058be
mov bl, al
neg bl
push 0
sbb bl, bl
push 1
lea ecx, [ebp - 0x39c]
inc bl
mov byte [ebp - 4], 0x1e
call fcn.00403c15
test bl, bl
je 0x402be0
push 8
mov dword [ebp - 0x34c], 0x48e968
pop ebx
jmp 0x4028ac
mov dword [ebp - 0x34c], str.no_file
cmp dword [ebp - 0x348], 0
jne 0x4028ca
mov edi, dword [ebp - 0x33c]
call fcn.00401876
mov dword [ebp - 0x348], 1
lea esi, [ebp - 0x338]
call fcn.00404dde
push eax
lea eax, [ebp - 0x39c]
push eax
call fcn.0040121b
pop ecx
pop ecx
mov byte [ebp - 4], 0x20
cmp dword [eax + 0x18], ebx
jb 0x4028f2
mov eax, dword [eax + 4]
jmp 0x4028f5
add eax, 4
push dword [ebp - 0x34c]
push eax
push str.update_addon_file__s__s
call fcn.0041f771
add esp, 0xc
push 0
push 1
lea esi, [ebp - 0x39c]
mov byte [ebp - 4], 0x1e
call fcn.00403d0d
mov edi, dword [ebp - 0x230]
cmp dword [ebp - 0x21c], ebx
jae 0x402930
lea edi, [ebp - 0x230]
call fcn.0041b9e3
mov eax, dword [ebp - 0x230]
cmp dword [ebp - 0x21c], ebx
jae 0x402949
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x4029db
call fcn.0041c358
push eax
push str.._08x.dirty
lea ecx, [ebp - 0x39c]
call fcn.0041dbb7
push eax
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x330]
push eax
mov byte [ebp - 4], 0x21
call fcn.00405a78
add esp, 0x14
push 0
push 1
lea esi, [ebp - 0x39c]
mov byte [ebp - 4], 0x1e
call fcn.00403d0d
mov ecx, dword [ebp - 0x32c]
cmp dword [ebp - 0x318], ebx
jae 0x4029b0
lea ecx, [ebp - 0x32c]
mov eax, dword [ebp - 0x230]
cmp dword [ebp - 0x21c], ebx
jae 0x4029c4
lea eax, [ebp - 0x230]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push 0
push 1
lea esi, [ebp - 0x330]
call fcn.00403d0d
push 0x48e9dc
lea esi, [ebp - 0x39c]
call fcn.004034dc
push 0x48e964
lea esi, [ebp - 0x330]
mov byte [ebp - 4], 0x22
call fcn.004034dc
lea esi, [ebp - 0x338]
mov byte [ebp - 4], 0x23
call fcn.00404dde
push eax
lea eax, [ebp - 0x3dc]
push eax
call fcn.0040121b
push eax
lea ecx, [ebp - 0x39c]
lea ebx, [ebp - 0x330]
lea edx, [ebp - 0x414]
mov byte [ebp - 4], 0x24
call fcn.00405ac3
add esp, 0xc
push eax
lea eax, [ebp - 0x288]
push eax
mov byte [ebp - 4], 0x25
call fcn.0040129f
pop ecx
pop ecx
xor ebx, ebx
xor edi, edi
push ebx
inc edi
push edi
lea esi, [ebp - 0x414]
call fcn.00403d0d
push ebx
push edi
lea esi, [ebp - 0x3dc]
call fcn.00403d0d
push ebx
push edi
lea esi, [ebp - 0x330]
call fcn.00403d0d
push ebx
push edi
lea esi, [ebp - 0x39c]
mov byte [ebp - 4], 0x2a
call fcn.00403d0d
lea eax, [ebp - 0x3f8]
push eax
lea ecx, [ebp - 0x288]
call fcn.0042510c
pop ecx
mov esi, eax
push edi
lea ecx, [ebp - 0x430]
mov byte [ebp - 4], 0x2b
call fcn.00420d9c
pop ecx
mov byte [ebp - 4], 0x2c
cmp dword [esi + 0x18], 0x10
jb 0x402abf
mov esi, dword [esi + 4]
jmp 0x402ac2
add esi, 4
mov ecx, dword [ebp - 0x33c]
cmp dword [ecx + 0x18], 0x10
mov ecx, dword [ebp - 0x344]
jb 0x402ad6
mov ecx, dword [ecx]
cmp dword [eax + 0x18], 0x10
jb 0x402ae1
mov eax, dword [eax + 4]
jmp 0x402ae4
add eax, 4
push esi
push ecx
push 0x32e3
push eax
push str.https:___s:_d_addons__s__s
lea esi, [ebp - 0x2f8]
call fcn.0041dc15
add esp, 0x14
push ebx
push edi
lea ecx, [ebp - 0x430]
call fcn.00403c15
push ebx
push edi
lea ecx, [ebp - 0x3f8]
mov byte [ebp - 4], 0x2f
call fcn.00403c15
cmp dword [ebp - 0x21c], 8
mov eax, dword [ebp - 0x230]
jae 0x402b32
lea eax, [ebp - 0x230]
lea ecx, [ebp - 0x250]
push ecx
push eax
lea edx, [ebp - 0x2dc]
lea ecx, [ebp - 0x2f8]
call fcn.004209c4
pop ecx
pop ecx
test al, al
je 0x402c14
lea esi, [ebp - 0x338]
call fcn.00404dde
push eax
lea eax, [ebp - 0x3dc]
push eax
call fcn.0040121b
pop ecx
pop ecx
mov byte [ebp - 4], 0x32
cmp dword [eax + 0x18], 8
jb 0x402b7e
mov eax, dword [eax + 4]
jmp 0x402b81
add eax, 4
push dword [ebp - 0x350]
push eax
push str.download_addon_file_ok:__s_d
call fcn.0041f771
add esp, 0xc
push ebx
push edi
lea esi, [ebp - 0x3dc]
mov byte [ebp - 4], 0x2f
call fcn.00403d0d
mov dword [ebp - 0x34c], edi
cmp dword [ebp - 0x350], ebx
je 0x402bc6
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x368]
call fcn.0040395d
push ebx
push edi
lea ecx, [ebp - 0x2f8]
call fcn.00403c15
push ebx
push edi
lea ecx, [ebp - 0x288]
call fcn.00403c15
push 0
push 1
lea ecx, [ebp - 0x2dc]
call fcn.00403c15
push 0
push 1
lea esi, [ebp - 0x234]
mov byte [ebp - 4], 0x18
call fcn.00403d0d
xor ebx, ebx
lea esi, [ebp - 0x338]
call fcn.0040376f
jmp 0x40262f
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x414]
push eax
call fcn.0040121b
pop ecx
pop ecx
mov dword [ebp - 0x340], eax
lea esi, [ebp - 0x338]
mov byte [ebp - 4], 0x30
call fcn.00404dde
push eax
lea eax, [ebp - 0x3dc]
push eax
call fcn.0040121b
pop ecx
pop ecx
mov ecx, dword [ebp - 0x340]
mov byte [ebp - 4], 0x31
cmp dword [ecx + 0x18], 8
jb 0x402c62
mov ecx, dword [ecx + 4]
jmp 0x402c65
add ecx, 4
cmp dword [eax + 0x18], 8
jb 0x402c70
mov eax, dword [eax + 4]
jmp 0x402c73
add eax, 4
push ecx
push eax
push str.download_addon_file_failed:__s_s
call fcn.0041fc97
add esp, 0xc
push ebx
push edi
lea esi, [ebp - 0x3dc]
call fcn.00403d0d
push ebx
push edi
lea esi, [ebp - 0x414]
call fcn.00403d0d
push ebx
push edi
lea ecx, [ebp - 0x2f8]
call fcn.00403c15
push ebx
push edi
lea ecx, [ebp - 0x288]
call fcn.00403c15
push ebx
push edi
lea ecx, [ebp - 0x2dc]
call fcn.00403c15
push ebx
push edi
lea esi, [ebp - 0x234]
call fcn.00403d0d
lea esi, [ebp - 0x368]
call fcn.00404199
push dword [ebp - 0x368]
call fcn.004437e4
pop ecx
lea esi, [ebp - 0x380]
call fcn.00403eb6
push dword [ebp - 0x380]
call fcn.004437e4
pop ecx
jmp 0x40300d
cmp dword [ebp - 0x340], ebx
jne 0x402f21
mov esi, dword [ebp - 0x35c]
cmp esi, dword [ebp - 0x358]
jbe 0x402d22
call fcn.004437aa
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x334], esi
mov esi, dword [ebp - 0x358]
cmp dword [ebp - 0x35c], esi
jbe 0x402d47
call fcn.004437aa
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x3a0], esi
lea edi, [ebp - 0x3a4]
lea esi, [ebp - 0x338]
mov dword [ebp - 0x3a4], eax
call fcn.004039c4
test al, al
je 0x402f21
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push ebx
push eax
call fcn.00444cd0
add esp, 0xc
call fcn.00404dde
cmp dword [eax + 0x18], 8
jb 0x402da0
mov eax, dword [eax + 4]
jmp 0x402da3
add eax, 4
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x48ea88
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea esi, [ebp - 0x338]
call fcn.00404dde
cmp dword [eax + 0x18], 8
jb 0x402dd9
mov eax, dword [eax + 4]
jmp 0x402ddc
add eax, 4
lea ecx, [ebp - 0x218]
push ecx
push eax
push str.extract__s___s
call fcn.0041f771
add esp, 0xc
xor edi, edi
lea esi, [ebp - 0x338]
call fcn.00404dde
cmp dword [eax + 0x18], 8
jb 0x402e09
mov eax, dword [eax + 4]
jmp 0x402e0c
add eax, 4
lea edx, [ebp - 0x218]
mov ecx, eax
call fcn.004328ae
lea esi, [ebp - 0x338]
cmp eax, ebx
je 0x402e79
call fcn.00404dde
cmp dword [eax + 0x18], 8
jb 0x402e33
mov eax, dword [eax + 4]
jmp 0x402e36
add eax, 4
push edi
lea ecx, [ebp - 0x218]
push ecx
push eax
push str.extract__s___s_failed_on_retry_count__d
call fcn.0041fc97
add esp, 0x10
inc edi
cmp edi, 0xa
jl 0x402df3
mov eax, dword [ebp - 0x33c]
add eax, 0x1c
push eax
lea eax, [ebp - 0x3f8]
push eax
call fcn.0040121b
pop ecx
pop ecx
mov byte [ebp - 4], 0x33
cmp dword [eax + 0x18], 8
jb 0x402e83
mov edi, dword [eax + 4]
jmp 0x402e86
call fcn.0040376f
jmp 0x402d34
lea edi, [eax + 4]
lea esi, [ebp - 0x338]
call fcn.00404dde
cmp dword [eax + 0x18], 8
jb 0x402e9c
mov eax, dword [eax + 4]
jmp 0x402e9f
add eax, 4
push edi
push eax
push str.extract_addon_file__s_failed:__s
call fcn.0041fc97
add esp, 0xc
push ebx
push 1
lea esi, [ebp - 0x3f8]
call fcn.00403d0d
lea esi, [ebp - 0x338]
call fcn.00404dde
cmp dword [eax + 0x18], 8
jb 0x402ed2
mov eax, dword [eax + 4]
jmp 0x402ed5
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea esi, [ebp - 0x368]
call fcn.00404199
push dword [ebp - 0x368]
call fcn.004437e4
pop ecx
lea esi, [ebp - 0x380]
call fcn.00403eb6
push dword [ebp - 0x380]
call fcn.004437e4
pop ecx
lea esi, [ebp - 0x3c0]
mov byte [ebp - 4], 4
call fcn.0042966c
xor edi, edi
inc edi
jmp 0x40301c
cmp dword [ebp - 0x34c], ebx
mov edi, dword [ebp - 0x33c]
mov ebx, dword [ebp - 0x344]
je 0x402f60
cmp dword [edi + 0x18], 0x10
jb 0x402f3f
mov eax, dword [ebx]
jmp 0x402f41
mov eax, ebx
push eax
mov esi, str.ADDON_CHANGED
push esi
call fcn.0041f529
cmp dword [edi + 0x18], 0x10
jb 0x402f57
mov eax, dword [ebx]
jmp 0x402f59
mov eax, ebx
push eax
push esi
call fcn.0041fe42
mov esi, dword [ebp - 0x3a8]
cmp dword [esi + 0x18], 0x10
jb 0x402f71
mov esi, dword [esi + 4]
jmp 0x402f74
add esi, 4
cmp dword [edi + 0x18], 0x10
jb 0x402f7c
mov ebx, dword [ebx]
mov edi, str.Softwareprojonepodlp_smpcache_addonInfo_
call fcn.0041dce5
lea esi, [ebp - 0x368]
call fcn.00404199
push dword [ebp - 0x368]
call fcn.004437e4
pop ecx
lea esi, [ebp - 0x380]
call fcn.00403eb6
push dword [ebp - 0x380]
call fcn.004437e4
pop ecx
lea esi, [ebp - 0x3c0]
mov byte [ebp - 4], 4
call fcn.0042966c
xor ebx, ebx
jmp 0x402f19
push dword [ebp - 0x33c]
lea eax, [ebp - 0x3f8]
push eax
call fcn.0040121b
pop ecx
pop ecx
mov byte [ebp - 4], 0x16
cmp dword [eax + 0x18], 8
jb 0x402fed
mov eax, dword [eax + 4]
jmp 0x402ff0
add eax, 4
push eax
push str.invalid_addon_file_list:__s
call fcn.0041fc97
pop ecx
pop ecx
xor edi, edi
push ebx
inc edi
push edi
lea esi, [ebp - 0x3f8]
call fcn.00403d0d
lea esi, [ebp - 0x3c0]
mov byte [ebp - 4], 4
call fcn.0042966c
push ebx
push edi
lea ecx, [ebp - 0x250]
call fcn.00403c15
push ebx
push edi
lea esi, [ebp - 0x26c]
call fcn.00403d0d
push ebx
push edi
lea esi, [ebp - 0x2a4]
call fcn.00403d0d
push ebx
push edi
lea ecx, [ebp - 0x314]
call fcn.00403c15
push ebx
push edi
lea esi, [ebp - 0x2c0]
call fcn.00403d0d
call fcn.004446dd
ret