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

Disassembly:
sub esp, 0x220
mov eax, dword [0x568e30]
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 [0x53258c]
mov dword [esp + 4], edx
mov edx, dword [0x532588]
mov ecx, dword [esp + 0x228]
mov dword [esp + 0x24], edx
mov edx, dword [str.AUTHENTICATE]
mov byte [esp + 0x28], al
mov eax, dword [0x532578]
push ebx
mov ebx, dword [esp + 0x228]
mov dword [esp + 0x40], edx
mov edx, dword [0x53257c]
mov dword [esp + 0x44], eax
movzx eax, byte [0x532580]
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 [0x532480]
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.00504560
add esp, 0x20
test eax, eax
jne 0x504c4d
mov edx, str.md5_sess
lea ecx, [esp + 0x1a4]
lea ecx, [ecx]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5047b0
test al, al
je 0x5047ac
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5047b0
add ecx, 2
add edx, 2
test al, al
jne 0x504790
xor eax, eax
jmp 0x5047b5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x5047d5
pop ebp
mov eax, 0x3d
pop ebx
mov ecx, dword [esp + 0x21c]
xor ecx, esp
call fcn.004b8dd5
add esp, 0x220
ret
push edi
lea edi, [esp + 0x1c]
lea eax, [esp + 0x1e8]
call fcn.005041d0
test eax, eax
jne 0x504c4c
test byte [esp + 0x1c], 1
jne 0x504812
pop edi
pop ebp
mov eax, 0x3d
pop ebx
mov ecx, dword [esp + 0x21c]
xor ecx, esp
call fcn.004b8dd5
add esp, 0x220
ret
push esi
push ebx
call fcn.004e9ed0
push ebx
mov esi, eax
call fcn.004e9ed0
push ebx
mov edi, eax
call fcn.004e9ed0
mov ecx, dword [esp + 0x1c]
push ecx
mov ebx, eax
call fcn.004e9ed0
push eax
push ebx
push edi
push esi
push str._08x_08x_08x_08x
lea edx, [esp + 0x80]
push 0x21
push edx
call fcn.004e9150
push 0x532754
call fcn.005065b0
mov esi, eax
add esp, 0x30
test esi, esi
je 0x504a9c
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 0x504870
sub eax, edx
push eax
call fcn.004fd010
push eax
push ebx
push esi
call fcn.00506600
push 1
push 0x52d1f8
push esi
call fcn.00506600
lea eax, [esp + 0x148]
add esp, 0x1c
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x5048a1
sub eax, ecx
push eax
call fcn.004fd010
push eax
lea eax, [esp + 0x134]
push eax
push esi
call fcn.00506600
push 1
push 0x52d1f8
push esi
call fcn.00506600
mov eax, ebp
add esp, 0x1c
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x5048d4
sub eax, ecx
push eax
call fcn.004fd010
push eax
push ebp
push esi
call fcn.00506600
lea ecx, [esp + 0x4c]
push ecx
push esi
call fcn.00506620
push 0x532754
call fcn.005065b0
mov esi, eax
add esp, 0x1c
test esi, esi
je 0x504a9c
push 0x10
lea edx, [esp + 0x40]
push edx
push esi
call fcn.00506600
push 1
push 0x52d1f8
push esi
call fcn.00506600
lea eax, [esp + 0x98]
add esp, 0x18
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x504934
sub eax, edx
push eax
call fcn.004fd010
push eax
lea eax, [esp + 0x88]
push eax
push esi
call fcn.00506600
push 1
push 0x52d1f8
push esi
call fcn.00506600
lea eax, [esp + 0x78]
add esp, 0x1c
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x504970
sub eax, edx
push eax
call fcn.004fd010
push eax
lea ecx, [esp + 0x64]
push ecx
push esi
call fcn.00506600
lea edx, [esp + 0x4c]
push edx
push esi
call fcn.00506620
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.004e9150
inc esi
add esp, 0x10
add edi, 2
cmp esi, 0x10
jb 0x5049a2
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x12c]
push ecx
push edx
call fcn.00504280
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x504a9c
push 0x532754
call fcn.005065b0
mov esi, eax
add esp, 4
test esi, esi
je 0x504a92
lea eax, [esp + 0x4c]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x504a00
sub eax, edx
push eax
call fcn.004fd010
push eax
lea eax, [esp + 0x54]
push eax
push esi
call fcn.00506600
push 1
push 0x52d1f8
push esi
call fcn.00506600
mov eax, ebp
add esp, 0x1c
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x504a30
sub eax, ecx
push eax
call fcn.004fd010
push eax
push ebp
push esi
call fcn.00506600
lea ecx, [esp + 0x4c]
push ecx
push esi
call fcn.00506620
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.004e9150
inc esi
add esp, 0x10
add edi, 2
cmp esi, 0x10
jb 0x504a60
push 0x532754
call fcn.005065b0
mov esi, eax
add esp, 4
test esi, esi
jne 0x504aa6
push ebp
call dword [0x56a194]
add esp, 4
mov eax, 0x1b
jmp 0x504c4b
push 0x20
lea eax, [esp + 0x10c]
push eax
push esi
call fcn.00506600
push 1
push 0x52d1f8
push esi
call fcn.00506600
lea eax, [esp + 0x98]
add esp, 0x18
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x504ad0
sub eax, edx
push eax
call fcn.004fd010
push eax
lea ecx, [esp + 0x88]
push ecx
push esi
call fcn.00506600
push 1
push 0x52d1f8
push esi
call fcn.00506600
lea eax, [esp + 0x4c]
add esp, 0x1c
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x504b05
sub eax, ecx
push eax
call fcn.004fd010
push eax
lea edx, [esp + 0x38]
push edx
push esi
call fcn.00506600
push 1
push 0x52d1f8
push esi
call fcn.00506600
lea eax, [esp + 0x78]
add esp, 0x1c
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x504b37
sub eax, ecx
push eax
call fcn.004fd010
push eax
lea eax, [esp + 0x64]
push eax
push esi
call fcn.00506600
push 1
push 0x52d1f8
push esi
call fcn.00506600
lea eax, [esp + 0x44]
add esp, 0x1c
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x504b70
sub eax, ecx
push eax
call fcn.004fd010
push eax
lea ecx, [esp + 0x30]
push ecx
push esi
call fcn.00506600
push 1
push 0x52d1f8
push esi
call fcn.00506600
push 0x20
lea edx, [esp + 0x104]
push edx
push esi
call fcn.00506600
lea eax, [esp + 0x64]
push eax
push esi
call fcn.00506620
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.004e9150
inc esi
add esp, 0x10
add edi, 2
cmp esi, 0x10
jb 0x504bc0
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.004e9b40
push ebp
mov esi, eax
call dword [0x56a194]
add esp, 0x28
test esi, esi
je 0x504a9c
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.00507880
push esi
mov edi, eax
call dword [0x56a194]
add esp, 0x18
mov eax, edi
pop esi
pop edi
mov ecx, dword [esp + 0x224]
pop ebp
pop ebx
xor ecx, esp
call fcn.004b8dd5
add esp, 0x220
ret