Function at 0x40eb10
Capabilities:
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x624
mov eax, dword [0x454004]
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 0x40f6f0
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.0042933f
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.004248a0
add esp, 8
mov dword [edi + 0x14], eax
test eax, eax
je 0x40ebcd
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 0x40ebd5
mov ebx, dword [edi + 0x270]
sub esi, edx
mov dword [ebp - 0x5d8], esi
test ebx, ebx
je 0x40ec4d
mov ebx, dword [ebx + 0x88]
mov edi, 0x44cec8
nop dword [eax]
movzx eax, byte [edi]
push eax
call fcn.0042a73c
movzx ecx, byte [ebx]
add esp, 4
mov esi, eax
push ecx
call fcn.0042a73c
add esp, 4
lea edi, [edi + 1]
lea ebx, [ebx + 1]
sub eax, esi
jne 0x40ec29
cmp byte [ebx - 1], al
jne 0x40ec00
mov edi, dword [ebp - 0x5d4]
mov ecx, dword [edi + 8]
test eax, eax
jne 0x40ec4d
mov edx, dword [ebp - 0x5d8]
push ecx
lea eax, [edx + 1]
push eax
push ecx
call fcn.00408e40
mov ecx, dword [edi + 8]
add esp, 0xc
mov al, byte [ecx]
mov edx, ecx
test al, al
je 0x40ec9b
inc ecx
mov byte [edx], al
inc edx
mov al, byte [ecx - 1]
cmp al, 0x2f
je 0x40ec64
cmp al, 0x5c
jne 0x40ec95
mov al, byte [ecx]
test al, al
je 0x40ec95
nop word [eax + eax]
cmp al, 0x2f
je 0x40ec88
cmp al, 0x5c
je 0x40ec88
cmp al, 0x2e
jne 0x40ec95
cmp byte [ecx + 1], al
jne 0x40ec95
mov eax, 2
jmp 0x40ec8d
mov eax, 1
add ecx, eax
mov al, byte [ecx]
test al, al
jne 0x40ec70
mov al, byte [ecx]
test al, al
jne 0x40ec55
mov byte [edx], 0
cmp byte [edi + 0x2a0], 0
jne 0x40ee3f
cmp byte [edi + 0x2a1], 0
je 0x40ee3f
mov ebx, dword [edi + 0x270]
test ebx, ebx
je 0x40ee0b
xor edx, edx
nop dword [eax + eax]
cmp edx, dword [ebx + 0xdc]
jae 0x40ee0b
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 0x40ecd0
test esi, esi
js 0x40ee0b
mov edx, str.Host
mov ecx, edi
call fcn.00406750
mov ebx, eax
mov dword [ebp - 0x5cc], esi
test ebx, ebx
je 0x40ed66
cmp byte [ebx], 0
lea ecx, [ebp - 0x598]
mov edx, 0x401
je 0x40ed42
mov eax, ecx
mov dword [ebp - 0x5cc], esi
sub ebx, eax
cmp edx, 1
jbe 0x40ed42
mov al, byte [ebx + ecx]
dec edx
mov byte [ecx], al
inc ecx
cmp byte [ebx + ecx], 0
jne 0x40ed30
lea eax, [ebp - 0x598]
mov byte [ecx], 0
push 0x3a
push eax
mov byte [ebp - 0x198], 0
call fcn.004248a0
add esp, 8
test eax, eax
je 0x40eda4
mov byte [eax], 0
jmp 0x40eda4
lea eax, [edi + 0x280]
mov byte [ebp - 0x598], 0
test eax, eax
je 0x40eda4
cmp word [eax], 2
mov dword [ebp - 0x5cc], esi
jne 0x40eda4
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, 0x44c7d8
test ecx, ecx
mov eax, edx
cmovne eax, ecx
mov ecx, dword [ebp - 0x5cc]
push eax
mov eax, 0x44f4f0
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.00408e20
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423c62
mov esp, ebp
pop ebp
ret
push str.Error:_SSL_forward_not_configured_properly
push 0x44c068
push 0x1f7
push edi
call fcn.004070a0
push str.Can_not_redirect_to_SSL__no_SSL_port_available
push edi
call fcn.004064e0
add esp, 0x18
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423c62
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.0040e710
mov dword [edi + 0x304], eax
add esp, 4
mov eax, dword [edi + 0x270]
mov eax, dword [eax + 0x9c]
test eax, eax
je 0x40ee9e
push edi
call eax
add esp, 4
test eax, eax
jle 0x40ee98
mov dword [edi + 0x300], eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423c62
mov esp, ebp
pop ebp
ret
jne 0x40f6f0
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.0040e900
add esp, 0x1c
test eax, eax
je 0x40ef04
mov esi, 1
mov ecx, edi
mov dword [ebp - 0x5cc], esi
call fcn.00408f40
mov ebx, dword [ebp - 0x5dc]
mov dword [ebp - 0x5d0], eax
jmp 0x40ef40
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.00409030
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.0040e900
add esp, 0x1c
test eax, eax
je 0x40ef85
push dword [ebp - 0x5e4]
push edi
call dword [ebp - 0x5e8]
add esp, 8
test eax, eax
je 0x40f6f0
jmp 0x40efb0
cmp dword [ebp - 0x5d0], 0
je 0x40ef9b
cmp dword [ebp - 0x5cc], 0
jne 0x40ef9b
test esi, esi
je 0x40f014
lea edx, [ebp - 0x150]
mov ecx, edi
call fcn.00409e00
test eax, eax
je 0x40f6e9
test esi, esi
je 0x40f091
cmp dword [ebp - 0x5d4], 0
jne 0x40f6f0
push dword [ebp - 0x5ec]
push edi
call ebx
add esp, 8
test eax, eax
jg 0x40f0ec
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.00409030
add esp, 0x18
xor ebx, ebx
jmp 0x40ef0a
mov eax, dword [edi + 0x270]
cmp dword [eax + 0x4c], 0
je 0x40f0c6
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 0x40f6e9
lea eax, [ebp - 0x620]
mov ecx, edi
push eax
push 0x44ca14
call fcn.00406330
add esp, 8
test eax, eax
je 0x40f6e9
lea edx, [ebp - 0x620]
mov ecx, edi
call fcn.00409d60
mov ecx, dword [ebp - 0x610]
mov esi, eax
test ecx, ecx
je 0x40f089
push ecx
call fcn.004290f0
add esp, 4
test esi, esi
je 0x40f6e9
mov eax, dword [edi + 0x270]
cmp dword [eax + 0x4c], 0
jne 0x40f10a
push str.Not_Found
push 0x44c068
push 0x194
push edi
call fcn.004070a0
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423c62
mov esp, ebp
pop ebp
ret
push dword [edi]
push str._s_method_not_allowed
push 0x195
push edi
call fcn.004070a0
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423c62
mov esp, ebp
pop ebp
ret
mov ecx, edi
mov dword [edi + 0x300], eax
call fcn.00408610
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423c62
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x5cc], 0
je 0x40f13b
lea eax, [ebp - 0x5c8]
mov ecx, edi
push eax
lea edx, [ebp - 0x150]
call fcn.0040f710
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423c62
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x5d0], 0
je 0x40f35d
mov esi, dword [edi]
mov ecx, 0x44d830
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40f171
test dl, dl
je 0x40f16d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40f171
add eax, 2
add ecx, 2
test dl, dl
jne 0x40f151
xor eax, eax
jmp 0x40f176
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40f198
lea edx, [ebp - 0x150]
mov ecx, edi
call fcn.0040d810
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423c62
mov esp, ebp
pop ebp
ret
mov ecx, str.DELETE
mov eax, esi
nop
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 0x40f304
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.00407650
add esp, 4
test eax, eax
jne 0x40f206
lea eax, [ebp - 0x150]
push eax
push str.Error:_Cannot_delete_file_nFile__s_not_found
push 0x194
jmp 0x40f0d2
cmp dword [ebp - 0x14], 0
je 0x40f21d
lea eax, [ebp - 0x150]
push eax
push str.Error:_Delete_not_possible_nDeleting__s_is_not_supported
jmp 0x40f0cd
cmp dword [ebp - 0x10], 0
je 0x40f263
lea edx, [ebp - 0x150]
mov ecx, edi
call fcn.0040a860
test eax, eax
je 0x40f24b
mov edx, 0x44c7d8
mov ecx, 0x44c068
push edx
mov eax, 0xcc
push ecx
push eax
jmp 0x40f0d2
lea edx, [ebp - 0x150]
mov ecx, str.Error:_Could_not_delete__s
push edx
mov eax, 0x1f4
push ecx
push eax
jmp 0x40f0d2
lea eax, [ebp - 0x150]
push 2
push eax
call fcn.0042d13e
add esp, 8
test eax, eax
je 0x40f28e
lea eax, [ebp - 0x150]
push eax
push str.Error:_Delete_not_possible_nDeleting__s_is_not_allowed
push 0x193
jmp 0x40f0d2
push ecx
lea eax, [ebp - 0x3a0]
push eax
lea edx, [ebp - 0x150]
call fcn.004074b0
add esp, 8
lea eax, [ebp - 0x3a0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x40f2c9
push 0x44c7d8
push 0x44c068
push 0xcc
jmp 0x40f0d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00433516
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.004070a0
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423c62
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 0x40f330
test dl, dl
je 0x40f32c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40f330
add eax, 2
add ecx, 2
test dl, dl
jne 0x40f310
xor eax, eax
jmp 0x40f335
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40f357
lea edx, [ebp - 0x150]
mov ecx, edi
call fcn.0040d590
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423c62
mov esp, ebp
pop ebp
ret
push esi
jmp 0x40f0c8
cmp dword [ebp - 0x5e0], 0
je 0x40f6d5
test eax, eax
je 0x40f3c2
mov esi, dword [eax + 0x60]
mov edx, 0xc
lea eax, [ebp - 0x150]
mov ecx, str..htpasswd_
push eax
call fcn.004069a0
add esp, 4
test eax, eax
jg 0x40f6d5
test esi, esi
je 0x40f3c2
mov edx, esi
lea ecx, [edx + 1]
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x40f3a0
lea eax, [ebp - 0x150]
sub edx, ecx
push eax
mov ecx, esi
call fcn.004069a0
add esp, 4
test eax, eax
jg 0x40f6d5
mov ebx, dword [ebp - 0x5b0]
test ebx, ebx
je 0x40f480
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x5d8]
cmp byte [eax + ecx - 1], 0x2f
je 0x40f480
lea eax, [ebp - 0x5a0]
push eax
call fcn.0042c24a
add esp, 4
test eax, eax
je 0x40f410
push eax
push str._a___d__b__Y__H:_M:_S_GMT
lea eax, [ebp - 0x190]
push 0x40
push eax
call fcn.0042bf6e
add esp, 0x10
jmp 0x40f440
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 0x40f436
mov al, byte [esi + ecx]
dec edx
mov byte [ecx], al
inc ecx
cmp byte [esi + ecx], 0
jne 0x40f424
mov byte [ecx], 0
mov byte [ebp - 0x151], 0
mov ecx, edi
call fcn.00406b00
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.00408e20
add esp, 0x14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423c62
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 0x40f4b0
test dl, dl
je 0x40f4ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40f4b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x40f490
xor eax, eax
jmp 0x40f4b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40f4e1
lea eax, [ebp - 0x5c8]
mov ecx, edi
push eax
lea edx, [ebp - 0x150]
call fcn.0040e3c0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423c62
mov esp, ebp
pop ebp
ret
mov ecx, str.OPTIONS
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40f508
test dl, dl
je 0x40f504
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40f508
add eax, 2
add ecx, 2
test dl, dl
jne 0x40f4e8
xor eax, eax
jmp 0x40f50d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40f5cb
push eax
call fcn.0042933f
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.0042c24a
add esp, 4
test eax, eax
je 0x40f567
push eax
push str._a___d__b__Y__H:_M:_S_GMT
lea eax, [ebp - 0x48]
push 0x40
push eax
call fcn.0042bf6e
add esp, 0x10
jmp 0x40f591
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 0x40f58a
mov al, byte [esi + ecx]
dec edx
mov byte [ecx], al
inc ecx
cmp byte [esi + ecx], 0
jne 0x40f578
mov byte [ecx], 0
mov byte [ebp - 9], 0
mov ecx, edi
call fcn.00406b00
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.00408e20
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423c62
mov esp, ebp
pop ebp
ret
mov ecx, 0x44e648
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40f5f2
test dl, dl
je 0x40f5ee
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40f5f2
add eax, 2
add ecx, 2
test dl, dl
jne 0x40f5d2
xor eax, eax
jmp 0x40f5f7
sbb eax, eax
or eax, 1
test eax, eax
je 0x40f62f
mov ecx, str.HEAD
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40f622
test dl, dl
je 0x40f61e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40f622
add eax, 2
add ecx, 2
test dl, dl
jne 0x40f602
xor eax, eax
jmp 0x40f627
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40f357
test ebx, ebx
je 0x40f113
lea eax, [ebp - 0x5c8]
push eax
push ecx
lea edx, [ebp - 0x150]
mov ecx, edi
call fcn.0040bf70
add esp, 8
test eax, eax
jne 0x40f113
mov eax, dword [edi + 0x270]
mov ecx, 0x44cec8
mov dword [ebp - 0x5d8], ecx
mov ebx, dword [eax + 0x2c]
nop dword [eax + eax]
movzx eax, byte [ecx]
push eax
call fcn.0042a73c
movzx ecx, byte [ebx]
add esp, 4
mov esi, eax
push ecx
call fcn.0042a73c
mov ecx, dword [ebp - 0x5d8]
lea ebx, [ebx + 1]
inc ecx
add esp, 4
mov dword [ebp - 0x5d8], ecx
sub eax, esi
jne 0x40f6c1
cmp byte [ebx - 1], al
jne 0x40f670
lea edx, [ebp - 0x150]
mov ecx, edi
call fcn.0040ab90
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423c62
mov esp, ebp
pop ebp
ret
push str.Error:_Directory_listing_denied
push 0x44c068
push 0x193
jmp 0x40f0d2
push str.Not_found
push 0x44c068
push 0x194
jmp 0x40f0d2
mov ecx, edi
call fcn.0040a0f0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00423c62
mov esp, ebp
pop ebp
ret