Function at 0x416050
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45b1c0
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [0x4767b0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0xc0]
test eax, eax
jne 0x416090
lea edi, [eax + 0x68]
call fcn.00412390
cmp dword [ebx + 0x104], 0
jne 0x4160a3
mov esi, 0x468a58
call fcn.00412430
cmp dword [ebx + 0x10c], 0
jne 0x4160b6
mov esi, str.CHttpClientT::_ProceedUploadContext:_m_hConnection_can_not_be_NULL.
call fcn.00412430
cmp dword [ebx + 0x114], 0
jne 0x4160c9
mov esi, str.CHttpClientT::_ProceedUploadContext:_m_hRequest_can_not_be_NULL.
call fcn.00412430
lea esi, [ebx + 0xbc]
mov dword [ebp - 4], 0
cmp dword [esi + 4], 0
jne 0x4160e6
mov esi, str.CHttpPostStatT::ActualTotalByte:_The_post_context_is_not_active.
call fcn.00412430
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
xor ecx, ecx
cmp eax, edi
sete cl
mov eax, ecx
test eax, eax
je 0x41611e
mov eax, dword [ebx + 0x114]
call fcn.00412ce0
push ebx
call fcn.004164f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x41612f
mov dword [ebp - 0x18], str.____RYEOL_FB3B405B7EAE495aB0C0295C54D4E096_
mov eax, esi
call fcn.00413b20
test eax, eax
jne 0x416172
mov edx, str._r_n__
mov eax, ebx
call fcn.00414d40
mov edx, dword [ebp - 0x18]
mov eax, ebx
call fcn.00414d40
mov edx, str.___r_n
mov eax, ebx
call fcn.00414d40
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, esi
call fcn.00413bc0
test eax, eax
je 0x4163a8
mov eax, esi
call fcn.00413b20
mov edi, eax
mov eax, esi
call fcn.00413b40
cmp edi, eax
jne 0x41619c
mov edx, 0x468bfc
jmp 0x41613f
mov eax, esi
call fcn.00413b40
mov dword [ebp - 0x28], eax
mov eax, esi
call fcn.00413b60
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x60]
mov edx, dword [eax]
mov eax, dword [ebx + 0x48]
xor edi, edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x34], eax
lea esi, [ebp - 0x34]
cmp edi, dword [ebp - 0x28]
jae 0x4161d6
inc edi
call fcn.00417120
jmp 0x4161c6
call fcn.00416e80
test byte [eax + 8], 1
lea esi, [ebp - 0x34]
je 0x41629d
call fcn.00416e80
mov edi, dword [eax + 4]
mov ecx, dword [ebx + 0xf4]
mov edx, dword [ebp - 0x20]
cmp dword [ecx + edx*4], 0xffffffff
lea eax, [ecx + edx*4]
mov dword [ebp - 0x24], edi
je 0x416211
mov eax, dword [eax]
mov esi, edi
call fcn.00412d20
mov dword [ebp - 0x1c], eax
mov edx, 0x468bfc
mov eax, ebx
call fcn.00414d40
mov edx, dword [ebp - 0x18]
mov eax, ebx
call fcn.00414d40
mov edx, 0x467390
mov eax, ebx
call fcn.00414d40
mov edx, str.Content_Disposition:_form_data__name_
mov eax, ebx
call fcn.00414d40
lea esi, [ebp - 0x34]
call fcn.00416e80
mov ecx, dword [ebx + 0x18]
push ecx
mov ecx, dword [eax]
mov edx, ebx
call fcn.00414d80
mov edx, str.___filename_
mov eax, ebx
call fcn.00414d40
mov edx, dword [ebx + 0x18]
push edx
mov ecx, edi
mov edx, ebx
call fcn.00414d80
mov edx, str.__r_nContent_Type:
mov eax, ebx
call fcn.00414d40
mov eax, dword [ebx + 0xf8]
mov ecx, dword [ebp - 0x20]
mov edx, dword [eax + ecx*4]
mov eax, ebx
call fcn.00414d40
mov edx, str._r_n_r_n
mov eax, ebx
call fcn.00414d40
jmp 0x416369
call fcn.00416e80
cmp dword [eax + 4], 0
je 0x416306
lea esi, [ebp - 0x34]
call fcn.00416e80
mov edx, dword [eax + 4]
cmp word [edx], 0
je 0x416306
cmp dword [ebx + 0x18], 0
je 0x4162d3
call fcn.00416e80
mov ecx, dword [eax + 4]
call fcn.00414ba0
mov edi, 1
jmp 0x4162e9
lea eax, [ebp - 0x28]
push eax
call fcn.00416e80
mov ecx, dword [eax + 4]
mov edx, ebx
call fcn.00414a70
mov edi, dword [ebp - 0x28]
mov ebx, eax
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4162f0
mov esi, dword [ebp + 8]
sub eax, edx
mov dword [ebp - 0x1c], eax
call fcn.00414c80
jmp 0x416315
mov esi, dword [ebp + 8]
xor edi, edi
xor ebx, ebx
call fcn.00414c80
mov dword [ebp - 0x1c], ebx
mov edi, dword [ebp + 8]
mov edx, 0x468bfc
mov eax, edi
call fcn.00414d40
mov edx, dword [ebp - 0x18]
mov eax, edi
call fcn.00414d40
mov edx, 0x467390
mov eax, edi
call fcn.00414d40
mov edx, str.Content_Disposition:_form_data__name_
mov eax, edi
call fcn.00414d40
lea esi, [ebp - 0x34]
call fcn.00416e80
mov ecx, dword [edi + 0x18]
push ecx
mov ecx, dword [eax]
mov edx, edi
call fcn.00414d80
mov edx, str.__r_n_r_n
mov eax, edi
call fcn.00414d40
mov ebx, edi
lea esi, [ebp - 0x34]
call fcn.00416e80
mov edx, dword [ebp - 0x24]
push edx
mov edi, eax
call fcn.00416e80
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax + 8]
mov edx, dword [edi]
push ecx
and eax, 1
push edx
lea esi, [ebx + 0xbc]
call fcn.00413e80
cmp dword [ebp - 0x1c], 0
jne 0x41615c
mov edx, 0x467390
jmp 0x416155
mov ecx, esi
mov dword [ebp - 0x1c], 0x400
call fcn.00413ba0
cmp eax, 0x400
jae 0x4163c7
mov ecx, esi
call fcn.00413ba0
mov dword [ebp - 0x1c], eax
xor edi, edi
cmp dword [esi + 4], edi
jne 0x4163d8
mov esi, str.CHttpPostStatT::CurrParamIsFile:_The_post_context_is_not_active.
call fcn.00412430
xor eax, eax
cmp dword [esi + 0x2c], edi
setne al
test eax, eax
je 0x416496
cmp dword [ebx + 0x11c], edi
jne 0x41640f
push 0xe000
call fcn.004434a5
add esp, 4
mov dword [ebx + 0x11c], eax
test eax, eax
jne 0x41640f
lea edi, [eax + 0x66]
call fcn.00412390
mov eax, esi
call fcn.00413b60
mov dword [ebp - 0x28], eax
lea esp, [esp]
mov esi, dword [ebp - 0x1c]
cmp edi, esi
jae 0x4164b0
sub esi, edi
cmp esi, 0xe000
jbe 0x41643a
mov esi, 0xe000
mov ecx, dword [ebx + 0x11c]
mov edx, dword [ebx + 0xf4]
push 0
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x28]
push esi
push ecx
mov ecx, dword [edx + eax*4 - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x416473
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
xor ecx, ecx
mov ebx, 0x25a
call fcn.00412480
cmp esi, dword [ebp - 0x24]
je 0x416482
mov edi, 0x69
call fcn.00412390
mov edx, dword [ebx + 0x11c]
push 1
push edx
mov eax, esi
call fcn.00414cc0
add edi, esi
jmp 0x416420
mov eax, esi
call fcn.00413b80
mov ecx, dword [ebx + 0xfc]
add ecx, eax
mov eax, dword [ebp - 0x1c]
push 1
push ecx
call fcn.00414cc0
lea ecx, [ebx + 0xbc]
call fcn.00413ba0
test eax, eax
jne 0x41615c
mov edx, 0x467390
jmp 0x416155