Function at 0x4168c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x4b0
mov esi, esp
mov eax, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [esi + 0x428], 0x43f8e0
mov eax, dword [0x43fb60]
mov dword [esi + 0x1f4], eax
mov byte [esi + 6], 0
mov al, byte [esi + 0xd4]
mov byte [esi + 0xd8], al
mov byte [esi + 0x190], 0x33
mov byte [esi + 0x191], 0x99
mov byte [esi + 0x192], 0x37
mov byte [esi + 0x193], 0x9b
mov byte [esi + 0x194], 0x1d
mov byte [esi + 0x195], 0x85
mov byte [esi + 0x196], 0x5a
mov byte [esi + 0x197], 0x87
mov byte [esi + 0x198], 0x56
mov byte [esi + 0x199], 0x81
mov byte [esi + 0x19a], 0x2e
mov byte [esi + 0x19b], 0x83
mov byte [esi + 0x19c], 0x2e
mov byte [esi + 0x19d], 0x8d
mov byte [esi + 0x19e], 0x8e
mov byte [esi + 0x19f], 0x8f
mov dword [esi + 0x1a3], 0
mov dword [esi + 0x1a0], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x17
jae 0x4169d8
jmp 0x416997
mov ebx, dword [esi + 0x18]
mov eax, dword [esi + 0x18]
movzx edx, byte [esi + eax + 0x190]
mov ecx, ebx
add ecx, 0x6c
mov eax, 0x93
sub eax, ebx
and ecx, edx
or eax, edx
not eax
add eax, edx
sub eax, ecx
add al, 0xc
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x190], al
mov eax, dword [esi + 0x18]
inc eax
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
cmp eax, 0x17
jb 0x416997
jmp 0x4169d8
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub esp, 0xc
lea edx, [esi + 0x190]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00413a90
add esp, 0xc
mov cl, byte [esi + 6]
or cl, al
mov byte [esi + 6], cl
mov al, byte [esi + 0xd0]
mov byte [esi + 0xdc], al
mov byte [esi + 0x100], 0x3b
mov byte [esi + 0x101], 0xa1
mov byte [esi + 0x102], 0x3f
mov byte [esi + 0x103], 0xa3
mov byte [esi + 0x104], 0x30
mov byte [esi + 0x105], 0x9d
mov byte [esi + 0x106], 0x10
mov byte [esi + 0x107], 0x9f
mov byte [esi + 0x108], 0xd5
mov byte [esi + 0x109], 0x99
mov byte [esi + 0x10a], 0xce
mov byte [esi + 0x10b], 0x9b
mov byte [esi + 0x10c], 6
mov byte [esi + 0x10d], 0x95
mov byte [esi + 0x10e], 0x36
mov byte [esi + 0x10f], 0x97
mov byte [esi + 0x110], 0x96
mov byte [esi + 0x111], 0x91
mov word [esi + 0x116], 0
mov dword [esi + 0x112], 0
mov dword [esi + 0x1c], 0
mov eax, dword [esi + 0x1c]
cmp eax, 0x18
jae 0x416af7
jmp 0x416ab0
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x1c]
movzx edi, byte [esi + ecx + 0x100]
add eax, 0x4a0a591b
mov ecx, eax
xor ecx, edi
mov ebx, eax
and ebx, edi
mov edx, edi
not edx
or eax, edx
add edi, ebx
add eax, edi
sub ecx, eax
lea eax, [ecx + ebx*2]
add al, 0x42
mov ecx, dword [esi + 0x1c]
mov byte [esi + ecx + 0x100], al
mov eax, dword [esi + 0x1c]
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x1c]
cmp eax, 0x18
jb 0x416ab0
jmp 0x416af7
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub esp, 0xc
lea edx, [esi + 0x100]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00413a90
add esp, 0xc
movzx edx, al
movzx eax, byte [esi + 6]
mov ecx, eax
not ecx
mov edi, edx
not edi
or eax, 0xd857b07a
or edx, 0xd857b07a
xor eax, edx
or ecx, edi
not ecx
or eax, ecx
mov edx, dword [esi + 0x1f4]
xor edx, 0x2c9abe88
mov ecx, dword [esi + 0x428]
mov ecx, dword [ecx + edx*4]
mov edx, dword [0x43fb64]
xor edx, 0xcf379af8
sub ecx, edx
push eax
mov edx, esp
mov dword [esi + 0x214], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fb68]
mov dword [esi + 0x210], edx
push eax
mov edi, esp
mov dword [edi], 0x43fb70
push eax
mov dword [esi + 0x218], esp
push eax
mov edx, esp
mov dword [esi + 0x234], edx
mov dword [edx], 0x43fb7c
push eax
mov dword [esi + 0x230], esp
push eax
mov edx, esp
mov dword [esi + 0x22c], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fb88]
mov dword [esi + 0x228], edx
push eax
mov edx, esp
mov dword [esi + 0x240], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fb90]
mov dword [esi + 0x23c], edx
push eax
mov edx, esp
mov dword [esi + 0x24c], edx
mov dword [edx], 0x43fb98
push eax
mov dword [esi + 0x244], esp
push eax
mov edx, esp
mov dword [esi + 0x264], edx
mov dword [edx], 0x43fba4
push eax
mov dword [esi + 0x258], esp
push eax
mov edx, esp
mov dword [esi + 0x25c], edx
mov dword [edx], 0x43fbb0
push eax
mov dword [esi + 0x250], esp
push eax
mov edx, esp
mov dword [esi + 0x260], edx
mov dword [edx], 0x43fbbc
push eax
mov dword [esi + 0x254], esp
push eax
mov edx, esp
mov dword [esi + 0x274], edx
mov dword [edx], 0x43fbc8
push eax
mov dword [esi + 0x270], esp
push eax
mov edx, esp
mov dword [esi + 0x26c], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fbd4]
mov dword [esi + 0x268], edx
push eax
mov edx, esp
mov dword [esi + 0x248], edx
mov dword [edx], 0x43fbdc
push eax
mov dword [esi + 0x238], esp
push eax
mov edx, esp
mov dword [esi + 0x28c], edx
mov dword [edx], 0x43fbe8
push eax
mov dword [esi + 0x284], esp
push eax
mov edx, esp
mov dword [esi + 0x288], edx
mov dword [edx], 0x43fbf4
push eax
mov dword [esi + 0x280], esp
push eax
mov edx, esp
mov dword [esi + 0x294], edx
mov dword [edx], 0x43fc00
push eax
mov dword [esi + 0x290], esp
push eax
mov edx, esp
mov dword [esi + 0x2a0], edx
mov dword [edx], 0x43fc0c
push eax
mov dword [esi + 0x298], esp
push eax
mov edx, esp
mov dword [esi + 0x2a4], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fc18]
mov dword [esi + 0x29c], edx
push eax
mov edx, esp
mov dword [esi + 0x2ac], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fc20]
mov dword [esi + 0x2a8], edx
push eax
mov edx, esp
mov dword [esi + 0x2b4], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fc28]
mov dword [esi + 0x2b0], edx
push eax
mov edx, esp
mov dword [esi + 0x2bc], edx
mov dword [edx], 0x43fc30
push eax
mov dword [esi + 0x2b8], esp
push eax
mov edx, esp
mov dword [esi + 0x2d4], edx
mov dword [edx], 0x43fc3c
push eax
mov dword [esi + 0x2c4], esp
push eax
mov edx, esp
mov dword [esi + 0x2cc], edx
mov dword [edx], 0x43fc48
push eax
mov dword [esi + 0x2c0], esp
push eax
mov edx, esp
mov dword [esi + 0x2d0], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fc54]
mov dword [esi + 0x2c8], edx
push eax
mov edx, esp
mov dword [esi + 0x3f8], edx
mov dword [edx], 0x43fc5c
push eax
mov dword [esi + 0x3ec], esp
push eax
mov edx, esp
mov dword [esi + 0x3f0], edx
mov dword [edx], 0x43fc68
push eax
mov dword [esi + 0x3e8], esp
push eax
mov edx, esp
mov dword [esi + 0x41c], edx
mov dword [edx], 0x43fc74
push eax
mov dword [esi + 0x410], esp
push eax
mov edx, esp
mov dword [esi + 0x40c], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fc80]
mov dword [esi + 0x404], edx
push eax
mov edx, esp
mov dword [esi + 0x3e4], edx
mov dword [edx], 0x43fc88
push eax
mov dword [esi + 0x3e0], esp
push eax
mov edx, esp
mov dword [esi + 0x3dc], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fc94]
mov dword [esi + 0x3d8], edx
push eax
mov edx, esp
mov dword [esi + 0x3d4], edx
mov dword [edx], 0x43fc9c
push eax
mov dword [esi + 0x3d0], esp
push eax
mov edx, esp
mov dword [esi + 0x3cc], edx
mov dword [edx], 0x43f8e0
mov edx, dword [str._fMUJ]
mov dword [esi + 0x3c8], edx
push eax
mov edx, esp
mov dword [esi + 0x3c4], edx
mov dword [edx], 0x43fcb0
push eax
mov dword [esi + 0x3bc], esp
push eax
mov edx, esp
mov dword [esi + 0x3b0], edx
mov dword [edx], 0x43fcbc
push eax
mov dword [esi + 0x3a8], esp
push eax
mov edx, esp
mov dword [esi + 0x3a4], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fcc8]
mov dword [esi + 0x3a0], edx
push eax
mov edx, esp
mov dword [esi + 0x398], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fcd0]
mov dword [esi + 0x38c], edx
push eax
mov edx, esp
mov dword [esi + 0x384], edx
mov dword [edx], 0x43fcd8
push eax
mov dword [esi + 0x37c], esp
push eax
mov edx, esp
mov dword [esi + 0x374], edx
mov dword [edx], 0x43fce4
push eax
mov dword [esi + 0x364], esp
push eax
mov edx, esp
mov dword [esi + 0x35c], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fcf0]
mov dword [esi + 0x358], edx
push eax
mov edx, esp
mov dword [esi + 0x354], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fcf8]
mov dword [esi + 0x34c], edx
push eax
mov edx, esp
mov dword [esi + 0x348], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fd00]
mov dword [esi + 0x340], edx
push eax
mov edx, esp
mov dword [esi + 0x33c], edx
mov dword [edx], 0x43fd08
push eax
mov dword [esi + 0x338], esp
push eax
mov edx, esp
mov dword [esi + 0x334], edx
mov dword [edx], 0x43fd14
push eax
mov dword [esi + 0x330], esp
push eax
mov edx, esp
mov dword [esi + 0x32c], edx
mov dword [edx], 0x43fd20
push eax
mov dword [esi + 0x328], esp
push eax
mov edx, esp
mov dword [esi + 0x324], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fd2c]
mov dword [esi + 0x320], edx
push eax
mov edx, esp
mov dword [esi + 0x31c], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fd34]
mov dword [esi + 0x318], edx
push eax
mov edx, esp
mov dword [esi + 0x350], edx
mov dword [edx], 0x43fd3c
push eax
mov dword [esi + 0x344], esp
push eax
mov edx, esp
mov dword [esi + 0x1d4], edx
mov dword [edx], 0x43fd48
push eax
mov dword [esi + 0x1d0], esp
push eax
mov edx, esp
mov dword [esi + 0x368], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fd54]
mov dword [esi + 0x360], edx
push eax
mov edx, esp
mov dword [esi + 0x370], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fd5c]
mov dword [esi + 0x36c], edx
push eax
mov edx, esp
mov dword [esi + 0x380], edx
mov dword [edx], 0x43fd64
push eax
mov dword [esi + 0x378], esp
push eax
mov edx, esp
mov dword [esi + 0x390], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fd70]
mov dword [esi + 0x388], edx
push eax
mov edx, esp
mov dword [esi + 0x39c], edx
mov dword [edx], 0x43fd78
push eax
mov dword [esi + 0x394], esp
push eax
mov edx, esp
mov dword [esi + 0x3c0], edx
mov dword [edx], 0x43fd84
push eax
mov dword [esi + 0x3b8], esp
push eax
mov edx, esp
mov dword [esi + 0x3b4], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fd90]
mov dword [esi + 0x3ac], edx
push eax
mov edx, esp
mov dword [esi + 0x3fc], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fd98]
mov dword [esi + 0x3f4], edx
push eax
mov edx, esp
mov dword [esi + 0x408], edx
mov dword [edx], 0x43fda0
push eax
mov dword [esi + 0x400], esp
push eax
mov edx, esp
mov dword [esi + 0x418], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fdac]
mov dword [esi + 0x414], edx
push eax
mov edx, esp
mov dword [esi + 0x424], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fdb4]
mov dword [esi + 0x420], edx
push eax
mov edx, esp
mov dword [esi + 0x2fc], edx
mov dword [edx], 0x43fdbc
push eax
mov dword [esi + 0x2f8], esp
push eax
mov edx, esp
mov dword [esi + 0x30c], edx
mov dword [edx], 0x43fdc8
push eax
mov dword [esi + 0x308], esp
push eax
mov edx, esp
mov dword [esi + 0x1fc], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fdd4]
mov dword [esi + 0x1f8], edx
push eax
mov edx, esp
mov dword [esi + 0x204], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fddc]
mov dword [esi + 0x200], edx
push eax
mov edx, esp
mov dword [esi + 0x20c], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fde4]
mov dword [esi + 0x208], edx
push eax
mov edx, esp
mov dword [esi + 0x224], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fdec]
mov dword [esi + 0x220], edx
push eax
mov edx, esp
mov dword [esi + 0x27c], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fdf4]
mov dword [esi + 0x278], edx
push eax
mov edx, esp
mov dword [esi + 0x2f4], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fdfc]
mov dword [esi + 0x2f0], edx
push eax
mov edx, esp
mov dword [esi + 0x2e4], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fe04]
mov dword [esi + 0x2e0], edx
push eax
mov edx, esp
mov dword [esi + 0x2dc], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fe0c]
mov dword [esi + 0x2d8], edx
push eax
mov edx, esp
mov dword [esi + 0x304], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fe14]
mov dword [esi + 0x300], edx
push eax
mov edx, esp
mov dword [esi + 0x314], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fe1c]
mov dword [esi + 0x310], edx
push eax
mov edx, esp
mov dword [esi + 0x2ec], edx
mov dword [edx], 0x43f8e0
mov edx, dword [0x43fe24]
mov dword [esi + 0x2e8], edx
jmp ecx