Function at 0x687590
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x18
call fcn.004d28e0
cmp dword [ebp + 8], 0
je 0x6875af
cmp dword [ebp + 0xc], 0
je 0x6875af
cmp dword [ebp + 0x10], 0
jne 0x6875b4
jmp 0x687f58
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x110]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0xc
je 0x6875dd
cmp dword [ebp - 0x14], 0xe
je 0x6875dd
cmp dword [ebp - 0x14], 0x10
je 0x6875dd
jmp 0x687f58
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
shl eax, 0x10
xor ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
shl eax, 8
xor ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
xor ecx, eax
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 5]
shl ecx, 0x10
xor edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 6]
shl ecx, 8
xor edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 7]
xor edx, ecx
mov dword [ebp - 0xc], edx
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 8]
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 9]
shl edx, 0x10
xor eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xa]
shl edx, 8
xor eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xb]
xor eax, edx
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xc]
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xd]
shl eax, 0x10
xor ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xe]
shl eax, 8
xor ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xf]
xor ecx, eax
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
xor edx, dword [ecx]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
xor ecx, dword [eax + 4]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
xor eax, dword [edx + 8]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
xor edx, dword [ecx + 0xc]
mov dword [ebp - 4], edx
xor eax, eax
jne 0x687694
mov ecx, dword [ebp - 0x10]
add ecx, 0x10
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x18]
shr edx, 0x18
movzx eax, dl
mov ecx, dword [ebp - 0x18]
shr ecx, 0x10
movzx edx, cl
mov eax, dword [eax*4 + 0x7973a8]
xor eax, dword [edx*4 + 0x7977a8]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x797ba8]
movzx ecx, byte [ebp - 0x18]
xor eax, dword [ecx*4 + 0x797fa8]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0xc]
shr edx, 0x18
movzx eax, dl
mov ecx, dword [ebp - 0xc]
shr ecx, 0x10
movzx edx, cl
mov eax, dword [eax*4 + 0x7973a8]
xor eax, dword [edx*4 + 0x7977a8]
mov ecx, dword [ebp - 0xc]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x797ba8]
movzx ecx, byte [ebp - 0xc]
xor eax, dword [ecx*4 + 0x797fa8]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 8]
shr edx, 0x18
movzx eax, dl
mov ecx, dword [ebp - 8]
shr ecx, 0x10
movzx edx, cl
mov eax, dword [eax*4 + 0x7973a8]
xor eax, dword [edx*4 + 0x7977a8]
mov ecx, dword [ebp - 8]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x797ba8]
movzx ecx, byte [ebp - 8]
xor eax, dword [ecx*4 + 0x797fa8]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
shr edx, 0x18
movzx eax, dl
mov ecx, dword [ebp - 4]
shr ecx, 0x10
movzx edx, cl
mov eax, dword [eax*4 + 0x7973a8]
xor eax, dword [edx*4 + 0x7977a8]
mov ecx, dword [ebp - 4]
shr ecx, 8
movzx edx, cl
xor eax, dword [edx*4 + 0x797ba8]
movzx ecx, byte [ebp - 4]
xor eax, dword [ecx*4 + 0x797fa8]
mov dword [ebp - 4], eax
xor edx, edx
jne 0x6876d0
mov eax, dword [ebp - 0xc]
xor eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x18]
xor edx, dword [ebp - 0xc]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 4]
xor eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x18]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
xor edx, dword [ebp - 8]
mov dword [ebp - 0xc], edx
xor eax, eax
jne 0x6877d0
mov ecx, dword [ebp - 0xc]
shl ecx, 8
and ecx, 0xff00ff00
mov edx, dword [ebp - 0xc]
shr edx, 8
and edx, 0xff00ff
xor ecx, edx
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 8]
shr eax, 0x10
mov ecx, dword [ebp - 8]
shl ecx, 0x10
or eax, ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
shl edx, 0x18
mov eax, dword [ebp - 4]
shr eax, 0x18
xor edx, eax
mov ecx, dword [ebp - 4]
and ecx, 0xff00
shl ecx, 8
xor edx, ecx
mov eax, dword [ebp - 4]
and eax, 0xff0000
shr eax, 8
xor edx, eax
mov dword [ebp - 4], edx
xor ecx, ecx
jne 0x68780a
mov edx, dword [ebp - 0xc]
xor edx, dword [ebp - 8]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 8]
xor eax, dword [ebp - 4]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 4]
xor edx, dword [ebp - 0xc]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
xor eax, dword [ebp - 0x18]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
xor edx, edx
jne 0x687868
xor eax, eax
jne 0x6876d0
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
xor edx, dword [ecx]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
xor ecx, dword [eax + 4]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
xor eax, dword [edx + 8]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
xor edx, dword [ecx + 0xc]
mov dword [ebp - 4], edx
xor eax, eax
jne 0x6878aa
mov ecx, dword [ebp - 0x10]
add ecx, 0x10
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x14]
sub edx, 2
mov dword [ebp - 0x14], edx
je 0x687d26
mov eax, dword [ebp - 0x18]
shr eax, 0x18
movzx ecx, al
mov edx, dword [ebp - 0x18]
shr edx, 0x10
movzx eax, dl
mov ecx, dword [ecx*4 + 0x797ba8]
xor ecx, dword [eax*4 + 0x797fa8]
mov edx, dword [ebp - 0x18]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x7973a8]
movzx edx, byte [ebp - 0x18]
xor ecx, dword [edx*4 + 0x7977a8]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0xc]
shr eax, 0x18
movzx ecx, al
mov edx, dword [ebp - 0xc]
shr edx, 0x10
movzx eax, dl
mov ecx, dword [ecx*4 + 0x797ba8]
xor ecx, dword [eax*4 + 0x797fa8]
mov edx, dword [ebp - 0xc]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x7973a8]
movzx edx, byte [ebp - 0xc]
xor ecx, dword [edx*4 + 0x7977a8]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 8]
shr eax, 0x18
movzx ecx, al
mov edx, dword [ebp - 8]
shr edx, 0x10
movzx eax, dl
mov ecx, dword [ecx*4 + 0x797ba8]
xor ecx, dword [eax*4 + 0x797fa8]
mov edx, dword [ebp - 8]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x7973a8]
movzx edx, byte [ebp - 8]
xor ecx, dword [edx*4 + 0x7977a8]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
shr eax, 0x18
movzx ecx, al
mov edx, dword [ebp - 4]
shr edx, 0x10
movzx eax, dl
mov ecx, dword [ecx*4 + 0x797ba8]
xor ecx, dword [eax*4 + 0x797fa8]
mov edx, dword [ebp - 4]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x7973a8]
movzx edx, byte [ebp - 4]
xor ecx, dword [edx*4 + 0x7977a8]
mov dword [ebp - 4], ecx
xor eax, eax
jne 0x6878f5
mov ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 8]
xor edx, dword [ebp - 4]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x18]
xor eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 4]
xor ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
xor edx, dword [ebp - 0x18]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
xor eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
xor ecx, ecx
jne 0x6879f5
mov edx, dword [ebp - 4]
shl edx, 8
and edx, 0xff00ff00
mov eax, dword [ebp - 4]
shr eax, 8
and eax, 0xff00ff
xor edx, eax
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 0x18]
shr ecx, 0x10
mov edx, dword [ebp - 0x18]
shl edx, 0x10
or ecx, edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0xc]
shl eax, 0x18
mov ecx, dword [ebp - 0xc]
shr ecx, 0x18
xor eax, ecx
mov edx, dword [ebp - 0xc]
and edx, 0xff00
shl edx, 8
xor eax, edx
mov ecx, dword [ebp - 0xc]
and ecx, 0xff0000
shr ecx, 8
xor eax, ecx
mov dword [ebp - 0xc], eax
xor edx, edx
jne 0x687a2f
mov eax, dword [ebp - 0xc]
xor eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x18]
xor edx, dword [ebp - 0xc]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 4]
xor eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x18]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
xor edx, dword [ebp - 8]
mov dword [ebp - 0xc], edx
xor eax, eax
jne 0x687a8d
xor ecx, ecx
jne 0x6878f5
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
xor eax, dword [edx]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
xor edx, dword [ecx + 4]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
xor ecx, dword [eax + 8]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
xor eax, dword [edx + 0xc]
mov dword [ebp - 4], eax
xor ecx, ecx
jne 0x687acf
mov edx, dword [ebp - 0x10]
add edx, 0x10
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x18]
shr eax, 0x18
movzx ecx, al
mov edx, dword [ebp - 0x18]
shr edx, 0x10
movzx eax, dl
mov ecx, dword [ecx*4 + 0x7973a8]
xor ecx, dword [eax*4 + 0x7977a8]
mov edx, dword [ebp - 0x18]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x797ba8]
movzx edx, byte [ebp - 0x18]
xor ecx, dword [edx*4 + 0x797fa8]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0xc]
shr eax, 0x18
movzx ecx, al
mov edx, dword [ebp - 0xc]
shr edx, 0x10
movzx eax, dl
mov ecx, dword [ecx*4 + 0x7973a8]
xor ecx, dword [eax*4 + 0x7977a8]
mov edx, dword [ebp - 0xc]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x797ba8]
movzx edx, byte [ebp - 0xc]
xor ecx, dword [edx*4 + 0x797fa8]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 8]
shr eax, 0x18
movzx ecx, al
mov edx, dword [ebp - 8]
shr edx, 0x10
movzx eax, dl
mov ecx, dword [ecx*4 + 0x7973a8]
xor ecx, dword [eax*4 + 0x7977a8]
mov edx, dword [ebp - 8]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x797ba8]
movzx edx, byte [ebp - 8]
xor ecx, dword [edx*4 + 0x797fa8]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
shr eax, 0x18
movzx ecx, al
mov edx, dword [ebp - 4]
shr edx, 0x10
movzx eax, dl
mov ecx, dword [ecx*4 + 0x7973a8]
xor ecx, dword [eax*4 + 0x7977a8]
mov edx, dword [ebp - 4]
shr edx, 8
movzx eax, dl
xor ecx, dword [eax*4 + 0x797ba8]
movzx edx, byte [ebp - 4]
xor ecx, dword [edx*4 + 0x797fa8]
mov dword [ebp - 4], ecx
xor eax, eax
jne 0x687b0b
mov ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 8]
xor edx, dword [ebp - 4]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x18]
xor eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 4]
xor ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
xor edx, dword [ebp - 0x18]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
xor eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
xor ecx, ecx
jne 0x687c0b
mov edx, dword [ebp - 0xc]
shl edx, 8
and edx, 0xff00ff00
mov eax, dword [ebp - 0xc]
shr eax, 8
and eax, 0xff00ff
xor edx, eax
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 8]
shr ecx, 0x10
mov edx, dword [ebp - 8]
shl edx, 0x10
or ecx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 4]
shl eax, 0x18
mov ecx, dword [ebp - 4]
shr ecx, 0x18
xor eax, ecx
mov edx, dword [ebp - 4]
and edx, 0xff00
shl edx, 8
xor eax, edx
mov ecx, dword [ebp - 4]
and ecx, 0xff0000
shr ecx, 8
xor eax, ecx
mov dword [ebp - 4], eax
xor edx, edx
jne 0x687c45
mov eax, dword [ebp - 0xc]
xor eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x18]
xor edx, dword [ebp - 0xc]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 4]
xor eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x18]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
xor edx, dword [ebp - 8]
mov dword [ebp - 0xc], edx
xor eax, eax
jne 0x687ca3
xor ecx, ecx
jne 0x687b0b
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
xor eax, dword [edx]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
xor edx, dword [ecx + 4]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
xor ecx, dword [eax + 8]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
xor eax, dword [edx + 0xc]
mov dword [ebp - 4], eax
xor ecx, ecx
jne 0x687ce5
mov edx, dword [ebp - 0x10]
add edx, 0x10
mov dword [ebp - 0x10], edx
jmp 0x6878e6
mov eax, dword [ebp - 0x18]
shr eax, 0x18
movzx ecx, al
movzx edx, byte [ecx*4 + 0x797ba8]
shl edx, 0x18
mov eax, dword [ebp - 0x18]
shr eax, 0x10
movzx ecx, al
mov eax, dword [ecx*4 + 0x797fa8]
shr eax, 8
movzx ecx, al
shl ecx, 0x10
or edx, ecx
mov eax, dword [ebp - 0x18]
shr eax, 8
movzx ecx, al
movzx eax, byte [ecx*4 + 0x7973a8]
shl eax, 8
or edx, eax
movzx ecx, byte [ebp - 0x18]
movzx eax, byte [ecx*4 + 0x7977a8]
or edx, eax
mov ecx, dword [ebp - 0x10]
xor edx, dword [ecx]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0xc]
shr edx, 0x18
movzx eax, dl
movzx ecx, byte [eax*4 + 0x797ba8]
shl ecx, 0x18
mov edx, dword [ebp - 0xc]
shr edx, 0x10
movzx eax, dl
mov edx, dword [eax*4 + 0x797fa8]
shr edx, 8
movzx eax, dl
shl eax, 0x10
or ecx, eax
mov edx, dword [ebp - 0xc]
shr edx, 8
movzx eax, dl
movzx edx, byte [eax*4 + 0x7973a8]
shl edx, 8
or ecx, edx
movzx eax, byte [ebp - 0xc]
movzx edx, byte [eax*4 + 0x7977a8]
or ecx, edx
mov eax, dword [ebp - 0x10]
xor ecx, dword [eax + 4]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 8]
shr ecx, 0x18
movzx edx, cl
movzx eax, byte [edx*4 + 0x797ba8]
shl eax, 0x18
mov ecx, dword [ebp - 8]
shr ecx, 0x10
movzx edx, cl
mov ecx, dword [edx*4 + 0x797fa8]
shr ecx, 8
movzx edx, cl
shl edx, 0x10
or eax, edx
mov ecx, dword [ebp - 8]
shr ecx, 8
movzx edx, cl
movzx ecx, byte [edx*4 + 0x7973a8]
shl ecx, 8
or eax, ecx
movzx edx, byte [ebp - 8]
movzx ecx, byte [edx*4 + 0x7977a8]
or eax, ecx
mov edx, dword [ebp - 0x10]
xor eax, dword [edx + 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
shr eax, 0x18
movzx ecx, al
movzx edx, byte [ecx*4 + 0x797ba8]
shl edx, 0x18
mov eax, dword [ebp - 4]
shr eax, 0x10
movzx ecx, al
mov eax, dword [ecx*4 + 0x797fa8]
shr eax, 8
movzx ecx, al
shl ecx, 0x10
or edx, ecx
mov eax, dword [ebp - 4]
shr eax, 8
movzx ecx, al
movzx eax, byte [ecx*4 + 0x7973a8]
shl eax, 8
or edx, eax
movzx ecx, byte [ebp - 4]
movzx eax, byte [ecx*4 + 0x7977a8]
or edx, eax
mov ecx, dword [ebp - 0x10]
xor edx, dword [ecx + 0xc]
mov dword [ebp - 4], edx
mov edx, dword [ebp - 0x18]
shr edx, 0x18
mov eax, dword [ebp + 0xc]
mov byte [eax], dl
mov ecx, dword [ebp - 0x18]
shr ecx, 0x10
mov edx, dword [ebp + 0xc]
mov byte [edx + 1], cl
mov eax, dword [ebp - 0x18]
shr eax, 8
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 2], al
mov edx, dword [ebp + 0xc]
mov al, byte [ebp - 0x18]
mov byte [edx + 3], al
xor ecx, ecx
jne 0x687e95
mov edx, dword [ebp - 0xc]
shr edx, 0x18
mov eax, dword [ebp + 0xc]
mov byte [eax + 4], dl
mov ecx, dword [ebp - 0xc]
shr ecx, 0x10
mov edx, dword [ebp + 0xc]
mov byte [edx + 5], cl
mov eax, dword [ebp - 0xc]
shr eax, 8
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 6], al
mov edx, dword [ebp + 0xc]
mov al, byte [ebp - 0xc]
mov byte [edx + 7], al
xor ecx, ecx
jne 0x687ec5
mov edx, dword [ebp - 8]
shr edx, 0x18
mov eax, dword [ebp + 0xc]
mov byte [eax + 8], dl
mov ecx, dword [ebp - 8]
shr ecx, 0x10
mov edx, dword [ebp + 0xc]
mov byte [edx + 9], cl
mov eax, dword [ebp - 8]
shr eax, 8
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0xa], al
mov edx, dword [ebp + 0xc]
mov al, byte [ebp - 8]
mov byte [edx + 0xb], al
xor ecx, ecx
jne 0x687ef6
mov edx, dword [ebp - 4]
shr edx, 0x18
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xc], dl
mov ecx, dword [ebp - 4]
shr ecx, 0x10
mov edx, dword [ebp + 0xc]
mov byte [edx + 0xd], cl
mov eax, dword [ebp - 4]
shr eax, 8
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0xe], al
mov edx, dword [ebp + 0xc]
mov al, byte [ebp - 4]
mov byte [edx + 0xf], al
xor ecx, ecx
jne 0x687f27
mov esp, ebp
pop ebp
ret