Function at 0x417250
Capabilities:
Set current directory

Disassembly:
sub esp, 0xa44
mov eax, dword [0x452504]
push ebx
push esi
mov esi, dword [esp + 0xa50]
mov dword [esp + 0xa48], eax
mov eax, dword [esi + 4]
test eax, eax
push edi
mov edi, ecx
mov dword [esp + 0xc], 1
je 0x41728d
mov ebx, dword [esi + 8]
sub ebx, eax
sar ebx, 2
test ebx, ebx
mov dword [esp + 0x18], ebx
jne 0x4172aa
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0xa40]
call fcn.00435083
add esp, 0xa44
ret 8
call fcn.0041a4b0
test eax, eax
mov dword [esp + 0x14], eax
jne 0x4172de
push 0x160002
call fcn.0041a6e0
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0xa40]
call fcn.00435083
add esp, 0xa44
ret 8
push 4
lea ecx, [esp + 0x24]
push ecx
push 6
push eax
mov dword [esp + 0x30], 0xbb8
call dword [sym.imp.WININET.dll_InternetSetOptionA]
test ebx, ebx
mov dword [esp + 0x10], 0
jle 0x4174c5
push ebp
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
jmp 0x417316
mov esi, dword [esp + 0xa58]
mov edx, dword [esp + 0x14]
push edx
mov ecx, esi
call fcn.00430290
mov esi, eax
test esi, esi
je 0x41749f
cmp dword [esi], 0
je 0x41749a
lea eax, [esp + 0x28]
push eax
push esi
mov ecx, edi
call fcn.00416240
lea ecx, [esp + 0x438]
push ecx
push esi
mov ecx, edi
call fcn.00416330
lea edx, [esp + 0x438]
push edx
call fcn.0042fd00
add esp, 4
lea eax, [esp + 0x438]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov ecx, dword [esp + 0xa5c]
push ecx
lea edx, [esp + 0x644]
push edx
push esi
mov ecx, edi
call fcn.004163c0
mov eax, dword [esi + 0xc]
lea ebx, [edi + 0x12590]
push eax
mov ecx, ebx
call fcn.004035d0
push 1
mov ecx, ebx
call fcn.004035f0
push str.STC_FILENAME_DISP
mov ecx, 0x4682d8
call fcn.00402ec0
test eax, eax
je 0x4173f6
push str.STC_FILENAME_DISP
mov ecx, 0x4682d8
call fcn.00402ec0
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4173f6
push str.STC_FILENAME_DISP
mov ecx, 0x4682d8
call fcn.00402ec0
mov eax, dword [eax + 4]
lea edx, [esi + 0x11d]
push edx
push 0
push 0xc
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [esp + 0x640]
push ecx
lea edx, [esp + 0x84c]
push str._s.zip
push edx
call ebp
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x240]
push str._s.zip
push ecx
call ebp
lea edx, [edi + 0x12560]
push edx
mov edx, dword [esp + 0x34]
push ebx
lea eax, [esp + 0x868]
push eax
lea ecx, [esp + 0x254]
push ecx
push edx
call fcn.004039f0
add esp, 0x2c
test eax, eax
je 0x4174b2
lea eax, [esp + 0x28]
push eax
call fcn.0042fce0
lea ebx, [esi + 0x11d]
lea ecx, [esp + 0x234]
push ebx
push ecx
call fcn.0041a500
lea edx, [esp + 0x23c]
push edx
call fcn.0042fce0
mov eax, dword [esi + 0x14]
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x3c]
push edx
mov dword [esp + 0x38], eax
call fcn.0042fb30
add esp, 0x18
push ebx
mov ecx, edi
call fcn.00410090
mov ebx, dword [esp + 0x1c]
cmp dword [edi], 0
jne 0x4174bc
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x41730f
jmp 0x4174c4
mov dword [esp + 0x10], 0xffffffff
jmp 0x4174c4
mov dword [esp + 0x10], 0
pop ebp
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [esp + 0xa4c]
mov eax, dword [esp + 0xc]
pop edi
pop esi
pop ebx
call fcn.00435083
add esp, 0xa44
ret 8