Function at 0x442750
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov dword [esp - 0x14], ecx
sub esp, 0x24
mov eax, dword [ebp + 8]
push ebx
mov dword [esp - 0x20], esp
lea ebx, [ecx + 0x7c]
mov dword [ebp - 8], ecx
push esi
mov dword [eax], 0x42e6a2c
mov dword [esp - 0x14], ebx
add dword [eax], 0x5e079e9d
sub dword [eax], 0x2676acb1
xor dword [eax], 0x7db900f7
add dword [eax], 0x1782ed25
mov dword [esp - 0x3c], 0x260fc497
add dword [eax], 0x12f362c3
xor dword [eax], 0x707cacd7
mov dword [eax + 4], 0x5c8d05e
mov esi, esi
xor dword [eax + 4], 0x1ab32ce9
add dword [eax + 4], 0x30a2eb19
add dword [eax + 4], 0x2d81e408
sub dword [eax + 4], 0x4d082b51
mov dword [esp - 0x38], 0x4cc4a82e
xor dword [eax + 4], 0x3098a087
mov dword [eax + 8], 0x31e93a8b
xor dword [eax + 8], 0x2a8c9b15
xor dword [eax + 8], 0x4f9d3cf6
mov dword [esp - 0x1c], 0x276bdb60
xor dword [eax + 8], 0x6a36f6a2
xor dword [eax + 8], 0x7971f8a0
xor dword [eax + 8], 0x26329533
xchg esi, esi
xor dword [eax + 8], 0x618d0659
mov dword [eax + 0xc], 0x594496fe
xor dword [eax + 0xc], 0x2c29df5c
sub dword [eax + 0xc], 0x639ddee8
mov ebx, ebx
add dword [eax + 0xc], 0x46a19725
sub dword [eax + 0xc], 0x106e815d
sub dword [eax + 0xc], 0x48028081
mov eax, dword [ebx + 4]
mov dword [esp - 0x28], 0x4b88140a
mov dword [ebp - 4], eax
push edi
cmp eax, 2
jbe 0x442854
mov dword [esp - 0x34], edi
mov ebx, dword [ebx]
xor ecx, ecx
inc eax
mov dword [esp - 0x3c], ebp
mov edx, 0x54164d7b
add edx, 0x17f4b437
xor edx, 0x3523c7d4
add edx, 0x1bf4f24c
mov ebp, ebp
sub edx, 0x751db8b0
mul edx
seto cl
mov dword [esp - 0x20], 0x4a95d6c2
neg ecx
or ecx, eax
push ecx
mov edi, edi
call fcn.0048b720
mov esi, eax
add esp, 4
mov dword [esp - 0x2c], ecx
mov eax, dword [ebp - 4]
xor edi, edi
mov dword [ebp - 0x14], esi
test eax, eax
xchg esi, esi
je 0x44290e
mov edx, esi
sub ebx, esi
mov esi, eax
mov ecx, ecx
mov ecx, edi
lea edx, [edx + 2]
and ecx, 3
mov eax, 0x8efed9c
xchg edi, edi
add eax, 0x361b1d4b
add eax, 0x37cf45ea
sub eax, 0x4f8b3098
mov dword [esp - 0x44], 0x4823d966
add eax, 0x582b1069
sub eax, 0x2271025b
add eax, 0x1674f5f9
xchg esi, esi
shl ecx, 3
inc edi
sar eax, cl
mov dword [esp - 0x34], edx
cbw
xor ax, word [ebx + edx - 2]
mov word [edx - 2], ax
mov dword [esp - 0x14], esp
cmp edi, esi
jb 0x4428b2
mov esi, dword [ebp - 0x14]
mov edx, edx
mov eax, dword [ebp - 4]
xor ecx, ecx
mov dword [ebp - 0xc], esi
mov dword [esp - 0x3c], 0x66b79c2a
mov word [esi + eax*2], cx
mov edi, esi
cmp word [esi], cx
mov ecx, ecx
je 0x442cbc
mov esi, dword [ebp + 8]
nop
mov esi, esi
sub esp, 4
mov dword [esp], 0x23b01c5b
add dword [esp], 0x49fa3410
mov dword [esp - 0x14], ebx
xor dword [esp], 0x22c4251a
xor dword [esp], 0x41a9e662
sub dword [esp], 0xec79309
push edi
mov dword [esp - 0x38], edx
call fcn.0048c060
add esp, 8
mov dword [ebp - 4], eax
test eax, eax
mov ecx, ecx
je 0x442980
mov ebx, eax
sub ebx, edi
mov dword [esp - 0x44], 0x1d5fa665
jmp 0x442996
mov ebx, edi
lea ecx, [ebx + 2]
mov ax, word [ebx]
mov esi, esi
add ebx, 2
test ax, ax
jne 0x442985
mov ebp, ebp
sub ebx, ecx
sar ebx, 1
xor ecx, ecx
mov edx, 0x6dbf23d0
mov ecx, ecx
sub edx, 0x4172cb0c
add edx, 0xd95d53b
xor edx, 0x66989a1c
add edx, 0x101c3b1b
mov dword [esp - 0x30], ebx
sub edx, 0x6f96f2fc
lea edi, [ebx + 1]
mov eax, edi
mul edx
xchg ecx, ecx
seto cl
neg ecx
or ecx, eax
mov dword [esp - 0x18], ebp
push ecx
call fcn.0048b720
push ebx
push dword [ebp - 0xc]
mov ebp, ebp
mov ebx, eax
mov dword [ebp - 0x10], eax
push edi
mov ebx, ebx
push ebx
call fcn.0048c140
mov eax, dword [ebp - 8]
add esp, 0x14
xchg esp, esp
cmp byte [eax + 0x90], 0
je 0x442b03
lea ecx, [ecx]
lea ecx, [ebp - 0x24]
mov dword [esp - 0x2c], esp
push ecx
mov ecx, eax
call fcn.0045b510
mov edi, edi
mov ecx, dword [ebp + 0xc]
mov edi, eax
push ebx
call fcn.0043bd00
mov dword [esp - 0x20], esp
cmp eax, dword [edi]
jle 0x442b03
nop
mov esi, esi
sub esp, 4
mov dword [esp], 0x596f73c2
xor dword [esp], 0x428160b6
xchg esp, esp
sub dword [esp], 0x4db66f8
add dword [esp], 0x5b92154f
sub dword [esp], 0x5c5a8e8e
mov edi, edi
sub dword [esp], 0xe2f899d
sub dword [esp], 0x81aa980
push ebx
call fcn.0048c220
mov dword [esp - 0x28], ecx
add esp, 8
test eax, eax
jne 0x442aac
mov dword [esp - 0x20], esi
mov eax, ebx
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
mov ebx, ebx
add eax, 2
test cx, cx
jne 0x442a88
mov dword [esp - 0xc], esp
sub eax, edx
sar eax, 1
cmp eax, 1
mov dword [esp - 0x1c], edx
jbe 0x442ade
dec eax
lea eax, [ebx + eax*2]
xchg ecx, ecx
xor ecx, ecx
mov word [eax], cx
sub eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword [esp - 0x20], 0xddfe64c
sar eax, 1
lea eax, [ecx + eax*2]
mov dword [ebp - 4], eax
mov edx, edx
mov eax, dword [ebp - 8]
cmp byte [eax + 0x90], 0
jne 0x442a09
mov dword [esp - 0x2c], ebp
jmp 0x442b03
mov dword [ebp - 4], 0x6e4e1507
xor dword [ebp - 4], 0x7e8bc2fa
add dword [ebp - 4], 0x3237e388
add dword [ebp - 4], 0x10c975a4
mov esi, esi
sub dword [ebp - 4], 0x53c73129
mov edi, ebx
mov dword [ebp - 0x1c], 0x3f0bbb22
add dword [ebp - 0x1c], 0x3d59b9e6
xchg ebx, ebx
xor dword [ebp - 0x1c], 0x3005c560
sub dword [ebp - 0x1c], 0x324f5999
add dword [ebp - 0x1c], 0xc21bd65
mov dword [esp - 0x20], esp
sub dword [ebp - 0x1c], 0x26331434
lea ecx, [edi + 2]
jmp 0x442b3d
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x442b3d
mov dword [esp - 0x28], 0x7666929
sub edi, ecx
lea edx, [ebp - 0x1c]
sar edi, 1
mov dword [ebp - 0x18], edi
xchg edi, edi
cmp edi, 2
jbe 0x442bad
xor ecx, ecx
mov eax, edi
mov dword [esp - 0x30], edx
mov edx, 0x55abf538
add edx, 0xcfaec4b
add edx, 0xa8fa42e
mov dword [esp - 0x14], ebx
add edx, 0x4a5e1fb
add edx, 0xa6975e
xor edx, 0x7282ff08
xchg esi, esi
mul edx
seto cl
neg ecx
mov ecx, ecx
or ecx, eax
push ecx
call fcn.0048b720
mov edx, eax
mov esp, esp
add esp, 4
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0xc], 0x440b5e80
mov ebx, ebx
xor dword [ebp - 0xc], 0x5e77a818
sub dword [ebp - 0xc], 0xbb54d05
add dword [ebp - 0xc], 0x330fb7dd
xchg ebx, ebx
add dword [ebp - 0xc], 0xc6e2a9f
sub dword [ebp - 0xc], 0x4e458c0f
test edi, edi
mov dword [esp - 0x40], 0x71168f1b
je 0x442c5c
mov edi, ebx
mov ebx, dword [ebp - 0xc]
sub edi, edx
mov dword [esp - 0x30], 0x36e6b9ca
lea esp, [esp]
mov ecx, ebx
lea edx, [edx + 2]
mov dword [esp - 0x40], 0x1d3b6dcf
and ecx, 3
mov eax, 0x1409092f
sub eax, 0x198da3f
mov dword [esp - 0x34], 0x2ebac0ee
xor eax, 0x736d891b
add eax, 0x2de664a
xor eax, 0x20703c85
mov dword [esp - 0x20], ebx
sub eax, 0x15c1462a
add eax, 0x45b337ba
shl ecx, 3
inc ebx
mov dword [esp - 0x28], 0x71d5cfa1
sar eax, cl
cbw
xor ax, word [edi + edx - 2]
mov word [edx - 2], ax
mov edx, edx
cmp ebx, dword [ebp - 0x18]
jb 0x442bfa
mov ebx, dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
xchg edi, edi
mov ecx, esi
push eax
call fcn.00442250
cmp dword [ebp - 0x18], 2
mov ebp, ebp
jbe 0x442c80
push dword [ebp - 0x1c]
call fcn.0048b6f0
add esp, 4
mov dword [esp - 0x1c], esi
push ebx
call fcn.0048b6f0
mov eax, dword [ebp - 4]
add esp, 4
mov dword [esp - 0x30], ebx
test eax, eax
je 0x442cb9
mov ecx, dword [ebp - 8]
mov esp, esp
cmp byte [ecx + 0x90], 0
je 0x442cb9
cmp word [eax + 2], 0
xchg ebx, ebx
lea edi, [eax + 2]
mov dword [ebp - 0xc], edi
jne 0x44292f
mov dword [esp - 0x24], ecx
mov esi, dword [ebp - 0x14]
push esi
call fcn.0048b6f0
xchg edx, edx
mov eax, dword [ebp + 8]
add esp, 4
pop edi
mov esp, esp
pop esi
pop ebx
mov esp, ebp
mov dword [esp - 0x1c], edx
pop ebp
ret 8