Function at 0x4fe400
Capabilities:
Encode data using xor

Disassembly:
push ebp
lea ebp, [esp - 0x64]
sub esp, 0x64
push 0xffffffffffffffff
push 0x639456
mov eax, dword fs:[0]
push eax
sub esp, 0x128
mov eax, dword [0x6a6040]
xor eax, ebp
mov dword [ebp + 0x60], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
cmp byte [0x6ac56d], 0
mov dword [ebp - 0xe0], ecx
jne 0x4ff6a4
mov dword [ebp - 4], 0
mov ebx, dword [0x6ac16c]
xor esi, esi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x5c], esi
mov byte [ebp - 0x58], 0
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0xffffffffffffffff
push dword [ebx]
mov dword [ebp - 0x70], eax
call eax
cmp eax, 0x80
jne 0x4fe482
mov dword [ebx + 8], esi
jmp 0x4fe486
test eax, eax
jne 0x4fe49a
inc dword [ebx + 0xc]
mov esi, 1
inc dword [ebx + 8]
inc dword [ebx + 4]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x5c], esi
mov ecx, dword [0x6ac684]
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ecx + 0x347]
call fcn.005c0ab0
push 0
push 0x6ad1a4
lea ecx, [ebp - 0x104]
push ecx
mov ecx, eax
call fcn.005bc070
lea ecx, [ebp - 0x6c]
call fcn.00405d60
push ecx
lea ecx, [ebp - 0x28]
call fcn.005083a0
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x4fe639
cmp byte [ebp - 0x14], 0
jne 0x4fe61c
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4fe61c
mov eax, dword [eax + 0x20]
mov dword [eax + 0x141], 1
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x4fe580
cmp byte [ebp - 0x14], 0
jne 0x4fe57c
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4fe54b
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x4fe57c
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ecx + 0x10]
jae 0x4fe54b
nop dword [eax + eax]
mov eax, dword [ecx + 0x14]
mov edx, dword [ebp - 0x18]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x4fe57c
lea eax, [edx + 1]
mov dword [ebp - 0x18], eax
cmp eax, dword [ecx + 0x10]
jb 0x4fe530
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x4fe55a
mov eax, dword [ebp - 0x28]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x4fe564
mov dword [eax + 4], ecx
xor ecx, ecx
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], ecx
cmp byte [ebp - 0x14], cl
je 0x4fe580
mov byte [ebp - 0x14], 0
mov dword [ebp - 0xa9], 0
mov dword [ebp - 0xa5], 0
mov dword [ebp - 0xa1], ecx
test ecx, ecx
je 0x4fe639
mov eax, dword [ebp - 0x1c]
add ecx, 0x1c
mov dword [ebp - 0x9d], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x99], eax
mov al, byte [ebp - 0x14]
mov byte [ebp - 0x95], al
mov eax, dword [ecx]
mov dword [ebp - 0xa9], eax
lea eax, [ebp - 0xa9]
mov dword [ebp - 0xa5], ecx
mov dword [ecx], eax
mov ecx, eax
mov eax, dword [ebp - 0xa9]
mov dword [eax + 4], ecx
cmp dword [ebp - 0xa1], 0
je 0x4fe4d5
mov ecx, dword [ebp - 0xa5]
test ecx, ecx
je 0x4fe606
mov eax, dword [ebp - 0xa9]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xa5]
mov eax, dword [ebp - 0xa9]
test eax, eax
je 0x4fe4d5
mov dword [eax + 4], ecx
jmp 0x4fe4d5
test ecx, ecx
je 0x4fe639
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x4fe62c
mov eax, dword [ebp - 0x28]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x4fe639
mov eax, dword [ebp - 0x24]
mov dword [ecx + 4], eax
test esi, esi
jg 0x4fe646
cmp dword [0x6ac6c4], 0
jne 0x4fe654
dec esi
mov ecx, ebx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x5c], esi
call fcn.005e0810
push 0
sub esp, 8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x12c]
push 0
push 0x10
call fcn.00508040
mov esi, dword [ebp - 0x100]
mov dword [ebp - 0x3c], 0
test esi, esi
je 0x4fe6b2
lea eax, [ebp - 0x94]
push eax
lea ecx, [esi + 0x81]
push 0x6ad1a8
call fcn.005c67a0
test eax, eax
jne 0x4fe6b2
mov edi, dword [ebp - 0x94]
mov dword [ebp - 0x6c], vtable.CMaaXmlNode.0
mov dword [ebp - 0x64], edi
test edi, edi
je 0x4fe6be
lock inc dword [edi + 8]
jmp 0x4fe6be
xor edi, edi
mov dword [ebp - 0x6c], vtable.CMaaXmlNode.0
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x68], edi
or ebx, 0xffffffff
mov esi, dword [ebp - 0x38]
test edi, edi
je 0x4fede6
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0
push eax
lea esi, [edi + 0x37]
push 0x6ad1ac
mov ecx, esi
call fcn.004aae40
mov edi, dword [ebp - 0x34]
test edi, edi
je 0x4fe6f5
add edi, 0xc
jmp 0x4fe6fa
mov edi, 0x6aefbc
mov edi, dword [edi]
test edi, edi
je 0x4fe705
lock inc dword [edi]
jmp 0x4fe707
xor edi, edi
mov dword [ebp - 0xd8], edi
test edi, edi
je 0x4fed1f
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0
push eax
push 0x6ad1b0
mov ecx, esi
call fcn.004aae40
mov esi, dword [ebp - 0x34]
test esi, esi
je 0x4fe738
add esi, 0xc
jmp 0x4fe73d
mov esi, 0x6aefbc
mov esi, dword [esi]
mov dword [ebp - 0x74], esi
test esi, esi
je 0x4fe74b
lock inc dword [esi]
jmp 0x4fe750
xor esi, esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0xdc], esi
mov byte [ebp - 4], 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0
movlpd qword [ebp + 0x50], xmm0
movlpd qword [ebp + 0x58], xmm0
mov dword [ebp + 4], 0x1770
test esi, esi
je 0x4fe77e
mov ecx, dword [esi + 0xc]
jmp 0x4fe783
mov ecx, 0x651f68
push 0x654c3c
lea edx, [ebp - 0x34]
call fcn.005d2610
add esp, 4
test eax, eax
jns 0x4fe7bc
test esi, esi
je 0x4fe7a0
mov ecx, dword [esi + 0xc]
jmp 0x4fe7a5
mov ecx, 0x651f68
push ecx
lea eax, [ebp + 0x50]
or edx, 0xffffffff
push 0x654c3c
push eax
call fcn.005d2060
add esp, 0xc
test eax, eax
jle 0x4fecf6
test esi, esi
je 0x4fe7cb
mov ecx, dword [esi + 0xc]
jmp 0x4fe7d0
mov ecx, 0x651f68
lea edx, [ebp + 4]
inc ecx
push edx
add eax, ecx
push 0x654184
push eax
call fcn.0041abe0
mov eax, dword [ebp + 4]
add esp, 0xc
test eax, eax
jle 0x4fe7f3
cmp eax, 0xffff
jle 0x4fe7fa
mov dword [ebp + 4], 0x1770
mov esi, dword [ebp - 0x38]
push 0xffffffffffffffff
push dword [esi]
call dword [ebp - 0x70]
cmp eax, 0x80
jne 0x4fe814
mov dword [esi + 8], 0
jmp 0x4fe818
test eax, eax
jne 0x4fe82b
mov eax, dword [ebp - 0x2c]
inc dword [esi + 0xc]
inc dword [esi + 8]
inc dword [esi + 4]
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x5c], eax
mov ebx, dword [0x6ad608]
test ebx, ebx
je 0x4fe9fb
cmp byte [ebx + 0x274], 0
je 0x4fe85e
mov esi, dword [ebx + 0x27a]
test esi, esi
je 0x4fe852
cmp dword [esi + 4], 0
jne 0x4fe882
mov esi, dword [0x6ad1cc]
test esi, esi
jne 0x4fe882
jmp 0x4fe885
mov esi, dword [ebx + 0x26a]
test esi, esi
je 0x4fe874
mov esi, dword [esi + 0x470]
test esi, esi
jne 0x4fe882
jmp 0x4fe885
mov esi, dword [0x6ad1d0]
test esi, esi
je 0x4fecef
lock inc dword [esi]
cmp esi, edi
jne 0x4fe893
mov byte [ebp - 0x2d], 1
test esi, esi
je 0x4fe8d0
jmp 0x4fe8be
test esi, esi
je 0x4fecef
mov eax, dword [esi + 4]
cmp eax, dword [edi + 4]
jne 0x4fe8ba
mov edx, dword [edi + 0xc]
mov ecx, dword [esi + 0xc]
push eax
call fcn.005a4c60
add esp, 4
mov byte [ebp - 0x2d], 1
test al, al
jne 0x4fe8be
mov byte [ebp - 0x2d], 0
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x4fe8d0
push ecx
mov ecx, esi
call fcn.005a47b0
cmp byte [ebp - 0x2d], 0
je 0x4fecef
mov esi, dword [ebp - 0x34]
test esi, esi
je 0x4feb1f
mov ecx, dword [ebx + 0x26]
test ecx, ecx
je 0x4fe9fb
test byte [0x6ad968], 3
xorps xmm0, xmm0
mov eax, dword [ebx + 4]
mov dword [ebp], eax
mov dword [ebp + 8], eax
mov eax, dword [ebp + 4]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp + 0x10], esi
movlpd qword [ebp + 0x14], xmm0
movlpd qword [ebp + 0x1c], xmm0
mov dword [ebp + 0x24], eax
mov dword [ebp + 0x28], 0
jne 0x4feaa2
lea ecx, [ebp + 8]
xor eax, eax
mov edx, 7
ror eax, 0x19
lea ecx, [ecx + 4]
xor eax, dword [ecx - 4]
sub edx, 1
jne 0x4fe933
div dword [0x6ad960]
mov eax, dword [0x6ad964]
mov ecx, dword [eax + edx*4]
lea eax, [eax + edx*4]
test ecx, ecx
je 0x4fea9f
mov edx, dword [ebp]
nop dword [eax]
cmp dword [ecx + 0xc], esi
jne 0x4fea95
mov eax, dword [ecx + 0x10]
or eax, dword [ecx + 0x14]
jne 0x4fea95
mov eax, dword [ecx + 0x18]
or eax, dword [ecx + 0x1c]
jne 0x4fea95
cmp dword [ecx + 4], edx
jne 0x4fea95
mov eax, dword [ebp + 4]
cmp dword [ecx + 8], eax
jne 0x4fea95
mov esi, dword [ecx + 0x20]
cmp dword [esi + 0x141], 0
je 0x4fea2b
lea eax, [ebp - 0x6c]
push eax
lea ecx, [esi + 0x155]
call fcn.005bb910
mov eax, dword [ebx + 0x26]
mov dword [esi + 0x15d], eax
mov ebx, dword [ebp - 0x3c]
cmp dword [esi + 0x125], ebx
mov dword [esi + 0x141], 0
je 0x4fe9ea
lea eax, [esi + 0x109]
mov ecx, 0x6ad980
push eax
call fcn.005088a0
mov dword [esi + 0x161], ebx
push 1
push 0
lea ecx, [esi + 0x196]
push 1
call fcn.0041b220
or ebx, 0xffffffff
mov eax, dword [ebp - 0x2c]
test eax, eax
jg 0x4fea14
cmp byte [ebp - 0x58], 0
jne 0x4fea14
cmp dword [0x6ac6c4], 0
jne 0x4fea23
mov ecx, dword [ebp - 0x38]
dec eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x5c], eax
call fcn.005e0810
mov esi, dword [ebp - 0x74]
jmp 0x4fecf9
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
movlpd qword [ebp - 0x20], xmm0
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 0xb
mov eax, dword [0x6ad1c4]
test eax, eax
je 0x4fea60
lock inc dword [eax]
mov eax, dword [0x6ad1c4]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
push ecx
push eax
lea eax, [ebp + 8]
push eax
mov ecx, 0x6ad980
call fcn.0050b910
mov ecx, dword [ebp - 0x18]
or ebx, 0xffffffff
test ecx, ecx
je 0x4fe9fe
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x4fe9fe
push ecx
call fcn.005a47b0
jmp 0x4fe9fe
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4fe960
mov ecx, dword [ebx + 0x26]
mov edx, dword [ebp - 0x64]
sub esp, 8
mov eax, esp
mov dword [eax], vtable.CMaaXmlNode.0
test edx, edx
je 0x4feabd
lock inc dword [edx + 8]
mov dword [eax + 4], edx
jmp 0x4feac4
mov dword [eax + 4], 0
push ecx
lea ecx, [ebp - 0xf0]
call fcn.004f9580
push ecx
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x12c]
call fcn.0050aff0
mov ecx, dword [ebp - 0xe8]
or ebx, 0xffffffff
mov dword [ebp - 0xec], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x4fe9fe
mov eax, ebx
lock xadd dword [ecx + 8], eax
dec eax
jne 0x4fe9fe
mov esi, dword [ebp - 0xe8]
jmp 0x4fecd4
mov esi, dword [ebx + 8]
test esi, esi
je 0x4fe9fb
test byte [0x6ad968], 3
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x54]
mov dword [ebp + 0x3c], eax
mov eax, dword [ebp + 0x58]
mov dword [ebp + 0x40], eax
mov eax, dword [ebp + 0x5c]
mov dword [ebp + 0x44], eax
mov eax, dword [ebp + 4]
mov dword [ebp + 0x30], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp + 0x2c], esi
mov dword [ebp + 0x34], 0
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x4c], 0
jne 0x4fec59
lea ecx, [ebp + 0x2c]
xor eax, eax
mov edx, 7
ror eax, 0x19
lea ecx, [ecx + 4]
xor eax, dword [ecx - 4]
sub edx, 1
jne 0x4feb76
div dword [0x6ad960]
mov eax, dword [0x6ad964]
lea eax, [eax + edx*4]
mov eax, dword [eax]
test eax, eax
je 0x4fec59
mov edx, dword [ebp + 0x54]
nop
cmp dword [eax + 0xc], 0
jne 0x4fec4f
mov ecx, dword [ebp + 0x50]
cmp dword [eax + 0x10], ecx
jne 0x4fec4f
cmp dword [eax + 0x14], edx
jne 0x4fec4f
mov ecx, dword [ebp + 0x58]
cmp dword [eax + 0x18], ecx
mov ecx, dword [ebp + 4]
jne 0x4fec4f
mov edx, dword [ebp + 0x5c]
cmp dword [eax + 0x1c], edx
mov edx, dword [ebp + 0x54]
jne 0x4fec4f
cmp dword [eax + 4], esi
jne 0x4fec4f
cmp dword [eax + 8], ecx
jne 0x4fec4f
mov esi, dword [eax + 0x20]
cmp dword [esi + 0x141], 0
je 0x4fec0d
lea eax, [ebp - 0x6c]
push eax
lea ecx, [esi + 0x155]
call fcn.005bb910
mov dword [esi + 0x15d], 0
jmp 0x4fe9be
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
movlpd qword [ebp - 0x20], xmm0
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 0xd
mov eax, dword [0x6ad1c4]
test eax, eax
je 0x4fec42
lock inc dword [eax]
mov eax, dword [0x6ad1c4]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
push ecx
push eax
lea eax, [ebp + 0x2c]
jmp 0x4fea68
mov eax, dword [eax]
test eax, eax
jne 0x4feba0
mov edx, dword [ebp - 0x64]
sub esp, 8
mov ecx, dword [ebx + 0x26]
mov eax, esp
mov dword [eax], vtable.CMaaXmlNode.0
test edx, edx
je 0x4fec77
lock inc dword [edx + 8]
mov dword [eax + 4], edx
jmp 0x4fec7e
mov dword [eax + 4], 0
push ecx
lea ecx, [ebp - 0xfc]
call fcn.004f9580
push ecx
lea eax, [ebp - 0xfc]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp + 0x2c]
push eax
lea ecx, [ebp - 0x12c]
call fcn.0050aff0
mov ecx, dword [ebp - 0xf4]
or ebx, 0xffffffff
mov dword [ebp - 0xf8], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x4fe9fe
mov eax, ebx
lock xadd dword [ecx + 8], eax
dec eax
jne 0x4fe9fe
mov esi, dword [ebp - 0xf4]
test esi, esi
je 0x4fe9fe
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
jmp 0x4fe9fe
mov ebx, dword [ebx]
jmp 0x4fe831
or ebx, 0xffffffff
test esi, esi
je 0x4fed0e
mov eax, ebx
lock xadd dword [esi], eax
dec eax
jne 0x4fed0e
push ecx
mov ecx, esi
call fcn.005a47b0
mov eax, ebx
lock xadd dword [edi], eax
dec eax
jne 0x4fed1f
push ecx
mov ecx, edi
call fcn.005a47b0
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x6c]
call fcn.0041a9f0
inc dword [ebp - 0x3c]
mov esi, dword [ebp - 0x90]
mov dword [ebp - 0x94], vtable.CMaaXmlNode.0
test esi, esi
je 0x4fed50
mov eax, ebx
lock xadd dword [esi + 8], eax
dec eax
je 0x4fed5b
nop
mov edi, dword [ebp - 0x68]
mov dword [ebp - 0x64], edi
jmp 0x4fe6c4
mov ecx, esi
call fcn.005baee0
mov ecx, dword [0x6b0dec]
call fcn.005e0dc0
mov ecx, dword [0x6ac69c]
test ecx, ecx
je 0x4feda4
mov eax, dword [ecx + 0x80]
mov dword [esi], eax
inc dword [ecx + 0x8c]
add dword [ecx + 0x84], 0xffffffff
mov dword [ecx + 0x80], esi
jne 0x4feda4
push ecx
mov dword [0x6ac69c], 0
call fcn.00409820
mov byte [ebp - 4], 8
mov esi, dword [0x6b0dec]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [esi + 8]
lea edx, [esi + 8]
nop
cmp ecx, eax
jne 0x4fedcf
mov eax, dword [esi]
nop
cmp eax, 1
jne 0x4fedcc
mov eax, dword [esi + 4]
xchg dword [edx], eax
lock dec dword [esi]
mov eax, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x60]
mov edi, dword [ebp - 0x68]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x64], edi
jmp 0x4fe6c7
push 0xffffffffffffffff
push dword [esi]
call dword [ebp - 0x70]
cmp eax, 0x80
jne 0x4fedfd
mov dword [esi + 8], 0
jmp 0x4fee01
test eax, eax
jne 0x4fee14
mov eax, dword [ebp - 0x2c]
inc dword [esi + 0xc]
inc dword [esi + 8]
inc dword [esi + 4]
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x5c], eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.005083a0
nop dword [eax]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
test edx, edx
je 0x4fef76
cmp byte [ebp - 0x14], 0
jne 0x4fef76
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4fef76
mov eax, dword [eax + 0x20]
cmp dword [eax + 0x141], 0
je 0x4fee66
push 1
push 0
push 1
lea ecx, [eax + 0x165]
call fcn.0041b220
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
test edx, edx
je 0x4feee1
cmp byte [ebp - 0x14], 0
jne 0x4feedd
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4feea6
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x4feedd
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, dword [edx + 0x10]
jae 0x4feea6
nop dword [eax]
mov eax, dword [edx + 0x14]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x4feedd
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, dword [edx + 0x10]
jb 0x4fee90
mov edx, dword [ebp - 0x24]
test edx, edx
je 0x4feeb5
mov eax, dword [ebp - 0x28]
mov dword [edx], eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
test edx, edx
je 0x4feec5
mov eax, dword [ebp - 0x24]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], edx
cmp byte [ebp - 0x14], dl
je 0x4feee1
mov byte [ebp - 0x14], 0
mov dword [ebp - 0xbe], 0
mov dword [ebp - 0xba], 0
mov dword [ebp - 0xb6], edx
test edx, edx
je 0x4fef76
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xb2], eax
mov al, byte [ebp - 0x14]
mov dword [ebp - 0xae], ecx
lea ecx, [edx + 0x1c]
mov byte [ebp - 0xaa], al
mov eax, dword [ecx]
mov dword [ebp - 0xbe], eax
lea eax, [ebp - 0xbe]
mov dword [ebp - 0xba], ecx
mov dword [ecx], eax
mov ecx, eax
mov eax, dword [ebp - 0xbe]
mov dword [eax + 4], ecx
cmp dword [ebp - 0xb6], 0
je 0x4fee20
mov ecx, dword [ebp - 0xba]
test ecx, ecx
je 0x4fef60
mov eax, dword [ebp - 0xbe]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xba]
mov eax, dword [ebp - 0xbe]
test eax, eax
je 0x4fee20
mov dword [eax + 4], ecx
jmp 0x4fee20
mov eax, dword [ebp - 0x2c]
test eax, eax
jg 0x4fef8c
cmp byte [ebp - 0x58], 0
jne 0x4fef8c
cmp dword [0x6ac6c4], 0
jne 0x4fef9d
dec eax
mov ecx, esi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x5c], eax
call fcn.005e0810
mov edx, dword [ebp - 0x20]
test edx, edx
je 0x4fefba
mov edx, dword [ebp - 0x24]
test edx, edx
je 0x4fefad
mov eax, dword [ebp - 0x28]
mov dword [edx], eax
mov edx, dword [ebp - 0x28]
test edx, edx
je 0x4fefba
mov eax, dword [ebp - 0x24]
mov dword [edx + 4], eax
mov edx, dword [ebp - 0x11c]
xor eax, eax
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
test edx, edx
je 0x4feff1
mov esi, dword [ebp - 0x118]
mov ecx, dword [esi + eax*4]
test ecx, ecx
jne 0x4ff104
inc eax
cmp eax, edx
jb 0x4fefe1
mov dword [ebp - 0x81], 0
mov dword [ebp - 0x89], 0
mov dword [ebp - 0x85], 0
cmp dword [ebp - 0x4c], 0
je 0x4ff03c
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x4ff021
mov eax, dword [ebp - 0x54]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x4ff02e
mov eax, dword [ebp - 0x50]
mov dword [ecx + 4], eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], 0
mov ecx, dword [ebp - 0x81]
mov dword [ebp - 0x4c], ecx
test ecx, ecx
je 0x4ff0a4
mov eax, dword [ebp - 0x7d]
add ecx, 0x1c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x79]
mov dword [ebp - 0x44], eax
mov al, byte [ebp - 0x75]
mov byte [ebp - 0x40], al
mov eax, dword [ecx]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x54]
mov dword [ebp - 0x50], ecx
mov dword [ecx], eax
mov ecx, eax
mov eax, dword [ebp - 0x54]
mov dword [eax + 4], ecx
cmp dword [ebp - 0x81], 0
je 0x4ff0a1
mov ecx, dword [ebp - 0x85]
test ecx, ecx
je 0x4ff094
mov eax, dword [ebp - 0x89]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x85]
mov eax, dword [ebp - 0x89]
test eax, eax
je 0x4ff0a1
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x11
test ecx, ecx
je 0x4ff640
cmp byte [ebp - 0x40], 0
jne 0x4ff623
cmp dword [ebp - 0x48], 0
je 0x4ff623
push 0x44
call fcn.00606edf
mov ecx, eax
add esp, 4
mov dword [ebp - 0xdc], ecx
mov eax, dword [ebp - 0xe0]
mov byte [ebp - 4], 0x12
mov eax, dword [eax + 4]
push dword [eax + 0xae]
call fcn.005d7110
mov esi, eax
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x74], esi
test esi, esi
je 0x4ff6c7
jmp 0x4ff1bc
mov dword [ebp - 0x1c], ecx
lea edx, [ebp - 0x12c]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x110]
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x110], ecx
mov byte [ebp - 0x14], 0
mov dword [ebp - 0x28], eax
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x89], 0
mov dword [ebp - 0x85], 0
mov dword [ebp - 0x81], ecx
test ecx, ecx
je 0x4ff00f
mov eax, dword [ebp - 0x1c]
add ecx, 0x1c
mov dword [ebp - 0x7d], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x79], eax
mov al, byte [ebp - 0x14]
mov byte [ebp - 0x75], al
mov eax, dword [ecx]
mov dword [ebp - 0x89], eax
lea eax, [ebp - 0x89]
mov dword [ebp - 0x85], ecx
mov dword [ecx], eax
mov ecx, eax
mov eax, dword [ebp - 0x89]
mov dword [eax + 4], ecx
cmp dword [ebp - 0x20], 0
je 0x4ff00f
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x4ff1a9
mov eax, dword [ebp - 0x28]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x4ff00f
mov dword [eax + 4], ecx
jmp 0x4ff00f
mov dword [ebp + 4], 0
mov byte [ebp - 4], 0x14
xor ebx, ebx
mov eax, dword [ebp - 0x48]
push 0x1f5
cmp dword [eax + 0xc], ebx
je 0x4ff228
call fcn.00606edf
mov edi, eax
add esp, 4
mov dword [ebp - 0xd8], edi
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x48]
mov edx, dword [esi + 0x3c]
mov dword [ebp], edx
push dword [ecx + 0x28]
lea eax, [ecx + 4]
push eax
sub esp, 8
mov edx, esp
mov dword [edx], vtable.CMaaXmlNode.0
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x4ff212
lock inc dword [eax + 8]
jmp 0x4ff214
xor eax, eax
mov ecx, 4
mov dword [ecx + edx], eax
mov ecx, edi
push dword [ebp]
call fcn.004fd7a0
jmp 0x4ff275
call fcn.00606edf
mov edi, eax
add esp, 4
mov dword [ebp - 0x90], edi
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x48]
mov edx, dword [esi + 0x3c]
mov dword [ebp], edx
lea eax, [ecx + 4]
push eax
sub esp, 8
mov edx, esp
mov dword [edx], vtable.CMaaXmlNode.0
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x4ff261
lock inc dword [eax + 8]
jmp 0x4ff263
xor eax, eax
mov ecx, 4
mov dword [ecx + edx], eax
mov ecx, edi
push dword [ebp]
call fcn.004fda80
mov edi, eax
test edi, edi
je 0x4ff2dd
lea eax, [esi + 0x10]
push eax
push 0
push esi
push 0x5e0ec0
push 0
push 0
call fcn.0061408e
add esp, 0x18
mov dword [esi + 0xc], eax
cmp eax, 0xffffffff
je 0x4ff2d5
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + 0xc]
push dword [ecx + 8]
test eax, eax
je 0x4ff2bd
push eax
push str.Multicast_receiver_from__I:_d_created_successfully_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x10
jmp 0x4ff31a
lea eax, [ecx + 0x10]
push eax
push str.Multicast_receiver_from___J_:_d_created_successfully_n
push 0x6a6e70
call fcn.0042abc0
add esp, 0x10
jmp 0x4ff31a
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov eax, dword [0x6ad1e0]
mov ebx, 1
cmp eax, dword [ebp + 4]
je 0x4ff31a
test eax, eax
je 0x4ff300
lock inc dword [eax]
mov eax, dword [0x6ad1e0]
mov ecx, dword [ebp + 4]
mov dword [ebp + 4], eax
test ecx, ecx
je 0x4ff31a
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x4ff31a
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x70]
mov dword [ebp - 4], 0x13
mov edi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x38]
jmp 0x4ff38a
mov eax, dword [ebp + 4]
mov esi, str.Multicast_receiver_from__I:_d_create_error__S_n
test eax, eax
je 0x4ff4e4
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
movlpd qword [ebp - 0x20], xmm0
mov byte [ebp - 4], 0x19
lock inc dword [eax]
mov eax, dword [ebp + 4]
push 0xffffffffffffffff
push dword [ecx]
mov dword [ebp - 0x18], eax
call edx
cmp eax, 0x80
jne 0x4ff41e
mov eax, dword [ebp - 0x38]
mov dword [eax + 8], 0
jmp 0x4ff425
test eax, eax
jne 0x4ff438
mov eax, dword [ebp - 0x38]
inc dword [eax + 0xc]
inc dword [eax + 8]
inc dword [eax + 4]
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x5c], eax
push ecx
lea eax, [ebp - 0x28]
mov ecx, 0x6ad980
push eax
mov eax, dword [ebp - 0x48]
add eax, 4
push eax
call fcn.0050b910
mov eax, dword [ebp - 0x2c]
test eax, eax
jg 0x4ff464
cmp byte [ebp - 0x58], 0
jne 0x4ff464
cmp dword [0x6ac6c4], 0
jne 0x4ff473
mov ecx, dword [ebp - 0x38]
dec eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x5c], eax
call fcn.005e0810
lea eax, [ebp + 4]
push eax
push 0x6549c8
push 0x6a6e70
call fcn.0042abc0
mov ecx, dword [ebp - 0x48]
lea edx, [ebp + 4]
add esp, 0xc
mov eax, dword [ecx + 0xc]
push edx
push dword [ecx + 8]
test eax, eax
je 0x4ff4a8
push eax
cmp ebx, 1
mov eax, str.Multicast_receiver_from__I:_d_create__S_n
cmovne eax, esi
jmp 0x4ff4bc
lea eax, [ecx + 0x10]
cmp ebx, 1
push eax
mov eax, str.Multicast_receiver_from___J_:_d_create__S_n
mov ecx, str.Multicast_receiver_from___J_:_d_create_error__S_n
cmovne eax, ecx
push eax
lea eax, [ebp + 4]
push eax
call fcn.005abfb0
mov ecx, dword [ebp - 0x18]
add esp, 0x14
or ebx, 0xffffffff
test ecx, ecx
je 0x4ff4e7
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x4ff4e7
push ecx
call fcn.005a47b0
jmp 0x4ff4e7
or ebx, 0xffffffff
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x4ff501
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x4ff501
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x4ff580
cmp byte [ebp - 0x40], 0
jne 0x4ff57c
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x4ff54b
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x4ff57c
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp eax, dword [ecx + 0x10]
jae 0x4ff54b
nop word [eax + eax]
mov eax, dword [ecx + 0x14]
mov edx, dword [ebp - 0x44]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x4ff57c
lea eax, [edx + 1]
mov dword [ebp - 0x44], eax
cmp eax, dword [ecx + 0x10]
jb 0x4ff530
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x4ff55a
mov eax, dword [ebp - 0x54]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x4ff564
mov dword [eax + 4], ecx
xor ecx, ecx
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x4c], ecx
cmp byte [ebp - 0x40], cl
je 0x4ff580
mov byte [ebp - 0x40], 0
mov dword [ebp - 0xd3], 0
mov dword [ebp - 0xcf], 0
mov dword [ebp - 0xcb], ecx
test ecx, ecx
je 0x4ff640
mov eax, dword [ebp - 0x48]
add ecx, 0x1c
mov dword [ebp - 0xc7], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xc3], eax
mov al, byte [ebp - 0x40]
mov byte [ebp - 0xbf], al
mov eax, dword [ecx]
mov dword [ebp - 0xd3], eax
lea eax, [ebp - 0xd3]
mov dword [ebp - 0xcf], ecx
mov dword [ecx], eax
mov ecx, eax
mov eax, dword [ebp - 0xd3]
mov dword [eax + 4], ecx
cmp dword [ebp - 0xcb], 0
je 0x4ff610
mov ecx, dword [ebp - 0xcf]
test ecx, ecx
je 0x4ff602
mov eax, dword [ebp - 0xd3]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xcf]
mov eax, dword [ebp - 0xd3]
test eax, eax
jne 0x4ff618
nop dword [eax]
mov ecx, dword [ebp - 0x4c]
jmp 0x4ff0a8
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x4c]
jmp 0x4ff0a8
test ecx, ecx
je 0x4ff640
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x4ff633
mov eax, dword [ebp - 0x54]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x4ff640
mov eax, dword [ebp - 0x50]
mov dword [ecx + 4], eax
test edi, edi
je 0x4ff65c
mov eax, ebx
lock xadd dword [edi + 8], eax
dec eax
jne 0x4ff65c
mov ecx, edi
call fcn.005baee0
mov ecx, edi
call fcn.005bae00
lea ecx, [ebp - 0x12c]
mov dword [ebp - method.CMaaUnivHash_New_struct_sMcKey2__struct_sMcData1__1_.virtual_0], vtable.CMaaUnivHash_New_struct_sMcKey2__struct_sMcData0__1_.0
call fcn.0050b230
lea ecx, [ebp - 0x110]
call fcn.0040a090
mov esi, dword [ebp - 0x100]
test esi, esi
je 0x4ff69c
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x4ff69c
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
lea ecx, [ebp - 0x60]
call fcn.0041d9b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x60]
xor ecx, ebp
call fcn.00606a47
lea esp, [ebp + 0x64]
pop ebp
ret
push 0x6a3c10
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xe4], 1
push eax
call fcn.006089ec
int3