Function at 0x412fa0
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 0x413028
mov ebx, 0x3d
add esp, 0x24c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [ebx], 0x3d
je 0x413012
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 0x413017
mov ebp, dword [esp + 0xb8]
test ebp, ebp
je 0x413012
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 0x4132d0
movzx edx, byte [eax + 7]
cmp dl, 0x22
je 0x4138e0
test dl, dl
je 0x4138e0
xor eax, eax
lea esi, [esp + 0x100]
jmp 0x4130ad
test dl, dl
je 0x4130bd
cmp eax, 0x3f
je 0x4132e0
mov byte [esi + eax], dl
add eax, 1
movzx edx, byte [ecx + eax + 7]
cmp dl, 0x22
jne 0x4130a0
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 0x4132f0
movzx edx, byte [eax + 7]
lea eax, [esp + 0x1c0]
test dl, dl
je 0x41312a
cmp dl, 0x22
je 0x41312a
mov dword [esp + 0x30], eax
xor eax, eax
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x30]
jmp 0x41310e
cmp dl, 0x22
je 0x41311e
cmp eax, 0x7f
je 0x413310
mov byte [ebp + eax], dl
add eax, 1
movzx edx, byte [ecx + eax + 7]
test dl, dl
jne 0x413100
mov ecx, eax
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
add eax, ecx
mov byte [eax], 0
mov dword [esp + 4], 0x46231c
mov dword [esp], ebp
call sym._strstr
mov ecx, eax
test eax, eax
je 0x4132d0
movzx edx, byte [eax + 0xa]
test dl, dl
je 0x4138fc
cmp dl, 0x2c
je 0x4138fc
xor eax, eax
jmp 0x41316e
cmp dl, 0x2c
je 0x413181
cmp eax, 0x3f
je 0x413300
mov byte [esp + eax + 0x140], dl
add eax, 1
movzx edx, byte [ecx + eax + 0xa]
test dl, dl
jne 0x413160
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 0x4132d0
movzx eax, byte [eax + 5]
lea ecx, [esp + 0x180]
cmp al, 0x22
je 0x413908
test al, al
jne 0x4131d5
jmp 0x413908
test al, al
je 0x4131e4
cmp ebx, 0x3f
je 0x413320
mov byte [ecx + ebx], al
add ebx, 1
movzx eax, byte [edx + ebx + 5]
cmp al, 0x22
jne 0x4131c8
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 0x413012
cmp dword [esp + 0x144], 0x73736573
jne 0x413012
cmp byte [esp + 0x148], 0
jne 0x413012
mov dword [esp + 0xdc], 0
xor ebx, ebx
mov dword [esp], ecx
call dword [0x45e808]
mov edi, eax
test eax, eax
je 0x4138d6
lea eax, [esp + 0xdc]
mov dword [esp + 4], 0x462336
mov dword [esp + 8], eax
mov dword [esp], edi
call dbg.strtok_r
mov ebp, eax
test eax, eax
jne 0x41329c
jmp 0x4138ee
or ebx, 1
lea eax, [esp + 0xdc]
mov dword [esp + 4], 0x462336
mov dword [esp + 8], eax
mov dword [esp], 0
call dbg.strtok_r
mov ebp, eax
test eax, eax
je 0x413330
mov dword [esp + 4], str.auth
mov dword [esp], ebp
call sym._Curl_strcasecompare
test eax, eax
jne 0x413270
mov dword [esp + 4], str.auth_int
mov dword [esp], ebp
call sym._Curl_strcasecompare
test eax, eax
je 0x4138a8
or ebx, 2
jmp 0x413273
mov dword [esp], ebp
call edi
jmp 0x413012
lea eax, [esp + 0x13f]
jmp 0x4130bf
mov byte [esp + 0x1c0], 0
jmp 0x41312d
lea eax, [esp + 0x17f]
jmp 0x41318a
mov ebp, dword [esp + 0x34]
lea eax, [esp + 0x23f]
jmp 0x41312a
lea ebx, [esp + 0x1bf]
jmp 0x4131e6
mov dword [esp], edi
call dword [0x45e810]
and ebx, 1
je 0x413012
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 0x413017
mov dword [esp], sym._MD5_Init
call sym._Curl_MD5_init
mov ebx, eax
test eax, eax
je 0x4138d6
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], 0x462342
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], 0x462342
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 0x4138d6
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], 0x462342
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], 0x462342
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], 0x462200
mov dword [esp + 0xc], eax
mov dword [esp + 4], 3
call sym._curl_msnprintf
cmp edi, ebx
jne 0x413520
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 0x4138d6
mov dword [esp], sym._MD5_Init
call sym._Curl_MD5_init
mov edx, dword [esp + 0x38]
test eax, eax
mov ebp, eax
je 0x4138c9
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], 0x462342
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], 0x462200
mov dword [esp + 0xc], eax
mov dword [esp + 4], 3
call sym._curl_msnprintf
cmp edi, ebx
jne 0x413620
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 0x4138c9
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], 0x462342
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], 0x462342
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], 0x462342
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], 0x462342
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], 0x462342
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], 0x462200
mov dword [esp + 0xc], eax
mov dword [esp + 4], 3
call sym._curl_msnprintf
cmp edi, ebx
jne 0x4137d8
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 [0x45e810]
test esi, esi
je 0x4138d6
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 [0x45e810]
jmp 0x413017
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 0x413273
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call dword [0x45e810]
mov ebx, 0x1b
jmp 0x413017
lea esi, [esp + 0x100]
mov eax, esi
jmp 0x4130bf
mov dword [esp], edi
call dword [0x45e810]
jmp 0x413012
lea eax, [esp + 0x140]
jmp 0x41318a
mov ebx, ecx
jmp 0x4131e6