Function at 0x51d210
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
push ebx
push esi
push edi
push ecx
lea edi, [ebp - 0x260]
mov ecx, 0x98
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x773434]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xc]
call fcn.0050177d
push 1
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x138]
push ecx
mov ecx, dword [ebp - 0xc]
call fcn.004ff680
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x138]
push ecx
mov ecx, dword [ebp - 0xc]
call fcn.004ff680
mov dword [ebp - 0x128], 0x114
mov esi, esp
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp esi, esp
call fcn.00506c64
test eax, eax
je 0x51d2d6
cmp dword [ebp - 0x118], 2
jne 0x51d2d6
cmp dword [ebp - 0x124], 6
jb 0x51d2d6
push 1
call fcn.00502a47
add esp, 4
mov dword [0x78d4b0], eax
cmp dword [0x78d4b0], 0
jne 0x51d2d6
push 0
push str.Fatal_error_
push str.Fail_to_init_driver.__r_nPlease_close_the_related_applications_or_restart_your_computer_before_retrying_
mov ecx, dword [ebp - 0xc]
call fcn.00500fcb
xor eax, eax
jmp 0x51d592
push str.DTool_for_DM2724
mov ecx, dword [ebp - 0xc]
call fcn.0050374e
push 0x7163ec
mov ecx, dword [ebp - 0xc]
call fcn.0050374e
push 0x20
push 0
lea eax, [ebp - 0x150]
push eax
call fcn.00509c1b
add esp, 0xc
mov dword [ebp - 0x150], 0x20
mov dword [ebp - 0x14c], 5
mov dword [ebp - 0x150], 0x20
mov dword [ebp - 0x14c], 5
mov eax, dword [0x7159cc]
mov dword [ebp - 0x144], eax
mov ecx, dword [0x7159d0]
mov dword [ebp - 0x140], ecx
mov edx, dword [0x7159d4]
mov dword [ebp - 0x13c], edx
mov eax, dword [0x7159d8]
mov dword [ebp - 0x138], eax
mov esi, esp
push 0
lea eax, [ebp - 0x150]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_RegisterDeviceNotificationW]
cmp esi, esp
call fcn.00506c64
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x74], eax
mov eax, dword [0x715abc]
mov dword [ebp - 0x144], eax
mov ecx, dword [0x715ac0]
mov dword [ebp - 0x140], ecx
mov edx, dword [0x715ac4]
mov dword [ebp - 0x13c], edx
mov eax, dword [0x715ac8]
mov dword [ebp - 0x138], eax
mov esi, esp
push 0
lea eax, [ebp - 0x150]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_RegisterDeviceNotificationW]
cmp esi, esp
call fcn.00506c64
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x78], eax
lea ecx, [ebp - 0x168]
call fcn.00507669
push 0x3fb
mov ecx, dword [ebp - 0xc]
call fcn.00500ddc
mov dword [ebp - 0x174], eax
lea eax, [ebp - 0x168]
push eax
mov ecx, dword [ebp - 0x174]
call fcn.00503e06
push 0
mov ecx, dword [ebp - 0x174]
call fcn.005028f8
lea eax, [ebp - 0x168]
push eax
mov ecx, dword [ebp - 0xc]
call fcn.005072a4
push 0x87
push 0x5dc
mov eax, dword [ebp - 0xc]
push eax
lea ecx, [ebp - 0x168]
push ecx
mov ecx, dword [ebp - 0xc]
add ecx, 0x168
call fcn.00500170
cmp dword [0x78d3f4], 0
je 0x51d467
mov esi, esp
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x188]
push ecx
call dword [0x78d414]
add esp, 8
cmp esi, esp
call fcn.00506c64
push 0x408
mov ecx, dword [ebp - 0xc]
call fcn.00500ddc
mov dword [ebp - 0x180], eax
push SysReAllocString
push 0
mov ecx, dword [ebp - 0x180]
call fcn.00508c62
push 0x40c
mov ecx, dword [ebp - 0xc]
call fcn.00500ddc
mov dword [ebp - 0x180], eax
push SysReAllocString
push 0
mov ecx, dword [ebp - 0x180]
call fcn.00508c62
push 0x447
mov ecx, dword [ebp - 0xc]
call fcn.00500ddc
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x198], 0
jmp 0x51d4df
mov eax, dword [ebp - 0x198]
add eax, 1
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 4
jge 0x51d55d
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 3
ja case.default.0x51d503
mov ecx, dword [ebp - 0x260]
jmp dword [ecx*4 + 0x51d60c]
push 0x7163e4
push 0
mov ecx, dword [ebp - 0x18c]
call fcn.004ff96e
jmp case.default.0x51d503
push str.SAMSUNG
push 1
mov ecx, dword [ebp - 0x18c]
call fcn.004ff96e
jmp case.default.0x51d503
push 0x7163c8
push 2
mov ecx, dword [ebp - 0x18c]
call fcn.004ff96e
jmp case.default.0x51d503
push str.TOSHIBA
push 3
mov ecx, dword [ebp - 0x18c]
call fcn.004ff96e
jmp 0x51d4d0
mov ecx, dword [ebp - 0xc]
call fcn.005044fa
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov eax, dword [eax + 0x470]
xor edx, edx
div dword [ecx + 0x468]
push eax
mov ecx, dword [ebp - 0x180]
call fcn.005028cb
mov ecx, dword [ebp - 0xc]
call fcn.005023ad
mov eax, 1
push edx
mov ecx, ebp
push eax
lea edx, [0x51d5c4]
call fcn.00502641
pop eax
pop edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00504c7a
add esp, 0x260
cmp ebp, esp
call fcn.00506c64
mov esp, ebp
pop ebp
ret