Function at 0x748bab
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x13e0
call fcn.00770810
mov eax, dword [0x77e078]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0xf
pop edi
mov dword [ebp - 0x1394], eax
xor ebx, ebx
push 0x778100
lea eax, [ebp - 0x107c]
mov esi, ecx
push eax
mov dword [ebp - 0x1398], esi
mov dword [ebp - 0x1030], edi
mov dword [ebp - 0x1034], ebx
mov byte [ebp - 0x1044], bl
mov dword [ebp - 0x1068], edi
mov dword [ebp - 0x106c], ebx
mov byte [ebp - 0x107c], bl
call fcn.00750eaa
push 0x778104
lea eax, [ebp - 0x10b4]
push eax
mov dword [ebp - 0x10a0], edi
mov dword [ebp - 0x10a4], ebx
mov byte [ebp - 0x10b4], bl
call fcn.00750eaa
push 5
push ebx
mov eax, esi
lea ecx, [ebp - 0x1028]
mov dword [ebp - 0x1014], edi
mov dword [ebp - 0x1018], ebx
mov byte [ebp - 0x1028], bl
call fcn.00751132
push 0x778108
lea edx, [ebp - 0x1028]
call fcn.00750c90
neg eax
sbb al, al
inc al
push 1
lea esi, [ebp - 0x1028]
mov byte [ebp - 0x1390], al
call fcn.0075105e
cmp byte [ebp - 0x1390], bl
je 0x7496c0
push 1
lea eax, [ebp - 0x1390]
push eax
push dword [ebp - 0x1398]
mov byte [ebp - 0x1390], 0x2f
push 5
pop eax
call fcn.00750ecd
mov dword [ebp - 0x13a4], eax
cmp eax, 0xffffffff
jne 0x748ce1
push eax
mov eax, dword [ebp - 0x1398]
push 5
lea ecx, [ebp - 0x1028]
mov dword [ebp - 0x1014], edi
mov dword [ebp - 0x1018], ebx
mov byte [ebp - 0x1028], bl
call fcn.00751132
lea eax, [ebp - 0x1044]
jmp 0x748d43
add eax, 0xfffffffb
push eax
mov eax, dword [ebp - 0x1398]
push 5
lea esi, [ebp - 0x115c]
call fcn.00750d2d
mov edi, esi
lea eax, [ebp - 0x1044]
call fcn.00750d51
push 1
xor ebx, ebx
call fcn.0075105e
mov eax, dword [ebp - 0x1398]
and dword [ebp - 0x1018], ebx
push 0xffffffffffffffff
push dword [ebp - 0x13a4]
lea ecx, [ebp - 0x1028]
mov dword [ebp - 0x1014], 0xf
mov byte [ebp - 0x1028], bl
call fcn.00751132
lea eax, [ebp - 0x10b4]
lea edi, [ebp - 0x1028]
call fcn.00750d51
push 1
xor ebx, ebx
mov esi, edi
call fcn.0075105e
push 1
lea eax, [ebp - 0x1390]
push eax
lea eax, [ebp - 0x1044]
push eax
xor eax, eax
mov byte [ebp - 0x1390], 0x3a
call fcn.00750ecd
mov dword [ebp - 0x1398], eax
cmp eax, 0xffffffff
je 0x748e15
and dword [ebp - 0x1018], ebx
inc eax
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x1044]
lea ecx, [ebp - 0x1028]
mov dword [ebp - 0x1014], 0xf
mov byte [ebp - 0x1028], bl
call fcn.00751132
lea edi, [ebp - 0x1028]
lea eax, [ebp - 0x107c]
call fcn.00750d51
push 1
mov esi, edi
call fcn.0075105e
push dword [ebp - 0x1398]
xor eax, eax
mov dword [ebp - 0x1018], eax
mov byte [ebp - 0x1028], al
push eax
lea eax, [ebp - 0x1044]
lea ecx, [ebp - 0x1028]
mov dword [ebp - 0x1014], 0xf
call fcn.00751132
lea edi, [ebp - 0x1028]
lea eax, [ebp - 0x1044]
call fcn.00750d51
push 1
mov esi, edi
call fcn.0075105e
cmp dword [ebp - 0x1068], 0x10
mov edx, dword [ebp - 0x107c]
jae 0x748e2a
lea edx, [ebp - 0x107c]
call fcn.00754359
mov dword [ebp - 0x1398], eax
lea eax, [ebp - 0x138c]
push eax
push 0x202
call dword [0x771270]
test eax, eax
je 0x748e55
push 0x77782b
jmp 0x7496c5
push 6
push 1
push 2
pop esi
push esi
call dword [0x771284]
mov dword [ebp - 0x13a0], eax
cmp eax, 0xffffffff
jne 0x748e7e
call dword [0x77127c]
push 0x77782e
jmp 0x7496c5
xor ebx, ebx
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0x13d8]
mov dword [ebp - 0x13dc], ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1044]
xor edi, edi
inc edi
cmp dword [ebp - 0x1030], 0x10
mov dword [ebp - 0x13d8], esi
mov dword [ebp - 0x13d4], edi
mov dword [ebp - 0x13b8], ebx
jae 0x748ebd
lea eax, [ebp - 0x1044]
lea ecx, [ebp - 0x13b8]
push ecx
lea ecx, [ebp - 0x13dc]
push ecx
push ebx
push eax
call dword [0x771274]
test eax, eax
je 0x748eff
push dword [ebp - 0x13a0]
call dword [0x77128c]
call dword [0x77127c]
mov esi, dword [ebp - 0x1394]
push 0x77782f
call fcn.00750b15
push edi
jmp 0x7496d2
push dword [ebp - 0x1398]
xor eax, eax
lea edi, [ebp - 0x116c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov word [ebp - 0x116c], si
call dword [0x771278]
mov word [ebp - 0x116a], ax
mov eax, dword [ebp - 0x13b8]
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 4]
push eax
mov dword [ebp - 0x1168], ecx
call dword [0x771288]
push 0x10
lea eax, [ebp - 0x116c]
push eax
push dword [ebp - 0x13a0]
call dword [0x77126c]
cmp eax, 0xffffffff
jne 0x748f74
push dword [ebp - 0x13a0]
call dword [0x77128c]
call dword [0x77127c]
push 0x777832
jmp 0x7496c5
push 0xf
pop esi
push 0x778110
lea eax, [ebp - 0x1140]
push eax
mov dword [ebp - 0x112c], esi
mov dword [ebp - 0x1130], ebx
mov byte [ebp - 0x1140], bl
call fcn.00750eaa
lea edi, [ebp - 0x10b4]
lea eax, [ebp - 0x11dc]
call fcn.00751414
push 0x778178
push eax
call fcn.00750e2b
mov edi, eax
lea eax, [ebp - 0x115c]
mov dword [ebp - 0x1148], esi
mov dword [ebp - 0x114c], ebx
mov byte [ebp - 0x115c], bl
call fcn.00750d51
lea eax, [ebp - 0x1044]
push eax
lea eax, [ebp - 0x11f8]
push eax
lea ecx, [ebp - 0x115c]
call fcn.0075146b
pop ecx
pop ecx
push 0x778174
push eax
call fcn.00750e2b
mov edi, eax
lea eax, [ebp - 0x1098]
mov dword [ebp - 0x1084], esi
mov dword [ebp - 0x1088], ebx
mov byte [ebp - 0x1098], bl
call fcn.00750d51
lea eax, [ebp - 0x107c]
push eax
lea eax, [ebp - 0x11c0]
push eax
lea ecx, [ebp - 0x1098]
call fcn.0075146b
pop ecx
pop ecx
push str._m_b
push eax
call fcn.00750e2b
mov edi, eax
lea eax, [ebp - 0x1028]
mov dword [ebp - 0x1014], esi
mov dword [ebp - 0x1018], ebx
mov byte [ebp - 0x1028], bl
call fcn.00750d51
lea eax, [ebp - 0x1140]
push eax
lea eax, [ebp - 0x11a4]
push eax
lea ecx, [ebp - 0x1028]
call fcn.0075146b
pop ecx
pop ecx
push 0x778114
push eax
call fcn.00750e2b
mov edi, eax
lea eax, [ebp - 0x10d0]
mov dword [ebp - 0x10bc], esi
mov dword [ebp - 0x10c0], ebx
mov byte [ebp - 0x10d0], bl
call fcn.00750d51
push 1
xor ebx, ebx
lea esi, [ebp - 0x11a4]
call fcn.0075105e
push 1
lea esi, [ebp - 0x1028]
call fcn.0075105e
push 1
lea esi, [ebp - 0x11c0]
call fcn.0075105e
push 1
lea esi, [ebp - 0x1098]
call fcn.0075105e
push 1
lea esi, [ebp - 0x11f8]
call fcn.0075105e
push 1
lea esi, [ebp - 0x115c]
call fcn.0075105e
push 1
lea esi, [ebp - 0x11dc]
call fcn.0075105e
cmp dword [ebp - 0x10bc], 0x10
mov eax, dword [ebp - 0x10d0]
jae 0x749116
lea eax, [ebp - 0x10d0]
mov esi, dword [ebp - 0x13a0]
xor ebx, ebx
push ebx
push dword [ebp - 0x10c0]
push eax
push esi
call dword [0x771290]
cmp eax, 0xffffffff
jne 0x749170
push esi
call dword [0x77128c]
call dword [0x77127c]
push 0x777833
mov esi, dword [ebp - 0x1394]
call fcn.00750b15
push 1
xor ebx, ebx
lea esi, [ebp - 0x10d0]
call fcn.0075105e
push 1
lea esi, [ebp - 0x1140]
call fcn.0075105e
jmp 0x7496d0
push ebx
push 0x1000
lea eax, [ebp - 0x100c]
push eax
push esi
call dword [0x771280]
test eax, eax
jg 0x74919c
push esi
call dword [0x77128c]
call dword [0x77127c]
push 0x777839
jmp 0x749144
push 0xf
pop edi
push 0x778194
lea eax, [ebp - 0x1108]
push eax
mov dword [ebp - 0x10f4], edi
mov dword [ebp - 0x10f8], ebx
mov byte [ebp - 0x1108], bl
call fcn.00750eaa
mov esi, dword [0x7712d8]
call esi
and eax, 0x800000ff
jns 0x7491d8
dec eax
or eax, 0xffffff00
inc eax
mov byte [ebp - 0x13b4], al
call esi
and eax, 0x800000ff
jns 0x7491ee
dec eax
or eax, 0xffffff00
inc eax
mov byte [ebp - 0x13b3], al
call esi
and eax, 0x800000ff
jns 0x749204
dec eax
or eax, 0xffffff00
inc eax
mov byte [ebp - 0x13b2], al
call esi
and eax, 0x800000ff
jns 0x74921a
dec eax
or eax, 0xffffff00
inc eax
push 0xffffffffffffff81
lea esi, [ebp - 0x1060]
mov byte [ebp - 0x13b1], al
mov dword [ebp - 0x104c], edi
mov dword [ebp - 0x1050], ebx
mov byte [ebp - 0x1060], bl
call fcn.00750e50
mov edi, dword [ebp - 0x10f8]
cmp edi, 0x7d
ja 0x749258
mov al, byte [ebp - 0x10f8]
or al, 0x80
movzx eax, al
push eax
jmp 0x749279
lea esi, [ebp - 0x1060]
cmp edi, 0xffff
ja 0x749286
push 0xfffffffffffffffe
call fcn.00750e50
mov eax, edi
shr eax, 8
push eax
call fcn.00750e50
push edi
lea esi, [ebp - 0x1060]
call fcn.00750e50
jmp 0x7492b9
push 0xffffffffffffffff
call fcn.00750e50
push 0x38
mov dword [ebp - 0x13a8], ebx
pop ebx
mov edx, dword [ebp - 0x13a8]
mov eax, edi
mov ecx, ebx
call 0x771600
movzx eax, al
push eax
lea esi, [ebp - 0x1060]
call fcn.00750e50
sub ebx, 8
jns 0x749296
lea eax, [ebp - 0x13b4]
push eax
push 4
pop ebx
lea eax, [ebp - 0x1060]
call fcn.00750b70
xor ebx, ebx
test edi, edi
je 0x74930c
cmp dword [ebp - 0x10f4], 0x10
mov eax, dword [ebp - 0x1108]
jae 0x7492e9
lea eax, [ebp - 0x1108]
mov ecx, ebx
and ecx, 3
mov cl, byte [ebp + ecx - 0x13b4]
xor cl, byte [eax + ebx]
lea esi, [ebp - 0x1060]
movzx eax, cl
push eax
call fcn.00750e50
inc ebx
cmp ebx, edi
jb 0x7492d4
cmp dword [ebp - 0x104c], 0x10
mov eax, dword [ebp - 0x1060]
jae 0x749321
lea eax, [ebp - 0x1060]
xor esi, esi
push esi
push dword [ebp - 0x1050]
push eax
push dword [ebp - 0x13a0]
call dword [0x771290]
cmp eax, 0xffffffff
jne 0x74937f
push dword [ebp - 0x13a0]
call dword [0x77128c]
call dword [0x77127c]
mov esi, dword [ebp - 0x1394]
push 0x77783a
call fcn.00750b15
push 1
xor ebx, ebx
lea esi, [ebp - 0x1060]
call fcn.0075105e
push 1
lea esi, [ebp - 0x1108]
call fcn.0075105e
jmp 0x74914f
mov dword [ebp - 0x108c], esi
mov dword [ebp - 0x1088], esi
mov dword [ebp - 0x1084], esi
mov dword [ebp - 0x10d8], 0xf
mov dword [ebp - 0x10dc], esi
mov byte [ebp - 0x10ec], 0
mov byte [ebp - 0x1390], 0
push esi
push 0x1000
lea eax, [ebp - 0x100c]
push eax
push dword [ebp - 0x13a0]
call dword [0x771280]
cmp eax, esi
jle 0x7495d7
push dword [ebp - 0x13b8]
lea eax, [ebp + eax - 0x100c]
push eax
lea eax, [ebp - 0x100c]
push eax
push dword [ebp - 0x1088]
lea ecx, [ebp - 0x108c]
call fcn.007515d0
jmp 0x74959d
mov al, byte [ebx + 1]
mov dl, byte [ebx]
mov cl, al
and al, 0x7f
shr dl, 7
movzx eax, al
mov byte [ebp - 0x13ad], dl
cdq
shr cl, 7
push 2
pop esi
mov byte [ebp - 0x1399], cl
mov dword [ebp - 0x13ac], eax
mov dword [ebp - 0x13a8], edx
cmp eax, 0x7e
jne 0x74945e
test edx, edx
jne 0x74945e
cmp dword [ebp - 0x1398], 4
jb 0x7495c8
movzx eax, byte [ebx + 2]
movzx edx, byte [ebx + 3]
shl eax, 8
or eax, edx
cdq
push 4
mov dword [ebp - 0x13ac], eax
mov dword [ebp - 0x13a8], edx
pop esi
jmp 0x7494b4
cmp eax, 0x7f
jne 0x7494b4
test edx, edx
jne 0x7494b4
cmp dword [ebp - 0x1398], 0xa
jb 0x7495c8
and dword [ebp - 0x13ac], edx
and dword [ebp - 0x13a8], edx
mov ecx, dword [ebp - 0x13ac]
mov edi, dword [ebp - 0x13a8]
movzx eax, byte [ebx + esi]
shld edi, ecx, 8
cdq
shl ecx, 8
or eax, ecx
or edx, edi
inc esi
mov dword [ebp - 0x13ac], eax
mov dword [ebp - 0x13a8], edx
cmp esi, 0xa
jl 0x749480
mov cl, byte [ebp - 0x1399]
mov dword [ebp - 0x13a4], 0
test cl, cl
je 0x7494dc
lea eax, [esi + 4]
cmp dword [ebp - 0x1398], eax
jb 0x7495c8
add esi, ebx
lea edi, [ebp - 0x13a4]
movsd dword es:[edi], dword [esi]
mov esi, eax
xor eax, eax
mov edx, esi
add edx, dword [ebp - 0x13ac]
adc eax, dword [ebp - 0x13a8]
xor ecx, ecx
cmp ecx, eax
jb 0x7495c8
ja 0x749504
cmp dword [ebp - 0x1398], edx
jb 0x7495c8
mov eax, dword [ebp - 0x13ac]
lea edi, [esi + ebx]
add eax, edi
push eax
push edi
lea esi, [ebp - 0x101c]
call fcn.007514a7
cmp byte [ebp - 0x1399], 0
mov esi, dword [ebp - 0x101c]
je 0x749555
mov ecx, dword [ebp - 0x1018]
xor eax, eax
sub ecx, esi
mov dword [ebp - 0x1398], ecx
je 0x749555
mov ecx, eax
and ecx, 3
mov cl, byte [ebp + ecx - 0x13a4]
xor byte [esi + eax], cl
inc eax
cmp eax, dword [ebp - 0x1398]
jb 0x74953d
push dword [ebp - 0x13b8]
lea eax, [ebp - 0x10ec]
push dword [ebp - 0x1018]
push esi
call fcn.00751724
mov eax, dword [ebp - 0x13ac]
add eax, edi
push eax
push ebx
lea eax, [ebp - 0x13bc]
push eax
lea edi, [ebp - 0x108c]
call fcn.00750ce9
cmp byte [ebp - 0x13ad], 0
lea edx, [ebp - 0x101c]
jne 0x7495bc
call fcn.007510d8
mov ebx, dword [ebp - 0x108c]
mov eax, dword [ebp - 0x1088]
sub eax, ebx
mov dword [ebp - 0x1398], eax
cmp eax, 2
jae 0x7493fb
jmp 0x7495c8
mov byte [ebp - 0x1390], 1
call fcn.007510d8
xor esi, esi
cmp byte [ebp - 0x1390], 0
je 0x7493af
mov dword [ebp - 0x1114], esi
push 0xffffffffffffff88
lea esi, [ebp - 0x1124]
mov dword [ebp - 0x1110], 0xf
mov byte [ebp - 0x1124], 0
call fcn.00750e50
xor edi, edi
push edi
call fcn.00750e50
cmp dword [ebp - 0x1110], 0x10
mov eax, dword [ebp - 0x1124]
jae 0x749614
mov eax, esi
push edi
push dword [ebp - 0x1114]
push eax
push dword [ebp - 0x13a0]
call dword [0x771290]
push dword [ebp - 0x13a0]
call dword [0x77128c]
call dword [0x77127c]
cmp dword [ebp - 0x10d8], 0x10
mov ecx, dword [ebp - 0x10ec]
mov eax, ecx
jae 0x749651
lea eax, [ebp - 0x10ec]
add eax, dword [ebp - 0x10dc]
cmp dword [ebp - 0x10d8], 0x10
jae 0x749666
lea ecx, [ebp - 0x10ec]
push eax
push ecx
lea esi, [ebp - 0x1188]
call fcn.007514de
mov eax, dword [ebp - 0x1394]
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], 0xf
mov edi, esi
mov byte [eax], 0
call fcn.00750d51
push 1
xor ebx, ebx
call fcn.0075105e
push 1
lea esi, [ebp - 0x1124]
call fcn.0075105e
push 1
lea esi, [ebp - 0x10ec]
call fcn.0075105e
lea edx, [ebp - 0x108c]
call fcn.007510d8
jmp 0x74935e
push 0x77782a
mov esi, dword [ebp - 0x1394]
call fcn.00750b15
push 1
xor ebx, ebx
lea esi, [ebp - 0x10b4]
call fcn.0075105e
push 1
lea esi, [ebp - 0x107c]
call fcn.0075105e
push 1
lea esi, [ebp - 0x1044]
call fcn.0075105e
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1394]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0075f48c
leave
ret