Function at 0x4108e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x23c
mov dword [esp + 0x3c], 0xc95bcb7f
mov dword [esp + 0x40], 0xc551c74e
mov dword [esp + 0x44], 0xc156c350
mov dword [esp + 0x48], 0xbd6fbf5f
mov dword [esp + 0x4c], 0xb968bb77
mov dword [esp + 0x50], 0xb556b768
mov dword [esp + 0x54], 0xb11bb36c
mov dword [esp + 0x58], 0xad3caf27
mov dword [esp + 0x5c], 0xa93bab30
mov dword [esp + 0x60], 0xa52ba721
mov dword [esp + 0x64], 0xa110a344
mov dword [esp + 0x68], 0x9d7e9f0c
mov dword [esp + 0x6c], 0x994a9b53
mov dword [esp + 0x70], 0x9546974a
mov dword [esp + 0x74], 0x91729351
mov dword [esp + 0x78], 0x8d198f39
mov dword [esp + 0x7c], 0x89408b1e
mov dword [esp + 0x80], 0x85438744
mov dword [esp + 0x84], 0x810a8364
mov dword [esp + 0x88], 0x7db27f4a
mov dword [esp + 0x8c], 0x799a7bab
mov dword [esp + 0x90], 0x75e677c7
mov dword [esp + 0x94], 0x71e673e4
mov dword [esp + 0x98], 0x6dc76feb
mov dword [esp + 0x9c], 0x69f46bf7
mov dword [esp + 0xa0], 0x65f167dd
mov dword [esp + 0xa4], 0x61b363e8
mov dword [esp + 0xa8], 0x5d935fab
mov dword [esp + 0xac], 0x59885b95
mov dword [esp + 0xb0], 0x559c5795
mov dword [esp + 0xb4], 0x518a53b4
mov dword [esp + 0xb8], 0x4df64fe5
mov dword [esp + 0xbc], 0x49f94be0
mov dword [esp + 0xc0], 0x459247fc
mov dword [esp + 0xc4], 0x41d643a4
mov dword [esp + 0xc8], 0x3dab3fd7
mov dword [esp + 0xcc], 0x39da3ba7
mov dword [esp + 0xd0], 0x35ad3781
mov dword [esp + 0xd4], 0x31a733a9
mov dword [esp + 0xd8], 0x2df92fa1
mov dword [esp + 0xdc], 0x29972bcc
mov dword [esp + 0xe0], 0x25a827b0
mov dword [esp + 0xe4], 0x21b123b5
mov dword [esp + 0xe8], 0x1dcf1fbb
mov dword [esp + 0xec], 0x19d51bd3
mov dword [esp + 0xf0], 0x15c417df
mov dword [esp + 0xf4], 0x11c013c4
mov dword [esp + 0xf8], 0xddc0fc0
mov dword [esp + 0xfc], 0x9ea0bdc
mov dword [esp + 0x100], 0x59907a5
mov dword [esp + 0x104], 0x19d039e
mov dword [esp + 0x108], 0xfd69ff8e
mov dword [esp + 0x10c], 0xf931fb2d
mov dword [esp + 0x110], 0xf53ff735
mov dword [esp + 0x114], 0xf13ff326
mov dword [esp + 0x118], 0xedeeef3a
mov word [esp + 0x11c], 0
mov eax, dword [0x44e1ec]
xor ecx, ecx
mov edx, ecx
add dl, 0xb3
xor dl, byte [esp + ecx + 0x3c]
add dl, 0x81
mov byte [esp + ecx + 0x3c], dl
inc ecx
cmp ecx, 0xe2
jne case.default.0x410b76
lea ebp, [esp + 0x3c]
push 0
push 0
push 0
push 0
push ebp
call eax
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ecx*4 + 0x448e88]
mov ecx, 0x8dff5140
xor ecx, dword [0x448e90]
add ecx, edx
inc ecx
xor ebx, ebx
jmp ecx
test byte [eax + edi*4], ah
add dword [eax], eax
add al, bl
add byte [eax], al
add bh, al
test byte [esp + esi*4], ah
add dword [eax], eax
add byte [eax], ch
rol byte [eax + eax - 0x39], cl
test byte [esp + ebp*4], ah
add dword [eax], eax
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + ebp*4], ah
add dword [eax], eax
add dl, bl
add byte [eax], al
add bh, al
test byte [esp], ah
add dword [eax], eax
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax], ah
add dword [eax], eax
add bl, bl
add byte [eax], al
add bh, al
test byte [esp + ebx*4], ah
add dword [eax], eax
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + ebx*4], ah
add dword [eax], eax
add ah, bl
add byte [eax], al
add bh, al
test byte [esp + edx*4], ah
add dword [eax], eax
add byte [eax], dh
rol byte [eax + eax - 0x39], cl
test byte [esp + ecx*4], ah
add dword [eax], eax
add byte [eax], bh
rol byte [eax + eax - 0x39], cl
test byte [esp + eax*4], ah
add dword [eax], eax
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + eax*4], ah
add dword [eax], eax
add al, ah
add byte [eax], al
add bh, al
test byte [esp + edi*2], ah
add dword [eax], eax
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + edi*2], ah
add dword [eax], eax
add ah, bl
add byte [eax], al
add bh, al
test byte [esp + esi*2], ah
add dword [eax], eax
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + esi*2], ah
add dword [eax], eax
add bh, ah
add byte [eax], al
add bh, al
test byte [esp + ebp*2], ah
add dword [eax], eax
add byte [eax - 0x2e], al
inc esp
add bh, al
test byte [esp], ah
add dword [eax], eax
add byte [eax - 0x2e], cl
inc esp
add bh, al
test byte [esp + ebx*2], ah
add dword [eax], eax
add byte [eax - 0x2e], dl
inc esp
add bh, al
test byte [esp + edx*2], ah
add dword [eax], eax
add byte [eax - 0x2e], bl
inc esp
add bh, al
test byte [esp + ecx*2], ah
add dword [eax], eax
add byte [eax - 0x2e], ah
inc esp
add bh, al
test byte [esp + eax*2], ah
add dword [eax], eax
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + eax*2], ah
add dword [eax], eax
add bh, ah
add byte [eax], al
add bh, al
test byte [esp + edi], ah
add dword [eax], eax
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + edi], ah
add dword [eax], eax
add cl, ch
add byte [eax], al
add bh, al
test byte [esp + esi], ah
add dword [eax], eax
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + esi], ah
add dword [eax], eax
add cl, ch
add byte [eax], al
add bh, al
test byte [esp + ebp], ah
add dword [eax], eax
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + ebp], ah
add dword [eax], eax
add byte [eax + eax - 0x7b390000], ah
and al, 0x24
add dword [eax], eax
add byte [eax - 0x2e], ch
inc esp
add bh, al
test byte [esp + ebx], ah
add dword [eax], eax
add byte [eax - 0x2e], dh
inc esp
add bh, al
test byte [esp + edx], ah
add dword [eax], eax
add byte [eax - 0x2e], bh
inc esp
add bh, al
test byte [esp + ecx], ah
add dword [eax], eax
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + ecx], ah
add dword [eax], eax
add dh, ch
add byte [eax], al
add bh, al
test byte [esp + eax], ah
add dword [eax], eax
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + eax], ah
add dword [eax], eax
add bh, ch
add byte [eax], al
add bh, al
test byte [esp + edi*8], ah
add byte [eax], al
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + edi*8], ah
add byte [eax], al
add al, dh
add byte [eax], al
add bh, al
test byte [esp + esi*8], ah
add byte [eax], al
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + esi*8], ah
add byte [eax], al
add cl, dh
add byte [eax], al
add bh, al
test byte [esp + ebp*8], ah
add byte [eax], al
add byte [eax - 0x38ffbb2e], al
test byte [esp], ah
add byte [eax], al
add byte [eax - 0x38ffbb2e], cl
test byte [esp + ebx*8], ah
add byte [eax], al
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + ebx*8], ah
add byte [eax], al
add ah, dh
add byte [eax], al
add bh, al
test byte [esp + edx*8], ah
add byte [eax], al
add byte [eax - 0x38ffbb2e], dl
test byte [esp + ecx*8], ah
add byte [eax], al
add byte [eax - 0x38ffbb2e], bl
test byte [esp + eax*8], ah
add byte [eax], al
add byte [eax - 0x38ffbb2e], ah
test byte [esp + edi*4], ah
add byte [eax], al
add byte [eax - 0x38ffbb2e], ch
test byte [esp + esi*4], ah
add byte [eax], al
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + esi*4], ah
add byte [eax], al
add cl, bh
add byte [eax], al
add bh, al
test byte [esp + ebp*4], ah
add byte [eax], al
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + ebp*4], ah
add byte [eax], al
add dl, bh
add byte [eax], al
add bh, al
test byte [esp], ah
add byte [eax], al
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax], ah
add byte [eax], al
add byte [eax - 0x39000000], ah
test byte [esp + ebx*4], ah
add byte [eax], al
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + ebx*4], ah
add byte [eax], al
add byte [ebp - 0x39000000], ah
test byte [esp + edx*4], ah
add byte [eax], al
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + edx*4], ah
add byte [eax], al
add byte [ecx - 0x39000000], ch
test byte [esp + ecx*4], ah
add byte [eax], al
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + ecx*4], ah
add byte [eax], al
add byte [esi - 0x39000000], dh
test byte [esp + eax*4], ah
add byte [eax], al
add byte [eax - 0x37], ah
inc esp
add bh, al
test byte [eax + eax*4], ah
add byte [eax], al
add byte [ecx - 0x39000000], bh
inc esp
and al, 0x7c
pushal
leave
inc esp
add bh, al
inc esp
and al, 0x78
mov dword [eax], 0x44c70000
and al, 0x74
pushal
leave
inc esp
add bh, al
inc esp
and al, 0x70
into
add byte [eax], al
add bh, al
inc esp
and al, 0x6c
pushal
leave
inc esp
add bh, al
inc esp
and al, 0x68
rol byte [eax], cl
add byte [eax], al
mov dword [esp + 0x64], 0x44c960
mov dword [esp + 0x60], 0xe2
mov dword [esp + 0x5c], 0x44c960
mov dword [esp + 0x58], 0xe5
mov dword [esp + 0x54], 0x44c960
mov dword [esp + 0x50], 0xeb
mov dword [esp + 0x4c], 0x44c960
mov dword [esp + 0x48], 0xf2
mov dword [esp + 0x44], 0x44c960
mov dword [esp + 0x40], 0xf7
jmp eax
add byte [ebx + 0x2e0248c], cl
add byte [eax], al
mov eax, dword [eax + ecx*4]
jmp eax