Function at 0x402de1
Capabilities:
Check http status code
Create directory
Delete file
Get common file path
Get file size
Print debug messages
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x426638
push 0x408e00
mov eax, dword fs:[0]
push eax
push ecx
push ecx
mov eax, 0x5064
call fcn.0041dd50
mov eax, dword [0x428008]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x4fe8], edi
mov dword [ebp - 0x503c], edi
mov dword [ebp - 0x501c], edi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x5004], esi
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x5030], ecx
xor ebx, ebx
mov dword [ebp - 0x5028], ebx
mov dword [ebp - 0x500c], ebx
mov dword [ebp - 0x4fe0], ebx
or dword [ebp - 0x4ffc], 0xffffffff
mov eax, ebx
mov dword [ebp - 0x4fe4], eax
mov dword [ebp - 0x5008], ebx
movsx eax, byte [ecx]
push eax
push str.__c:_
push 5
lea eax, [ebp - 0x38]
push eax
call fcn.00402cb8
add esp, 0x10
lea eax, [ebp - 0x138]
mov dword [ebp - 0x13c], eax
push 3
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x13c]
call fcn.00403d23
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x5000], eax
lea ecx, [ebp - 0x138]
cmp eax, ecx
je 0x402ebd
push eax
call fcn.0040b93b
pop ecx
mov ecx, edi
call fcn.00403be5
test eax, eax
jne 0x402ed2
mov eax, 0x80004001
jmp 0x403bc9
cmp dword [edi], ebx
je 0x402ef4
push str.SaaSbeeTestMode00123578
push str.srid
push esi
mov esi, dword [edi + 0x38]
mov ecx, esi
call dword [0x41f2a8]
call esi
mov esi, dword [ebp - 0x5004]
mov dword [ebp - 4], ebx
push str.file:__
push esi
call fcn.00409880
pop ecx
pop ecx
test eax, eax
je 0x402f17
mov dword [ebp - 0x4fe4], 1
jmp 0x4037a6
cmp dword [ebp + 0x14], 0
je 0x402f42
mov edi, dword [edi + 0x14]
mov eax, dword [edi]
mov esi, dword [ebp - 0x4fe8]
push dword [esi + 0x10]
push dword [esi + 8]
mov esi, dword [eax]
mov ecx, esi
call dword [0x41f2a8]
mov ecx, edi
call esi
mov edi, dword [ebp - 0x4fe8]
push ebx
push ebx
push ebx
push ebx
push str.Zoom.Launcher.Win
mov esi, dword [edi + 0x44]
mov ecx, esi
call dword [0x41f2a8]
call esi
mov dword [ebp - 0x5028], eax
test eax, eax
jne 0x402fae
mov dword [ebp - 0x4fe4], 1
push 0x100
push ebx
lea eax, [ebp - 0x938]
push eax
call fcn.00408f60
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.InternetOpen_API_failed__error_code:__d
lea eax, [ebp - 0x938]
push eax
call fcn.00402c6a
add esp, 0xc
lea eax, [ebp - 0x938]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x4037a6
push 0x3c
pop esi
push esi
push ebx
lea eax, [ebp - 0x5078]
push eax
call fcn.00408f60
add esp, 0xc
mov dword [ebp - 0x5078], esi
lea eax, [ebp - 0x4fd8]
mov dword [ebp - 0x5068], eax
mov ecx, 0x800
mov dword [ebp - 0x5064], ecx
xor eax, eax
mov word [ebp - 0x5060], ax
lea eax, [ebp - 0x47d8]
mov dword [ebp - 0x504c], eax
mov dword [ebp - 0x5048], ecx
lea eax, [ebp - 0x3fd8]
mov dword [ebp - 0x5044], eax
mov dword [ebp - 0x5040], ecx
lea eax, [ebp - 0x5078]
push eax
push ebx
mov esi, dword [ebp - 0x5004]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push esi
mov esi, dword [edi + 0x28]
mov ecx, esi
call dword [0x41f2a8]
call esi
push ebx
push ebx
push 3
mov eax, 0x42505d
push eax
push eax
push dword [ebp - 0x5060]
push dword [ebp - 0x5068]
push dword [ebp - 0x5028]
mov esi, dword [edi + 0x24]
mov ecx, esi
call dword [0x41f2a8]
call esi
mov esi, eax
mov dword [ebp - 0x500c], esi
test esi, esi
jne 0x403096
mov dword [ebp - 0x4fe4], 1
push 0x100
push ebx
lea eax, [ebp - 0x938]
push eax
call fcn.00408f60
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.InternetConnect_API_failed__error_code:__d
jmp 0x402f8d
lea eax, [ebp - 0x37d8]
cmp dword [ebp - 0x5048], 0
je 0x4030ad
push dword [ebp - 0x504c]
jmp 0x4030b2
push 0x425128
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp - 0x5040], 0
je 0x4030d5
push dword [ebp - 0x5044]
lea eax, [ebp - 0x37d8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov dword [ebp - 0x4fdc], ebx
mov dword [ebp - 0x5018], ebx
mov dword [ebp - 0x5014], 0x3c
mov dword [ebp - 0x4fdc], ebx
push ebx
mov edx, 0x1bb
mov eax, 0x84401000
mov ecx, 0x84c01000
cmp word [ebp - 0x5060], dx
cmove eax, ecx
push eax
push ebx
push 0x42505d
push str.HTTP_1.1
lea eax, [ebp - 0x37d8]
push eax
push 0x425138
push esi
mov esi, dword [edi + 0x30]
mov ecx, esi
call dword [0x41f2a8]
call esi
mov esi, eax
mov dword [ebp - 0x4fe0], esi
test esi, esi
jne 0x40316d
mov dword [ebp - 0x4fe4], 1
push 0x100
push ebx
lea eax, [ebp - 0x938]
push eax
call fcn.00408f60
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.HttpOpenRequest_API_failed__error_code:__d
jmp 0x402f8d
push ebx
push 0x20
push 4
push ebx
push ebx
push 0x40000000
push dword [ebp - 0x5030]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x4ffc], eax
cmp eax, 0xffffffff
jne 0x403200
cmp dword [ebp + 0x14], 0
je 0x4031d0
mov edi, dword [edi + 0x14]
mov eax, dword [edi]
push dword [ebp - 0x5000]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x41f2a8]
mov ecx, edi
call esi
cmp eax, 4
jne 0x4031d0
mov edi, dword [ebp - 0x4fe8]
mov dword [ebp - 0x4fdc], 1
mov esi, dword [ebp - 0x500c]
jmp 0x4030eb
mov dword [ebp - 0x4fe4], 1
push 0x100
push ebx
lea eax, [ebp - 0x938]
push eax
call fcn.00408f60
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CreateFile_API_failed__error_code:__d
jmp 0x402f8d
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x507c], ebx
mov dword [ebp - 0x4ff4], 1
push ebx
push ebx
push ebx
push ebx
push esi
mov esi, dword [edi + 0x40]
mov ecx, esi
call dword [0x41f2a8]
call esi
test eax, eax
mov eax, dword [ebp - 0x4ff4]
jne 0x403341
test eax, eax
je 0x403345
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x5020], eax
mov ecx, eax
sub ecx, 0x2ee2
je 0x40329f
sub ecx, 5
je 0x40329f
sub ecx, 0x16
je 0x40329f
mov dword [ebp - 0x4ff4], ebx
cmp dword [ebp + 0x14], 0
je 0x403336
push ebx
push 7
push eax
push dword [ebp - 0x4fe0]
push ebx
mov esi, dword [edi + 0x34]
mov ecx, esi
call dword [0x41f2a8]
call esi
test eax, eax
jne 0x403336
mov dword [ebp - 0x4ff4], 1
jmp 0x403336
mov dword [ebp - 0x4ff4], ebx
cmp dword [ebp + 0x14], 0
je 0x403336
mov edi, dword [edi + 0x14]
mov eax, dword [edi]
mov esi, dword [eax + 0x24]
mov ecx, esi
call dword [0x41f2a8]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x4fe8]
mov edi, dword [esi + 0x14]
mov eax, dword [edi]
mov dword [ebp - 0x4fec], eax
cmp dword [ebp - 0x5020], 0x2ee2
jne 0x4032f6
mov ecx, dword [eax + 8]
call dword [0x41f2a8]
mov ecx, edi
mov eax, dword [ebp - 0x4fec]
call dword [eax + 8]
jmp 0x40330a
mov ecx, dword [eax + 0xc]
call dword [0x41f2a8]
mov ecx, edi
mov eax, dword [ebp - 0x4fec]
call dword [eax + 0xc]
mov dword [ebp - 0x4fdc], eax
mov edi, dword [esi + 0x14]
mov eax, dword [edi]
mov esi, dword [eax + 0x20]
mov ecx, esi
call dword [0x41f2a8]
mov ecx, edi
call esi
mov eax, dword [ebp - 0x4fdc]
mov dword [ebp - 0x4ff4], eax
mov edi, dword [ebp - 0x4fe8]
mov esi, dword [ebp - 0x4fe0]
jmp 0x403218
test eax, eax
jne 0x403375
mov dword [ebp - 0x4fe4], 1
push 0x100
push ebx
lea eax, [ebp - 0x938]
push eax
call fcn.00408f60
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.HttpSendRequest_API_failed__error_code:__d
jmp 0x402f8d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x4ff8], ebx
mov dword [ebp - 0x5004], 4
push ebx
lea eax, [ebp - 0x5004]
push eax
lea eax, [ebp - 0x4ff8]
push eax
push 0x20000013
push dword [ebp - 0x4fe0]
mov esi, dword [edi + 0x20]
mov ecx, esi
call dword [0x41f2a8]
call esi
test eax, eax
jne 0x4033bc
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
inc eax
mov dword [ebp - 0x4ff4], eax
cmp dword [ebp - 0x4ff8], 0x197
je 0x4033e1
cmp dword [ebp - 0x4ff8], 0x191
jne 0x403469
test eax, eax
je 0x403469
push ebx
push 7
push 0x2eee
push dword [ebp - 0x4fe0]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
mov esi, dword [edi + 0x34]
mov ecx, esi
call dword [0x41f2a8]
call esi
cmp eax, 0x4c7
jne 0x403416
mov eax, ebx
jmp 0x4033bf
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x4fe0]
mov esi, dword [edi + 0x40]
mov ecx, esi
call dword [0x41f2a8]
call esi
mov dword [ebp - 0x5004], 4
push ebx
lea eax, [ebp - 0x5004]
push eax
lea eax, [ebp - 0x4ff8]
push eax
push 0x20000013
push dword [ebp - 0x4fe0]
mov esi, dword [edi + 0x20]
mov ecx, esi
call dword [0x41f2a8]
call esi
mov eax, dword [ebp - 0x4ff4]
jmp 0x4033c5
push 0x100
push ebx
lea eax, [ebp - 0x538]
push eax
call fcn.00408f60
push dword [ebp - 0x4ff8]
push str.HttpQueryInfo_status:__d
lea eax, [ebp - 0x538]
push eax
call fcn.00402c6a
add esp, 0x18
lea eax, [ebp - 0x538]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 0x4ff8]
cmp ecx, 0xc8
je 0x40392d
cmp ecx, 0xce
je 0x40392d
cmp ecx, 0x193
jne 0x403701
mov dword [ebp - 0x4fec], ebx
mov dword [ebp - 0x5020], 4
push ebx
lea eax, [ebp - 0x5020]
push eax
lea eax, [ebp - 0x4fec]
push eax
push 0x20000005
push dword [ebp - 0x4fe0]
mov esi, dword [edi + 0x20]
mov ecx, esi
call dword [0x41f2a8]
call esi
mov eax, dword [ebp - 0x4fec]
test eax, eax
je 0x4036d3
add eax, 5
push eax
call fcn.00407dc1
pop ecx
mov dword [ebp - 0x4ff0], eax
mov ecx, dword [ebp - 0x4fec]
mov byte [eax + ecx], bl
mov dword [ebp - 0x5000], ebx
lea ecx, [ebp - 0x5000]
push ecx
push dword [ebp - 0x4fec]
push eax
push dword [ebp - 0x4fe0]
mov esi, dword [edi + 0x2c]
mov ecx, esi
call dword [0x41f2a8]
call esi
mov eax, dword [ebp - 0x5000]
cmp eax, dword [ebp - 0x4fec]
jne 0x4036c6
push 0x10
push ebx
lea eax, [ebp - 0x2c]
push eax
call fcn.00408f60
add esp, 0xc
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0x2f
push dword [edi + 0xc]
call fcn.00409af0
pop ecx
pop ecx
mov esi, eax
test esi, esi
jne 0x40359c
push 0x5c
push dword [edi + 0xc]
call fcn.00409af0
pop ecx
pop ecx
mov esi, eax
push 0x400
push ebx
lea eax, [ebp - 0x838]
push eax
call fcn.00408f60
lea eax, [esi + 1]
mov ecx, str.NULL
test esi, esi
cmovne ecx, eax
push ecx
movzx eax, word [ebp - 0x20]
push eax
movzx eax, word [ebp - 0x22]
push eax
movzx eax, word [ebp - 0x24]
push eax
movzx eax, word [ebp - 0x26]
push eax
movzx eax, word [ebp - 0x2a]
push eax
movzx eax, word [ebp - 0x2c]
push eax
push str.launcher_downloader_403___d__d__d___d__d__d___s.log
push 0x3e8
lea eax, [ebp - 0x838]
push eax
call fcn.00402c9c
push 0x400
push ebx
lea eax, [ebp - 0x438]
push eax
call fcn.00408f60
add esp, 0x40
push ebx
push 0x1a
lea eax, [ebp - 0x438]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x4036c6
mov esi, 0x423cd4
push esi
push 0x400
lea eax, [ebp - 0x438]
push eax
call fcn.0040bf6f
push 0x423cf8
push 0x400
lea eax, [ebp - 0x438]
push eax
call fcn.0040bf6f
add esp, 0x18
push ebx
lea eax, [ebp - 0x438]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push esi
mov esi, 0x400
push esi
lea eax, [ebp - 0x438]
push eax
call fcn.0040bf6f
lea eax, [ebp - 0x838]
push eax
push esi
lea eax, [ebp - 0x438]
push eax
call fcn.0040bf6f
push 0x425214
lea eax, [ebp - 0x438]
push eax
call fcn.0040c52b
add esp, 0x20
mov dword [ebp - 0x5024], eax
mov esi, dword [ebp - 0x4ff0]
test eax, eax
je 0x4036cc
push eax
push dword [ebp - 0x5000]
push 1
push esi
call fcn.0040ef75
push dword [ebp - 0x5024]
call fcn.0040c631
add esp, 0x14
jmp 0x4036cc
mov esi, dword [ebp - 0x4ff0]
push esi
call fcn.00407b83
pop ecx
cmp dword [ebp + 0x14], 0
je 0x402f08
mov edi, dword [edi + 0x14]
mov eax, dword [edi]
push 0x425218
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x41f2a8]
mov ecx, edi
call esi
mov dword [ebp - 0x4fdc], eax
jmp 0x402f08
lea eax, [ecx - 0x190]
cmp eax, 0xc7
ja 0x4038d0
cmp ecx, 0x1f4
jne 0x4037ec
cmp dword [ebp + 0x14], 0
je 0x403743
mov edi, dword [edi + 0x14]
mov eax, dword [edi]
push 0x425220
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x41f2a8]
mov ecx, edi
call esi
mov dword [ebp - 0x4fdc], eax
xor eax, eax
inc eax
mov dword [ebp - 0x4fe4], eax
mov eax, dword [ebp - 0x4fdc]
test eax, eax
jne 0x403760
mov dword [ebp - 0x4fe4], 1
mov edi, dword [ebp - 0x4fe8]
push dword [ebp - 0x4fe0]
mov esi, dword [edi + 0x48]
mov ecx, esi
call dword [0x41f2a8]
call esi
mov dword [ebp - 0x4fe0], ebx
push dword [ebp - 0x4ffc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 0x4ffc], 0xffffffff
mov eax, dword [ebp - 0x4fdc]
test eax, eax
mov esi, dword [ebp - 0x500c]
jne 0x4030eb
mov dword [ebp - 4], 0xfffffffe
mov edi, dword [ebp - 0x4fe8]
call fcn.00403b3e
cmp dword [ebp - 0x4fe4], 0
jne 0x403b99
mov eax, dword [ebp - 0x501c]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x4037e5
mov eax, dword [edi]
push 1
mov esi, dword [eax + 0x38]
mov ecx, esi
call dword [0x41f2a8]
mov ecx, edi
call esi
xor eax, eax
jmp 0x403bc9
cmp ecx, 0x1f7
jne 0x40388f
cmp dword [ebp - 0x5018], 5
jge 0x403843
mov esi, dword [ebp - 0x5014]
mov dword [ebp - 0x5034], esi
test esi, esi
js 0x403831
cmp dword [ebp + 0x14], 0
je 0x403823
push str.Retry
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
dec esi
jmp 0x403807
inc dword [ebp - 0x5018]
add dword [ebp - 0x5014], 0x1e
jmp 0x4031bb
cmp dword [ebp + 0x14], 0
je 0x40374c
mov edi, dword [edi + 0x14]
mov eax, dword [edi]
push 0x425230
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x41f2a8]
mov ecx, edi
call esi
mov dword [ebp - 0x4fdc], eax
test eax, eax
je 0x403756
mov dword [ebp - 0x5018], ebx
mov dword [ebp - 0x5014], 0x3c
mov edi, dword [ebp - 0x4fe8]
jmp 0x403798
cmp dword [ebp + 0x14], 0
je 0x40374c
push ecx
push 0x425238
push 0xa
lea eax, [ebp - 0x30]
push eax
call fcn.00402bdd
add esp, 0x10
mov edi, dword [edi + 0x14]
mov eax, dword [edi]
lea ecx, [ebp - 0x30]
push ecx
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x41f2a8]
mov ecx, edi
call esi
mov dword [ebp - 0x4fdc], eax
jmp 0x403752
cmp dword [ebp + 0x14], 0
je 0x403910
push ecx
push 0x425238
push 0xa
lea eax, [ebp - 0x30]
push eax
call fcn.00402bdd
add esp, 0x10
mov edi, dword [edi + 0x14]
mov eax, dword [edi]
lea ecx, [ebp - 0x30]
push ecx
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x41f2a8]
mov ecx, edi
call esi
mov dword [ebp - 0x4fdc], eax
mov edi, dword [ebp - 0x4fe8]
jmp 0x403916
mov eax, dword [ebp - 0x4fdc]
test eax, eax
jne 0x403766
mov dword [ebp - 0x4fe4], 1
jmp 0x403766
mov dword [ebp - 0x5008], ebx
mov dword [ebp - 0x5024], 4
push ebx
lea eax, [ebp - 0x5024]
push eax
lea eax, [ebp - 0x5008]
push eax
push 0x20000005
push dword [ebp - 0x4fe0]
mov esi, dword [edi + 0x20]
mov ecx, esi
call dword [0x41f2a8]
call esi
mov eax, dword [ebp - 0x5008]
mov ecx, 0xe4e1c0
test eax, eax
cmove eax, ecx
mov dword [ebp - 0x5008], eax
mov dword [ebp - 0x4ff0], ebx
mov dword [ebp - 0x502c], ebx
mov dword [ebp - 0x5010], ebx
cmp dword [ebp - 0x4ff8], 0xce
jne 0x4039aa
push 2
push ebx
push ebx
push dword [ebp - 0x4ffc]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x4039c1
push ebx
push ebx
push ebx
mov esi, dword [ebp - 0x4ffc]
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push esi
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov dword [ebp - 0x4ff0], ebx
lea eax, [ebp - 0x4ff0]
push eax
push 0x1fa0
lea eax, [ebp - 0x27d8]
push eax
push dword [ebp - 0x4fe0]
mov esi, dword [edi + 0x2c]
mov ecx, esi
call dword [0x41f2a8]
call esi
test eax, eax
je 0x403b28
mov edx, dword [ebp - 0x4ff0]
test edx, edx
je 0x403aa5
mov dword [ebp - 0x5038], ebx
push ebx
lea eax, [ebp - 0x5038]
push eax
push edx
lea eax, [ebp - 0x27d8]
push eax
push dword [ebp - 0x4ffc]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x403aa5
cmp dword [ebp + 0x14], eax
je 0x403ae3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x501c]
mov esi, dword [ecx + 0x14]
mov ecx, dword [esi]
mov dword [ebp - 0x4fec], ecx
push dword [ebp - 0x5000]
cmp eax, 0x70
jne 0x403a6a
mov ecx, dword [ecx + 0x10]
call dword [0x41f2a8]
mov ecx, esi
mov eax, dword [ebp - 0x4fec]
call dword [eax + 0x10]
jmp 0x403a7e
mov ecx, dword [ecx + 4]
call dword [0x41f2a8]
mov ecx, esi
mov eax, dword [ebp - 0x4fec]
call dword [eax + 4]
mov dword [ebp - 0x4fdc], eax
test eax, eax
jne 0x403ae3
mov dword [ebp - 0x4fe4], 1
mov eax, dword [ebp - 0x5010]
test eax, eax
je 0x403766
jmp 0x402f08
mov edx, dword [ebp - 0x4ff0]
add dword [ebp - 0x502c], edx
mov eax, dword [edi + 0x14]
mov ecx, dword [eax]
push edx
push eax
mov esi, dword [ecx + 0x28]
mov ecx, esi
call dword [0x41f2a8]
call esi
mov edi, dword [edi + 0x14]
mov eax, dword [edi]
mov esi, dword [eax + 0x30]
mov ecx, esi
call dword [0x41f2a8]
mov ecx, edi
call esi
test eax, eax
jne 0x403af2
mov edi, dword [ebp - 0x4fe8]
cmp dword [ebp - 0x4ff0], 0
jne 0x4039c1
jmp 0x403a92
mov esi, dword [ebp - 0x4fe8]
mov edi, dword [esi + 0x14]
mov eax, dword [edi]
mov ecx, dword [ebp - 0x502c]
push ecx
push dword [ebp - 0x5008]
mov esi, dword [eax + 0x34]
mov ecx, esi
call dword [0x41f2a8]
mov ecx, edi
call esi
mov dword [ebp - 0x5010], 1
jmp 0x402f08
xor eax, eax
inc eax
mov dword [ebp - 0x5010], eax
jmp 0x403a98
push dword [ebp - 0x5030]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x501c]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x403bc4
mov eax, dword [edi]
push ebx
mov esi, dword [eax + 0x38]
mov ecx, esi
call dword [0x41f2a8]
mov ecx, edi
call esi
mov eax, 0x80004005
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00407b48
leave
ret 0x10