Function at 0x3004b000
Capabilities:
Accept command line arguments
Get common file path
Get disk information
Get hostname
Get session user name
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x47c
mov eax, dword [0x30215e88]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0x400
mov dword [ebp - 0x454], eax
lea eax, [ebp - 0x408]
push 0
push eax
mov dword [ebp - 0x414], 0x400
call fcn.3015cdc0
add esp, 0xc
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x408]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b061
sub ecx, edx
pushfd
mov eax, dword fs:[0x18]
pop ebx
test eax, eax
jne 0x3004b07e
or esi, 0xffffffff
or edi, 0xffffffff
jmp 0x3004b087
mov esi, dword [eax + 0x34]
mov edi, dword [eax + 0xbf4]
lea eax, [ecx + 1]
push eax
push 0
push dword [0x3026d8b0]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x40c], eax
test ecx, ecx
je 0x3004b0b9
mov dword [ecx + 0x34], esi
mov dword [ecx + 0xbf4], edi
test ebx, ebx
je 0x3004b0b9
push ebx
popfd
test eax, eax
je 0x3004b0e8
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b0c6
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x408]
push eax
push dword [ebp - 0x40c]
call fcn.301664c0
add esp, 0xc
push 0x400
lea eax, [ebp - 0x408]
push 0
push eax
call fcn.3015cdc0
add esp, 0xc
mov dword [ebp - 0x414], 0x400
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x408]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b125
sub ecx, edx
pushfd
mov eax, dword fs:[0x18]
pop ebx
test eax, eax
jne 0x3004b142
or esi, 0xffffffff
or edi, 0xffffffff
jmp 0x3004b14b
mov esi, dword [eax + 0x34]
mov edi, dword [eax + 0xbf4]
lea eax, [ecx + 1]
push eax
push 0
push dword [0x3026d8b0]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x418], eax
test ecx, ecx
je 0x3004b17d
mov dword [ecx + 0x34], esi
mov dword [ecx + 0xbf4], edi
test ebx, ebx
je 0x3004b17d
push ebx
popfd
test eax, eax
je 0x3004b1b2
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b190
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x408]
push eax
push dword [ebp - 0x418]
call fcn.301664c0
add esp, 0xc
push 0x400
lea eax, [ebp - 0x408]
push 0
push eax
call fcn.3015cdc0
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea eax, [ebp - 0x43c]
add esp, 0xc
push eax
push 0x20019
push 0
push str.SoftwareMicrosoftWindows_NTCurrentVersion
push closesocket
call ebx
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
jne 0x3004b224
lea eax, [ebp - 0x458]
push eax
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x45c]
push eax
push 0
push str.InstallDate
push dword [ebp - 0x43c]
call esi
push dword [ebp - 0x43c]
call edi
mov eax, dword [ebp - 0x408]
push 0x400
mov dword [ebp - 0x410], eax
lea eax, [ebp - 0x408]
push 0
push eax
call fcn.3015cdc0
add esp, 0xc
lea eax, [ebp - 0x440]
push eax
push 0x20019
push 0
push str.SoftwareMicrosoftWindows_NTCurrentVersion
push closesocket
call ebx
test eax, eax
jne 0x3004b290
lea eax, [ebp - 0x460]
push eax
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x464]
push eax
push 0
push str.RegisteredOwner
push dword [ebp - 0x440]
call esi
push dword [ebp - 0x440]
call edi
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b2a0
sub ecx, edx
pushfd
mov eax, dword fs:[0x18]
pop ebx
test eax, eax
jne 0x3004b2bd
or esi, 0xffffffff
or edi, 0xffffffff
jmp 0x3004b2c6
mov esi, dword [eax + 0x34]
mov edi, dword [eax + 0xbf4]
lea eax, [ecx + 1]
push eax
push 0
push dword [0x3026d8b0]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x428], eax
test ecx, ecx
je 0x3004b2f8
mov dword [ecx + 0x34], esi
mov dword [ecx + 0xbf4], edi
test ebx, ebx
je 0x3004b2f8
push ebx
popfd
test eax, eax
je 0x3004b327
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b305
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x408]
push eax
push dword [ebp - 0x428]
call fcn.301664c0
add esp, 0xc
push 0x400
lea eax, [ebp - 0x408]
push 0
push eax
call fcn.3015cdc0
add esp, 0xc
lea eax, [ebp - 0x444]
push eax
push 0x20019
push 0
push str.SoftwareMicrosoftWindows_NTCurrentVersion
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x3004b393
lea eax, [ebp - 0x468]
push eax
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x46c]
push eax
push 0
push str.RegisteredOrganization
push dword [ebp - 0x444]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0x444]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b3a0
sub ecx, edx
pushfd
mov eax, dword fs:[0x18]
pop ebx
test eax, eax
jne 0x3004b3bd
or esi, 0xffffffff
or edi, 0xffffffff
jmp 0x3004b3c6
mov esi, dword [eax + 0x34]
mov edi, dword [eax + 0xbf4]
lea eax, [ecx + 1]
push eax
push 0
push dword [0x3026d8b0]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x42c], eax
test ecx, ecx
je 0x3004b3f8
mov dword [ecx + 0x34], esi
mov dword [ecx + 0xbf4], edi
test ebx, ebx
je 0x3004b3f8
push ebx
popfd
test eax, eax
je 0x3004b427
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b405
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x408]
push eax
push dword [ebp - 0x42c]
call fcn.301664c0
add esp, 0xc
push 0x400
lea eax, [ebp - 0x408]
push 0
push eax
call fcn.3015cdc0
add esp, 0xc
lea eax, [ebp - 0x448]
push eax
push 0x20019
push 0
push str.SoftwareMicrosoftWindows_NTCurrentVersion
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x3004b493
lea eax, [ebp - 0x470]
push eax
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x474]
push eax
push 0
push str.ProductName
push dword [ebp - 0x448]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0x448]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b4a0
sub ecx, edx
pushfd
mov eax, dword fs:[0x18]
pop ebx
test eax, eax
jne 0x3004b4bd
or esi, 0xffffffff
or edi, 0xffffffff
jmp 0x3004b4c6
mov esi, dword [eax + 0x34]
mov edi, dword [eax + 0xbf4]
lea eax, [ecx + 1]
push eax
push 0
push dword [0x3026d8b0]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x424], eax
test ecx, ecx
je 0x3004b4f8
mov dword [ecx + 0x34], esi
mov dword [ecx + 0xbf4], edi
test ebx, ebx
je 0x3004b4f8
push ebx
popfd
test eax, eax
je 0x3004b527
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b505
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x408]
push eax
push dword [ebp - 0x424]
call fcn.301664c0
add esp, 0xc
push 0x400
lea eax, [ebp - 0x408]
push 0
push eax
call fcn.3015cdc0
add esp, 0xc
lea eax, [ebp - 0x408]
push 0x400
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b558
sub ecx, edx
pushfd
mov eax, dword fs:[0x18]
pop ebx
test eax, eax
jne 0x3004b575
or esi, 0xffffffff
or edi, 0xffffffff
jmp 0x3004b57e
mov esi, dword [eax + 0x34]
mov edi, dword [eax + 0xbf4]
lea eax, [ecx + 1]
push eax
push 0
push dword [0x3026d8b0]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x41c], eax
test ecx, ecx
je 0x3004b5b0
mov dword [ecx + 0x34], esi
mov dword [ecx + 0xbf4], edi
test ebx, ebx
je 0x3004b5b0
push ebx
popfd
test eax, eax
je 0x3004b5e2
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b5c0
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x408]
push eax
push dword [ebp - 0x41c]
call fcn.301664c0
add esp, 0xc
push 0x400
lea eax, [ebp - 0x408]
push 0
push eax
call fcn.3015cdc0
add esp, 0xc
lea eax, [ebp - 0x408]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b613
sub ecx, edx
pushfd
mov eax, dword fs:[0x18]
pop ebx
test eax, eax
jne 0x3004b630
or esi, 0xffffffff
or edi, 0xffffffff
jmp 0x3004b639
mov esi, dword [eax + 0x34]
mov edi, dword [eax + 0xbf4]
lea eax, [ecx + 1]
push eax
push 0
push dword [0x3026d8b0]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x420], eax
test ecx, ecx
je 0x3004b66b
mov dword [ecx + 0x34], esi
mov dword [ecx + 0xbf4], edi
test ebx, ebx
je 0x3004b66b
push ebx
popfd
test eax, eax
je 0x3004b69a
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b678
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x408]
push eax
push dword [ebp - 0x420]
call fcn.301664c0
add esp, 0xc
push 0x400
lea eax, [ebp - 0x408]
push 0
push eax
call fcn.3015cdc0
add esp, 0xc
lea eax, [ebp - 0x44c]
push eax
push 0x20019
push 0
push str.SoftwareMicrosoftCryptography
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x3004b706
lea eax, [ebp - 0x478]
push eax
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x47c]
push eax
push 0
push str.MachineGuid
push dword [ebp - 0x44c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0x44c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b710
sub ecx, edx
pushfd
mov eax, dword fs:[0x18]
pop ebx
test eax, eax
jne 0x3004b72d
or esi, 0xffffffff
or edi, 0xffffffff
jmp 0x3004b736
mov esi, dword [eax + 0x34]
mov edi, dword [eax + 0xbf4]
lea eax, [ecx + 1]
push eax
push 0
push dword [0x3026d8b0]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x438], eax
test ecx, ecx
je 0x3004b768
mov dword [ecx + 0x34], esi
mov dword [ecx + 0xbf4], edi
test ebx, ebx
je 0x3004b768
push ebx
popfd
test eax, eax
je 0x3004b797
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b775
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x408]
push eax
push dword [ebp - 0x438]
call fcn.301664c0
add esp, 0xc
push 0x400
lea eax, [ebp - 0x408]
push 0
push eax
call fcn.3015cdc0
add esp, 0xc
lea eax, [ebp - 0x450]
push 0
push 0
push 0
push 0
push eax
push 0
push 0
push 0x30201c90
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
mov ecx, dword [0x3026a840]
test ecx, ecx
je 0x3004b7dd
mov dword [ebp - 0x450], ecx
jmp 0x3004b7e3
mov ecx, dword [ebp - 0x450]
movzx eax, cx
push eax
shr ecx, 0x10
lea eax, [ebp - 0x408]
push ecx
push str._04x__04x
push eax
call fcn.3001e370
lea ecx, [ebp - 0x408]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b808
sub ecx, edx
pushfd
mov eax, dword fs:[0x18]
pop ebx
test eax, eax
jne 0x3004b825
or esi, 0xffffffff
or edi, 0xffffffff
jmp 0x3004b82e
mov esi, dword [eax + 0x34]
mov edi, dword [eax + 0xbf4]
lea eax, [ecx + 1]
push eax
push 0
push dword [0x3026d8b0]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x430], eax
test ecx, ecx
je 0x3004b860
mov dword [ecx + 0x34], esi
mov dword [ecx + 0xbf4], edi
test ebx, ebx
je 0x3004b860
push ebx
popfd
test eax, eax
je 0x3004b892
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x3004b870
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x408]
push eax
push dword [ebp - 0x430]
call fcn.301664c0
add esp, 0xc
push 0x400
lea eax, [ebp - 0x408]
push 0
push eax
call fcn.3015cdc0
add esp, 0xc
lea eax, [ebp - 0x408]
push 0x400
push eax
push 0x30201c90
call dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointA]
lea eax, [ebp - 0x408]
push 0x7d
push eax
call fcn.3015be70
add esp, 8
test eax, eax
je 0x3004b8d7
mov byte [eax], 0
lea eax, [ebp - 0x408]
push 0x7b
push eax
call fcn.3015be70
add esp, 8
test eax, eax
je 0x3004b8fe
lea ecx, [eax + 1]
call fcn.3001f260
mov ecx, eax
mov dword [ebp - 0x434], ecx
jmp 0x3004b966
pushfd
mov eax, dword fs:[0x18]
pop ebx
test eax, eax
jne 0x3004b912
or esi, 0xffffffff
or edi, 0xffffffff
jmp 0x3004b91b
mov esi, dword [eax + 0x34]
mov edi, dword [eax + 0xbf4]
push 1
push 0
push dword [0x3026d8b0]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x434], ecx
test eax, eax
je 0x3004b94c
mov dword [eax + 0x34], esi
mov dword [eax + 0xbf4], edi
test ebx, ebx
je 0x3004b94c
push ebx
popfd
test ecx, ecx
je 0x3004b966
push 1
push 0x301f224e
push ecx
call fcn.301664c0
mov ecx, dword [ebp - 0x434]
add esp, 0xc
mov edx, dword [ebp - 0x454]
mov eax, dword [edx + 0x3c]
push dword [eax + edx + 0x50]
push str.MainExeSize
push edx
push str.MainExeBase
push dword [ebp - 0x438]
push str.MachineGUID
push ecx
push str.SystemVolumeGUID
push dword [ebp - 0x430]
push str.SystemVolumeSerialNumber
push dword [0x3026d808]
push str.OSMinor
push dword [0x3026d804]
push str.OSMajor
push dword [ebp - 0x424]
push str.ProductName
push dword [ebp - 0x42c]
push str.RegisteredOrganization
push dword [ebp - 0x428]
push str.RegisteredOwner
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
push str.CommandLine
push dword [ebp - 0x420]
mov esi, dword [ebp - 0x40c]
push str.TempPath
push dword [ebp - 0x41c]
push str.WindowsPath
push dword [ebp - 0x410]
push str.InstallDate
push dword [ebp - 0x418]
push str.ComputerName
push esi
push str.UserName
push str.ssissssssiisssph
push 0
push 1
push str.__environ__
push str.__notification__
push 8
call fcn.30049880
add esp, 0x98
pushfd
mov ebx, dword fs:[0x18]
pop dword [ebp - 0x410]
test ebx, ebx
jne 0x3004ba4f
or edi, 0xffffffff
or ebx, 0xffffffff
jmp 0x3004ba58
mov edi, dword [ebx + 0x34]
mov ebx, dword [ebx + 0xbf4]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
push 0
push dword [0x3026d8b0]
call esi
mov eax, dword fs:[0x18]
test eax, eax
je 0x3004ba88
mov dword [eax + 0x34], edi
mov dword [eax + 0xbf4], ebx
mov eax, dword [ebp - 0x410]
test eax, eax
je 0x3004ba88
push eax
popfd
pushfd
mov eax, dword fs:[0x18]
pop dword [ebp - 0x410]
test eax, eax
jne 0x3004baa1
or edi, 0xffffffff
or ebx, 0xffffffff
jmp 0x3004baaa
mov edi, dword [eax + 0x34]
mov ebx, dword [eax + 0xbf4]
push dword [ebp - 0x418]
push 0
push dword [0x3026d8b0]
call esi
mov eax, dword fs:[0x18]
test eax, eax
je 0x3004bad9
mov dword [eax + 0x34], edi
mov dword [eax + 0xbf4], ebx
mov eax, dword [ebp - 0x410]
test eax, eax
je 0x3004bad9
push eax
popfd
pushfd
mov eax, dword fs:[0x18]
pop dword [ebp - 0x410]
test eax, eax
jne 0x3004baf2
or edi, 0xffffffff
or ebx, 0xffffffff
jmp 0x3004bafb
mov edi, dword [eax + 0x34]
mov ebx, dword [eax + 0xbf4]
push dword [ebp - 0x41c]
push 0
push dword [0x3026d8b0]
call esi
mov eax, dword fs:[0x18]
test eax, eax
je 0x3004bb2a
mov dword [eax + 0x34], edi
mov dword [eax + 0xbf4], ebx
mov eax, dword [ebp - 0x410]
test eax, eax
je 0x3004bb2a
push eax
popfd
pushfd
mov eax, dword fs:[0x18]
pop edi
test eax, eax
jne 0x3004bb45
or ebx, 0xffffffff
mov dword [ebp - 0x40c], 0xffffffff
jmp 0x3004bb54
mov ebx, dword [eax + 0x34]
mov eax, dword [eax + 0xbf4]
mov dword [ebp - 0x40c], eax
push dword [ebp - 0x420]
push 0
push dword [0x3026d8b0]
call esi
mov eax, dword fs:[0x18]
test eax, eax
je 0x3004bb83
mov ecx, dword [ebp - 0x40c]
mov dword [eax + 0x34], ebx
mov dword [eax + 0xbf4], ecx
test edi, edi
je 0x3004bb83
push edi
popfd
pushfd
mov eax, dword fs:[0x18]
pop edi
test eax, eax
jne 0x3004bb9e
or ebx, 0xffffffff
mov dword [ebp - 0x40c], 0xffffffff
jmp 0x3004bbad
mov ebx, dword [eax + 0x34]
mov eax, dword [eax + 0xbf4]
mov dword [ebp - 0x40c], eax
push dword [ebp - 0x424]
push 0
push dword [0x3026d8b0]
call esi
mov eax, dword fs:[0x18]
test eax, eax
je 0x3004bbdc
mov ecx, dword [ebp - 0x40c]
mov dword [eax + 0x34], ebx
mov dword [eax + 0xbf4], ecx
test edi, edi
je 0x3004bbdc
push edi
popfd
pushfd
mov eax, dword fs:[0x18]
pop edi
test eax, eax
jne 0x3004bbf7
or ebx, 0xffffffff
mov dword [ebp - 0x40c], 0xffffffff
jmp 0x3004bc06
mov ebx, dword [eax + 0x34]
mov eax, dword [eax + 0xbf4]
mov dword [ebp - 0x40c], eax
push dword [ebp - 0x428]
push 0
push dword [0x3026d8b0]
call esi
mov eax, dword fs:[0x18]
test eax, eax
je 0x3004bc35
mov ecx, dword [ebp - 0x40c]
mov dword [eax + 0x34], ebx
mov dword [eax + 0xbf4], ecx
test edi, edi
je 0x3004bc35
push edi
popfd
pushfd
mov eax, dword fs:[0x18]
pop edi
test eax, eax
jne 0x3004bc50
or ebx, 0xffffffff
mov dword [ebp - 0x40c], 0xffffffff
jmp 0x3004bc5f
mov ebx, dword [eax + 0x34]
mov eax, dword [eax + 0xbf4]
mov dword [ebp - 0x40c], eax
push dword [ebp - 0x42c]
push 0
push dword [0x3026d8b0]
call esi
mov eax, dword fs:[0x18]
test eax, eax
je 0x3004bc8e
mov ecx, dword [ebp - 0x40c]
mov dword [eax + 0x34], ebx
mov dword [eax + 0xbf4], ecx
test edi, edi
je 0x3004bc8e
push edi
popfd
pushfd
mov eax, dword fs:[0x18]
pop edi
test eax, eax
jne 0x3004bca9
or ebx, 0xffffffff
mov dword [ebp - 0x40c], 0xffffffff
jmp 0x3004bcb8
mov ebx, dword [eax + 0x34]
mov eax, dword [eax + 0xbf4]
mov dword [ebp - 0x40c], eax
push dword [ebp - 0x430]
push 0
push dword [0x3026d8b0]
call esi
mov eax, dword fs:[0x18]
test eax, eax
je 0x3004bce7
mov ecx, dword [ebp - 0x40c]
mov dword [eax + 0x34], ebx
mov dword [eax + 0xbf4], ecx
test edi, edi
je 0x3004bce7
push edi
popfd
pushfd
mov eax, dword fs:[0x18]
pop edi
test eax, eax
jne 0x3004bd02
or ebx, 0xffffffff
mov dword [ebp - 0x40c], 0xffffffff
jmp 0x3004bd11
mov ebx, dword [eax + 0x34]
mov eax, dword [eax + 0xbf4]
mov dword [ebp - 0x40c], eax
push dword [ebp - 0x434]
push 0
push dword [0x3026d8b0]
call esi
mov eax, dword fs:[0x18]
test eax, eax
je 0x3004bd40
mov ecx, dword [ebp - 0x40c]
mov dword [eax + 0x34], ebx
mov dword [eax + 0xbf4], ecx
test edi, edi
je 0x3004bd40
push edi
popfd
pushfd
mov eax, dword fs:[0x18]
pop edi
test eax, eax
jne 0x3004bd5b
or ebx, 0xffffffff
mov dword [ebp - 0x40c], 0xffffffff
jmp 0x3004bd6a
mov ebx, dword [eax + 0x34]
mov eax, dword [eax + 0xbf4]
mov dword [ebp - 0x40c], eax
push dword [ebp - 0x438]
push 0
push dword [0x3026d8b0]
call esi
mov eax, dword fs:[0x18]
test eax, eax
je 0x3004bd99
mov ecx, dword [ebp - 0x40c]
mov dword [eax + 0x34], ebx
mov dword [eax + 0xbf4], ecx
test edi, edi
je 0x3004bd99
push edi
popfd
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.30159c2d
mov esp, ebp
pop ebp
ret