Function at 0x4508e0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0
mov ecx, 0
xor eax, ecx
xor eax, ebx
mov ecx, 4
sub esp, ecx
mov ecx, esp
mov edx, ecx
mov dword [edx], eax
xor edx, edx
add edx, edi
push 0xc6eb4044
mov eax, 0x3914bfb8
pop ebx
xor eax, ebx
add esp, eax
mov dword [esp], edx
mov edi, 0x32e8d021
mov edx, 0x32e8d021
xor edx, edi
xor edx, esi
push edx
pop ecx
add esp, 0xfffffffc
mov eax, esp
mov dword [eax], ecx
call fcn.00450f43
mov esi, 0x1309c0b
xor esi, 0x1309c09
add ebx, esi
push 0xde3995bd
mov eax, 0x21c66a41
pop ecx
xor eax, ecx
add esp, eax
xor edx, edx
add edx, esp
mov dword [edx], ebx
mov ebx, 0x40001010
mov eax, 0x2a00a206
xor ebx, eax
push ebx
mov eax, 0x5f9f1fd8
mov edx, 0x312788db
xor edx, eax
pop edi
xor edx, edi
mov eax, edx
push eax
mov edi, 0x2ac0f4e0
xor edi, 0xa36496d
mov ecx, 0x4a9098
mov edx, 0x24040800
xor ecx, edx
xor ecx, edi
pop esi
xor ecx, esi
xor edx, edx
add edx, ecx
mov edi, edx
add esp, 0xfffffffc
mov dword [esp], edi
push 0x73b06bde
mov edx, 0x11b17bd6
pop eax
xor edx, eax
push 0x8f6c609
mov edi, 0x1876c20a
pop eax
xor edi, eax
xor edx, edi
mov eax, edx
push eax
mov edi, 0x42009030
mov eax, 0x10102182
xor edi, eax
mov ebx, 0x430401c1
mov eax, 0xfac814
xor ebx, eax
xor ebx, edi
pop esi
xor ebx, esi
mov edi, 0xfffffffc
add esp, edi
xor eax, eax
add eax, esp
mov dword [eax], ebx
mov ebx, 0xd703363
xor ebx, 0x4f01134f
mov ecx, 0x61505408
xor ebx, ecx
xor ebx, 0x45c7c7a4
add esp, 0xfffffffc
mov ecx, esp
mov dword [ecx], ebx
push 0x4d527d6f
mov ecx, 0x423a37c0
pop edx
xor ecx, edx
mov edi, 0x6e07bb4b
mov esi, 0x46e52311
xor esi, edi
xor esi, ecx
pop eax
xor esi, eax
xor edx, edx
add edx, esi
add esp, 0xfffffffc
mov dword [esp], edx
mov edi, 0x7985ef5c
mov esi, 0x3ba5be39
xor esi, edi
mov edx, 0x80812
mov edi, 0x5800200
xor edx, edi
xor esi, edx
push 0x66b3148
mov ebx, 0x35b10369
pop edx
xor ebx, edx
xor esi, ebx
mov eax, 4
sub esp, eax
mov ecx, 0
xor ecx, esp
mov dword [ecx], esi
mov ecx, 0x3ca8c8ab
xor ecx, 0x55c14250
mov ebx, 0x601cc2
xor ecx, ebx
xor ecx, 0x75a50bcc
mov edx, 0x148880d5
mov eax, 0x8241d20
xor edx, eax
xor ecx, edx
xor esi, esi
add esi, ecx
add esp, 0xfffffffc
mov dword [esp], esi
push 0x2497939a
mov eax, 0x6fe5e702
pop edi
xor eax, edi
mov esi, eax
xor esi, 0xffffffff
and esi, 0x49711898
and eax, 0xb68ee767
or eax, esi
mov ebx, 0x13420904
mov ecx, 0x48200020
xor ebx, ecx
mov edi, ebx
xor edi, 0xffffffff
and edi, 0x6b520941
and ebx, 0x94adf6be
or ebx, edi
xor eax, ebx
mov esi, eax
mov edx, esi
mov edi, edx
push edi
mov edx, 0x4fa131f4
mov ebx, 0x37ca5606
xor ebx, edx
mov ecx, 0x500002ab
mov edx, 0x20092050
xor ecx, edx
xor ecx, ebx
push 0x108503d4
mov edx, 0x1d7a63ab
pop ebx
xor edx, ebx
push edx
mov eax, 0x4766ddce
xor eax, 0x2c899df3
pop edi
xor eax, edi
xor ecx, eax
mov edx, 4
sub esp, edx
mov edx, esp
mov ebx, edx
mov dword [ebx], ecx
xor ebx, ebx
add ebx, esp
mov ecx, 4
sub esp, ecx
mov eax, esp
mov edx, eax
mov dword [edx], ebx
mov eax, dword [esp + 0x34]
call eax
mov ecx, 0x68fcbf2d
mov ebx, 0x6ec20b4d
xor ebx, ecx
mov esi, 0xb0165c10
xor ebx, esi
xor ebx, 0x49d71784
sub esp, ebx
mov edx, esp
mov ecx, edx
xor ebx, ebx
add ebx, ecx
mov esi, ebx
mov edi, 0xfffffffc
add esp, edi
mov dword [esp], esi
push 0x123a17a5
mov ecx, 0x123a17a1
pop edi
xor ecx, edi
sub esp, ecx
mov esi, esp
mov edi, esi
mov ebx, 0
xor ebx, edi
mov dword [ebx], eax
mov ebx, dword [esp + 0x30]
call ebx
push 0x3991134c
mov ebx, 0x345c59bc
pop ecx
xor ebx, ecx
mov ecx, 0x27d507f9
xor ebx, ecx
xor ebx, 0x2a184d19
add esp, ebx
push 0x4f59577d
mov edi, 0x44979c95
pop ebx
xor edi, ebx
mov ebx, 0x4cc33828
xor edi, ebx
mov ecx, edi
mov ebx, ecx
mov ecx, ebx
xor ecx, 0xffffffff
and ecx, 0xffffffff
and ebx, 0
or ebx, ecx
and ebx, 0x470df380
and edi, 0xb8f20c7f
or edi, ebx
xor ebx, ebx
add ebx, edi
mov ecx, 4
sub esp, ecx
mov dword [esp], ebx
push 0x685c6f62
mov ecx, 0x34539e09
pop edx
xor ecx, edx
mov esi, ecx
xor esi, 0xffffffff
and esi, 0x5c0ff16b
and ecx, 0xa3f00e94
or ecx, esi
mov esi, 0xa000598
mov edi, 0x409800
xor esi, edi
push esi
mov ebx, 0xfc0527d
xor ebx, 0x580dfe5
pop edx
xor ebx, edx
xor ecx, ebx
mov edx, 0
xor edx, ecx
mov esi, 4
sub esp, esi
mov dword [esp], edx
push 0x453833c1
mov esi, 0x57143914
pop edi
xor esi, edi
mov edi, 0x5f2e278e
mov ecx, 0x5f7f278e
xor ecx, edi
xor esi, ecx
mov edi, esi
add esp, 0xfffffffc
mov dword [esp], edi
mov ebx, 0x179e7748
xor ebx, 0x18719169
mov esi, 0x1d92548e
xor ebx, esi
pop edx
xor ebx, edx
add esp, 0xfffffffc
mov ecx, esp
mov dword [ecx], ebx
mov esi, 0x48c23b5b
xor esi, 0x3b11b5b5
push esi
mov edx, 0x1a71809b
mov esi, 0x40885804
xor edx, esi
pop edi
xor edx, edi
add esp, 0xfffffffc
mov esi, esp
mov dword [esi], edx
mov esi, 0x44b6f646
xor esi, 0x3880cea0
push esi
mov edx, 0x83e20f8
mov ebx, 0x5d224e6f
xor ebx, edx
pop edi
xor ebx, edi
pop ecx
xor ebx, ecx
mov esi, 0xfffffffc
add esp, esi
mov esi, esp
mov edx, esi
mov dword [edx], ebx
call eax
pop esi
xor edi, edi
add edi, eax
mov ebx, edi
push ebx
pop eax
push 0x86a73f25
mov edx, 0x7958c0d9
pop ebx
xor edx, ebx
add esp, edx
mov dword [esp], eax
mov ebx, esi
push ebx
pop eax
mov ecx, 0x143b2851
mov ebx, 0x143b2855
xor ebx, ecx
sub esp, ebx
mov dword [esp], eax
mov ebx, 0x79ee2a82
xor ebx, 0x29e16fd
mov eax, 0x7b703d7f
xor ebx, eax
add esi, ebx
mov eax, 0xf90aebc
xor eax, 0x6db814d6
push eax
mov edx, 0x1903da77
xor edx, 0x7b2b402d
pop ecx
xor edx, ecx
mov eax, 0x10500b05
mov ecx, 0x8000040
xor eax, ecx
push 0x1a63a13
mov ebx, 0x19f6a916
pop ecx
xor ebx, ecx
xor ebx, eax
xor edx, ebx
xor eax, eax
add eax, edx
mov ecx, eax
push ecx
mov al, byte [esi]
mov byte [edi], al
push 0x4eff5169
mov eax, 0x7733fdc
pop ecx
xor eax, ecx
push 0xd6d7bbf3
mov ebx, 0x60a42ab9
pop ecx
xor ebx, ecx
xor ebx, eax
sub esi, ebx
push 0x375c2832
mov eax, 0x4be38635
pop ebx
xor eax, ebx
mov ecx, 0x834051f8
xor eax, ecx
sub edi, eax
pop edx
dec edx
add esp, 0xfffffffc
mov ebx, esp
mov dword [ebx], edx
pop eax
xor ebx, ebx
add ebx, eax
mov ecx, ebx
add esp, 0xfffffffc
mov dword [esp], ecx
push 0x2802c6bb
mov ebx, 0x151157be
pop eax
xor ebx, eax
mov eax, 0x3d139105
xor ebx, eax
xor ebx, edx
add ebx, edx
jne 0x450d51
pop edi
push 0x68fbe55e
mov eax, 0x4b9c75f6
pop edx
xor eax, edx
mov edx, 0x1a0063aa
mov esi, 0x12004be8
xor esi, edx
xor eax, esi
mov edx, eax
push edx
mov edx, 0x47150c15
mov esi, 0x381e2bc7
xor esi, edx
mov ebx, 0x14440308
mov edx, 0x40282440
xor ebx, edx
xor ebx, esi
pop ecx
xor ebx, ecx
pop edi
pop ecx
mov edx, 0x35a5b137
xor edx, 0xbfb58be6
push edx
mov esi, 0x5c8bc6e
xor esi, 0x7027c12e
pop eax
xor esi, eax
sub ecx, esi
mov edx, ebx
mov eax, edx
mov esi, 0
xor esi, eax
mov eax, 0x44550c42
xor eax, 0x44550c46
sub esp, eax
mov dword [esp], esi
mov esi, 0
mov eax, 0
xor esi, eax
xor esi, edi
mov edx, 0
xor edx, esi
mov eax, edx
add esp, 0xfffffffc
mov dword [esp], eax
push 0x5bcedb19
mov edx, 0x5bcedb1d
pop esi
xor edx, esi
sub esp, edx
mov edx, esp
push edx
pop eax
mov dword [eax], ecx
xor ebx, ebx
mov bl, byte [ecx]
add edi, ebx
mov bl, byte [edi]
pop ecx
pop edi
mov byte [ecx], bl
dec ecx
pop ebx
mov esi, 0x1bedb8b2
mov edx, 0xe412474d
xor edx, esi
add ebx, edx
mov eax, 0x39544e9c
xor eax, 0x2ee63c09
mov edx, eax
xor edx, 0xffffffff
and edx, 0x17b27295
and eax, 0xe84d8d6a
or eax, edx
xor eax, ebx
add eax, ebx
jne 0x450e17
mov edi, 0x4d2fa308
xor edi, 0x8e42b160
push edi
push 0x7390e3
mov esi, 0x3ce17d74
pop edi
xor esi, edi
pop edx
xor esi, edx
sub ecx, esi
mov eax, ecx
mov ebx, eax
push ebx
pop edx
mov esi, 0
xor esi, edx
mov edi, esi
push edi
pop eax
pop esi
mov edx, 0x360fb25a
mov ebx, 0x544c768a
xor ebx, edx
mov edx, ebx
xor edx, 0xffffffff
and edx, 0x45d14df5
and ebx, 0xba2eb20a
or ebx, edx
mov edx, ebx
add esp, 0xfffffffc
mov dword [esp], edx
mov ebx, 0x7b58d668
xor ebx, 0x199046b7
push ebx
mov edi, 0x66d12e4f
xor edi, 0x94441f9
pop edx
xor edi, edx
pop ecx
xor edi, ecx
pop edi
mov edx, 0x4bb32859
xor edx, 0x656afb6
push edx
push 0x50ef5e31
mov ebx, 0x307a0201
pop edx
xor ebx, edx
pop ecx
xor ebx, ecx
pop ebx
jmp eax