Function at 0x45cdf8
Capabilities:
Encode data using xor

Disassembly:
push ebx
pop ecx
mov edx, ecx
xchg edx, eax
add esp, 0xfffffffc
mov ecx, esp
mov edx, ecx
mov dword [edx], eax
lea ebx, [edi]
add esp, 0xfffffffc
mov edx, esp
xchg ecx, edx
mov dword [ecx], ebx
mov edx, 0xfffffffc
add esp, edx
mov ebx, esp
mov dword [ebx], esi
xor edi, edi
add edi, 0x18
mov eax, edi
xchg ecx, eax
sub edx, edx
mov ebx, 0
sub edx, ebx
xor ecx, edx
mov edx, dword fs:[ecx]
xor esi, esi
or esi, 0x7d7ce3e7
shr esi, 4
mov ebx, 0xf82831f2
add esi, ebx
add edx, esi
mov eax, 0
xor eax, edx
mov ebx, eax
mov esi, ebx
mov ebx, 0xbe05609
shr ebx, 6
mov eax, 0x2f8175
xor eax, ebx
sub esi, eax
mov edi, dword [esi + 0x2d]
xor edx, edx
or edx, 0x5c60e18
shr edx, 7
xor eax, eax
add eax, 0xb8c10
xor eax, edx
add edi, eax
sub ebx, ebx
add ebx, dword [edi]
mov esi, 0x15db9f8e
mov edx, esi
shr edx, 2
mov esi, edx
xor esi, 0xffffffff
and esi, 0xfa891817
and edx, 0x576e7e8
jmp 0x46ba5d
xor ecx, 0xffffffff
and ecx, 0xffffffff
and edi, 0
or edi, ecx
and edi, 0xffffffff
and esi, 0
or esi, edi
and esi, 0x320033
and ebx, 0xffcdffcc
or ebx, esi
sub ebx, 0
je 0x45cf46
jmp 0x45cf0e
push esp
pop esi
add esi, 0xffffff9e
mov edx, dword [esi + 0x62]
mov esi, 0x56589993
shr esi, 5
xor esi, 0xfd4d3b30
sub esp, esi
pop edi
mov ebx, 0
mov ecx, 0
xor ebx, ecx
xor ebx, dword [edi]
mov edx, 0
xor edx, ebx
mov eax, 0
xor eax, edx
mov ecx, 0x18f64ba8
mov esi, 0xe709b454
xor ecx, esi
lea esp, [esp + ecx]
mov edi, esp
push edi
pop ebx
mov dword [ebx], eax
jmp 0x46ba7c
mov ecx, esp
xchg eax, ecx
dec eax
mov edi, dword [eax + 1]
jmp 0x46bb93
xor edx, 0xfee80de8
sub esp, edx
pop edx
mov esi, 0x165e4ee4
add esi, 3
push esi
xor ebx, ebx
add ebx, 0x597aa281
shr ebx, 2
mov eax, dword [esp]
sub esp, 0xfffffffc
xor ebx, eax
add edx, ebx
lea esp, [esp - 4]
mov esi, 0
xor esi, esp
xor eax, eax
add eax, esi
mov dword [eax], ecx
xor eax, eax
lea eax, [eax + edi]
add esp, 0xfffffffc
mov ebx, esp
mov dword [ebx], eax
push 0x55b0271
mov ebx, 0x2ad81389
shr ebx, 3
pop esi
xor ebx, esi
xor ebx, edx
mov esi, 4
sub esp, esi
mov eax, esp
mov dword [eax], ebx
xor ecx, ecx
mov cl, byte [edx]
lea edi, [edi + ecx]
mov cl, byte [edi]
xor esi, esi
add esi, esp
dec esi
mov edx, dword [esi + 1]
sub esp, 0xfffffffc
pop edi
mov byte [edx], cl
jmp 0x46bded
lea ebx, [eax]
lea edx, [ebx]
sub esp, 4
mov ecx, esp
mov dword [ecx], edx
call esi
xor ecx, ecx
sub ecx, 0x8bf953bd
shr ecx, 4
mov ebx, ecx
xor ebx, 0xffffffff
and ebx, 0xf8bf9534
and ecx, 0x7406acb
or ecx, ebx
sub esp, ecx
sub ecx, ecx
lea ecx, [ecx + eax]
mov esi, 0x683bcef1
shr esi, 6
xor esi, 0x1a0ef3f
sub esp, esi
mov dword [esp], ecx
call fcn.0045d255
mov edx, 0x4770f1d8
shr edx, 7
add edx, 0xff711e45
lea ebx, [ebx + edx]
mov edx, ebx
sub esp, 4
mov dword [esp], edx
mov edx, 0xade6c916
add edx, 0xffffffea
push edx
mov ecx, 0x636f6cd3
add ecx, 0xffffff99
push ecx
mov edx, 0x416c6167
add edx, 0xe
push edx
mov edi, 0x74726965
add edi, 0xfffffff1
push edi
mov ecx, 0x8e23ad64
sub ecx, 0x64
push ecx
mov eax, 0x32336ca5
jmp 0x45d08c
add eax, 0xffffffc0
push eax
mov esi, 0x6e726462
add esi, 0xe9
push esi
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x20]
xor ebx, ebx
add ebx, dword [esp + 0x20]
sub esi, esi
add esi, ebx
mov ebx, esp
push ebx
pop eax
add esp, 0xfffffffc
mov edx, 0
xor edx, esp
mov dword [edx], eax
call esi
mov edx, 0x49632e47
shr edx, 4
mov edi, 0xfb69cd10
xor edi, edx
sub esp, edi
mov esi, esp
xchg ecx, esi
xchg ecx, ebx
mov edx, 0x4a4b44c5
shr edx, 2
add edx, 0xed6d2ed3
sub esp, edx
mov dword [esp], ebx
mov ebx, eax
add esp, 0xfffffffd
add esp, 0xffffffff
mov dword [esp], ebx
sub ebx, ebx
add ebx, dword [esp + 0x20]
call ebx
mov ecx, 0xfce36765
add ecx, 0x2a
push ecx
xor edx, edx
add edx, 0x31c987f3
shr edx, 4
mov ebx, dword [esp]
add esp, 4
jmp 0x46baed
add edx, dword [ecx]
and edx, 0xff
xor edx, 0x6b
or edx, 0
je 0x45d17f
mov ebx, 0
mov eax, 0
xor ebx, eax
xor ebx, edx
mov esi, 0x5847c3fc
shr esi, 4
xor esi, 0xfa7b83c0
xor ebx, esi
and ebx, 0x20
and edx, 0xffffffdf
or edx, ebx
or edx, 0
jne 0x45cef2
pop ecx
xor edi, edi
or edi, 0x62973f7e
shr edi, 6
mov eax, 0x18a5d03
sub edi, eax
sub ecx, edi
xor edx, edx
add edx, ecx
add esp, 0xfffffffc
mov dword [esp], edx
xor edi, edi
add edi, 0x8278e63
shr edi, 2
xor edx, edx
sub edx, 0xfdf61c68
xor edx, edi
xor edx, dword [ecx]
and edx, 0xff
xor edx, 0x4e
mov esi, 0xfa13cd41
sub esi, 0xdc
push esi
mov eax, 0x2f619cd1
shr eax, 3
mov ebx, 0
xor ebx, dword [esp]
add esp, 4
jmp 0x46c079
shr eax, 1
pop edx
xor eax, edx
sub esp, eax
sub edx, edx
or edx, 0xafebbe1
shr edx, 7
xor eax, eax
or eax, 0x28e1b2ce
xor eax, edx
pop edi
mov eax, 0x683cf877
add eax, 0xffffff03
push eax
xor ecx, ecx
mov eax, 0xa9fef688
sub ecx, eax
shr ecx, 5
pop edx
xor ecx, edx
xor ebx, ebx
add ebx, dword [esp]
mov eax, 4
add esp, eax
ret
add edx, esi
xor ecx, ecx
add ecx, edx
mov edi, 0xfffffff0
sub ecx, edi
mov ebx, dword [ecx - 0x10]
sub esi, esi
add esi, ebx
mov edx, esp
add edx, 0xffffffd4
mov eax, 0x78269757
shr eax, 4
mov edi, 0xf87d968a
xor edi, eax
lea edx, [edx + edi]
mov ecx, dword [edx + 0x2d]
add esi, ecx
mov eax, 0x60943d49
mov edi, eax
shr edi, 1
mov ebx, 0x304a1edc
mov edx, ebx
xor edx, edi
add esi, edx
sub eax, eax
lea eax, [eax + esi]
sub eax, 0x28
mov ebx, 0x34
sub eax, ebx
lea eax, [eax - 1]
mov esi, dword [eax + 0x5d]
xor edi, edi
add edi, dword [esp]
lea esi, [esi + edi]
xor edx, edx
sub edx, 0xffffffe0
xor edi, edi
add edi, 0
xor edx, edi
lea esi, [esi + edx]
xor eax, eax
mov ecx, 0xc4669a48
sub eax, ecx
shr eax, 4
push 0xc4e2a3a4
jmp 0x46bea0
or edx, esi
sub ebx, edx
xor edi, edi
lea edi, [edi + ebx]
mov esi, 0x25e77bb9
shr esi, 4
mov eax, 0xfda18847
xor eax, esi
lea esp, [esp + eax]
mov dword [esp], edi
xor ecx, ecx
add ecx, dword [esp]
mov edx, ecx
xchg edi, edx
mov eax, 0x37734e47
shr eax, 4
add eax, 0xfc88cb20
lea esp, [esp + eax]
mov eax, edi
lea ebx, [eax]
mov edx, ebx
add esp, 0xfffffffc
mov dword [esp], edx
add esp, 0xfffffffc
mov ebx, esp
mov dword [ebx], edi
pop esi
mov ebx, 0xffffffdf
add esi, ebx
mov ebx, 0
mov ecx, 1
xor ebx, ecx
sub esi, ebx
mov eax, dword [esi + 0x22]
lea esi, [eax]
mov ebx, 0xffffffc0
add esi, ebx
mov edi, dword [esi + 0x40]
xor ebx, ebx
sub ebx, 0x959a64c5
shr ebx, 3
mov edx, 0xf2b34cb3
xor ebx, edx
sub edi, ebx
xor eax, eax
add eax, edi
jmp 0x46bf30
xor edx, ebx
sub esp, edx
mov esi, 0x19
add esi, 0x27
push esi
mov edx, 0x1036
add edx, 0xffffffca
push edx
mov ebx, 0xe6fd
add ebx, 0xffffff55
push ebx
mov ecx, 0x50
sub ecx, 0x50
push ecx
call eax
pop esi
add esp, 0xfffffffc
mov ecx, esp
mov dword [ecx], eax
mov ebx, dword [esp]
add esp, 4
sub edi, edi
lea edi, [edi + ebx]
sub eax, eax
lea eax, [eax + edi]
mov ecx, 0x1f0cc724
shr ecx, 1
xor ecx, 0xf866396
sub esp, ecx
mov dword [esp], eax
mov eax, esi
push eax
mov edx, dword [esp]
add esp, 4
lea eax, [edx]
mov ecx, 4
sub esp, ecx
mov dword [esp], eax
mov ebx, 0x30
mov ecx, 0
xor ebx, ecx
lea esi, [esi + ebx]
mov eax, 0xd0
mov ecx, 0
xor eax, ecx
lea esi, [esi + eax]
mov eax, 0xe5f4
jmp 0x46bcb8
sub esp, 0xfffffffc
xor eax, eax
or eax, 0x62140097
shr eax, 1
mov ecx, 0x4c128938
xor eax, ecx
xor eax, 0x7d188973
xor eax, dword [edi]
mov esi, eax
mov ebx, esi
xor edx, edx
add edx, ebx
mov edi, 0x27f2dde2
shr edi, 1
mov esi, 0x13f96eac
xor esi, edi
add edx, esi
mov ecx, dword [edx - 0x5d]
mov ebx, 0x18eb0d63
shr ebx, 4
xor ebx, 0x18eb0ce
lea ecx, [ecx + ebx]
mov edx, 0
xor edx, ecx
add edx, 0xffffffad
mov esi, 0xffffffff
add edx, esi
mov edi, dword [edx + 0x54]
mov edx, edi
sub esp, 4
mov dword [esp], edx
pop ebx
add esp, 0xfffffffe
add esp, 0xfffffffe
push 0x9320b6
mov eax, 0x49905b36
shr eax, 7
pop ecx
xor eax, ecx
xor eax, esp
mov dword [eax], ebx
xor edx, edx
add edx, ebx
mov esi, 0x18
mov ecx, 0x24
xor esi, ecx
jmp 0x46b9ca
mov edi, 0xffffffaf
add ecx, edi
mov ebx, dword [ecx + 0x51]
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
mov edi, eax
mov eax, edi
mov edx, eax
lea ecx, [edx]
add ebx, ecx
mov edi, ebx
mov edx, edi
xchg ecx, edx
mov eax, ecx
mov edi, eax
mov edx, edi
sub esp, 4
mov dword [esp], edx
mov ecx, dword [esi]
mov ebx, ecx
mov eax, ebx
mov edi, eax
mov ecx, edi
push ecx
pop esi
sub ebx, ebx
add ebx, dword [esp + 8]
add esi, ebx
sub ebx, ebx
add ebx, esi
add ebx, 0xfffffff0
mov ecx, dword [ebx + 0x10]
xor edi, edi
add edi, 0
mov eax, 0
xor edi, eax
xor edi, dword [esp + 8]
lea ecx, [ecx + edi]
xor edx, edx
add edx, 0x5047b972
shr edx, 7
mov eax, 0xe03740d5
xor edx, eax
xor edx, 0x1f68305c
sub ecx, edx
mov edx, ecx
jmp 0x46bd51
add eax, 0x54
push eax
mov bl, byte [esi]
mov byte [edi], bl
mov ecx, 0x1af59cb9
sub ecx, 0xab
push ecx
xor edx, edx
add edx, 0x6bd6703c
shr edx, 2
pop eax
xor edx, eax
add esi, edx
mov eax, 0x69a8bfaf
shr eax, 2
xor eax, 0xe595d014
sub edi, eax
pop edx
lea edx, [edx - 1]
xor eax, eax
lea eax, [eax + edx]
mov ebx, 0
xor ebx, eax
mov ecx, 4
sub esp, ecx
mov dword [esp], ebx
or edx, 0
jne 0x46bcc0
mov edx, 0x79934264
shr edx, 1
mov eax, 0x3cc9a132
xor eax, edx
xor eax, dword [esp]
mov ecx, 4
add esp, ecx
xor ecx, ecx
or ecx, 0xa208
sub edi, edi
mov eax, 0x4440
add edi, eax
xor ecx, edi
sub edi, edi
add edi, dword [esp]
mov edx, 0x22fe429f
shr edx, 5
jmp 0x45cf53
sub edx, 0xffffffc8
mov ecx, dword [edx - 0x38]
xor edi, edi
or edi, 0x5cafbe06
shr edi, 2
xor edx, edx
add edx, 0x13918602
xor edx, edi
xor ecx, edx
xor eax, eax
add eax, ecx
mov edi, 0xffffffff
xor eax, edi
and eax, 0x60fb0aec
and ecx, 0x9f04f513
or ecx, eax
sub ecx, 0
je 0x46bde3
mov edi, 4
add esi, edi
mov edx, esp
mov ecx, edx
dec ecx
mov ebx, dword [ecx + 1]
mov edi, 0x42f9f18b
shr edi, 2
add edi, 0xef4183a2
lea esp, [esp + edi]
xor eax, eax
or eax, 0x6471f1c0
shr eax, 5
mov ecx, 0xfcdc7070
add eax, ecx
sub ebx, eax
mov edx, 0x53ea0abf
shr edx, 3
add edx, 0xf582bead
sub esp, edx
mov edi, esp
push edi
pop ecx
mov dword [ecx], ebx
jmp 0x46bc77
pop edx
lea edi, [edx]
sub edx, edx
jmp 0x46bfce
mov esi, 0xde32420
shr esi, 1
add esi, 0xf90e6df1
sub edx, esi
mov eax, 0
xor eax, dword [esp]
mov ebx, eax
mov ecx, ebx
mov esi, 0x3ef9b1f8
shr esi, 5
add esi, 0xfe08326d
sub esp, esi
mov ebx, 0x3f369753
shr ebx, 4
add ebx, 0xfc7af30e
add ebx, 0xff91a37e
sub ecx, ebx
sub ecx, 0
jne 0x45cf7d
xor eax, eax
or eax, 0
xor edi, edi
add edi, 1
xor eax, edi
add edx, eax
sub eax, eax
add eax, edx
sub esp, 4
mov dword [esp], eax
mov edx, esp
mov eax, 0xffffffff
add edx, eax
mov ecx, dword [edx + 1]
mov eax, 0x6b26d83b
shr eax, 4
add eax, 0xf94d9281
lea esp, [esp + eax]
call ecx
sub ecx, ecx
or ecx, 0x34154d58
shr ecx, 3
sub eax, eax
add eax, 0x51086217
xor eax, ecx
sub esi, esi
add esi, dword [esp]
push 0xd9793fb4
mov eax, 0x4d0d8090
jmp 0x45d1e8
mov ecx, 0x7187849d
shr ecx, 3
pop edi
xor ecx, edi
xor eax, ecx
mov edx, 0x36943a90
xor eax, edx
lea eax, [eax + esi]
mov ecx, eax
mov ebx, ecx
mov edx, ebx
mov edi, edx
mov ecx, 0x771c0759
mov ebx, ecx
shr ebx, 5
mov ecx, 0x3b8e03a
mov eax, ecx
xor eax, ebx
xor eax, dword [edi]
mov ebx, esp
xchg edx, ebx
xchg edx, ecx
push 0xfec3c424
mov edx, 0x4f0ef6fc
shr edx, 6
pop ebx
xor edx, ebx
add ecx, edx
mov edi, dword [ecx + 1]
lea eax, [eax + edi]
xor edi, edi
lea edi, [edi + eax]
xor ebx, ebx
add ebx, edi
mov ecx, 0xfffffffc
add esp, ecx
mov dword [esp], ebx
sub ecx, ecx
or ecx, 0x16e68b27
shr ecx, 6
sub ebx, ebx
add ebx, 0x3bdaa8
add ebx, 0x1fbf80
xor ebx, ecx
add ebx, esi
xor ecx, ecx
lea ecx, [ecx + ebx]
jmp 0x46bc34
add eax, 0xc
mov ecx, 0x2ff02ef2
mov ebx, 0xd00fd10d
xor ecx, ebx
add eax, ecx
mov esi, dword [eax - 0xb]
and esi, 0xffff
xor eax, eax
add eax, 8
xor ecx, ecx
add ecx, 0x10
xor eax, ecx
xor esi, eax
sub ebx, ebx
mov eax, 0x3d2b59e0
add ebx, eax
shr ebx, 6
sub edx, edx
or edx, 0xf4ad67
xor edx, ebx
or edx, esi
jne 0x45cf0e
mov ecx, 4
mov edx, ecx
xor ebx, ebx
sub ebx, 0
xor edx, ebx
add edi, edx
mov edx, edi
mov esi, 0x16c3fe2e
shr esi, 6
xor esi, 0xffa4f01c
sub edx, esi
mov eax, 1
sub edx, eax
mov ecx, dword [edx - 0x1b]
mov edi, 0x1c24e03
shr edi, 5
add edi, 0xfff1ed94
sub esp, edi
push esp
pop edx
xchg esi, edx
mov dword [esi], ecx
sub edx, edx
jmp 0x45d12f
add edx, dword [edi]
and edx, 0xffff
lea edx, [edx + edx]
xor esi, esi
add esi, edx
lea edx, [edx + esi]
sub esi, esi
add esi, dword [esp]
add esp, 3
add esp, 1
lea esi, [esi + edx]
mov eax, 0x2a9fa3d0
shr eax, 5
xor eax, 0x154fd1e
xor eax, dword [esi]
sub esi, esi
lea esi, [esi + eax]
pop eax
lea esi, [esi + eax]
mov ecx, 0x496937ac
shr ecx, 5
xor ecx, 0xfdb4b641
lea esp, [esp + ecx]
xor edi, edi
add edi, esp
mov dword [edi], esi
mov edi, 0xb02c4534
add edi, 0xcc
push edi
mov edi, 0x41797248
add edi, 0x19
push edi
mov ebx, 0x726269a7
add ebx, 0xffffffa5
push ebx
mov edi, 0x64617039
sub edi, 0xed
push edi
push esp
pop edx
mov ebx, edx
mov ecx, 0x24d7f6b0
shr ecx, 5
add ecx, 0xfed94047
add esp, ecx
mov dword [esp], ebx
jmp 0x45cfd8
xor eax, ebx
test eax, edx
je 0x46c0c8
mov ebx, 0xdb8e8f5
mov eax, ebx
shr eax, 1
mov edi, 0x6dc745a
xor edi, eax
xor edx, edi
mov ebx, 0x58c0d09
add ebx, 0x2c
push ebx
xor edi, edi
mov esi, 0xe9cfcb2c
sub edi, esi
shr edi, 2
mov esi, esp
sub esi, 0x25
mov eax, dword [esi + 0x25]
add esp, 4
xor edi, eax
or edx, edi
jne 0x45cef2
pop esi
xor ebx, ebx
or ebx, 0x7412f58
shr ebx, 1
mov ecx, 0xb44bb497
xor ebx, ecx
xor ebx, 0x4814dcc1
sub esi, ebx
mov eax, esi
xchg edi, eax
xor ecx, ecx
add ecx, edi
mov eax, 0x68
add ecx, eax
mov edx, 0x7523f0c8
shr edx, 2
xor edx, 0x1d48fc33
sub ecx, edx
mov ebx, dword [ecx - 0x67]
xor esi, esi
add esi, ebx
lea edi, [esi]
mov ecx, edi
jmp 0x45ceb1