Function at 0x428b66
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea edi, [ebp - 0xbc]
mov ebx, ecx
mov esi, 0x4383c0
mov ecx, 0xa4
sub esp, 0xd4
test edi, edi
je 0x428b91
test esi, esi
je 0x428b91
jecxz 0x428b91
cld
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0xbc]
mov ecx, ebx
mov dword [ebp - 0xb4], eax
mov eax, dword [ebx + 8]
lea edx, [eax + 0x23e8]
mov dword [ebp - 0x1c], edx
lea edx, [eax + 0x63e8]
add eax, 0x25e8
push edx
push eax
call fcn.0040785e
test byte [ebx + 0xc], 1
mov dword [ebp - 0x4c], eax
pop edi
pop eax
je 0x428bfa
mov edx, dword [ebx + 0x18]
xor eax, eax
mov dword [ebp - 0x5c], str.POST
test edx, edx
mov dword [ebp - 0x44], edx
je 0x428bde
mov eax, dword [ebx + 0x34]
push esi
push esi
push str.CONTENT_TYPE
push dword [ebx + 0x20]
mov dword [ebp - 0x48], eax
call fcn.004051d7
add esp, 0x10
test eax, eax
je 0x428bfa
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x428c04
mov dword [ebp - 0x58], eax
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebx + 4]
mov dword [ebp - 0x2c], ebx
test eax, eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x20], edx
cmove eax, edx
sub esp, 0xc
push dword [ebp + 8]
mov dword [ebp - 0x54], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x24], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add esp, 0xc
test eax, eax
mov esi, eax
jne 0x428cfc
push ecx
push ecx
push dword [ebp - 0x1c]
push 0x200
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 0x5c
push dword [ebp + 8]
call fcn.00403472
add esp, 0x10
test eax, eax
mov esi, eax
mov edi, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
je 0x428c74
mov byte [eax], 0
sub esp, 0xc
push dword [ebp + 8]
call edi
mov byte [esi], 0x5c
add esp, 0xc
sub esp, 0xc
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
push dword [ebp - 0x1c]
call edi
add esp, 0xc
cmp esi, 0x1f
ja 0x428cdd
sub esp, 0xc
push dword [ebp + 8]
mov ecx, ebx
call fcn.00404058
push str.Cant_Load...
mov ecx, ebx
call fcn.00404058
mov eax, dword [ebx + 0x2c]
add eax, dword [ebx + 4]
add esp, 0xc
push dword [ebx + 0x14]
push eax
push str.Error_run__s_with__s__r_n
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_wsprintfA]
pop esi
pop edi
push 0x190
push dword [ebp - 0x1c]
mov ecx, ebx
xor esi, esi
call fcn.0040a69c
pop eax
pop edx
jmp 0x428dc7
push eax
push eax
push str.GetExtensionVersion
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
pop edx
pop ecx
je 0x428cfc
sub esp, 0xc
push dword [ebp - 0x1c]
call eax
add esp, 0xc
push eax
push eax
push str.HttpExtensionProc
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov edx, eax
pop ecx
pop edi
jne 0x428d26
sub esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push str.Function_not_found...
jmp 0x428ca1
lea eax, [ebp - 0xd4]
mov dword [eax], esp
add eax, 8
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
lea eax, [ebp - 0xbc]
sub esp, 0xc
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0x428d89
mov dword [ebp - 0xc4], 0x438464
mov dword [ebp - 0xc0], 0
push eax
call edx
add esp, 0xc
cmp eax, 3
jle 0x428d89
sub esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
add esp, 0xc
mov dword [ebp - 0xc0], 0xffffffff
mov eax, dword [ebp - 0xcc]
mov dword fs:[0], eax
cmp byte [ebp - 0xac], 0
mov dword [ebp - 0xcc], eax
mov esi, 1
je 0x428dc7
lea eax, [ebp - 0xac]
sub esp, 0xc
mov ecx, ebx
push eax
call fcn.00404058
add esp, 0xc
lea esp, [ebp - 0xc]
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret 4