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

Disassembly:
push 0xffffffffffffffff
push 0x4c3fce
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x570f20]
xor eax, esp
mov dword [esp + 0x20], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x570f20]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov esi, ecx
lea eax, [esi + 0x990]
push eax
mov dword [esp + 0x24], esi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor ebx, ebx
push ebx
push 1
push 1
mov dword [esp + 0x4c], ebx
call fcn.0042b290
mov byte [esi + 0x97d], bl
movq xmm0, qword [0x4c6598]
mov ax, word [0x4c65a8]
mov cl, byte [0x4c65aa]
add esp, 0xc
push 0x104
lea edi, [esi + 0x153]
push edi
movq qword [0x5723bc], xmm0
movq xmm0, qword [0x4c65a0]
push ebx
movq qword [0x5723c4], xmm0
mov word [0x5723cc], ax
mov byte [0x5723ce], cl
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 3
push edi
call fcn.004122f0
push edi
push str.BrainWaveProducer
call fcn.004133c0
add esp, 0x10
test al, al
je 0x42b53a
mov edi, 0x63
mov dword [0x570124], edi
mov dword [0x570128], 0x6f
jmp 0x42b540
mov edi, dword [0x570124]
xor ecx, ecx
mov eax, edi
mov edx, 0x118
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a5f16
add esp, 4
cmp eax, ebx
je 0x42b57d
lea edx, [edi - 1]
mov ecx, eax
cmp edx, ebx
jl 0x42b57f
jmp 0x42b570
mov byte [ecx], bl
add ecx, 0x118
dec edx
jns 0x42b570
jmp 0x42b57f
xor eax, eax
mov dword [esi + 0xb8], eax
mov edi, dword [0x570128]
xor ecx, ecx
mov eax, edi
mov edx, 0x14
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a5f16
add esp, 4
cmp eax, ebx
je 0x42b5bd
lea edx, [edi - 1]
mov ecx, eax
cmp edx, ebx
jl 0x42b5bf
mov byte [ecx], bl
add ecx, 0x14
dec edx
jns 0x42b5b3
jmp 0x42b5bf
xor eax, eax
mov dword [esi + 0xbc], eax
mov eax, dword [0x570124]
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a5f16
add esp, 4
push str.Arial
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0xf
mov dword [esi + 0x64], eax
call dword [sym.imp.GDI32.dll_CreateFontA]
mov edx, dword [esi + 0x64]
mov dword [esi + 8], eax
mov eax, dword [0x570124]
lea ecx, [eax*4]
push ecx
or edi, 0xffffffff
push edi
push edx
call fcn.004a6ff0
movsd xmm0, qword [0x4c5d68]
movsd qword [esi + 0xd0], xmm0
xorps xmm0, xmm0
movsd qword [esi + 0xa8], xmm0
xorps xmm0, xmm0
mov word [esi + 0xc0], bx
mov dword [esi + 0xc8], edi
mov dword [esi + 0xc4], edi
mov dword [esi + 0x40], 0x20
mov dword [esi + 0x90], 0x100
mov dword [esi + 0x94], 0x140
mov dword [esi + 0x2c], 2
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x9b0], ebx
mov dword [esi + 0x9c], ebx
mov dword [esi + 0x98], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x38], ebx
movss dword [esi + 0x1c], xmm0
movss dword [esi + 0x18], xmm0
movss dword [esi + 0x14], xmm0
movss dword [esi + 0x10], xmm0
movss dword [esi + 0xc], xmm0
mov byte [esi + 0x98e], bl
mov byte [esi + 0x98c], bl
mov byte [esi + 0x98a], bl
mov dword [esi + 0x982], ebx
mov byte [esi + 0x980], bl
movzx eax, byte [0x4c5776]
mov byte [esi + 0x258], al
movzx ecx, byte [0x4c5776]
mov byte [esi + 0x35d], cl
movzx edx, byte [0x4c5776]
mov byte [esi + 0x462], dl
movzx eax, byte [0x4c5776]
mov byte [esi + 0x567], al
movzx ecx, byte [0x4c5776]
mov byte [esi + 0x66c], cl
movzx edx, byte [0x4c5776]
mov byte [esi + 0x771], dl
movzx eax, byte [0x4c5776]
add esp, 0xc
mov byte [0x5723a0], al
lea ecx, [esp + 0x24]
push ecx
mov byte [esi + 0x981], bl
mov byte [esi + 0x9b4], bl
mov byte [esi + 0x97e], bl
mov byte [esi + 0x98f], 1
mov byte [esi + 0x988], 1
mov dword [esi + 0x88], edi
mov dword [esi + 0x84], edi
mov dword [esi + 0x6c], 0xcf
mov dword [esi + 0x70], 0x56
mov dword [esi + 0x9b8], 0x69
mov dword [esi + 0x9bc], 0x16
mov dword [esi + 0x80], ebx
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x78], ebx
mov dword [esi + 0x74], ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [esp + 0x2c]
sub edx, dword [esp + 0x24]
mov ecx, esi
sub edx, dword [0x5723b8]
mov dword [esi + 0x8c], edi
mov dword [esi + 0x60], edx
mov dword [esi + 0x34], edi
call fcn.00418f60
call fcn.0045fda0
mov dword [esi + 4], eax
call fcn.00460280
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x34], ebx
jge 0x42b7d0
mov dword [esi + 0x34], eax
call fcn.00460270
mov dword [esi + 0x24], eax
lea edi, [esi + 0xdc]
mov ebp, 0x10
push 6
call fcn.004a5f16
mov dword [edi], eax
mov cl, byte [0x4c5776]
add esp, 4
add edi, 4
dec ebp
mov byte [eax], cl
jne 0x42b7e3
mov eax, dword [esi + 0x24]
mov byte [esp + 0x17], bl
cmp eax, ebx
jle 0x42b905
xor edi, edi
cmp eax, ebx
jle 0x42b827
push edi
call fcn.004608b0
add esp, 4
cmp dword [eax + 0xc], ebx
je 0x42b821
inc ebp
inc edi
cmp edi, dword [esi + 0x24]
jl 0x42b812
xor ecx, ecx
mov eax, ebp
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a5f16
mov dword [esi + 0xd8], eax
xor ecx, ecx
mov eax, ebp
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a5f16
add esp, 8
xor ebp, ebp
xor edi, edi
mov dword [esi + 0x68], eax
cmp dword [esi + 0x24], ebx
jle 0x42b8dd
lea esp, [esp]
push edi
call fcn.004608b0
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [eax + 0xc], ebx
je 0x42b8d7
push 0x100
call fcn.004a5f16
mov ecx, dword [esi + 0xd8]
mov edx, dword [esp + 0x1c]
mov dword [ecx + ebp*4], eax
mov eax, dword [edx + 4]
mov ecx, dword [esi + 0xd8]
mov edx, dword [ecx + ebp*4]
push 0x100
push eax
push edx
call fcn.004a7850
mov eax, dword [esi + 0x68]
add esp, 0x10
mov dword [eax + ebp*4], edi
cmp dword [esi + 0x34], edi
jne 0x42b8d6
cmp byte [esp + 0x17], bl
jne 0x42b8d6
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, esi
mov byte [esp + 0x1b], 1
call fcn.00413500
inc ebp
inc edi
cmp edi, dword [esi + 0x24]
jl 0x42b870
mov dword [esi + 0x24], ebp
cmp byte [esp + 0x17], bl
jne 0x42b95d
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
jle 0x42b95d
push eax
mov dword [esi + 0x34], eax
call fcn.004608b0
add esp, 4
push eax
mov ecx, esi
call fcn.00413500
jmp 0x42b95d
push 4
call fcn.004a5f16
push 0x1e
mov dword [esi + 0xd8], eax
call fcn.004a5f16
mov edx, dword [esi + 0xd8]
mov dword [edx], eax
mov eax, dword [esi + 0xd8]
mov eax, dword [eax]
movq xmm0, qword [str.________________________]
movq qword [eax], xmm0
movq xmm0, qword [0x4c8a78]
movq qword [eax + 8], xmm0
movq xmm0, qword [0x4c8a80]
movq qword [eax + 0x10], xmm0
mov cx, word [0x4c8a88]
add esp, 8
mov word [eax + 0x18], cx
movd xmm0, dword [0x570110]
movd xmm1, dword [0x57011c]
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [esi + 0xb0], xmm0
mov eax, esi
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.004a7314
add esp, 0x30
ret