Function at 0x4057d5
Capabilities:
Create directory
Delete directory
Delete file
Get common file path
Initialize winhttp library
Prepare http request
Receive http response
Write file on windows

Disassembly:
push 0x90c
mov eax, 0x42dabe
call fcn.00417b2c
xor ebx, ebx
push 0x431b8c
lea esi, [ebp - 0x858]
mov edi, ecx
mov dword [ebp - 0x884], ebx
call fcn.00403251
mov dword [ebp - 4], ebx
mov eax, dword [edi]
cmp eax, ebx
je 0x406844
mov eax, dword [eax + 0x50]
xor ecx, ecx
dec eax
je 0x405827
dec eax
je 0x405820
dec eax
jne 0x40582c
mov ecx, 0x663
jmp 0x40582c
mov ecx, 0x641
jmp 0x40582c
mov ecx, 0x640
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x88c], esp
push ecx
push eax
call fcn.0040f625
pop ecx
pop ecx
push ebx
call fcn.0040f31c
mov eax, dword [edi]
add esp, 0x20
cmp byte [eax + 0x690], bl
je 0x40586e
lea ecx, [ebp - 0x910]
call fcn.004056e1
mov byte [ebp - 4], 1
mov dword [ebp - 0x884], 1
jmp 0x405885
lea ecx, [ebp - 0x874]
call fcn.004056f7
push 2
pop ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x884], ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x858]
push ecx
xor ebx, ebx
call fcn.00403642
xor edi, edi
inc edi
test byte [ebp - 0x884], 2
je 0x4058b5
and dword [ebp - 0x884], 0xfffffffd
push ebx
push edi
lea esi, [ebp - 0x874]
call fcn.004036ef
mov dword [ebp - 4], ebx
test byte [ebp - 0x884], 1
je 0x4058ce
push ebx
push edi
lea esi, [ebp - 0x910]
call fcn.004036ef
push ebx
push ebx
push ebx
push ebx
push 0x432700
mov dword [ebp - 0x894], ebx
mov dword [ebp - 0x8f0], ebx
mov dword [ebp - 0x878], ebx
mov dword [ebp - 0x880], ebx
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov dword [ebp - 0x87c], eax
cmp eax, ebx
je 0x4067f5
lea eax, [ebp - 0x910]
call fcn.0040a66f
cmp dword [eax + 0x18], 8
jb 0x405919
mov eax, dword [eax + 4]
jmp 0x40591c
add eax, 4
push ebx
push 0x50
push eax
push dword [ebp - 0x87c]
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
push ebx
push edi
lea esi, [ebp - 0x910]
mov dword [ebp - 0x878], eax
call fcn.004036ef
cmp dword [ebp - 0x878], ebx
je 0x4067f5
cmp dword [ebp - 0x840], 8
mov eax, dword [ebp - 0x854]
jae 0x405960
lea eax, [ebp - 0x854]
push ebx
push ebx
push ebx
push ebx
push eax
push 0x431ae0
push dword [ebp - 0x878]
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov esi, eax
mov dword [ebp - 0x880], esi
cmp esi, ebx
je 0x4067f5
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
cmp eax, ebx
je 0x4067f5
push ebx
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
cmp eax, ebx
je 0x4067f5
lea eax, [ebp - 0x42c]
push eax
mov esi, 0x104
push esi
mov dword [ebp - 0x88c], ebx
mov dword [ebp - 0x888], ebx
mov dword [ebp - 0x890], ebx
mov dword [ebp - 0x898], ebx
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, esi
ja 0x4067ac
cmp eax, ebx
je 0x4067ac
lea eax, [ebp - 0x868]
push eax
call dword [sym.imp.ole32.dll_CoCreateGuid]
cmp eax, ebx
jl 0x405a71
push esi
lea eax, [ebp - 0x83c]
push eax
lea eax, [ebp - 0x868]
push eax
call dword [sym.imp.ole32.dll_StringFromGUID2]
cmp eax, ebx
mov dword [ebp - 0x898], eax
jle 0x405a44
push 0xffffffffffffffff
lea eax, [ebp - 0x83c]
push eax
lea eax, [ebp - 0x42c]
push esi
push eax
call fcn.00415b25
push 0xffffffffffffffff
lea eax, [ebp - 0x42c]
push eax
lea eax, [ebp - 0x224]
push esi
push eax
call fcn.00415a52
jmp 0x405a62
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x884], esp
push 0x591
push eax
call fcn.0040f625
pop ecx
pop ecx
push edi
call fcn.0040f31c
add esp, 0x20
cmp dword [ebp - 0x898], ebx
jg 0x405c02
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x890], esp
push 0x592
push eax
call fcn.0040f625
pop ecx
pop ecx
push edi
call fcn.0040f31c
add esp, 0x20
lea eax, [ebp - 0x224]
push eax
push ebx
push 0x432748
lea eax, [ebp - 0x42c]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov dword [ebp - 0x890], eax
cmp eax, ebx
jne 0x405b67
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8b4]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x4b3
push eax
mov byte [ebp - 4], 6
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8d0]
push eax
mov byte [ebp - 4], 7
call fcn.00404724
mov ecx, esp
mov byte [ebp - 4], 8
mov dword [ebp - 0x888], esp
push esi
push eax
push ecx
call fcn.0040476a
add esp, 0xc
push 2
call fcn.0040f31c
add esp, 0x20
push ebx
push edi
lea esi, [ebp - 0x8d0]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8ec]
call fcn.004036ef
lea esi, [ebp - 0x8b4]
push ebx
push edi
call fcn.004036ef
push dword [ebp - 0x880]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call esi
push dword [ebp - 0x878]
call esi
push dword [ebp - 0x87c]
call esi
push ebx
push edi
jmp 0x406847
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x405c02
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x4b5
push eax
mov byte [ebp - 4], 9
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0xa
call fcn.00404724
mov byte [ebp - 4], 0xb
mov ecx, esp
mov dword [ebp - 0x888], esp
push esi
push eax
push ecx
call fcn.0040476a
add esp, 0xc
push 2
call fcn.0040f31c
add esp, 0x20
push ebx
push edi
lea esi, [ebp - 0x8b4]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8ec]
call fcn.004036ef
lea esi, [ebp - 0x8d0]
jmp 0x405b3b
push 0xffffffffffffffff
push 0x4326fc
lea eax, [ebp - 0x224]
push esi
push eax
call fcn.00415b25
push 0xffffffffffffffff
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x634]
push esi
push eax
call fcn.00415a52
push 0xffffffffffffffff
push str.fpi.tmp
lea eax, [ebp - 0x224]
push esi
push eax
call fcn.00415b25
add esp, 0x30
push ebx
lea eax, [ebp - 0x634]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x405c9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x4b6
push eax
mov byte [ebp - 4], 0xc
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0xd
call fcn.00404724
mov byte [ebp - 4], 0xe
jmp 0x405bc0
push ebx
push 0x80
push 2
push ebx
push ebx
push 0x40000000
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x884], eax
cmp eax, 0xffffffff
jne 0x405d0e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x4b7
push eax
mov byte [ebp - 4], 0xf
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0x10
call fcn.00404724
mov byte [ebp - 4], 0x11
jmp 0x405bc0
cmp dword [ebp - 0x898], ebx
jg 0x405d22
cmp dword [ebp - 0x890], ebx
je 0x405f8f
lea eax, [ebp - 0x894]
push eax
push dword [ebp - 0x880]
mov dword [ebp - 0x894], ebx
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
jne 0x405e24
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x4b9
push eax
mov byte [ebp - 4], 0x12
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0x13
call fcn.00404724
mov ecx, esp
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x888], esp
push esi
push eax
push ecx
call fcn.0040476a
add esp, 0xc
push 2
call fcn.0040f31c
add esp, 0x20
push ebx
push edi
lea esi, [ebp - 0x8b4]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8ec]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8d0]
call fcn.004036ef
cmp dword [ebp - 0x884], ebx
je 0x405ddf
push dword [ebp - 0x884]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x880], ebx
je 0x405df3
push dword [ebp - 0x880]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
cmp dword [ebp - 0x878], ebx
je 0x405e07
push dword [ebp - 0x878]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
cmp dword [ebp - 0x87c], ebx
je 0x405b60
push dword [ebp - 0x87c]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x405b60
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x894]
inc eax
push eax
call fcn.004140aa
mov esi, eax
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x894]
pop ecx
inc eax
push eax
push ebx
push esi
mov dword [ebp - 0x890], esi
call fcn.0041b190
add esp, 0xc
lea eax, [ebp - 0x8f0]
push eax
push dword [ebp - 0x894]
push esi
push dword [ebp - 0x880]
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
jne 0x405f0e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x4bb
push eax
mov byte [ebp - 4], 0x1a
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0x1b
call fcn.00404724
mov byte [ebp - 4], 0x1c
mov ecx, esp
mov dword [ebp - 0x888], esp
push esi
push eax
push ecx
call fcn.0040476a
add esp, 0xc
push 2
call fcn.0040f31c
add esp, 0x20
push ebx
push edi
lea esi, [ebp - 0x8b4]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8ec]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8d0]
call fcn.004036ef
push dword [ebp - 0x890]
call fcn.00415817
pop ecx
jmp 0x405dcb
push ebx
lea eax, [ebp - 0x88c]
push eax
push dword [ebp - 0x8f0]
push esi
push dword [ebp - 0x884]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 0x888], eax
cmp eax, ebx
jne 0x405f7c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x4bc
push eax
mov byte [ebp - 4], 0x1d
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0x1e
call fcn.00404724
mov byte [ebp - 4], 0x1f
jmp 0x405eb9
push esi
call fcn.00415817
pop ecx
cmp dword [ebp - 0x894], ebx
ja 0x405d22
push dword [ebp - 0x884]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x40602d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x585
push eax
mov byte [ebp - 4], 0x20
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0x21
call fcn.00404724
mov ecx, esp
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x890], esp
push esi
push eax
push ecx
call fcn.0040476a
add esp, 0xc
push edi
call fcn.0040f31c
add esp, 0x20
push ebx
push edi
lea esi, [ebp - 0x8b4]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8ec]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8d0]
mov byte [ebp - 4], bl
call fcn.004036ef
cmp dword [ebp - 0x888], ebx
jne 0x4060c6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x4bd
push eax
mov byte [ebp - 4], 0x23
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0x24
call fcn.00404724
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x888], esp
mov ecx, esp
push esi
push eax
push ecx
call fcn.0040476a
add esp, 0xc
push 2
call fcn.0040f31c
add esp, 0x20
push ebx
push edi
lea esi, [ebp - 0x8b4]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8ec]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8d0]
call fcn.004036ef
jmp 0x405ddf
cmp dword [ebp - 0x880], ebx
je 0x4060da
push dword [ebp - 0x880]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
cmp dword [ebp - 0x878], ebx
je 0x4060ee
push dword [ebp - 0x878]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
cmp dword [ebp - 0x87c], ebx
je 0x406102
push dword [ebp - 0x87c]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
lea eax, [ebp - 0x898]
push eax
lea eax, [ebp - 0x888]
push eax
lea eax, [ebp - 0x224]
push eax
mov dword [ebp - 0x884], ebx
mov dword [ebp - 0x888], ebx
mov dword [ebp - 0x878], ebx
mov dword [ebp - 0x898], ebx
mov dword [ebp - 0x890], ebx
mov dword [ebp - 0x8f4], ebx
call fcn.0040570d
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x4061df
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x586
push eax
mov byte [ebp - 4], 0x29
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0x2a
call fcn.00404724
mov ecx, esp
mov byte [ebp - 4], 0x2b
mov dword [ebp - 0x88c], esp
push esi
push eax
push ecx
call fcn.0040476a
add esp, 0xc
push edi
call fcn.0040f31c
add esp, 0x20
push ebx
push edi
lea esi, [ebp - 0x8b4]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8ec]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8d0]
mov byte [ebp - 4], bl
call fcn.004036ef
lea eax, [ebp - 0x634]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x40627b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x587
push eax
mov byte [ebp - 4], 0x2c
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0x2d
call fcn.00404724
mov ecx, esp
mov byte [ebp - 4], 0x2e
mov dword [ebp - 0x88c], esp
push esi
push eax
push ecx
call fcn.0040476a
add esp, 0xc
push edi
call fcn.0040f31c
add esp, 0x20
push ebx
push edi
lea esi, [ebp - 0x8b4]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8ec]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8d0]
call fcn.004036ef
push 0x14
mov byte [ebp - 4], 0x2f
call fcn.004159ed
pop ecx
cmp eax, ebx
je 0x4062a9
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 0x433668
mov dword [eax + 0x10], 0x3e7
mov dword [ebp - 0x87c], eax
jmp 0x4062af
mov dword [ebp - 0x87c], ebx
mov esi, dword [ebp - 0x898]
mov eax, dword [ebp - 0x87c]
inc esi
push esi
mov dword [ebp - 0x884], eax
call fcn.004140aa
pop ecx
push esi
push ebx
push eax
mov dword [ebp - 0x878], eax
mov dword [ebp - 4], ebx
call fcn.0041b190
add esp, 0xc
lea eax, [ebp - 0x890]
push eax
lea eax, [ebp - 0x878]
push eax
push dword [ebp - 0x898]
mov eax, dword [ebp - 0x87c]
push dword [ebp - 0x888]
call fcn.00412fe9
cmp al, bl
je 0x40648d
push ebx
push 0x80
push 2
push ebx
push ebx
push 0x40000000
push str.FlashPlayerInstaller.exe
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 0x888], esi
cmp esi, 0xffffffff
jne 0x40653c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x4bf
push eax
mov byte [ebp - 4], 0x31
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0x32
call fcn.00404724
mov ecx, esp
mov byte [ebp - 4], 0x33
mov dword [ebp - 0x88c], esp
push esi
push eax
push ecx
call fcn.0040476a
add esp, 0xc
push 2
call fcn.0040f31c
add esp, 0x20
push ebx
push edi
lea esi, [ebp - 0x8b4]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8ec]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8d0]
mov byte [ebp - 4], bl
call fcn.004036ef
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x406457
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x588
push eax
mov byte [ebp - 4], 0x34
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0x35
call fcn.00404724
mov ecx, esp
mov byte [ebp - 4], 0x36
mov dword [ebp - 0x88c], esp
push esi
push eax
push ecx
call fcn.0040476a
add esp, 0xc
push edi
call fcn.0040f31c
add esp, 0x20
push ebx
push edi
lea esi, [ebp - 0x8b4]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8ec]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8d0]
call fcn.004036ef
cmp dword [ebp - 0x87c], ebx
je 0x40646d
mov edi, dword [ebp - 0x87c]
call fcn.0040685a
xor edi, edi
inc edi
push dword [ebp - 0x878]
call fcn.00415817
pop ecx
jmp 0x405b60
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x4c1
push eax
mov byte [ebp - 4], 0x3d
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00404724
mov ecx, esp
mov byte [ebp - 4], 0x3f
mov dword [ebp - 0x88c], esp
push esi
push eax
push ecx
call fcn.0040476a
add esp, 0xc
push 2
call fcn.0040f31c
add esp, 0x20
push ebx
push edi
lea esi, [ebp - 0x8b4]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8ec]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8d0]
call fcn.004036ef
cmp dword [ebp - 0x884], ebx
je 0x40652b
mov edi, dword [ebp - 0x884]
call fcn.0040685a
xor edi, edi
inc edi
cmp dword [ebp - 0x878], ebx
je 0x405b60
jmp 0x40646d
push ebx
lea eax, [ebp - 0x8f4]
push eax
push dword [ebp - 0x890]
push dword [ebp - 0x878]
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, ebx
jne 0x406604
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x4c0
push eax
mov byte [ebp - 4], 0x37
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0x38
call fcn.00404724
mov ecx, esp
mov byte [ebp - 4], 0x39
mov dword [ebp - 0x88c], esp
push esi
push eax
push ecx
call fcn.0040476a
add esp, 0xc
push 2
call fcn.0040f31c
add esp, 0x20
push ebx
push edi
lea esi, [ebp - 0x8b4]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8ec]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8d0]
call fcn.004036ef
cmp dword [ebp - 0x888], ebx
je 0x406457
push dword [ebp - 0x888]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x406457
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x40669a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x589
push eax
mov byte [ebp - 4], 0x3a
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0x3b
call fcn.00404724
mov ecx, esp
mov byte [ebp - 4], 0x3c
mov dword [ebp - 0x88c], esp
push esi
push eax
push ecx
call fcn.0040476a
add esp, 0xc
push edi
call fcn.0040f31c
add esp, 0x20
push ebx
push edi
lea esi, [ebp - 0x8b4]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8ec]
call fcn.004036ef
push ebx
push edi
lea esi, [ebp - 0x8d0]
call fcn.004036ef
cmp dword [ebp - 0x87c], ebx
je 0x4066b0
mov edi, dword [ebp - 0x87c]
call fcn.0040685a
xor edi, edi
inc edi
push dword [ebp - 0x878]
call fcn.00415817
pop ecx
push ebx
push edi
lea esi, [ebp - 0x858]
call fcn.004036ef
mov al, 1
jmp 0x406854
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x4b1
push eax
mov byte [ebp - 4], 3
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 4
call fcn.00404724
mov byte [ebp - 4], 5
jmp 0x405bc0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x8d0]
push eax
call fcn.0040f625
mov esi, eax
lea eax, [ebp - 0x8ec]
push 0x4be
push eax
mov byte [ebp - 4], 0x26
call fcn.0040f625
push 0x431adc
push eax
lea eax, [ebp - 0x8b4]
push eax
mov byte [ebp - 4], 0x27
call fcn.00404724
mov byte [ebp - 4], 0x28
mov dword [ebp - 0x88c], esp
jmp 0x406083
push ebx
push 1
lea esi, [ebp - 0x858]
call fcn.004036ef
xor al, al
call fcn.00417b88
ret