Function at 0x413040
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x24c
mov ebx, dword [esp + 0x264]
mov dword [esp + 0x50], 0x30303030
mov dword [esp + 0x54], 0x31303030
mov dword [esp], ebx
mov byte [esp + 0x58], 0
mov dword [esp + 0x59], 0x48545541
mov dword [esp + 0x5d], 0x49544e45
mov dword [esp + 0x61], 0x45544143
mov byte [esp + 0x65], 0
mov dword [esp + 0x4b], 0x68747561
mov byte [esp + 0x4f], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xdc], 0
call sym._strlen
test eax, eax
jne 0x4130c8
mov ebx, 0x3d
add esp, 0x24c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [ebx], 0x3d
je 0x4130b2
lea eax, [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 8], eax
lea eax, [esp + 0xb8]
mov dword [esp + 4], eax
call sym._Curl_base64_decode
mov ebx, eax
test eax, eax
jne 0x4130b7
mov ebp, dword [esp + 0xb8]
test ebp, ebp
je 0x4130b2
mov dword [esp + 4], str.nonce_
mov dword [esp], ebp
call sym._strstr
mov edi, dword [sym._free]
mov ecx, eax
test eax, eax
je 0x413370
movzx edx, byte [eax + 7]
test dl, dl
je 0x413980
cmp dl, 0x22
je 0x413980
xor eax, eax
lea esi, [esp + 0x100]
jmp 0x41314e
cmp dl, 0x22
je 0x41315d
cmp eax, 0x3f
je 0x413380
mov byte [esi + eax], dl
add eax, 1
movzx edx, byte [ecx + eax + 7]
test dl, dl
jne 0x413140
add eax, esi
mov byte [eax], 0
mov dword [esp + 4], str.realm_
mov dword [esp], ebp
call sym._strstr
mov ecx, eax
test eax, eax
je 0x413390
movzx edx, byte [eax + 7]
lea eax, [esp + 0x1c0]
test dl, dl
je 0x4131ca
cmp dl, 0x22
je 0x4131ca
mov dword [esp + 0x30], eax
xor eax, eax
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x30]
jmp 0x4131ad
test dl, dl
je 0x4131be
cmp eax, 0x7f
je 0x4133b0
mov byte [ebp + eax], dl
add eax, 1
movzx edx, byte [ecx + eax + 7]
cmp dl, 0x22
jne 0x4131a0
mov ecx, eax
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
add eax, ecx
mov byte [eax], 0
mov dword [esp + 4], 0x45f33c
mov dword [esp], ebp
call sym._strstr
mov ecx, eax
test eax, eax
je 0x413370
movzx edx, byte [eax + 0xa]
test dl, dl
je 0x41399c
cmp dl, 0x2c
je 0x41399c
xor eax, eax
jmp 0x41320e
cmp dl, 0x2c
je 0x413221
cmp eax, 0x3f
je 0x4133a0
mov byte [esp + eax + 0x140], dl
add eax, 1
movzx edx, byte [ecx + eax + 0xa]
test dl, dl
jne 0x413200
lea ecx, [esp + 0x140]
add eax, ecx
mov byte [eax], 0
mov dword [esp + 4], str.qop_
mov dword [esp], ebp
call sym._strstr
mov edx, eax
test eax, eax
je 0x413370
movzx eax, byte [eax + 5]
lea ecx, [esp + 0x180]
test al, al
je 0x4139a8
cmp al, 0x22
jne 0x413275
jmp 0x4139a8
test al, al
je 0x413284
cmp ebx, 0x3f
je 0x4133c0
mov byte [ecx + ebx], al
add ebx, 1
movzx eax, byte [edx + ebx + 5]
cmp al, 0x22
jne 0x413268
add ebx, ecx
mov dword [esp + 0x30], ecx
mov byte [ebx], 0
mov dword [esp], ebp
call edi
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x140], 0x2d35646d
jne 0x4130b2
cmp dword [esp + 0x144], 0x73736573
jne 0x4130b2
cmp byte [esp + 0x148], 0
jne 0x4130b2
mov dword [esp + 0xdc], 0
xor ebx, ebx
mov dword [esp], ecx
call dword [0x45bc88]
mov edi, eax
test eax, eax
je 0x413976
lea eax, [esp + 0xdc]
mov dword [esp + 4], 0x45f356
mov dword [esp + 8], eax
mov dword [esp], edi
call dbg.strtok_r
mov ebp, eax
test eax, eax
jne 0x41333c
jmp 0x41398e
or ebx, 1
lea eax, [esp + 0xdc]
mov dword [esp + 4], 0x45f356
mov dword [esp + 8], eax
mov dword [esp], 0
call dbg.strtok_r
mov ebp, eax
test eax, eax
je 0x4133d0
mov dword [esp + 4], str.auth
mov dword [esp], ebp
call sym._Curl_strcasecompare
test eax, eax
jne 0x413310
mov dword [esp + 4], str.auth_int
mov dword [esp], ebp
call sym._Curl_strcasecompare
test eax, eax
je 0x413948
or ebx, 2
jmp 0x413313
mov dword [esp], ebp
call edi
jmp 0x4130b2
lea eax, [esp + 0x13f]
jmp 0x41315f
mov byte [esp + 0x1c0], 0
jmp 0x4131cd
lea eax, [esp + 0x17f]
jmp 0x41322a
mov ebp, dword [esp + 0x34]
lea eax, [esp + 0x23f]
jmp 0x4131ca
lea ebx, [esp + 0x1bf]
jmp 0x413286
mov dword [esp], edi
call dword [0x45bc90]
and ebx, 1
je 0x4130b2
lea eax, [esp + 0xdc]
mov dword [esp + 8], 0x21
mov dword [esp + 4], eax
mov eax, dword [esp + 0x260]
mov dword [esp], eax
call sym._Curl_rand_hex
mov ebx, eax
test eax, eax
jne 0x4130b7
mov dword [esp], sym._MD5_Init
call sym._Curl_MD5_init
mov ebx, eax
test eax, eax
je 0x413976
mov eax, dword [esp + 0x268]
lea edi, [esp + 0x1c0]
mov dword [esp], eax
call sym._strlen
mov dword [esp], eax
call sym._curlx_uztoui
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x268]
mov dword [esp + 4], eax
call sym._Curl_MD5_update
mov dword [esp], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x45f362
call sym._Curl_MD5_update
mov dword [esp], edi
mov dword [esp + 0x30], edi
call sym._strlen
mov dword [esp], eax
call sym._curlx_uztoui
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], edi
call sym._Curl_MD5_update
mov dword [esp], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x45f362
call sym._Curl_MD5_update
mov eax, dword [esp + 0x26c]
mov dword [esp], eax
call sym._strlen
mov dword [esp], eax
call sym._curlx_uztoui
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x26c]
mov dword [esp + 4], eax
call sym._Curl_MD5_update
lea eax, [esp + 0x66]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._Curl_MD5_final
mov dword [esp], sym._MD5_Init
call sym._Curl_MD5_init
mov ebx, eax
test eax, eax
je 0x413976
lea eax, [esp + 0x66]
mov dword [esp], ebx
lea ebp, [esp + 0x76]
mov dword [esp + 8], 0x10
mov dword [esp + 4], eax
call sym._Curl_MD5_update
mov dword [esp], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x45f362
call sym._Curl_MD5_update
mov dword [esp], esi
call sym._strlen
mov dword [esp], eax
call sym._curlx_uztoui
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], eax
call sym._Curl_MD5_update
mov dword [esp], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x45f362
call sym._Curl_MD5_update
lea eax, [esp + 0xdc]
mov dword [esp], eax
call sym._strlen
mov dword [esp], eax
call sym._curlx_uztoui
mov dword [esp], ebx
mov dword [esp + 8], eax
lea eax, [esp + 0xdc]
mov dword [esp + 4], eax
call sym._Curl_MD5_update
lea eax, [esp + 0x66]
mov dword [esp], ebx
mov ebx, ebp
mov dword [esp + 4], eax
call sym._Curl_MD5_final
lea edx, [esp + 0x66]
mov dword [esp + 0x34], esi
mov esi, ebp
mov edi, edx
mov ebp, edx
lea esi, cs:[esi]
movzx eax, byte [edi]
mov dword [esp], esi
add edi, 1
add esi, 2
mov dword [esp + 8], 0x45f220
mov dword [esp + 0xc], eax
mov dword [esp + 4], 3
call sym._curl_msnprintf
cmp edi, ebx
jne 0x4135c0
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov dword [esp + 8], 0
mov dword [esp + 0x38], ebp
mov dword [esp + 4], eax
mov eax, dword [esp + 0x270]
mov dword [esp], eax
call sym._Curl_auth_build_spn
mov dword [esp + 0x34], eax
test eax, eax
je 0x413976
mov dword [esp], sym._MD5_Init
call sym._Curl_MD5_init
mov edx, dword [esp + 0x38]
test eax, eax
mov ebp, eax
je 0x413969
lea edi, [esp + 0x59]
mov dword [esp + 0x3c], edx
mov dword [esp], edi
call sym._strlen
mov dword [esp], eax
call sym._curlx_uztoui
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call sym._Curl_MD5_update
mov dword [esp], ebp
mov dword [esp + 8], 1
mov dword [esp + 4], 0x45f362
call sym._Curl_MD5_update
mov edi, dword [esp + 0x34]
mov dword [esp], edi
call sym._strlen
mov dword [esp], eax
call sym._curlx_uztoui
mov dword [esp + 4], edi
lea edi, [esp + 0x66]
mov dword [esp], ebp
mov dword [esp + 8], eax
call sym._Curl_MD5_update
lea eax, [esp + 0x66]
mov dword [esp], ebp
lea ebp, [esp + 0x97]
mov dword [esp + 4], eax
call sym._Curl_MD5_final
mov dword [esp + 0x38], esi
mov esi, ebp
mov ebp, dword [esp + 0x3c]
nop
movzx eax, byte [edi]
mov dword [esp], esi
add edi, 1
add esi, 2
mov dword [esp + 8], 0x45f220
mov dword [esp + 0xc], eax
mov dword [esp + 4], 3
call sym._curl_msnprintf
cmp edi, ebx
jne 0x4136c0
mov dword [esp], sym._MD5_Init
mov esi, dword [esp + 0x38]
mov dword [esp + 0x3c], ebp
call sym._Curl_MD5_init
mov edx, dword [esp + 0x3c]
test eax, eax
mov edi, eax
je 0x413969
lea eax, [esp + 0x76]
mov dword [esp], edi
lea ebp, [esp + 0x4b]
mov dword [esp + 8], 0x20
mov dword [esp + 4], eax
mov dword [esp + 0x3c], edx
call sym._Curl_MD5_update
mov dword [esp], edi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x45f362
call sym._Curl_MD5_update
mov dword [esp], esi
call sym._strlen
mov dword [esp], eax
call sym._curlx_uztoui
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [esp + 8], eax
call sym._Curl_MD5_update
mov dword [esp], edi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x45f362
call sym._Curl_MD5_update
lea eax, [esp + 0x50]
mov dword [esp], eax
call sym._strlen
mov dword [esp], eax
call sym._curlx_uztoui
mov dword [esp], edi
mov dword [esp + 8], eax
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
call sym._Curl_MD5_update
mov dword [esp], edi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x45f362
call sym._Curl_MD5_update
lea eax, [esp + 0xdc]
mov dword [esp], eax
call sym._strlen
mov dword [esp], eax
call sym._curlx_uztoui
mov dword [esp], edi
mov dword [esp + 8], eax
lea eax, [esp + 0xdc]
mov dword [esp + 4], eax
call sym._Curl_MD5_update
mov dword [esp], edi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x45f362
call sym._Curl_MD5_update
mov dword [esp], ebp
call sym._strlen
mov dword [esp], eax
call sym._curlx_uztoui
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
call sym._Curl_MD5_update
mov dword [esp], edi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x45f362
call sym._Curl_MD5_update
lea eax, [esp + 0x97]
mov dword [esp], edi
mov dword [esp + 8], 0x20
mov dword [esp + 4], eax
call sym._Curl_MD5_update
lea eax, [esp + 0x66]
mov dword [esp], edi
lea edi, [esp + 0xb8]
mov dword [esp + 4], eax
call sym._Curl_MD5_final
mov dword [esp + 0x38], esi
mov esi, edi
mov edi, dword [esp + 0x3c]
lea esi, [esi]
movzx eax, byte [edi]
mov dword [esp], esi
add edi, 1
add esi, 2
mov dword [esp + 8], 0x45f220
mov dword [esp + 0xc], eax
mov dword [esp + 4], 3
call sym._curl_msnprintf
cmp edi, ebx
jne 0x413878
lea eax, [esp + 0xb8]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xdc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x268]
mov dword [esp + 0x18], edi
mov dword [esp + 4], eax
mov dword [esp], str.username__s__realm__s__nonce__s__cnonce__s__nc__s__digest_uri__s__response_s_qop_s
call sym._curl_maprintf
mov dword [esp], edi
mov esi, eax
call dword [0x45bc90]
test esi, esi
je 0x413976
mov eax, dword [esp + 0x278]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x274]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x260]
mov dword [esp], eax
call sym._Curl_base64_encode
mov dword [esp], esi
mov ebx, eax
call dword [0x45bc90]
jmp 0x4130b7
mov dword [esp + 4], str.auth_conf
mov dword [esp], ebp
call sym._Curl_strcasecompare
mov edx, eax
mov eax, ebx
or eax, 4
test edx, edx
cmovne ebx, eax
jmp 0x413313
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call dword [0x45bc90]
mov ebx, 0x1b
jmp 0x4130b7
lea esi, [esp + 0x100]
mov eax, esi
jmp 0x41315f
mov dword [esp], edi
call dword [0x45bc90]
jmp 0x4130b2
lea eax, [esp + 0x140]
jmp 0x41322a
mov ebx, ecx
jmp 0x413286