Function at 0x40e9a0
Capabilities:
Delete file
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x624
mov eax, dword [0x452004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x5d4], edi
test edi, edi
je 0x40f580
xorps xmm0, xmm0
mov dword [ebp - 0x5e0], 0
push 0
mov dword [ebp - 0x5cc], 0
mov dword [ebp - 0x5d0], 0
movlpd qword [ebp - 0x5c8], xmm0
movlpd qword [ebp - 0x5c0], xmm0
movups xmmword [ebp - 0x5b8], xmm0
mov dword [ebp - 0x5dc], 0
mov dword [ebp - 0x5ec], 0
mov dword [ebp - 0x5e8], 0
mov dword [ebp - 0x5e4], 0
call fcn.00427b7f
add esp, 4
mov dword [ebp - 0x5a0], eax
mov dword [ebp - 0x59c], edx
mov byte [ebp - 0x150], 0
push 0x3f
push dword [edi + 4]
call fcn.00423340
add esp, 8
mov dword [edi + 0x14], eax
test eax, eax
je 0x40ea5d
mov byte [eax], 0
inc dword [edi + 0x14]
mov ecx, dword [edi + 8]
mov esi, ecx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x40ea65
mov ebx, dword [edi + 0x270]
sub esi, edx
mov dword [ebp - 0x5d8], esi
test ebx, ebx
je 0x40eadd
mov ebx, dword [ebx + 0x88]
mov edi, 0x44ae98
nop dword [eax]
movzx eax, byte [edi]
push eax
call fcn.0042908c
movzx ecx, byte [ebx]
add esp, 4
mov esi, eax
push ecx
call fcn.0042908c
add esp, 4
lea edi, [edi + 1]
lea ebx, [ebx + 1]
sub eax, esi
jne 0x40eab9
cmp byte [ebx - 1], al
jne 0x40ea90
mov edi, dword [ebp - 0x5d4]
mov ecx, dword [edi + 8]
test eax, eax
jne 0x40eadd
mov edx, dword [ebp - 0x5d8]
push ecx
lea eax, [edx + 1]
push eax
push ecx
call fcn.00408cc0
mov ecx, dword [edi + 8]
add esp, 0xc
mov al, byte [ecx]
mov edx, ecx
test al, al
je 0x40eb2b
inc ecx
mov byte [edx], al
inc edx
mov al, byte [ecx - 1]
cmp al, 0x2f
je 0x40eaf4
cmp al, 0x5c
jne 0x40eb25
mov al, byte [ecx]
test al, al
je 0x40eb25
nop word [eax + eax]
cmp al, 0x2f
je 0x40eb18
cmp al, 0x5c
je 0x40eb18
cmp al, 0x2e
jne 0x40eb25
cmp byte [ecx + 1], al
jne 0x40eb25
mov eax, 2
jmp 0x40eb1d
mov eax, 1
add ecx, eax
mov al, byte [ecx]
test al, al
jne 0x40eb00
mov al, byte [ecx]
test al, al
jne 0x40eae5
mov byte [edx], 0
cmp byte [edi + 0x2a0], 0
jne 0x40eccf
cmp byte [edi + 0x2a1], 0
je 0x40eccf
mov ebx, dword [edi + 0x270]
test ebx, ebx
je 0x40ec9b
xor edx, edx
nop dword [eax + eax]
cmp edx, dword [ebx + 0xdc]
jae 0x40ec9b
mov eax, dword [ebx + 0xd4]
lea ecx, [edx + edx*4]
or esi, 0xffffffff
cmp byte [eax + ecx*8 + 0x24], 0
cmovne esi, edx
inc edx
cmp esi, 0xffffffff
je 0x40eb60
test esi, esi
js 0x40ec9b
mov edx, str.Host
mov ecx, edi
call fcn.004065d0
mov ebx, eax
mov dword [ebp - 0x5cc], esi
test ebx, ebx
je 0x40ebf6
cmp byte [ebx], 0
lea ecx, [ebp - 0x598]
mov edx, 0x401
je 0x40ebd2
mov eax, ecx
mov dword [ebp - 0x5cc], esi
sub ebx, eax
cmp edx, 1
jbe 0x40ebd2
mov al, byte [ebx + ecx]
dec edx
mov byte [ecx], al
inc ecx
cmp byte [ebx + ecx], 0
jne 0x40ebc0
lea eax, [ebp - 0x598]
mov byte [ecx], 0
push 0x3a
push eax
mov byte [ebp - 0x198], 0
call fcn.00423340
add esp, 8
test eax, eax
je 0x40ec34
mov byte [eax], 0
jmp 0x40ec34
lea eax, [edi + 0x280]
mov byte [ebp - 0x598], 0
test eax, eax
je 0x40ec34
cmp word [eax], 2
mov dword [ebp - 0x5cc], esi
jne 0x40ec34
push 2
push 0
push 0
push 0x401
lea ecx, [ebp - 0x598]
push ecx
push 0x10
push eax
call dword [sym.imp.WS2_32.dll_getnameinfo]
mov dword [ebp - 0x5cc], esi
mov ecx, dword [edi + 0x14]
mov edx, 0x44a7a0
test ecx, ecx
mov eax, edx
cmovne eax, ecx
mov ecx, dword [ebp - 0x5cc]
push eax
mov eax, 0x44d4c0
cmovne edx, eax
mov eax, dword [edi + 0x270]
push edx
push dword [edi + 8]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + 0xd4]
movzx eax, word [eax + ecx*8 + 6]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
push eax
lea eax, [ebp - 0x598]
push eax
push str.HTTP_1.1_302_Found_r_nLocation:_https:___s:_d_s_s_s_r_n_r_n
push edi
call fcn.00408ca0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00422702
mov esp, ebp
pop ebp
ret
push str.Error:_SSL_forward_not_configured_properly
push 0x44a068
push 0x1f7
push edi
call fcn.00406f20
push str.Can_not_redirect_to_SSL__no_SSL_port_available
push edi
call fcn.00406360
add esp, 0x18
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00422702
mov esp, ebp
pop ebp
ret
push dword [edi + 0x294]
call dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [edi + 0x270]
mov edx, eax
push dword [edi + 8]
mov ecx, dword [ecx + 0x24]
call fcn.0040e5a0
mov dword [edi + 0x304], eax
add esp, 4
mov eax, dword [edi + 0x270]
mov eax, dword [eax + 0x9c]
test eax, eax
je 0x40ed2e
push edi
call eax
add esp, 4
test eax, eax
jle 0x40ed28
mov dword [edi + 0x300], eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00422702
mov esp, ebp
pop ebp
ret
jne 0x40f580
lea eax, [ebp - 0x5ec]
mov dword [ebp - 0x5d4], 0
push eax
push 0
lea eax, [ebp - 0x5f0]
xor edx, edx
push eax
lea eax, [ebp - 0x5f4]
mov ecx, edi
push eax
lea eax, [ebp - 0x5f8]
push eax
lea eax, [ebp - 0x5fc]
push eax
lea eax, [ebp - 0x5dc]
push eax
call fcn.0040e790
add esp, 0x1c
test eax, eax
je 0x40ed94
mov esi, 1
mov ecx, edi
mov dword [ebp - 0x5cc], esi
call fcn.00408dc0
mov ebx, dword [ebp - 0x5dc]
mov dword [ebp - 0x5d0], eax
jmp 0x40edd0
mov ebx, dword [ebp - 0x5dc]
lea eax, [ebp - 0x5d0]
xor esi, esi
push eax
lea eax, [ebp - 0x5d4]
push eax
lea eax, [ebp - 0x5cc]
push eax
lea eax, [ebp - 0x5e0]
push eax
lea eax, [ebp - 0x5c8]
push eax
push ecx
lea edx, [ebp - 0x150]
mov ecx, edi
call fcn.00408eb0
add esp, 0x18
lea eax, [ebp - 0x5e4]
mov edx, 2
push eax
lea eax, [ebp - 0x5e8]
mov ecx, edi
push eax
push 0
push 0
push 0
push 0
push 0
call fcn.0040e790
add esp, 0x1c
test eax, eax
je 0x40ee15
push dword [ebp - 0x5e4]
push edi
call dword [ebp - 0x5e8]
add esp, 8
test eax, eax
je 0x40f580
jmp 0x40ee40
cmp dword [ebp - 0x5d0], 0
je 0x40ee2b
cmp dword [ebp - 0x5cc], 0
jne 0x40ee2b
test esi, esi
je 0x40eea4
lea edx, [ebp - 0x150]
mov ecx, edi
call fcn.00409c80
test eax, eax
je 0x40f579
test esi, esi
je 0x40ef21
cmp dword [ebp - 0x5d4], 0
jne 0x40f580
push dword [ebp - 0x5ec]
push edi
call ebx
add esp, 8
test eax, eax
jg 0x40ef7c
lea eax, [ebp - 0x5d0]
push eax
lea eax, [ebp - 0x5d4]
push eax
lea eax, [ebp - 0x5cc]
push eax
lea eax, [ebp - 0x5e0]
push eax
lea eax, [ebp - 0x5c8]
push eax
push ecx
lea edx, [ebp - 0x150]
mov ecx, edi
call fcn.00408eb0
add esp, 0x18
xor ebx, ebx
jmp 0x40ed9a
mov eax, dword [edi + 0x270]
cmp dword [eax + 0x4c], 0
je 0x40ef56
mov edx, dword [eax + 0x10]
xorps xmm0, xmm0
movlpd qword [ebp - 0x620], xmm0
movlpd qword [ebp - 0x618], xmm0
movups xmmword [ebp - 0x610], xmm0
test edx, edx
je 0x40f579
lea eax, [ebp - 0x620]
mov ecx, edi
push eax
push 0x44a9e4
call fcn.004061b0
add esp, 8
test eax, eax
je 0x40f579
lea edx, [ebp - 0x620]
mov ecx, edi
call fcn.00409be0
mov ecx, dword [ebp - 0x610]
mov esi, eax
test ecx, ecx
je 0x40ef19
push ecx
call fcn.00427930
add esp, 4
test esi, esi
je 0x40f579
mov eax, dword [edi + 0x270]
cmp dword [eax + 0x4c], 0
jne 0x40ef9a
push str.Not_Found
push 0x44a068
push 0x194
push edi
call fcn.00406f20
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00422702
mov esp, ebp
pop ebp
ret
push dword [edi]
push str._s_method_not_allowed
push 0x195
push edi
call fcn.00406f20
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00422702
mov esp, ebp
pop ebp
ret
mov ecx, edi
mov dword [edi + 0x300], eax
call fcn.00408490
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00422702
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x5cc], 0
je 0x40efcb
lea eax, [ebp - 0x5c8]
mov ecx, edi
push eax
lea edx, [ebp - 0x150]
call fcn.0040f5a0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00422702
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x5d0], 0
je 0x40f1ed
mov esi, dword [edi]
mov ecx, 0x44b800
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40f001
test dl, dl
je 0x40effd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40f001
add eax, 2
add ecx, 2
test dl, dl
jne 0x40efe1
xor eax, eax
jmp 0x40f006
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40f028
lea edx, [ebp - 0x150]
mov ecx, edi
call fcn.0040d6a0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00422702
mov esp, ebp
pop ebp
ret
mov ecx, str.DELETE
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40f050
test dl, dl
je 0x40f04c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40f050
add eax, 2
add ecx, 2
test dl, dl
jne 0x40f030
xor eax, eax
jmp 0x40f055
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40f194
xorps xmm0, xmm0
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x150]
mov ecx, edi
movups xmmword [ebp - 0x28], xmm0
movups xmmword [ebp - 0x18], xmm0
call fcn.004074d0
add esp, 4
test eax, eax
jne 0x40f096
lea eax, [ebp - 0x150]
push eax
push str.Error:_Cannot_delete_file_nFile__s_not_found
push 0x194
jmp 0x40ef62
cmp dword [ebp - 0x14], 0
je 0x40f0ad
lea eax, [ebp - 0x150]
push eax
push str.Error:_Delete_not_possible_nDeleting__s_is_not_supported
jmp 0x40ef5d
cmp dword [ebp - 0x10], 0
je 0x40f0f3
lea edx, [ebp - 0x150]
mov ecx, edi
call fcn.0040a6e0
test eax, eax
je 0x40f0db
mov edx, 0x44a7a0
mov ecx, 0x44a068
push edx
mov eax, 0xcc
push ecx
push eax
jmp 0x40ef62
lea edx, [ebp - 0x150]
mov ecx, str.Error:_Could_not_delete__s
push edx
mov eax, 0x1f4
push ecx
push eax
jmp 0x40ef62
lea eax, [ebp - 0x150]
push 2
push eax
call fcn.0042ba8e
add esp, 8
test eax, eax
je 0x40f11e
lea eax, [ebp - 0x150]
push eax
push str.Error:_Delete_not_possible_nDeleting__s_is_not_allowed
push 0x193
jmp 0x40ef62
push ecx
lea eax, [ebp - 0x3a0]
push eax
lea edx, [ebp - 0x150]
call fcn.00407330
add esp, 8
lea eax, [ebp - 0x3a0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x40f159
push 0x44a7a0
push 0x44a068
push 0xcc
jmp 0x40ef62
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00431e66
add esp, 4
push eax
lea eax, [ebp - 0x150]
push eax
push str.Error:_Cannot_delete_file_nremove__s_:__s
push 0x1a7
push edi
call fcn.00406f20
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00422702
mov esp, ebp
pop ebp
ret
mov ecx, str.MKCOL
mov eax, esi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40f1c0
test dl, dl
je 0x40f1bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40f1c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x40f1a0
xor eax, eax
jmp 0x40f1c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40f1e7
lea edx, [ebp - 0x150]
mov ecx, edi
call fcn.0040d420
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00422702
mov esp, ebp
pop ebp
ret
push esi
jmp 0x40ef58
cmp dword [ebp - 0x5e0], 0
je 0x40f565
test eax, eax
je 0x40f252
mov esi, dword [eax + 0x60]
mov edx, 0xc
lea eax, [ebp - 0x150]
mov ecx, str..htpasswd_
push eax
call fcn.00406820
add esp, 4
test eax, eax
jg 0x40f565
test esi, esi
je 0x40f252
mov edx, esi
lea ecx, [edx + 1]
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x40f230
lea eax, [ebp - 0x150]
sub edx, ecx
push eax
mov ecx, esi
call fcn.00406820
add esp, 4
test eax, eax
jg 0x40f565
mov ebx, dword [ebp - 0x5b0]
test ebx, ebx
je 0x40f310
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x5d8]
cmp byte [eax + ecx - 1], 0x2f
je 0x40f310
lea eax, [ebp - 0x5a0]
push eax
call fcn.0042ab9a
add esp, 4
test eax, eax
je 0x40f2a0
push eax
push str._a___d__b__Y__H:_M:_S_GMT
lea eax, [ebp - 0x190]
push 0x40
push eax
call fcn.0042a8be
add esp, 0x10
jmp 0x40f2d0
lea ecx, [ebp - 0x190]
mov esi, str.Thu__01_Jan_1970_00:00:00_GMT
mov eax, ecx
mov edx, 0x40
sub esi, eax
cmp edx, 1
jbe 0x40f2c6
mov al, byte [esi + ecx]
dec edx
mov byte [ecx], al
inc ecx
cmp byte [esi + ecx], 0
jne 0x40f2b4
mov byte [ecx], 0
mov byte [ebp - 0x151], 0
mov ecx, edi
call fcn.00406980
test eax, eax
mov edx, str.close
mov ecx, str.keep_alive
lea eax, [ebp - 0x190]
cmove ecx, edx
push ecx
push eax
push dword [edi + 4]
push str.HTTP_1.1_301_Moved_Permanently_r_nLocation:__s__r_nDate:__s_r_nContent_Length:_0_r_nConnection:__s_r_n_r_n
push edi
call fcn.00408ca0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00422702
mov esp, ebp
pop ebp
ret
mov esi, dword [edi]
mov ecx, str.PROPFIND
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40f340
test dl, dl
je 0x40f33c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40f340
add eax, 2
add ecx, 2
test dl, dl
jne 0x40f320
xor eax, eax
jmp 0x40f345
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40f371
lea eax, [ebp - 0x5c8]
mov ecx, edi
push eax
lea edx, [ebp - 0x150]
call fcn.0040e250
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00422702
mov esp, ebp
pop ebp
ret
mov ecx, str.OPTIONS
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40f398
test dl, dl
je 0x40f394
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40f398
add eax, 2
add ecx, 2
test dl, dl
jne 0x40f378
xor eax, eax
jmp 0x40f39d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40f45b
push eax
call fcn.00427b7f
add esp, 4
mov dword [ebp - 0x5a8], eax
lea eax, [ebp - 0x5a8]
mov dword [ebp - 0x5a4], edx
mov dword [edi + 0x300], 0xc8
mov dword [edi + 0x2e8], 1
push eax
call fcn.0042ab9a
add esp, 4
test eax, eax
je 0x40f3f7
push eax
push str._a___d__b__Y__H:_M:_S_GMT
lea eax, [ebp - 0x48]
push 0x40
push eax
call fcn.0042a8be
add esp, 0x10
jmp 0x40f421
lea ecx, [ebp - 0x48]
mov esi, str.Thu__01_Jan_1970_00:00:00_GMT
mov eax, ecx
mov edx, 0x40
sub esi, eax
cmp edx, 1
jbe 0x40f41a
mov al, byte [esi + ecx]
dec edx
mov byte [ecx], al
inc ecx
cmp byte [esi + ecx], 0
jne 0x40f408
mov byte [ecx], 0
mov byte [ebp - 9], 0
mov ecx, edi
call fcn.00406980
test eax, eax
mov edx, str.close
mov ecx, str.keep_alive
lea eax, [ebp - 0x48]
cmove ecx, edx
push ecx
push eax
push str.HTTP_1.1_200_OK_r_nDate:__s_r_nConnection:__s_r_nAllow:_GET__POST__HEAD__CONNECT__PUT__DELETE__OPTIONS__PROPFIND__MKCOL_r_nDAV:_1_r_n_r_n
push edi
call fcn.00408ca0
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00422702
mov esp, ebp
pop ebp
ret
mov ecx, 0x44c618
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40f482
test dl, dl
je 0x40f47e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40f482
add eax, 2
add ecx, 2
test dl, dl
jne 0x40f462
xor eax, eax
jmp 0x40f487
sbb eax, eax
or eax, 1
test eax, eax
je 0x40f4bf
mov ecx, str.HEAD
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40f4b2
test dl, dl
je 0x40f4ae
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40f4b2
add eax, 2
add ecx, 2
test dl, dl
jne 0x40f492
xor eax, eax
jmp 0x40f4b7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40f1e7
test ebx, ebx
je 0x40efa3
lea eax, [ebp - 0x5c8]
push eax
push ecx
lea edx, [ebp - 0x150]
mov ecx, edi
call fcn.0040be00
add esp, 8
test eax, eax
jne 0x40efa3
mov eax, dword [edi + 0x270]
mov ecx, 0x44ae98
mov dword [ebp - 0x5d8], ecx
mov ebx, dword [eax + 0x2c]
nop dword [eax + eax]
movzx eax, byte [ecx]
push eax
call fcn.0042908c
movzx ecx, byte [ebx]
add esp, 4
mov esi, eax
push ecx
call fcn.0042908c
mov ecx, dword [ebp - 0x5d8]
lea ebx, [ebx + 1]
inc ecx
add esp, 4
mov dword [ebp - 0x5d8], ecx
sub eax, esi
jne 0x40f551
cmp byte [ebx - 1], al
jne 0x40f500
lea edx, [ebp - 0x150]
mov ecx, edi
call fcn.0040aa10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00422702
mov esp, ebp
pop ebp
ret
push str.Error:_Directory_listing_denied
push 0x44a068
push 0x193
jmp 0x40ef62
push str.Not_found
push 0x44a068
push 0x194
jmp 0x40ef62
mov ecx, edi
call fcn.00409f70
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00422702
mov esp, ebp
pop ebp
ret