Function at 0x4859e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0
push ebx
mov dword [esp - 0x38], 0x160cc37b
push esi
push edi
sub esp, 4
mov dword [esp - 0x14], esp
mov dword [esp], 0x5a1eaa09
sub dword [esp], 0x42faa3d7
xor dword [esp], 0x6818e2d7
mov dword [esp - 0x28], esi
sub dword [esp], 0x5432e81f
sub dword [esp], 0x2b09fc46
lea eax, [ebp - 0xc0]
mov dword [ebp - 0x40], ecx
mov dword [esp - 0x3c], edi
nop
sub esp, 4
mov dword [esp], 0x1b95f586
xchg ecx, ecx
add dword [esp], 0x10e798fe
sub dword [esp], 0x4e42cee
add dword [esp], 0x5410c329
xor dword [esp], 0x29a50514
mov dword [esp - 0x18], 0x217ba6b3
sub dword [esp], 0x520f21ab
push eax
call fcn.0048bba0
nop
xchg ecx, ecx
mov dword [esp - 4], 0x185d276a
add dword [esp - 4], 0x104f7a71
add dword [esp - 4], 0xbc8b15
xchg esi, esi
xor dword [esp - 4], 0x786140f8
xor dword [esp - 4], 0x1d5484e
sub dword [esp - 4], 0x50dd23de
mov dword [esp - 0x18], edi
sub esp, 4
mov dword [ebp - 0x3c], 0x540aa05
add dword [ebp - 0x3c], 0x8734790
sub dword [ebp - 0x3c], 0xbc390bd
mov dword [esp - 0x30], 0x49bd69e0
add dword [ebp - 0x3c], 0x4710b1ce
add dword [ebp - 0x3c], 0x3148364a
sub dword [ebp - 0x3c], 0x2a24d883
xor dword [ebp - 0x3c], 0x4739364c
mov ebp, ebp
mov dword [ebp - 0x38], 0x662d9a7e
xor dword [ebp - 0x38], 0x7f7b3bb6
xor dword [ebp - 0x38], 0x2c0bd650
mov esp, esp
add dword [ebp - 0x38], 0xa4d19c0
sub dword [ebp - 0x38], 0x24914f33
mov dword [ebp - 0x34], 0x3c0222f2
mov dword [esp - 0x30], ebp
add dword [ebp - 0x34], 0x2add9a89
xor dword [ebp - 0x34], 0x699d0ffc
xor dword [ebp - 0x34], 0x3a8209f4
mov dword [esp - 0x3c], 0x3aaa0e0c
xor dword [ebp - 0x34], 0x418158a2
xor dword [ebp - 0x34], 0x4db43ac0
sub dword [ebp - 0x34], 0x1ae08ae8
mov dword [ebp - 0x30], 0x25ca3ffc
mov dword [esp - 0x1c], 0x72ff483a
add dword [ebp - 0x30], 0x4d2db45f
sub dword [ebp - 0x30], 0x4246fd79
xor dword [ebp - 0x30], 0x535bff09
sub dword [ebp - 0x30], 0x60d9bfbe
xchg ebp, ebp
mov dword [ebp - 0x2c], 0x48655abb
sub dword [ebp - 0x2c], 0x3d2e30c
xor dword [ebp - 0x2c], 0x7a9e5de
add dword [ebp - 0x2c], 0x35f52dc6
mov dword [esp - 0x20], 0x386037fa
xor dword [ebp - 0x2c], 0x7e3d9606
mov dword [ebp - 0x28], 0x7c9bbdcf
sub dword [ebp - 0x28], 0x132c36e6
mov ebp, ebp
sub dword [ebp - 0x28], 0x17bdb847
sub dword [ebp - 0x28], 0x1d90844e
xor dword [ebp - 0x28], 0x3f281861
mov dword [ebp - 0x24], 0x2322ab45
mov dword [esp - 0x10], ecx
xor dword [ebp - 0x24], 0x1b928143
xor dword [ebp - 0x24], 0x2eb1d99b
add dword [ebp - 0x24], 0x50c065e3
mov dword [esp - 0x2c], 0x16d986f2
xor dword [ebp - 0x24], 0x154e384b
sub dword [ebp - 0x24], 0x63fe0e7
sub dword [ebp - 0x24], 0x3c0d22ab
mov dword [esp - 0x3c], 0x3f794fa9
mov dword [ebp - 0x20], 0x32c3186b
add dword [ebp - 0x20], 0x1ee178ca
sub dword [ebp - 0x20], 0x332a2e75
add dword [ebp - 0x20], 0x5cec8d75
mov esi, esi
xor dword [ebp - 0x20], 0x352f9fae
sub dword [ebp - 0x20], 0x190e0f98
mov dword [ebp - 0x1c], 0x18004df5
mov dword [esp - 0xc], esi
sub dword [ebp - 0x1c], 0x15f2a47e
add dword [ebp - 0x1c], 0x78f5a8dc
sub dword [ebp - 0x1c], 0x29ddd0e0
mov ebx, ebx
sub dword [ebp - 0x1c], 0x17ee156c
mov dword [ebp - 0x18], 0x7cfb50cf
sub dword [ebp - 0x18], 0x4994d7be
sub dword [ebp - 0x18], 0x1469d37b
mov edi, edi
add dword [ebp - 0x18], 0x40250f34
xor dword [ebp - 0x18], 0x20471b49
sub dword [ebp - 0x18], 0x42334778
mov dword [ebp - 0x14], 0x1047f595
mov dword [esp - 0x38], esp
sub dword [ebp - 0x14], 0xc19874c
xor dword [ebp - 0x14], 0x32820037
sub dword [ebp - 0x14], 0x1f88e658
add dword [ebp - 0x14], 0x13c1235a
mov dword [esp - 0x28], ebp
xor dword [ebp - 0x14], 0xbcbdf8f
mov dword [ebp - 0x10], 0x452ccdd1
add dword [ebp - 0x10], 0x24a92084
xor dword [ebp - 0x10], 0x17d44bf2
xchg ebp, ebp
sub dword [ebp - 0x10], 0x4ef8f3aa
sub dword [ebp - 0x10], 0x9dd41ea
mov dword [ebp - 0xc], 0x595cd485
xor dword [ebp - 0xc], 0x700049c2
xchg ebx, ebx
xor dword [ebp - 0xc], 0x790e93f6
add dword [ebp - 0xc], 0x2dbbf8f8
xor dword [ebp - 0xc], 0x57297bbe
mov dword [ebp - 4], 0x4e4d8765
mov dword [esp - 0x44], 0xf2bf136
xor dword [ebp - 4], 0x5a6d4954
add dword [ebp - 4], 0x3584067f
sub dword [ebp - 4], 0x4479a234
xchg ecx, ecx
sub dword [ebp - 4], 0x52b3248
call fcn.0048b720
mov esi, dword [ebp - 4]
add esp, 0x10
mov dword [esp - 0x28], 0x1c1d1f68
mov edx, eax
xor ecx, ecx
mov dword [ebp - 8], edx
test esi, esi
xchg edi, edi
je 0x485d74
lea esp, [esp]
movsx ax, byte [ebp + ecx - 0x3c]
mov dword [esp - 0x38], 0x5842b89d
mov word [edx + ecx*2], ax
inc ecx
mov esi, dword [ebp - 4]
mov dword [esp - 0x40], ebx
cmp ecx, esi
jb 0x485d56
mov ebx, dword [ebp + 0xc]
xchg edi, edi
mov eax, 0x6455074f
xor eax, 0xa6cac70
sub eax, 0x1c411478
xor eax, 0x2a460d9b
mov dword [esp - 0x30], 0x22ea9753
sub eax, 0x45297c72
sub eax, 0x36951eab
cmp ebx, eax
mov dword [esp - 0x38], ecx
cmova ebx, eax
xor edi, edi
test ebx, ebx
mov dword [esp - 0x2c], esp
jle 0x485e9c
test esi, esi
jg 0x485dc3
xchg ebx, ebx
xor edx, edx
jmp 0x485e71
mov eax, dword [ebp - 0x40]
nop
sub esp, 4
mov dword [esp], 0x72e9c096
mov dword [esp - 0x20], ebp
add dword [esp], 0x1356298
sub dword [esp], 0xfa8fbdd
sub dword [esp], 0x3af41551
mov dword [esp - 0x20], ebp
xor dword [esp], 0x3a0ee41f
xor dword [esp], 0x9a89c1f
sub dword [esp], 0x1a2469fb
nop
mov ebx, ebx
mov dword [esp - 4], 0x6e497d99
sub dword [esp - 4], 0x12e2cbc8
sub dword [esp - 4], 0x12fdc182
xor dword [esp - 4], 0x4ea48151
xchg ecx, ecx
xor dword [esp - 4], 0x55ab8fda
sub dword [esp - 4], 0x8033c56
add dword [esp - 4], 0x938823ff
sub esp, 4
mov ebx, ebx
push dword [eax + 4]
push dword [eax]
call fcn.0048c9b0
xchg ecx, ecx
mov ecx, dword [ebp - 0x40]
add eax, 0xb
adc edx, 0
mov dword [ecx], eax
mov dword [esp - 0x10], esi
mov dword [ecx + 4], edx
shrd eax, edx, 0x10
and eax, 0x7fff
mov ecx, ecx
cdq
idiv esi
push edx
lea ecx, [ebp - 8]
xchg ebp, ebp
call fcn.00481bf0
mov esi, dword [ebp - 4]
mov word [ebp + edi*2 - 0xc0], ax
mov dword [esp - 0xc], ecx
inc edi
cmp edi, ebx
jl 0x485db6
mov dword [esp - 0x10], 0x2552b67e
mov ebx, dword [ebp + 8]
lea edx, [ebp - 0xc0]
lea ecx, [edx + 2]
mov dword [esp - 0x14], 0x2664442f
mov dword [ebx], 0x2ca611d6
xor dword [ebx], 0x12d261d7
add dword [ebx], 0x33de73c5
sub dword [ebx], 0x68f5428b
mov dword [esp - 0x18], 0x3e2ce9e9
xor dword [ebx], 0x65ded05d
xor dword [ebx], 0xdd62d00
xor dword [ebx], 0x61555c66
mov ax, word [edx]
mov dword [esp - 0x28], ecx
add edx, 2
test ax, ax
jne 0x485ee2
xchg esi, esi
sub edx, ecx
mov edi, ebx
sar edx, 1
mov dword [esp - 0x1c], ebx
mov dword [ebx + 4], edx
cmp edx, 2
jbe 0x485f49
mov edi, edi
xor ecx, ecx
mov eax, edx
mov edx, 0x6b052cc6
sub edx, 0x20a2694f
mov esi, esi
xor edx, 0x42e8f583
add edx, 0x551c635e
xor edx, 0x5da69a50
mul edx
mov ecx, ecx
seto cl
neg ecx
or ecx, eax
xchg edx, edx
push ecx
call fcn.0048b720
mov esi, dword [ebp - 4]
mov ecx, ecx
mov edi, eax
add esp, 4
mov dword [ebx], edi
xor edx, edx
xchg ecx, ecx
cmp dword [ebx + 4], edx
jbe 0x485fb2
lea esi, [ebp - 0xc0]
mov edi, edi
sub esi, edi
mov ecx, edx
lea edi, [edi + 2]
and ecx, 3
mov dword [esp - 0x24], esp
mov eax, 0x5d7351de
xor eax, 0xdb87985
sub eax, 0x220a8860
add eax, 0x1ac0ecd6
mov dword [esp - 0x18], 0x75df7576
xor eax, 0x4c440a6d
xor eax, 0x55794010
xor eax, 0x23c2e2ec
xchg edi, edi
shl ecx, 3
inc edx
sar eax, cl
xchg edx, edx
cbw
xor ax, word [esi + edi - 2]
mov word [edi - 2], ax
mov edx, edx
cmp edx, dword [ebx + 4]
jb 0x485f5c
mov esi, dword [ebp - 4]
cmp esi, 2
mov dword [esp - 0x2c], ecx
jbe 0x485fce
push dword [ebp - 8]
call fcn.0048b6f0
mov dword [esp - 0x14], 0x2ea1ec23
add esp, 4
pop edi
pop esi
mov eax, ebx
mov dword [esp - 0x24], ebx
pop ebx
mov esp, ebp
pop ebp
ret 8