Function at 0x40ed1f
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xdc
mov eax, dword [0x439740]
xor eax, esp
mov dword [esp + 0xd4], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0xf4]
mov ebp, edx
mov edx, dword [esp + 0xf0]
mov esi, ecx
push ecx
lea ecx, [esp + 0xb8]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], esi
call fcn.0040f37b
xor ebx, ebx
pop ecx
cmp dword [esp + 0xc4], ebx
je 0x40f1cf
cmp dword [edi + 0x14], 0x10
mov dword [edi + 0x10], ebx
jb 0x40ed7b
mov eax, dword [edi]
jmp 0x40ed7d
mov eax, edi
mov byte [eax], bl
mov eax, dword [esi]
mov esi, dword [eax]
mov dword [esp + 0x18], esi
cmp esi, eax
je 0x40eef8
mov ebp, dword [esp + 0x20]
lea eax, [esp + 0xb4]
mov edx, 0x43673c
push 0x435f70
push eax
lea ecx, [esp + 0x5c]
call fcn.0040f709
pop ecx
mov edx, eax
lea ecx, [esp + 0x70]
call fcn.0040cddf
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.00408e37
push ebx
push 1
lea ecx, [esp + 0x74]
call fcn.004093dc
push ebx
push 1
lea ecx, [esp + 0x5c]
call fcn.004093dc
push ecx
lea edx, [esi + 0x28]
lea ecx, [esp + 0x58]
call fcn.0040f37b
lea edx, [esi + 0x10]
lea ecx, [esp + 0x70]
call fcn.0040f37b
mov dword [esp], str.Content_Disposition:_form_data__name_
call fcn.00401278
pop ecx
push eax
push ecx
push ecx
lea ecx, [esp + 0x78]
call fcn.0040f756
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x54], 0xf
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
call fcn.00408dec
mov esi, str.__r_n_r_n
push esi
call fcn.00401278
pop ecx
push eax
push esi
lea ecx, [esp + 0x44]
call fcn.00408edd
push eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
call fcn.00408dec
lea eax, [esp + 0x54]
push 0x435f70
push eax
lea edx, [esp + 0x2c]
lea ecx, [esp + 0xa4]
call fcn.0040ce08
pop ecx
mov edx, eax
lea ecx, [esp + 0x88]
call fcn.0040cddf
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.00408e37
push ebx
push 1
lea ecx, [esp + 0x8c]
call fcn.004093dc
push ebx
push 1
lea ecx, [esp + 0xa4]
call fcn.004093dc
push ebx
push 1
lea ecx, [esp + 0x2c]
call fcn.004093dc
push ebx
push 1
lea ecx, [esp + 0x44]
call fcn.004093dc
push ebx
push 1
lea ecx, [esp + 0x74]
call fcn.004093dc
push ebx
push 1
lea ecx, [esp + 0x5c]
call fcn.004093dc
lea ecx, [esp + 0x18]
call fcn.00409bc0
mov esi, dword [esp + 0x18]
cmp esi, dword [ebp]
jne 0x40ed93
mov ebp, dword [esp + 0x1c]
mov eax, dword [ebp]
mov esi, dword [eax]
mov dword [esp + 0x18], esi
cmp esi, eax
je 0x40f11f
lea edx, [esp + 0x24]
mov dword [esp + 0x24], ebx
lea ecx, [esi + 0x28]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
call fcn.0040f1d5
test al, al
je 0x40f1bf
push ecx
lea edx, [esi + 0x28]
lea ecx, [esp + 0x70]
call fcn.0040f37b
pop ecx
cmp dword [esp + 0x7c], ebx
je 0x40f1b3
push ecx
lea edx, [esi + 0x10]
lea ecx, [esp + 0x58]
call fcn.0040f37b
pop ecx
cmp dword [esp + 0x64], ebx
je 0x40f1a7
mov ebp, 0x435f70
lea eax, [esp + 0xb4]
push ebp
push eax
mov edx, 0x43673c
lea ecx, [esp + 0x8c]
call fcn.0040f709
pop ecx
mov edx, eax
lea ecx, [esp + 0xa0]
call fcn.0040cddf
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.00408e37
push ebx
push 1
lea ecx, [esp + 0xa4]
call fcn.004093dc
push ebx
push 1
lea ecx, [esp + 0x8c]
call fcn.004093dc
lea eax, [esp + 0x54]
mov edx, str.Content_Disposition:_form_data__name_
push str.___filename_
push eax
lea ecx, [esp + 0xd4]
call fcn.0040f709
pop ecx
mov edx, eax
lea ecx, [esp + 0xa0]
call fcn.0040cddf
pop ecx
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x74]
push ecx
mov ecx, eax
call fcn.00408e37
push 0xf
pop esi
push eax
lea ecx, [esp + 0x88]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
call fcn.00408dec
push 0x436770
call fcn.00401278
pop ecx
push eax
push 0x436770
lea ecx, [esp + 0x8c]
call fcn.00408edd
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
call fcn.00408dec
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x44]
mov ecx, edi
push eax
call fcn.00408e37
push ebx
push 1
lea ecx, [esp + 0x44]
call fcn.004093dc
push ebx
push 1
lea ecx, [esp + 0x8c]
call fcn.004093dc
push ebx
push 1
lea ecx, [esp + 0xa4]
call fcn.004093dc
push ebx
push 1
lea ecx, [esp + 0xd4]
call fcn.004093dc
mov esi, str.Content_Type:_application_octet_stream_r_n
push esi
call fcn.00401278
pop ecx
push eax
push esi
mov ecx, edi
call fcn.00408edd
push ebp
call fcn.00401278
pop ecx
push eax
push ebp
mov ecx, edi
call fcn.00408edd
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
cmp esi, eax
je 0x40f0c7
sub eax, esi
mov ecx, edi
push eax
push esi
call fcn.00408edd
push ebp
call fcn.00401278
pop ecx
push eax
push ebp
mov ecx, edi
call fcn.00408edd
push ebx
push 1
lea ecx, [esp + 0x5c]
call fcn.004093dc
push ebx
push 1
lea ecx, [esp + 0x74]
call fcn.004093dc
test esi, esi
je 0x40f106
push esi
call fcn.00411d35
pop ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
lea ecx, [esp + 0x18]
call fcn.00409bc0
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
cmp esi, dword [eax]
jne 0x40ef09
lea eax, [esp + 0xb4]
mov edx, 0x43673c
push str.___r_n
push eax
lea ecx, [esp + 0xa4]
call fcn.0040f709
pop ecx
mov edx, eax
lea ecx, [esp + 0xd0]
call fcn.0040cddf
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.00408e37
push ebx
push 1
lea ecx, [esp + 0xd4]
call fcn.004093dc
push ebx
push 1
lea ecx, [esp + 0xa4]
call fcn.004093dc
mov byte [esp + 0x17], 1
push ebx
push 1
lea ecx, [esp + 0xbc]
call fcn.004093dc
mov ecx, dword [esp + 0xe4]
mov al, byte [esp + 0x17]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00410465
add esp, 0xdc
ret
push ebx
push 1
lea ecx, [esp + 0x5c]
call fcn.004093dc
push ebx
push 1
lea ecx, [esp + 0x74]
call fcn.004093dc
cmp dword [esp + 0x24], ebx
je 0x40f1cf
push dword [esp + 0x24]
call fcn.00411d35
pop ecx
mov byte [esp + 0x17], bl
jmp 0x40f17b