Function at 0x4f1960
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c4ef6
mov eax, dword fs:[0]
push eax
sub esp, 0x92c
mov eax, dword [0x692c00]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x930], esi
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x938], edi
mov eax, dword [edi + 8]
mov dword [ebp - 0x934], ecx
mov dword [ebp - 0x918], edx
cmp eax, 3
je 0x4f19cc
cmp eax, 6
je 0x4f19cc
cmp eax, 2
je 0x4f19cc
cmp eax, 5
je 0x4f19cc
cmp eax, 4
jne 0x4f19d0
mov byte [ebp + 8], 1
cmp eax, 8
jne 0x4f1b82
test ecx, ecx
je 0x4f1b76
push 0x290
lea eax, [ebp - 0x3a0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x3a0]
call fcn.004f6a30
push 0xd0
lea eax, [ebp - 0x110]
mov dword [ebp - 4], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x110]
call fcn.004f1650
push 0x568
lea eax, [ebp - 0x908]
mov byte [ebp - 4], 1
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x908]
call fcn.004f1580
lea ecx, [edi + 0x14]
mov byte [ebp - 4], 2
mov dword [ebp - 0x108], 1
call fcn.00402fb0
push eax
lea eax, [edi + 0x8c]
push eax
lea ecx, [ebp - 0xfc]
call fcn.004354f0
lea ecx, [edi + 0x14]
call fcn.00402fb0
push dword [ebp - 0x918]
shl eax, 3
lea ecx, [ebp - 0x3a0]
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0x908]
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x104], 3
push eax
push 1
call fcn.004f1960
call fcn.0040df80
cmp byte [edi + 0xac], 0
mov byte [ebp - 0x918], al
je 0x4f1af5
lea eax, [ebp - 0x40]
push eax
push dword [edi + 0xb4]
push dword [edi + 0xb0]
push dword [ebp - 0x918]
call fcn.0040e820
push 8
lea eax, [ebp - 0x38]
push 0
push eax
call fcn.0040dfc0
add esp, 0x1c
jmp 0x4f1b00
movups xmm0, xmmword [edi + 0xb8]
movups xmmword [ebp - 0x40], xmm0
mov eax, dword [ebp - 0x934]
lea ecx, [ebp - 0x3a0]
add eax, 0x558
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.004f56c0
lea ecx, [ebp - 0x908]
call fcn.004f1740
lea ecx, [ebp - 0xa4]
mov dword [ebp - method._ckSymSettings.virtual_0], vtable._ckSymSettings.0
call fcn.00434f20
lea ecx, [ebp - 0xc0]
call fcn.00434f20
lea ecx, [ebp - 0xdc]
call fcn.00434f20
lea ecx, [ebp - 0xfc]
call fcn.00434f20
lea ecx, [ebp - 0x3a0]
mov dword [ebp - 4], 0xffffffff
call fcn.004f6ab0
mov esi, dword [ebp - 0x930]
jmp 0x4f1b82
mov eax, dword [edx]
mov ecx, edx
push str.No_context_for_XTS_mode_
call dword [eax + 0x14]
mov al, byte [ebp + 8]
mov byte [esi + 0x88], al
mov eax, dword [edi + 0x10]
cmp eax, 0xc1
jl 0x4f1ba9
mov eax, 0x100
mov dword [edi + 0x10], 0x100
mov dword [ebp - 0x91c], eax
jmp 0x4f1bd4
cmp eax, 0x81
jl 0x4f1bc3
mov dword [edi + 0x10], 0xc0
mov dword [ebp - 0x91c], 0xc0
jmp 0x4f1bd4
mov dword [edi + 0x10], 0x80
mov dword [ebp - 0x91c], 0x80
xorps xmm0, xmm0
add edi, 0x14
mov ecx, edi
movups xmmword [ebp - 0x30], xmm0
movups xmmword [ebp - 0x20], xmm0
call fcn.00438ea0
test eax, eax
je 0x4f1c36
mov ecx, edi
call fcn.00402fb0
test eax, eax
je 0x4f1c36
mov ecx, edi
call fcn.00402fb0
mov ecx, edi
cmp eax, 0x20
jbe 0x4f1c1c
call fcn.00438ea0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x30], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0x20], xmm0
jmp 0x4f1c36
call fcn.00402fb0
push eax
mov ecx, edi
call fcn.00438ea0
push eax
lea eax, [ebp - 0x30]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [ebp - 0x91c]
mov eax, edi
sub eax, 0x80
je 0x4f1c6e
sub eax, 0x40
je 0x4f1c62
sub eax, 0x40
je 0x4f1c56
xor al, al
jmp 0x4f3131
mov dword [esi + 0x28c], 0xe
jmp 0x4f1c78
mov dword [esi + 0x28c], 0xc
jmp 0x4f1c78
mov dword [esi + 0x28c], 0xa
lea eax, [esi + 0x8c]
shr edi, 5
xor esi, esi
movzx edx, byte [ebp + esi*4 - 0x30]
movzx ecx, byte [ebp + esi*4 - 0x2f]
shl edx, 8
or edx, ecx
movzx ecx, byte [ebp + esi*4 - 0x2e]
shl edx, 8
or edx, ecx
movzx ecx, byte [ebp + esi*4 - 0x2d]
shl edx, 8
or edx, ecx
mov dword [eax + esi*4], edx
inc esi
cmp esi, edi
jl 0x4f1c83
mov ecx, dword [ebp - 0x930]
mov ecx, dword [ecx + 0x28c]
cmp ecx, 0xa
jne 0x4f21ef
mov edx, dword [eax + 0xc]
mov ecx, edx
shr ecx, 0x10
movzx ecx, cl
mov esi, dword [eax + 8]
mov edi, dword [ecx*4 + str.cwko0]
mov ecx, edx
shr ecx, 8
xor edi, 1
movzx ecx, cl
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
movzx ecx, dl
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
mov ecx, edx
mov edx, dword [eax + 4]
shr ecx, 0x18
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
xor edi, dword [eax]
xor edx, edi
mov dword [eax + 0x10], edi
xor esi, edx
mov dword [ebp - 0x918], edx
mov dword [eax + 0x14], edx
mov edx, dword [eax + 0xc]
xor edx, esi
mov dword [eax + 0x18], esi
mov ecx, edx
mov dword [ebp - 0x910], edx
shr ecx, 0x10
movzx ecx, cl
mov dword [eax + 0x1c], edx
mov ecx, dword [ecx*4 + str.cwko0]
xor ecx, 2
shl ecx, 8
mov dword [ebp - 0x90c], ecx
mov ecx, edx
mov edx, dword [ebp - 0x90c]
shr ecx, 8
movzx ecx, cl
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
movzx ecx, cl
mov dword [ebp - 0x90c], edx
shl dword [ebp - 0x90c], 8
mov edx, dword [ebp - 0x90c]
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
shr ecx, 0x18
mov dword [ebp - 0x90c], edx
shl dword [ebp - 0x90c], 8
mov edx, dword [ebp - 0x90c]
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, edx
mov dword [ebp - 0x90c], edx
xor ecx, edi
mov edi, ecx
mov dword [ebp - 0x90c], ecx
xor edi, dword [ebp - 0x918]
mov dword [eax + 0x20], ecx
mov edx, edi
mov ecx, dword [ebp - 0x910]
xor edx, esi
xor ecx, edx
mov dword [eax + 0x24], edi
mov dword [ebp - 0x910], ecx
mov dword [eax + 0x2c], ecx
shr ecx, 0x10
movzx ecx, cl
mov dword [eax + 0x28], edx
mov esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
xor esi, 4
shr ecx, 8
movzx ecx, cl
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
shl esi, 8
movzx ecx, cl
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
shr ecx, 0x18
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
xor esi, dword [ebp - 0x90c]
mov dword [ebp - 0x918], esi
mov dword [eax + 0x30], esi
xor esi, edi
mov dword [ebp - 0x914], esi
mov dword [eax + 0x34], esi
xor esi, edx
mov edx, esi
mov dword [eax + 0x38], esi
xor edx, dword [ebp - 0x910]
mov ecx, edx
mov dword [eax + 0x3c], edx
shr ecx, 0x10
movzx ecx, cl
mov edi, dword [ecx*4 + str.cwko0]
mov ecx, edx
shr ecx, 8
xor edi, 8
movzx ecx, cl
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
shl edi, 8
movzx ecx, dl
xor edi, dword [ecx*4 + str.cwko0]
mov ecx, edx
shr ecx, 0x18
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
xor edi, dword [ebp - 0x918]
mov ecx, dword [ebp - 0x914]
xor ecx, edi
mov dword [ebp - 0x918], edi
mov dword [ebp - 0x914], ecx
mov dword [eax + 0x44], ecx
mov dword [eax + 0x40], edi
mov edi, ecx
xor edi, esi
mov ecx, edi
mov dword [eax + 0x48], edi
xor ecx, edx
mov dword [ebp - 0x90c], ecx
mov edx, ecx
mov dword [eax + 0x4c], ecx
shr ecx, 0x10
movzx ecx, cl
mov esi, dword [ecx*4 + str.cwko0]
mov ecx, edx
shr ecx, 8
xor esi, 0x10
movzx ecx, cl
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
movzx ecx, dl
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, edx
shr ecx, 0x18
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
xor esi, dword [ebp - 0x918]
mov ecx, dword [ebp - 0x914]
xor ecx, esi
mov dword [eax + 0x50], esi
mov edx, ecx
mov dword [ebp - 0x914], ecx
mov dword [eax + 0x54], ecx
xor edx, edi
mov ecx, dword [ebp - 0x90c]
xor ecx, edx
mov dword [eax + 0x58], edx
mov dword [ebp - 0x90c], ecx
mov dword [eax + 0x5c], ecx
shr ecx, 0x10
movzx ecx, cl
mov edi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x90c]
xor edi, 0x20
shr ecx, 8
movzx ecx, cl
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x90c]
movzx ecx, cl
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x90c]
shr ecx, 0x18
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x914]
xor edi, esi
xor ecx, edi
mov dword [eax + 0x60], edi
mov esi, ecx
mov dword [ebp - 0x914], ecx
mov dword [eax + 0x64], ecx
xor esi, edx
mov ecx, dword [ebp - 0x90c]
xor ecx, esi
mov dword [eax + 0x68], esi
mov dword [ebp - 0x90c], ecx
mov dword [eax + 0x6c], ecx
shr ecx, 0x10
movzx ecx, cl
mov edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x90c]
xor edx, 0x40
shr ecx, 8
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x90c]
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x90c]
shr ecx, 0x18
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x914]
xor edx, edi
xor ecx, edx
mov dword [ebp - 0x918], edx
mov dword [ebp - 0x914], ecx
mov dword [eax + 0x74], ecx
mov dword [eax + 0x70], edx
mov edx, ecx
mov ecx, dword [ebp - 0x90c]
xor edx, esi
xor ecx, edx
mov dword [eax + 0x78], edx
mov dword [ebp - 0x90c], ecx
mov dword [eax + 0x7c], ecx
shr ecx, 0x10
movzx ecx, cl
mov edi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x90c]
xor edi, 0xffffff80
shr ecx, 8
movzx ecx, cl
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x90c]
movzx ecx, cl
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x90c]
shr ecx, 0x18
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
xor edi, dword [ebp - 0x918]
mov ecx, dword [ebp - 0x914]
xor ecx, edi
mov dword [eax + 0x80], edi
mov dword [ebp - 0x914], ecx
mov dword [eax + 0x84], ecx
xor ecx, edx
mov edx, ecx
mov dword [ebp - 0x918], ecx
xor edx, dword [ebp - 0x90c]
mov dword [eax + 0x88], ecx
mov ecx, edx
shr ecx, 0x10
movzx ecx, cl
mov dword [eax + 0x8c], edx
mov ecx, dword [ecx*4 + str.cwko0]
xor ecx, 0x1b
shl ecx, 8
mov dword [ebp - 0x90c], ecx
mov ecx, edx
mov esi, dword [ebp - 0x90c]
shr ecx, 8
movzx ecx, cl
xor esi, dword [ecx*4 + str.cwko0]
movzx ecx, dl
mov dword [ebp - 0x90c], esi
shl dword [ebp - 0x90c], 8
mov esi, dword [ebp - 0x90c]
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, edx
shr ecx, 0x18
mov dword [ebp - 0x90c], esi
shl dword [ebp - 0x90c], 8
mov esi, dword [ebp - 0x90c]
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, esi
mov dword [ebp - 0x90c], esi
xor ecx, edi
mov edi, ecx
mov dword [ebp - 0x90c], ecx
xor edi, dword [ebp - 0x914]
mov dword [eax + 0x90], ecx
mov dword [ebp - 0x91c], edi
mov dword [eax + 0x94], edi
xor edi, dword [ebp - 0x918]
mov ecx, edi
mov esi, dword [ebp - 0x91c]
xor ecx, edx
mov dword [eax + 0x98], edi
mov dword [ebp - 0x910], ecx
mov dword [eax + 0x9c], ecx
shr ecx, 0x10
movzx ecx, cl
mov edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
xor edx, 0x36
shr ecx, 8
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
shr ecx, 0x18
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
xor edx, dword [ebp - 0x90c]
xor esi, edx
mov dword [eax + 0xa0], edx
mov dword [eax + 0xa4], esi
xor esi, edi
mov dword [eax + 0xa8], esi
xor esi, dword [ebp - 0x910]
mov dword [eax + 0xac], esi
add eax, 0xa0
jmp 0x4f2f1d
cmp ecx, 0xc
jne 0x4f2747
mov ecx, dword [eax + 0x14]
shr ecx, 0x10
movzx ecx, cl
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x10]
mov edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [eax + 0x14]
xor edx, 1
shr ecx, 8
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [eax + 0x14]
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [eax + 0x14]
shr ecx, 0x18
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
xor edx, dword [eax]
mov ecx, dword [eax + 4]
xor ecx, edx
mov dword [ebp - 0x918], edx
mov dword [eax + 0x18], edx
mov edx, dword [eax + 8]
xor edx, ecx
mov dword [ebp - 0x914], ecx
xor esi, edx
mov dword [eax + 0x1c], ecx
mov dword [ebp - 0x910], edx
xor edi, esi
mov dword [eax + 0x20], edx
mov edx, dword [eax + 0x14]
xor edx, edi
mov dword [eax + 0x24], esi
mov ecx, edx
mov dword [ebp - 0x91c], edx
shr ecx, 0x10
movzx ecx, cl
mov dword [eax + 0x2c], edx
mov dword [eax + 0x28], edi
mov ecx, dword [ecx*4 + str.cwko0]
xor ecx, 2
shl ecx, 8
mov dword [ebp - 0x90c], ecx
mov ecx, edx
mov edx, dword [ebp - 0x90c]
shr ecx, 8
movzx ecx, cl
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x91c]
mov dword [ebp - 0x90c], edx
shl dword [ebp - 0x90c], 8
mov edx, dword [ebp - 0x90c]
movzx ecx, cl
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x91c]
mov dword [ebp - 0x90c], edx
shl dword [ebp - 0x90c], 8
mov edx, dword [ebp - 0x90c]
shr ecx, 0x18
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, edx
mov dword [ebp - 0x90c], edx
xor ecx, dword [ebp - 0x918]
mov edx, dword [ebp - 0x914]
xor edx, ecx
mov dword [ebp - 0x90c], ecx
mov dword [ebp - 0x914], edx
mov dword [eax + 0x34], edx
xor edx, dword [ebp - 0x910]
mov dword [ebp - 0x918], edx
mov dword [eax + 0x38], edx
xor edx, esi
mov esi, edx
mov dword [eax + 0x30], ecx
xor esi, edi
mov dword [eax + 0x3c], edx
mov dword [eax + 0x40], esi
mov ecx, esi
xor ecx, dword [ebp - 0x91c]
mov dword [ebp - 0x910], ecx
mov dword [eax + 0x44], ecx
shr ecx, 0x10
movzx ecx, cl
mov edi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
xor edi, 4
shr ecx, 8
movzx ecx, cl
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
movzx ecx, cl
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
shr ecx, 0x18
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
xor edi, dword [ebp - 0x90c]
mov ecx, dword [ebp - 0x914]
xor ecx, edi
mov dword [ebp - 0x91c], edi
mov dword [ebp - 0x914], ecx
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x48], edi
mov edi, ecx
xor edi, dword [ebp - 0x918]
mov ecx, edi
mov dword [eax + 0x50], edi
xor ecx, edx
mov dword [ebp - 0x918], ecx
mov edx, ecx
mov dword [eax + 0x54], ecx
xor edx, esi
mov ecx, dword [ebp - 0x910]
xor ecx, edx
mov dword [eax + 0x58], edx
mov dword [ebp - 0x910], ecx
mov dword [eax + 0x5c], ecx
shr ecx, 0x10
movzx ecx, cl
mov esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
xor esi, 8
shr ecx, 8
movzx ecx, cl
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
movzx ecx, cl
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
shr ecx, 0x18
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
xor esi, dword [ebp - 0x91c]
mov ecx, dword [ebp - 0x914]
xor ecx, esi
mov dword [ebp - 0x91c], esi
mov dword [ebp - 0x914], ecx
mov dword [eax + 0x64], ecx
xor ecx, edi
mov edi, ecx
mov dword [ebp - 0x920], ecx
xor edi, dword [ebp - 0x918]
mov dword [eax + 0x68], ecx
mov ecx, edi
xor ecx, edx
mov dword [eax + 0x60], esi
mov edx, ecx
mov dword [ebp - 0x918], ecx
xor edx, dword [ebp - 0x910]
mov dword [eax + 0x70], ecx
mov ecx, edx
shr ecx, 0x10
mov dword [eax + 0x6c], edi
mov dword [eax + 0x74], edx
movzx ecx, cl
mov ecx, dword [ecx*4 + str.cwko0]
xor ecx, 0x10
shl ecx, 8
mov dword [ebp - 0x90c], ecx
mov ecx, edx
mov esi, dword [ebp - 0x90c]
shr ecx, 8
movzx ecx, cl
xor esi, dword [ecx*4 + str.cwko0]
mov dword [ebp - 0x90c], esi
shl dword [ebp - 0x90c], 8
mov esi, dword [ebp - 0x90c]
movzx ecx, dl
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, edx
shr ecx, 0x18
mov dword [ebp - 0x90c], esi
shl dword [ebp - 0x90c], 8
mov esi, dword [ebp - 0x90c]
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, esi
mov dword [ebp - 0x90c], esi
xor ecx, dword [ebp - 0x91c]
mov esi, dword [ebp - 0x914]
xor esi, ecx
mov dword [ebp - 0x90c], ecx
mov dword [eax + 0x78], ecx
mov dword [ebp - 0x914], esi
mov dword [eax + 0x7c], esi
xor esi, dword [ebp - 0x920]
mov dword [ebp - 0x91c], esi
mov dword [eax + 0x80], esi
xor esi, edi
mov edi, esi
mov dword [eax + 0x84], esi
xor edi, dword [ebp - 0x918]
mov ecx, edi
mov dword [eax + 0x88], edi
xor ecx, edx
mov dword [ebp - 0x910], ecx
mov dword [eax + 0x8c], ecx
shr ecx, 0x10
movzx ecx, cl
mov edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
xor edx, 0x20
shr ecx, 8
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
shr ecx, 0x18
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
xor edx, dword [ebp - 0x90c]
mov ecx, dword [ebp - 0x914]
xor ecx, edx
mov dword [eax + 0x90], edx
mov dword [ebp - 0x914], ecx
mov dword [eax + 0x94], ecx
mov ecx, dword [ebp - 0x91c]
xor ecx, dword [ebp - 0x914]
xor esi, ecx
mov dword [ebp - 0x91c], ecx
mov dword [eax + 0x98], ecx
xor edi, esi
mov ecx, dword [ebp - 0x910]
xor ecx, edi
mov dword [ebp - 0x920], esi
mov dword [ebp - 0x910], ecx
mov dword [eax + 0xa4], ecx
shr ecx, 0x10
movzx ecx, cl
mov dword [eax + 0x9c], esi
mov dword [ebp - 0x918], edi
mov dword [eax + 0xa0], edi
mov esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
xor esi, 0x40
shr ecx, 8
movzx ecx, cl
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
movzx ecx, cl
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
shr ecx, 0x18
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
xor esi, edx
mov dword [ebp - 0x90c], esi
mov dword [eax + 0xa8], esi
xor esi, dword [ebp - 0x914]
mov edi, esi
mov dword [eax + 0xac], esi
xor edi, dword [ebp - 0x91c]
mov ecx, edi
mov dword [eax + 0xb0], edi
xor ecx, dword [ebp - 0x920]
mov dword [ebp - 0x920], ecx
mov dword [eax + 0xb4], ecx
xor ecx, dword [ebp - 0x918]
mov dword [ebp - 0x918], ecx
mov dword [eax + 0xb8], ecx
xor ecx, dword [ebp - 0x910]
mov dword [ebp - 0x910], ecx
mov dword [eax + 0xbc], ecx
shr ecx, 0x10
movzx ecx, cl
mov edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
xor edx, 0xffffff80
shl edx, 8
shr ecx, 8
movzx ecx, cl
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
shl edx, 8
movzx ecx, cl
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
shl edx, 8
shr ecx, 0x18
xor edx, dword [ecx*4 + str.cwko0]
xor edx, dword [ebp - 0x90c]
mov dword [eax + 0xc0], edx
xor edx, esi
mov esi, dword [ebp - 0x910]
mov dword [eax + 0xc4], edx
xor edx, edi
mov dword [eax + 0xc8], edx
xor edx, dword [ebp - 0x920]
mov dword [eax + 0xcc], edx
xor edx, dword [ebp - 0x918]
xor esi, edx
mov dword [eax + 0xd0], edx
mov dword [eax + 0xd4], esi
add eax, 0xc0
jmp 0x4f2f1d
cmp ecx, 0xe
jne 0x4f2f1d
mov ecx, dword [eax + 0x1c]
shr ecx, 0x10
movzx ecx, cl
mov esi, dword [eax + 0x14]
mov edi, dword [eax + 0x18]
mov edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [eax + 0x1c]
xor edx, 1
shr ecx, 8
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [eax + 0x1c]
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [eax + 0x1c]
shr ecx, 0x18
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
xor edx, dword [eax]
mov ecx, dword [eax + 4]
xor ecx, edx
mov dword [ebp - 0x920], edx
mov dword [ebp - 0x91c], ecx
mov dword [eax + 0x24], ecx
mov dword [eax + 0x20], edx
mov edx, dword [eax + 8]
xor edx, ecx
mov ecx, dword [eax + 0xc]
xor ecx, edx
mov dword [ebp - 0x918], edx
mov dword [ebp - 0x914], ecx
mov dword [eax + 0x2c], ecx
shr ecx, 0x18
mov dword [eax + 0x28], edx
mov edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x914]
shr ecx, 0x10
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x914]
shr ecx, 8
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x914]
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
xor edx, dword [eax + 0x10]
xor esi, edx
mov dword [ebp - 0x924], edx
mov dword [eax + 0x30], edx
xor edi, esi
mov edx, dword [eax + 0x1c]
xor edx, edi
mov dword [eax + 0x34], esi
mov ecx, edx
mov dword [ebp - 0x910], edx
shr ecx, 0x10
movzx ecx, cl
mov dword [eax + 0x3c], edx
mov dword [eax + 0x38], edi
mov ecx, dword [ecx*4 + str.cwko0]
xor ecx, 2
shl ecx, 8
mov dword [ebp - 0x90c], ecx
mov ecx, edx
mov edx, dword [ebp - 0x90c]
shr ecx, 8
movzx ecx, cl
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
mov dword [ebp - 0x90c], edx
shl dword [ebp - 0x90c], 8
mov edx, dword [ebp - 0x90c]
movzx ecx, cl
xor edx, dword [ecx*4 + str.cwko0]
mov dword [ebp - 0x90c], edx
mov ecx, dword [ebp - 0x910]
shl dword [ebp - 0x90c], 8
mov edx, dword [ebp - 0x90c]
shr ecx, 0x18
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, edx
mov dword [ebp - 0x90c], edx
xor ecx, dword [ebp - 0x920]
mov edx, dword [ebp - 0x91c]
xor edx, ecx
mov dword [ebp - 0x90c], ecx
mov dword [eax + 0x40], ecx
mov ecx, edx
xor ecx, dword [ebp - 0x918]
mov dword [ebp - 0x91c], edx
mov dword [ebp - 0x920], ecx
mov dword [eax + 0x44], edx
mov edx, dword [ebp - 0x914]
xor edx, ecx
mov dword [eax + 0x48], ecx
mov ecx, edx
mov dword [ebp - 0x914], edx
shr ecx, 0x18
mov dword [eax + 0x4c], edx
mov edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x914]
shr ecx, 0x10
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x914]
shr ecx, 8
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x914]
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
xor edx, dword [ebp - 0x924]
mov dword [ebp - 0x924], edx
mov dword [eax + 0x50], edx
xor edx, esi
mov esi, edx
mov dword [ebp - 0x928], edx
xor esi, edi
mov dword [eax + 0x54], edx
mov edx, dword [ebp - 0x910]
xor edx, esi
mov dword [eax + 0x58], esi
mov ecx, edx
mov dword [ebp - 0x910], edx
shr ecx, 0x10
movzx ecx, cl
mov dword [eax + 0x5c], edx
mov edi, dword [ecx*4 + str.cwko0]
mov ecx, edx
xor edi, 4
shr ecx, 8
shl edi, 8
movzx ecx, cl
xor edi, dword [ecx*4 + str.cwko0]
shl edi, 8
movzx ecx, dl
xor edi, dword [ecx*4 + str.cwko0]
mov ecx, edx
mov edx, dword [ebp - 0x914]
shl edi, 8
shr ecx, 0x18
xor edi, dword [ecx*4 + str.cwko0]
xor edi, dword [ebp - 0x90c]
mov dword [ebp - 0x92c], edi
mov dword [eax + 0x60], edi
xor edi, dword [ebp - 0x91c]
mov dword [ebp - 0x918], edi
mov dword [eax + 0x64], edi
xor edi, dword [ebp - 0x920]
xor edx, edi
mov dword [eax + 0x68], edi
mov dword [ebp - 0x914], edx
mov dword [eax + 0x6c], edx
mov ecx, edx
shr ecx, 0x18
mov ecx, dword [ecx*4 + str.cwko0]
shl ecx, 8
mov dword [ebp - 0x90c], ecx
mov ecx, edx
mov edx, dword [ebp - 0x90c]
shr ecx, 0x10
movzx ecx, cl
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x914]
shr ecx, 8
movzx ecx, cl
mov dword [ebp - 0x90c], edx
shl dword [ebp - 0x90c], 8
mov edx, dword [ebp - 0x90c]
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x914]
movzx ecx, cl
mov dword [ebp - 0x90c], edx
shl dword [ebp - 0x90c], 8
mov edx, dword [ebp - 0x90c]
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, edx
mov dword [ebp - 0x90c], edx
xor ecx, dword [ebp - 0x924]
mov dword [ebp - 0x90c], ecx
mov dword [eax + 0x70], ecx
xor ecx, dword [ebp - 0x928]
mov edx, ecx
mov dword [ebp - 0x928], ecx
mov dword [eax + 0x74], ecx
xor edx, esi
mov ecx, edx
mov dword [eax + 0x78], edx
xor ecx, dword [ebp - 0x910]
mov dword [ebp - 0x91c], ecx
mov dword [eax + 0x7c], ecx
shr ecx, 0x10
movzx ecx, cl
mov esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x91c]
xor esi, 8
shr ecx, 8
movzx ecx, cl
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x91c]
movzx ecx, cl
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x91c]
shr ecx, 0x18
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
xor esi, dword [ebp - 0x92c]
mov ecx, dword [ebp - 0x918]
xor ecx, esi
mov dword [ebp - 0x92c], esi
mov dword [ebp - 0x918], ecx
mov dword [eax + 0x84], ecx
mov dword [eax + 0x80], esi
mov esi, ecx
xor esi, edi
mov ecx, esi
mov dword [eax + 0x88], esi
xor ecx, dword [ebp - 0x914]
mov dword [ebp - 0x910], ecx
mov dword [eax + 0x8c], ecx
shr ecx, 0x18
mov edi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
shr ecx, 0x10
movzx ecx, cl
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
shr ecx, 8
movzx ecx, cl
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
movzx ecx, cl
shl edi, 8
xor edi, dword [ecx*4 + str.cwko0]
xor edi, dword [ebp - 0x90c]
mov dword [ebp - 0x924], edi
mov dword [eax + 0x90], edi
xor edi, dword [ebp - 0x928]
mov ecx, edi
mov dword [eax + 0x94], edi
xor ecx, edx
mov dword [ebp - 0x928], ecx
mov dword [eax + 0x98], ecx
xor ecx, dword [ebp - 0x91c]
mov dword [ebp - 0x914], ecx
mov dword [eax + 0x9c], ecx
shr ecx, 0x10
movzx ecx, cl
mov edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x914]
xor edx, 0x10
shr ecx, 8
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x914]
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x914]
shr ecx, 0x18
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
xor edx, dword [ebp - 0x92c]
mov ecx, dword [ebp - 0x910]
mov dword [ebp - 0x92c], edx
mov dword [eax + 0xa0], edx
xor edx, dword [ebp - 0x918]
mov dword [ebp - 0x918], edx
mov dword [eax + 0xa4], edx
xor edx, esi
xor ecx, edx
mov dword [eax + 0xa8], edx
mov dword [ebp - 0x910], ecx
mov dword [eax + 0xac], ecx
shr ecx, 0x18
mov esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
shr ecx, 0x10
movzx ecx, cl
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
shr ecx, 8
movzx ecx, cl
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x910]
movzx ecx, cl
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
xor esi, dword [ebp - 0x924]
mov ecx, dword [ebp - 0x914]
mov dword [ebp - 0x924], esi
mov dword [eax + 0xb0], esi
xor esi, edi
mov edi, esi
mov dword [ebp - 0x920], esi
xor edi, dword [ebp - 0x928]
xor ecx, edi
mov dword [eax + 0xb4], esi
mov dword [ebp - 0x914], ecx
mov dword [eax + 0xbc], ecx
shr ecx, 0x10
movzx ecx, cl
mov dword [eax + 0xb8], edi
mov ecx, dword [ecx*4 + str.cwko0]
xor ecx, 0x20
shl ecx, 8
mov dword [ebp - 0x90c], ecx
mov ecx, dword [ebp - 0x914]
mov esi, dword [ebp - 0x90c]
shr ecx, 8
movzx ecx, cl
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x914]
movzx ecx, cl
mov dword [ebp - 0x90c], esi
shl dword [ebp - 0x90c], 8
mov esi, dword [ebp - 0x90c]
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x914]
shr ecx, 0x18
mov dword [ebp - 0x90c], esi
shl dword [ebp - 0x90c], 8
mov esi, dword [ebp - 0x90c]
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, esi
mov dword [ebp - 0x90c], esi
xor ecx, dword [ebp - 0x92c]
mov esi, dword [ebp - 0x918]
xor esi, ecx
mov dword [ebp - 0x90c], ecx
mov dword [eax + 0xc0], ecx
mov dword [ebp - 0x918], esi
mov dword [eax + 0xc4], esi
xor esi, edx
mov edx, esi
mov dword [ebp - 0x92c], esi
xor edx, dword [ebp - 0x910]
mov ecx, edx
mov dword [eax + 0xc8], esi
shr ecx, 0x18
mov dword [ebp - 0x928], edx
mov dword [eax + 0xcc], edx
mov esi, dword [ecx*4 + str.cwko0]
mov ecx, edx
shr ecx, 0x10
movzx ecx, cl
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
mov ecx, edx
shr ecx, 8
movzx ecx, cl
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
movzx ecx, dl
shl esi, 8
xor esi, dword [ecx*4 + str.cwko0]
xor esi, dword [ebp - 0x924]
mov ecx, esi
mov dword [ebp - 0x924], esi
xor ecx, dword [ebp - 0x920]
mov dword [ebp - 0x920], ecx
mov dword [eax + 0xd4], ecx
xor ecx, edi
mov dword [ebp - 0x910], ecx
mov dword [eax + 0xd8], ecx
xor ecx, dword [ebp - 0x914]
mov dword [ebp - 0x91c], ecx
mov dword [eax + 0xdc], ecx
shr ecx, 0x10
movzx ecx, cl
mov dword [eax + 0xd0], esi
mov edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x91c]
xor edx, 0x40
shr ecx, 8
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x91c]
movzx ecx, cl
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x91c]
shr ecx, 0x18
shl edx, 8
xor edx, dword [ecx*4 + str.cwko0]
xor edx, dword [ebp - 0x90c]
mov dword [eax + 0xe0], edx
xor edx, dword [ebp - 0x918]
mov dword [eax + 0xe4], edx
xor edx, dword [ebp - 0x92c]
mov dword [eax + 0xe8], edx
xor edx, dword [ebp - 0x928]
mov ecx, edx
mov dword [ebp - 0x918], edx
shr ecx, 0x18
mov dword [eax + 0xec], edx
mov edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x918]
shr ecx, 0x10
shl edx, 8
movzx ecx, cl
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x918]
shr ecx, 8
shl edx, 8
movzx ecx, cl
xor edx, dword [ecx*4 + str.cwko0]
mov ecx, dword [ebp - 0x918]
shl edx, 8
movzx ecx, cl
xor edx, dword [ecx*4 + str.cwko0]
xor edx, esi
mov dword [eax + 0xf0], edx
xor edx, dword [ebp - 0x920]
mov dword [eax + 0xf4], edx
xor edx, dword [ebp - 0x910]
mov dword [eax + 0xf8], edx
xor edx, dword [ebp - 0x91c]
mov dword [eax + 0xfc], edx
add eax, 0xe0
cmp byte [0x696fc0], 0
jne 0x4f2f7c
xor esi, esi
nop dword [eax + eax]
mov edx, dword [esi + str.cwko0]
mov ecx, dword [edx*4 + 0x61f600]
mov dword [esi + 0x695fc0], ecx
mov ecx, dword [edx*4 + 0x61fa00]
mov dword [esi + 0x6963c0], ecx
mov ecx, dword [edx*4 + 0x61fe00]
mov dword [esi + 0x6967c0], ecx
mov ecx, dword [edx*4 + 0x620200]
mov dword [esi + 0x696bc0], ecx
add esi, 4
cmp esi, 0x400
jl 0x4f2f30
mov byte [0x696fc0], 1
mov edx, dword [ebp - 0x930]
mov ecx, dword [eax]
lea edi, [edx + 0x18c]
mov dword [edi], ecx
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edi + 8], ecx
mov ecx, dword [eax + 0xc]
add eax, 0x10
mov dword [edi + 0xc], ecx
add edi, 0x10
cmp dword [edx + 0x28c], 1
mov dword [ebp - 0x918], 1
jle 0x4f30d8
nop dword [eax + eax]
mov ecx, dword [eax - 0x20]
mov esi, dword [eax - 0x20]
shr ecx, 0x10
movzx edx, cl
mov ecx, esi
shr ecx, 8
movzx ecx, cl
mov edx, dword [edx*4 + 0x6963c0]
xor edx, dword [ecx*4 + 0x6967c0]
mov ecx, esi
shr ecx, 0x18
xor edx, dword [ecx*4 + 0x695fc0]
mov ecx, esi
movzx ecx, cl
xor edx, dword [ecx*4 + 0x696bc0]
mov dword [edi], edx
mov ecx, dword [eax - 0x1c]
mov esi, dword [eax - 0x1c]
shr ecx, 0x10
movzx edx, cl
mov ecx, esi
shr ecx, 8
movzx ecx, cl
mov edx, dword [edx*4 + 0x6963c0]
xor edx, dword [ecx*4 + 0x6967c0]
mov ecx, esi
shr ecx, 0x18
xor edx, dword [ecx*4 + 0x695fc0]
mov ecx, esi
movzx ecx, cl
xor edx, dword [ecx*4 + 0x696bc0]
mov dword [edi + 4], edx
mov ecx, dword [eax - 0x18]
mov esi, dword [eax - 0x18]
shr ecx, 0x10
movzx edx, cl
mov ecx, esi
shr ecx, 8
movzx ecx, cl
mov edx, dword [edx*4 + 0x6963c0]
xor edx, dword [ecx*4 + 0x6967c0]
mov ecx, esi
shr ecx, 0x18
xor edx, dword [ecx*4 + 0x695fc0]
mov ecx, esi
movzx ecx, cl
xor edx, dword [ecx*4 + 0x696bc0]
mov dword [edi + 8], edx
mov ecx, dword [eax - 0x14]
mov esi, dword [eax - 0x14]
add eax, 0xfffffff0
shr ecx, 0x10
movzx edx, cl
mov ecx, esi
shr ecx, 8
movzx ecx, cl
mov edx, dword [edx*4 + 0x6963c0]
xor edx, dword [ecx*4 + 0x6967c0]
mov ecx, esi
shr ecx, 0x18
xor edx, dword [ecx*4 + 0x695fc0]
mov ecx, esi
movzx ecx, cl
xor edx, dword [ecx*4 + 0x696bc0]
mov ecx, dword [ebp - 0x918]
mov dword [edi + 0xc], edx
inc ecx
mov edx, dword [ebp - 0x930]
add edi, 0x10
mov dword [ebp - 0x918], ecx
cmp ecx, dword [edx + 0x28c]
jl 0x4f2fc0
mov ecx, dword [eax - 0x20]
mov dword [edi], ecx
mov ecx, dword [eax - 0x1c]
mov dword [edi + 4], ecx
mov ecx, dword [eax - 0x18]
mov dword [edi + 8], ecx
mov eax, dword [eax - 0x14]
mov dword [edi + 0xc], eax
mov edi, dword [ebp - 0x934]
test edi, edi
je 0x4f312f
mov esi, dword [ebp - 0x938]
mov eax, dword [esi + 8]
cmp eax, 3
je 0x4f310c
cmp eax, 4
jne 0x4f312f
push dword [edx + 0x80]
lea ecx, [esi + 0x34]
call fcn.00402fb0
push eax
lea ecx, [esi + 0x34]
call fcn.00438ea0
push eax
lea ecx, [edi + 0x484]
call fcn.00597b60
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005b34c8
mov esp, ebp
pop ebp
ret 0x10