Function at 0x4b8920
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x60
mov rbp, qword [0x00670bd0]
mov edx, 0x20
mov rbx, rcx
lea rcx, [0x0069f9c0]
mov rax, qword [rbp]
call qword [rax + 0x998]
mov rdi, rax
mov eax, dword [rbx + 0xb8]
test eax, eax
js 0x4b8cd5
add eax, dword [rbx + 0xa0]
cmp qword [rdi], 0
mov dword [rbx + 0x198], 0
mov dword [rbx + 0xd0], eax
je 0x4b8e60
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x4b8cb0
lea rdx, [rsp + 0x48]
lea r8, [rsp + 0x4c]
mov r12d, 1
call fcn.0045ac70
mov rcx, qword [rbx + 0x190]
call fcn.0044f7a0
mov rax, qword [rbp]
mov r13d, dword [rbx + 0x178]
mov esi, dword [rbx + 0x150]
mov rcx, qword [rbx + 0x30]
call qword [rax + 0xab0]
lea rdx, [rbx + 0x18c]
mov rcx, qword [rbx + 0xd8]
mov r9d, esi
mov r8d, 0xffffffff
mov dword [rsp + 0x20], r13d
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x38], rdx
lea rdx, [rbx + 0x188]
mov qword [rsp + 0x30], rdx
mov rdx, rax
call fcn.0044f020
mov qword [rbx + 0x190], rax
mov rax, qword [rbp]
mov rcx, qword [rbx + 0x30]
mov esi, dword [rbx + 0x188]
mov r13d, dword [rbx + 0x18c]
call qword [rax + 0xab0]
mov rcx, qword [rbx + 0xd8]
lea rdx, str.abcdefghijklmnopqurstuvwzyABCDEFGHIJKLMNOPQURSTUVWZY
mov r8d, 0x34
movzx ebp, byte [rax]
call fcn.0044ee90
lea ecx, [rax + 0x1a]
mov edx, 0x4ec4ec4f
mov eax, ecx
sar ecx, 0x1f
imul edx
sar edx, 4
sub edx, ecx
mov rcx, qword [rbx + 0xd8]
mov r14d, edx
lea rdx, [rsp + 0x50]
call fcn.0044e8e0
pxor xmm0, xmm0
mov r11d, dword [rsp + 0x58]
movsd xmm1, qword [0x0064bac0]
mov r8d, dword [rbx + 0x20]
cvtsi2sd xmm0, r14d
cmp r8d, 1
mulsd xmm1, xmm0
pxor xmm0, xmm0
cvtsi2sd xmm0, r11d
mulsd xmm0, qword [0x0064bac8]
je 0x4b8be0
jle 0x4b8b10
cmp r8d, 3
jg 0x4b8cf0
movapd xmm2, xmm0
addsd xmm2, xmm0
addsd xmm2, qword [0x0064bad8]
cvttsd2si eax, xmm2
lea r13d, [r13 + rax - 4]
mov eax, dword [rbx + 0xd0]
lea ecx, [rax + 1]
mov dword [rbx + 0xd0], ecx
mov r10d, esi
mov eax, dword [rbx + 0x1e0]
mov r9d, dword [rbx + 0x130]
cmp eax, 3
je 0x4b8b30
test bpl, bpl
je 0x4b8b30
test r12d, r12d
je 0x4b8b30
cmp eax, 5
ja case.0x4b8b0e.3
lea rdx, [0x0064baa8]
movsxd rax, dword [rdx + rax*4]
add rdx, rax
jmp rdx
test r8d, r8d
jne 0x4b8cf0
test r13d, r13d
mov ecx, dword [rbx + 0xd0]
jne 0x4b8ad8
mov r13d, r11d
mov r10d, esi
jmp 0x4b8adb
test r12d, r12d
je 0x4b8c47
mov eax, dword [rbx + 0x140]
test r9d, r9d
mov edx, r9d
cmovle edx, dword [rsp + 0x48]
test eax, eax
cmovle eax, dword [rsp + 0x4c]
sub r8d, 2
cmp r8d, 1
jbe 0x4b8b90
add ecx, ecx
add edx, ecx
lea r8d, [rax + rcx]
mov rcx, qword [rbx]
call fcn.004542a0
mov edx, dword [rbx + 0xd0]
mov rcx, qword [rbx]
call fcn.004543b0
nop
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov r8d, dword [rbx + 0x17c]
test r8d, r8d
je 0x4b8b5b
mulsd xmm1, qword [0x0064bae0]
mov r9d, dword [rdi + 0x18]
movsd xmm0, qword [0x0064bad8]
cmp eax, r9d
mov dword [rbx + 0x19c], r9d
cmovl eax, r9d
addsd xmm0, xmm1
cvttsd2si r8d, xmm0
add r8d, r9d
mov dword [rbx + 0x198], r8d
add edx, r8d
jmp 0x4b8b5b
mov r9d, dword [rbx + 0x130]
test r9d, r9d
js 0x4b8dd0
movsd xmm4, qword [0x0064bad0]
movapd xmm3, xmm1
movsd xmm2, qword [0x0064bad8]
mulsd xmm3, xmm4
addsd xmm3, xmm2
jne 0x4b8f60
cvttsd2si r10d, xmm3
add r10d, esi
mulsd xmm4, xmm0
sub r10d, 0xa
test r12d, r12d
addsd xmm2, xmm4
cvttsd2si eax, xmm2
lea r13d, [r13 + rax - 0xa]
jne 0x4b8e10
mov eax, dword [rbx + 0xd0]
lea ecx, [rax + 1]
mov dword [rbx + 0xd0], ecx
mov edx, r14d
mov eax, dword [rbx + 0x140]
imul edx, r9d
test r9d, r9d
cmovg r10d, edx
test eax, eax
jle 0x4b8c8d
imul r11d, eax
cmp r8d, 1
mov r13d, r11d
je 0x4b8db0
jl 0x4b8c8d
cmp r8d, 3
jg 0x4b8c8d
addsd xmm0, xmm0
addsd xmm0, qword [0x0064bad8]
cvttsd2si eax, xmm0
lea r13d, [r11 + rax - 4]
mov eax, dword [rbx + 0x160]
lea edx, [r10 + rax*2]
mov eax, dword [rbx + 0x170]
lea eax, [r13 + rax*2]
jmp 0x4b8b51
mov rdx, qword [rbx + 0x48]
test rdx, rdx
jne 0x4b8e40
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x4c], 0
xor r12d, r12d
jmp 0x4b89a1
mov dword [rbx + 0xb8], 0
xor eax, eax
jmp 0x4b895f
mov ecx, dword [rbx + 0xd0]
xor r13d, r13d
xor r10d, r10d
jmp 0x4b8adb
mov eax, dword [rsp + 0x48]
mov r11d, dword [rbx + 0x170]
mov ebp, dword [rbx + 0x160]
cmp r10d, eax
cmovl r10d, eax
mov eax, dword [rsp + 0x4c]
add eax, r11d
add r13d, eax
test r9d, r9d
js 0x4b8e30
cmove r9d, r10d
mov eax, dword [rbx + 0x140]
lea edx, [r9 + rbp*2]
test eax, eax
cmovle eax, r13d
lea eax, [rax + r11*2]
jmp 0x4b8b51
add esi, dword [rsp + 0x48]
mov ebp, dword [rbx + 0x160]
mov eax, dword [rsp + 0x4c]
mov r11d, dword [rbx + 0x170]
add esi, ebp
cmp r10d, esi
cmovl r10d, esi
cmp r13d, eax
cmovl r13d, eax
jmp 0x4b8d23
mov eax, dword [rsp + 0x48]
cmp r10d, eax
cmovl r10d, eax
mov eax, dword [rsp + 0x4c]
cmp r13d, eax
cmovl r13d, eax
mov r11d, dword [rbx + 0x170]
mov ebp, dword [rbx + 0x160]
jmp 0x4b8d23
mulsd xmm0, qword [0x0064bad0]
addsd xmm0, qword [0x0064bad8]
cvttsd2si eax, xmm0
lea r13d, [r11 + rax - 0xa]
jmp 0x4b8c8d
movsd xmm4, qword [0x0064bad0]
mov edx, r9d
movapd xmm3, xmm1
movsd xmm2, qword [0x0064bad8]
mulsd xmm3, xmm4
imul edx, r14d
addsd xmm3, xmm2
cvttsd2si eax, xmm3
mov r10d, eax
sub r10d, edx
add eax, esi
cmp eax, r10d
cmovg r10d, eax
jmp 0x4b8c1a
mov eax, dword [rbx + 0x1e0]
mov ecx, dword [rbx + 0xd0]
cmp eax, 3
jne 0x4b8aed
jmp 0x4b8b39
neg r9d
cmp r10d, r9d
cmovge r9d, r10d
jmp 0x4b8d30
mov rcx, qword [rbx + 8]
lea r9, [rsp + 0x4c]
lea r8, [rsp + 0x48]
mov r12d, 1
call fcn.004389b0
jmp 0x4b89a1
call fcn.0042f9e0
mov r12, rax
mov rax, qword [rbp]
mov edx, 0x20
lea rcx, [0x0069f9c0]
call qword [rax + 0x998]
mov r8d, 2
mov rsi, rax
lea rdx, str.buttons
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindResourceA]
test rax, rax
je 0x4b8f70
mov rdx, rax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov qword [rsi], rax
mov rdx, rax
test rdx, rdx
je 0x4b8f50
test byte [rdx + 4], 3
jne 0x4b8f50
test byte [rdx + 8], 1
jne 0x4b8f50
movzx ecx, word [rdx + 0xe]
mov eax, dword [rdx]
mov r12d, 1
add eax, dword [rdx + 0x14]
mov edx, r12d
shl edx, cl
lea r13d, [rax + rdx*4]
mov rax, qword [rbp]
mov ecx, r13d
call qword [rax + 0x28]
mov rdx, qword [rsi]
mov rcx, rax
mov r8d, r13d
call sub.msvcrt.dll_memcpy
mov edx, dword [rax + 4]
mov r9, rax
mov qword [rsi], rax
movzx ecx, word [r9 + 0xe]
lea eax, [rdx + 3]
test edx, edx
cmovns eax, edx
shl r12d, cl
sar eax, 2
mov dword [rsi + 0x1c], eax
mov eax, dword [r9 + 8]
mov edx, eax
shr edx, 0x1f
add eax, edx
mov edx, dword [r9]
sar eax, 1
mov dword [rsi + 0x18], eax
movsxd rax, r12d
add rdx, r9
lea rax, [rdx + rax*4]
mov qword [rsi + 8], rdx
mov qword [rsi + 0x10], rax
jmp 0x4b897f
mov qword [rsi], 0
jmp 0x4b897f
cvttsd2si eax, xmm3
xor r10d, r10d
jmp 0x4b8dfd
mov rax, qword [rbp]
lea rcx, str.FindResource___failed_for_buttons_bitmap_resource__resources_in_tk_base.rc_must_be_linked_into_Tk_dll_or_static_executable
call qword [rax + 0x20]
mov rdx, qword [rsi]
jmp 0x4b8ebb