Function at 0x404c60
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4508c3
mov eax, dword fs:[0]
push eax
sub esp, 0x450
mov eax, dword [0x492040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c0], edx
mov eax, ecx
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x1fc], eax
mov edi, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp + 0x18]
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x1bc], edi
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
push 0xb0
lea eax, [ebp - 0x180]
mov dword [ebp - 4], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 8
lea ecx, [ebp - 0x180]
call fcn.00414bf0
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x170]
push 0
push 8
mov eax, dword [eax + 4]
mov byte [ebp + eax - 0x130], 0x30
lea eax, [ebp - 0x1d8]
push eax
call dword [sym.imp.MSVCP140.dll_struct_std::_Smanip_long_long___int64_____cdecl_std::setw_long_long___int64__]
add esp, 0xc
lea ecx, [ebp - 0x170]
mov edx, eax
call fcn.00418090
push 0x4020d0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
push dword [ebp + 0xc]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_int_]
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x180]
call fcn.00414b00
push eax
lea ecx, [ebp - 0x70]
call fcn.00416e60
mov ecx, dword [ebp - 0x218]
cmp ecx, 0xf
jbe 0x404dbb
mov edx, dword [ebp - 0x22c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404db1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x404db1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0044f001
add esp, 8
mov eax, dword [ebp - 0x180]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x180]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x184], eax
lea ecx, [ebp - 0x168]
call fcn.00415f50
lea ecx, [ebp - 0x160]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x118]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1b0]
push 3
push 0x458a48
movups xmmword [ebp - 0x1b0], xmm0
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
call fcn.004027a0
lea eax, [ebp - 0x1b0]
mov ecx, edi
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.0041af20
mov eax, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1b0]
mov dword [ebp - 0x198], eax
cmp byte [eax + 0xd], 0
jne 0x404eb0
mov edx, dword [eax + 0x20]
add eax, 0x10
cmp dword [eax + 0x14], 0xf
jbe 0x404e8a
mov eax, dword [eax]
cmp dword [ebp - 0x19c], 0xf
lea ecx, [ebp - 0x1b0]
push edx
mov edx, dword [ebp - 0x1a0]
cmova ecx, esi
push eax
call fcn.0041b5c0
add esp, 8
test eax, eax
je 0x404eb8
jns 0x404eb8
mov eax, dword [edi]
mov dword [ebp - 0x198], eax
mov eax, dword [edi]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x19c]
cmp eax, 0xf
jbe 0x404ef6
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x404eec
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405113
push ecx
push esi
call fcn.0044f001
add esp, 8
mov eax, dword [ebp - 0x1b4]
cmp dword [ebp - 0x198], eax
je 0x405022
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x1a0], 0
push 0x458a48
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x19c], 0
movups xmmword [ebp - 0x1b0], xmm0
call fcn.004027a0
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x1d4]
mov ecx, edi
push eax
call fcn.0041af20
mov eax, dword [ebp - 0x1cc]
cmp byte [eax + 0xd], 0
jne 0x405143
mov edx, dword [eax + 0x20]
add eax, 0x10
cmp dword [eax + 0x14], 0xf
jbe 0x404f6f
mov eax, dword [eax]
cmp dword [ebp - 0x19c], 0xf
lea ecx, [ebp - 0x1b0]
mov esi, dword [ebp - 0x1b0]
push edx
mov edx, dword [ebp - 0x1a0]
cmova ecx, esi
push eax
call fcn.0041b5c0
add esp, 8
test eax, eax
je 0x404f9f
js 0x405143
mov eax, dword [ebp - 0x1cc]
lea ecx, [ebp - 0x28]
add eax, 0x28
cmp ecx, eax
je 0x404fc4
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x404fba
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.00416c10
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x19c]
cmp eax, 0xf
jbe 0x404ffe
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x404ff4
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405113
push ecx
push esi
call fcn.0044f001
add esp, 8
push ecx
push str.auth_int
lea ecx, [ebp - 0x28]
call fcn.00416ad0
cmp eax, 0xffffffff
je 0x405119
push str.auth_int
lea ecx, [ebp - 0x28]
call fcn.00416db0
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
push 0x458a60
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 0
movups xmmword [ebp - 0x40], xmm0
call fcn.004027a0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1b0]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x1a0], 0
push str.algorithm
movups xmmword [ebp - 0x1b0], xmm0
mov dword [ebp - 0x19c], 0
call fcn.004027a0
lea eax, [ebp - 0x1b0]
mov ecx, edi
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.0041af20
mov eax, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x1b0]
mov dword [ebp - 0x198], eax
cmp byte [eax + 0xd], 0
jne 0x4050db
mov edx, dword [eax + 0x20]
add eax, 0x10
cmp dword [eax + 0x14], 0xf
jbe 0x4050b5
mov eax, dword [eax]
cmp dword [ebp - 0x19c], 0xf
lea ecx, [ebp - 0x1b0]
push edx
mov edx, dword [ebp - 0x1a0]
cmova ecx, esi
push eax
call fcn.0041b5c0
add esp, 8
test eax, eax
je 0x4050e3
jns 0x4050e3
mov eax, dword [edi]
mov dword [ebp - 0x198], eax
mov eax, dword [edi]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x19c]
cmp eax, 0xf
jbe 0x405158
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x40514e
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40514e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push str.auth
lea ecx, [ebp - 0x28]
call fcn.00416ad0
lea ecx, [ebp - 0x28]
cmp eax, 0xffffffff
je 0x405139
push str.auth
jmp 0x40501d
call fcn.00416bf0
jmp 0x405022
push str.invalid_map_K__T__key
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__]
push ecx
push esi
call fcn.0044f001
add esp, 8
mov eax, dword [ebp - 0x1b4]
cmp dword [ebp - 0x198], eax
je 0x405212
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x1a0], 0
push str.algorithm
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x19c], 0
movups xmmword [ebp - 0x1b0], xmm0
call fcn.004027a0
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x1d4]
mov ecx, edi
push eax
call fcn.0041af20
mov esi, dword [ebp - 0x1cc]
cmp byte [esi + 0xd], 0
jne 0x405143
cmp dword [esi + 0x24], 0xf
lea eax, [esi + 0x10]
mov edx, dword [eax + 0x10]
jbe 0x4051cd
mov eax, dword [eax]
cmp dword [ebp - 0x19c], 0xf
lea ecx, [ebp - 0x1b0]
push edx
cmova ecx, dword [ebp - 0x1b0]
mov edx, dword [ebp - 0x1a0]
push eax
call fcn.0041b5c0
add esp, 8
test eax, eax
je 0x4051fb
js 0x405143
lea eax, [esi + 0x28]
push eax
lea ecx, [ebp - 0x40]
call fcn.00416de0
lea ecx, [ebp - 0x1b0]
call fcn.00416e10
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0x2c]
cmp eax, 0xf
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x40]
cmova ecx, eax
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1f4], eax
cmp eax, 7
jne 0x4052c0
mov esi, eax
mov edx, str.SHA_256
sub esi, 4
jb 0x405275
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40527a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x405264
cmp esi, 0xfffffffc
je 0x4052ae
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4052a7
cmp esi, 0xfffffffd
je 0x4052ae
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4052a7
cmp esi, 0xfffffffe
je 0x4052ae
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4052a7
cmp esi, 0xffffffff
je 0x4052ae
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4052ae
sbb eax, eax
or eax, 1
jmp 0x4052b0
xor eax, eax
test eax, eax
jne 0x4052c0
mov dword [ebp - 0x194], 0x404c20
jmp 0x4052e2
mov edx, str.SHA_512
lea ecx, [ebp - 0x40]
call fcn.00418ce0
test al, al
mov esi, 0x404c00
mov ecx, 0x404c40
cmovne esi, ecx
mov dword [ebp - 0x194], esi
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x1e0], 0
push str.realm
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 0x1dc], 0
movups xmmword [ebp - 0x1f0], xmm0
call fcn.004027a0
lea eax, [ebp - 0x1f0]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x1d4]
mov ecx, edi
push eax
call fcn.0041af20
mov esi, dword [ebp - 0x1cc]
cmp byte [esi + 0xd], 0
jne 0x405143
cmp dword [esi + 0x24], 0xf
lea eax, [esi + 0x10]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x184], ecx
jbe 0x40534f
mov eax, dword [eax]
mov edx, dword [ebp - 0x1dc]
lea ecx, [ebp - 0x1f0]
push dword [ebp - 0x184]
mov edi, dword [ebp - 0x1f0]
cmp edx, 0xf
mov dword [ebp - 0x190], edx
mov edx, dword [ebp - 0x1e0]
cmova ecx, edi
push eax
call fcn.0041b5c0
add esp, 8
test eax, eax
je 0x40538c
js 0x405143
mov edx, dword [ebp - 0x1c8]
lea eax, [esi + 0x28]
mov dword [ebp - 0x184], eax
mov eax, closesocket
mov ecx, dword [edx + 0x10]
sub eax, ecx
cmp eax, 1
jb 0x406e92
cmp dword [edx + 0x14], 0xf
mov eax, edx
jbe 0x4053b8
mov eax, dword [edx]
push 1
push 0x458a80
push ecx
push eax
push ecx
push dword [ebp - 0x18c]
lea ecx, [ebp - 0x2c0]
call fcn.0041cbf0
mov esi, 0x4000
mov byte [ebp - 4], 8
lea edx, [ebp - 0x2c0]
push dword [ebp - 0x184]
lea ecx, [ebp - 0x2d8]
call fcn.00418c10
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 9
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 1
jb 0x405421
cmp dword [ecx + 0x14], 0xf
lea eax, [edx + 1]
mov dword [ecx + 0x10], eax
mov eax, ecx
jbe 0x405419
mov eax, dword [ecx]
mov word [eax + edx], 0x3a
jmp 0x405437
push 1
push 0x458a80
push dword [ebp - 0x18c]
push 1
call fcn.0041b8a0
mov ecx, eax
mov dword [ebp - 0x204], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x214], xmm0
mov dword [ebp - 0x200], 0
or esi, 0x8000
movups xmm0, xmmword [ecx]
movups xmmword [ebp - 0x214], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [ebp - 0x204], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
push dword [ebp - 0x1f8]
lea edx, [ebp - 0x214]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa0]
call fcn.00418c10
add esp, 4
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x200]
cmp ecx, 0xf
jbe 0x4054df
mov edx, dword [ebp - 0x214]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4054d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4055d2
push ecx
push edx
call fcn.0044f001
add esp, 8
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x200], 0xf
mov byte [ebp - 0x214], 0
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x2c4]
cmp ecx, 0xf
jbe 0x405538
mov edx, dword [ebp - 0x2d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40552e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4055d2
push ecx
push edx
call fcn.0044f001
add esp, 8
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0xf
mov byte [ebp - 0x2d8], 0
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x2ac]
cmp ecx, 0xf
jbe 0x40558d
mov edx, dword [ebp - 0x2c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x405583
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4055d2
push ecx
push edx
call fcn.0044f001
add esp, 8
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0xf
mov byte [ebp - 0x2c0], 0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x190]
cmp ecx, 0xf
jbe 0x4055e2
inc ecx
mov eax, edi
cmp ecx, 0x1000
jb 0x4055d8
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4055d8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edi
call fcn.0044f001
add esp, 8
mov edi, dword [ebp - 0x1c0]
mov eax, closesocket
mov ecx, dword [edi + 0x10]
sub eax, ecx
cmp eax, 1
jb 0x406e97
cmp dword [edi + 0x14], 0xf
mov eax, edi
jbe 0x405605
mov eax, dword [edi]
push 1
push 0x458a80
push ecx
push eax
push ecx
push dword [ebp - 0x18c]
lea ecx, [ebp - 0x278]
call fcn.0041cbf0
or esi, 0x10000
mov dword [ebp - 0x184], esi
mov dword [ebp - 0x188], esi
lea eax, [edi + 0x18]
mov byte [ebp - 4], 0x10
push eax
lea edx, [ebp - 0x278]
mov dword [ebp - 0x1b8], eax
lea ecx, [ebp - 0x88]
call fcn.00418c10
add esp, 4
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x264]
cmp ecx, 0xf
jbe 0x405694
mov edx, dword [ebp - 0x278]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40568a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40568a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0044f001
add esp, 8
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x28]
mov edi, dword [ebp - 0x18]
cmova ecx, dword [ebp - 0x28]
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 0xf
mov byte [ebp - 0x278], 0
cmp edi, 8
jne 0x405782
mov esi, edi
mov edx, str.auth_int
sub esi, 4
jb 0x4056e3
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4056e8
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4056d2
cmp esi, 0xfffffffc
je 0x40571c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x405715
cmp esi, 0xfffffffd
je 0x40571c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x405715
cmp esi, 0xfffffffe
je 0x40571c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x405715
cmp esi, 0xffffffff
je 0x40571c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40571c
sbb eax, eax
or eax, 1
jmp 0x40571e
xor eax, eax
mov esi, dword [ebp - 0x194]
test eax, eax
jne 0x405788
mov eax, dword [ebp - 0x1c0]
add eax, 0x38
push eax
lea eax, [ebp - 0x320]
push eax
call esi
push eax
mov edx, 0x458a80
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x22c]
call fcn.00418eb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x14
call fcn.00416d40
lea ecx, [ebp - 0x22c]
call fcn.00416e10
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 0x12
call fcn.00416e10
mov edi, dword [ebp - 0x18]
jmp 0x405788
mov esi, dword [ebp - 0x194]
lea eax, [ebp - 0x88]
push eax
test edi, edi
jne 0x4058ab
lea eax, [ebp - 0x1f0]
push eax
call esi
add esp, 8
mov edi, eax
push str.nonce
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x15
call fcn.00402760
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x1bc]
push eax
call fcn.00416240
mov esi, eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x2c0]
push eax
call dword [ebp - 0x194]
push 0x458a80
mov edx, eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x2d8]
call fcn.00418b60
push esi
mov edx, eax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x33c]
call fcn.00418c10
push 0x458a80
mov edx, eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x354]
call fcn.00418b60
push edi
mov edx, eax
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x36c]
call fcn.00418cc0
push eax
lea eax, [ebp - 0x320]
mov byte [ebp - 4], 0x1b
push eax
call dword [ebp - 0x194]
add esp, 0x20
lea ecx, [ebp - 0x58]
push eax
call fcn.00416e60
lea ecx, [ebp - 0x320]
call fcn.00416e10
lea ecx, [ebp - 0x36c]
call fcn.00416e10
lea ecx, [ebp - 0x354]
call fcn.00416e10
lea ecx, [ebp - 0x33c]
call fcn.00416e10
lea ecx, [ebp - 0x2d8]
call fcn.00416e10
lea ecx, [ebp - 0x2c0]
call fcn.00416e10
lea ecx, [ebp - 0x22c]
call fcn.00416e10
lea ecx, [ebp - 0x1f0]
jmp 0x405b63
lea eax, [ebp - 0x290]
push eax
call esi
add esp, 8
mov edi, eax
push str.nonce
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x1c
call fcn.00402760
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x1bc]
push eax
call fcn.00416240
mov esi, eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x2a8]
push eax
call dword [ebp - 0x194]
push 0x458a80
mov edx, eax
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x214]
call fcn.00418b60
push esi
mov edx, eax
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x2f0]
call fcn.00418c10
push 0x458a80
mov edx, eax
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x308]
call fcn.00418b60
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x21
push ecx
mov edx, eax
lea ecx, [ebp - 0x1b0]
call fcn.00418c10
push 0x458a80
mov edx, eax
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x33c]
call fcn.00418b60
push dword [ebp - 0x1c4]
mov edx, eax
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x354]
call fcn.00418c10
push 0x458a80
mov edx, eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x36c]
call fcn.00418b60
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x25
push ecx
mov edx, eax
lea ecx, [ebp - 0x320]
call fcn.00418c10
push 0x458a80
mov edx, eax
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x1f0]
call fcn.00418b60
mov byte [ebp - 4], 0x27
push edi
mov edx, eax
lea ecx, [ebp - 0x2c0]
call fcn.00418cc0
push eax
lea eax, [ebp - 0x2d8]
mov byte [ebp - 4], 0x28
push eax
call dword [ebp - 0x194]
add esp, 0x38
lea ecx, [ebp - 0x58]
push eax
call fcn.00416e60
mov ecx, dword [ebp - 0x2c4]
cmp ecx, 0xf
jbe 0x405a24
mov edx, dword [ebp - 0x2d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x405a1a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405ac4
push ecx
push edx
call fcn.0044f001
add esp, 8
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x2ac]
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0xf
mov byte [ebp - 0x2d8], 0
cmp ecx, 0xf
jbe 0x405a79
mov edx, dword [ebp - 0x2c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x405a6f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405ac4
push ecx
push edx
call fcn.0044f001
add esp, 8
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x1dc]
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0xf
mov byte [ebp - 0x2c0], 0
cmp ecx, 0xf
jbe 0x405ad4
mov edx, dword [ebp - 0x1f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x405aca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x405aca
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0044f001
add esp, 8
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0xf
mov byte [ebp - 0x1f0], 0
call fcn.00416e10
lea ecx, [ebp - 0x36c]
call fcn.00416e10
lea ecx, [ebp - 0x354]
call fcn.00416e10
lea ecx, [ebp - 0x33c]
call fcn.00416e10
lea ecx, [ebp - 0x1b0]
call fcn.00416e10
lea ecx, [ebp - 0x308]
call fcn.00416e10
lea ecx, [ebp - 0x2f0]
call fcn.00416e10
lea ecx, [ebp - 0x214]
call fcn.00416e10
lea ecx, [ebp - 0x2a8]
call fcn.00416e10
lea ecx, [ebp - 0x22c]
call fcn.00416e10
lea ecx, [ebp - 0x290]
call fcn.00416e10
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x74]
cmp ecx, 0xf
jbe 0x405b9f
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x405b95
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405be4
push ecx
push edx
call fcn.0044f001
add esp, 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
cmp ecx, 0xf
jbe 0x405bf4
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x405bea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x405bea
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0044f001
add esp, 8
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x204], 0
push str.opaque
lea ecx, [ebp - 0x214]
mov dword [ebp - 0x200], 0
movups xmmword [ebp - 0x214], xmm0
call fcn.004027a0
lea eax, [ebp - 0x214]
mov byte [ebp - 4], 0x29
mov edi, dword [ebp - 0x1bc]
mov ecx, edi
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.0041af20
mov esi, dword [ebp - 0x1cc]
cmp byte [esi + 0xd], 0
jne 0x405cd8
cmp dword [esi + 0x24], 0xf
lea eax, [esi + 0x10]
mov edx, dword [eax + 0x10]
jbe 0x405c61
mov eax, dword [eax]
cmp dword [ebp - 0x200], 0xf
lea ecx, [ebp - 0x214]
push edx
cmova ecx, dword [ebp - 0x214]
mov edx, dword [ebp - 0x204]
push eax
call fcn.0041b5c0
add esp, 8
test eax, eax
je 0x405c8b
js 0x405cd8
cmp esi, dword [edi]
je 0x405cd8
push str.opaque
lea ecx, [ebp - 0x22c]
call fcn.00402760
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x22c]
mov esi, dword [ebp - 0x184]
mov ecx, edi
or esi, 1
push eax
mov dword [ebp - 0x188], esi
call fcn.00416240
push eax
lea ecx, [ebp - 0xa0]
call fcn.00416ee0
mov dword [ebp - 4], 0x2b
or esi, 2
jmp 0x405cf8
push 0x458932
lea ecx, [ebp - 0x320]
call fcn.00402760
mov dword [ebp - 4], 0x2c
mov esi, dword [ebp - 0x184]
or esi, 4
push eax
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x188], esi
mov dword [ebp - 0x184], esi
call fcn.00416ee0
mov dword [ebp - 4], 0x2d
mov eax, esi
test al, 4
je 0x405d3d
and eax, 0xfffffffb
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x188], eax
call fcn.00416e10
mov eax, dword [ebp - 0x184]
test al, 2
je 0x405d61
and eax, 0xfffffffd
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x188], eax
call fcn.00416e10
mov eax, dword [ebp - 0x184]
test al, 1
je 0x405d7f
and eax, 0xfffffffe
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x188], eax
call fcn.00416e10
mov byte [ebp - 4], 0x31
mov eax, dword [ebp - 0x200]
cmp eax, 0xf
jbe 0x405dcb
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x214]
mov edx, eax
cmp ecx, 0x1000
jb 0x405dc1
mov eax, dword [edx - 4]
add ecx, 0x23
sub edx, eax
mov dword [ebp - 0x190], eax
lea eax, [edx - 4]
cmp eax, 0x1f
ja 0x404dab
mov eax, dword [ebp - 0x190]
push ecx
push eax
call fcn.0044f001
add esp, 8
cmp dword [ebp - 0xa8], 0
jne 0x405df9
push 0x458932
lea ecx, [ebp - 0x444]
call fcn.00402760
mov dword [ebp - 0x1c0], eax
mov byte [ebp - 4], 0x32
mov edi, dword [ebp - 0x184]
or edi, 8
jmp 0x405e4b
lea eax, [ebp - 0xb8]
mov edx, str.__opaque_
push eax
lea ecx, [ebp - 0x42c]
call fcn.00418e50
mov dword [ebp - 4], 0x33
lea ecx, [ebp - 0x414]
mov edi, dword [ebp - 0x184]
mov edx, eax
or edi, 0x10
push 0x458a9c
mov dword [ebp - 0x188], edi
call fcn.00418b60
add esp, 8
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 4], 0x34
or edi, 0x20
cmp dword [ebp - 0x18], 0
mov dword [ebp - 0x188], edi
jne 0x405e7c
push str.__response_
lea ecx, [ebp - 0x3fc]
call fcn.00402760
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 4], 0x35
or edi, 0x40
jmp 0x405f5f
lea eax, [ebp - 0x28]
mov edx, str.__qop
push eax
lea ecx, [ebp - 0x3e4]
call fcn.00418e50
mov dword [ebp - 4], 0x36
lea ecx, [ebp - 0x45c]
or edi, 0x80
mov edx, eax
push str.__nc
mov dword [ebp - 0x188], edi
call fcn.00418b60
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x37
push ecx
or edi, 0x100
lea ecx, [ebp - 0x3b4]
mov edx, eax
mov dword [ebp - 0x188], edi
call fcn.00418c10
mov dword [ebp - 4], 0x38
lea ecx, [ebp - 0x39c]
or edi, 0x200
mov edx, eax
push str.__cnonce_
mov dword [ebp - 0x188], edi
call fcn.00418b60
push dword [ebp - 0x1c4]
mov dword [ebp - 4], 0x39
lea ecx, [ebp - 0x384]
or edi, 0x400
mov edx, eax
mov dword [ebp - 0x188], edi
call fcn.00418c10
mov dword [ebp - 4], 0x3a
lea ecx, [ebp - 0x3cc]
or edi, 0x800
mov edx, eax
push str.___response_
mov dword [ebp - 0x188], edi
call fcn.00418b60
add esp, 0x18
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 4], 0x3b
or edi, 0x1000
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x188], edi
push str.nonce
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 0x1e0], 0
movups xmmword [ebp - 0x1f0], xmm0
mov dword [ebp - 0x1dc], 0
call fcn.004027a0
lea eax, [ebp - 0x1f0]
mov dword [ebp - 4], 0x3c
mov esi, dword [ebp - 0x1bc]
mov ecx, esi
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.0041af20
mov eax, dword [ebp - 0x1cc]
cmp byte [eax + 0xd], 0
jne 0x405143
mov ecx, dword [eax + 0x20]
add eax, 0x10
mov dword [ebp - 0x190], ecx
cmp dword [eax + 0x14], 0xf
jbe 0x405fdb
mov eax, dword [eax]
mov edx, dword [ebp - 0x1dc]
lea ecx, [ebp - 0x1f0]
push dword [ebp - 0x190]
cmp edx, 0xf
mov dword [ebp - 0x324], edx
mov edx, dword [ebp - 0x1f0]
cmova ecx, edx
mov dword [ebp - 0x1fc], edx
mov edx, dword [ebp - 0x1e0]
push eax
call fcn.0041b5c0
add esp, 8
test eax, eax
je 0x40601e
js 0x405143
mov eax, dword [ebp - 0x1cc]
lea ecx, [ebp - 0x278]
push 5
add eax, 0x28
mov dword [ebp - 0x268], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1f8], eax
push str.realm
movups xmmword [ebp - 0x278], xmm0
mov dword [ebp - 0x264], 0
call fcn.004027a0
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 0x3d
push eax
lea eax, [ebp - 0x1d4]
mov ecx, esi
push eax
call fcn.0041af20
mov esi, dword [ebp - 0x1cc]
cmp byte [esi + 0xd], 0
jne 0x405143
cmp dword [esi + 0x24], 0xf
lea eax, [esi + 0x10]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x190], ecx
jbe 0x40609a
mov eax, dword [eax]
mov edx, dword [ebp - 0x264]
lea ecx, [ebp - 0x278]
push dword [ebp - 0x190]
cmp edx, 0xf
mov dword [ebp - 0x1bc], edx
mov edx, dword [ebp - 0x278]
cmova ecx, edx
mov dword [ebp - 0x194], edx
mov edx, dword [ebp - 0x268]
push eax
call fcn.0041b5c0
add esp, 8
test eax, eax
je 0x4060dd
js 0x405143
mov ecx, dword [ebp - 0x1c8]
lea eax, [esi + 0x28]
mov dword [ebp - 0x190], eax
mov edx, closesocket
mov eax, dword [ecx + 0x10]
sub edx, eax
cmp edx, 0x11
jb 0x406e9c
cmp dword [ecx + 0x14], 0xf
jbe 0x406107
mov ecx, dword [ecx]
push eax
push ecx
push 0x11
push str.Digest_username_
push ecx
push dword [ebp - 0x18c]
lea ecx, [ebp - 0x2a8]
call fcn.0041cbf0
or edi, 0x20000
mov dword [ebp - 0x188], edi
mov byte [ebp - 4], 0x3e
mov edx, dword [ebp - 0x294]
mov eax, edx
mov ecx, dword [ebp - 0x298]
sub eax, ecx
push 0xa
push str.___realm_
cmp eax, 0xa
jb 0x40617e
cmp edx, 0xf
lea esi, [ebp - 0x2a8]
lea eax, [ecx + 0xa]
cmova esi, dword [ebp - 0x2a8]
add esi, ecx
mov dword [ebp - 0x298], eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 0xa], 0
lea eax, [ebp - 0x2a8]
jmp 0x406191
push dword [ebp - 0x18c]
lea ecx, [ebp - 0x2a8]
push 0xa
call fcn.0041b8a0
mov dword [ebp - 0x1a0], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1b0], xmm0
mov dword [ebp - 0x19c], 0
or edi, 0x40000
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1b0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1a0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x188], edi
mov byte [ebp - 4], 0x3f
lea edx, [ebp - 0x1b0]
push dword [ebp - 0x190]
lea ecx, [ebp - 0x36c]
call fcn.00418c10
mov ecx, eax
add esp, 4
mov dword [ebp - 0x190], ecx
mov byte [ebp - 4], 0x40
mov esi, dword [ecx + 0x14]
mov eax, esi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 0xa
jb 0x40624a
lea eax, [edx + 0xa]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp esi, 0xf
jbe 0x40622b
mov eax, dword [ecx]
push 0xa
lea esi, [eax + edx]
push str.___nonce_
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x190]
add esp, 0xc
mov byte [esi + 0xa], 0
jmp 0x40625e
push 0xa
push str.___nonce_
push dword [ebp - 0x18c]
push 0xa
call fcn.0041b8a0
mov dword [ebp - 0x2f8], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x308], xmm0
mov dword [ebp - 0x2f4], 0
or edi, 0x80000
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x308], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2f8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x188], edi
push dword [ebp - 0x1f8]
lea edx, [ebp - 0x308]
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x354]
call fcn.00418c10
mov ecx, eax
add esp, 4
mov dword [ebp - 0x190], ecx
mov byte [ebp - 4], 0x42
mov esi, dword [ecx + 0x14]
mov eax, esi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 8
jb 0x406317
lea eax, [edx + 8]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp esi, 0xf
jbe 0x4062f8
mov eax, dword [ecx]
push 8
lea esi, [edx + eax]
push str.___uri_
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x190]
add esp, 0xc
mov byte [esi + 8], 0
jmp 0x40632b
push 8
push str.___uri_
push dword [ebp - 0x18c]
push 8
call fcn.0041b8a0
mov dword [ebp - 0x2e0], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x2f0], xmm0
mov dword [ebp - 0x2dc], 0
or edi, 0x100000
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2f0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2e0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x188], edi
push dword [ebp - 0x1b8]
lea edx, [ebp - 0x2f0]
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x33c]
call fcn.00418c10
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1b8], ecx
mov byte [ebp - 4], 0x44
mov esi, dword [ecx + 0x14]
mov eax, esi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 0xd
jb 0x4063e4
lea eax, [edx + 0xd]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp esi, 0xf
jbe 0x4063c5
mov eax, dword [ecx]
push 0xd
lea esi, [eax + edx]
push str.___algorithm
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x1b8]
add esp, 0xc
mov byte [esi + 0xd], 0
jmp 0x4063f8
push 0xd
push str.___algorithm
push dword [ebp - 0x18c]
push 0xd
call fcn.0041b8a0
mov dword [ebp - 0x238], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x248], xmm0
mov dword [ebp - 0x234], 0
or edi, 0x200000
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x248], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x238], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x188], edi
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x40]
cmp dword [ebp - 0x1b4], 0xf
mov edx, dword [ebp - 0x238]
cmova ecx, dword [ebp - 0x198]
mov eax, dword [ebp - 0x234]
mov esi, dword [ebp - 0x1f4]
sub eax, edx
mov dword [ebp - 0x1b8], edx
cmp esi, eax
ja 0x4064c7
cmp dword [ebp - 0x234], 0xf
lea eax, [esi + edx]
push dword [ebp - 0x1f4]
lea esi, [ebp - 0x248]
mov dword [ebp - 0x238], eax
cmova esi, dword [ebp - 0x248]
push ecx
lea eax, [esi + edx]
push eax
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x1f4]
add esp, 0xc
mov ecx, dword [ebp - 0x1b8]
add eax, esi
mov byte [eax + ecx], 0
lea eax, [ebp - 0x248]
jmp 0x4064ed
push esi
push ecx
push dword [ebp - 0x18c]
lea ecx, [ebp - 0x248]
push esi
call fcn.0041b8a0
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1b4], edx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x198], edx
movups xmm0, xmmword [eax]
or edi, 0x400000
movups xmmword [ebp - 0x22c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x21c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x188], edi
push dword [ebp - 0x1c4]
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 0x46
push eax
push dword [ebp - 0x18c]
lea ecx, [ebp - 0x290]
call fcn.0041ca10
or edi, 0x800000
mov dword [ebp - 0x188], edi
mov byte [ebp - 4], 0x47
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 0x44]
cmp eax, 0xf
mov esi, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x58]
cmova edx, eax
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x27c]
sub eax, esi
push ecx
push edx
cmp ecx, eax
ja 0x4065c2
cmp dword [ebp - 0x27c], 0xf
lea eax, [esi + ecx]
mov dword [ebp - 0x280], eax
lea eax, [ebp - 0x290]
cmova eax, dword [ebp - 0x290]
add esi, eax
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x48]
add esp, 0xc
mov byte [eax + esi], 0
lea eax, [ebp - 0x290]
mov esi, dword [ebp - 0x1b8]
jmp 0x4065e0
push dword [ebp - 0x18c]
push ecx
lea ecx, [ebp - 0x290]
call fcn.0041b8a0
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x1c8], ecx
mov dword [ebp - 0x250], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x260], xmm0
mov dword [ebp - 0x24c], 0
or edi, 0x1000000
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x260], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x250], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x188], edi
mov byte [ebp - 4], 0x48
mov edx, dword [ebp - 0x24c]
mov eax, edx
mov ecx, dword [ebp - 0x250]
sub eax, ecx
cmp eax, 1
jb 0x406672
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [ebp - 0x250], eax
lea eax, [ebp - 0x260]
cmova eax, dword [ebp - 0x260]
mov word [eax + ecx], 0x22
lea eax, [ebp - 0x260]
jmp 0x40668c
push 1
push 0x458a9c
push dword [ebp - 0x18c]
lea ecx, [ebp - 0x260]
push 1
call fcn.0041b8a0
movups xmm0, xmmword [eax]
or edi, 0x2000000
movups xmmword [ebp - 0x320], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x310], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x188], edi
push dword [ebp - 0x1c0]
lea eax, [ebp - 0x320]
mov byte [ebp - 4], 0x49
push eax
push dword [ebp - 0x18c]
lea ecx, [ebp - 0xd0]
call fcn.0041ca10
or edi, 0x4000000
mov dword [ebp - 0x184], edi
mov byte [ebp - 4], 0x4b
mov ecx, dword [ebp - 0x30c]
cmp ecx, 0xf
jbe 0x40672c
mov edx, dword [ebp - 0x320]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406722
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406b4e
push ecx
push edx
call fcn.0044f001
add esp, 8
mov byte [ebp - 4], 0x4c
mov ecx, dword [ebp - 0x24c]
cmp ecx, 0xf
jbe 0x40676a
mov edx, dword [ebp - 0x260]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406760
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406b4e
push ecx
push edx
call fcn.0044f001
add esp, 8
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0x27c]
cmp ecx, 0xf
jbe 0x4067c3
mov edx, dword [ebp - 0x290]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4067b9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406b4e
push ecx
push edx
call fcn.0044f001
add esp, 8
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x27c], 0xf
mov byte [ebp - 0x290], 0
mov byte [ebp - 4], 0x4e
mov ecx, dword [ebp - 0x218]
cmp ecx, 0xf
jbe 0x40681c
mov edx, dword [ebp - 0x22c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406812
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406b4e
push ecx
push edx
call fcn.0044f001
add esp, 8
mov byte [ebp - 4], 0x4f
mov ecx, dword [ebp - 0x234]
cmp ecx, 0xf
jbe 0x40685a
mov edx, dword [ebp - 0x248]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406850
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406b4e
push ecx
push edx
call fcn.0044f001
add esp, 8
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
mov byte [ebp - 4], 0x50
mov ecx, dword [ebp - 0x328]
cmp ecx, 0xf
jbe 0x4068b3
mov edx, dword [ebp - 0x33c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4068a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406b4e
push ecx
push edx
call fcn.0044f001
add esp, 8
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0xf
mov byte [ebp - 0x33c], 0
mov byte [ebp - 4], 0x51
mov ecx, dword [ebp - 0x2dc]
cmp ecx, 0xf
jbe 0x40690c
mov edx, dword [ebp - 0x2f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406902
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406b4e
push ecx
push edx
call fcn.0044f001
add esp, 8
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2dc], 0xf
mov byte [ebp - 0x2f0], 0
mov byte [ebp - 4], 0x52
mov ecx, dword [ebp - 0x340]
cmp ecx, 0xf
jbe 0x406965
mov edx, dword [ebp - 0x354]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40695b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406b4e
push ecx
push edx
call fcn.0044f001
add esp, 8
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x340], 0xf
mov byte [ebp - 0x354], 0
mov byte [ebp - 4], 0x53
mov ecx, dword [ebp - 0x2f4]
cmp ecx, 0xf
jbe 0x4069be
mov edx, dword [ebp - 0x308]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4069b4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406b4e
push ecx
push edx
call fcn.0044f001
add esp, 8
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 0xf
mov byte [ebp - 0x308], 0
mov byte [ebp - 4], 0x54
mov ecx, dword [ebp - 0x358]
cmp ecx, 0xf
jbe 0x406a17
mov edx, dword [ebp - 0x36c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406a0d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406b4e
push ecx
push edx
call fcn.0044f001
add esp, 8
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x358], 0xf
mov byte [ebp - 0x36c], 0
mov byte [ebp - 4], 0x55
mov ecx, dword [ebp - 0x19c]
cmp ecx, 0xf
jbe 0x406a70
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406a66
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406b4e
push ecx
push edx
call fcn.0044f001
add esp, 8
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
mov byte [ebp - 4], 0x56
mov ecx, dword [ebp - 0x294]
cmp ecx, 0xf
jbe 0x406ac9
mov edx, dword [ebp - 0x2a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406abf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406b4e
push ecx
push edx
call fcn.0044f001
add esp, 8
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x294], 0xf
mov byte [ebp - 0x2a8], 0
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x1bc]
cmp ecx, 0xf
jbe 0x406b1e
mov edx, dword [ebp - 0x194]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406b14
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406b4e
push ecx
push edx
call fcn.0044f001
add esp, 8
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x324]
cmp ecx, 0xf
jbe 0x406b5e
mov edx, dword [ebp - 0x1fc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406b54
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x406b54
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0044f001
add esp, 8
mov eax, dword [ebp - 0x184]
test eax, 0x1000
je 0x406b87
and eax, 0xffffefff
lea ecx, [ebp - 0x3cc]
mov dword [ebp - 0x184], eax
call fcn.00416e10
mov eax, dword [ebp - 0x184]
test eax, 0x800
je 0x406baa
and eax, 0xfffff7ff
lea ecx, [ebp - 0x384]
mov dword [ebp - 0x184], eax
call fcn.00416e10
mov eax, dword [ebp - 0x184]
test eax, 0x400
je 0x406bcd
and eax, 0xfffffbff
lea ecx, [ebp - 0x39c]
mov dword [ebp - 0x184], eax
call fcn.00416e10
mov eax, dword [ebp - 0x184]
test eax, 0x200
je 0x406bf0
and eax, 0xfffffdff
lea ecx, [ebp - 0x3b4]
mov dword [ebp - 0x184], eax
call fcn.00416e10
mov eax, dword [ebp - 0x184]
test eax, 0x100
je 0x406c13
and eax, 0xfffffeff
lea ecx, [ebp - 0x45c]
mov dword [ebp - 0x184], eax
call fcn.00416e10
mov eax, dword [ebp - 0x184]
test al, al
jns 0x406c33
and eax, 0xffffff7f
lea ecx, [ebp - 0x3e4]
mov dword [ebp - 0x184], eax
call fcn.00416e10
mov eax, dword [ebp - 0x184]
test al, 0x40
je 0x406c51
and eax, 0xffffffbf
lea ecx, [ebp - 0x3fc]
mov dword [ebp - 0x184], eax
call fcn.00416e10
mov eax, dword [ebp - 0x184]
test al, 0x20
je 0x406c6f
and eax, 0xffffffdf
lea ecx, [ebp - 0x414]
mov dword [ebp - 0x184], eax
call fcn.00416e10
mov eax, dword [ebp - 0x184]
test al, 0x10
je 0x406c8d
and eax, 0xffffffef
lea ecx, [ebp - 0x42c]
mov dword [ebp - 0x184], eax
call fcn.00416e10
mov eax, dword [ebp - 0x184]
mov byte [ebp - 4], 0x62
test al, 8
je 0x406ca0
lea ecx, [ebp - 0x444]
call fcn.00416e10
cmp byte [ebp + 0x1c], 0
mov ecx, str.Authorization
mov eax, str.Proxy_Authorization
cmove eax, ecx
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x230], eax
lea eax, [ebp - 0xd0]
push eax
call fcn.00416ee0
mov edi, dword [ebp - 0x18c]
lea eax, [ebp - 0x230]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x63
call fcn.00418fa0
mov ecx, dword [ebp - 0x218]
cmp ecx, 0xf
jbe 0x406d1b
mov edx, dword [ebp - 0x22c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406d11
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406e65
push ecx
push edx
call fcn.0044f001
add esp, 8
mov ecx, dword [ebp - 0xbc]
cmp ecx, 0xf
jbe 0x406d55
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406d4b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406e65
push ecx
push edx
call fcn.0044f001
add esp, 8
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0xf
jbe 0x406d8f
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406d85
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406e65
push ecx
push edx
call fcn.0044f001
add esp, 8
mov eax, dword [ebp - 0x1c8]
cmp eax, 0xf
jbe 0x406dc5
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x406dbb
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406e65
push ecx
push esi
call fcn.0044f001
add esp, 8
mov eax, dword [ebp - 0x1b4]
cmp eax, 0xf
jbe 0x406dfd
mov edx, dword [ebp - 0x198]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x406df3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406e65
push ecx
push edx
call fcn.0044f001
add esp, 8
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x406e2d
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406e23
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406e65
push ecx
push edx
call fcn.0044f001
add esp, 8
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp ecx, 0xf
jbe 0x406e75
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406e6b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x406e6b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0044f001
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0044ec8d
mov esp, ebp
pop ebp
ret
call fcn.00401700
call fcn.00401700
call fcn.00401700
int3