Function at 0x518180
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x220
mov eax, dword [0x580ca0]
xor eax, esp
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x22c]
mov edx, dword [esp + 0x234]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x238]
mov dword [esp + 8], eax
mov eax, dword [str.00000001]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x23c]
mov dword [esp + 0x20], eax
movzx eax, byte [0x547de4]
mov dword [esp + 4], edx
mov edx, dword [0x547de0]
mov ecx, dword [esp + 0x228]
mov dword [esp + 0x24], edx
mov edx, dword [str.AUTHENTICATE]
mov byte [esp + 0x28], al
mov eax, dword [0x547dd0]
push ebx
mov ebx, dword [esp + 0x228]
mov dword [esp + 0x40], edx
mov edx, dword [0x547dd4]
mov dword [esp + 0x44], eax
movzx eax, byte [0x547dd8]
push ebp
mov ebp, dword [esp + 0x238]
mov dword [esp + 0x4c], edx
mov edx, dword [str.auth]
push 0x40
mov byte [esp + 0x54], al
movzx eax, byte [0x547cd8]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x1e8]
push edx
push 0x40
mov byte [esp + 0x30], al
lea eax, [esp + 0x1b0]
push eax
push 0x80
lea edx, [esp + 0x138]
push edx
lea eax, [esp + 0x90]
push 0x40
push eax
mov dword [esp + 0x28], ebx
call fcn.00518050
add esp, 0x20
test eax, eax
jne 0x51873d
mov edx, str.md5_sess
lea ecx, [esp + 0x1a4]
lea ecx, [ecx]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5182a0
test al, al
je 0x51829c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5182a0
add ecx, 2
add edx, 2
test al, al
jne 0x518280
xor eax, eax
jmp 0x5182a5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x5182c5
pop ebp
mov eax, 0x3d
pop ebx
mov ecx, dword [esp + 0x21c]
xor ecx, esp
call fcn.004ba1db
add esp, 0x220
ret
push edi
lea edi, [esp + 0x1c]
lea eax, [esp + 0x1e8]
call fcn.00517cc0
test eax, eax
jne 0x51873c
test byte [esp + 0x1c], 1
jne 0x518302
pop edi
pop ebp
mov eax, 0x3d
pop ebx
mov ecx, dword [esp + 0x21c]
xor ecx, esp
call fcn.004ba1db
add esp, 0x220
ret
push esi
push ebx
call fcn.004fd9d0
push ebx
mov esi, eax
call fcn.004fd9d0
push ebx
mov edi, eax
call fcn.004fd9d0
mov ecx, dword [esp + 0x1c]
push ecx
mov ebx, eax
call fcn.004fd9d0
push eax
push ebx
push edi
push esi
push str._08x_08x_08x_08x
lea edx, [esp + 0x80]
push 0x21
push edx
call fcn.004fcc50
push 0x547fac
call fcn.0051a0d0
mov esi, eax
add esp, 0x30
test esi, esi
je 0x51858c
mov ebx, dword [esp + 0x1c]
mov eax, ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x518360
sub eax, edx
push eax
call fcn.00510b00
push eax
push ebx
push esi
call fcn.0051a120
push 1
push 0x542a50
push esi
call fcn.0051a120
lea eax, [esp + 0x148]
add esp, 0x1c
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x518391
sub eax, ecx
push eax
call fcn.00510b00
push eax
lea eax, [esp + 0x134]
push eax
push esi
call fcn.0051a120
push 1
push 0x542a50
push esi
call fcn.0051a120
mov eax, ebp
add esp, 0x1c
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x5183c4
sub eax, ecx
push eax
call fcn.00510b00
push eax
push ebp
push esi
call fcn.0051a120
lea ecx, [esp + 0x4c]
push ecx
push esi
call fcn.0051a140
push 0x547fac
call fcn.0051a0d0
mov esi, eax
add esp, 0x1c
test esi, esi
je 0x51858c
push 0x10
lea edx, [esp + 0x40]
push edx
push esi
call fcn.0051a120
push 1
push 0x542a50
push esi
call fcn.0051a120
lea eax, [esp + 0x98]
add esp, 0x18
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x518424
sub eax, edx
push eax
call fcn.00510b00
push eax
lea eax, [esp + 0x88]
push eax
push esi
call fcn.0051a120
push 1
push 0x542a50
push esi
call fcn.0051a120
lea eax, [esp + 0x78]
add esp, 0x1c
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x518460
sub eax, edx
push eax
call fcn.00510b00
push eax
lea ecx, [esp + 0x64]
push ecx
push esi
call fcn.0051a120
lea edx, [esp + 0x4c]
push edx
push esi
call fcn.0051a140
add esp, 0x18
xor esi, esi
lea edi, [esp + 0x108]
movzx eax, byte [esp + esi + 0x3c]
push eax
push str._02x
push 3
push edi
call fcn.004fcc50
inc esi
add esp, 0x10
add edi, 2
cmp esi, 0x10
jb 0x518492
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x12c]
push ecx
push edx
call fcn.00517d70
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x51858c
push 0x547fac
call fcn.0051a0d0
mov esi, eax
add esp, 4
test esi, esi
je 0x518582
lea eax, [esp + 0x4c]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5184f0
sub eax, edx
push eax
call fcn.00510b00
push eax
lea eax, [esp + 0x54]
push eax
push esi
call fcn.0051a120
push 1
push 0x542a50
push esi
call fcn.0051a120
mov eax, ebp
add esp, 0x1c
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x518520
sub eax, ecx
push eax
call fcn.00510b00
push eax
push ebp
push esi
call fcn.0051a120
lea ecx, [esp + 0x4c]
push ecx
push esi
call fcn.0051a140
add esp, 0x18
xor esi, esi
lea edi, [esp + 0xe4]
mov edi, edi
movzx edx, byte [esp + esi + 0x3c]
push edx
push str._02x
push 3
push edi
call fcn.004fcc50
inc esi
add esp, 0x10
add edi, 2
cmp esi, 0x10
jb 0x518550
push 0x547fac
call fcn.0051a0d0
mov esi, eax
add esp, 4
test esi, esi
jne 0x518596
push ebp
call dword [0x582a8c]
add esp, 4
mov eax, 0x1b
jmp 0x51873b
push 0x20
lea eax, [esp + 0x10c]
push eax
push esi
call fcn.0051a120
push 1
push 0x542a50
push esi
call fcn.0051a120
lea eax, [esp + 0x98]
add esp, 0x18
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5185c0
sub eax, edx
push eax
call fcn.00510b00
push eax
lea ecx, [esp + 0x88]
push ecx
push esi
call fcn.0051a120
push 1
push 0x542a50
push esi
call fcn.0051a120
lea eax, [esp + 0x4c]
add esp, 0x1c
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x5185f5
sub eax, ecx
push eax
call fcn.00510b00
push eax
lea edx, [esp + 0x38]
push edx
push esi
call fcn.0051a120
push 1
push 0x542a50
push esi
call fcn.0051a120
lea eax, [esp + 0x78]
add esp, 0x1c
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x518627
sub eax, ecx
push eax
call fcn.00510b00
push eax
lea eax, [esp + 0x64]
push eax
push esi
call fcn.0051a120
push 1
push 0x542a50
push esi
call fcn.0051a120
lea eax, [esp + 0x44]
add esp, 0x1c
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x518660
sub eax, ecx
push eax
call fcn.00510b00
push eax
lea ecx, [esp + 0x30]
push ecx
push esi
call fcn.0051a120
push 1
push 0x542a50
push esi
call fcn.0051a120
push 0x20
lea edx, [esp + 0x104]
push edx
push esi
call fcn.0051a120
lea eax, [esp + 0x64]
push eax
push esi
call fcn.0051a140
add esp, 0x30
xor esi, esi
lea edi, [esp + 0xc0]
nop
movzx ecx, byte [esp + esi + 0x3c]
push ecx
push str._02x
push 3
push edi
call fcn.004fcc50
inc esi
add esp, 0x10
add edi, 2
cmp esi, 0x10
jb 0x5186b0
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0xc4]
push eax
push ebp
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x6c]
push edx
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x144]
push ecx
push ebx
push str.username__s__realm__s__nonce__s__cnonce__s__nc__s__digest_uri__s__response_s_qop_s
call fcn.004fd640
push ebp
mov esi, eax
call dword [0x582a8c]
add esp, 0x28
test esi, esi
je 0x51858c
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
push edx
push eax
push 0
push esi
push ecx
call fcn.0051b390
push esi
mov edi, eax
call dword [0x582a8c]
add esp, 0x18
mov eax, edi
pop esi
pop edi
mov ecx, dword [esp + 0x224]
pop ebp
pop ebx
xor ecx, esp
call fcn.004ba1db
add esp, 0x220
ret