Function at 0x739350
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x94
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x739ab0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
call fcn.00739aa0
mov edx, dword [0xb42c80]
mov ecx, dword [0xb42c54]
mov ebx, 0x8e10
sub ebx, eax
sub ecx, ebx
add ecx, edx
call dword [0xb0836c]
call ecx
mov ecx, dword [0xb42c7c]
mov esi, dword [0xb42c64]
mov dword [ebp - 0x34], ebx
sub esi, ebx
mov ebx, eax
add esi, ecx
mov ecx, esi
call dword [0xb0836c]
mov ecx, edi
call esi
mov eax, ebx
xor eax, 0x466f9c61
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x84], eax
mov edx, ebx
xor edx, 0x466f9c65
mov dword [ebp - 0x88], edx
movzx eax, byte [0xb42b9c]
mov ah, bl
xor ah, 0xd7
cmp al, ah
je 0x7394f1
mov ch, bl
mov cl, bl
xor cl, 0x82
xor ch, 6
nop word cs:[eax + eax]
mov al, cl
lock cmpxchg byte [0xb42b9c], ch
je 0x739425
cmp al, ah
jne 0x739410
jmp 0x7394f1
mov esi, ebx
xor esi, 0x466f9c62
cmp esi, 2
mov ecx, 1
cmovge ecx, esi
xor esi, esi
cmp ecx, 8
jb 0x7394d3
xor esi, esi
cmp ecx, 0x20
jb 0x73949a
mov esi, ecx
and esi, 0x7fffffe0
xor edi, edi
nop word cs:[eax + eax]
movaps xmm0, xmmword [edi + 0xac0c00]
movaps xmm1, xmmword [edi + 0xac0c10]
xorps xmm0, xmmword [edi + 0xb42b90]
xorps xmm1, xmmword [edi + 0xb42ba0]
movaps xmmword [edi + 0xb42b90], xmm0
movaps xmmword [edi + 0xb42ba0], xmm1
add edi, 0x20
cmp esi, edi
jne 0x739460
cmp ecx, esi
je 0x7394e4
test cl, 0x18
je 0x7394d3
mov edi, esi
mov esi, ecx
and esi, 0x7ffffff8
nop word cs:[eax + eax]
movsd xmm0, qword [edi + 0xb42b90]
movsd xmm1, qword [edi + 0xac0c00]
xorps xmm1, xmm0
movlps qword [edi + 0xb42b90], xmm1
add edi, 8
cmp esi, edi
jne 0x7394b0
jmp 0x7394e0
mov al, byte [esi + 0xac0c00]
xor byte [esi + 0xb42b90], al
inc esi
cmp ecx, esi
jne 0x7394d3
xchg byte [0xb42b9c], ah
mov dword [ebp - 0x10], 2
mov dword [ebp - 0x3c], ebx
mov eax, dword [0xb42b97]
mov dword [ebp - 0x91], eax
movsd xmm0, qword [0xb42b90]
movsd qword [ebp - 0x98], xmm0
mov byte [ebp + edx - 0x98], 0
mov dword [ebp - 0x10], 2
lea edx, [ebp - 0x98]
mov ecx, dword [ebp + 0x14]
call fcn.00737f10
mov esi, dword [ebp - 0x84]
movzx edx, byte [0xb53780]
mov ebx, dword [ebp - 0x3c]
mov eax, ebx
xor eax, 0x69afea58
cmp dword [0xb42c28], eax
mov byte [ebp - 0x21], dl
jne 0x739573
mov dword [0xb42c3c], 0x4cc7b5f6
mov ecx, dword [0xb42c20]
mov eax, ebx
xor eax, 0x66f9c68
mov eax, dword [ecx + eax*4]
sub ecx, eax
add ecx, ecx
sub ecx, eax
mov dword [ebp - 0x30], ecx
jmp 0x73958a
mov eax, dword [0xb42c20]
mov ecx, dword [eax]
mov edx, ecx
xor edx, eax
and ecx, eax
lea eax, [edx + ecx*2]
mov dword [ebp - 0x30], eax
movzx edx, byte [ebp - 0x21]
cmp esi, dword [ebp - 0x20]
seta al
mov ecx, dword [0xac0bf8]
mov dword [ebp - 0x40], ecx
mov edi, dword [0xb42c24]
add edi, dword [edi]
or al, dl
test al, 1
je 0x739927
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x48], eax
mov ecx, ebx
xor ecx, 0x23277902
mov eax, dword [0xb42c1c]
cmp dword [0xb42c2c], ecx
mov dword [ebp - 0x38], esi
jne 0x7395e0
shl eax, 2
mov dword [0xb42c1c], eax
mov dword [0xb42c28], 0xb8ebc7aa
jmp 0x739605
lea ecx, [eax + 1]
mov dword [0xb42c1c], ecx
mov edx, 0xfffffffe
sub edx, eax
or edx, eax
xor edx, ecx
cmp edx, 0xffffffff
je 0x739605
mov dword [ebp - 0x44], 0
jmp 0x739868
mov ecx, dword [edi]
mov al, 1
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x40], 0
jle 0x739868
mov dword [ebp - 0x74], edi
add ecx, edi
mov dword [ebp - 0x58], ecx
mov eax, ebx
shr eax, 2
mov ecx, ebx
shl ecx, 0x1e
xor ecx, ebx
xor ecx, 0x7025ad43
xor eax, 0x20c8c085
mov dword [ebp - 0x20], eax
mov esi, ebx
shr ebx, 4
mov eax, esi
shl eax, 0x1c
xor eax, esi
xor eax, 0xc7ff5ad
xor ebx, 0x90517c6b
lea edx, [esi + esi]
xor edx, 0x4273e0bd
mov dword [ebp - 0x28], edx
mov edx, esi
xor edx, 0xfda52bc
mov edi, esi
xor edi, 0x2da7e63c
mov dword [ebp - 0x2c], edi
mov edi, esi
xor edi, 0x13800a52
add eax, ecx
adc ebx, dword [ebp - 0x20]
add eax, edx
adc ebx, dword [ebp - 0x28]
add eax, edi
adc ebx, dword [ebp - 0x2c]
add eax, 2
mov dword [ebp - 0x7c], eax
adc ebx, 0
mov dword [ebp - 0x80], ebx
mov ecx, esi
xor ecx, 0x1db2
mov eax, esi
xor eax, 0x4341
mov edx, esi
xor edx, 0xffffbcbe
mov dword [ebp - 0x64], ecx
add edx, ecx
add edx, eax
mov dword [ebp - 0x70], edx
mov eax, esi
xor eax, 0x4c544a22
mov dword [ebp - 0x6c], eax
mov eax, esi
xor eax, 0x9c6d
mov ecx, esi
xor ecx, 0xffffe24d
inc ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x4c], eax
inc eax
mov dword [ebp - 0x5c], eax
mov eax, esi
xor eax, 0x466f9c6a
add eax, 0xfffffffe
mov dword [ebp - 0x68], eax
xor esi, 0x55d4c5f1
mov dword [ebp - 0x78], esi
xor eax, eax
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov esi, dword [ebp - 0x30]
xor edi, edi
mov dword [ebp - 0x30], esi
jmp 0x739722
mov eax, dword [ebp - 0x28]
xor eax, dword [ebp - 0x2c]
add edi, 2
cmp edi, dword [ebp - 0x40]
jge 0x739860
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], edi
mov edx, dword [ebp - 0x7c]
add edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x80]
adc ecx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x20]
lea ebx, [esi + edi]
sub edx, ebx
mov edi, dword [ebp - 0x20]
sbb ecx, 0
cmp edx, 2
sbb ecx, 0
movzx eax, word [esi + edi]
mov dword [ebp - 0x28], eax
jge 0x7397fb
mov ecx, dword [ebp - 0x6c]
cmp dword [0xb42c34], ecx
jne 0x7397b0
mov ebx, dword [ebp - 0x5c]
sub ebx, edx
mov ecx, dword [ebp - 0x4c]
imul ebx, ecx
shl ebx, cl
mov eax, 1
mov ecx, ebx
shl eax, cl
mov ebx, 0xffffffff
mov ecx, eax
shl ebx, cl
inc ebx
shl ebx, cl
mov esi, 0xffffffff
mov ecx, ebx
shl esi, cl
mov ecx, dword [ebp - 0x64]
add esi, ecx
imul esi, ecx
mov edi, 2
mov ecx, ebx
shl edi, cl
add edi, esi
mov esi, dword [ebp - 0x30]
jmp 0x7397c3
mov ebx, edx
mov ecx, dword [ebp - 0x4c]
shl ebx, cl
mov edi, 1
mov ecx, ebx
shl edi, cl
add edi, dword [ebp - 0x60]
add edi, dword [ebp - 0x70]
and dword [ebp - 0x28], edi
mov dword [0xb42c38], 0x7f86ade2
mov ecx, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x50]
lea edi, [ecx + ebx*4]
add edi, 4
add edi, dword [ecx + ebx*4 + 4]
mov dword [ebp - 0x58], edi
lea ecx, [ebx + 1]
mov edi, dword [ebp - 0x20]
add edi, dword [ebp - 0x68]
add edi, edx
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x78]
cmp dword [0xb42c38], ecx
jne 0x739710
mov ecx, dword [ebp - 0x28]
mov ebx, ecx
not ebx
mov edx, ebx
sub edx, ecx
xor edx, ebx
imul ebx, ecx
mov esi, ecx
shl ebx, cl
mov ecx, edx
mov eax, dword [ebp - 0x2c]
shl eax, cl
and ebx, esi
mov esi, dword [ebp - 0x30]
sub eax, edx
imul eax, edx
and eax, edx
mov ecx, eax
shl ebx, cl
or ebx, eax
lea ecx, [edi*4]
add cl, 0xf0
mov eax, edi
shl eax, cl
mov ecx, eax
shl edi, cl
sub edi, eax
mov eax, ebx
mov dword [0xb42c34], 0xcd9e8ce3
cmp dword [ebp - 0x40], edi
jg 0x739722
mov ebx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
jmp 0x73986a
xor eax, eax
lea edi, [esi + 1]
mov edx, ebx
xor edx, 0xbe98a070
mov ecx, 0xfff
cmp dword [0xb42c30], edx
je 0x739891
mov dword [0xb42c30], 0x23df1b16
mov ecx, 0xff6
cmp edi, ecx
jbe 0x7398ff
mov edx, ebx
xor edx, 0x51e4
inc edx
mov esi, edx
sub esi, eax
mov ecx, ebx
xor ecx, 0xb9906392
mov eax, dword [ebp - 0x48]
add ecx, eax
mov eax, dword [eax - 4]
mov dword [ebp - 0x20], eax
sub ecx, eax
add si, word [0xac0bf4]
mov edi, ebx
xor edi, 0x466f9c4e
cmp si, dx
setne dl
mov eax, dword [ebp - 0x44]
and al, dl
movzx edx, byte [ebp - 0x21]
or dl, al
and dl, 1
mov byte [0xb53780], dl
cmp ecx, edi
jae 0x739a18
xor ebx, 0x466f9c4a
mov edi, dword [ebp - 0x38]
add edi, ebx
mov dword [ebp - 0x10], 0xffffffff
mov esi, dword [ebp - 0x20]
jmp 0x739902
mov esi, dword [ebp - 0x48]
mov eax, dword [0xb42c74]
mov ebx, dword [0xb42c5c]
sub ebx, dword [ebp - 0x34]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov ecx, esi
mov edx, edi
call ebx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], eax
mov ecx, eax
nop word cs:[eax + eax]
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0x2c]
je 0x739a01
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x128]
mov ebx, dword [eax + 0x12c]
xor edx, edx
cmp esi, ebx
mov dword [ebp - 0x28], ecx
je 0x7399b6
lea eax, [ecx + 0xc]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [0xb42c70]
mov edi, dword [0xb42c60]
sub edi, dword [ebp - 0x34]
add edi, eax
mov ecx, edi
call dword [0xb0836c]
mov ecx, esi
push 0
push dword [ebp - 0x20]
call edi
cmp eax, 0xffffffff
jne 0x7399b0
add esi, 0x18
cmp esi, ebx
jne 0x739970
mov ecx, dword [ebp - 0x28]
xor edx, edx
jmp 0x7399b6
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x20], edx
mov eax, dword [ecx + 8]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x10], 1
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.0072de90
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 8]
mov ecx, dword [ebp + 0x14]
push dword [ebp - 0x20]
call fcn.00737f20
mov ecx, dword [ebp - 0x28]
add esp, 4
jmp 0x739940
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
add esp, 0x94
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x10], 0
call fcn.00748ef1
nop word cs:[eax + eax]
push ebp
sub esp, 8
add ebp, 0xc
call fcn.0077ccd0
nop dword [eax]
push ebp
sub esp, 8
add ebp, 0xc
mov eax, dword [0xb42c78]
mov esi, dword [0xb42c58]
sub esi, dword [ebp - 0x34]
add esi, eax
mov ecx, esi
call dword [0xb0836c]
lea ecx, [ebp - 0x98]
call esi
add esp, 8
pop ebp
ret