Function at 0x51c702
Capabilities:
Encode data using xor

Disassembly:
push bx
lea esp, [esp + 2]
jmp 0x51c577
push sp
lea esp, [esp + 2]
jmp 0x51c4c1
jmp 0x51c53e
lea eax, [esp + ecx + 0x1c]
push eax
push dword [esp + 3]
jmp 0x51c3d8
jmp 0x4ad104
bsf ebx, edx
jmp 0x490ff4
pushfd
push esi
mov esi, dword [ebp + 8]
setbe bl
mov bx, word [esp]
jmp 0x490f8f
lea esp, [esp + 3]
jmp 0x491002
je 0x4913b8
mov ah, 0x45
sub esp, 0x14
mov eax, dword [0x497e2c]
sub esp, 3
jmp 0x490fb3
xor ebx, ebx
cmp esi, ebx
lea esp, [esp + 8]
jmp 0x490fc9
cmp eax, ebx
lea esp, [esp + 0x14]
jne 0x490eb6
setb cl
jmp 0x51b699
jmp 0x491042
jmp 0x490f79
jmp 0x490fa5
mov cx, 0xda64
lea eax, [edi + ebp]
jmp 0x51b6bd
mov eax, dword [0x497e84]
mov ecx, dword [0x497e88]
push 0x4c0
jmp 0x51b784
xor eax, 0x497e84
xor eax, edi
call 0x51b74d
mov ah, 0x98
jmp 0x51bfb8
cmp esi, eax
jae 0x490ecc
mov al, 0xf8
xchg al, ah
jmp 0x51bf94
push 0x2e
mov eax, esi
call fcn.004ac81f
jmp 0x51bfed
lea esp, [esp + 0xc]
mov dword [esp + 0x34], eax
jmp 0x51c034
mov eax, 0x1e53a759
xchg al, ah
mov eax, dword [esp + 0x2c]
add eax, ebx
jmp 0x51bfaa
dec cx
mov ecx, 0x7fa9980f
mov ecx, dword [esp]
sub esp, 0xb
lea esp, [esp + 3]
jmp 0x51bfc3
clc
cmp esi, ebx
lea esp, [esp + 0x1c]
jb 0x490ecc
jae 0x51bfde
adc dx, bx
bsr edx, eax
xchg edx, ecx
jmp 0x51c071
test eax, eax
push esi
lea esp, [esp + 4]
je 0x490ecc
jne 0x51c01e
setae byte [ebx]
xchg bp, ax
push esi
xchg esi, eax
add eax, eax
cmp dword [edx], 0x15
mov esi, dword [eax + ecx]
add esi, eax
pushal
pop dword [esp + 4]
jmp 0x51c00f
mov edx, esi
jmp 0x51c0ad
sub eax, esi
push eax
mov ecx, esp
jmp 0x51c05b
lea esp, [esp + 0xc]
lea ecx, [edx + ecx*4]
mov esi, ebx
stc
jmp 0x51c04f
lea esp, [esp + 4]
jmp 0x51c0bb
lea ecx, [esp + 0xa4]
mov dword [esp + 0x14], eax
pushfd
jmp 0x51c097
call fcn.004ac846
sub esp, 0xe
lea esp, [esp + 2]
lea esp, [esp + 0xc]
mov eax, dword [esp + 0x14]
jmp 0x51c5e9
mov cx, word [esp]
xor eax, esi
mov cl, byte [esp]
lea ecx, [esp + 0xa0]
call fcn.0051c140
mov byte [esp + 0x22], 0x7a
xchg cx, ax
jmp 0x51c3f3
xchg dword [esp + 3], eax
mov ax, word [esp + 1]
jmp 0x51c3ad
sub esp, 3
lea esp, [esp + 3]
mov byte [esp + 0x1e], 0x4a
mov ax, word [esp]
sub esp, 8
jmp 0x51c322
mov byte [esp + 0x20], 0x57
mov ax, word [esp]
dec cx
rol cx, 2
mov byte [esp + 0x1f], 0x4e
jmp 0x51c338
xor ecx, ecx
jmp 0x490f4c
lea esp, [esp + 0x1c]
mov byte [esp + 0x1c], 0x71
mov cx, 0x43d8
jmp 0x51c378
lea esp, [esp + 8]
mov byte [esp + 0x1d], 0x57
sub esp, 0x1e
lea ecx, [ecx + edx]
lea esp, [esp + 2]
jmp 0x51c38e
lea esp, [esp + 2]
jmp 0x51c420
lea esp, [esp]
lea esp, [esp + 8]
mov dl, byte [eax]
push di
clc
jmp 0x51c3c2
mov byte [esp + 0x21], 0x50
lea eax, [edx - 0x210c35a6]
btc cx, ax
xchg cx, ax
jmp 0x51c362
sub esp, 2
lea esp, [esp + 2]
jmp 0x51c429
add dl, 3
xor dl, 0x3f
inc ecx
jmp 0x51c40a
cmp ecx, 0xf
mov byte [eax], dl
jl 0x490f4c
jge 0x51c507
jmp 0x51c4b8
mov eax, dword [0x497e98]
pop ecx
mov esi, 0x497e98
jmp 0x51c2e8
lea esp, [esp + 0x1c]
push ecx
jmp 0x51c47d
sub esp, 0x1f
mov dword [esp + 6], esp
mov dword [esp + 9], ebp
lea esp, [esp + 3]
xor eax, edi
jmp 0x51c454
call eax
call 0x51c485
shr al, 1
add dword [eax], eax
add byte [eax], al
push ss
lea esp, [esp]
jmp 0x51c4da
stc
xor eax, esi
mov ecx, 0x432344c8
lea ecx, [esp + 0x1c]
jmp 0x51c46a
lea eax, [ecx + 1]
jmp 0x51c4e7
invalid
mov ecx, dword [esp + 0x34]
clc
bswap eax
bts eax, ebp
or ax, 0xa20
jmp 0x51c4ab
lea esp, [esp + 4]
mov dword [esp + 0x10], eax
jmp 0x490ef8
cmp byte [eax], 0x23
call 0x51c4f0
jge 0x51c47e
and al, 4
jne 0x490f36
je 0x51c559
dec ecx
into
pop esp
cmp edx, esi
xor al, 0xdf
push ecx
rcl byte [ebx + 0xf]
mov dword [0x7e98a1c8], eax
dec ecx
add byte [ebx + 0x66cc8bca], cl
inc ecx
bt eax, ecx
mov eax, dword [0x497e98]
mov ecx, edx
mov ecx, esp
inc cx
jmp 0x51c49d
push eax
push dword [esp + 0x14]
call fcn.004ac84b
lea esi, [ecx*4]
jmp 0x51c5b5
add ecx, 2
call fcn.0051c52d
lea esp, [esp + 4]
popal
jmp 0x51c59b
pushal
mov ah, byte [esp]
lea edx, [esp + esi]
mov dword [esp + 0x1c], esi
pushfd
jmp 0x51c561
mov ecx, dword [0x497e2c]
bswap edx
mov edx, dword [esp]
jmp 0x51c5c6
call 0x4ac8d9
jmp 0x51c585
mov esi, dword [esp]
lea esi, [ebx*4]
mov esi, eax
jmp 0x490ecc
mov edx, 0x802b36dc
push edi
mov edi, ecx
mov edx, dword [edi]
jmp 0x51c898
rol esi, cl
mov byte [esp + eax + 0xa4], 0
not ax
lea ecx, [ebp*4]
lea ecx, [ebx + edi]
jmp 0x51c444
mov ecx, dword [ecx + edx]
call 0x51c61b
mov eax, dword [0x497ea8]
pushal
bsr cx, cx
bt cx, bp
jmp 0x51c725
sub esp, 0x11
mov dword [esp + 3], edi
push eax
lea esp, [esp + 1]
jmp 0x51c6c9
lea esp, [esp + 4]
add eax, 0xa4
lea ecx, [edx + esi]
setge cl
mov ecx, dword [eax]
jmp 0x51c6a0
xor ecx, eax
call 0x51c6d1
ror dword [ebp + 0x68182464], 0x4c
jle 0x51c722
add ch, dh
jmp 0x51c6fa
xor eax, edi
sub esp, 4
neg cl
mov dword [esp], edi
jmp 0x51c6b6
xor ecx, edi
call 0x51c702
dec eax
push dword [esp + 1]
lea esp, [esp + 8]
call ecx
jmp 0x491039
sahf
adc ecx, dword [edx + 0x2024648d]
lea esp, [esp + 0x20]
xor eax, 0x497ea8
mov ecx, dword [esp]
mov ecx, dword [esp]
cmp cl, al
jmp 0x51c6ee
pop edi
inc edx
imul edx, edx, 0xc
jmp 0x51c64b