Function at 0x140004f1c
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
or rdx, 0xffffffffffffffff
mov rcx, rax
mov r8, rdx
call qword [sym.imp.KERNEL32.DLL_SetProcessWorkingSetSize]
mov rcx, qword [0x14012cf28]
xor r9d, r9d
mov r8, rbx
xor edx, edx
add rsp, 0x20
pop rbx
jmp 0x14004bbf4
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x20], rsi
mov qword [rax + 0x18], r8
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x250
xor edx, edx
mov r12, r8
lea rcx, [rax + 0x18]
lea r8d, [rdx + 5]
call fcn.140023f84
lea rcx, [rsp + 0x290]
mov qword [rsp + 0x290], rax
call fcn.14001651c
xor eax, eax
mov rbp, rax
mov byte [0x14012d199], 0x41
call fcn.14001a550
mov dword [rsp + 0x5c], eax
movzx eax, al
lea rcx, [rsp + 0x50]
mov r13w, ax
xor edi, edi
shl r13w, 8
movzx esi, di
or r13w, ax
mov dword [rsp + 0x68], r13d
call fcn.14005fa18
lea rbx, [0x14012d0c0]
or r15, 0xffffffffffffffff
lea r8, [0x140113ff8]
mov rcx, rbx
mov edx, r15d
call fcn.140062c80
lea rcx, [rsp + 0xc0]
call fcn.14005fa18
mov rcx, qword [0x14012ca58]
lea r9, [rsp + 0xc0]
lea r8, [0x140113fe0]
lea edx, [rbp + 0x64]
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0x20], rdi
call fcn.14001dae4
lea r14d, [rbp + 1]
lea rcx, [rsp + 0xc0]
mov edx, r14d
call fcn.1400d9edc
mov r11, qword [rsp + 0xc0]
lea rcx, [rsp + 0xb8]
mov qword [rsp + 0xb8], r11
call fcn.14001651c
cmp qword [rsp + 0xc8], 4
mov rcx, qword [rsp + 0xb8]
jg 0x14004bd27
mov word [r11], di
mov word [rcx], di
mov r11, qword [rsp + 0xc0]
cmp word [rcx], di
je 0x14004be47
lea rdx, [0x140113fd0]
mov r8d, pe_nt_image_headers64
mov rcx, rbx
call fcn.140023868
mov rbx, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], rdi
mov dil, byte [0x14012a258]
lea rcx, [rsp + 0x100]
mov rdx, r12
mov qword [rsp + 0xb8], rbx
mov byte [0x14012a258], r14b
call fcn.14006ac98
mov r8, qword [rsp + 0x100]
mov rdx, rbx
lea rbx, [0x14012d0c0]
lea r9, [0x14010d568]
mov rcx, rbx
call fcn.1400ba31c
lea rdx, [0x140113fb8]
mov r9d, r15d
xor r8d, r8d
mov rcx, rbx
mov byte [0x14012a258], dil
mov rbp, rax
call fcn.14001d7ac
xor edi, edi
cmp rax, rdi
je 0x14004bddb
mov rdx, qword [rax]
cmp word [rdx], di
je 0x14004bdd1
mov si, word [rdx]
add rdx, 2
lea rcx, [rsp + 0x50]
call fcn.14006adb0
lea rdx, [0x140113fa0]
mov r9d, r15d
xor r8d, r8d
mov rcx, rbx
call fcn.14001d7ac
cmp rax, rdi
je 0x14004be32
mov byte [0x14012d038], r14b
mov rax, qword [rax]
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x110]
mov dword [rsp + 0x78], edi
mov qword [rsp + 0x110], rax
call fcn.140063f40
mov r11d, dword [rsp + 0x78]
cmp r11d, edi
jle 0x14004be32
and r11b, 0x3f
or byte [0x14012d038], r11b
lea rcx, [rsp + 0x100]
call fcn.140057768
mov r11, qword [rsp + 0xc0]
mov rcx, r11
call fcn.1400576cc
lea rcx, [rsp + 0xc0]
call fcn.140057768
lea r8, [0x140113ff8]
mov edx, r14d
mov rcx, rbx
call fcn.140062c80
lea rcx, [rsp + 0xa0]
call fcn.14005fa18
mov ecx, 0x2a
movzx r14d, r13w
shl r14d, 0x10
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], rdi
lea eax, [rcx - 6]
mov rbx, rdi
mov dword [rsp + 0x58], r14d
cmp cx, si
je 0x14004bf19
cmp ax, si
je 0x14004bf19
mov rax, qword [rsp + 0x50]
cmp word [rax], di
jne 0x14004bf19
lea edx, [rcx + 0x3b]
mov rcx, qword [0x14012cf28]
lea rax, [rsp + 0x58]
lea r9, [rsp + 0xa0]
lea r8, [0x140112308]
mov qword [rsp + 0x20], rax
call fcn.14001dae4
mov r14d, dword [rsp + 0x58]
lea rcx, [rsp + 0xa0]
mov edx, r14d
or edx, 1
call fcn.1400d9edc
cmp qword [rsp + 0xa8], 4
mov rbx, qword [rsp + 0xa0]
jg 0x14004bf19
mov word [rsp + 0x5c], di
mov dword [rsp + 0x68], edi
mov r14d, edi
mov rbx, rdi
mov qword [rsp + 0x108], r12
cmp r12, rdi
je 0x14004bf4b
lea rdx, [rsp + 0x108]
lea rcx, [0x14010e190]
mov r8d, 0x11
call fcn.1400577bc
mov byte [0x14012cca0], 1
cmp eax, edi
jne 0x14004bf52
mov byte [0x14012cca0], dil
mov rdi, qword [rsp + 0x290]
lea rcx, [0x14010e180]
mov r8d, 4
mov rdx, rdi
call fcn.140058db8
movzx ecx, byte [0x14012c96f]
mov r13b, byte [0x14012cca0]
xor edx, edx
cmp al, dl
cmovne ecx, edx
mov byte [0x14012c96f], cl
cmp r13b, dl
jne 0x14004c09a
lea eax, [rdx + 0x2d]
cmp ax, si
jne 0x14004bf9f
or r13b, 2
mov eax, 0x2a
cmp ax, si
jne 0x14004bfd3
lea rcx, [0x14012d100]
mov byte [0x14012a258], 1
call fcn.1400d8030
mov rdx, qword [rsp + 0x50]
lea rcx, [0x14012d0c0]
add rdx, 8
call fcn.140042e00
jmp 0x14004c047
mov eax, 0x24
cmp ax, si
jne 0x14004c002
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x50]
lea rcx, [0x14012d0c0]
xor r9d, r9d
xor r8d, r8d
mov byte [0x14012a258], 1
call fcn.140049184
jmp 0x14004c047
mov rax, qword [rsp + 0x50]
cmp word [rax], dx
je 0x14004c04f
cmp rbx, rdx
jne 0x14004c04f
lea rdx, [0x14010e370]
lea rcx, [rsp + 0x50]
mov byte [0x14012a258], 1
call fcn.14005fb54
lea rcx, [rsp + 0x50]
mov rdx, rdi
call fcn.14005fb54
mov rdx, qword [rsp + 0x50]
lea rcx, [0x14012d0c0]
call fcn.1400300d0
mov rbp, rax
jmp 0x14004c789
cmp word [rdi], dx
jne 0x14004c09a
cmp rbx, rdx
jne 0x14004c09a
mov rcx, qword [0x14012ca58]
mov edx, 0x12e
mov r8d, 5
call qword [sym.imp.KERNEL32.DLL_FindResourceW]
xor edi, edi
cmp rax, rdi
je 0x14004c789
lea rdx, [0x14010d568]
lea rcx, [0x14012d0c0]
xor r8d, r8d
call fcn.14003e2cc
movsxd rbp, eax
jmp 0x14004c789
lea rcx, [rsp + 0x48]
call fcn.14005fa18
xor ebp, ebp
cmp r12, rbp
jne 0x14004c0ba
lea rcx, [rsp + 0x48]
call fcn.140057768
jmp 0x14004c7f7
lea rdx, [rsp + 0x48]
mov rcx, r12
call fcn.140026c48
mov rax, qword [rsp + 0x48]
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0xd8]
mov r8d, 1
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe8], rbp
call fcn.140023f84
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x60], rax
call fcn.14001651c
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x48]
mov rsi, rdi
sub rsi, rdx
sar rsi, 1
mov qword [rsp + 0xe8], rsi
cmp rbx, rbp
je 0x14004c135
cmp r13b, bpl
jne 0x14004c135
mov r13b, 1
mov byte [rsp + 0x40], r13b
jmp 0x14004c13d
mov r13b, bpl
mov byte [rsp + 0x40], bpl
mov r12b, 0x10
mov qword [rsp + 0x80], rbp
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x90], rbp
mov byte [rsp + 0x42], 1
mov ebx, 0x20
cmp r13b, bpl
je 0x14004c182
xor edi, edi
lea rbp, [rsp + 0xa0]
mov byte [0x14012a258], 1
mov byte [rsp + 0x42], dil
jmp 0x14004c466
mov rcx, qword [rsp + 0xa0]
call fcn.1400576cc
lea rcx, [rsp + 0xa0]
call fcn.1400576e8
mov ax, bp
mov word [rsp + 0x5c], bp
mov dword [rsp + 0x68], eax
mov eax, 0x2f
mov r14d, ebp
cmp ax, word [rdi]
jne 0x14004c1e0
movzx eax, word [rdi + 2]
mov ecx, 0x6c
or ax, bx
cmp cx, ax
jne 0x14004c1e0
lea eax, [rcx - 0x63]
cmp ax, word [rdi + 4]
ja 0x14004c1d6
cmp word [rdi + 4], 0xd
jbe 0x14004c1dc
cmp bx, word [rdi + 4]
jne 0x14004c1e0
mov bpl, byte [rdi + 2]
xor ecx, ecx
mov qword [rsp + 0x70], rcx
cmp bpl, cl
je 0x14004c210
mov word [rdi + 2], bx
mov word [rdi], bx
add rdi, 4
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x60], rdi
call fcn.14001651c
mov rdi, qword [rsp + 0x60]
jmp 0x14004c312
mov eax, 0x22
mov qword [rsp + 0x118], rcx
lea rdx, [rsp + 0x118]
cmp ax, word [rdi]
lea rcx, [rsp + 0xf0]
mov qword [rsp + 0xf0], rdi
sete bl
xor r8d, r8d
call fcn.140023f84
mov rdx, qword [rsp + 0xf0]
lea rcx, [rsp + 0xe0]
sub rax, rdx
sar rax, 1
mov r8, rax
call fcn.14006acbc
mov rcx, qword [rsp + 0xe0]
call fcn.1400f2d44
mov r12d, eax
xor eax, eax
cmp bl, al
je 0x14004c2a9
cmp r12d, eax
je 0x14004c297
lea ecx, [rax + 9]
cmp cx, word [rdi + 2]
ja 0x14004c28c
cmp word [rdi + 2], 0xd
jbe 0x14004c297
mov ecx, 0x20
cmp cx, word [rdi + 2]
jne 0x14004c2a9
mov rcx, rdi
call fcn.14001ae54
mov rdi, rax
mov qword [rsp + 0x60], rax
xor eax, eax
cmp r12d, eax
je 0x14004c302
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
lea ebx, [rax + 1]
lea ecx, [rbx + 0xc]
movsxd rdx, ecx
lea rcx, [rsp + 0x70]
call fcn.14005fb18
mov rcx, qword [rsp + 0x70]
lea rdx, [0x140113f90]
mov r8d, 0xc
call fcn.14001c8fc
mov rcx, qword [rsp + 0x70]
movsxd r8, ebx
add r8, r8
mov rdx, rdi
add rcx, 0xa
call fcn.14001c8fc
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0xe0]
call fcn.140057768
mov r12b, 0x10
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
movsxd rbx, eax
lea ecx, [rbx + 3]
movsxd rdx, ecx
lea rcx, [rsp + 0x80]
call fcn.14005fb18
mov rcx, qword [rsp + 0x80]
lea r11d, [rbx + 1]
movsxd r8, r11d
mov rdx, rdi
add r8, r8
call fcn.14001c8fc
mov rax, qword [rsp + 0x80]
mov rcx, rbx
xor ebx, ebx
mov word [rax + rcx*2 + 2], bx
cmp bpl, bl
je 0x14004c449
mov rcx, qword [rsp + 0x80]
call fcn.14005aa14
mov r11, qword [rsp + 0x80]
movzx eax, word [r11]
mov rdi, r11
mov qword [rsp + 0xd8], r11
cmp ax, bx
je 0x14004c3b1
lea ecx, [rbx + 0xa]
cmp ax, 0xd
je 0x14004c3a9
cmp ax, cx
je 0x14004c3a9
add rdi, 2
mov ax, word [rdi]
cmp ax, bx
jne 0x14004c392
mov qword [rsp + 0xd8], rdi
mov rbx, rdi
lea rcx, [rsp + 0x48]
sub rbx, r11
sar rbx, 1
movsxd r12, ebx
lea r13, [r12 + rsi]
lea rdx, [r13 + 1]
call fcn.14005fb18
xor r10d, r10d
cmp ebx, r10d
jle 0x14004c441
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x80]
add r12, r12
lea rcx, [rax + rsi*2]
mov r8, r12
call fcn.14001c8fc
mov rax, qword [rsp + 0x48]
mov word [rax + r13*2], r10w
cmp bpl, 0x4c
jne 0x14004c441
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
mov rcx, qword [rsp + 0x80]
mov rdx, rdi
inc eax
cdqe
lea r11, [rax + rax]
mov r8, r11
call fcn.14001c8b4
mov rcx, qword [rsp + 0x80]
mov r8, r12
add rcx, r11
xor edx, edx
call fcn.1400f3900
mov r12b, r14b
jmp 0x14004c444
mov r12b, r10b
mov r13b, byte [rsp + 0x40]
lea rcx, [rsp + 0x70]
lea rbp, [rsp + 0x80]
or r12b, 1
call fcn.140057768
mov rdx, qword [rsp + 0x48]
xor edi, edi
mov rbx, qword [rbp]
lea rsi, [0x14012d0c0]
mov r8d, 1
mov rcx, rsi
mov qword [rsp + 0x98], rbx
call fcn.14006e390
cmp r13b, dil
je 0x14004c49b
mov r8d, 0x10040
lea rdx, [0x140111398]
jmp 0x14004c4fd
lea rcx, [rsp + 0x98]
call fcn.14001651c
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
movsxd rcx, eax
lea rax, [rbx + rcx*2 - 2]
cmp rax, rbx
jb 0x14004c4f0
mov ecx, 9
lea r15d, [rcx + 0x17]
cmp cx, word [rax]
ja 0x14004c4da
cmp word [rax], 0xd
jbe 0x14004c4e0
cmp r15w, word [rax]
jne 0x14004c4ec
mov word [rax], di
sub rax, 2
cmp rax, rbx
jae 0x14004c4cf
or r15, 0xffffffffffffffff
mov r8d, pe_nt_image_headers64
lea rdx, [0x140113f78]
mov rcx, rsi
call fcn.140023868
mov rax, rbx
xor r13d, r13d
sub rax, qword [rbp]
sar rax, 1
cmp eax, r13d
jle 0x14004c534
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
mov rcx, qword [rbp]
mov rdx, rbx
movsxd r8, eax
lea r8, [r8 + r8 + 2]
call fcn.14001c8b4
mov rbx, qword [rbp]
lea rdx, [0x140113f6c]
lea rcx, [rsp + 0xf8]
call fcn.14006ac98
lea rcx, [rsp + 0x160]
mov rdx, rsi
call fcn.1400170d8
lea rcx, [rsp + 0x160]
mov rdx, rsi
call fcn.140017ab8
mov esi, dword [rsp + 0x68]
lea rcx, [rsp + 0x160]
movzx edi, si
mov qword [rsp + 0x1a0], r13
mov edx, edi
call fcn.14005d6f0
lea rcx, [rsp + 0x160]
xor r8d, r8d
mov rdx, rbx
mov word [rsp + 0x1a8], si
call fcn.140023bb8
mov rcx, qword [rbp]
movzx edx, si
call fcn.14001a538
lea r9, [rsp + 0xf8]
xor edx, edx
mov ebx, eax
lea rax, [rsp + 0x160]
mov rcx, rbp
mov r8d, ebx
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rax
call fcn.14002f09c
movzx esi, word [rsp + 0x5c]
movzx ecx, ax
lea eax, [rbx + 1]
mov edx, esi
or r14d, ecx
mov rcx, qword [rbp]
movsxd r8, eax
xor edx, edi
call fcn.14001a5ec
shl esi, 0x10
and r14d, 2
lea rcx, [rsp + 0x160]
or esi, r14d
xor edx, edx
mov dword [rsp + 0x58], esi
call fcn.14004bb68
lea rcx, [rsp + 0x1d0]
call fcn.140057768
lea rcx, [rsp + 0xf8]
call fcn.140057768
movsx edx, byte [rsp + 0x42]
lea r8, [0x140113ff8]
lea rcx, [0x14012d0c0]
call fcn.140062c80
mov rdx, qword [rbp]
mov r8, qword [rsp + 0x48]
movsx eax, r12b
mov qword [rsp + 0x30], r13
lea rcx, [0x14012d0c0]
and eax, 1
xor r9d, r9d
mov qword [rsp + 0x28], r13
or eax, esi
mov qword [rsp + 0x98], rdx
mov qword [rbp], r13
bts eax, 7
mov dword [rsp + 0x20], eax
call fcn.1400ba4e8
mov rbp, rax
mov eax, dword [0x14012d78c]
cmp eax, r13d
je 0x14004c6a2
lea rcx, [0x14012d78c]
xor edx, edx
call fcn.14001ac1c
call fcn.1400606f0
mov r11d, dword [0x14012d788]
cmp r11d, r13d
jle 0x14004c6ba
mov byte [0x14012a25f], r15b
call qword [sym.imp.KERNEL32.DLL_GetTickCount]
lea ebx, [rax - 0x14]
call qword [sym.imp.KERNEL32.DLL_GetTickCount]
mov r11d, dword [0x14012d788]
cmp r11d, r13d
jle 0x14004c772
mov r15d, 0xa
call qword [sym.imp.KERNEL32.DLL_GetTickCount]
mov ecx, eax
mov edi, eax
sub ecx, ebx
cmp ecx, 1
jb 0x14004c6fa
xor ecx, ecx
call qword [sym.imp.USER32.DLL_PostQuitMessage]
mov ebx, edi
mov r9d, r15d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], 0x4ff
call qword [sym.imp.USER32.DLL_MsgWaitForMultipleObjects]
jmp 0x14004c753
lea rcx, [rsp + 0x130]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], 1
call qword [sym.imp.USER32.DLL_PeekMessageW]
cmp eax, r13d
je 0x14004c75f
lea rcx, [rsp + 0x130]
call qword [sym.imp.USER32.DLL_TranslateMessage]
lea rcx, [rsp + 0x130]
call qword [sym.imp.USER32.DLL_DispatchMessageW]
mov r11d, dword [0x14012d788]
cmp r11d, r13d
jg 0x14004c714
mov eax, dword [0x14012d788]
cmp eax, r13d
jg 0x14004c6df
or r15, 0xffffffffffffffff
lea rcx, [rsp + 0x80]
call fcn.140057768
lea rcx, [rsp + 0x48]
call fcn.140057768
mov rcx, qword [rsp + 0xa0]
call fcn.1400576cc
lea rcx, [0x14012d800]
call fcn.140057e40
lea rcx, [0x14012dc30]
call fcn.140057e80
lea rcx, [0x14012d100]
call fcn.1400d8030
call fcn.14001ab70
mov rax, qword [0x140113f60]
lea r11, [rsp + 0x120]
lea rdx, [rsp + 0x128]
lea rcx, [0x14012d0c0]
mov qword [r11], rax
movzx eax, word [0x140113f68]
mov r8, r15
mov word [r11 + 8], ax
call fcn.140025680
mov r15, rbp
lea rcx, [rsp + 0xa0]
call fcn.140057768
lea rcx, [rsp + 0x50]
call fcn.140057768
lea r11, [rsp + 0x250]
mov rax, r15
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret