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

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x228
mov eax, 0x4605
mov word [rsp + 0xf0], ax
movzx eax, byte [0x1800e3533]
mov byte [rsp + 0x21], al
mov eax, dword [0x1800e359c]
mov dword [rsp + 0x4c], eax
movzx eax, word [0x1800e3590]
mov word [rsp + 0x28], ax
movzx eax, word [0x1800e35f8]
mov word [rsp + 0x38], ax
mov byte [rsp + 0x20], 0x60
mov dword [rsp + 0x6c], 0xe9
movzx eax, word [0x1800e3614]
mov dword [rsp + 0x110], eax
mov eax, dword [0x1800e35f4]
mov byte [rsp + 0x22], al
mov eax, 0x1c
mov word [rsp + 0x34], ax
mov byte [rsp + 0x30], 0x26
movzx eax, byte [0x1800e3562]
movsx rax, al
mov qword [rsp + 0x40], rax
mov eax, dword [0x1800e35b8]
mov dword [rsp + 0x48], eax
mov eax, dword [0x1800e3534]
mov dword [rsp + 0x50], eax
movabs rax, 0xde14d31a2bdbe
mov qword [rsp + 0xb8], rax
mov eax, dword [0x1800e3534]
mov eax, eax
mov qword [rsp + 0x148], rax
mov byte [rsp + 0x26], 0xd9
mov qword [rsp + 0x160], 0xcb
mov rax, qword [0x1800e35e0]
mov qword [rsp + 0x78], rax
mov eax, 0xa499
mov word [rsp + 0x2c], ax
movzx eax, byte [0x1800e3578]
mov byte [rsp + 0x25], al
movzx eax, byte [0x1800e3563]
mov byte [rsp + 0x24], al
mov byte [rsp + 0x23], 0x62
mov qword [rsp + 0x1c0], 0xf3
mov qword [rsp + 0x1c8], 0xfd
mov eax, 0xc73dd4dc
mov qword [rsp + 0x1d0], rax
movabs rax, 0xdc69e1e5947d6
mov qword [rsp + 0x1d8], rax
mov byte [rsp + 0x80], 0x43
movzx eax, byte [0x1800e3566]
movzx eax, al
mov dword [rsp + 0x170], eax
mov rax, qword [0x1800e3570]
mov word [rsp + 0xf4], ax
mov byte [rsp + 0x81], 0xc8
mov eax, dword [str.Bw8_]
mov dword [rsp + 0x18c], eax
mov rax, qword [0x1800e3568]
mov byte [rsp + 0x82], al
mov byte [rsp + 0x83], 0x4e
movzx eax, word [0x1800e35a8]
mov byte [rsp + 0x84], al
movzx eax, word [0x1800e3578]
mov word [rsp + 0xf8], ax
mov eax, 0x401e
mov word [rsp + 0xfc], ax
mov qword [rsp + 0x1e0], 0x3875aa62
mov rax, qword [0x1800e35d8]
mov dword [rsp + 0x190], eax
mov rax, qword [0x1800e3570]
mov qword [rsp + 0x1e8], rax
movzx eax, byte [0x1800e3562]
movsx rax, al
mov qword [rsp + 0x1f0], rax
movzx eax, byte [0x1800e359c]
mov byte [rsp + 0x85], al
mov rax, qword [0x1800e3568]
mov word [rsp + 0x100], ax
mov rax, qword [0x1800e3600]
mov word [rsp + 0x140], ax
movzx eax, word [str.Bw8_]
mov word [rsp + 0x13c], ax
mov dword [rsp + 0x194], 0xa28c
mov eax, dword [0x1800e35f4]
mov byte [rsp + 0x86], al
movsxd rax, dword [0x1800e35c0]
mov qword [rsp + 0x1f8], rax
mov dword [rsp + 0x198], 0x7a43df76
movsx ax, byte [0x1800e3563]
mov word [rsp + 0x138], ax
movzx eax, byte [rsp + 0x23]
movsx rax, al
cmp qword [rsp + 0x40], rax
je 0x18005402f
mov eax, 0x28de
mov word [rsp + 0x2c], ax
jmp 0x1800540af
mov eax, dword [0x1800e3608]
mov rcx, qword [0x1800e3570]
add rax, rcx
test rax, rax
jne 0x180054052
mov qword [rsp + 0x150], 1
jmp 0x18005405e
mov qword [rsp + 0x150], 0
movsx eax, byte [rsp + 0x21]
not eax
movzx ecx, word [0x1800e35d0]
movsx ecx, cx
sub eax, ecx
cdqe
mov rcx, qword [rsp + 0x148]
not rcx
movsx edx, word [0x1800e35b4]
not edx
movsxd rdx, edx
add rcx, rdx
xor rax, rcx
not rax
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x150]
add rdx, rcx
mov rcx, rdx
xor rax, rcx
mov dword [0x1800e35b0], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x8c], eax
movzx eax, word [0x1800e3564]
cwde
add eax, 0x4ce3
mov word [0x1800e3560], ax
mov eax, dword [rsp + 0x8c]
add eax, 0x203
mov dword [rsp + 0xc0], eax
mov byte [rsp + 0x20], 2
movsx eax, byte [0x1800e34eb]
sub eax, dword [rsp + 0x4c]
mov byte [0x1800e34eb], al
mov eax, dword [rsp + 0x8c]
add eax, 0x249
mov dword [rsp + 0x19c], eax
movzx eax, byte [0x1800e355f]
shl eax, 5
cdqe
mov qword [0x1800e35e0], rax
mov eax, dword [rsp + 0x8c]
add eax, 0x21
mov dword [rsp + 0x1a0], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x90]
add eax, 0x380
mov dword [rsp + 0xcc], eax
mov byte [rsp + 0x22], 0xec
movzx eax, word [rsp + 0x2c]
mov rcx, qword [0x1800e35d8]
sub rax, rcx
movzx ecx, word [rsp + 0x2c]
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x2c], ax
mov eax, dword [rsp + 0x90]
add eax, 0x71
mov dword [rsp + 0x1a8], eax
mov rax, qword [0x1800e35f8]
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x90]
add eax, 0x182
mov dword [rsp + 0x118], eax
cmp dword [rsp + 0x4c], 0
je 0x1800541ad
jmp 0x1800541b9
movzx eax, word [0x18094ab58]
mov word [rsp + 0x38], ax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x94]
add eax, 0xf20e
mov dword [rsp + 0x144], eax
mov eax, dword [rsp + 0x94]
add eax, 0x6d
mov dword [rsp + 0x104], eax
mov eax, dword [rsp + 0x94]
add eax, 0x7773
mov dword [rsp + 0x1ac], eax
mov eax, dword [rsp + 0x4c]
mov ecx, 8
imul rcx, rcx, 0x4b49
lea rdx, [0x1809e3810]
mov qword [rdx + rcx], rax
movsx rax, byte [rsp + 0x21]
cmp rax, qword [rsp + 0x40]
jb 0x18005432a
mov dword [0x1800e35b0], 3
movzx eax, word [rsp + 0x38]
movabs rcx, 0x47bcc193e3e99
imul rax, rcx
mov rcx, qword [rsp + 0x40]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
movabs rax, 0xbca9b89605067
mov qword [rsp + 0x40], rax
mov eax, dword [0x1800e35b0]
mov dword [rsp + 0x54], eax
cmp dword [rsp + 0x54], 0
je 0x180054290
cmp dword [rsp + 0x54], 1
je 0x1800542bd
cmp dword [rsp + 0x54], 2
je 0x1800542e3
cmp dword [rsp + 0x54], 3
je 0x180054301
jmp 0x18005432a
movzx eax, byte [0x1800e3532]
movzx eax, al
mov ecx, dword [0x1800e3598]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x1800e3598]
and ecx, eax
mov eax, ecx
mov dword [0x1800e3598], eax
mov byte [0x1800e3582], 0x3b
jmp 0x18005432a
movsxd rax, dword [0x1800e35c0]
movabs rcx, 0x72011eda0182a
sub rax, rcx
mov dword [0x1800e35f0], eax
mov dword [0x1800e3514], 0x3217f052
jmp 0x18005432a
movzx eax, byte [rsp + 0x26]
sub eax, 0xa4
movsx ecx, word [0x1800e360c]
or ecx, eax
mov eax, ecx
mov word [0x1800e360c], ax
jmp 0x18005432a
movzx eax, byte [rsp + 0x23]
movsx eax, al
imul eax, eax, 0x6f
movzx ecx, byte [rsp + 0x20]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x20], al
movzx eax, word [rsp + 0x28]
movzx eax, ax
sar eax, 8
mov byte [0x1800e355f], al
mov eax, dword [rsp + 0x144]
mov ecx, dword [rsp + 0x104]
mov edx, 0xffff0e1a
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x120], eax
mov eax, dword [0x1800e3504]
test eax, eax
je 0x180054357
jmp 0x18005437a
mov eax, 1
imul rax, rax, 0x76d5
lea rcx, [0x180ab2bc0]
movsx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x4c]
and ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x98], eax
movzx eax, byte [0x1800e355e]
movsx eax, al
test eax, eax
je 0x180054397
jmp 0x1800543cc
mov rax, qword [rsp + 0x78]
mov ecx, 8
imul rcx, rcx, 0x585
lea rdx, [0x180a6ee10]
mov qword [rdx + rcx], rax
movzx eax, byte [rsp + 0x30]
movzx ecx, word [rsp + 0x38]
sub eax, ecx
movzx ecx, byte [rsp + 0x30]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x98]
add eax, 0x7ecc
mov dword [rsp + 0x1b0], eax
mov eax, dword [rsp + 0x98]
add eax, 0xb619
mov dword [rsp + 0x1a4], eax
mov eax, dword [rsp + 0x98]
add eax, 0xd9
mov dword [rsp + 0x108], eax
lea rax, [rsp + 0x200]
lea rcx, str.EndpointHelper::Ge
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x200]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [rsp + 0x25], al
mov eax, dword [rsp + 0x108]
xor eax, 0x7b1
add eax, 0xfffffa35
mov dword [rsp + 0x124], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x9c], eax
movzx eax, byte [rsp + 0x20]
movzx ecx, word [0x1800e3564]
movsx ecx, cx
cmp eax, ecx
jne 0x18005446d
jmp 0x180054494
movsx eax, word [rsp + 0x34]
test eax, eax
je 0x180054494
movzx eax, word [0x18094ab58]
mov word [0x1800e360c], ax
mov eax, dword [0x1800e359c]
xor eax, 0xa9
mov word [rsp + 0x34], ax
mov eax, dword [rsp + 0x9c]
add eax, 0xf2a0
mov dword [rsp + 0x174], eax
mov byte [rsp + 0x23], 0xc9
mov eax, dword [rsp + 0x9c]
add eax, 0x726b
mov dword [rsp + 0x178], eax
cmp qword [0x1800e3578], 0
je 0x1800544dc
mov eax, dword [0x1800e35ac]
add eax, 0xf3cf
mov dword [0x1800e35c0], eax
jmp 0x180054514
mov rax, qword [0x1800e3600]
test rax, rax
je 0x180054514
mov eax, dword [0x1800e35f0]
sub eax, 0xdf
mov dword [rsp + 0x48], eax
mov eax, 1
imul rax, rax, 0x76
lea rcx, [0x180abe120]
movsx rax, byte [rcx + rax]
mov qword [rsp + 0x148], rax
mov eax, dword [rsp + 0x9c]
add eax, 0xaa02
mov dword [rsp + 0x10c], eax
movzx eax, byte [0x1800e3582]
mov rcx, qword [0x1800e35c8]
imul rcx, rax
mov rax, rcx
mov qword [0x1800e35c8], rax
mov rax, qword [0x1800e3578]
add rax, 0x566d
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x10c]
xor eax, 0x25
or eax, 0x4ac0
xor eax, 0xe862
mov ecx, dword [rsp + 0xc0]
mov edx, dword [rsp + 0xc0]
imul ecx, edx
imul ecx, ecx, 0
sub eax, ecx
mov dword [rsp + 0x128], eax
mov byte [rsp + 0x23], 0x3c
mov eax, dword [0x18094ab58]
mov dword [rsp + 0xa4], eax
movsx eax, byte [rsp + 0x25]
movzx ecx, byte [rsp + 0x20]
cmp eax, ecx
jne 0x18005468b
mov dword [0x1800e3584], 3
movzx eax, byte [0x1800e3562]
movsx eax, al
movzx ecx, word [0x1800e35d0]
movsx ecx, cx
add eax, ecx
movzx ecx, byte [0x1800e3562]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [0x1800e3562], al
mov eax, dword [0x1800e3584]
mov dword [rsp + 0xa0], eax
cmp dword [rsp + 0xa0], 0
je 0x18005460a
cmp dword [rsp + 0xa0], 1
je 0x180054646
cmp dword [rsp + 0xa0], 2
je 0x180054654
jmp 0x180054686
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x180054628
movzx eax, word [0x1800e3564]
cwde
mov dword [rsp + 0xc4], eax
jmp 0x180054637
movzx eax, byte [rsp + 0x23]
movsx eax, al
mov dword [rsp + 0xc4], eax
movzx eax, word [rsp + 0xc4]
mov word [rsp + 0x2c], ax
jmp 0x180054686
mov eax, dword [0x1800e358c]
mov byte [0x1800e355e], al
jmp 0x180054686
mov rax, qword [0x1800e35d8]
add rax, qword [0x1800e35f8]
not rax
mov byte [rsp + 0x21], al
mov eax, 1
imul rax, rax, 0xb4b
lea rcx, [0x1809db4f0]
movzx edx, byte [0x1800e3563]
mov byte [rcx + rax], dl
jmp 0x18005475e
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1800546f3
cmp dword [0x1800e35ac], 0
jne 0x1800546ab
mov dword [rsp + 0xc8], 1
jmp 0x1800546b6
mov dword [rsp + 0xc8], 0
movzx eax, word [rsp + 0x38]
xor eax, 0x87
mov ecx, dword [rsp + 0x110]
xor ecx, 0x64
not ecx
imul eax, ecx
movsx ecx, word [rsp + 0x34]
mov edx, dword [rsp + 0xc8]
imul edx, ecx
mov ecx, edx
not ecx
movzx edx, byte [rsp + 0x24]
add ecx, edx
and eax, ecx
mov byte [0x1800e355f], al
jmp 0x18005475e
movzx eax, word [0x1800e3614]
movzx ecx, byte [rsp + 0x20]
cmp eax, ecx
jne 0x180054711
mov qword [rsp + 0x158], 1
jmp 0x18005471d
mov qword [rsp + 0x158], 0
mov rax, qword [rsp + 0x40]
cmp qword [rsp + 0x158], rax
jb 0x18005475e
mov eax, dword [rsp + 0x50]
mov ecx, dword [0x1800e35f0]
sub eax, ecx
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
movzx eax, word [rsp + 0x2c]
movzx ecx, byte [rsp + 0x24]
add eax, ecx
movzx ecx, word [rsp + 0x2c]
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x2c], ax
mov eax, dword [rsp + 0xa4]
add eax, 0xcb
mov dword [rsp + 0x17c], eax
mov eax, dword [rsp + 0xa4]
add eax, 0x2e7b
mov dword [rsp + 0x114], eax
mov eax, dword [rsp + 0xa4]
add eax, 0xe6
mov dword [rsp + 0x180], eax
mov eax, dword [rsp + 0x114]
xor eax, 0xd
xor eax, 0x4a
xor eax, 0x2cde
mov ecx, dword [rsp + 0xcc]
add ecx, 0x29
mov edx, dword [rsp + 0xcc]
add edx, 0x29
xor ecx, edx
mov edx, dword [rsp + 0x118]
mov edi, 0x29
sub edi, edx
mov edx, edi
imul edx, edx, 0
sub ecx, edx
add eax, ecx
mov dword [rsp + 0x12c], eax
mov eax, dword [0x1800e35ac]
not eax
test eax, eax
je 0x1800547fd
mov eax, dword [0x1800e3608]
and eax, 0xd6
mov byte [rsp + 0x25], al
jmp 0x18005492c
movzx eax, word [rsp + 0x28]
movzx eax, ax
test eax, eax
je 0x180054821
movsx eax, byte [0x1800e34eb]
test eax, eax
jne 0x180054821
mov dword [rsp + 0xd4], 0
jmp 0x18005482c
mov dword [rsp + 0xd4], 1
mov eax, dword [0x1800e3584]
not eax
test eax, eax
je 0x18005484d
cmp qword [rsp + 0x40], 0
je 0x18005484d
mov dword [rsp + 0xd0], 1
jmp 0x180054858
mov dword [rsp + 0xd0], 0
mov eax, dword [rsp + 0xd0]
cmp dword [rsp + 0xd4], eax
je 0x180054875
mov dword [rsp + 0xd8], 1
jmp 0x180054880
mov dword [rsp + 0xd8], 0
mov eax, dword [rsp + 0xd8]
not eax
test eax, eax
je 0x1800548bc
mov rax, qword [0x1800e3600]
or rax, qword [0x1800e35c8]
movsx ecx, word [rsp + 0x34]
xor ecx, 0xb896c757
mov ecx, ecx
or rax, rcx
not rax
imul rax, qword [0x1800e3590]
mov byte [rsp + 0x22], al
jmp 0x18005492c
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x1800548f4
cmp qword [0x1800e35e0], 0
je 0x1800548f4
movzx eax, byte [rsp + 0x20]
add eax, 0x1bcc0a8
movzx ecx, byte [rsp + 0x20]
or ecx, eax
mov eax, ecx
mov byte [rsp + 0x20], al
mov qword [0x1800e3590], 0xdfb0
jmp 0x18005492c
mov eax, dword [0x1800e3514]
mov ecx, dword [rsp + 0x6c]
cmp eax, ecx
jne 0x18005492c
movzx eax, word [0x1800e3614]
add eax, 0xfe
cdqe
mov qword [0x1800e35e8], rax
movsx eax, word [0x1800e3560]
add eax, 0xcf
cdqe
mov qword [0x1800e3590], rax
mov dword [rsp + 0x58], 0
mov dword [rsp + 0xb4], 0
movzx eax, byte [0x1800e355e]
movsx eax, al
movzx ecx, byte [rsp + 0x24]
cmp eax, ecx
jle 0x18005495f
mov dword [rsp + 0xe0], 1
jmp 0x18005496a
mov dword [rsp + 0xe0], 0
movzx eax, byte [0x1800e355e]
movsx eax, al
cmp eax, 0x4c
jle 0x180054986
mov dword [rsp + 0xdc], 1
jmp 0x180054991
mov dword [rsp + 0xdc], 0
mov eax, dword [rsp + 0xdc]
cmp dword [rsp + 0xe0], eax
jl 0x1800549a3
jmp 0x1800549ad
mov dword [0x1800e35ac], 0xcb
mov dword [0x1800e35ac], 0
movsx eax, byte [rsp + 0x22]
mov ecx, dword [rsp + 0x48]
imul ecx, ecx, 0x4d
imul eax, ecx
mov eax, eax
mov qword [0x1800e35e0], rax
mov eax, dword [0x1800e35ac]
mov dword [rsp + 0x11c], eax
cmp dword [rsp + 0x11c], 0
je 0x1800549e8
jmp 0x1800549f6
mov eax, dword [rsp + 0x50]
sub eax, 0x58a4
mov word [rsp + 0x28], ax
mov dword [rsp + 0x70], 0x38c48348
xor eax, eax
test eax, eax
je 0x180054b1c
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x88], eax
mov eax, dword [0x1800e35ac]
sub eax, 0xb2a924d9
mov byte [rsp + 0x20], al
mov eax, dword [rsp + 0x120]
mov ecx, dword [rsp + 0x88]
add eax, ecx
mov dword [rsp + 0xa8], eax
movsx eax, byte [rsp + 0x22]
movzx ecx, word [0x1800e3564]
movsx ecx, cx
cmp eax, ecx
jle 0x180054a50
jmp 0x180054aad
movzx eax, word [0x1800e3564]
cwde
test eax, eax
jne 0x180054a69
mov dword [rsp + 0xe4], 1
jmp 0x180054a74
mov dword [rsp + 0xe4], 0
movzx eax, word [rsp + 0x38]
cmp eax, dword [rsp + 0xe4]
je 0x180054aad
movabs rax, 0x7d1ea16cc6c45
mov rcx, qword [rsp + 0x40]
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x34], ax
movzx eax, byte [0x1800e355f]
sub eax, 0x5066
mov word [rsp + 0x28], ax
mov eax, dword [rsp + 0x124]
mov ecx, dword [rsp + 0x88]
add eax, ecx
mov dword [rsp + 0x184], eax
mov eax, dword [rsp + 0x128]
mov ecx, dword [rsp + 0x88]
add eax, ecx
mov dword [rsp + 0x130], eax
mov eax, dword [rsp + 0x12c]
mov ecx, dword [rsp + 0xa8]
or eax, ecx
mov ecx, dword [rsp + 0x130]
mov edx, dword [rsp + 0xa8]
add ecx, edx
cmp eax, ecx
je 0x180054b1c
mov rax, qword [0x18094aab0]
shl rax, 3
shl rax, 0x18
mov ecx, dword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov dword [rsp + 0x70], eax
mov eax, dword [0x1800e3610]
cdqe
add rax, qword [rsp + 0x160]
mov dword [0x1800e3610], eax
mov dword [rsp + 0x3c], 0
jmp 0x180054b46
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x250]
cmp dword [rsp + 0x3c], eax
jae 0x18005504a
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x68]
add eax, 0x13f
mov dword [rsp + 0x188], eax
movzx eax, byte [rsp + 0x24]
movzx ecx, word [rsp + 0x28]
movzx ecx, cx
cmp eax, ecx
jge 0x180054c6e
mov qword [rsp + 0x40], 4
movsx eax, byte [rsp + 0x21]
movzx ecx, word [0x1800e3564]
movsx ecx, cx
and eax, ecx
mov byte [rsp + 0x21], al
mov byte [rsp + 0x26], 0x3b
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xe8], rax
cmp qword [rsp + 0xe8], 0
je 0x180054be7
cmp qword [rsp + 0xe8], 2
je 0x180054bfc
cmp qword [rsp + 0xe8], 3
je 0x180054c27
cmp qword [rsp + 0xe8], 4
je 0x180054c59
jmp 0x180054c6c
movzx eax, byte [rsp + 0x26]
sub eax, 0xdeb36a29
mov eax, eax
mov qword [rsp + 0x40], rax
jmp 0x180054c6c
movabs rax, 0x901af9ae1598f
mov qword [rsp + 0xb8], rax
mov eax, dword [rsp + 0x50]
mov eax, eax
movabs rcx, 0xfd1337447f4a4
add rax, rcx
mov dword [rsp + 0x48], eax
jmp 0x180054c6c
movsx rax, byte [rsp + 0x21]
mov rcx, qword [rsp + 0x78]
sub rax, rcx
movsx rcx, byte [rsp + 0x21]
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x21], al
mov eax, dword [0x1800e35b0]
xor eax, 0x4793
cdqe
mov qword [rsp + 0x78], rax
jmp 0x180054c6c
mov rax, qword [rsp + 0xb8]
dec rax
mov qword [rsp + 0xb8], rax
jmp 0x180054c98
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x180054c98
movzx eax, word [rsp + 0x28]
movzx eax, ax
movsx ecx, byte [rsp + 0x25]
add eax, ecx
movzx ecx, word [rsp + 0x28]
movzx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x28], ax
mov eax, dword [rsp + 0x68]
add eax, 0x26c
mov dword [rsp + 0xac], eax
mov eax, dword [rsp + 0x6c]
movsx ecx, byte [rsp + 0x22]
cmp eax, ecx
je 0x180054cca
mov dword [0x1800e3584], 2
movzx eax, byte [0x1800e3567]
mov byte [rsp + 0x22], al
mov eax, dword [rsp + 0x68]
add eax, 0xbf
mov dword [rsp + 0x134], eax
mov eax, dword [rsp + 0xac]
add eax, 0x16f
mov ecx, dword [rsp + 0xac]
xor ecx, 0x63
mov edx, dword [rsp + 0x134]
add ecx, edx
cmp eax, ecx
je 0x180055045
movsx rax, word [rsp + 0x34]
cmp qword [rsp + 0x40], rax
jae 0x180054d13
jmp 0x180054e48
movsx eax, byte [0x1800e3513]
test eax, eax
je 0x180054d34
movsx eax, byte [rsp + 0x21]
test eax, eax
je 0x180054d34
mov dword [rsp + 0xb0], 1
jmp 0x180054d3f
mov dword [rsp + 0xb0], 0
movzx eax, word [0x1800e35d0]
cwde
cmp dword [rsp + 0xb0], eax
jl 0x180054dd8
movzx eax, word [0x1800e35a8]
movzx eax, ax
movabs rcx, 0x60635f8dfd457
and rax, rcx
mov ecx, dword [rsp + 0x48]
not ecx
mov ecx, ecx
movabs rdx, 0xcaccdefbd0c1c
add rcx, rdx
not rcx
imul rax, rcx
mov qword [0x1800e35d8], rax
movsx eax, word [rsp + 0x34]
movzx ecx, byte [rsp + 0x23]
movsx ecx, cl
imul eax, ecx
cdqe
add rax, qword [rsp + 0x160]
test rax, rax
jne 0x180054dbb
mov qword [rsp + 0x168], 1
jmp 0x180054dc7
mov qword [rsp + 0x168], 0
mov rax, qword [rsp + 0x168]
mov qword [0x1800e3568], rax
jmp 0x180054e48
movzx eax, word [0x1800e3580]
movzx eax, ax
mov rcx, qword [0x1800e35a0]
cmp rax, rcx
jae 0x180054e0d
mov eax, dword [0x1800e3584]
shr eax, 4
mov eax, eax
mov qword [rsp + 0x148], rax
mov eax, 0xa7a8893e
mov qword [rsp + 0x78], rax
jmp 0x180054e48
movzx eax, word [0x1800e3580]
movzx eax, ax
mov rcx, qword [rsp + 0xb8]
cmp rax, rcx
jge 0x180054e48
mov rax, qword [0x1800e3590]
sub rax, 0xb7
mov qword [0x1800e35e0], rax
movsx eax, byte [rsp + 0x21]
add eax, 0x9f1dfe7f
mov dword [0x1800e3610], eax
movzx eax, byte [rsp + 0x26]
movzx ecx, word [rsp + 0x28]
movzx ecx, cx
add eax, ecx
movsx ecx, byte [0x1800e3533]
imul ecx, ecx, 0xd1ab0c1f
imul eax, ecx
mov dword [rsp + 0x6c], eax
mov dword [rsp + 0x74], 0
mov eax, dword [rsp + 0x3c]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x248]
mov eax, dword [rcx + rax]
mov rcx, qword [rsp + 0x240]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
jmp 0x180054ea8
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x3c]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x248]
mov eax, dword [rcx + rax + 4]
mov rcx, qword [rsp + 0x240]
add rcx, rax
mov rax, rcx
cmp qword [rsp + 0x60], rax
jae 0x18005502d
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x70]
cmp dword [rax], ecx
jne 0x180054efc
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 4]
cmp eax, 0xc3
jne 0x180054efc
cmp dword [rsp + 0x270], 1
je 0x180054f1d
mov rax, qword [rsp + 0x60]
movzx eax, word [rax]
cmp eax, 0x23ff
jne 0x180055028
cmp dword [rsp + 0x270], 0
jne 0x180055028
mov rax, qword [rsp + 0x258]
mov dword [rax], 0
mov eax, dword [rsp + 0x3c]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x248]
mov eax, dword [rcx + rax + 8]
mov rcx, qword [rsp + 0x240]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1b8], rax
mov r8, qword [rsp + 0x258]
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x240]
call fcn.180051070
mov dword [rsp + 0xb4], eax
cmp dword [rsp + 0xb4], 0
je 0x180055028
mov eax, dword [rsp + 0x58]
inc eax
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x268]
mov ecx, dword [rsp + 0x58]
cmp dword [rax], ecx
jb 0x180054fa6
jmp 0x180054e9b
mov rax, qword [rsp + 0x268]
mov ecx, dword [rsp + 0x58]
mov dword [rax], ecx
cmp dword [rsp + 0x270], 1
jne 0x180054ff3
mov rax, qword [rsp + 0x60]
mov qword [0x18094aa48], rax
mov rax, qword [rsp + 0x258]
mov eax, dword [rax]
mov qword [0x18094aa78], rax
mov dword [rsp + 0x74], 1
mov rax, qword [rsp + 0x260]
mov ecx, dword [rsp + 0x3c]
mov dword [rax], ecx
jmp 0x180055026
mov rax, qword [rsp + 0x60]
mov qword [0x18094aa40], rax
mov rax, qword [rsp + 0x258]
mov eax, dword [rax]
mov qword [0x18094aa70], rax
mov dword [rsp + 0x74], 1
mov rax, qword [rsp + 0x260]
mov ecx, dword [rsp + 0x3c]
mov dword [rax], ecx
jmp 0x18005502d
jmp 0x180054e9b
cmp dword [rsp + 0x74], 0
je 0x180055045
imul rax, qword [0x1800e3578], 0x70828b6e
mov dword [rsp + 0x48], eax
jmp 0x18005504a
jmp 0x180054b3c
add rsp, 0x228
pop rdi
pop rsi
ret