Function at 0x445043
Capabilities:
Link many functions at runtime

Disassembly:
push 0xa38
mov eax, 0x4bf5c5
call fcn.0048f706
push ecx
mov ecx, esp
mov dword [ebp - 0xa04], esp
push str.AMD_RC2_DLL_Load
call fcn.004012a3
xor ebx, ebx
mov dword [ebp - 4], ebx
or dword [ebp - 4], 0xffffffff
call fcn.0043ed25
mov esi, 0x208
lea eax, [ebp - 0x5b0]
push esi
push ebx
push eax
call fcn.00490cd0
push esi
lea eax, [ebp - 0x7b8]
push ebx
push eax
call fcn.00490cd0
push esi
lea eax, [ebp - 0x9c0]
push ebx
push eax
call fcn.00490cd0
push esi
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.00490cd0
add esp, 0x34
lea eax, [ebp - 0x5b0]
mov esi, 0x104
push esi
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push ebx
push ebx
push ebx
push ebx
push esi
lea eax, [ebp - 0x9c0]
push eax
push esi
lea eax, [ebp - 0x7b8]
push eax
lea eax, [ebp - 0x5b0]
push eax
call fcn.004a0dbc
lea eax, [ebp - 0x7b8]
push eax
lea eax, [ebp - 0x218]
push esi
push eax
call fcn.0049c79c
lea eax, [ebp - 0x9c0]
push eax
lea eax, [ebp - 0x218]
push esi
push eax
call fcn.0049c79c
push str.CdiResourcedll_
lea eax, [ebp - 0x218]
push esi
push eax
call fcn.0049c79c
add esp, 0x48
lea eax, [ebp - 0x218]
push str.AMD_RC2t7x86.dll
push esi
push eax
call fcn.0049c79c
xor eax, eax
mov dword [ebp - 0xa14], 0x10
lea edi, [ebp - 0xa10]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x218]
push 0x2c
mov dword [ebp - 0xa10], eax
lea eax, [ebp - 0xa40]
push ebx
push eax
mov dword [ebp - 0xa00], 0xaac56b
mov dword [ebp - 0x9fc], 0x11d0cd44
mov dword [ebp - 0x9f8], 0xc000c28c
mov dword [ebp - 0x9f4], 0xee95c24f
mov dword [ebp - 0xa44], 0x30
call fcn.00490cd0
add esp, 0x18
mov dword [ebp - 0xa34], ebx
xor eax, eax
inc eax
mov dword [ebp - 0xa30], eax
mov dword [ebp - 0xa28], eax
lea eax, [ebp - 0xa14]
push 2
pop edi
mov dword [ebp - 0xa2c], eax
lea eax, [ebp - 0xa44]
push eax
lea eax, [ebp - 0xa00]
mov dword [ebp - 0xa38], edi
push eax
push ebx
call sub.WINTRUST.dll_WinVerifyTrust
test eax, eax
jne 0x445274
push dword [ebp - 0xa24]
call sub.WINTRUST.dll_WTHelperProvDataFromStateData
test eax, eax
je 0x445274
xor ecx, ecx
push ecx
push ecx
push ecx
push eax
call sub.WINTRUST.dll_WTHelperGetProvSignerFromChain
test eax, eax
je 0x445274
push ebx
push eax
call sub.WINTRUST.dll_WTHelperGetProvCertFromChain
mov esi, eax
test esi, esi
je 0x445274
push 0x190
lea eax, [ebp - 0x3a8]
push ebx
push eax
call fcn.00490cd0
add esp, 0xc
mov dword [ebp - 0xa04], 3
lea eax, [ebp - 0x3a8]
push 0xc8
push eax
lea eax, [ebp - 0xa04]
push eax
push ebx
push 4
push dword [esi + 4]
call dword [sym.imp.CRYPT32.dll_CertGetNameStringW]
cmp word [ebp - 0x3a8], bx
je 0x445272
lea eax, [ebp - 0x3a8]
push str.Gakuto_Matsumura
push eax
call fcn.004944db
pop ecx
pop ecx
test eax, eax
jne 0x445272
mov bl, 1
jmp 0x445274
xor bl, bl
lea eax, [ebp - 0xa44]
mov dword [ebp - 0xa28], edi
push eax
lea eax, [ebp - 0xa00]
push eax
push 0
call sub.WINTRUST.dll_WinVerifyTrust
test bl, bl
je 0x445432
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x505710], eax
test eax, eax
je 0x445432
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.AMD_RC2_Init
push eax
call esi
push str.AMD_RC2_GetStatus
push dword [0x505710]
mov dword [0x505714], eax
call esi
push str.AMD_RC2_GetDrives
push dword [0x505710]
mov dword [0x505718], eax
call esi
push str.AMD_RC2_Reload
push dword [0x505710]
mov dword [0x50571c], eax
call esi
push str.AMD_RC2_GetIdentify
push dword [0x505710]
mov dword [0x505720], eax
call esi
push str.AMD_RC2_GetSmartData
push dword [0x505710]
mov dword [0x505724], eax
call esi
mov ecx, dword [0x505714]
mov dword [0x505728], eax
test ecx, ecx
je 0x445432
cmp dword [0x505718], 0
je 0x445432
cmp dword [0x50571c], 0
je 0x445432
cmp dword [0x505720], 0
je 0x445432
cmp dword [0x505724], 0
je 0x445432
test eax, eax
je 0x445432
call ecx
xor ebx, ebx
xor ecx, ecx
inc ebx
cmp eax, ebx
sete cl
mov dword [0x50570c], ecx
je 0x445428
cmp eax, 0xb
jbe 0x445388
push 0xb
pop eax
push ecx
mov ecx, esp
mov dword [ebp - 0xa04], esp
mov dword [ebp - 0x9f0], str.AMD_RC2_uninitial
mov dword [ebp - 0x9ec], str.AMD_RC2_loaded
mov dword [ebp - 0x9e8], str.AMD_RC2_unloaded
mov dword [ebp - 0x9e4], str.AMD_RC2_failed_signature
mov dword [ebp - 0x9e0], str.AMD_RC2_driver_not_found
mov dword [ebp - 0x9dc], str.AMD_RC2_cannot_open
mov dword [ebp - 0x9d8], str.AMD_RC2_failed_memory_alloc
mov dword [ebp - 0x9d4], str.AMD_RC2_offset_overflow
mov dword [ebp - 0x9d0], str.AMD_RC2_driver_version_old
mov dword [ebp - 0x9cc], str.AMD_RC2_not_admin
mov dword [ebp - 0x9c8], str.AMD_RC2_name_failed
mov dword [ebp - 0x9c4], str.AMD_RC2_unknown
push dword [ebp + eax*4 - 0x9f0]
call fcn.004012a3
mov dword [ebp - 4], ebx
or dword [ebp - 4], 0xffffffff
call fcn.0043ed25
pop ecx
mov ecx, dword [0x50570c]
mov dword [0x505708], ebx
mov eax, ecx
jmp 0x445434
xor eax, eax
call fcn.0048f6b5
ret