Function at 0x40478c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
sub edx, edx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x18], 0x90e18c9f
mov eax, 0xfffff3d9
sbb edx, dword [0x407044]
mov dword [ebp - 0x14], eax
movzx ecx, word [0x407030]
adc ecx, dword [0x407038]
mov dword [0x407030], ecx
mov dword [ebp - 4], 0x874696ee
mov dword [ebp - 8], 0x873c96ee
mov ecx, dword [0x40f3fa]
xor dword [0x40f3d2], ecx
mov dword [ebp - 0xc], 0x873d96ee
add dword [0x414010], 0x20da
mov dword [ebp - 0x10], 0x874296ee
push ebx
adc edx, ecx
mov dword [ebp - 0x20], 0x90e18f4e
sbb ebx, ecx
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
push esi
mov esi, 0x467b956
movzx ebx, byte [0x40702c]
and ebx, dword [0x41402c]
mov dword [0x40702c], ebx
xor edx, esi
xor ecx, 0x91c
xor eax, eax
mov ebx, 0x6b79ca38
push edi
add dword [0x40f3da], 0x48c3
add edx, ebx
mov edi, 0x53a
mov dword [0x414020], 0x15cf
adc ecx, edi
test ecx, ecx
mov dword [0x414030], 0x3bdd
jb 0x4049c9
mov dword [0x40f3ee], 0x3847
ja 0x404884
test edx, edx
mov dword [0x40f362], 0x1488
je 0x4049c9
xor edx, 0x6bc9
mov ecx, eax
adc dword [0x40f3f2], 0x5f78
imul ecx, ecx, 0x742679ec
movzx edx, word [0x407008]
adc dword [0x414018], edx
add ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
movzx edx, byte [section..gear]
sbb edx, dword [0x40f3de]
mov dword [section..gear], edx
mov edx, dword [ebp - 8]
mov ecx, eax
imul ecx, ecx, 0x742649ec
xor ecx, edx
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
add dword [0x407010], ebx
mov ecx, eax
and dword [0x414018], 0x40f3f6
imul ecx, ecx, 0x742678ec
add dword [0x40f3ee], 0x407000
or ecx, edx
mov dword [ebp - 0xc], ecx
or ecx, edx
mov edx, dword [ebp - 0x10]
sbb ecx, dword [0x414030]
mov ecx, eax
imul ecx, ecx, 0x7427b8ec
adc dword [0x40f3d2], 0x414038
and ecx, edx
xor edx, edx
add edx, dword [0x40c165]
mov edx, dword [edx]
adc dword [0x40f37e], edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x18]
xor dword [section..reloc], 0x41dc
mov edx, dword [ebp - 0x14]
mov edx, dword [0x40f3a2]
mov edx, dword [edx]
xor dword [0x40f376], edx
mov edx, dword [ebp - 0x20]
xor dword [0x40703c], 0x1789
xor ecx, esi
lea eax, [eax + ecx + 0x6b79ca38]
mov ecx, dword [ebp - 0x1c]
xor dword [0x414014], 0x40f402
xor edx, esi
or dword [0x40f372], 0x40f34e
xor ecx, 0x91c
and dword [0x407044], 0x40f3fe
add edx, ebx
adc ecx, edi
mov dword [ebp - 0x28], edx
sbb dword [0x407014], 0x407048
xor edx, edx
cmp edx, ecx
mov dword [0x414034], 0x5ed1
jb 0x404884
ja 0x4049c9
cmp eax, dword [ebp - 0x28]
mov dword [0x40f382], 0x316e
jb 0x404884
and dword [0x40f386], 0x40f362
push 0
sub dword [0x407014], 0x32d2
call dword [sym.imp.USER32.dll_GetThreadDesktop]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
sub dword [0x414014], 0x40f386
imul eax, eax, 0x742679ec
mov dword [0x414034], 0x7b5a
add eax, dword [ebp - 4]
mov dword [ebp - 4], eax
call dword [sym.imp.USER32.dll_GetProcessWindowStation]
mov edx, dword [ebp - 0x20]
mov eax, dword [0x40f35a]
add dword [0x40f40a], eax
mov eax, dword [ebp - 0x1c]
mov dword [0x40f372], 0x4be6
xor edx, esi
xor eax, 0x91c
or dword [0x41401c], 0x38ae
xor ecx, ecx
add edx, ebx
adc eax, edi
test eax, eax
mov dword [0x40f352], 0x4d31
jb 0x404b50
mov dword [0x40700c], 0x6154
ja 0x404a77
test edx, edx
mov dword [0x41400c], 0x308c
je 0x404b50
or eax, edx
mov eax, ecx
imul eax, eax, 0x742679ec
xor dword [0x414014], 0x1e66
add eax, dword [ebp - 4]
mov edx, dword [0x40f3f2]
and edx, dword [0x40f40a]
mov dword [0x40f3f2], edx
mov dword [ebp - 4], eax
mov edx, dword [ebp - 8]
xor dword [0x414024], ecx
mov eax, ecx
and dword [0x40f362], 0x407024
imul eax, eax, 0x742649ec
xor eax, edx
sbb dword [0x414018], 0x5973
mov dword [ebp - 8], eax
mov edx, dword [0x407010]
xor edx, dword [0x40f406]
mov dword [0x407010], edx
mov edx, dword [ebp - 0xc]
and eax, 0x1f75
mov eax, ecx
not dword [0x414008]
imul eax, eax, 0x742678ec
add dword [0x41400c], 0x407000
or eax, edx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x10]
mov eax, ecx
imul eax, eax, 0x7427b8ec
and eax, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
xor eax, esi
lea ecx, [ecx + eax + 0x6b79ca38]
mov eax, dword [ebp - 0x1c]
xor edx, esi
xor eax, 0x91c
add edx, ebx
adc eax, edi
mov dword [ebp - 0x28], edx
xor edx, edx
cmp edx, eax
jb 0x404a77
ja 0x404b50
cmp ecx, dword [ebp - 0x28]
jb 0x404a77
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
imul eax, eax, 0x742679ec
add eax, dword [ebp - 8]
mov dword [ebp - 8], eax
xor eax, eax
push eax
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
imul eax, eax, 0x742679ec
add eax, dword [ebp - 0xc]
push str.T:3249280394_fjdkfjk
mov dword [ebp - 0xc], eax
call dword [sym.imp.SHLWAPI.dll_PathGetDriveNumberA]
cmp eax, 2
je 0x404bd4
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
imul eax, eax, 0x883079ec
add dword [ebp - 4], eax
push str.234982039482039572352937569237532_23059203985_235982735
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeA]
test eax, eax
je 0x404bf6
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
lea eax, [eax + ecx + 0x77cf8614]
push str.32847asdfsd.sdfksdjfksdf.sdfkjsdf_fdioisduf
mov dword [ebp - 8], eax
call dword [sym.imp.SHLWAPI.dll_PathIsURLW]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
imul eax, eax, 0x742679ec
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
call fcn.00404404
mov edx, dword [0x40e2a8]
lea ecx, [ebp + 4]
add dword [ecx], edx
pop edi
pop esi
pop ebx
leave
ret