Function at 0x45e5bd
Capabilities:
Connect to http server
Create http request

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2a0
mov eax, dword [0x59a240]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
and dword [ebp - 0x290], 0
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 0x18]
push edi
mov dword [ebp - 0x298], eax
mov eax, dword [ebp + 0x14]
push 0x140
mov dword [ebp - 0x2a0], eax
lea eax, [ebp - 0x288]
push 0
push eax
call fcn.004e4da0
add esp, 0xc
lea edi, [ebp - 0x24]
xor eax, eax
push 8
pop ecx
rep stosd dword es:[edi], eax
call fcn.004ca9ca
cmp dword [ebp + 8], 0
mov dword [ebp - 0x28c], eax
jne 0x45eaf9
cmp dword [0x683d74], 0
je 0x45e64b
push dword [ebp - 0x298]
push 0x683d70
call fcn.0045c808
mov eax, dword [0x683d74]
pop ecx
jmp 0x45eb05
push 0xc
push 0
push 0x683d70
call fcn.004e4da0
add esp, 0xc
call fcn.004609c4
test eax, eax
je 0x45ec87
call fcn.0045e417
mov dword [ebp - 0x29c], eax
call fcn.0047d25f
test eax, eax
je 0x45e68b
xor eax, eax
cmp dword [0x683d80], eax
sete al
push eax
jmp 0x45e691
push dword [0x683d80]
lea eax, [ebp - 0x24]
push eax
call fcn.004d5a59
pop ecx
pop ecx
test ebx, ebx
je 0x45e6ab
push str._nPhase_1...
call fcn.0046816f
pop ecx
and dword [ebp - 0x294], 0
mov edi, dword [ebp - 0x2a0]
push 0
push 0
push 0
push 1
push 0x510ed0
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [0x683d70], eax
test eax, eax
jne 0x45e762
push str._GetLastError_
push str.:0:GetFtpHandleToPAULA__:_InternetOpen___FAILED..._Trying_again:__s
call fcn.00425c08
pop ecx
pop ecx
test edi, edi
je 0x45e6fc
call fcn.004ca9ca
sub eax, dword [ebp - 0x28c]
cmp eax, edi
jae 0x45e753
test esi, esi
je 0x45e705
cmp dword [esi], 0
jne 0x45e753
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
test ebx, ebx
je 0x45e71f
push 0x50a0b4
call fcn.0046816f
pop ecx
test edi, edi
je 0x45e732
call fcn.004ca9ca
sub eax, dword [ebp - 0x28c]
cmp eax, edi
jae 0x45e753
test esi, esi
je 0x45e73b
cmp dword [esi], 0
jne 0x45e753
mov eax, dword [ebp - 0x294]
inc eax
mov dword [ebp - 0x294], eax
cmp eax, 3
jl 0x45e6b8
jmp 0x45e762
test ebx, ebx
je 0x45e762
push str._nTIME_OUT__n
call fcn.0046816f
pop ecx
test edi, edi
je 0x45e779
call fcn.004ca9ca
sub eax, dword [ebp - 0x28c]
cmp eax, edi
jae 0x45eaea
test esi, esi
je 0x45e786
cmp dword [esi], 0
jne 0x45eaea
cmp dword [0x683d70], 0
je 0x45ea5d
test ebx, ebx
je 0x45e7ae
push 0x539d1c
call fcn.0046816f
mov dword [esp], str._nPhase_2...IC1..
call fcn.0046816f
pop ecx
push 0
push dword [ebp - 0x29c]
lea eax, [ebp - 0x24]
push 1
push str.PAULAWAULA
push str.PAULA
push 0x15
push eax
push dword [0x683d70]
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [0x683d74], eax
test edi, edi
je 0x45e7f0
call fcn.004ca9ca
sub eax, dword [ebp - 0x28c]
cmp eax, edi
jae 0x45eaea
test esi, esi
je 0x45e7fd
cmp dword [esi], 0
jne 0x45eaea
and dword [ebp - 0x290], 0
mov eax, dword [0x683d74]
test eax, eax
je 0x45e84a
push 0
push 0
lea ecx, [ebp - 0x288]
push ecx
push str._PAULA_LiveUpdate_DownLoad_
push eax
call dword [sym.imp.WININET.dll_FtpFindFirstFileA]
mov ecx, eax
mov dword [ebp - 0x290], ecx
test ecx, ecx
jne 0x45e84a
call fcn.0047d25f
test eax, eax
je 0x45e84a
push str._GetLastError_
push str.:1:FtpFindFirstFile___FAILED:__s
call fcn.004255b9
pop ecx
pop ecx
test edi, edi
je 0x45e861
call fcn.004ca9ca
sub eax, dword [ebp - 0x28c]
cmp eax, edi
jae 0x45eaea
test esi, esi
je 0x45e86e
cmp dword [esi], 0
jne 0x45eaea
cmp dword [ebp - 0x290], 0
jne 0x45ea98
mov eax, 0x8000000
cmp dword [ebp - 0x29c], eax
mov dword [ebp - 0x294], eax
mov eax, dword [0x683d74]
je 0x45e972
test eax, eax
je 0x45e8c6
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test eax, eax
jne 0x45e8b7
push str._GetLastError_
push str.:4:GetFtpHandleToPAULA___encountered_a_problem:_InternetCloseHandle___FAILED_1:__s
call fcn.004255b9
pop ecx
pop ecx
and dword [0x683d74], 0
push 0x19
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0x8000000
push 1
push str.PAULAWAULA
push str.PAULA
push 0x15
lea eax, [ebp - 0x24]
push eax
push dword [0x683d70]
call dword [sym.imp.WININET.dll_InternetConnectA]
xor ecx, ecx
mov dword [0x683d74], eax
mov dword [ebp - 0x290], ecx
test eax, eax
je 0x45e937
push ecx
push ecx
lea ecx, [ebp - 0x288]
push ecx
push str._PAULA_LiveUpdate_DownLoad_
push eax
call dword [sym.imp.WININET.dll_FtpFindFirstFileA]
mov ecx, eax
mov dword [ebp - 0x290], ecx
test ecx, ecx
jne 0x45e937
call fcn.0047d25f
test eax, eax
je 0x45e937
push str._GetLastError_
push str.:2:FtpFindFirstFile___FAILED:__s
call fcn.004255b9
pop ecx
pop ecx
test edi, edi
je 0x45e94e
call fcn.004ca9ca
sub eax, dword [ebp - 0x28c]
cmp eax, edi
jae 0x45eaea
test esi, esi
je 0x45e95b
cmp dword [esi], 0
jne 0x45eaea
cmp dword [ebp - 0x290], 0
je 0x45ea6c
mov eax, str.:0:FYI:GetFtpHandleToPAULA___had_to_use_PASSIVE_FTP_MODE_to_establish_a_connection_to_the_PAULA_FTP_server.
jmp 0x45ea48
test eax, eax
je 0x45e9a1
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test eax, eax
jne 0x45e992
push str._GetLastError_
push str.:4:GetFtpHandleToPAULA___encountered_a_problem:_InternetCloseHandle___FAILED_2:__s
call fcn.004255b9
pop ecx
pop ecx
and dword [0x683d74], 0
push 0x19
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0
push 1
push str.PAULAWAULA
push str.PAULA
push 0x15
lea eax, [ebp - 0x24]
push eax
push dword [0x683d70]
call dword [sym.imp.WININET.dll_InternetConnectA]
xor ecx, ecx
mov dword [0x683d74], eax
mov dword [ebp - 0x290], ecx
test eax, eax
je 0x45ea0f
push ecx
push ecx
lea ecx, [ebp - 0x288]
push ecx
push str._PAULA_LiveUpdate_DownLoad_
push eax
call dword [sym.imp.WININET.dll_FtpFindFirstFileA]
mov ecx, eax
mov dword [ebp - 0x290], ecx
test ecx, ecx
jne 0x45ea0f
call fcn.0047d25f
test eax, eax
je 0x45ea0f
push str._GetLastError_
push str.:3:FtpFindFirstFile___FAILED:__s
call fcn.004255b9
pop ecx
pop ecx
test edi, edi
je 0x45ea26
call fcn.004ca9ca
sub eax, dword [ebp - 0x28c]
cmp eax, edi
jae 0x45eaea
test esi, esi
je 0x45ea33
cmp dword [esi], 0
jne 0x45eaea
cmp dword [ebp - 0x290], 0
je 0x45ea6c
and dword [ebp - 0x294], 0
mov eax, str.:0:FYI:GetFtpHandleToPAULA___had_to_use_ACTIVE_FTP_MODE_to_establish_a_connection_to_the_PAULA_FTP_server.
push eax
call fcn.00425c08
push dword [ebp - 0x294]
call fcn.00464ba3
pop ecx
pop ecx
jmp 0x45ea98
test ebx, ebx
je 0x45ea6c
push str.FAILED_
call fcn.0046816f
pop ecx
mov eax, dword [0x683d74]
test eax, eax
je 0x45eaa5
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test eax, eax
jne 0x45ea91
push str._GetLastError_
push str.:4:GetFtpHandleToPAULA___encountered_a_problem:_InternetCloseHandle___FAILED_3:__s
call fcn.004255b9
pop ecx
pop ecx
and dword [0x683d74], 0
cmp dword [0x683d74], 0
jne 0x45ec8e
cmp dword [0x683d80], 0
jne 0x45eb55
cmp dword [0x683d7c], 0
jne 0x45eb55
test ebx, ebx
je 0x45eace
push str._nAttempting_backup_server...
call fcn.0046816f
pop ecx
test edi, edi
je 0x45eae1
call fcn.004ca9ca
sub eax, dword [ebp - 0x28c]
cmp eax, edi
jae 0x45eaea
test esi, esi
je 0x45eb15
cmp dword [esi], 0
je 0x45eb15
test ebx, ebx
je 0x45eaf9
push str._nTIME_OUT__n
call fcn.0046816f
pop ecx
push 0x683d70
call fcn.0045c7bc
xor eax, eax
pop ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004e3632
leave
ret
push 0x683d70
mov dword [0x683d80], 1
call fcn.0045c7bc
pop ecx
push esi
call fcn.004ca9ca
mov ecx, dword [ebp - 0x28c]
add ecx, edi
sub ecx, eax
push ecx
push dword [ebp - 0x298]
push ebx
push 0
call fcn.0045e5bd
add esp, 0x14
and dword [0x683d80], 0
jmp 0x45eb06
cmp dword [0x683d74], 0
jne 0x45ec8e
test ebx, ebx
je 0x45eb71
push str..FAILED.._n____...Attempting_IC_SAT..
call fcn.0046816f
pop ecx
mov eax, dword [0x683d70]
test eax, eax
je 0x45eb9d
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test eax, eax
jne 0x45eb96
push str._GetLastError_
push str.:4:GetFtpHandleToPAULA___encountered_a_problem:_InternetCloseHandle___FAILED_4:__s
call fcn.004255b9
pop ecx
pop ecx
and dword [0x683d70], 0
test edi, edi
je 0x45ebb4
call fcn.004ca9ca
sub eax, dword [ebp - 0x28c]
cmp eax, edi
jae 0x45eaea
test esi, esi
je 0x45ebc1
cmp dword [esi], 0
jne 0x45eaea
cmp dword [0x683d7c], 0
jne 0x45ec87
push 0x104
xor esi, esi
lea eax, [ebp - 0x128]
push esi
push eax
call fcn.004e4da0
xor eax, eax
lea edi, [ebp - 0x138]
stosd dword es:[edi], eax
push str.StoreId.dat
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x148]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x128]
push eax
call fcn.0046366c
push 0x879
lea eax, [ebp - 0x148]
push str.E:UserskerryDocumentsVisual_Studio_2022ProjectsPAULA__TEMP_COPY_Network.c
push eax
call fcn.004c9210
add esp, 0x20
test eax, eax
je 0x45ec87
push esi
push esi
push esi
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.0045ffa6
add esp, 0x14
test eax, eax
je 0x45ec87
sub esp, 0x10
lea esi, [ebp - 0x138]
mov edi, esp
sub esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, esp
lea esi, [ebp - 0x148]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004ca88e
push eax
call fcn.004ee48a
add esp, 0x24
cmp eax, 0x6ddd00
jle 0x45ec87
test ebx, ebx
je 0x45ec87
push str._nAttempting_to_establish_INet_connection...
call fcn.0046816f
pop ecx
xor eax, eax
jmp 0x45eb06
test ebx, ebx
je 0x45eca9
push str..OK.
call fcn.0046816f
mov dword [esp], str._nEnumerating_FTP_server_root_directory...
call fcn.0046816f
pop ecx
push 0x89a
push str.E:UserskerryDocumentsVisual_Studio_2022ProjectsPAULA__TEMP_COPY_Network.c
call fcn.004a169c
mov dword [0x683d78], eax
pop ecx
pop ecx
test eax, eax
jne 0x45ecd9
push str.:7:GetFtpHandleToPAULA___FAILED:_CreateStringList___FAILED_to_create_a_string_list_to_hold_the_FTP_root_directory_
call fcn.004255b9
mov dword [esp], 0x683d70
jmp 0x45eafe
mov ebx, dword [ebp - 0x290]
xor esi, esi
mov edi, str._AltHT
lea eax, [ebp - 0x25c]
push eax
call fcn.0049f486
pop ecx
test eax, eax
jne 0x45ed90
test byte [ebp - 0x288], 0x10
jne 0x45ed90
cmp byte [ebp - 0x25c], 0x2e
je 0x45ed90
test byte [ebp - 0x288], 6
jne 0x45ed90
lea eax, [ebp - 0x25c]
push edi
push eax
call fcn.004a0f20
pop ecx
pop ecx
test eax, eax
jne 0x45ed58
lea eax, [ebp - 0x25c]
push 1
push eax
call fcn.00464e18
inc esi
pop ecx
pop ecx
cmp esi, 1
jle 0x45ed90
lea eax, [ebp - 0x25c]
push eax
push edi
push str.:7:GetFtpHandleToPAULA___found_MULTIPLE__ss_____:__s
call fcn.00425c08
add esp, 0xc
push 0
lea eax, [ebp - 0x25c]
push eax
push dword [0x683d78]
call fcn.004a147e
add esp, 0xc
test eax, eax
jne 0x45ed90
mov eax, dword [0x683d84]
inc eax
mov dword [0x683d84], eax
cmp eax, 4
jg 0x45ed90
push eax
push str.:8:__d_of_4:_GetFtpHandleToPAULA___has_encountered_a_serious_exception:_AddString___FAILED:_The_list_of_FTP_Update_File_Names_could_not_be_generated_
call fcn.004255b9
pop ecx
pop ecx
lea eax, [ebp - 0x288]
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetFindNextFileA]
test eax, eax
jne 0x45ece6
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x45e630