Function at 0x41b1b0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e07c0
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [0x6b000c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x28], edi
cmp dword [edi + 0x90], 0
je 0x41b5f7
cmp dword [edi + 0xd4], 0
je 0x41b601
cmp dword [edi + 0xdc], 0
je 0x41b60b
cmp dword [edi + 0xe4], 0
je 0x41b615
mov dword [ebp - 4], 0
lea ebx, [edi + 0x8c]
mov ecx, ebx
call fcn.00418530
mov esi, eax
mov ecx, ebx
call fcn.00418550
cmp esi, eax
jne 0x41b25b
mov ecx, dword [edi + 0xe4]
call fcn.00416720
mov ecx, edi
call fcn.0041b660
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 [edi + 0xc]
mov esi, 0x63e24c
test eax, eax
cmovne esi, eax
mov dword [ebp - 0x18], esi
mov ecx, ebx
call fcn.00418570
test eax, eax
jne 0x41b2af
push ecx
push str._r_n__
mov ecx, edi
call fcn.0041a470
push ecx
push esi
mov ecx, edi
call fcn.0041a470
push ecx
push str.___r_n
mov ecx, edi
call fcn.0041a470
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 ecx, ebx
call fcn.00418680
mov ecx, ebx
test eax, eax
je 0x41b4dc
call fcn.00418570
mov esi, eax
mov ecx, ebx
call fcn.00418590
cmp esi, eax
jne 0x41b2e5
push ecx
push 0x6432e8
mov ecx, edi
call fcn.0041a470
push ecx
push dword [ebp - 0x18]
jmp 0x41b285
mov ecx, ebx
call fcn.00418590
mov dword [ebp - 0x2c], eax
mov ecx, ebx
call fcn.004185d0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 0
mov esi, dword [edi + 0x30]
mov esi, dword [esi]
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x2c]
cmp ecx, edx
jae 0x41b347
inc ecx
mov dword [ebp - 0x30], ecx
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x41b33b
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x41b337
cmp esi, dword [eax + 8]
jne 0x41b337
mov esi, eax
jmp 0x41b325
mov esi, eax
jmp 0x41b314
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x41b314
jmp 0x41b33b
test byte [esi + 0x18], 1
je 0x41b3f7
mov edx, dword [esi + 0x14]
mov dword [ebp - 0x1c], edx
mov eax, dword [edi + 0xc4]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [eax + ecx*4]
cmp ecx, 0xffffffff
je 0x41b370
call fcn.00416790
mov dword [ebp - 0x14], eax
push ecx
push 0x6432e8
mov ecx, edi
call fcn.0041a470
push ecx
push dword [ebp - 0x18]
mov ecx, edi
call fcn.0041a470
push ecx
push 0x63cfec
mov ecx, edi
call fcn.0041a470
push ecx
push str.Content_Disposition:_form_data__name_
mov ecx, edi
call fcn.0041a470
push ecx
push dword [esi + 0x10]
push dword [edi + 0x18]
mov ecx, edi
call fcn.0041a510
push ecx
push str.___filename_
mov ecx, edi
call fcn.0041a470
push ecx
push dword [ebp - 0x1c]
push dword [edi + 0x18]
mov ecx, edi
call fcn.0041a510
push ecx
push str.__r_nContent_Type:
mov ecx, edi
call fcn.0041a470
push ecx
mov eax, dword [edi + 0xc8]
mov ecx, dword [ebp - 0x20]
push dword [eax + ecx*4]
mov ecx, edi
call fcn.0041a470
push ecx
push str._r_n_r_n
jmp 0x41b4a9
mov eax, dword [esi + 0x14]
test eax, eax
je 0x41b451
cmp word [eax], 0
je 0x41b451
cmp dword [edi + 0x18], 0
je 0x41b41a
push eax
call fcn.0041a190
mov edx, 1
mov dword [ebp - 0x20], edx
jmp 0x41b429
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, edi
call fcn.0041a040
mov edx, dword [ebp - 0x20]
mov ebx, eax
mov ecx, ebx
lea eax, [ecx + 1]
mov dword [ebp - 0x2c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b433
sub ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
push edx
push ebx
mov ecx, edi
call fcn.0041a320
lea ebx, [edi + 0x8c]
jmp 0x41b463
push 0
push 0
mov ecx, edi
call fcn.0041a320
mov dword [ebp - 0x14], 0
push ecx
push 0x6432e8
mov ecx, edi
call fcn.0041a470
push ecx
push dword [ebp - 0x18]
mov ecx, edi
call fcn.0041a470
push ecx
push 0x63cfec
mov ecx, edi
call fcn.0041a470
push ecx
push str.Content_Disposition:_form_data__name_
mov ecx, edi
call fcn.0041a470
push ecx
push dword [esi + 0x10]
push dword [edi + 0x18]
mov ecx, edi
call fcn.0041a510
push ecx
push str.__r_n_r_n
mov ecx, edi
call fcn.0041a470
push dword [ebp - 0x1c]
mov eax, dword [esi + 0x18]
and eax, 1
push eax
push dword [ebp - 0x14]
push dword [esi + 0x10]
mov ecx, ebx
call fcn.00418a80
cmp dword [ebp - 0x14], 0
jne 0x41b299
push ecx
push 0x63cfec
jmp 0x41b292
mov esi, 0x400
mov dword [ebp - 0x20], esi
call fcn.00418630
cmp eax, esi
jae 0x41b4f9
mov ecx, ebx
call fcn.00418630
mov esi, eax
mov dword [ebp - 0x20], esi
xor ebx, ebx
mov dword [ebp - 0x24], ebx
lea ecx, [edi + 0x8c]
call fcn.00418650
test eax, eax
je 0x41b59f
cmp dword [edi + 0xec], ebx
jne 0x41b534
push 0xe000
call fcn.005a59ed
add esp, 4
mov dword [edi + 0xec], eax
test eax, eax
je 0x41b61f
lea ecx, [edi + 0x8c]
call fcn.004185d0
lea ecx, [eax - 1]
mov dword [ebp - 0x1c], ecx
mov eax, 0xe000
cmp ebx, esi
jae 0x41b5be
sub esi, ebx
cmp esi, eax
cmova esi, eax
push 0
lea eax, [ebp - 0x2c]
push eax
push esi
push dword [edi + 0xec]
mov eax, dword [edi + 0xc4]
push dword [eax + ecx*4]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x41b629
cmp esi, dword [ebp - 0x2c]
jne 0x41b63d
push 1
push esi
push dword [edi + 0xec]
mov ecx, edi
call fcn.0041a390
add ebx, esi
mov dword [ebp - 0x24], ebx
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
jmp 0x41b545
push 1
push esi
lea ecx, [edi + 0x8c]
call fcn.00418610
add eax, dword [edi + 0xcc]
push eax
mov ecx, edi
call fcn.0041a390
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x8c]
call fcn.00418630
test eax, eax
jne 0x41b5da
push ecx
push 0x63cfec
mov ecx, edi
call fcn.0041a470
mov dword [ebp - 4], 0xffffffff
jmp 0x41b299
mov ecx, 0x68
call fcn.00415c40
mov ecx, str.CHttpClientT::_ProceedUploadContext:_m_hInternet_can_not_be_NULL.
call fcn.00415d00
mov ecx, str.CHttpClientT::_ProceedUploadContext:_m_hConnection_can_not_be_NULL.
call fcn.00415d00
mov ecx, str.CHttpClientT::_ProceedUploadContext:_m_hRequest_can_not_be_NULL.
call fcn.00415d00
mov ecx, 0x66
call fcn.00415c40
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov ecx, 0x25a
call fcn.00415d30
mov ecx, 0x69
call fcn.00415c40
mov ecx, dword [ebp - 0x28]
call fcn.0041b940
mov ecx, dword [ebp - 0x34]
call fcn.00415f90
int3