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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2ac
mov eax, dword [0x5f2e68]
xor eax, esp
mov dword [esp + 0x2a8], eax
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 0x18]
push edi
xor ebx, ebx
push 0x13c
mov dword [esp + 0x20], eax
lea eax, [esp + 0x50]
push ebx
push eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x54], ebx
call fcn.005306b0
add esp, 0xc
mov byte [esp + 0x188], bl
push 7
xor eax, eax
pop ecx
lea edi, [esp + 0x189]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.004fa8e4
cmp dword [ebp + 8], ebx
mov dword [esp + 0x10], eax
je 0x46c2f9
mov esi, 0x6f0af8
call fcn.0046cb9c
xor eax, eax
jmp 0x46ca9a
cmp dword [0x6f0afc], ebx
jne 0x46ca86
push 0xc
push ebx
push 0x6f0af8
call fcn.005306b0
add esp, 0xc
call fcn.0046ed85
test eax, eax
je 0x46c2f2
call fcn.0046ba07
mov dword [esp + 0x24], eax
call fcn.004935a3
test eax, eax
lea ecx, [esp + 0x188]
je 0x46c345
xor eax, eax
cmp dword [0x6f0b08], ebx
sete al
push eax
jmp 0x46c34b
push dword [0x6f0b08]
call fcn.0050b735
cmp dword [ebp + 0xc], ebx
pop ecx
je 0x46c361
push str._nPhase_1...
call fcn.004799e6
pop ecx
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x20], ebx
push ebx
push ebx
push ebx
push 1
push 0x54ff04
call dword [sym.imp.WININET.dll_InternetOpenA]
cmp eax, ebx
mov dword [0x6f0af8], eax
jne 0x46c400
push str._GetLastError_
push str.:0:GetFtpHandleToPAULA__:_InternetOpen___FAILED..._Trying_again:__s
call fcn.0042bd38
cmp edi, ebx
pop ecx
pop ecx
jbe 0x46c3a3
call fcn.004fa8e4
sub eax, dword [esp + 0x10]
cmp eax, edi
jae 0x46c3f0
cmp esi, ebx
je 0x46c3ab
cmp dword [esi], ebx
jne 0x46c3f0
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp + 0xc], ebx
je 0x46c3c6
push 0x551adc
call fcn.004799e6
pop ecx
cmp edi, ebx
jbe 0x46c3d7
call fcn.004fa8e4
sub eax, dword [esp + 0x10]
cmp eax, edi
jae 0x46c3f0
cmp esi, ebx
je 0x46c3df
cmp dword [esi], ebx
jne 0x46c3f0
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jl 0x46c368
jmp 0x46c400
cmp dword [ebp + 0xc], ebx
je 0x46c400
push str._nTIME_OUT__n
call fcn.004799e6
pop ecx
cmp edi, ebx
jbe 0x46c411
call fcn.004fa8e4
sub eax, dword [esp + 0x10]
cmp eax, edi
jae 0x46c419
cmp esi, ebx
je 0x46c432
cmp dword [esi], ebx
je 0x46c432
cmp dword [ebp + 0xc], ebx
je 0x46c2e8
push str._nTIME_OUT__n
call fcn.004799e6
pop ecx
jmp 0x46c2e8
cmp dword [0x6f0af8], ebx
je 0x46c6dc
cmp dword [ebp + 0xc], ebx
je 0x46c45a
push 0x54f4f4
call fcn.004799e6
mov dword [esp], str._nPhase_2...IC1..
call fcn.004799e6
pop ecx
mov edi, dword [sym.imp.WININET.dll_InternetConnectA]
push ebx
push dword [esp + 0x28]
mov esi, 0x5f5680
push 1
push str.PAULAWAULA
push esi
push 0x15
lea eax, [esp + 0x1a0]
push eax
push dword [0x6f0af8]
call edi
cmp dword [ebp + 0x14], ebx
mov dword [0x6f0afc], eax
jbe 0x46c4a0
call fcn.004fa8e4
sub eax, dword [esp + 0x10]
cmp eax, dword [ebp + 0x14]
jae 0x46c419
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x46c4b0
cmp dword [eax], ebx
jne 0x46c419
mov eax, dword [0x6f0afc]
cmp eax, ebx
mov dword [esp + 0x14], ebx
je 0x46c4f2
push ebx
push ebx
lea ecx, [esp + 0x50]
push ecx
push str._PAULA_LiveUpdate_DownLoad_
push eax
call dword [sym.imp.WININET.dll_FtpFindFirstFileA]
cmp eax, ebx
mov dword [esp + 0x14], eax
jne 0x46c4f2
call fcn.004935a3
test eax, eax
je 0x46c4f2
push str._GetLastError_
push str.:1:FtpFindFirstFile___FAILED:__s
call fcn.0042b70b
pop ecx
pop ecx
cmp dword [ebp + 0x14], ebx
jbe 0x46c509
call fcn.004fa8e4
sub eax, dword [esp + 0x10]
cmp eax, dword [ebp + 0x14]
jae 0x46c419
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x46c519
cmp dword [eax], ebx
jne 0x46c419
cmp dword [esp + 0x14], ebx
jne 0x46c71d
cmp dword [esp + 0x24], 0x8000000
mov eax, dword [0x6f0afc]
je 0x46c612
cmp eax, ebx
je 0x46c564
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test eax, eax
jne 0x46c556
push str._GetLastError_
push str.:4:GetFtpHandleToPAULA___encountered_a_problem:_InternetCloseHandle___FAILED_1:__s
call fcn.0042b70b
pop ecx
pop ecx
push 0x19
mov dword [0x6f0afc], ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push 0x8000000
push 1
push str.PAULAWAULA
push esi
push 0x15
lea eax, [esp + 0x1a0]
push eax
push dword [0x6f0af8]
call edi
cmp eax, ebx
mov dword [0x6f0afc], eax
mov dword [esp + 0x14], ebx
je 0x46c5c6
push ebx
push ebx
lea ecx, [esp + 0x50]
push ecx
push str._PAULA_LiveUpdate_DownLoad_
push eax
call dword [sym.imp.WININET.dll_FtpFindFirstFileA]
cmp eax, ebx
mov dword [esp + 0x14], eax
jne 0x46c5c6
call fcn.004935a3
test eax, eax
je 0x46c5c6
push str._GetLastError_
push str.:2:FtpFindFirstFile___FAILED:__s
call fcn.0042b70b
pop ecx
pop ecx
cmp dword [ebp + 0x14], ebx
jbe 0x46c5dd
call fcn.004fa8e4
sub eax, dword [esp + 0x10]
cmp eax, dword [ebp + 0x14]
jae 0x46c419
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x46c5ed
cmp dword [eax], ebx
jne 0x46c419
cmp dword [esp + 0x14], ebx
je 0x46c6f2
push str.:0:FYI:GetFtpHandleToPAULA___had_to_use_PASSIVE_FTP_MODE_to_establish_a_connection_to_the_PAULA_FTP_server.
call fcn.0042bd38
mov dword [esp], 0x8000000
call fcn.0046bbb4
jmp 0x46c6eb
cmp eax, ebx
je 0x46c640
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test eax, eax
jne 0x46c632
push str._GetLastError_
push str.:4:GetFtpHandleToPAULA___encountered_a_problem:_InternetCloseHandle___FAILED_2:__s
call fcn.0042b70b
pop ecx
pop ecx
push 0x19
mov dword [0x6f0afc], ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push ebx
push 1
push str.PAULAWAULA
push esi
push 0x15
lea eax, [esp + 0x1a0]
push eax
push dword [0x6f0af8]
call edi
cmp eax, ebx
mov dword [0x6f0afc], eax
mov dword [esp + 0x14], ebx
je 0x46c69e
push ebx
push ebx
lea ecx, [esp + 0x50]
push ecx
push str._PAULA_LiveUpdate_DownLoad_
push eax
call dword [sym.imp.WININET.dll_FtpFindFirstFileA]
cmp eax, ebx
mov dword [esp + 0x14], eax
jne 0x46c69e
call fcn.004935a3
test eax, eax
je 0x46c69e
push str._GetLastError_
push str.:3:FtpFindFirstFile___FAILED:__s
call fcn.0042b70b
pop ecx
pop ecx
cmp dword [ebp + 0x14], ebx
jbe 0x46c6b5
call fcn.004fa8e4
sub eax, dword [esp + 0x10]
cmp eax, dword [ebp + 0x14]
jae 0x46c419
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x46c6c5
cmp dword [eax], ebx
jne 0x46c419
cmp dword [esp + 0x14], ebx
je 0x46c6f2
push str.:0:FYI:GetFtpHandleToPAULA___had_to_use_ACTIVE_FTP_MODE_to_establish_a_connection_to_the_PAULA_FTP_server.
call fcn.0042bd38
pop ecx
push ebx
jmp 0x46c608
cmp dword [ebp + 0xc], ebx
je 0x46c6f2
push str.FAILED_
call fcn.004799e6
cmp dword [esp + 0x18], ebx
pop ecx
jne 0x46c71d
mov eax, dword [0x6f0afc]
cmp eax, ebx
je 0x46c72a
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test eax, eax
jne 0x46c717
push str._GetLastError_
push str.:4:GetFtpHandleToPAULA___encountered_a_problem:_InternetCloseHandle___FAILED_3:__s
call fcn.0042b70b
pop ecx
pop ecx
mov dword [0x6f0afc], ebx
mov eax, dword [0x6f0afc]
cmp eax, ebx
jne 0x46c98e
cmp dword [0x6f0b08], ebx
jne 0x46c7b9
cmp dword [0x6f0b04], ebx
jne 0x46c7b9
cmp dword [ebp + 0xc], ebx
je 0x46c74e
push str._nAttempting_backup_server...
call fcn.004799e6
pop ecx
cmp dword [ebp + 0x14], ebx
jbe 0x46c765
call fcn.004fa8e4
sub eax, dword [esp + 0x10]
cmp eax, dword [ebp + 0x14]
jae 0x46c419
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x46c775
cmp dword [eax], ebx
jne 0x46c419
mov esi, 0x6f0af8
mov dword [0x6f0b08], 1
call fcn.0046cb9c
push dword [esp + 0x18]
call fcn.004fa8e4
mov edx, dword [ebp + 0x14]
mov ecx, dword [esp + 0x14]
add ecx, edx
sub ecx, eax
push ecx
push dword [esp + 0x24]
push dword [ebp + 0xc]
push ebx
call fcn.0046c27a
add esp, 0x14
mov dword [0x6f0b08], ebx
jmp 0x46ca9a
cmp eax, ebx
jne 0x46c98e
cmp dword [ebp + 0xc], ebx
je 0x46c7d1
push str..FAILED.._n____...Attempting_IC_SAT..
call fcn.004799e6
pop ecx
mov eax, dword [0x6f0af8]
cmp eax, ebx
je 0x46c7fc
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test eax, eax
jne 0x46c7f6
push str._GetLastError_
push str.:4:GetFtpHandleToPAULA___encountered_a_problem:_InternetCloseHandle___FAILED_4:__s
call fcn.0042b70b
pop ecx
pop ecx
mov dword [0x6f0af8], ebx
cmp dword [ebp + 0x14], ebx
jbe 0x46c813
call fcn.004fa8e4
sub eax, dword [esp + 0x10]
cmp eax, dword [ebp + 0x14]
jae 0x46c419
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x46c823
cmp dword [eax], ebx
jne 0x46c419
cmp dword [0x6f0b04], ebx
jne 0x46c2f2
push 0x103
lea eax, [esp + 0x1ad]
push ebx
push eax
mov byte [esp + 0x1b4], bl
call fcn.005306b0
xor eax, eax
mov word [esp + 0x44], bx
lea edi, [esp + 0x46]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov word [esp + 0x34], bx
xor eax, eax
lea edi, [esp + 0x36]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esp, 0xc
stosw word es:[edi], ax
push str.StoreId.dat
lea edi, [esp + 0x1ac]
call fcn.00470f4a
mov dword [esp], 0x872
lea eax, [esp + 0x2c]
push str..Network.c
push eax
call fcn.004fb92f
add esp, 0xc
test eax, eax
je 0x46c2f2
push ebx
push ebx
lea eax, [esp + 0x40]
push ebx
push eax
mov ecx, edi
call fcn.00476f47
add esp, 0x10
test eax, eax
je 0x46c2f2
sub esp, 0x10
mov edi, esp
lea esi, [esp + 0x48]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
lea esi, [esp + 0x48]
mov edi, esp
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.004f9ee0
push eax
call fcn.0053146e
add esp, 0x24
cmp eax, 0x6ddd00
jle 0x46c2f2
cmp dword [ebp + 0xc], ebx
je 0x46c8fb
push str._nAttempting_to_establish_INet_connection...
call fcn.004799e6
pop ecx
mov eax, dword [esp + 0x10]
mov edi, dword [ebp + 0x14]
lea esi, [eax + edi]
call fcn.004fa8e4
mov ecx, esi
sub ecx, eax
push ecx
push dword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
push 0x1b7740
call fcn.0046d3a5
add esp, 0xc
test eax, eax
je 0x46c2f2
cmp dword [ebp + 0xc], ebx
je 0x46c93b
push str._nTrying_FTP_connection_process_again...
call fcn.004799e6
pop ecx
cmp edi, ebx
jbe 0x46c950
call fcn.004fa8e4
sub eax, dword [esp + 0x10]
cmp eax, edi
jae 0x46c419
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x46c960
cmp dword [eax], ebx
jne 0x46c419
push eax
mov dword [0x6f0b04], 1
call fcn.004fa8e4
sub esi, eax
push esi
push dword [esp + 0x24]
push dword [ebp + 0xc]
push ebx
call fcn.0046c27a
add esp, 0x14
mov dword [0x6f0b04], ebx
jmp 0x46ca9a
cmp dword [ebp + 0xc], ebx
je 0x46c9aa
push str..OK.
call fcn.004799e6
mov dword [esp], str._nEnumerating_FTP_server_root_directory...
call fcn.004799e6
pop ecx
push 0x893
mov ecx, str..Network.c
call fcn.004d04c4
cmp eax, ebx
pop ecx
mov dword [0x6f0b00], eax
jne 0x46c9d2
push str.:7:GetFtpHandleToPAULA___FAILED:_CreateStringList___FAILED_to_create_a_string_list_to_hold_the_FTP_root_directory_
call fcn.0042b70b
jmp 0x46c42c
xor edi, edi
mov esi, str._AltHT
lea edx, [esp + 0x74]
call fcn.004ccc0d
test eax, eax
jne 0x46ca65
test byte [esp + 0x48], 0x10
jne 0x46ca65
cmp byte [esp + 0x74], 0x2e
je 0x46ca65
test byte [esp + 0x48], 6
jne 0x46ca65
lea eax, [esp + 0x74]
push eax
call fcn.004ccd4e
test eax, eax
pop ecx
jne 0x46ca2c
lea ecx, [esp + 0x74]
call fcn.0046be59
inc edi
cmp edi, 1
jle 0x46ca65
lea eax, [esp + 0x74]
push eax
push esi
push str.:7:GetFtpHandleToPAULA___found_MULTIPLE__ss_____:__s
call fcn.0042bd38
add esp, 0xc
push ebx
lea eax, [esp + 0x78]
push eax
push dword [0x6f0b00]
call fcn.004d08bc
add esp, 0xc
test eax, eax
jne 0x46ca65
inc dword [0x6f0b0c]
cmp dword [0x6f0b0c], 4
jg 0x46ca65
push dword [0x6f0b0c]
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.0042b70b
pop ecx
pop ecx
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x18]
call dword [sym.imp.WININET.dll_InternetFindNextFileA]
test eax, eax
jne 0x46c9d9
push dword [esp + 0x14]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push dword [esp + 0x1c]
mov esi, 0x6f0af8
call fcn.0046caaf
mov eax, dword [0x6f0afc]
pop ecx
mov ecx, dword [esp + 0x2b4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005317e7
mov esp, ebp
pop ebp
ret