Function at 0x180076d20
Capabilities:
Authenticate hmac
Encrypt data using speck

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x600
mov eax, 0x546a
mov word [rsp + 0x3d4], ax
mov eax, 0xa7d8017e
mov qword [rsp + 0x68], rax
mov byte [rsp + 0x36], 0xb5
movabs rax, 0x9a294d539a67d
mov qword [rsp + 0x88], rax
mov eax, dword [0x180146b18]
mov dword [rsp + 0x54], eax
mov eax, dword [0x180146b64]
mov eax, eax
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x50], 0x5f
mov eax, 0xffff92ef
mov word [rsp + 0x48], ax
movzx eax, byte [0x180146a4f]
movzx eax, al
mov qword [rsp + 0x80], rax
movzx eax, byte [0x180146b58]
mov byte [rsp + 0x31], al
mov byte [rsp + 0x33], 0xf6
mov byte [rsp + 0x30], 0xaf
mov eax, 0x3d95
mov word [rsp + 0x4c], ax
movzx eax, byte [0x180146a4b]
movsx eax, al
mov dword [rsp + 0x5c], eax
mov eax, 0x30c2
mov word [rsp + 0x44], ax
mov byte [rsp + 0x35], 0x2a
movzx eax, byte [0x180146b30]
mov byte [rsp + 0x34], al
mov eax, 0x4f16
mov word [rsp + 0x38], ax
mov dword [rsp + 0x58], 0x48d8eaaa
mov byte [rsp + 0x40], 0xdd
mov eax, 0x4c
mov word [rsp + 0x3c], ax
mov byte [rsp + 0x32], 0xfd
mov qword [rsp + 0x98], 0xad04
mov eax, dword [0x180146b7c]
mov byte [rsp + 0xc0], al
mov dword [rsp + 0x4d8], 0x47b62f9a
mov byte [rsp + 0xc1], 0x98
mov eax, 0x89
mov word [rsp + 0x3d8], ax
mov rax, qword [0x180146b10]
mov dword [rsp + 0x4dc], eax
movzx eax, byte [0x180146a6e]
mov byte [rsp + 0xc2], al
movzx eax, byte [str.aHserver_error]
mov byte [rsp + 0xc3], al
mov eax, 0xa9b6
mov word [rsp + 0x3dc], ax
movzx eax, byte [0x180146b2c]
mov byte [rsp + 0xc5], al
mov byte [rsp + 0xc4], 0xa1
mov dword [rsp + 0x4e0], 0xa0
mov qword [rsp + 0x550], 0x316a79ee
mov eax, 0xfffffeca
mov word [rsp + 0x3e0], ax
mov rax, qword [0x180146b08]
mov dword [rsp + 0x4e4], eax
movzx eax, word [0x180146b38]
mov word [rsp + 0x3b4], ax
mov rax, qword [0x180146b88]
mov qword [rsp + 0x558], rax
movzx eax, word [rsp + 0x38]
cwde
movzx ecx, word [rsp + 0x44]
movzx ecx, cx
xor eax, ecx
mov word [rsp + 0x38], ax
movzx eax, word [rsp + 0x38]
dec ax
mov word [rsp + 0x38], ax
mov eax, dword [0x180d99a98]
mov dword [rsp + 0xc8], eax
movsx eax, word [0x180146b74]
movzx ecx, byte [rsp + 0x33]
movzx ecx, cl
cmp eax, ecx
jge 0x180076fd1
cmp qword [rsp + 0x80], 0
je 0x180076f5b
movsx eax, word [0x180146b68]
add eax, 0xc72b
mov word [rsp + 0x48], ax
movsx eax, word [rsp + 0x48]
movzx ecx, byte [rsp + 0x33]
movzx ecx, cl
add eax, ecx
mov word [rsp + 0x48], ax
jmp 0x180076fcf
xor eax, eax
cmp eax, 0x6100
je 0x180076fcf
movsx eax, word [rsp + 0x4c]
movzx ecx, word [0x180146ad4]
movsx ecx, cx
add eax, ecx
mov word [rsp + 0x4c], ax
cmp dword [rsp + 0x54], 0
jne 0x180076f8f
mov qword [rsp + 0x448], 1
jmp 0x180076f9b
mov qword [rsp + 0x448], 0
mov rax, qword [rsp + 0x68]
sub rax, qword [rsp + 0x448]
movzx ecx, word [0x180146b94]
movzx edx, word [0x180146b94]
add ecx, edx
movsxd rcx, ecx
imul rax, rcx
mov rcx, qword [0x180146b10]
add rax, rcx
mov byte [0x180146a5f], al
jmp 0x180076feb
movzx eax, byte [rsp + 0x30]
movsx rax, al
movabs rcx, 0x9cd3b9b89a893
add rax, rcx
mov byte [rsp + 0x36], al
mov eax, dword [rsp + 0xc8]
add eax, 0x4f9
mov dword [rsp + 0x174], eax
mov byte [rsp + 0x34], 0x6d
mov eax, dword [rsp + 0xc8]
add eax, 0x4de
mov dword [rsp + 0x4e8], eax
movzx eax, byte [0x180146a33]
cmp eax, 0xb3
je 0x1800770df
movsx eax, word [0x180146b74]
movzx ecx, byte [rsp + 0x31]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x95
mov r9d, eax
mov r8d, 0x63
mov edx, ecx
xor ecx, ecx
call fcn.180070e10
mov byte [0x180146a33], al
movzx eax, byte [0x180146a33]
test eax, eax
je 0x1800770dd
xor eax, eax
cmp eax, 0x439bf3b4
je 0x1800770a9
movzx eax, byte [rsp + 0x31]
sub eax, 0x685d
mov dword [0x180146b60], eax
movabs rax, 0xafc16b3668853
mov rcx, qword [0x180146b20]
imul rcx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x31]
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x31], al
jmp 0x1800770dd
mov rax, qword [rsp + 0x98]
shl rax, 8
mov word [0x180146b28], ax
movzx eax, byte [rsp + 0x35]
movsx eax, al
xor eax, 0xe1
movzx ecx, byte [0x180146a4b]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [0x180146a4b], al
jmp 0x180077132
movzx eax, word [0x180146ad4]
cwde
movzx ecx, word [0x180146b40]
cmp eax, ecx
jg 0x1800770ff
mov dword [rsp + 0x340], 1
jmp 0x18007710a
mov dword [rsp + 0x340], 0
movzx eax, byte [0x180146a6d]
movzx eax, al
movzx ecx, word [rsp + 0x38]
movsx ecx, cx
add eax, ecx
cmp eax, dword [rsp + 0x340]
jge 0x180077132
mov qword [0x180146b00], 0x55
mov eax, dword [rsp + 0xc8]
add eax, 0x3de
mov dword [rsp + 0x520], eax
mov eax, dword [0x180146b98]
test eax, eax
jne 0x18007715c
mov dword [rsp + 0x12c], 1
jmp 0x180077167
mov dword [rsp + 0x12c], 0
mov rax, qword [rsp + 0x70]
not rax
mov ecx, dword [rsp + 0x54]
not ecx
movsxd rcx, ecx
imul rax, rcx
imul ecx, dword [rsp + 0x12c], 0x6266
not ecx
movsxd rcx, ecx
add rax, rcx
movzx ecx, byte [0x180146a4e]
movzx ecx, cl
add rax, rcx
test rax, rax
jne 0x1800771af
mov qword [rsp + 0x450], 1
jmp 0x1800771bb
mov qword [rsp + 0x450], 0
mov rax, qword [rsp + 0x450]
mov qword [0x180146b08], rax
mov eax, dword [0x180d99a98]
mov dword [rsp + 0xcc], eax
movzx eax, word [0x180146b40]
cmp rax, qword [rsp + 0x70]
je 0x1800771f3
mov qword [rsp + 0x458], 1
jmp 0x1800771ff
mov qword [rsp + 0x458], 0
mov rax, qword [0x180146b08]
not rax
cmp rax, qword [rsp + 0x458]
jl 0x18007725d
movzx eax, word [rsp + 0x3c]
movzx ecx, word [rsp + 0x38]
mov byte [rsp + 0x20], 0
movzx r9d, al
movzx r8d, byte [rsp + 0x40]
movzx edx, cl
movzx ecx, byte [rsp + 0x54]
call fcn.180071300
movsx eax, al
mov dword [0x180146b80], eax
cmp dword [0x180146b80], 0
je 0x18007725b
movzx eax, word [rsp + 0x3c]
cwde
add eax, 0x297bbeef
mov word [rsp + 0x44], ax
jmp 0x1800772cd
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1800772cd
cmp qword [rsp + 0x70], 0
jne 0x18007727d
mov qword [rsp + 0x460], 1
jmp 0x180077289
mov qword [rsp + 0x460], 0
movsx eax, word [rsp + 0x4c]
mov ecx, dword [0x180146b44]
sub ecx, eax
mov eax, ecx
not eax
cdqe
mov rcx, qword [rsp + 0x460]
mov rdx, qword [0x180146b58]
add rdx, rcx
mov rcx, rdx
add rax, rcx
mov word [rsp + 0x44], ax
movsx eax, word [0x180146b28]
imul eax, eax, 0x457bddb5
mov word [0x180146b94], ax
mov eax, dword [rsp + 0xcc]
add eax, 0x480
mov dword [rsp + 0xf0], eax
cmp qword [rsp + 0x80], 0
je 0x180077302
mov eax, dword [0x180146b84]
test eax, eax
jne 0x180077302
mov dword [rsp + 0x134], 0
jmp 0x18007730d
mov dword [rsp + 0x134], 1
movsx eax, word [0x180146b2c]
test eax, eax
je 0x18007732d
mov eax, dword [rsp + 0x5c]
test eax, eax
je 0x18007732d
mov dword [rsp + 0x130], 1
jmp 0x180077338
mov dword [rsp + 0x130], 0
mov eax, dword [rsp + 0x130]
cmp dword [rsp + 0x134], eax
jg 0x180077355
mov dword [rsp + 0x138], 1
jmp 0x180077360
mov dword [rsp + 0x138], 0
movzx eax, word [0x180146a4c]
cmp eax, dword [rsp + 0x138]
jl 0x180077394
movzx eax, byte [rsp + 0x40]
movzx eax, al
movabs rcx, 0x94ea7a184c15d
imul rax, rcx
mov word [rsp + 0x4c], ax
mov byte [0x180146a4f], 0xa4
jmp 0x1800773a8
cmp dword [rsp + 0x58], 0
je 0x1800773a8
movzx eax, byte [0x180d99a98]
mov byte [0x180146a8a], al
mov eax, dword [rsp + 0xcc]
add eax, 0x6e1
mov dword [rsp + 0x4ec], eax
mov eax, 3
mov word [rsp + 0x44], ax
cmp qword [rsp + 0x88], 0
je 0x1800773de
movzx eax, byte [rsp + 0x31]
mov byte [rsp + 0x91], al
jmp 0x1800773ec
movzx eax, byte [0x180146a33]
mov byte [rsp + 0x91], al
movzx eax, byte [rsp + 0x91]
mov word [0x180146b68], ax
movzx eax, word [rsp + 0x44]
movzx eax, ax
mov dword [rsp + 0xb8], eax
cmp dword [rsp + 0xb8], 0
je 0x180077434
cmp dword [rsp + 0xb8], 1
je 0x180077453
cmp dword [rsp + 0xb8], 2
je 0x18007746f
cmp dword [rsp + 0xb8], 3
je 0x18007747e
jmp 0x18007749a
mov eax, dword [rsp + 0x50]
mov eax, eax
add rax, qword [0x180146b00]
mov ecx, dword [rsp + 0x50]
mov ecx, ecx
or rcx, rax
mov rax, rcx
mov dword [rsp + 0x50], eax
jmp 0x18007749a
mov eax, 0xffffd037
mov word [rsp + 0x38], ax
mov eax, dword [0x180146b84]
sub eax, 0x211d
mov word [rsp + 0x38], ax
jmp 0x18007749a
movzx eax, byte [0x180d99a98]
mov byte [0x180146a6e], al
jmp 0x18007749a
movsx eax, byte [0x180146a5f]
sub eax, 0x2772
movzx ecx, byte [rsp + 0x32]
movzx ecx, cl
or ecx, eax
mov eax, ecx
mov byte [rsp + 0x32], al
mov eax, dword [rsp + 0xcc]
add eax, 0x4a4
mov dword [rsp + 0x36c], eax
mov dword [0x180146b98], 0
movsx eax, word [0x180146b78]
sub eax, 0x7a0e8ced
mov dword [0x180146b84], eax
mov rax, qword [rsp + 0x98]
xor rax, 0xc5aa
mov qword [rsp + 0x98], rax
mov eax, dword [0x180146b98]
mov dword [rsp + 0x3ec], eax
cmp dword [rsp + 0x3ec], 0
je 0x1800774f8
jmp 0x18007752b
movzx eax, byte [0x180146a4f]
movzx eax, al
movzx ecx, word [0x180146b94]
sub eax, ecx
movzx ecx, byte [0x180146a4f]
movzx ecx, cl
or ecx, eax
mov eax, ecx
mov byte [0x180146a4f], al
mov eax, 0x195e
mov word [0x180146b78], ax
mov eax, dword [0x180d99a98]
mov dword [rsp + 0xd0], eax
movzx eax, byte [rsp + 0x31]
shl eax, 7
mov dword [0x180146b60], eax
mov eax, dword [rsp + 0xd0]
add eax, 0x483
mov dword [rsp + 0x4f0], eax
cmp dword [0x180146b44], 0
je 0x180077571
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x468], rax
jmp 0x180077581
movzx eax, byte [rsp + 0x32]
movzx eax, al
mov qword [rsp + 0x468], rax
mov rax, qword [rsp + 0x468]
mov qword [0x180146b20], rax
movsx rax, word [0x180146b2c]
movabs rcx, 0xcceba01041ee
add rax, rcx
mov ecx, dword [0x180146b84]
mov edx, dword [rsp + 0x58]
add edx, ecx
mov ecx, edx
mov ecx, ecx
imul rax, rcx
mov word [0x180146a4c], ax
mov eax, dword [rsp + 0xd0]
add eax, 0x467
mov dword [rsp + 0x4f4], eax
movzx eax, word [rsp + 0x38]
cwde
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x25
mov r9d, dword [rsp + 0x70]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.180070e10
mov dword [0x180146b38], eax
cmp dword [0x180146b38], 0
jb 0x180077612
mov dword [rsp + 0x140], 1
jmp 0x18007761d
mov dword [rsp + 0x140], 0
cmp dword [0x180146b38], 0x25
jb 0x180077633
mov dword [rsp + 0x13c], 1
jmp 0x18007763e
mov dword [rsp + 0x13c], 0
mov eax, dword [rsp + 0x13c]
cmp dword [rsp + 0x140], eax
jle 0x180077665
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x180077665
mov dword [0x180146b64], 0x40
mov eax, dword [rsp + 0xd0]
add eax, 0x47c
mov dword [rsp + 0x3e4], eax
movzx eax, byte [0x180146a6d]
movzx eax, al
test eax, eax
jne 0x1800776a2
mov rax, qword [0x180146b00]
not rax
test rax, rax
jne 0x1800776a2
mov dword [rsp + 0x144], 0
jmp 0x1800776ad
mov dword [rsp + 0x144], 1
mov eax, dword [rsp + 0x58]
not eax
movzx ecx, byte [rsp + 0x33]
movzx ecx, cl
cmp eax, ecx
jge 0x1800776cc
mov dword [rsp + 0x148], 1
jmp 0x1800776d7
mov dword [rsp + 0x148], 0
mov eax, dword [rsp + 0x144]
not eax
cmp eax, dword [rsp + 0x148]
jl 0x180077715
movzx eax, byte [rsp + 0x33]
movzx eax, al
mov ecx, dword [0x180146b98]
add eax, ecx
movzx ecx, byte [rsp + 0x33]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x33], al
mov dword [0x180146b84], 0x51
jmp 0x18007773d
mov rax, qword [0x180146b30]
mov rcx, qword [0x180146b20]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x180146b20]
sub rcx, rax
mov rax, rcx
mov qword [0x180146b20], rax
mov eax, dword [rsp + 0x3e4]
xor eax, 0xd6ac
xor eax, 0xd2d0
mov dword [rsp + 0x354], eax
movzx eax, word [rsp + 0x3c]
cwde
sub eax, 0x78c350db
movzx ecx, word [0x180146a4c]
xor ecx, eax
mov eax, ecx
mov word [0x180146a4c], ax
mov eax, dword [0x180d99a98]
mov dword [rsp + 0xd4], eax
movzx eax, byte [rsp + 0x33]
movzx eax, al
movzx ecx, byte [rsp + 0x36]
movzx ecx, cl
sub eax, ecx
test eax, eax
jne 0x1800777a3
mov qword [rsp + 0x470], 1
jmp 0x1800777af
mov qword [rsp + 0x470], 0
mov rax, qword [rsp + 0x68]
add rax, qword [0x180146b20]
sub rax, qword [rsp + 0x470]
test rax, rax
jne 0x1800777d5
mov dword [rsp + 0x14c], 1
jmp 0x1800777e0
mov dword [rsp + 0x14c], 0
movzx eax, byte [rsp + 0x30]
movsx eax, al
movzx ecx, byte [0x180146a4f]
movzx ecx, cl
sub eax, ecx
not eax
movzx ecx, byte [rsp + 0x40]
movzx ecx, cl
add ecx, dword [rsp + 0x14c]
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x18007781a
mov dword [rsp + 0x150], 1
jmp 0x180077825
mov dword [rsp + 0x150], 0
mov eax, dword [rsp + 0x150]
mov dword [0x180146b98], eax
mov rax, qword [0x180146b88]
dec rax
mov qword [0x180146b88], rax
mov eax, dword [rsp + 0xd4]
add eax, 0x714
mov dword [rsp + 0xbc], eax
movsx rax, word [rsp + 0x4c]
cmp qword [0x180146b00], rax
jne 0x180077872
mov dword [rsp + 0x158], 1
jmp 0x18007787d
mov dword [rsp + 0x158], 0
cmp qword [0x180146b00], 0x2e
jne 0x180077894
mov dword [rsp + 0x154], 1
jmp 0x18007789f
mov dword [rsp + 0x154], 0
mov eax, dword [rsp + 0x154]
cmp dword [rsp + 0x158], eax
je 0x18007794d
movsx eax, byte [rsp + 0x34]
movsx ecx, word [rsp + 0x4c]
cmp eax, ecx
jle 0x1800778ce
mov dword [rsp + 0x160], 1
jmp 0x1800778d9
mov dword [rsp + 0x160], 0
movsx eax, byte [rsp + 0x34]
cmp eax, 0x49
jle 0x1800778f0
mov dword [rsp + 0x15c], 1
jmp 0x1800778fb
mov dword [rsp + 0x15c], 0
mov eax, dword [rsp + 0x15c]
cmp dword [rsp + 0x160], eax
jg 0x18007791f
movzx eax, byte [0x180146a33]
sub eax, 0x8c7c
mov byte [0x180146a4b], al
jmp 0x18007794d
mov eax, dword [rsp + 0x50]
test eax, eax
jne 0x18007794d
movsx rax, word [rsp + 0x48]
movabs rcx, 0x46a8bd07bee0a
imul rax, rcx
movzx ecx, byte [rsp + 0x36]
movzx ecx, cl
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x36], al
mov eax, dword [rsp + 0xd4]
add eax, 0x522
mov dword [rsp + 0x370], eax
mov eax, dword [rsp + 0x5c]
test eax, eax
je 0x180077983
movsxd rax, dword [0x180146b60]
movabs rcx, 0xfff530c4a6832957
imul rax, rcx
mov byte [rsp + 0x31], al
jmp 0x1800779c3
movzx eax, byte [0x180146a6d]
movzx eax, al
add eax, 0xd4
mov ecx, dword [0x180146b44]
sub ecx, eax
mov eax, ecx
mov dword [0x180146b44], eax
mov rax, qword [0x180146b10]
movsx rcx, byte [rsp + 0x34]
movabs rdx, 0x74e82fa851ae4
add rcx, rdx
add rax, rcx
mov byte [rsp + 0x34], al
mov eax, dword [rsp + 0xd4]
add eax, 0x4d1
mov dword [rsp + 0x4f8], eax
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x180077a45
mov qword [rsp + 0x70], 1
movzx eax, byte [0x180146a4f]
movzx eax, al
sub rax, qword [rsp + 0x80]
mov byte [rsp + 0x36], al
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x478], rax
cmp qword [rsp + 0x478], 0
je 0x180077a27
cmp qword [rsp + 0x478], 1
je 0x180077a38
jmp 0x180077a43
movzx eax, byte [rsp + 0x31]
imul eax, eax, 0x6574
mov byte [rsp + 0x31], al
jmp 0x180077a43
mov qword [0x180146b30], 4
jmp 0x180077a6d
movsxd rax, dword [0x180146b60]
mov rcx, qword [0x180146b48]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x180146b48]
sub rcx, rax
mov rax, rcx
mov qword [0x180146b48], rax
mov dword [rsp + 0xd8], 0
mov eax, 1
imul rax, rax, 0x1f7c
lea rcx, [0x180ecd990]
movsx eax, byte [rcx + rax]
mov dword [rsp + 0x54], eax
mov dword [rsp + 0xdc], 0
mov eax, dword [0x180146b98]
sub eax, dword [rsp + 0x58]
mov dword [0x180146b98], eax
movzx eax, byte [rsp + 0x35]
movsx eax, al
movzx ecx, byte [0x180146a4f]
movzx ecx, cl
sub eax, ecx
not eax
mov byte [0x180146a4b], al
movsx eax, byte [0x180146a5f]
test eax, eax
je 0x180077ae3
mov eax, 0x9b04
mov word [0x180146b40], ax
jmp 0x180077b18
movzx eax, word [rsp + 0x3c]
movsx rax, ax
add rax, qword [rsp + 0x80]
movzx ecx, word [rsp + 0x3c]
movsx rcx, cx
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x3c], ax
movsx eax, byte [str.aHserver_error]
add eax, 0xed5f2f5f
mov byte [rsp + 0x32], al
movzx eax, byte [rsp + 0x33]
movzx eax, al
test eax, eax
je 0x180077b30
mov eax, 0x3d90
mov word [rsp + 0x38], ax
jmp 0x180077b4b
mov rax, qword [rsp + 0x80]
mov rcx, qword [0x180146b20]
sub rcx, rax
mov rax, rcx
mov dword [0x180146b7c], eax
mov rax, qword [rsp + 0x618]
mov qword [rsp + 0x348], rax
movzx eax, byte [0x180146a4e]
movzx eax, al
test eax, eax
jne 0x180077b76
movsx eax, byte [0x180146a5f]
not eax
test eax, eax
je 0x180077b88
movzx eax, byte [0x180d99a98]
mov byte [0x180146a33], al
jmp 0x180077c45
movsx eax, word [0x180146b74]
movzx ecx, word [0x180146b94]
cmp eax, ecx
je 0x180077bbd
mov eax, 1
imul rax, rax, 0x3621
lea rcx, [0x180f2b560]
movzx edx, byte [rsp + 0x80]
mov byte [rcx + rax], dl
jmp 0x180077c45
mov rax, qword [rsp + 0x80]
not rax
test rax, rax
je 0x180077c21
cmp qword [rsp + 0x70], 0
jne 0x180077be4
mov eax, 1
mov word [rsp + 0xac], ax
jmp 0x180077bee
xor eax, eax
mov word [rsp + 0xac], ax
movzx eax, word [rsp + 0xac]
mov word [0x180146b28], ax
movzx eax, byte [0x180146a4e]
movzx eax, al
xor eax, dword [rsp + 0x58]
movzx ecx, byte [0x180146a4e]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [0x180146a4e], al
jmp 0x180077c45
movzx eax, byte [rsp + 0x33]
movzx eax, al
cmp eax, 1
jg 0x180077c45
imul rax, qword [0x180146b58], 0x13
mov word [0x180146ad4], ax
mov dword [rsp + 0x58], 0xb7
mov rax, qword [rsp + 0x348]
add rax, 4
mov qword [rsp + 0x78], rax
mov byte [0x180146a5f], 2
cmp qword [rsp + 0x88], 0
jne 0x180077c76
mov qword [rsp + 0x480], 1
jmp 0x180077c82
mov qword [rsp + 0x480], 0
movzx eax, word [0x180146a4c]
mov rcx, qword [0x180146b00]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x480]
imul rcx, qword [0x180146b00]
imul rax, rcx
test rax, rax
jne 0x180077cbd
mov qword [rsp + 0x488], 1
jmp 0x180077cc9
mov qword [rsp + 0x488], 0
imul eax, dword [rsp + 0x54], 0x90
cdqe
mov rcx, qword [rsp + 0x70]
xor rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x488]
add rcx, rax
mov rax, rcx
mov word [rsp + 0x44], ax
mov eax, dword [rsp + 0x50]
imul eax, eax, 0xfe
mov eax, eax
mov qword [0x180146b88], rax
movzx eax, byte [0x180146a5f]
mov byte [rsp + 0xe8], al
cmp byte [rsp + 0xe8], 0
je 0x180077d32
cmp byte [rsp + 0xe8], 1
je 0x180077d70
cmp byte [rsp + 0xe8], 2
je 0x180077d89
jmp 0x180077d9d
movzx eax, byte [rsp + 0x40]
movzx eax, al
test eax, eax
je 0x180077d4f
movzx eax, word [0x180146b50]
mov word [rsp + 0xa4], ax
jmp 0x180077d5e
movzx eax, word [0x180146b70]
mov word [rsp + 0xa4], ax
movzx eax, word [rsp + 0xa4]
mov qword [rsp + 0x98], rax
jmp 0x180077d9d
mov eax, dword [0x180146b98]
sub eax, 0x19
mov byte [rsp + 0x34], al
mov eax, 2
mov word [rsp + 0x48], ax
jmp 0x180077d9d
movzx eax, byte [rsp + 0x30]
movsx eax, al
sar eax, 2
cdqe
mov qword [0x180146b08], rax
lea rax, [rsp + 0x560]
mov rdi, rax
xor eax, eax
mov ecx, 0x98
rep stosb byte [rdi], al
movzx eax, byte [rsp + 0x30]
movsx eax, al
cmp dword [0x180146b3c], eax
ja 0x180077dce
mov dword [rsp + 0x168], 1
jmp 0x180077dd9
mov dword [rsp + 0x168], 0
cmp dword [0x180146b3c], 0x23
ja 0x180077def
mov dword [rsp + 0x164], 1
jmp 0x180077dfa
mov dword [rsp + 0x164], 0
mov eax, dword [rsp + 0x164]
cmp dword [rsp + 0x168], eax
jle 0x180077e21
movsx eax, word [rsp + 0x48]
mov ecx, dword [0x180146b80]
sub ecx, eax
mov eax, ecx
mov dword [0x180146aac], eax
jmp 0x180077e92
movzx eax, word [rsp + 0x3c]
cwde
movzx ecx, word [rsp + 0x38]
movsx ecx, cx
cmp eax, ecx
jg 0x180077e5a
movsxd rax, dword [rsp + 0x54]
movsx rcx, byte [0x180146a8a]
add rcx, qword [0x180146b18]
xor rax, rcx
mov byte [rsp + 0x34], al
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
jmp 0x180077e92
movsx eax, word [0x180146b74]
cmp eax, 0x36d5
jle 0x180077e92
movzx eax, word [rsp + 0x38]
movsx rax, ax
and rax, qword [rsp + 0x70]
mov word [rsp + 0x38], ax
movsx eax, word [0x180146b68]
movzx ecx, byte [rsp + 0x33]
movzx ecx, cl
imul eax, ecx
mov word [rsp + 0x44], ax
mov dword [rsp + 0xa0], 0
movsx eax, word [0x180146b54]
test eax, eax
jne 0x180077eb2
mov byte [rsp + 0x90], 1
jmp 0x180077eba
mov byte [rsp + 0x90], 0
movzx eax, byte [rsp + 0x90]
mov byte [rsp + 0x30], al
mov eax, dword [0x180d99a98]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x60], 0
movsx eax, word [rsp + 0x48]
test eax, eax
jne 0x180077ef9
movsx eax, word [0x180146b28]
test eax, eax
jne 0x180077ef9
mov dword [rsp + 0x16c], 0
jmp 0x180077f04
mov dword [rsp + 0x16c], 1
mov eax, dword [rsp + 0x16c]
not eax
test eax, eax
je 0x180077f2f
movsx eax, word [0x180146b54]
cmp dword [0x180146b38], eax
jae 0x180077f2d
mov eax, dword [0x180d99a98]
mov qword [0x180146b00], rax
jmp 0x180077f77
movzx eax, byte [0x180146a6d]
movzx eax, al
test eax, eax
je 0x180077f55
movsx eax, word [0x180146b28]
test eax, eax
je 0x180077f55
mov dword [rsp + 0x170], 1
jmp 0x180077f60
mov dword [rsp + 0x170], 0
mov eax, dword [rsp + 0x170]
not eax
test eax, eax
je 0x180077f77
mov dword [0x180146b3c], 0x2e
mov rax, qword [rsp + 0x348]
movzx eax, byte [rax + 2]
mov dword [rsp + 0x350], eax
mov byte [rsp + 0x20], 0
movzx r9d, byte [0x180146a5f]
mov r8b, 0x1c
mov dl, 0xef
xor ecx, ecx
call fcn.180071300
movsx rax, al
mov qword [0x180146b18], rax
cmp qword [0x180146b18], 0
je 0x180077fee
mov eax, 0xffff8b83
mov word [0x180146b28], ax
mov rax, qword [0x180146b00]
mov rcx, qword [0x180146b18]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x180146b18]
sub rcx, rax
mov rax, rcx
mov qword [0x180146b18], rax
jmp 0x180078029
cmp dword [0x180146b44], 0
je 0x180078008
movzx eax, byte [str.rx_ia5_norwegian]
dec al
mov byte [str.rx_ia5_norwegian], al
jmp 0x180078029
movzx eax, word [rsp + 0x3c]
cwde
test eax, eax
je 0x180078029
movzx eax, byte [0x180146a4f]
movzx eax, al
movsx ecx, word [rsp + 0x48]
sub eax, ecx
mov byte [0x180146a4f], al
mov eax, dword [rsp + 0x174]
mov ecx, dword [rsp + 0x174]
imul eax, ecx
imul eax, eax, 0
xor ecx, ecx
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xd8], eax
movzx eax, word [rsp + 0x38]
cwde
test eax, eax
je 0x18007806f
movzx eax, byte [rsp + 0x30]
movsx rax, al
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x180078097
mov rax, qword [0x180146b08]
cmp qword [0x180146b88], rax
je 0x180078097
movzx eax, byte [rsp + 0x40]
movzx eax, al
mov ecx, dword [0x180146aac]
and ecx, eax
mov eax, ecx
mov dword [0x180146aac], eax
mov rax, qword [rsp + 0x620]
mov dword [rax], 0
mov rax, qword [rsp + 0x620]
mov eax, dword [rax]
mov dword [rsp + 0xdc], eax
mov r8d, 0x98
xor edx, edx
lea rcx, [rsp + 0x560]
call fcn.1800311d0
movzx eax, word [rsp + 0x3c]
cwde
movzx ecx, byte [rsp + 0x31]
cmp eax, ecx
jl 0x1800780e7
mov dword [rsp + 0x17c], 1
jmp 0x1800780f2
mov dword [rsp + 0x17c], 0
movzx eax, word [rsp + 0x3c]
cwde
cmp eax, 0x25
jl 0x18007810a
mov dword [rsp + 0x178], 1
jmp 0x180078115
mov dword [rsp + 0x178], 0
mov eax, dword [rsp + 0x178]
cmp dword [rsp + 0x17c], eax
jl 0x180078162
movsx eax, byte [0x180146a5f]
movzx ecx, byte [rsp + 0x35]
movsx ecx, cl
and eax, ecx
movsx ecx, byte [0x180146a5f]
sub ecx, eax
mov eax, ecx
mov byte [0x180146a5f], al
movzx eax, byte [rsp + 0x30]
movsx eax, al
add eax, 0x2cbd
cdqe
mov qword [0x180146b88], rax
jmp 0x18007825e
xor eax, eax
cmp eax, 0xce08
je 0x1800781cc
movsx eax, byte [rsp + 0x34]
mov ecx, 4
sub ecx, eax
mov eax, ecx
test eax, eax
jne 0x18007818b
mov qword [rsp + 0x490], 1
jmp 0x180078197
mov qword [rsp + 0x490], 0
movzx eax, byte [rsp + 0x35]
movsx rax, al
mov rcx, qword [0x180146b58]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x490]
add rcx, rax
mov rax, rcx
not rax
mov qword [rsp + 0x80], rax
jmp 0x18007825e
cmp qword [rsp + 0x70], 0
je 0x180078207
movzx eax, byte [0x180146a4f]
movzx eax, al
mov ecx, 4
imul rcx, rcx, 0xd
lea rdx, [0x180d99aa0]
mov dword [rdx + rcx], eax
movzx eax, byte [0x180146a6d]
movzx eax, al
add eax, 0x4b
mov word [0x180146b90], ax
jmp 0x18007825e
movzx eax, word [rsp + 0x3c]
cwde
test eax, eax
jne 0x18007821f
mov qword [rsp + 0x498], 1
jmp 0x18007822b
mov qword [rsp + 0x498], 0
mov rax, qword [rsp + 0x80]
not rax
cmp rax, qword [rsp + 0x498]
jb 0x18007825e
movzx eax, word [rsp + 0x38]
mov byte [rsp + 0x35], al
movzx eax, byte [rsp + 0x40]
movzx eax, al
imul eax, dword [0x180146b3c]
mov byte [0x180146a5f], al
mov eax, dword [rsp + 0x350]
cmp dword [rsp + 0x60], eax
jae 0x180078762
movzx eax, byte [rsp + 0x36]
movzx eax, al
mov rcx, qword [rsp + 0x68]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
movzx eax, byte [rsp + 0x33]
movzx eax, al
movzx ecx, byte [rsp + 0x33]
movzx ecx, cl
not ecx
add eax, ecx
movzx ecx, byte [rsp + 0x36]
movzx ecx, cl
movzx edx, byte [rsp + 0x32]
movzx edx, dl
add ecx, edx
xor eax, ecx
mov word [0x180146b50], ax
mov eax, dword [rsp + 0x354]
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 1]
and al, 0xf
movzx eax, al
mov dword [rsp + 0x180], eax
cmp dword [rsp + 0x180], 0xa
ja case.0x180078300.3
movsxd rax, dword [rsp + 0x180]
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x7c2f4]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
cmp eax, 4
jne 0x18007831f
xor eax, eax
jmp 0x18007c2e9
mov rax, qword [rsp + 0x620]
mov eax, dword [rax]
add eax, 8
mov rcx, qword [rsp + 0x620]
mov dword [rcx], eax
jmp case.0x180078300.3
mov rax, qword [rsp + 0x78]
add rax, 2
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x78]
movzx eax, word [rax]
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
test eax, eax
jne 0x18007838a
mov eax, dword [rsp + 0xa0]
shl eax, 3
mov dword [rsp + 0xa0], eax
jmp 0x1800783bf
mov rax, qword [rsp + 0x78]
add rax, 2
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x78]
movzx eax, word [rax]
shl eax, 0x10
mov ecx, dword [rsp + 0xa0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0x620]
mov eax, dword [rax]
add eax, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0x620]
mov dword [rcx], eax
jmp case.0x180078300.3
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
mov rcx, qword [rsp + 0x620]
mov ecx, dword [rcx]
lea eax, [rcx + rax*8 + 8]
mov rcx, qword [rsp + 0x620]
mov dword [rcx], eax
jmp case.0x180078300.3
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
cmp eax, 4
jne 0x180078431
xor eax, eax
jmp 0x18007c2e9
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0x620]
mov ecx, dword [rcx]
lea eax, [rcx + rax*8]
mov rcx, qword [rsp + 0x78]
movzx ecx, byte [rcx + 1]
shr cl, 4
and cl, 0xf
movzx ecx, cl
mov dword [rsp + rcx*4 + 0x560], eax
mov rax, qword [rsp + 0x78]
add rax, 2
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
mov eax, dword [rsp + rax*4 + 0x560]
mov dword [rsp + 0xd8], eax
mov rax, qword [rsp + 0x620]
mov ecx, dword [rsp + 0xdc]
mov dword [rax], ecx
jmp case.0x180078300.3
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
cmp eax, 4
jne 0x1800784ca
xor eax, eax
jmp 0x18007c2e9
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0x620]
add eax, dword [rcx]
mov rcx, qword [rsp + 0x78]
movzx ecx, byte [rcx + 1]
shr cl, 4
and cl, 0xf
movzx ecx, cl
mov dword [rsp + rcx*4 + 0x560], eax
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
mov rcx, qword [rsp + 0x78]
movzx ecx, word [rcx + 4]
shl ecx, 0x10
add ecx, dword [rsp + rax*4 + 0x560]
mov eax, ecx
mov rcx, qword [rsp + 0x78]
movzx ecx, byte [rcx + 1]
shr cl, 4
and cl, 0xf
movzx ecx, cl
mov dword [rsp + rcx*4 + 0x560], eax
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
mov eax, dword [rsp + rax*4 + 0x560]
mov dword [rsp + 0xd8], eax
mov rax, qword [rsp + 0x620]
mov ecx, dword [rsp + 0xdc]
mov dword [rax], ecx
mov rax, qword [rsp + 0x78]
add rax, 4
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x60]
add eax, 2
mov dword [rsp + 0x60], eax
jmp case.0x180078300.3
mov rax, qword [rsp + 0x78]
add rax, 2
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
jmp case.0x180078300.3
mov rax, qword [rsp + 0x78]
add rax, 4
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x60]
add eax, 2
mov dword [rsp + 0x60], eax
jmp case.0x180078300.3
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
test eax, eax
jne 0x1800785e3
mov rax, qword [rsp + 0x620]
mov eax, dword [rax]
add eax, 0x40
mov rcx, qword [rsp + 0x620]
mov dword [rcx], eax
jmp case.0x180078300.3
mov rax, qword [rsp + 0x620]
mov eax, dword [rax]
add eax, 0x48
mov rcx, qword [rsp + 0x620]
mov dword [rcx], eax
mov rax, qword [rsp + 0x78]
add rax, 2
mov qword [rsp + 0x78], rax
mov rax, qword [0x180146b08]
movsx rcx, word [0x180146b78]
cmp rax, rcx
jl 0x180078629
mov dword [rsp + 0x188], 1
jmp 0x180078634
mov dword [rsp + 0x188], 0
mov rax, qword [0x180146b08]
cmp rax, 0x56
jl 0x18007864e
mov dword [rsp + 0x184], 1
jmp 0x180078659
mov dword [rsp + 0x184], 0
mov eax, dword [rsp + 0x184]
cmp dword [rsp + 0x188], eax
jge 0x1800786d6
movsx eax, word [0x180146b68]
movzx ecx, byte [rsp + 0x35]
movsx ecx, cl
movzx edx, byte [0x180146a4f]
movzx edx, dl
mov dword [rsp + 0x358], edx
mov r8d, eax
mov edx, ecx
mov eax, dword [rsp + 0x358]
mov ecx, eax
call fcn.1800710a0
mov byte [0x180146a4b], al
movzx eax, byte [0x180146a4b]
movsx eax, al
test eax, eax
jge 0x1800786d4
imul eax, dword [0x180146b60], 0x4ea457dd
cdqe
mov qword [0x180146b48], rax
mov eax, dword [rsp + 0x54]
sar eax, 2
cdqe
mov qword [rsp + 0x80], rax
jmp 0x180078753
movzx eax, word [0x180146b50]
movzx eax, ax
test eax, eax
je 0x180078709
mov eax, dword [0x180146b3c]
mov rcx, qword [0x180146b08]
imul rax, rcx
mov ecx, dword [0x180146b3c]
sub rcx, rax
mov rax, rcx
mov dword [0x180146b3c], eax
jmp 0x180078753
xor eax, eax
test eax, eax
je 0x180078729
mov rax, qword [rsp + 0x80]
add rax, 0x5d
mov qword [0x180146b30], rax
mov byte [rsp + 0x33], 0x4a
jmp 0x180078753
movsx eax, word [0x180146b2c]
test eax, eax
je 0x180078753
movzx eax, byte [rsp + 0x32]
movzx eax, al
movsx ecx, byte [rsp + 0x34]
add eax, ecx
movzx ecx, byte [rsp + 0x32]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x32], al
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
jmp 0x18007825e
mov rax, qword [rsp + 0x348]
movzx eax, byte [rax]
shr al, 3
and al, 0x1f
movzx eax, al
sar eax, 2
and eax, 1
test eax, eax
je 0x18007c2d3
movsx eax, byte [str.rx_ia5_norwegian]
movzx ecx, word [rsp + 0x38]
movsx ecx, cx
movzx edx, word [rsp + 0x38]
movsx edx, dx
mov dword [rsp + 0x35c], edx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov r9d, dword [rsp + 0x54]
mov r8d, 0xea
mov edx, dword [rsp + 0x58]
mov eax, dword [rsp + 0x35c]
mov ecx, eax
call fcn.180070e10
mov byte [rsp + 0x32], al
movzx eax, byte [rsp + 0x32]
movzx eax, al
test eax, eax
je 0x1800787e7
mov eax, dword [rsp + 0x5c]
inc eax
mov dword [rsp + 0x5c], eax
mov byte [rsp + 0x30], 0xe1
jmp 0x180078806
movzx eax, word [rsp + 0x38]
movsx rax, ax
mov rcx, qword [rsp + 0x80]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x98]
shl rax, 3
mov qword [rsp + 0x70], rax
mov eax, dword [0x180d99a98]
mov dword [rsp + 0xe0], eax
movsx eax, word [rsp + 0x48]
mov ecx, dword [0x180146b64]
cmp eax, ecx
jae 0x180078868
movsx eax, word [rsp + 0x4c]
movzx ecx, byte [0x180146a33]
sub eax, ecx
mov word [rsp + 0x4c], ax
mov eax, 1
imul rax, rax, 0x6f2
lea rcx, [0x180ecd990]
movsx eax, byte [rcx + rax]
mov dword [0x180146b84], eax
jmp 0x1800788ec
mov rax, qword [rsp + 0x98]
not rax
xor rax, 0x99
test rax, rax
je 0x1800788ec
cmp dword [rsp + 0x58], 0
jne 0x180078892
mov dword [rsp + 0x18c], 1
jmp 0x18007889d
mov dword [rsp + 0x18c], 0
cmp dword [0x180146b60], 0
jne 0x1800788b3
mov dword [rsp + 0x190], 1
jmp 0x1800788be
mov dword [rsp + 0x190], 0
mov eax, dword [rsp + 0x18c]
imul eax, dword [rsp + 0x190]
movzx ecx, word [rsp + 0x38]
movsx ecx, cx
not ecx
mov edx, dword [0x180146b64]
imul edx, ecx
mov ecx, edx
imul eax, ecx
mov word [0x180146b50], ax
mov eax, dword [rsp + 0xe0]
add eax, 0x6e1
mov dword [rsp + 0x1ec], eax
mov eax, dword [rsp + 0x50]
not eax
xor eax, dword [0x180146b6c]
mov ecx, dword [0x180146b44]
mov edx, dword [rsp + 0x54]
add edx, ecx
mov ecx, edx
add eax, ecx
mov word [0x180146b74], ax
mov eax, dword [rsp + 0xe0]
add eax, 0x52d
mov dword [rsp + 0x4fc], eax
movzx eax, word [0x180146b94]
dec ax
mov word [0x180146b94], ax
mov eax, dword [rsp + 0xe0]
add eax, 0x444
mov dword [rsp + 0x37c], eax
movsx eax, word [rsp + 0x48]
test eax, eax
je 0x180078973
movzx eax, byte [rsp + 0x31]
mov ecx, dword [rsp + 0x58]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
mov eax, dword [0x180d99a98]
mov dword [rsp + 0xe4], eax
movzx eax, word [rsp + 0x3c]
cwde
movsx ecx, word [rsp + 0x4c]
cmp eax, ecx
jle 0x180078a28
movzx eax, word [0x180146a4c]
test eax, eax
je 0x1800789b6
mov eax, dword [rsp + 0x54]
add eax, 0xa7
movsx ecx, byte [rsp + 0x34]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x34], al
jmp 0x180078a28
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1800789cf
imul eax, dword [rsp + 0x54], 0x2ff82700
mov word [rsp + 0x44], ax
jmp 0x180078a28
movzx eax, byte [0x180146a4e]
movzx eax, al
mov rcx, qword [0x180146b08]
cmp rax, rcx
jge 0x180078a28
movsx eax, byte [str.aHserver_error]
imul eax, eax, 0xb9aaf58b
movsx ecx, word [0x180146b68]
sub ecx, eax
mov eax, ecx
mov word [0x180146b68], ax
movzx eax, byte [rsp + 0x30]
movsx rax, al
mov rcx, qword [rsp + 0x68]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0xe4]
add eax, 0x453
mov dword [rsp + 0x388], eax
mov byte [rsp + 0x34], 0xa9
mov eax, dword [rsp + 0xe4]
add eax, 0x526
mov dword [rsp + 0x204], eax
movzx eax, byte [rsp + 0x31]
sar eax, 2
mov word [rsp + 0x38], ax
mov eax, dword [rsp + 0xe4]
add eax, 0x797
mov dword [rsp + 0x384], eax
mov rax, qword [rsp + 0x80]
not rax
test rax, rax
jne 0x180078aa1
mov rax, qword [rsp + 0x80]
not rax
test rax, rax
jne 0x180078aa1
mov qword [rsp + 0x4a8], 0
jmp 0x180078aad
mov qword [rsp + 0x4a8], 1
movzx eax, word [0x180146b70]
movzx eax, ax
test eax, eax
jne 0x180078ac9
mov qword [rsp + 0x4a0], 1
jmp 0x180078ad5
mov qword [rsp + 0x4a0], 0
mov rax, qword [0x180146b88]
mov rcx, qword [rsp + 0x4a0]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x4a8], rax
jle 0x180078b01
mov dword [rsp + 0x1a0], 1
jmp 0x180078b0c
mov dword [rsp + 0x1a0], 0
movsx eax, word [rsp + 0x4c]
mov ecx, dword [0x180146b98]
cmp eax, ecx
jne 0x180078b28
mov dword [rsp + 0x198], 1
jmp 0x180078b33
mov dword [rsp + 0x198], 0
movzx eax, byte [rsp + 0x30]
movsx rax, al
mov rcx, qword [rsp + 0x68]
cmp rax, rcx
je 0x180078b53
mov dword [rsp + 0x194], 1
jmp 0x180078b5e
mov dword [rsp + 0x194], 0
mov eax, dword [rsp + 0x194]
cmp dword [rsp + 0x198], eax
je 0x180078b7b
mov dword [rsp + 0x19c], 1
jmp 0x180078b86
mov dword [rsp + 0x19c], 0
mov eax, dword [rsp + 0x19c]
cmp dword [rsp + 0x1a0], eax
jle 0x180078cc3
movsx eax, word [rsp + 0x48]
movsx ecx, word [0x180146b78]
cmp eax, ecx
jl 0x180078bb7
mov dword [rsp + 0x1a8], 1
jmp 0x180078bc2
mov dword [rsp + 0x1a8], 0
movsx eax, word [rsp + 0x48]
cmp eax, 0x36
jl 0x180078bd9
mov dword [rsp + 0x1a4], 1
jmp 0x180078be4
mov dword [rsp + 0x1a4], 0
mov eax, dword [rsp + 0x1a4]
cmp dword [rsp + 0x1a8], eax
jle 0x180078c3f
mov rax, qword [0x180146b48]
mov ecx, 0xe1ede898
add rax, rcx
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
movsx rax, word [rsp + 0x48]
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x70]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x180078cc1
movsx eax, word [0x180146b54]
movzx ecx, word [rsp + 0x3c]
movsx ecx, cx
cmp eax, ecx
jne 0x180078c5f
mov dword [rsp + 0x1b0], 1
jmp 0x180078c6a
mov dword [rsp + 0x1b0], 0
movsx eax, byte [0x180146a5f]
not eax
movsx ecx, byte [rsp + 0x34]
cmp eax, ecx
je 0x180078c89
mov dword [rsp + 0x1ac], 1
jmp 0x180078c94
mov dword [rsp + 0x1ac], 0
mov eax, dword [rsp + 0x1ac]
cmp dword [rsp + 0x1b0], eax
jl 0x180078cc1
movsx eax, byte [0x180146a5f]
sub eax, 0x37dd
movsx ecx, byte [0x180146a5f]
sub ecx, eax
mov eax, ecx
mov byte [0x180146a5f], al
jmp 0x180078ce9
mov rax, qword [rsp + 0x98]
sub rax, 0xd172
mov dword [0x180146b7c], eax
mov eax, dword [rsp + 0x50]
add eax, 0x5684900e
mov eax, eax
mov qword [0x180146b18], rax
mov eax, dword [0x180d99a98]
mov dword [rsp + 0x108], eax
movzx eax, word [rsp + 0x44]
movzx eax, ax
movzx ecx, word [0x180146b50]
movzx ecx, cx
imul eax, ecx
movzx ecx, word [rsp + 0x44]
movzx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x44], ax
mov rax, qword [0x180146b30]
add rax, 0x7e
movsxd rcx, dword [0x180146aac]
or rcx, rax
mov rax, rcx
mov dword [0x180146aac], eax
mov eax, dword [rsp + 0x108]
add eax, 0x48d
mov dword [rsp + 0x364], eax
mov r8d, 0x7d
xor edx, edx
mov ecx, 0xdc
call fcn.1800710a0
cdqe
mov qword [0x180146b08], rax
cmp dword [0x180146b38], 0
je 0x180078d8b
mov rax, qword [0x180146b10]
test rax, rax
jne 0x180078d8b
mov qword [rsp + 0x4b8], 0
jmp 0x180078d97
mov qword [rsp + 0x4b8], 1
mov eax, dword [rsp + 0x5c]
test eax, eax
jne 0x180078dad
mov qword [rsp + 0x4b0], 1
jmp 0x180078db9
mov qword [rsp + 0x4b0], 0
mov rax, qword [0x180146b20]
cmp qword [rsp + 0x4b0], rax
jae 0x180078dd7
mov dword [rsp + 0x1bc], 1
jmp 0x180078de2
mov dword [rsp + 0x1bc], 0
cmp qword [rsp + 0x70], 0
jne 0x180078df7
mov dword [rsp + 0x1b8], 1
jmp 0x180078e02
mov dword [rsp + 0x1b8], 0
mov eax, dword [0x180146b7c]
test eax, eax
jne 0x180078e19
mov dword [rsp + 0x1b4], 1
jmp 0x180078e24
mov dword [rsp + 0x1b4], 0
mov eax, dword [rsp + 0x1b4]
cmp dword [rsp + 0x1b8], eax
je 0x180078e41
mov dword [rsp + 0x1c0], 1
jmp 0x180078e4c
mov dword [rsp + 0x1c0], 0
mov eax, dword [rsp + 0x1bc]
not eax
cmp eax, dword [rsp + 0x1c0]
jne 0x180078e6b
mov dword [rsp + 0x1c4], 1
jmp 0x180078e76
mov dword [rsp + 0x1c4], 0
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x4b8]
sub rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x1c4]
not ecx
movsxd rcx, ecx
cmp rax, rcx
jg 0x180078efe
movsx rax, byte [str.rx_ia5_norwegian]
mov rcx, qword [0x180146b10]
cmp rax, rcx
jl 0x180078eeb
movzx eax, word [0x180146b94]
movzx ecx, byte [rsp + 0x31]
add eax, ecx
movzx ecx, word [0x180146b94]
add ecx, eax
mov eax, ecx
mov word [0x180146b94], ax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
jmp 0x180078efc
movzx eax, word [0x180146a4c]
sub eax, 0xa0
mov word [rsp + 0x38], ax
jmp 0x180078f19
mov rax, qword [rsp + 0x98]
mov ecx, 1
imul rcx, rcx, 0x2d
lea rdx, [0x180e710b0]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 0x108]
add eax, 0x3db
mov dword [rsp + 0x360], eax
mov eax, dword [rsp + 0x108]
add eax, 0x7c46
mov dword [rsp + 0x1c8], eax
movsx eax, byte [rsp + 0x34]
test eax, eax
je 0x180078f4a
jmp 0x180078f88
mov eax, dword [0x180146b84]
mov ecx, 1
imul rcx, rcx, 9
lea rdx, [0x180e710b0]
mov byte [rdx + rcx], al
movsx rax, word [0x180146b28]
movabs rcx, 0x35f00b5c667bb
add rax, rcx
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x1c8]
mov ecx, dword [rsp + 0x360]
sub eax, ecx
mov ecx, dword [rsp + 0x364]
mov edx, dword [rsp + 0x1c8]
sub ecx, edx
mov edx, 0xffffff4e
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x398], eax
mov rax, qword [0x180146b10]
test rax, rax
je 0x180079070
movsx eax, byte [0x180146a5f]
test eax, eax
jne 0x180078fe0
mov eax, dword [0x180146b64]
test eax, eax
jne 0x18007903d
cmp dword [0x180146b3c], 0
jne 0x180078ff6
mov dword [rsp + 0x1cc], 1
jmp 0x180079001
mov dword [rsp + 0x1cc], 0
movsx eax, byte [str.rx_ia5_norwegian]
imul eax, dword [rsp + 0x1cc]
cdqe
mov ecx, dword [0x180146b38]
movabs rdx, 0xed11d7afbcaa0
and rcx, rdx
add rax, rcx
mov qword [rsp + 0x70], rax
mov eax, dword [0x180146b7c]
shl eax, 1
mov byte [0x180146a4b], al
jmp 0x18007906e
movzx eax, byte [0x180146a4b]
movsx eax, al
test eax, eax
je 0x18007906e
movzx eax, byte [0x180146a4f]
inc al
mov byte [0x180146a4f], al
movzx eax, byte [rsp + 0x36]
movzx eax, al
sub eax, 0x3dea
mov word [0x180146b54], ax
jmp 0x18007908f
mov eax, dword [rsp + 0x5c]
movzx ecx, byte [rsp + 0x33]
movzx ecx, cl
cmp eax, ecx
jb 0x18007908f
movabs rax, 0xf2c323703b749
mov qword [rsp + 0x70], rax
mov eax, dword [0x180d99a98]
mov dword [rsp + 0xec], eax
movzx eax, byte [0x180146a6d]
movzx eax, al
movzx ecx, word [rsp + 0x38]
movsx ecx, cx
not ecx
cmp eax, ecx
jg 0x1800790c1
mov dword [rsp + 0x1d4], 1
jmp 0x1800790cc
mov dword [rsp + 0x1d4], 0
movzx eax, byte [rsp + 0x33]
movzx eax, al
movzx ecx, byte [rsp + 0x35]
movsx ecx, cl
cmp eax, ecx
jge 0x1800790ed
mov dword [rsp + 0x1d0], 1
jmp 0x1800790f8
mov dword [rsp + 0x1d0], 0
mov eax, dword [rsp + 0x1d0]
cmp dword [rsp + 0x1d4], eax
jg 0x18007912e
mov eax, dword [0x180146b60]
sub eax, 0xcaae
cdqe
mov rcx, qword [0x180146b00]
and rcx, rax
mov rax, rcx
mov qword [0x180146b00], rax
jmp 0x1800791b9
movsxd rax, dword [rsp + 0x54]
cmp rax, qword [0x180146b30]
ja 0x180079149
mov dword [rsp + 0x1d8], 1
jmp 0x180079154
mov dword [rsp + 0x1d8], 0
movzx eax, word [rsp + 0x38]
cwde
cmp eax, dword [rsp + 0x1d8]
jge 0x180079170
mov dword [rsp + 0x1dc], 1
jmp 0x18007917b
mov dword [rsp + 0x1dc], 0
mov eax, dword [rsp + 0x1dc]
not eax
test eax, eax
je 0x1800791b9
movsx rax, word [rsp + 0x4c]
movabs rcx, 0x8ba2104f2cdeb
add rax, rcx
mov word [rsp + 0x3c], ax
mov eax, 4
imul rax, rax, 0x31
lea rcx, [0x180e71100]
movzx eax, word [rcx + rax]
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0xec]
add eax, 0x3e2
mov dword [rsp + 0x50c], eax
mov eax, dword [rsp + 0xec]
add eax, 0x432
mov dword [rsp + 0x368], eax
cmp qword [0x180146b20], 0
je 0x180079206
movzx eax, word [0x180146b38]
mov word [rsp + 0x44], ax
mov eax, 0xdd83
mov word [0x180146a4c], ax
jmp 0x180079332
movzx eax, byte [0x180146a6d]
movzx eax, al
mov rcx, qword [rsp + 0x68]
sub rcx, rax
mov rax, rcx
test rax, rax
je 0x180079257
movzx eax, byte [rsp + 0x36]
movzx eax, al
movabs rcx, 0xa41674baf5e79
add rax, rcx
movzx ecx, byte [0x180146a33]
movzx edx, byte [rsp + 0x32]
movzx edx, dl
sub ecx, edx
not ecx
movsxd rcx, ecx
sub rax, rcx
mov dword [rsp + 0x50], eax
jmp 0x180079332
mov rax, qword [rsp + 0x80]
not rax
test rax, rax
je 0x1800792ac
cmp dword [rsp + 0x58], 0
jne 0x18007927c
mov qword [rsp + 0x4c0], 1
jmp 0x180079288
mov qword [rsp + 0x4c0], 0
movabs rax, 0x2f6af6176ee76
mov rcx, qword [rsp + 0x4c0]
imul rcx, rax
mov rax, rcx
mov byte [0x180146a4f], al
jmp 0x180079332
movzx eax, byte [rsp + 0x36]
movzx eax, al
not eax
cdqe
cmp rax, qword [0x180146b58]
jle 0x180079332
mov eax, dword [0x180146b7c]
test eax, eax
jne 0x1800792d8
mov dword [rsp + 0x1e4], 1
jmp 0x1800792e3
mov dword [rsp + 0x1e4], 0
movzx eax, word [0x180146b70]
movzx eax, ax
test eax, eax
jne 0x1800792fe
mov dword [rsp + 0x1e0], 1
jmp 0x180079309
mov dword [rsp + 0x1e0], 0
mov eax, dword [rsp + 0x1e0]
mov ecx, dword [rsp + 0x1e4]
sub ecx, eax
mov eax, ecx
mov dword [0x180146b44], eax
movsx eax, word [0x180146b28]
imul eax, eax, 0x366adea5
mov byte [rsp + 0x31], al
mov eax, dword [rsp + 0xec]
add eax, 0x3e72
mov dword [rsp + 0x508], eax
mov eax, dword [0x180146b7c]
test eax, eax
je 0x180079384
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x180079384
movzx eax, byte [0x180146a6e]
not eax
cdqe
mov rcx, qword [rsp + 0x68]
cmp rax, rcx
jg 0x180079384
mov eax, dword [0x180146b98]
sub eax, 0x78663eb1
mov dword [0x180146b98], eax
jmp 0x180079394
mov rax, qword [rsp + 0x68]
shl rax, 5
mov qword [0x180146b58], rax
mov eax, dword [rsp + 0x368]
add eax, 0xfffffbcf
mov ecx, dword [rsp + 0x36c]
mov edx, dword [rsp + 0xf0]
sub ecx, edx
mov edx, dword [rsp + 0xf0]
mov edi, dword [rsp + 0xf0]
xor edx, edi
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x39c], eax
mov rax, qword [rsp + 0x348]
movzx eax, byte [rax + 2]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0xbc]
mov ecx, dword [rsp + 0xbc]
sub eax, ecx
mov ecx, dword [rsp + 0xbc]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x370]
add ecx, 0x268
mov edx, dword [rsp + 0xbc]
sub edx, 0x245
imul ecx, edx
cmp eax, ecx
je 0x18007c287
mov eax, dword [0x180146aac]
sub eax, 0x77
mov byte [rsp + 0x30], al
cmp dword [rsp + 0x54], 0
je 0x180079491
movzx eax, word [0x180146b90]
movzx eax, ax
test eax, eax
jne 0x18007944b
mov dword [rsp + 0x1e8], 1
jmp 0x180079456
mov dword [rsp + 0x1e8], 0
mov eax, dword [rsp + 0x54]
not eax
mov ecx, dword [rsp + 0x1e8]
imul ecx, eax
mov eax, ecx
mov byte [rsp + 0x35], al
movsx rax, word [0x180146b78]
sub rax, qword [rsp + 0x88]
movsx rcx, word [0x180146b78]
sub rcx, rax
mov rax, rcx
mov word [0x180146b78], ax
mov eax, dword [0x180d99a98]
mov dword [rsp + 0xf4], eax
movzx eax, word [rsp + 0x3c]
cwde
add eax, 0x563baad4
mov dword [0x180146b98], eax
mov eax, dword [rsp + 0xf4]
add eax, 0x3f8
mov dword [rsp + 0x378], eax
movzx eax, word [rsp + 0x44]
movzx eax, ax
movabs rcx, 0x596f0aeff5384
sub rax, rcx
mov byte [rsp + 0x32], al
movsx rax, byte [0x180146a8a]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x31]
xor rax, rcx
mov word [0x180146a4c], ax
mov eax, dword [rsp + 0xf4]
add eax, 0x443
mov dword [rsp + 0x504], eax
movzx eax, byte [0x180146a4f]
movzx eax, al
movsx ecx, word [rsp + 0x4c]
imul eax, ecx
mov ecx, dword [0x180146aac]
mov edx, dword [rsp + 0x54]
add edx, ecx
mov ecx, edx
not ecx
imul eax, ecx
cdqe
mov qword [0x180146b30], rax
movzx eax, byte [0x180146a4f]
movzx eax, al
mov rcx, qword [0x180146b30]
lea rax, [rax + rcx + 0x21]
mov byte [0x180146a4f], al
mov eax, dword [rsp + 0xf4]
add eax, 0xe91
mov dword [rsp + 0x374], eax
mov qword [0x180146b30], 0x1781
mov eax, dword [0x180146aac]
xor eax, 0x5a
mov byte [rsp + 0x32], al
movsx rax, word [rsp + 0x4c]
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x374]
mov ecx, dword [rsp + 0x378]
sub eax, ecx
xor eax, 0xfd2
mov ecx, dword [rsp + 0x37c]
add ecx, 0x49
mov edx, dword [rsp + 0x1ec]
mov edi, dword [rsp + 0x1ec]
xor edx, edi
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x3ac], eax
xor ecx, ecx
call fcn.180071630
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0
je 0x180079768
mov dword [0x180146b84], 4
movzx eax, byte [rsp + 0x31]
mov rcx, qword [0x180146b08]
add rcx, rax
mov rax, rcx
mov qword [0x180146b08], rax
movzx eax, byte [rsp + 0x36]
movzx eax, al
sub eax, 0x4f
mov byte [rsp + 0x30], al
mov eax, dword [0x180146b84]
mov dword [rsp + 0xb0], eax
cmp dword [rsp + 0xb0], 0
je 0x180079666
cmp dword [rsp + 0xb0], 1
je 0x180079691
cmp dword [rsp + 0xb0], 2
je 0x1800796a8
cmp dword [rsp + 0xb0], 4
je 0x1800796e0
jmp 0x180079766
movzx eax, byte [rsp + 0x30]
movsx eax, al
movzx ecx, byte [rsp + 0x32]
movzx ecx, cl
not ecx
add eax, ecx
not eax
movzx ecx, byte [0x180146a6e]
xor eax, ecx
not eax
mov word [rsp + 0x3c], ax
jmp 0x180079766
mov eax, dword [rsp + 0x50]
mov eax, eax
sub rax, qword [rsp + 0x88]
mov dword [rsp + 0x50], eax
jmp 0x180079766
mov rax, qword [0x180146b30]
imul rax, qword [rsp + 0x88]
movsxd rcx, dword [0x180146aac]
mov rdx, qword [0x180146b08]
sub rdx, rcx
mov rcx, rdx
add rax, rcx
mov qword [0x180146b18], rax
jmp 0x180079766
movsx eax, word [0x180146b78]
test eax, eax
jne 0x1800796f8
mov dword [rsp + 0x1f0], 1
jmp 0x180079703
mov dword [rsp + 0x1f0], 0
movzx eax, word [rsp + 0x44]
movzx eax, ax
and eax, dword [rsp + 0x1f0]
mov ecx, 0x26d00540
sub ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x35]
movsx ecx, cl
movzx edx, word [rsp + 0x44]
movzx edx, dx
not edx
sub ecx, edx
movsx edx, word [0x180146b78]
mov edi, dword [0x180146b84]
xor edi, edx
mov edx, edi
add ecx, edx
not ecx
sub eax, ecx
mov dword [rsp + 0x58], eax
movzx eax, word [rsp + 0x3c]
movsx rax, ax
movabs rcx, 0xdd60619704d3
sub rax, rcx
mov byte [0x180146a5f], al
jmp 0x1800797ae
mov rax, qword [0x180146b20]
add rax, 0xa1db
mov word [rsp + 0x4c], ax
cmp dword [rsp + 0x54], 0
jne 0x18007978e
mov dword [rsp + 0x1f4], 1
jmp 0x180079799
mov dword [rsp + 0x1f4], 0
movzx eax, byte [0x180146a33]
xor eax, dword [rsp + 0x1f4]
mov word [0x180146b40], ax
mov eax, dword [0x180d99a98]
mov dword [rsp + 0xf8], eax
cmp dword [0x180146b60], 0
je 0x1800797d6
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x4c8], rax
jmp 0x1800797e6
movsx rax, byte [str.rx_ia5_norwegian]
mov qword [rsp + 0x4c8], rax
mov rax, qword [rsp + 0x4c8]
mov qword [0x180146b00], rax
mov eax, dword [rsp + 0xf8]
add eax, 0x3fe
mov dword [rsp + 0x380], eax
mov eax, dword [0x180146b64]
imul eax, eax, 0xa01d1336
movsx ecx, word [0x180146b74]
xor ecx, eax
mov eax, ecx
mov word [0x180146b74], ax
movzx eax, byte [rsp + 0x33]
movzx eax, al
movzx ecx, word [rsp + 0x44]
movzx ecx, cx
add eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0xf8]
add eax, 0xe039
mov dword [rsp + 0x500], eax
movzx eax, byte [rsp + 0x30]
movsx eax, al
movsx ecx, byte [str.aHserver_error]
cmp eax, ecx
jl 0x180079895
movzx eax, byte [0x180d99a98]
mov byte [0x180146a4e], al
movsx eax, byte [str.rx_ia5_norwegian]
movsx ecx, word [0x180146b68]
sub eax, ecx
movsx ecx, byte [str.rx_ia5_norwegian]
and ecx, eax
mov eax, ecx
mov byte [str.rx_ia5_norwegian], al
jmp 0x1800799ba
xor eax, eax
test eax, eax
je 0x1800798cd
movzx eax, byte [0x180146a6d]
movzx eax, al
movabs rcx, 0x1e79e26ed4b0b
add rax, rcx
mov dword [0x180146aac], eax
mov eax, dword [0x180146b84]
add eax, 0x1a9d
mov word [rsp + 0x48], ax
jmp 0x1800799ba
movzx eax, byte [rsp + 0x36]
movzx eax, al
test eax, eax
jne 0x1800798f0
movzx eax, word [rsp + 0x38]
cwde
test eax, eax
jne 0x1800798f0
mov dword [rsp + 0x1fc], 0
jmp 0x1800798fb
mov dword [rsp + 0x1fc], 1
movsx rax, byte [0x180146a8a]
mov rcx, qword [0x180146b00]
not rcx
cmp rax, rcx
jae 0x18007991f
mov dword [rsp + 0x1f8], 1
jmp 0x18007992a
mov dword [rsp + 0x1f8], 0
mov eax, dword [rsp + 0x1f8]
not eax
cmp dword [rsp + 0x1fc], eax
jl 0x18007997f
movzx eax, word [0x180146ad4]
movsx rax, ax
movabs rcx, 0x91ffecbd4c956
sub rax, rcx
mov qword [0x180146b10], rax
movsxd rax, dword [0x180146b44]
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x1800799ba
mov rax, qword [rsp + 0x68]
not rax
mov rcx, qword [rsp + 0x70]
not rcx
add rax, rcx
test rax, rax
jne 0x1800799ba
mov rax, qword [0x180146b08]
add rax, 0xeeac
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov eax, dword [rsp + 0xf8]
add eax, 0x422
mov dword [rsp + 0x200], eax
movsx eax, byte [0x180146a5f]
add eax, 0x6ba0764
cdqe
mov qword [0x180146b88], rax
movzx eax, word [0x180146b40]
sub eax, 0x170300a8
mov ecx, dword [rsp + 0x5c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x200]
xor eax, 0x4a51
mov ecx, dword [rsp + 0x380]
mov edx, dword [rsp + 0x200]
or ecx, edx
imul eax, ecx
add eax, 0xfd8d099d
mov ecx, dword [rsp + 0x384]
mov edx, dword [rsp + 0x388]
xor ecx, edx
sub ecx, 0x2b2
mov edx, dword [rsp + 0x204]
imul edx, edx, 0x159
mov edi, dword [rsp + 0x204]
imul edi, edi, 0x159
sub edx, edi
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x3b0], eax
movzx eax, byte [0x180146a6e]
sub eax, 0x8012e7d5
movzx ecx, word [0x180146b90]
movzx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [0x180146b90], ax
movsx eax, byte [0x180146a5f]
imul eax, eax, 0xdb
mov byte [rsp + 0x32], al
mov eax, dword [0x180d99a98]
mov dword [rsp + 0xfc], eax
mov eax, dword [rsp + 0x50]
add eax, 0x6f7b
mov eax, eax
mov qword [0x180146b20], rax
mov eax, dword [rsp + 0xfc]
add eax, 0x426
mov dword [rsp + 0x53c], eax
movsx rax, byte [rsp + 0x34]
mov rcx, qword [0x180146b08]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x180146b08]
add rcx, rax
mov rax, rcx
mov qword [0x180146b08], rax
mov eax, dword [rsp + 0xfc]
add eax, 0x98d0
mov dword [rsp + 0x208], eax
movsx eax, word [0x180146b74]
xor r8d, r8d
mov edx, eax
xor ecx, ecx
call fcn.1800710a0
mov word [rsp + 0x44], ax
movzx eax, word [rsp + 0x44]
movzx eax, ax
test eax, eax
je 0x180079b41
movzx eax, word [0x180146a4c]
movsx ecx, word [rsp + 0x4c]
imul eax, ecx
not eax
mov dword [0x180146b7c], eax
mov qword [rsp + 0x98], 0x73
mov eax, dword [rsp + 0xfc]
add eax, 0x438
mov dword [rsp + 0x38c], eax
movzx eax, byte [rsp + 0x36]
movzx eax, al
movzx ecx, byte [0x180146a4b]
movsx ecx, cl
not ecx
add eax, ecx
test eax, eax
jne 0x180079b7d
mov eax, 1
mov word [rsp + 0xa6], ax
jmp 0x180079b87
xor eax, eax
mov word [rsp + 0xa6], ax
movzx eax, word [rsp + 0xa6]
mov word [rsp + 0x3c], ax
mov eax, dword [0x180146b7c]
add eax, 0x961e
mov dword [rsp + 0x5c], eax
cmp dword [0x180146b44], 0
je 0x180079bbf
movzx eax, byte [rsp + 0x30]
movsx rax, al
mov qword [rsp + 0x4d0], rax
jmp 0x180079bce
mov rax, qword [0x180146b20]
mov qword [rsp + 0x4d0], rax
mov rax, qword [rsp + 0x4d0]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x38c]
xor eax, 0x62
mov ecx, dword [rsp + 0x208]
mov edx, dword [rsp + 0x208]
xor ecx, edx
sub eax, ecx
xor eax, 0x7e2
mov dword [rsp + 0x3e8], eax
movsx eax, word [0x180146b68]
add eax, 0xaf83
mov byte [rsp + 0x31], al
mov eax, dword [0x180d99a98]
mov dword [rsp + 0x104], eax
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x180079c31
movzx eax, byte [rsp + 0x34]
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x104]
add eax, 0x3b5
mov dword [rsp + 0x390], eax
movzx eax, byte [rsp + 0x40]
movzx eax, al
mov ecx, dword [rsp + 0x50]
cmp eax, ecx
ja 0x180079cbb
movzx eax, byte [rsp + 0x32]
movzx eax, al
movzx ecx, byte [rsp + 0x31]
cmp eax, ecx
jle 0x180079c78
movzx eax, word [rsp + 0x44]
movzx eax, ax
dec eax
cdqe
mov qword [rsp + 0x70], rax
jmp 0x180079cb9
movsx eax, word [0x180146b2c]
mov ecx, dword [0x180146b6c]
sub ecx, eax
mov eax, ecx
mov dword [0x180146b6c], eax
movzx eax, byte [rsp + 0x35]
movsx eax, al
movzx ecx, word [0x180146b94]
add eax, ecx
movzx ecx, word [0x180146b70]
movzx ecx, cx
movzx edx, byte [0x180146a33]
sub ecx, edx
add eax, ecx
mov dword [rsp + 0x5c], eax
jmp 0x180079cf6
movzx eax, byte [rsp + 0x32]
movzx eax, al
movsx ecx, word [rsp + 0x48]
cmp eax, ecx
jl 0x180079cd9
mov dword [rsp + 0x20c], 1
jmp 0x180079ce4
mov dword [rsp + 0x20c], 0
movzx eax, word [rsp + 0x44]
movzx eax, ax
movsx ecx, byte [rsp + 0x34]
imul eax, ecx
not eax
mov eax, dword [rsp + 0x104]
add eax, 0xf241
mov dword [rsp + 0x230], eax
movzx eax, byte [rsp + 0x36]
movzx eax, al
test eax, eax
jne 0x180079d22
mov dword [rsp + 0x214], 1
jmp 0x180079d2d
mov dword [rsp + 0x214], 0
movzx eax, byte [rsp + 0x30]
movsx eax, al
test eax, eax
jne 0x180079d46
mov dword [rsp + 0x210], 1
jmp 0x180079d51
mov dword [rsp + 0x210], 0
mov eax, dword [rsp + 0x210]
cmp dword [rsp + 0x214], eax
jne 0x180079fdb
xor r8d, r8d
xor edx, edx
mov ecx, dword [0x180146b98]
call fcn.1800710a0
mov word [rsp + 0x38], ax
movsx eax, byte [0x180146a8a]
movzx ecx, word [0x180146b50]
movzx ecx, cx
cmp eax, ecx
jle 0x180079d9c
mov dword [rsp + 0x21c], 1
jmp 0x180079da7
mov dword [rsp + 0x21c], 0
movsx eax, word [0x180146b78]
test eax, eax
je 0x180079dc8
xor eax, eax
cmp eax, 0xdf556a6f
je 0x180079dc8
mov dword [rsp + 0x218], 1
jmp 0x180079dd3
mov dword [rsp + 0x218], 0
mov eax, dword [rsp + 0x218]
cmp dword [rsp + 0x21c], eax
jge 0x180079df0
mov dword [rsp + 0x220], 1
jmp 0x180079dfb
mov dword [rsp + 0x220], 0
movzx eax, word [rsp + 0x3c]
cwde
cmp eax, dword [rsp + 0x220]
jge 0x180079fa8
mov dword [rsp + 0x50], 2
movzx eax, byte [rsp + 0x33]
movzx eax, al
mov rcx, qword [0x180146b08]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x180146b08]
sub rcx, rax
mov rax, rcx
mov qword [0x180146b08], rax
mov rax, qword [0x180146b08]
movabs rcx, 0xfdfb4fef47118
sub rax, rcx
mov byte [rsp + 0x33], al
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x100], eax
cmp dword [rsp + 0x100], 0
je 0x180079e8d
cmp dword [rsp + 0x100], 1
je 0x180079efb
cmp dword [rsp + 0x100], 2
je 0x180079f83
jmp 0x180079fa6
movzx eax, byte [rsp + 0x36]
movzx eax, al
mov ecx, dword [0x180146b44]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x180146b44]
sub ecx, eax
mov eax, ecx
mov dword [0x180146b44], eax
movsx rax, word [0x180146b74]
add rax, qword [rsp + 0x80]
movzx ecx, word [0x180146b40]
xor ecx, dword [0x180146b80]
movsxd rcx, ecx
add rax, rcx
not rax
movzx ecx, byte [rsp + 0x30]
movsx ecx, cl
movzx edx, word [rsp + 0x44]
movzx edx, dx
lea ecx, [rcx + rdx + 0x4c]
movsxd rcx, ecx
sub rax, rcx
mov word [0x180146b94], ax
jmp 0x180079fa6
movzx eax, byte [0x180146a33]
not eax
test eax, eax
jne 0x180079f15
mov dword [rsp + 0x224], 1
jmp 0x180079f20
mov dword [rsp + 0x224], 0
movzx eax, byte [rsp + 0x30]
movsx eax, al
add eax, 0x32
test eax, eax
jne 0x180079f3c
mov dword [rsp + 0x228], 1
jmp 0x180079f47
mov dword [rsp + 0x228], 0
mov eax, dword [rsp + 0x224]
imul eax, dword [rsp + 0x228]
not eax
mov dword [0x180146b80], eax
movzx eax, byte [rsp + 0x35]
movsx rax, al
and rax, qword [0x180146b30]
movzx ecx, byte [rsp + 0x35]
movsx rcx, cl
add rcx, rax
mov rax, rcx
mov byte [rsp + 0x35], al
jmp 0x180079fa6
mov eax, dword [0x180146b3c]
and eax, 0x1ceb
mov word [0x180146a4c], ax
movzx eax, word [0x180146b28]
inc ax
mov word [0x180146b28], ax
jmp 0x180079fd6
movzx eax, word [rsp + 0x44]
movzx eax, ax
test eax, eax
je 0x180079fc3
mov rax, qword [0x180146b30]
not rax
test rax, rax
je 0x180079fd6
movzx eax, word [0x180146b94]
add eax, 0x9d
mov word [0x180146b54], ax
jmp 0x18007a0b9
mov rax, qword [0x180146b48]
not rax
mov rcx, qword [0x180146b58]
not rcx
cmp rax, rcx
jl 0x18007a001
mov dword [rsp + 0x22c], 1
jmp 0x18007a00c
mov dword [rsp + 0x22c], 0
movzx eax, word [rsp + 0x3c]
cwde
cmp eax, dword [rsp + 0x22c]
jg 0x18007a044
movsx eax, byte [0x180146a5f]
sub eax, 0x9c358f9f
mov eax, eax
mov qword [rsp + 0x88], rax
movsx eax, word [rsp + 0x48]
add eax, 0x82bd
cdqe
mov qword [rsp + 0x70], rax
jmp 0x18007a0b9
movzx eax, byte [rsp + 0x33]
movzx eax, al
test eax, eax
je 0x18007a08e
movzx eax, byte [rsp + 0x30]
movsx eax, al
test eax, eax
je 0x18007a06d
mov rax, qword [0x180146b00]
mov qword [rsp + 0x3f0], rax
jmp 0x18007a07d
movsx rax, byte [str.aHserver_error]
mov qword [rsp + 0x3f0], rax
movzx eax, word [rsp + 0x3f0]
mov word [0x180146b54], ax
jmp 0x18007a0b9
mov eax, dword [rsp + 0x50]
movzx ecx, byte [rsp + 0x32]
movzx ecx, cl
cmp eax, ecx
jae 0x18007a0b9
movzx eax, word [rsp + 0x38]
cwde
add eax, dword [rsp + 0x58]
movzx ecx, word [rsp + 0x38]
movsx ecx, cx
or ecx, eax
mov eax, ecx
mov word [rsp + 0x38], ax
mov eax, dword [rsp + 0x104]
add eax, 0x3e8
mov dword [rsp + 0x394], eax
movsxd rax, dword [0x180146b80]
movabs rcx, 0xfffc7d3ad3a49f93
add rax, rcx
mov rcx, qword [rsp + 0x70]
add rax, rcx
mov dword [0x180146b80], eax
movzx eax, byte [0x180146a6d]
movzx eax, al
movzx ecx, byte [rsp + 0x35]
movsx ecx, cl
cmp eax, ecx
jg 0x18007a144
movsx eax, byte [str.aHserver_error]
shl eax, 6
mov byte [rsp + 0x35], al
movzx eax, byte [0x180146a4f]
movzx eax, al
movzx ecx, byte [0x180146a4f]
movzx ecx, cl
imul eax, ecx
movzx ecx, byte [rsp + 0x32]
movzx ecx, cl
mov edx, dword [0x180146b7c]
xor ecx, edx
and eax, ecx
not eax
mov word [0x180146b40], ax
mov eax, dword [rsp + 0x390]
mov ecx, dword [rsp + 0x394]
add eax, ecx
mov ecx, dword [rsp + 0x230]
mov edx, dword [rsp + 0x230]
xor ecx, edx
xor eax, ecx
add eax, 0xfffffbf6
mov dword [rsp + 0x3b8], eax
mov eax, dword [rsp + 0x398]
mov ecx, dword [rsp + 0x39c]
mov edx, dword [rsp + 0x60]
and edx, ecx
mov ecx, edx
cmp eax, ecx
je 0x18007c287
mov eax, dword [0x180d99a98]
mov dword [rsp + 0x128], eax
mov dword [0x180146b38], 1
movsx eax, word [0x180146b2c]
imul eax, dword [0x180146b80]
movsx ecx, word [0x180146b2c]
sub ecx, eax
mov eax, ecx
mov word [0x180146b2c], ax
mov eax, dword [rsp + 0x128]
add eax, 0x498
mov dword [rsp + 0x538], eax
movzx eax, byte [0x180146a33]
test eax, eax
je 0x18007a481
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8b, 0xf4
movzx edx, byte [rsp + 0x33]
movzx ecx, byte [0x180146b44]
call fcn.180070b00
mov byte [0x180146a6d], al
movzx eax, word [0x180146b40]
test eax, eax
jne 0x18007a223
mov dword [rsp + 0x234], 1
jmp 0x18007a22e
mov dword [rsp + 0x234], 0
movzx eax, word [0x180146ad4]
cwde
cmp dword [rsp + 0x234], eax
jg 0x18007a24c
movzx eax, byte [rsp + 0x30]
movsx eax, al
cmp eax, 0x2cf889bd
jg 0x18007a4a6
movzx eax, word [rsp + 0x3c]
cwde
not eax
test eax, eax
je 0x18007a4b1
movzx eax, byte [0x180d99a98]
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x128]
add eax, 0x1c19
mov dword [rsp + 0x24c], eax
movabs rax, 0x1b496cabbd386
mov rcx, qword [rsp + 0x80]
imul rcx, rax
mov rax, rcx
movsx rcx, byte [rsp + 0x34]
xor rax, rcx
movzx ecx, byte [0x180146a6e]
movzx edx, word [0x180146ad4]
movsx edx, dx
sub ecx, edx
movsxd rcx, ecx
movzx edx, byte [0x180146a4f]
movzx edx, dl
mov rdi, qword [rsp + 0x68]
imul rdi, rdx
mov rdx, rdi
imul rcx, rdx
xor rax, rcx
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x128]
add eax, 0x45d
mov dword [rsp + 0x3a0], eax
mov rax, qword [0x180146b48]
sub rax, qword [rsp + 0x70]
mov qword [0x180146b48], rax
mov byte [rsp + 0x34], 0x8e
movsxd rax, dword [rsp + 0x58]
movabs rcx, 0xa04e02aeac2b0
sub rax, rcx
movsx rcx, word [0x180146b78]
or rcx, rax
mov rax, rcx
mov word [0x180146b78], ax
mov eax, dword [0x180146b84]
imul eax, eax, 0xd3a9
mov word [0x180146b28], ax
mov eax, dword [rsp + 0x3a0]
xor eax, 0x8d4
mov ecx, dword [rsp + 0x24c]
mov edx, dword [rsp + 0x24c]
xor ecx, edx
add eax, ecx
mov ecx, 0x11d8
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x3c0], eax
movzx eax, byte [rsp + 0x32]
movzx eax, al
test eax, eax
je 0x18007a5d2
mov eax, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x348]
lea rax, [rcx + rax*2 + 4]
mov qword [rsp + 0x548], rax
mov rax, qword [rsp + 0x548]
mov eax, dword [rax + 8]
mov rcx, qword [rsp + 0x610]
add rcx, rax
mov rax, rcx
mov r8, qword [rsp + 0x620]
mov rdx, rax
mov rcx, qword [rsp + 0x610]
call fcn.180076d20
jmp 0x18007c2e9
mov eax, 0x3e8f
mov word [0x180146b70], ax
mov rax, qword [rsp + 0x620]
mov eax, dword [rax]
add rsp, 0x600
pop rdi
ret