Function at 0x18005aa30
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x108
mov rax, qword [0x1800a31a8]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov eax, 2
imul rax, rax, 0xe
mov rcx, qword [str._IJ___cNcGmtoinPjFi]
movzx eax, word [rcx + rax]
cmp eax, 0x28
jne 0x18005aa8f
mov eax, 2
imul rax, rax, 4
mov ecx, 0x6a
mov rdx, qword [str._IJ___cNcGmtoinPjFi]
mov word [rdx + rax], cx
movzx eax, byte [0x1800a2eaa]
add eax, 0x585b
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
sub eax, 0x918b
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
add eax, 0xfd
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
xor eax, 0x2c9
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0x8d
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
and eax, 0x82eb
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
btc eax, 7
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
imul eax, eax, 0x985e
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
xor eax, 0xfa
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
imul eax, eax, 0x8acc
mov word [0x1800a2eac], ax
mov qword [rsp + 0x28], 0
movzx eax, byte [0x1800a2eac]
or eax, 0x49
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
and eax, 0x2c2a
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
and eax, 0x5e
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
or eax, 0x35b5
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0x93
mov byte [0x1800a2eaa], al
mov qword [rsp + 0x38], 0
movzx eax, word [0x1800a2eac]
xor eax, 0xe2cc
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
xor eax, 0xb5
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
and eax, 0xf846
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
sub eax, 0x5f09
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
add eax, 0x8e
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
and eax, 0xb9
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
add eax, 0x64dd
mov word [0x1800a2eac], ax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x98], rax
movzx eax, byte [0x1800a2eac]
sub eax, 0x48
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
or eax, 0x36
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
or eax, 0xea5d
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
imul eax, eax, 0x2f2a
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
and eax, 0x61
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
sub eax, 0xe4
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
and eax, 0xe623
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
sub eax, 0x52d
mov word [0x1800a2eac], ax
mov eax, dword [rsp + 0x120]
mov qword [rsp + 0xa0], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, qword [rsp + 0xa0]
mov r8, rcx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x70], 0
jne 0x18005ada6
movzx eax, byte [0x1800a2eac]
add eax, 0xbd
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
add eax, 0xa6
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
and eax, 0xbe
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
xor eax, 0x9962
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
xor eax, 0x6b
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
or eax, 0xd6
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
and eax, 0xa16f
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
sub eax, 0x69
mov byte [0x1800a2eaa], al
jmp 0x18005bdd0
movzx eax, byte [0x1800a2eac]
imul eax, eax, 0x35
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
add eax, 0x26
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0x60c7
mov word [0x1800a2eac], ax
mov eax, dword [rsp + 0x120]
sub rax, qword [rsp + 0x28]
cmp rax, 0x20
jae 0x18005ae02
mov eax, dword [rsp + 0x120]
sub rax, qword [rsp + 0x28]
mov qword [rsp + 0x88], rax
jmp 0x18005ae0e
mov qword [rsp + 0x88], 0x20
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0xaed4
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
sub eax, 0xcf0d
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
imul eax, eax, 0x7b50
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
or eax, 0x20ee
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
sub eax, 0xc3
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
sub eax, 0x4a88
mov word [0x1800a2eac], ax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov r8, qword [rsp + 0x20]
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.180047d30
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x20], 0x20
jae 0x18005b127
movzx eax, byte [0x1800a2eaa]
xor eax, 0xec
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
sub eax, 0xf0b7
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
add eax, 0x1cdd
mov word [0x1800a2eac], ax
mov rax, qword [rsp + 0x20]
sub rax, 0x10
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
lea rax, [rsp + rax + 0xc0]
mov rcx, qword [rsp + 0x20]
lea rcx, [rsp + rcx + 0xc0]
mov r8, qword [rsp + 0x110]
mov rdx, rax
call fcn.180066170
movzx eax, word [0x1800a2eac]
imul eax, eax, 0x5754
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
or eax, 0x4a17
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
and eax, 0x1117
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
and eax, 0x2c
mov byte [0x1800a2eaa], al
mov qword [rsp + 0x40], 0
jmp 0x18005afa9
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x20]
cmp qword [rsp + 0x40], rax
jae 0x18005b07b
movzx eax, word [0x1800a2eac]
and eax, 0x6e33
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
or eax, 0xdf
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0x7f26
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0x8148
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
and eax, 0x6f
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
and eax, 0x8d
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0x4fca
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
add eax, 0x38
mov byte [0x1800a2eaa], al
mov rax, qword [rsp + 0x40]
movzx eax, byte [rsp + rax + 0xd0]
mov rcx, qword [rsp + 0x40]
movzx ecx, byte [rsp + rcx + 0xc0]
xor ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x40]
mov byte [rsp + rcx + 0xc0], al
jmp 0x18005af9c
movzx eax, byte [0x1800a2eac]
and eax, 0x6e
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
and eax, 0xd5
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
add eax, 0x538a
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
add eax, 0xd3
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
or eax, 0xf779
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
or eax, 0x99a0
mov word [0x1800a2eac], ax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov r8, qword [rsp + 0x20]
lea rdx, [rsp + 0xc0]
mov rcx, rax
call fcn.180047d30
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x18005bcdc
movzx eax, byte [0x1800a2eac]
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
bts eax, 7
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
and eax, 0x5d
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
or eax, 0x3a
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0xb363
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
sub eax, 0x36
mov byte [0x1800a2eaa], al
mov qword [rsp + 0x80], reloc.WS2_32.dll_recv
movzx eax, word [0x1800a2eac]
sub eax, 0x288e
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
sub eax, 0x7c50
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
and eax, 0x7d02
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
or eax, 0xb2cd
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
sub eax, 0x980
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
sub eax, 0xbfee
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
xor eax, 0x37
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0xb
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
sub eax, 0x16
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
sub eax, 0x2b2d
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
sub eax, 0x28
mov byte [0x1800a2eaa], al
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x68], rax
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0x8a
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
and eax, 0x4f3a
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
or eax, 0x59d5
mov word [0x1800a2eac], ax
mov rax, qword [rsp + 0x68]
add rax, 0x10
mov qword [rsp + 0x78], rax
movzx eax, word [0x1800a2eac]
xor eax, 0x9a35
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
sub eax, 0x7f
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
and eax, 0x6cf7
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
imul eax, eax, 0x28
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0x55
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
xor eax, 0x14
mov byte [0x1800a2eaa], al
mov rax, qword [rsp + 0x78]
add rax, 0x10
mov qword [rsp + 0x30], rax
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0x55
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
xor eax, 0x73
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
and eax, 0x7d
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
add eax, 0xfaba
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
add eax, 0x87
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
add eax, 0xac23
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
xor eax, 0x6b
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
xor eax, 0x5c
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
sub eax, 0xf8fe
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
and eax, 0x67ba
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
xor eax, 0x61
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
xor eax, 0x1f
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
sub eax, 0xe62
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
and eax, 0x440
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
add eax, 0x697
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
add eax, 0xa
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
imul eax, eax, 0xe2b4
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
add eax, 0xe64d
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
or eax, 0x4815
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
sub eax, 0x54
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
and eax, 0xed
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
add eax, 0xf34b
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
add eax, 0x38
mov byte [0x1800a2eaa], al
mov eax, dword [rsp + 0x120]
sub rax, qword [rsp + 0x28]
cmp rax, 0x10
jae 0x18005b4e0
mov eax, dword [rsp + 0x120]
sub rax, qword [rsp + 0x28]
mov qword [rsp + 0x90], rax
jmp 0x18005b4ec
mov qword [rsp + 0x90], reloc.WS2_32.dll_recv
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
movzx eax, byte [0x1800a2eaa]
and eax, 0xdd
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
or eax, 0x88
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
imul eax, eax, 0x45
mov byte [0x1800a2eaa], al
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov r8, qword [rsp + 0x20]
mov rdx, rax
mov rcx, qword [rsp + 0x30]
call fcn.180047d30
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov r8, qword [rsp + 0x110]
lea rdx, [rsp + 0xb0]
mov rcx, qword [rsp + 0x78]
call fcn.180066170
cmp qword [rsp + 0x20], 0
je 0x18005b595
cmp qword [rsp + 0x20], 0x10
jne 0x18005b717
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0x75b9
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
sub eax, 0xb1
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
add eax, 0xac
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
add eax, 0x98fb
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
sub eax, 0xbb
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
xor eax, 0x79
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0xc6
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
imul eax, eax, 0x50
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0xe33e
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
xor eax, 0x84
mov byte [0x1800a2eaa], al
mov qword [rsp + 0x48], 0
jmp 0x18005b663
mov rax, qword [rsp + 0x48]
inc rax
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0x10
jae 0x18005b712
movzx eax, byte [0x1800a2eac]
and eax, 0x9d
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
or eax, 0x3a90
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
and eax, 0x72bf
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
xor eax, 0x7be6
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
or eax, 0x89e
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
or eax, 0x69
mov byte [0x1800a2eaa], al
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
movzx eax, byte [rax]
mov rcx, qword [rsp + 0x48]
movzx ecx, byte [rsp + rcx + 0xb0]
xor ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x48]
mov byte [rsp + rcx + 0xb0], al
jmp 0x18005b656
jmp 0x18005bb88
movzx eax, byte [0x1800a2eac]
or eax, 0xe2
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
or eax, 0x5d9a
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
or eax, 0x2d9
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
or eax, 0x8ad4
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
and eax, 0x42
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
add eax, 0x93
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
or eax, 0xda
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
xor eax, 0xd995
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0x65ba
mov word [0x1800a2eac], ax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x80], rax
movzx eax, byte [0x1800a2eac]
sub eax, 0xed
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
sub eax, 0x27fd
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
add eax, 0x3143
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
xor eax, 0x5aec
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
and eax, 0x202f
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
and eax, 0x84aa
mov word [0x1800a2eac], ax
mov qword [rsp + 0x50], 0
jmp 0x18005b853
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x20]
cmp qword [rsp + 0x50], rax
jae 0x18005b916
movzx eax, byte [0x1800a2eaa]
and eax, 0xe369
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
sub eax, 0x7c
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0xf56f
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
imul eax, eax, 0x5696
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
and eax, 0x22
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
and eax, 0x63
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
or eax, 0xf44
mov word [0x1800a2eac], ax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
movzx eax, byte [rax]
mov rcx, qword [rsp + 0x50]
movzx ecx, byte [rsp + rcx + 0xb0]
xor ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x50]
mov byte [rsp + rcx + 0xb0], al
jmp 0x18005b846
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0x5c
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0x60c0
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
sub eax, 0x533
mov word [0x1800a2eac], ax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x60], rax
jmp 0x18005b966
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0x10
jae 0x18005ba02
movzx eax, byte [0x1800a2eaa]
and eax, 0xd7
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
or eax, 0xbbcf
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
or eax, 0xc9d3
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
or eax, 0x7b
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0x5deb
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
xor eax, 0x38
mov byte [0x1800a2eaa], al
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x60]
movzx ecx, byte [rsp + rcx + 0xb0]
mov byte [rax], cl
jmp 0x18005b959
mov r8, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
call fcn.180066170
movzx eax, byte [0x1800a2eac]
sub eax, 2
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
imul eax, eax, 0x32
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
sub eax, 0x3f
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
sub eax, 0xd78d
mov word [0x1800a2eac], ax
mov qword [rsp + 0x58], 0
jmp 0x18005ba74
mov rax, qword [rsp + 0x58]
inc rax
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0x10
jae 0x18005bb0c
movzx eax, byte [0x1800a2eaa]
sub eax, 0xc4
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
add eax, 0x9b
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
xor eax, 0xa410
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
imul eax, eax, 0x3c6d
mov word [0x1800a2eac], ax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
movzx eax, byte [rax]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x30]
add rdx, rcx
mov rcx, rdx
movzx ecx, byte [rcx]
xor ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x30]
add rdx, rcx
mov rcx, rdx
mov byte [rcx], al
jmp 0x18005ba67
movzx eax, word [0x1800a2eac]
imul eax, eax, 0x5564
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
or eax, 0xe6ee
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
or eax, 0xb8
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
sub eax, 0xe2
mov byte [0x1800a2eaa], al
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov r8d, reloc.WS2_32.dll_recv
mov rdx, qword [rsp + 0x30]
mov rcx, rax
call fcn.180047d30
mov rax, qword [rsp + 0x38]
add rax, 0x10
mov qword [rsp + 0x38], rax
movzx eax, byte [0x1800a2eac]
sub eax, 0x83
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
xor eax, 0x823c
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
or eax, 0x5656
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
and eax, 0xc80e
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0xda
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
or eax, 0x7e
mov byte [0x1800a2eaa], al
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov r8, qword [rsp + 0x80]
lea rdx, [rsp + 0xb0]
mov rcx, rax
call fcn.180047d30
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
movzx eax, word [0x1800a2eac]
or eax, 0x51de
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
xor eax, 0x59
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
sub eax, 0xb
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
and eax, 0x1de5
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
and eax, 0xd8
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0xf6b8
mov word [0x1800a2eac], ax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x20], 0x10
je 0x18005b3f0
movzx eax, byte [0x1800a2eaa]
xor eax, 0xb7
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
xor eax, 0xd
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
add eax, 0x61
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
add eax, 0x91
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
or eax, 0x97
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eaa]
xor eax, 0x544d
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eaa]
imul eax, eax, 0xb4
mov byte [0x1800a2eaa], al
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x70]
mov qword [rax], rcx
movzx eax, byte [0x1800a2eac]
add eax, 0xda
mov byte [0x1800a2eaa], al
movzx eax, byte [0x1800a2eac]
xor eax, 0xba
mov byte [0x1800a2eaa], al
movzx eax, word [0x1800a2eac]
xor eax, 0x87d3
mov word [0x1800a2eac], ax
movzx eax, word [0x1800a2eac]
and eax, 0x43c4
mov word [0x1800a2eac], ax
movzx eax, byte [0x1800a2eac]
add eax, 0x30
mov byte [0x1800a2eaa], al
mov rax, qword [rsp + 0x130]
mov ecx, dword [rsp + 0x38]
mov dword [rax], ecx
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1800698b0
add rsp, 0x108
ret