Function at 0x742b80
Capabilities:
Encode data using xor

Disassembly:
push esi
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
test ecx, ecx
je 0x742bd9
test edx, edx
je 0x742c29
test esi, esi
je 0x742c69
test eax, eax
je 0x742ce9
movzx eax, byte [0xb44d12]
cmp al, 0x4a
je 0x742e8b
mov cl, 0xec
nop word cs:[eax + eax]
mov al, 0x31
lock cmpxchg byte [0xb44d12], cl
je 0x742e69
cmp al, 0x4a
jne 0x742bc0
jmp 0x742e8b
test edx, edx
je 0x742ca9
test esi, esi
je 0x742d19
test eax, eax
je 0x742d99
movzx eax, byte [0xb44e75]
cmp al, 0xda
je 0x742f4b
mov cl, 0x32
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x27
lock cmpxchg byte [0xb44e75], cl
je 0x742f29
cmp al, 0xda
jne 0x742c10
jmp 0x742f4b
test esi, esi
je 0x742d59
test eax, eax
je 0x742dc9
movzx eax, byte [0xb45133]
cmp al, 0x51
je 0x742f7b
mov cl, 0x4d
nop word [eax + eax]
mov al, 0x7d
lock cmpxchg byte [0xb45133], cl
je 0x742f52
cmp al, 0x51
jne 0x742c50
jmp 0x742f7b
test eax, eax
je 0x742df9
movzx eax, byte [0xb44e1c]
cmp al, 0x2f
je 0x742fab
mov cl, 0xfc
nop word cs:[eax + eax]
nop dword [eax]
mov al, 3
lock cmpxchg byte [0xb44e1c], cl
je 0x742f82
cmp al, 0x2f
jne 0x742c90
jmp 0x742fab
test esi, esi
je 0x742e29
test eax, eax
je 0x742e92
movzx eax, byte [0xb44db3]
cmp al, 0x2f
je 0x74302b
mov cl, 0xa
nop word [eax + eax]
mov al, 0xd9
lock cmpxchg byte [0xb44db3], cl
je 0x74300c
cmp al, 0x2f
jne 0x742cd0
jmp 0x74302b
movzx eax, byte [0xb44f17]
cmp al, 0x9c
je 0x742fdb
mov cl, 0x10
nop word [eax + eax]
mov al, 0x3f
lock cmpxchg byte [0xb44f17], cl
je 0x742fb2
cmp al, 0x9c
jne 0x742d00
jmp 0x742fdb
test eax, eax
je 0x742ec9
movzx eax, byte [0xb44ed9]
cmp al, 0x86
je 0x74305b
mov cl, 0x34
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x88
lock cmpxchg byte [0xb44ed9], cl
je 0x743032
cmp al, 0x86
jne 0x742d40
jmp 0x74305b
test eax, eax
je 0x742ef9
movzx eax, byte [0xb451d2]
cmp al, 0x77
je 0x74308b
mov cl, 0x40
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0xc2
lock cmpxchg byte [0xb451d2], cl
je 0x743062
cmp al, 0x77
jne 0x742d80
jmp 0x74308b
movzx eax, byte [0xb4518f]
cmp al, 0x41
je 0x7430bb
mov cl, 0x69
nop word [eax + eax]
mov al, 0xa6
lock cmpxchg byte [0xb4518f], cl
je 0x743092
cmp al, 0x41
jne 0x742db0
jmp 0x7430bb
movzx eax, byte [0xb44dc5]
cmp al, 0xc0
je 0x7430eb
mov cl, 0xde
nop word [eax + eax]
mov al, 0xb1
lock cmpxchg byte [0xb44dc5], cl
je 0x7430c2
cmp al, 0xc0
jne 0x742de0
jmp 0x7430eb
movzx eax, byte [0xb44f5f]
cmp al, 0x33
je 0x74311b
mov cl, 0x87
nop word [eax + eax]
mov al, 0x68
lock cmpxchg byte [0xb44f5f], cl
je 0x7430f2
cmp al, 0x33
jne 0x742e10
jmp 0x74311b
test eax, eax
je 0x742fe2
movzx eax, byte [0xb44f4d]
cmp al, 0x52
je 0x74314b
mov cl, 0xb4
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0xbc
lock cmpxchg byte [0xb44f4d], cl
je 0x743122
cmp al, 0x52
jne 0x742e50
jmp 0x74314b
xor eax, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 0xac4c40]
add byte [eax + 0xb44d00], cl
inc eax
cmp eax, 0x12
jl 0x742e70
mov al, 0x4a
xchg byte [0xb44d12], al
mov eax, 0xb44d00
pop esi
ret
movzx eax, byte [0xb45163]
cmp al, 0xbd
je 0x74317b
mov cl, 0x72
nop word cs:[eax + eax]
nop dword [eax]
mov al, 0x50
lock cmpxchg byte [0xb45163], cl
je 0x743152
cmp al, 0xbd
jne 0x742eb0
jmp 0x74317b
movzx eax, byte [0xb44d3d]
cmp al, 0xeb
je 0x7431ab
mov cl, 0x77
nop word [eax + eax]
mov al, 0xa
lock cmpxchg byte [0xb44d3d], cl
je 0x743182
cmp al, 0xeb
jne 0x742ee0
jmp 0x7431ab
movzx eax, byte [0xb44e07]
cmp al, 0xe4
je 0x7431db
mov cl, 0x4c
nop word [eax + eax]
mov al, 0x13
lock cmpxchg byte [0xb44e07], cl
je 0x7431b2
cmp al, 0xe4
jne 0x742f10
jmp 0x7431db
xor eax, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 0xac4da0]
add byte [eax + 0xb44e70], cl
inc eax
cmp eax, 5
jl 0x742f30
mov al, 0xda
xchg byte [0xb44e75], al
mov eax, 0xb44e70
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xac5060]
add byte [eax + 0xb45130], cl
inc eax
cmp eax, 3
jl 0x742f60
mov al, 0x51
xchg byte [0xb45133], al
mov eax, 0xb45130
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xac4d40]
xor byte [eax + 0xb44e10], cl
inc eax
cmp eax, 0xc
jl 0x742f90
mov al, 0x2f
xchg byte [0xb44e1c], al
mov eax, 0xb44e10
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xac4e10]
add byte [eax + 0xb44ee0], cl
inc eax
cmp eax, 0x37
jl 0x742fc0
mov al, 0x9c
xchg byte [0xb44f17], al
mov eax, 0xb44ee0
pop esi
ret
movzx eax, byte [0xb451c2]
cmp al, 0xd1
je 0x7431ff
mov cl, 0x99
mov al, 0x6d
lock cmpxchg byte [0xb451c2], cl
je 0x7431e2
cmp al, 0xd1
jne 0x742ff3
jmp 0x7431ff
xor eax, eax
nop
movzx ecx, byte [eax + 0xac4ce0]
add byte [eax + 0xb44db0], cl
inc eax
cmp eax, 3
jl 0x743010
mov al, 0x2f
xchg byte [0xb44db3], al
mov eax, 0xb44db0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xac4de0]
add byte [eax + 0xb44eb0], cl
inc eax
cmp eax, 0x29
jl 0x743040
mov al, 0x86
xchg byte [0xb44ed9], al
mov eax, 0xb44eb0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xac5100]
add byte [eax + 0xb451d0], cl
inc eax
cmp eax, 2
jl 0x743070
mov al, 0x77
xchg byte [0xb451d2], al
mov eax, 0xb451d0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xac50b0]
xor byte [eax + 0xb45180], cl
inc eax
cmp eax, 0xf
jl 0x7430a0
mov al, 0x41
xchg byte [0xb4518f], al
mov eax, 0xb45180
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xac4cf0]
add byte [eax + 0xb44dc0], cl
inc eax
cmp eax, 5
jl 0x7430d0
mov al, 0xc0
xchg byte [0xb44dc5], al
mov eax, 0xb44dc0
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xac4e80]
xor byte [eax + 0xb44f50], cl
inc eax
cmp eax, 0xf
jl 0x743100
mov al, 0x33
xchg byte [0xb44f5f], al
mov eax, 0xb44f50
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xac4e70]
xor byte [eax + 0xb44f40], cl
inc eax
cmp eax, 0xd
jl 0x743130
mov al, 0x52
xchg byte [0xb44f4d], al
mov eax, 0xb44f40
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xac5070]
add byte [eax + 0xb45140], cl
inc eax
cmp eax, 0x23
jl 0x743160
mov al, 0xbd
xchg byte [0xb45163], al
mov eax, 0xb45140
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xac4c60]
xor byte [eax + 0xb44d20], cl
inc eax
cmp eax, 0x1d
jl 0x743190
mov al, 0xeb
xchg byte [0xb44d3d], al
mov eax, 0xb44d20
pop esi
ret
xor eax, eax
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + 0xac4d30]
xor byte [eax + 0xb44e00], cl
inc eax
cmp eax, 7
jl 0x7431c0
mov al, 0xe4
xchg byte [0xb44e07], al
mov eax, 0xb44e00
pop esi
ret
xor eax, eax
movzx ecx, byte [eax + 0xac50f0]
xor byte [eax + 0xb451c0], cl
inc eax
cmp eax, 2
jl 0x7431e4
mov al, 0xd1
xchg byte [0xb451c2], al
mov eax, 0xb451c0
pop esi
ret