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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x108
mov rbp, qword [0x00670bd0]
mov rbx, rcx
mov r13, r8
mov r12, r9
lea rcx, [0x0069f298]
mov esi, edx
mov edx, 0x10
mov rax, qword [rbp]
call qword [rax + 0x998]
mov rcx, rbx
mov r14, rax
call fcn.00425ea0
test rax, rax
mov r10, rax
je 0x430955
cmp qword [rax + 0x28], 0
jne 0x430970
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea r15, [rsp + 0xa0]
xor eax, eax
mov ecx, 0xc
cmp esi, 0x102
mov rdi, r15
rep stosq qword [rdi], rax
mov rax, qword [r10]
mov edx, dword [rax + 0x8c]
mov qword [rsp + 0xb0], rax
lea ecx, [rdx + 1]
mov dword [rsp + 0xa4], edx
mov dword [rax + 0x8c], ecx
mov rax, qword [r10 + 0x28]
mov qword [rsp + 0xb8], rax
ja 0x430a81
cmp esi, 0x100
jae 0x430b63
cmp esi, 0xf
je 0x430d30
ja 0x430af0
lea eax, [rsi - 7]
cmp eax, 1
ja 0x430955
mov rcx, r13
mov qword [rsp + 0x30], r10
call fcn.00425ea0
mov r10, qword [rsp + 0x30]
jmp 0x430a0d
mov r10, qword [r10 + 0x40]
test r10, r10
je 0x430955
test byte [r10 + 0xf4], 2
je 0x430a00
test rax, rax
jne 0x430a2e
jmp 0x430f10
mov rax, qword [rax + 0x40]
test rax, rax
je 0x430f10
test byte [rax + 0xf4], 2
je 0x430a21
cmp esi, 7
je 0x431077
cmp rax, r10
je 0x430955
mov rax, qword [r10 + 0x28]
mov dword [rsp + 0xa0], 0xa
mov dword [rsp + 0xc0], 0
mov dword [rsp + 0xc4], 3
mov qword [rsp + 0xb8], rax
call qword [sym.imp.USER32.dll_DestroyCaret]
jmp 0x430b45
cmp esi, 0x109
je 0x430b63
jbe 0x430b54
cmp esi, 0x20a
je 0x430b63
cmp esi, 0x307
jne 0x430955
cmp dword [r14 + 8], 1
je 0x430955
lea rdx, [0x0062bd58]
mov rcx, r10
mov dword [rsp + 0xa0], 0x1d
call fcn.00433860
mov dword [rsp + 0xc0], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0xc4], eax
jmp 0x430b45
cmp esi, 0x10
jne 0x430955
lea rdx, str.WM_PROTOCOLS
mov rcx, r10
mov qword [rsp + 0x30], r10
mov dword [rsp + 0xa0], 0x21
call fcn.00433860
mov r10, qword [rsp + 0x30]
lea rdx, str.WM_DELETE_WINDOW
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0xc4], 0x20
mov rcx, r10
call fcn.00433860
mov dword [rsp + 0xc8], eax
xor edx, edx
mov rcx, r15
call fcn.00405670
jmp 0x430955
lea eax, [rsi - 0x104]
cmp eax, 1
ja 0x430955
mov qword [rsp + 0x30], r10
call fcn.00424c50
mov r14d, eax
mov eax, esi
mov r10, qword [rsp + 0x30]
and eax, 0xfffffffb
cmp eax, 0x100
sete cl
je 0x430da0
cmp eax, 0x101
jne 0x430bf8
shr r12, 0x10
mov r8d, r12d
and r12w, 0x4000
cmp r13, 0x12
movzx edx, r12w
je 0x43106d
jbe 0x430d04
xor eax, eax
cmp r13, 0x90
je 0x430bd0
cmp r13, 0x91
jne 0x430d22
nop dword [rax + rax]
test edx, edx
je 0x430f00
or r14d, eax
test r8w, 0x100
je 0x430bf8
mov eax, r14d
and r14d, 0xfffbffff
or eax, 0x40000
test cl, cl
cmovne r14d, eax
mov qword [rsp + 0x38], r10
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x30], eax
call qword [sym.imp.USER32.dll_GetMessagePos]
movsx edi, ax
sar eax, 0x10
lea rdx, [rsp + 0x40]
mov r12d, eax
mov rcx, rbx
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x44], eax
call qword [sym.imp.USER32.dll_ScreenToClient]
mov r10, qword [rsp + 0x38]
mov r8d, dword [rsp + 0x30]
movsxd rdx, dword [r10 + 0x10]
mov rax, qword [r10]
lea rcx, [rdx*8]
shl rdx, 7
sub rdx, rcx
add rdx, qword [rax + 0xd8]
cmp esi, 0x104
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0xc8], 0
mov dword [rsp + 0xdc], edi
mov dword [rsp + 0xe0], r12d
mov dword [rsp + 0xe4], r14d
mov dword [rsp + 0xd0], r8d
mov qword [rsp + 0xc0], rax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0xec], 1
mov dword [rsp + 0xd4], eax
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0xd8], eax
je 0x430e24
jbe 0x430e00
cmp esi, 0x109
je 0x430ffa
cmp esi, 0x20a
je 0x430fc5
cmp esi, 0x105
jne 0x430b45
mov dword [rsp + 0xa0], 3
mov dword [rsp + 0xe8], r13d
mov dword [rsp + 0xf4], 0
jmp 0x430b45
cmp r13, 0x10
mov eax, 1
je 0x430bd0
cmp r13, 0x11
mov eax, 4
je 0x430bd0
xor eax, eax
jmp 0x430bd0
lea rsi, [rsp + 0x50]
mov rcx, rbx
mov dword [rsp + 0xa0], 0xc
mov rdx, rsi
call qword [sym.imp.USER32.dll_BeginPaint]
mov eax, dword [rsp + 0x5c]
mov edi, dword [rsp + 0x64]
mov rcx, rbx
mov edx, dword [rsp + 0x60]
mov dword [rsp + 0xc0], eax
sub edi, eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0xc4], edx
mov dword [rsp + 0xc8], edi
sub eax, edx
mov rdx, rsi
mov dword [rsp + 0xcc], eax
call qword [sym.imp.USER32.dll_EndPaint]
mov dword [rsp + 0xd0], 0
jmp 0x430b45
shr r12, 0x10
mov r8d, r12d
and r12w, 0x4000
cmp r13, 0x12
movzx edx, r12w
je 0x43106d
jbe 0x430d04
cmp r13, 0x90
je 0x4310c1
cmp r13, 0x91
je 0x4310a9
cmp r13, 0x14
jne 0x430d22
mov eax, r14d
and eax, 2
cmp eax, edx
mov eax, 2
sete dl
movzx edx, dl
jmp 0x430bd0
cmp esi, 0x101
je 0x430ce1
cmp esi, 0x102
je 0x430f65
cmp esi, 0x100
jne 0x430b45
mov dword [rsp + 0xa0], 2
mov dword [rsp + 0xa8], 0xffffffff
xor eax, eax
mov dword [rsp + 0xe8], r13d
mov dword [rsp + 0xf4], 0
lea rbx, [rsp + 0x50]
mov rsi, qword [sym.imp.USER32.dll_PeekMessageA]
mov rdi, qword [sym.imp.USER32.dll_GetMessageA]
jmp 0x430e90
movsxd rax, dword [rsp + 0xf4]
mov rdx, qword [rsp + 0x60]
cmp dx, 0xff
mov rcx, rax
mov byte [rsp + rax + 0xf0], dl
lea eax, [rax + 1]
mov dword [rsp + 0xf4], eax
ja 0x4310d9
cmp eax, 3
jg 0x430b45
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], 0
mov rcx, rbx
call rsi
test eax, eax
je 0x430b45
mov eax, dword [rsp + 0x58]
and eax, 0xfffffffb
cmp eax, 0x102
jne 0x430b45
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call rdi
cmp dword [rsp + 0x58], 0x102
jne 0x430e64
test byte [rsp + 0x6b], 0x20
je 0x430e64
mov dword [rsp + 0xe4], 0
jmp 0x430e64
not eax
and r14d, eax
jmp 0x430bdb
cmp esi, 7
jne 0x430a40
mov rcx, r10
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x30], r10
call fcn.004307b0
mov r10, qword [rsp + 0x30]
mov rax, qword [r10 + 0x28]
mov dword [rsp + 0xa0], 9
mov dword [rsp + 0xc0], 0
mov dword [rsp + 0xc4], 3
mov qword [rsp + 0xb8], rax
jmp 0x430b45
mov dword [rsp + 0xa0], 2
mov dword [rsp + 0xa8], 0xffffffff
movzx ecx, r13b
mov dword [rsp + 0xe8], 0
mov dword [rsp + 0xf4], 1
mov byte [rsp + 0xf0], r13b
call qword [sym.imp.KERNEL32.dll_IsDBCSLeadByte]
test eax, eax
jne 0x4310f5
xor edx, edx
mov rcx, r15
call fcn.00405670
mov dword [rsp + 0xa0], 3
jmp 0x430b45
shr r13, 0x10
mov dword [rsp + 0xa0], 0x26
mov dword [rsp + 0xa8], 0xffffffff
movsx eax, r13w
mov dword [rsp + 0xf4], 0
mov dword [rsp + 0xe8], eax
jmp 0x430b45
mov rax, qword [rbp]
lea rbx, [rsp + 0x50]
mov ecx, r13d
mov dword [rsp + 0xa0], 2
mov dword [rsp + 0xa8], 0xfffffffd
mov rdx, rbx
mov dword [rsp + 0xe8], r13d
call qword [rax + 0xa30]
xor ecx, ecx
xor r8d, r8d
test eax, eax
mov dword [rsp + 0xf4], eax
lea rdx, [r15 + 0x50]
jle 0x430fab
movzx eax, byte [rbx + rcx]
add r8d, 1
mov byte [rdx + rcx], al
add rcx, 1
cmp dword [rsp + 0xf4], r8d
jle 0x430fab
cmp r8d, 2
jle 0x431045
jmp 0x430fab
mov eax, 0x20000
jmp 0x430bd0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r10
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r10
call fcn.004307b0
mov r10, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
cmp rax, r10
jne 0x430f33
jmp 0x430955
mov eax, r14d
and eax, 0x20
cmp eax, edx
mov eax, 0x20
sete dl
movzx edx, dl
jmp 0x430bd0
mov eax, r14d
and eax, 8
cmp eax, edx
mov eax, 8
sete dl
movzx edx, dl
jmp 0x430bd0
cdqe
shr rdx, 8
mov byte [rsp + rax + 0xf0], dl
lea eax, [rcx + 2]
mov dword [rsp + 0xf4], eax
jmp 0x430e90
lea rbx, [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], 0
mov rcx, rbx
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x430fab
cmp dword [rsp + 0x58], 0x102
jne 0x430fab
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetMessageA]
mov rax, qword [rsp + 0x60]
mov dword [rsp + 0xf4], 2
mov byte [rsp + 0xf1], al
jmp 0x430fab