Function at 0x48ead0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov dword [esp - 0x44], ecx
push ebx
mov ebx, dword [ebp + 8]
mov cl, 0x42
mov edi, edi
add cl, 0x2d
add cl, 5
sub cl, 0x44
xor cl, 0x70
mov edi, edi
xor cl, 0xd5
mov word [ebp - 3], 0x4f8e
add word [ebp - 3], 0x2a9b
sub word [ebp - 3], 0x4abe
mov dword [esp - 0x40], ebx
add word [ebp - 3], 0x48ee
sub word [ebp - 3], 0x60d
xor word [ebp - 3], 0x155f
xor word [ebp - 3], 0x1cbe
mov dword [esp - 0x38], ecx
mov ax, word [ebp - 3]
nop
sub esp, 4
mov dword [esp], 0x7b59c6f2
xchg esp, esp
sub dword [esp], 0x5c27ff0a
xor dword [esp], 0x553126aa
add dword [esp], 0x53b9188
xor dword [esp], 0x4f3c72cc
mov ebx, ebx
mov word [ebp - 4], ax
mov byte [ebp - 2], cl
mov dword [ebx + 4], 0x7e001f4e
xchg esi, esi
sub dword [ebx + 4], 0x69e29e6f
add dword [ebx + 4], 0x391ffa2b
add dword [ebx + 4], 0x19bc018d
xor dword [ebx + 4], 0x66f97c94
mov dword [esp - 0x18], 0x2a0ff5c0
call fcn.00490c90
xor ecx, ecx
add esp, 4
mov dword [esp - 0x28], edx
mov edx, eax
mov dword [ebx], edx
cmp dword [ebx + 4], ecx
mov ebx, ebx
jbe 0x48ebba
lea esp, [esp]
movsx ax, byte [ebp + ecx - 4]
mov word [edx + ecx*2], ax
mov edx, edx
inc ecx
cmp ecx, dword [ebx + 4]
jb 0x48eba8
cmp byte [0x4c11b4], 0
mov esp, esp
je 0x48f4c6
mov ecx, dword [ebp + 0xc]
mov ebx, ecx
mov edi, edi
push esi
push edi
mov dword [ebp - 0x6c], 0x16e28df1
xor dword [ebp - 0x6c], 0x594aeb97
xchg ecx, ecx
add dword [ebp - 0x6c], 0x2d1ab637
xor dword [ebp - 0x6c], 0x1975814d
xor dword [ebp - 0x6c], 0x50846c51
mov ebp, ebp
sub dword [ebp - 0x6c], 0x14bdb69
sub dword [ebp - 0x6c], 0x33e71618
movzx eax, word [ecx]
mov dword [ebp - 0x68], 0x4c739563
mov edi, edi
xor dword [ebp - 0x68], 0x48f65db2
add dword [ebp - 0x68], 0x4f5cdbdc
add dword [ebp - 0x68], 0x26779d37
mov dword [esp - 0x44], 0x512f81c5
sub dword [ebp - 0x68], 0x7a5a41e4
mov dword [ebp - 0x64], 0x3486aac1
xor dword [ebp - 0x64], 0x4fbc7b86
mov dword [esp - 0x30], edx
sub dword [ebp - 0x64], 0x6bbf9fa2
xor dword [ebp - 0x64], 0x7b66133
add dword [ebp - 0x64], 0x6c155eb8
xchg ebx, ebx
sub dword [ebp - 0x64], 0x215ceffe
xor dword [ebp - 0x64], 0x5385bf50
mov dword [ebp - 0x60], 0x25fc2b49
xor dword [ebp - 0x60], 0x4faeecf7
mov dword [esp - 0x1c], edx
sub dword [ebp - 0x60], 0x39a1b730
sub dword [ebp - 0x60], 0x17b6bd7c
xor dword [ebp - 0x60], 0x4b91ed7c
sub dword [ebp - 0x60], 0x104dad86
xchg ebx, ebx
sub dword [ebp - 0x60], 0x431e10e7
mov dword [ebp - 4], ecx
test ax, ax
xchg edi, edi
je 0x48eef1
mov edx, eax
cmp dx, 0x2f
xchg ecx, ecx
je 0x48eccf
cmp word [ebx], 0x5c
je 0x48eccf
mov dword [esp - 0x40], ebp
add ebx, 2
jmp 0x48eedb
mov edi, ebx
sub edi, ecx
mov ebp, ebp
sar edi, 1
je 0x48eed1
lea esi, [edi + 1]
mov ecx, 0x6803df37
mov ebp, ebp
xor ecx, 0x52f67398
add ecx, 0x3fdb4c1f
xor ecx, 0x1a9d0a1c
xchg esp, esp
sub ecx, 0x604df2d0
mov eax, esi
mul ecx
pushf
xchg esp, esp
mov ecx, 0x3a368568
xor ecx, 0x332edb3d
sub ecx, 0x59cf9cc
mov dword [esp - 0x38], edi
add ecx, 0x6468de09
xor ecx, 0x981bbd6d
popf
mov ebx, ebx
cmovb eax, ecx
push eax
call fcn.00490c90
push edi
mov dword [esp - 0x44], 0x46c01885
push dword [ebp - 4]
mov dword [ebp + 0xc], eax
push esi
mov ecx, ecx
push eax
call fcn.004916c0
mov ecx, dword [ebp + 0xc]
add esp, 0x14
mov ebx, ebx
mov esi, ecx
mov dword [ebp - 0x24], 0x2e160a73
xor dword [ebp - 0x24], 0x5ed07ac
mov esi, esi
sub dword [ebp - 0x24], 0x10057d76
add dword [ebp - 0x24], 0x32ed031c
xor dword [ebp - 0x24], 0xb0b02a
sub dword [ebp - 0x24], 0x4e5223af
mov edi, edi
lea edx, [esi + 2]
jmp 0x48ed8f
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x48ed8f
xchg esi, esi
sub esi, edx
lea edx, [ebp - 0x24]
sar esi, 1
mov dword [esp - 0x14], ebp
mov dword [ebp - 0x20], esi
cmp esi, 2
jbe 0x48ee33
mov dword [esp - 0x40], edx
mov ecx, 0x1c52da0c
add ecx, 0x226e7104
add ecx, 0x24478157
sub ecx, 0x59b84952
mov edi, edi
add ecx, 0x181044d3
sub ecx, 0x2160c7e6
mov eax, esi
mul ecx
mov dword [esp - 0x14], ebp
pushf
mov ecx, 0x51f6cc37
xor ecx, 0x33520055
add ecx, 0x15b9a58f
mov dword [esp - 0x2c], edx
sub ecx, 0x3d3fd8e4
add ecx, 0x185a70c2
sub ecx, 0x740199d
mov dword [esp - 0x40], edx
add ecx, 0xb3c70fcd
popf
cmovb eax, ecx
push eax
mov esp, esp
call fcn.00490c90
mov ecx, dword [ebp + 0xc]
mov edx, eax
mov dword [esp - 0x44], esi
add esp, 4
mov dword [ebp - 0x24], edx
xor edi, edi
mov dword [esp - 0x3c], 0x1687dd28
test esi, esi
je 0x48ee93
mov esi, ecx
sub esi, edx
mov ebx, ebx
mov ecx, edi
lea edx, [edx + 2]
and ecx, 3
mov eax, 0x7c75a638
mov dword [esp - 0x20], edi
sub eax, 0x41eb6fc7
xor eax, 0x58bd5cc5
sub eax, 0x3f17a1fc
add eax, 0x2689614
xchg ebp, ebp
add eax, 0x5621e625
shl ecx, 3
inc edi
mov dword [esp - 0x1c], 0x4ccda373
sar eax, cl
cbw
xor ax, word [edx + esi - 2]
mov word [edx - 2], ax
mov esi, esi
cmp edi, dword [ebp - 0x20]
jb 0x48ee47
lea eax, [ebp - 0x24]
mov dword [esp - 0x34], 0x38b6333e
push eax
lea ecx, [ebp - 0x6c]
call fcn.00444e20
cmp dword [ebp - 0x20], 2
mov edx, edx
jbe 0x48eebe
push dword [ebp - 0x24]
call fcn.00490c60
add esp, 4
mov dword [esp - 0xc], esp
push dword [ebp + 0xc]
call fcn.00490c60
add esp, 4
mov dword [esp - 0x20], 0x519934b7
add ebx, 2
mov ecx, ebx
mov dword [ebp - 4], ecx
xchg esp, esp
movzx eax, word [ebx]
mov edx, eax
test ax, ax
mov dword [esp - 0x30], 0x6fd0a059
jne 0x48ecb5
push ebx
push ecx
lea eax, [ebp - 0x6c]
xchg ebp, ebp
push eax
lea ecx, [ebp + 0xf]
call fcn.0048df30
mov ecx, ecx
mov eax, dword [ebp - 0x68]
xor ecx, ecx
xor bh, bh
mov dword [esp - 0x30], edi
xor bl, bl
cmp ecx, eax
mov ecx, dword [ebp - 0x6c]
sbb esi, esi
mov edx, edx
and esi, ecx
test eax, eax
je 0x48ef26
mov esi, esi
lea edi, [ecx + eax*8]
jmp 0x48ef28
xor edi, edi
mov dword [ebp - 4], edi
mov dword [esp - 0x18], 0x275b187
cmp esi, edi
je 0x48f4ae
mov byte [ebp + 0xc], 0x28
xchg ecx, ecx
add byte [ebp + 0xc], 3
add byte [ebp + 0xc], 0x3b
sub byte [ebp + 0xc], 0x4e
add byte [ebp + 0xc], 8
xchg ebp, ebp
add byte [ebp + 0xc], 0x8d
test bh, bh
jne 0x48f0fd
mov dword [ebp - 0xb], 0x91a6db4
mov dword [esp - 0x28], edi
add dword [ebp - 0xb], 0x479166ef
add dword [ebp - 0xb], 0x238bd624
sub dword [ebp - 0xb], 0x43d8d364
xor dword [ebp - 0xb], 0x55d0904d
xchg edx, edx
sub dword [ebp - 0xb], 0x4b7de74
xor dword [ebp - 0xb], 0x7f12451c
mov cl, 0xf
add cl, 0x5d
xchg esp, esp
xor cl, 0x5f
sub cl, 0xe
xor cl, 0xf
mov dword [esp - 0xc], ecx
xor cl, 0xf3
mov eax, dword [ebp - 0xb]
mov dword [ebp - 0x14], eax
mov dword [esp - 0x40], ebx
mov word [ebp - 7], 0x45fa
xor word [ebp - 7], 0x1334
sub word [ebp - 7], 0x4ce5
mov dword [esp - 0x44], 0x28159c7d
add word [ebp - 7], 0xec4
sub word [ebp - 7], 0x10a0
xor word [ebp - 7], 0x6bb6
sub word [ebp - 7], 0x301d
mov dword [esp - 0xc], edx
mov ax, word [ebp - 7]
nop
sub esp, 4
xchg ebp, ebp
mov dword [esp], 0x3d613441
add dword [esp], 0x3188449e
add dword [esp], 0xaea625c
mov dword [esp - 0x24], 0x5249e8bf
xor dword [esp], 0x1bc9270b
sub dword [esp], 0x621afc22
mov word [ebp - 0x10], ax
mov byte [ebp - 0xe], cl
mov dword [esp - 0x44], edx
mov dword [ebp - 0x28], 0x555e2c0
add dword [ebp - 0x28], 0x4a5b6c2c
xor dword [ebp - 0x28], 0x402740ef
xor dword [ebp - 0x28], 0x7323c862
mov dword [esp - 0x34], 0x6c129dbb
sub dword [ebp - 0x28], 0x7cb5c65a
call fcn.00490c90
xor ecx, ecx
add esp, 4
xchg ecx, ecx
mov edx, eax
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x28], ecx
jbe 0x48f088
xchg esi, esi
movsx ax, byte [ebp + ecx - 0x14]
mov word [edx + ecx*2], ax
inc ecx
mov dword [esp - 0x2c], 0x3d5a53e0
cmp ecx, dword [ebp - 0x28]
jb 0x48f070
nop
xchg esp, esp
sub esp, 4
mov dword [esp], 0x16a01a5b
add dword [esp], 0x197ea63a
add dword [esp], 0x3a9f06cb
xchg ebp, ebp
sub dword [esp], 0x168756e5
sub dword [esp], 0x50737f71
xor dword [esp], 0x1ccda17d
sub dword [esp], 0x1f0f5076
mov edx, edx
lea eax, [ebp - 0x2c]
push eax
push esi
call fcn.00485980
mov dword [esp - 0x30], 0x3d7ca663
add esp, 0xc
test eax, eax
sete bh
xchg ecx, ecx
cmp dword [ebp - 0x28], 2
jbe 0x48f3fe
push dword [ebp - 0x2c]
mov dword [esp - 0x14], esp
call fcn.00490c60
add esp, 4
jmp 0x48f3fe
test bl, bl
jne 0x48f3fe
mov dword [ebp - 0x1c], 0x97713b3
xor dword [ebp - 0x1c], 0x7d34c88e
mov ebx, ebx
sub dword [ebp - 0x1c], 0x9d2064
sub dword [ebp - 0x1c], 0x47cf1463
sub dword [ebp - 0x1c], 0x24344b92
add dword [ebp - 0x1c], 0x835e2be
mov dword [esp - 0x34], esp
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], 0x1d7d8613
add dword [ebp - 0x18], 0xed6e38d
sub dword [ebp - 0x18], 0xc814904
xchg edx, edx
add dword [ebp - 0x18], 0x482cafef
xor dword [ebp - 0x18], 0x1dcd3dcb
sub dword [ebp - 0x18], 0x3099c3ac
mov ecx, dword [ebp - 0x18]
mov dword [esp - 0x10], 0x7a888c82
nop
mov dword [esp - 4], 0x53b66ed
xor dword [esp - 4], 0x54accca0
xor dword [esp - 4], 0x11bc35e1
mov dword [esp - 0x40], ebx
xor dword [esp - 4], 0x6af293
sub dword [esp - 4], 0x146f17d2
xor dword [esp - 4], 0x35c164b4
xor dword [esp - 4], 0x1e1331c9
mov edi, edi
sub esp, 4
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov dword [esp - 0x2c], ebp
mov dword [ebp - 0x30], 0x7aeaf9a6
sub dword [ebp - 0x30], 0x9b63ec4
xor dword [ebp - 0x30], 0x42c1671e
mov dword [esp - 0x10], ebp
xor dword [ebp - 0x30], 0x41a3722c
add dword [ebp - 0x30], 0x3a437a0
sub dword [ebp - 0x30], 0xb5319de
mov dword [esp - 0x28], 0x32dfa4c6
sub dword [ebp - 0x30], 0x6aa7cd8a
call fcn.00490c90
xor ecx, ecx
mov dword [esp - 0x40], 0x1b4bbf95
add esp, 4
mov edx, eax
mov dword [ebp - 0x34], edx
mov esp, esp
cmp dword [ebp - 0x30], ecx
jbe 0x48f231
nop
mov dword [esp - 0x34], 0x5257eaf
movsx ax, byte [ebp + ecx - 0x4c]
mov word [edx + ecx*2], ax
inc ecx
mov ecx, ecx
cmp ecx, dword [ebp - 0x30]
jb 0x48f21f
nop
sub esp, 4
xchg ebx, ebx
mov dword [esp], 0x63eb9dff
sub dword [esp], 0x3c81e66b
add dword [esp], 0x32d64494
sub dword [esp], 0x12c840f1
mov dword [esp - 0x1c], 0x14dbc212
add dword [esp], 0x1cd9ff0
sub dword [esp], 0x3c245375
sub dword [esp], 0xd2107b1
lea eax, [ebp - 0x34]
mov ecx, ecx
push eax
push esi
call fcn.00485980
mov edi, edi
add esp, 0xc
mov edi, eax
cmp dword [ebp - 0x30], 2
xchg esp, esp
jbe 0x48f298
push dword [ebp - 0x34]
call fcn.00490c60
xchg edx, edx
add esp, 4
test edi, edi
jne 0x48f3e2
mov ebx, ebx
mov dword [ebp - 0x24], 0x7f47f399
sub dword [ebp - 0x24], 0x92d0d48
sub dword [ebp - 0x24], 0x5888c21b
add dword [ebp - 0x24], 0x3c542f3e
mov edi, edi
xor dword [ebp - 0x24], 0x753f6ed6
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], 0x200b3850
add dword [ebp - 0x20], 0xb27f394
xchg edx, edx
add dword [ebp - 0x20], 0x3991bdf5
sub dword [ebp - 0x20], 0x367b6e5d
sub dword [ebp - 0x20], 0x26e8a1dd
add dword [ebp - 0x20], 0x98f65f5
mov dword [esp - 0x14], ebp
add dword [ebp - 0x20], 0x3eabd42a
mov ecx, dword [ebp - 0x20]
nop
mov dword [esp - 4], 0x4dc015c2
mov dword [esp - 0xc], 0x574fad7
xor dword [esp - 4], 0x28f5bddc
add dword [esp - 4], 0x284078b
xor dword [esp - 4], 0x51988b3c
xor dword [esp - 4], 0x36212485
mov dword [esp - 0x38], 0x7cada789
sub esp, 4
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
mov dword [esp - 0x2c], 0x1c1eebac
mov dword [ebp - 0x38], 0x26042ad5
sub dword [ebp - 0x38], 0x20da7600
add dword [ebp - 0x38], 0x4859af4a
mov dword [esp - 0x28], esp
add dword [ebp - 0x38], 0x311fd52c
sub dword [ebp - 0x38], 0xcaf502e
sub dword [ebp - 0x38], 0x53e1b9da
sub dword [ebp - 0x38], 0x1e122f3b
mov dword [esp - 0x1c], edi
call fcn.00490c90
xor ecx, ecx
add esp, 4
mov edx, eax
mov dword [esp - 0x38], 0x633c704d
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x38], ecx
jbe 0x48f3ba
lea ecx, [ecx]
xchg edi, edi
movsx ax, byte [ebp + ecx - 0x54]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, dword [ebp - 0x38]
xchg edx, edx
jb 0x48f3a8
lea eax, [ebp - 0x3c]
mov ecx, esi
push eax
mov dword [esp - 0x2c], 0x6610adb4
call fcn.00484bc0
cmp dword [ebp - 0x38], 2
jbe 0x48f3e2
mov ebp, ebp
push dword [ebp - 0x3c]
call fcn.00490c60
add esp, 4
xchg ebx, ebx
mov edi, dword [ebp - 4]
mov bl, 0x4b
sub bl, 0x13
xor bl, 0x72
mov dword [esp - 0xc], 0x4eeba81b
xor bl, 0x74
add bl, 0x2e
sub bl, 0x6b
mov dword [ebp - 0x40], 0x4f5be321
mov dword [esp - 0x18], 0x1a2cb1f6
sub dword [ebp - 0x40], 0x325c7141
sub dword [ebp - 0x40], 0x14ba2139
xor dword [ebp - 0x40], 0x3424be8c
mov dword [esp - 0xc], edx
add dword [ebp - 0x40], 0x2bd61f6b
sub dword [ebp - 0x40], 0x68380d95
xor eax, eax
xchg ebx, ebx
lea ebx, [ebx]
movsx cx, byte [ebp + eax + 0xc]
mov word [ebp + eax*2 - 0x44], cx
xchg esp, esp
inc eax
cmp eax, dword [ebp - 0x40]
jb 0x48f43e
push esi
xchg esp, esp
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x5c]
push eax
mov edx, edx
call fcn.00484df0
mov ecx, dword [ebp + 8]
add esp, 0xc
push eax
xchg esp, esp
call fcn.004855c0
cmp dword [ebp - 0x58], 2
jbe 0x48f484
push dword [ebp - 0x5c]
mov esp, esp
call fcn.00490c60
add esp, 4
cmp dword [ebp - 0x40], 2
jbe 0x48f49b
mov dword [esp - 0x40], ecx
push dword [ebp - 0x44]
call fcn.00490c60
add esp, 4
mov esi, esi
add esi, 8
cmp esi, edi
jne 0x48ef57
mov dword [esp - 0x40], 0x341c1fe2
lea ecx, [ebp - 0x6c]
call fcn.00445310
mov eax, dword [ebp + 8]
mov ebx, ebx
pop edi
pop esi
pop ebx
mov ebp, ebp
mov esp, ebp
pop ebp
ret 8
mov byte [ebp + 8], 0x21
sub byte [ebp + 8], 6
add byte [ebp + 8], 0x4a
sub byte [ebp + 8], 0x5c
xchg edi, edi
add byte [ebp + 8], 0x5a
add byte [ebp + 8], 0xf
add byte [ebp + 8], 0x3b
xor ecx, ecx
mov dword [esp - 0x28], esi
mov dword [ebp - 0x40], 0x621f223a
xor dword [ebp - 0x40], 0x1de4a5a1
sub dword [ebp - 0x40], 0x38b4dc05
xor dword [ebp - 0x40], 0x236bff44
mov ecx, ecx
xor dword [ebp - 0x40], 0x72389b72
add dword [ebp - 0x40], 0x62d3be58
sub dword [ebp - 0x40], 0x78e98df7
xchg edx, edx
lea esp, [esp]
movsx ax, byte [ebp + ecx + 8]
mov word [ebp + ecx*2 - 0x44], ax
mov dword [esp - 0x38], ecx
inc ecx
cmp ecx, dword [ebp - 0x40]
jb 0x48f526
xchg ecx, ecx
push dword [ebp + 0xc]
lea eax, [ebp - 0x44]
push eax
xchg ebp, ebp
lea eax, [ebp - 0x5c]
push eax
call fcn.004850a0
add esp, 0xc
xchg esp, esp
mov ecx, ebx
push eax
call fcn.004855c0
xchg ebx, ebx
cmp dword [ebp - 0x58], 2
jbe 0x48f571
push dword [ebp - 0x5c]
mov ecx, ecx
call fcn.00490c60
add esp, 4
cmp dword [ebp - 0x40], 2
mov dword [esp - 0x44], edi
jbe 0x48f588
push dword [ebp - 0x44]
call fcn.00490c60
add esp, 4
xchg ebp, ebp
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
mov dword [esp - 0x38], 0x14f49678
ret 8