Function at 0x59d883
Capabilities:
Encode data using xor

Disassembly:
push dword [esp]
mov esi, dword [esp]
push ebx
mov ebx, esp
add ebx, 4
add ebx, 4
xchg dword [esp], ebx
pop esp
push ebx
mov ebx, esp
push 0x56587600
mov dword [esp], eax
push ebx
push 0x6ffe32eb
pop ebx
shr ebx, 7
push edx
mov edx, 0x5cf38bb9
neg edx
add edx, 0x7fee5d00
neg edx
inc edx
sub edx, 0x6e41e1d6
add ebx, edx
pop edx
mov eax, ebx
pop ebx
neg eax
add eax, 0x3d2e469d
sub eax, 0x1af1a05f
or eax, 0x7e370bab
add eax, 0x140a005
add ebx, 0x6eed176e
add ebx, eax
push ecx
push 0xeb50ba5
pop ecx
neg ecx
shr ecx, 3
or ecx, 0x34fe0dca
push edx
mov edx, 0x7aff8725
sub edx, 0x7b3d79a9
inc edx
sub edx, 0x6fefd751
not edx
shr edx, 2
sub edx, 0xa1100940
or ecx, edx
pop edx
or ecx, 0x7dfb1c8a
push ebp
mov ebp, 0x336f19f2
sub ebp, 0x225cb161
xor ecx, ebp
pop ebp
sub ebx, 0x27fe3600
sub ebx, ecx
add ebx, 0x27fe3600
pop ecx
pop eax
add ebx, 4
xchg dword [esp], ebx
mov esp, dword [esp]
sub esi, 0x717f57b9
add esi, 0x55f76fd1
add esi, dword [esp]
push eax
mov eax, 0x7555729a
dec eax
sub eax, 0x7f5d5ac6
push ebx
mov ebx, 0x7f6f47be
shr ebx, 1
not ebx
neg ebx
sub ebx, 0xc2bd67a9
sub eax, ebx
pop ebx
sub eax, 0x23066bcb
sub esi, eax
pop eax
push 0x728a4a22
mov dword [esp], eax
sub esp, 4
mov dword [esp], ecx
push eax
mov dword [esp], 0x7febf75a
push dword [esp]
pop ecx
add esp, 4
push ebx
mov ebx, 0x3ff7ad8b
sub ecx, 0x3f9ffc1e
sub ecx, 0x336a6615
add ecx, ebx
add ecx, 0x336a6615
add ecx, 0x3f9ffc1e
pop ebx
add ecx, 0xb19bb2d4
mov eax, ecx
mov ecx, dword [esp]
add esp, 4
sub esi, 0x3def8b11
sub esi, 0x266f06b7
add esi, eax
add esi, 0x266f06b7
push ecx
mov ecx, 0x3def8b11
add esi, ecx
pop ecx
push dword [esp]
pop eax
add esp, 4
sub esp, 4
mov dword [esp], eax
mov eax, esp
push esi
mov dword [esp], 0x7b02c612
mov dword [esp], edi
mov dword [esp], ebp
push edx
mov edx, esp
add edx, 4
sub edx, 4
xor edx, dword [esp]
xor dword [esp], edx
xor edx, dword [esp]
pop esp
mov dword [esp], esi
mov esi, 4
mov ebp, esi
pop esi
add eax, 0x2f7c1d48
push edx
mov dword [esp], ecx
mov ecx, 0x35efbe90
add ecx, 0x21cd8e64
add eax, ecx
pop ecx
push ecx
mov ecx, 0x2fde4fe8
add eax, ecx
pop ecx
add eax, ebp
sub eax, 0x2fde4fe8
sub eax, 0x57bd4cf4
sub eax, 0x2f7c1d48
push dword [esp]
pop ebp
add esp, 4
add eax, 4
xor eax, dword [esp]
xor dword [esp], eax
xor eax, dword [esp]
mov esp, dword [esp]
sti
push ecx
mov dword [esp], ebp
mov dword [esp], edx
mov dword [esp], 0x7eaecaf6
add dword [esp], 0xfd228475
and dword [esp], 0x7ffeb8bc
add dword [esp], 1
push edi
mov edi, 0xcd0214f
push edx
mov edx, 0x385fde56
add dword [esp + 8], edx
pop edx
sub dword [esp + 4], edi
sub dword [esp + 4], 0x385fde56
mov edi, dword [esp]
add esp, 4
shr dword [esp], 7
shl dword [esp], 7
neg dword [esp]
xchg dword [esp], esi
neg esi
xor dword [esp], esi
xor esi, dword [esp]
xor dword [esp], esi
push eax
mov dword [esp], esi
mov dword [esp], ecx
push eax
mov dword [esp], 0x6effcf41
pop ecx
sub dword [esp + 4], ecx
push dword [esp]
pop ecx
add esp, 4
push dword [esp]
push dword [esp]
pop ecx
add esp, 4
push eax
mov eax, esp
push ebp
push 0x7dec9661
pop ebp
or ebp, 0x3b72f69f
add ebp, 0xffffffff
xchg ebp, edx
not edx
xor ebp, edx
xor edx, ebp
xor ebp, edx
push ebx
mov ebx, 0x64b77852
dec ebx
xor ebx, 0x5eb521be
sub ebx, 0x5fcf8859
shr ebx, 2
neg ebx
add ebx, 0xb68c61ff
add ebp, ebx
pop ebx
sub ebp, 0x7b7aa97c
xor ebp, 0x84860d1b
add eax, ebp
mov ebp, dword [esp]
push edi
mov edi, esp
push ebx
mov ebx, 4
add edi, ebx
pop ebx
add edi, 4
xchg dword [esp], edi
pop esp
push ebp
mov ebp, 0x2ffeaa43
or ebp, 0x78bb7316
or ebp, 0x3df51142
add ebp, 0x800004ad
sub eax, 0x7ff23fab
add eax, 0x6f77c026
add eax, ebp
sub eax, 0x6f77c026
add eax, 0x7ff23fab
mov ebp, dword [esp]
add esp, 4
xchg dword [esp], eax
mov esp, dword [esp]
push dword [esi]
push dword [esp]
mov edx, dword [esp]
add esp, 4
push eax
mov dword [esp], ecx
mov ecx, esp
add ecx, 4
push eax
push edi
mov edi, 0x3da7ce11
inc edi
shl edi, 7
sub edi, 0xd3e708fc
mov eax, edi
pop edi
sub ecx, 0x7df5326d
sub ecx, 0x7da3eb3c
add ecx, eax
add ecx, 0x7da3eb3c
push esi
mov esi, 0x6cfdf511
xor esi, 0x7dfd8ec3
dec esi
or esi, 0x7aec9a10
neg esi
add esi, 1
add esi, 0xf9e22e3d
add ecx, 0x346ec975
add ecx, esi
sub ecx, 0x346ec975
mov esi, dword [esp]
add esp, 4
mov eax, dword [esp]
add esp, 4
push ecx
push dword [esp + 4]
mov ecx, dword [esp]
push ecx
mov ecx, esp
add ecx, 4
add ecx, 4
push ecx
push dword [esp + 4]
pop ecx
pop dword [esp]
mov esp, dword [esp]
pop dword [esp]
mov esp, dword [esp]
push 0x7ec1dd8d
mov dword [esp], ecx
mov ecx, 0x31a347b3
sub edx, 0x5eff5800
add edx, 0x77cf39ca
sub edx, ecx
push ebx
mov ebx, 0x77cf39ca
sub edx, ebx
pop ebx
sub esp, 4
mov dword [esp], esi
mov esi, 0x2f6e5d3a
push ebx
mov ebx, 0x767f7814
dec ebx
neg ebx
shr ebx, 2
shl ebx, 4
inc ebx
sub ebx, 0xa703e302
sub esi, 0x7fffacd6
add esi, ebx
add esi, 0x7fffacd6
mov ebx, dword [esp]
add esp, 4
xor esi, 0x4bd0b462
add esi, 0x37f7ea02
sub esp, 4
mov dword [esp], ebp
mov ebp, 0x1fefe92e
shl ebp, 3
xor ebp, 0x2773ddd2
push eax
mov eax, 0x5d7d83f3
neg eax
sub eax, 0x67ff2f59
not eax
xor eax, 0xac42189a
sub ebp, 0x3fffa7a8
add ebp, eax
add ebp, 0x3fffa7a8
pop eax
add esi, 0x5fddd7d1
add esi, ebp
push eax
push 0x5fddd7d1
pop eax
sub esi, eax
pop eax
pop ebp
add edx, 0x777300a8
add edx, 0x6fefe551
add edx, esi
sub edx, 0x6fefe551
sub edx, 0x777300a8
pop esi
mov ecx, dword [esp]
add esp, 4
push 0xcb927df
mov dword [esp], edi
push edi
mov edi, esp
add edi, 4
push ecx
mov ecx, 4
sub edi, ecx
pop ecx
xchg dword [esp], edi
pop esp
mov dword [esp], ebx
push ebp
mov dword [esp], ebx
mov dword [esp], 0x2eef1646
mov ebx, dword [esp]
add esp, 4
push esi
mov esi, 0x2bb73ab6
and ebx, esi
mov esi, dword [esp]
add esp, 4
sub ebx, 1
sub ebx, 0x794cee7d
push edi
mov edi, 0x7584ea74
sub ebx, 0x3df7c60f
sub ebx, edi
add ebx, 0x3df7c60f
pop edi
push 0x6f3c1fe9
mov dword [esp], eax
mov eax, ebx
mov edi, eax
mov eax, dword [esp]
push edi
mov edi, esp
add edi, 4
push ecx
mov ecx, 4
add edi, ecx
pop ecx
xor edi, dword [esp]
xor dword [esp], edi
xor edi, dword [esp]
pop esp
pop ebx
xor edx, edi
pop edi
push 0x20b193d9
mov dword [esp], edi
push 0x787d6e00
pop edi
sub edx, 0x7edf2541
add edx, 0x3bf96115
sub edx, edi
push eax
mov eax, 0x3bf96115
sub edx, eax
pop eax
add edx, 0x7edf2541
push dword [esp]
mov edi, dword [esp]
push ecx
mov dword [esp], ebx
mov ebx, esp
push edi
push eax
mov eax, 0x65eb9f6e
and eax, 0x6f7e0ffc
shl eax, 1
shr eax, 8
dec eax
or eax, 0x7f5762ba
xor eax, 0x110128e4
mov edi, eax
pop eax
sub esp, 4
mov dword [esp], ebx
mov ebx, 0x5fd35ac5
add edi, ebx
pop ebx
add edi, 0x5f8e260f
push edx
mov edx, 0xd1bfa0d5
add edi, edx
pop edx
add ebx, edi
mov edi, dword [esp]
add esp, 4
add ebx, 4
xchg dword [esp], ebx
pop esp
push ebp
mov ebp, esp
push esi
mov esi, 4
add ebp, esi
pop esi
add ebp, 4
xchg dword [esp], ebp
mov esp, dword [esp]
sub esp, 4
mov dword [esp], edx
push esi
mov dword [esp], edi
push ecx
mov ecx, esp
add ecx, 4
sub ecx, 4
xchg dword [esp], ecx
pop esp
mov dword [esp], ecx
push ebp
mov ebp, 0x77df5a1b
mov dword [esp + 4], ebp
pop ebp
push dword [esp]
pop edi
add esp, 4
xor dword [esp + 4], edi
push dword [esp]
pop edi
add esp, 4
pop dword [esi]
push ebx
push eax
mov eax, 0x7edf9000
add eax, 0x1bbdee9b
and eax, 0x7d97bb1b
sub eax, 0x7e363844
add eax, 0x57fb8d6f
sub eax, 0xf25a8f46
mov ebx, eax
pop eax
add ebx, 0x7c674311
add ebx, esi
sub ebx, 0x7c674311
push eax
mov eax, 0
add eax, ebx
push edx
mov edx, 0
add edx, eax
xor dword [edx], 0x77df5a1b
pop edx
mov eax, dword [esp]
push edi
mov edi, esp
add edi, 4
add edi, 4
xchg dword [esp], edi
pop esp
pop ebx
sub esp, 4
mov dword [esp], ebp
mov ebp, esp
push edx
mov edx, 0x4f9f25c4
xor edx, 0x6f659360
xor edx, 0x20fab6a0
add ebp, edx
pop edx
sub ebp, 4
xchg dword [esp], ebp
pop esp
mov dword [esp], edi
mov dword [esp], ebp
mov dword [esp], esi
mov dword [esp], 0x7ffff523
shr dword [esp], 5
or dword [esp], 0x7a7a767c
push edx
mov edx, 0x538c95ad
sub dword [esp + 4], edx
mov edx, dword [esp]
add esp, 4
inc dword [esp]
xor dword [esp], 0x17844235
push ebp
mov ebp, 0x35132b5a
sub dword [esp + 4], 0x7fcf1125
sub dword [esp + 4], 0x75fad778
sub dword [esp + 4], ebp
add dword [esp + 4], 0x75fad778
add dword [esp + 4], 0x7fcf1125
pop ebp
mov dword [esp], eax
push edx
mov dword [esp], ebx
push eax
mov eax, 0x4a364d7c
mov ebx, eax
pop eax
mov eax, ebx
pop ebx
sub esi, eax
mov eax, dword [esp]
add esp, 4
push edx
push ebp
mov dword [esp], ecx
mov ecx, 0x7c913890
shr ecx, 4
xor ecx, 0x5ede475b
push esi
mov esi, 0x1efe6372
add esi, 0x60f48c1d
and ecx, esi
pop esi
inc ecx
push ecx
mov dword [esp], edx
mov edx, 0x73efd25f
push eax
mov eax, 0x7fdb0bea
add edx, 0x1fdfd4bc
add edx, eax
sub edx, 0x1fdfd4bc
pop eax
dec edx
sub edx, 0x170db266
shr edx, 4
push edi
push edx
mov edx, 0x7edd5160
mov edi, edx
pop edx
push 0
add dword [esp], 0x6a1b8bd5
sub dword [esp], edi
sub dword [esp], 0x6a1b8bd5
pop edi
xchg edi, eax
not eax
xchg edi, eax
neg edi
inc edi
add edi, 0xbdcfb4aa
xor edx, edi
pop edi
sub edx, 0xd35e65b1
sub ecx, edx
pop edx
add ecx, 0x50ff5536
mov edx, ecx
push dword [esp]
mov ecx, dword [esp]
add esp, 4
add esp, 4
add esi, edx
push dword [esp]
pop edx
add esp, 4
dec ecx
jne 0x59d5ee
sti
mov ebx, 0x3eff0364
push edx
mov edx, esp
push edi
mov edi, 4
add edx, edi
pop edi
sub edx, 4
xchg dword [esp], edx
mov esp, dword [esp]
mov dword [esp], eax
mov eax, esp
add eax, 4
sub eax, 4
xchg dword [esp], eax
pop esp
mov dword [esp], ebx
xchg dword [esp], edi
not edi
xchg dword [esp], edi
push dword [esp]
pop ebx
push eax
mov eax, esp
add eax, 4
add eax, 4
xchg dword [esp], eax
pop esp
sub ebx, 1
xchg ebx, ecx
not ecx
xchg ebx, ecx
push eax
push esi
mov esi, 0x7bff06fe
push 0x5d556079
mov dword [esp], esi
add dword [esp], 0x5bf92f5e
mov eax, dword [esp]
add esp, 4
sub eax, 0x5bf92f5e
pop esi
sub eax, 0x4571b5b
or ebx, eax
pop eax
xor ebx, 0x715c7f64
push esi
sub esp, 4
mov dword [esp], esi
mov dword [esp], ebp
mov ebp, 0x5f55a362
push ebp
push ebp
mov ebp, 0x73ae5316
xor dword [esp + 4], ebp
pop ebp
mov esi, dword [esp]
push esi
mov esi, esp
add esi, 4
add esi, 4
push esi
push dword [esp + 4]
mov esi, dword [esp]
add esp, 4
pop dword [esp]
mov esp, dword [esp]
xor esi, 0x73ae5316
mov ebp, dword [esp]
push edi
mov edi, esp
add edi, 4
add edi, 4
xchg dword [esp], edi
pop esp
push ebp
push edx
mov dword [esp], ebx
push 0x3d37ca70
mov ebx, dword [esp]
add esp, 4
shr ebx, 1
add ebx, 0x2f594c60
mov ebp, ebx
pop ebx
sub esi, ebp
pop ebp
push ecx
mov dword [esp], esi
pop ebx
pop esi
push ebx
push ebx
sub esp, 4
mov dword [esp], edx
mov edx, 0x787c775d
sub esp, 4
mov dword [esp], edx
xor dword [esp], 0x6ff42fde
pop ebx
xor ebx, 0x6ff42fde
pop edx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
push eax
mov eax, esp
add eax, 4
add eax, 4
xchg dword [esp], eax
pop esp
push ebp
push eax
mov eax, 0x79ad29f4
mov ebp, eax
pop eax
or dword [esp + 4], ebp
pop ebp
sub dword [esp], 0xffffffff
push eax
push edi
push eax
mov eax, 0x7fde7e22
or eax, 0x669679d7
xor eax, 0x22889afd
mov edi, eax
pop eax
push 0xbe1bb6a
mov dword [esp], ebx
mov dword [esp], edi
add dword [esp], 0x673e7d1f
pop eax
sub eax, 0x673e7d1f
pop edi
xor dword [esp + 4], eax
pop eax
mov ebx, dword [esp]
add esp, 4
jmp 0x59dc28
mov al, 0xa2
clc
je 0x59dbf4
push ds
adc cl, cl
into
adc dword [esi], esi
in eax, dx
invalid