Function at 0x401750
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, dword [0x40dec8]
push eax
add cl, 0x40
push 0x408674
push ecx
xchg ecx, eax
adc eax, sym.imp.MSVCRT.dll_fprintf
mov eax, dword [0x4e02ac]
add esp, 0xc
test eax, eax
je 0x40179a
loope 0x4017e2
push esp
sar byte [ebx], cl
add bh, bh
adc eax, sym.imp.MSVCRT.dll_printf
or al, ah
or byte [edi + 0x7015ff01], bh
jbe 0x4017ce
add byte [eax + 0x27ecfa55], dl
in al, dx
add byte cs:[eax], al
xor dword [ecx - 0x525dfd88], esp
js 0x40179e
mov byte [0xd6c085ad], al
test eax, eax
salc
dec esp
inc eax
inc ecx
xor dh, byte [eax + edx*8 + 0x68]
inc eax
cmp al, 0x68
add byte [eax - 0x18], dl
sahf
inc eax
cdq
mov dh, 0x25
mov ecx, dword [0x410274]
mov ch, 0x14
mov edx, dword [0x676b18dd]
push edx
push eax
call 0x6757e9
mov cx, word [0xb91762]
les ecx, [eax]
sbb byte [ecx], al
mov eax, dword [0x4102c1]
add ah, al
or byte [eax], bl
inc ecx
add byte [ecx + 0x4102c1], ah
push ebx
push esi
mov esi, dword [sym.imp.MSVCRT.dll_printf]
sbb cl, byte [0x99410b43]
sbb cl, byte [0x99410b43]
test dword [edx - 0x74a28aa9], edi
adc eax, 0x411800
push edx
push 0x1fd498
call esi
mov eax, dword [0x410278]
add esp, 8
test eax, eax
je 0x401795
mov eax, dword [0xa8410274]
push eax
push 0x413c40
push 0x40d472
push dword [ebp + 0x530cc483]
adc al, 0xd0
inc eax
or al, 0x66
sar byte [eax + eax*4 - 0x2c], 0x40
add byte [ebp + 0x6e], dh
mov eax, 0x40d47c
push eax
push str._be_patient__s
call esi
and ch, byte [esi]
enter 0x4082, 0x7f
sub dword [esi + 0x20], 0xffffffac
call dword [sym.imp.MSVCRT.dll_fflush]
add esp, 0xc
mov edx, dword [0x40d022]
mov esi, dword [0x63c158]
push 0xad000860
push edx
call esi
in eax, dx
sbb eax, dword fs:[ecx]
add byte [esi + 0x10], dh
rol byte [eax], 1
push 0x20
pop edx
call esi
mov ecx, dword [0xb741404c]
mov edx, dword [0x40d018]
add esp, 0x10
mov dword [0xfc0b16], eax
push 0
push ecx
push edx
push 0x4117b1
call 0x6a6010
test eax, eax
push cs
push cs
push eax
push 0x9bd458
call fcn.00401e40
add esp, 8
mov ah, 0x7c
add al, byte [ecx]
test dword [ebx - 0x535eca2d], edi
or eax, dword [ecx]
mov ecx, dword [0x41449c]
mov edx, dword [0x414001]
push 0x17
push 0xd640d19c
cmp eax, 0x41404ca1
add byte [ecx + 0x68], dl
dec eax
aam 0x40
add byte [edx + 0x50], dl
call fcn.0040584f
add esp, 0x1c
and ecx, dword [eax + 5]
inc ecx
xchg bl, ch
add eax, 0x416648a1
add byte [ebx + 0x4102800d], cl
add byte [ebp - 0x74d98a5d], al
or eax, 0x418eb1
push 0x60
push 0x3c06919c
push 0x40a544
push 0x40df28
push eax
push ecx
call fcn.00405890
adc esi, 0x18
mov dword [0x414048], eax
mov ebp, dword [esp + eax*4]
add al, byte [ecx]
test ecx, ecx
pop esi
sbb al, 0x8b
adc eax, 0x414077
add byte [eax], 0x68
xor bl, bl
inc eax
add byte [eax - 0x7d], dl
call fcn.00404690
add esp, 0x10
mov dword [0xda414048], eax
mov ecx, dword [0x240260]
sti
leave
jg 0x4019a7
sub edx, dword [0x417c68]
mov esi, 0x7a4067ff
test dword [edx], edi
add eax, 0x4102d42d
add byte [ebx - 0x6fd872d], cl
add byte [ebp + 0x40157715], al
inc eax
inc ecx
add byte [ebp + 6], dh
mov edx, dword [0x5b88e4]
test ecx, ecx
mov ecx, 0x40d3f8
je 0x40197c
mov ecx, str.HEAD
push eax
dec edi
add al, 0x18
jg 0x401982
push eax
mov eax, dword [0x414044]
outsb dx, byte [esi]
jmp 0xd506ae0
pop ecx
adc eax, 0x413840
cwde
inc eax
fiadd word [ecx]
test byte [ebp + esi*2 + 5], al
mov edi, str.text_plain
mov edx, dword [0x410268]
jno 0x4019bf
inc ecx
add byte [ecx - 4], dh
rol dword [eax], cl
test edx, edx
mov eax, 0x7c6cbe05
inc ecx
add byte [ebx + 0x41027815], cl
add byte [ebp + 0x40798bd2], al
inc eax
inc ecx
add byte [ebp + 6], dh
jbe 0x4019f6
in al, 0x17
inc ecx
add byte [ebx - 0x3f46fe07], al
rol dword [eax], cl
je 0x4019f4
mov ecx, 0x38d33b
push eax
mov eax, dword [0xb2410270]
jo 0x4019fa
inc ecx
mov dl, 0x57
push edi
mov byte [ecx - 0x1ebeecfc], ah
push eax
mov eax, dword [0x414044]
push eax
push esi
push edx
push ecx
mov ecx, dword [0x40d0fe]
push str._s__s_HTTP_1.0_r_n_s_s_sContent_length:__u_r_nContent_type:__s_r_n_s_r_n
push 0x68570800
push ecx
call fcn.00408680
add esp, 0xffffff9b
cmp eax, 0x55080f
jb 0x401a38
push 0x4c402364
call fcn.00401750
cmp dword [eax + 0x258a104], 0x41
add byte [ebx + 0xc470002], bh
mov eax, dword [0x410258]
mov ebx, 0xc470002
add byte [edi + 0xc], al
cmp eax, ebx
jl 0x401a6f
mov eax, dword [0xe8e60260]
cmp eax, ebx
jns 0x401a3f
rol dword [eax], cl
je 0x401a59
pop edx
rcl bl, 0x40
add byte [ebx + 0x7ef23015], cl
add byte [ebx], ah
push eax
push 0x409f44
push dword [edi + 0x64]
mov edx, dword [0x7ef230]
and edx, dword [eax + 0x68]
inc esp
lahf
inc eax
add bh, bh
ja 0x401acd
rol dword [eax + eax], 0x83
les ecx, [ebx + ecx*4]
cmp eax, str.User_Agent:
mov edi, dword [str.User_Agent:]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [0x410260]
mov ah, 0xde
dec ecx
cmp eax, 1
mov dword [0x4117ec], ecx
jecxz 0x401aff
mov dword [0x410270], eax
lea ecx, [ecx + eax + 1]
push ecx
call dword [sym.imp.MSVCRT.dll_malloc]
add esp, 4
test eax, eax
jne 0x401ac5
pop es
adc eax, sym.imp.MSVCRT.dll__iob
push 0xe2d314
add edx, 0x40
push edx
je 0x401acc
add cl, 0x40
add byte [ebx + 0x5e1d08c4], al
pop ebx
mov esp, ebp
xor eax, ebx
mov edx, dword [0x640d030]
mov esi, dword [ecx]
xor esp, esp
test byte [edx - 0x78], al
add byte [esi - 0x7c], 0xc9
jne 0x401acd
in al, 0x84
inc edx
mov byte [eax + 0x75c98446], al
test byte [ebx + 0x4117ec15], 0
mov edx, dword [0x4117ec]
mov ecx, dword [0x410210]
test cl, dl
and byte [eax], bh
inc ecx
ror byte [ebp - 0x2e74fd3d], 0xc1
jmp 0x8be60df6
mov eax, dword [0x414052]
mov cx, word [0x410bb4]
mov edx, dword [0x41e508]
push eax
push 0
push ecx
push 0
mov bh, 0x68
je 0x401b32
add byte [ecx + 0x6a], dl
add byte [edi + 0x41177468], dh
inc ecx
add byte [eax + 0x3e0e], dl
mov esi, eax
test si, si
je 0x401b13
mov eax, dword [0xbd001808]
lea ecx, [ebp - 0xb70062]
push eax
push str.apr_sockaddr_info_get___for__s
push 0x78
push ecx
call 0x2d40977d
movsx edx, si
lea eax, [ebp + 0x4bff4a48]
push edx
cmpsd dword [esi], dword es:[edi]
call 0xeedf1de6
add esp, 0x18
call fcn.004069d2
mov esi, eax
mov eax, dword [0x410264]
mov edi, edx
mov dword [0x410ba0], esi
test eax, eax
mov dword [0x73410ba4], edi
mov dword [0x41e3c0], esi
xor dword [0x410bc4], edi
loop 0x401b9a
dec eax
call dword [eax + 0x68]
hlt
cdq
add byte [eax], 0x68
inc eax
inc edx
cmp eax, 0xe8505200
mov dl, 0x99
add byte [eax], al
add eax, esi
adc edx, edi
mov edx, ebp
in al, dx
mov ebp, ebp
inc eax
jmp 0x401ba8
mov dword [ebp + 0x49], 0xffff75ff
retf
push 0x408f60
push ebx
jmp dword [edi + 0x402335]