Function at 0x51a6f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x65a92b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1fe4
call fcn.00612380
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x50], ecx
xor edi, edi
mov dword [ebp - 4], edi
push str.ED38E9E9_1830_4f40_AA5A_6352BB5BC8F3
lea ecx, [ebp - 0x68]
call fcn.005b2cd0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.005b2cb0
mov byte [ebp - 4], 2
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [ebp - 4], 3
push 0x66eba8
lea ecx, [ebp - 0x144]
call fcn.004ffbe0
mov byte [ebp - 4], 4
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc], edi
jne 0x51a7a4
lea ecx, [ebp - 0x258]
push ecx
call fcn.005bc840
mov ecx, eax
call fcn.005bcf10
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 8
jb 0x51a787
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x144]
call fcn.00501660
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x258]
call fcn.00405700
jmp 0x51a7b0
push eax
lea ecx, [ebp - 0x144]
call fcn.00501660
mov dword [ebp - 0x48], edi
mov byte [ebp - 4], 6
push 0x17
push edi
push 0x66ec28
lea ecx, [ebp - 0x48]
call fcn.00404c50
cmp eax, edi
jge 0x51a7ed
push str.pxmlDOM.CreateInstance____uuidof__MSXML2::DOMDocument30__
push eax
lea ecx, [ebp - 0x1ac]
call fcn.0040de50
push 0x6ba4dc
lea edx, [ebp - 0x1ac]
push edx
call fcn.0060fb01
mov eax, 0xb
mov word [ebp - 0x154], ax
or ecx, 0xffffffff
mov word [ebp - 0x14c], cx
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x48]
cmp ecx, edi
jne 0x51a818
push 0x80004003
call fcn.0060f000
lea edx, [ebp - 0x144]
push edx
call fcn.004ffc90
movzx eax, ax
push eax
lea ecx, [ebp - 0x154]
call fcn.00501610
lea ecx, [ebp - 0x154]
call fcn.00501380
test al, al
jne 0x51a859
mov dword [ebp - 0x9c], edi
push 0x6bf548
lea ecx, [ebp - 0x9c]
push ecx
call fcn.0060fb01
mov dword [ebp - 0x4c], edi
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x48]
cmp eax, edi
jne 0x51a871
push 0x80004003
call fcn.0060f000
mov ebx, eax
mov esi, dword [eax]
lea ecx, [ebp - 0x4c]
call fcn.00501bf0
push eax
push ebx
mov edx, dword [esi + 0x30]
call edx
cmp eax, edi
jge 0x51a8aa
push str.pxmlDOM__get_childNodes_pNodes_
push eax
lea ecx, [ebp - 0x1ec]
call fcn.0040de50
push 0x6ba4dc
lea eax, [ebp - 0x1ec]
push eax
call fcn.0060fb01
mov dword [ebp - 0x58], edi
lea ecx, [ecx]
mov ecx, dword [ebp - 0x4c]
cmp ecx, edi
jne 0x51a8c1
push 0x80004003
call fcn.0060f000
call fcn.004ffc50
cmp dword [ebp - 0x58], eax
jge 0x51bdb1
mov dword [ebp - 0x44], edi
mov byte [ebp - 4], 9
mov dword [ebp - 0x70], edi
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x30], edi
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x4c]
cmp eax, edi
jne 0x51a8f5
push 0x80004003
call fcn.0060f000
mov ebx, eax
mov esi, dword [eax]
lea ecx, [ebp - 0x30]
call fcn.00501bf0
push eax
mov ecx, dword [ebp - 0x58]
push ecx
push ebx
mov edx, dword [esi + 0x1c]
call edx
cmp eax, edi
jge 0x51a932
push str.pNodes__get_item_i__pAgInfo_
push eax
lea ecx, [ebp - 0x20c]
call fcn.0040de50
push 0x6ba4dc
lea eax, [ebp - 0x20c]
push eax
call fcn.0060fb01
mov ebx, dword [ebp - 0x30]
cmp ebx, edi
jne 0x51a943
push 0x80004003
call fcn.0060f000
push edi
lea ecx, [ebp - 0x44]
call fcn.00506ee0
mov ecx, dword [ebx]
mov esi, dword [ebp - 0x44]
push esi
push ebx
mov edx, dword [ecx + 0x1c]
call edx
cmp eax, edi
jge 0x51a97e
push str.pAgInfo__get_nodeName_name.GetAddress___
push eax
lea ecx, [ebp - 0x1dc]
call fcn.0040de50
push 0x6ba4dc
lea eax, [ebp - 0x1dc]
push eax
call fcn.0060fb01
push str.AgentsInfo
lea ecx, [ebp - 0xd4]
call fcn.00404700
mov byte [ebp - 4], 0xc
mov ecx, dword [eax]
cmp esi, ecx
jne 0x51a99c
xor eax, eax
jmp 0x51a9e8
cmp esi, edi
jne 0x51a9c0
cmp ecx, edi
je 0x51a9b7
mov eax, ecx
cmp dword [eax], edi
je 0x51a9b7
mov ecx, dword [eax]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, edi
jne 0x51a9bb
xor eax, eax
jmp 0x51a9e8
or eax, 0xffffffff
jmp 0x51a9e8
cmp ecx, edi
jne 0x51a9e0
cmp dword [esi], edi
je 0x51a9d5
mov edx, dword [esi]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, edi
jne 0x51a9d9
xor eax, eax
jmp 0x51a9e8
mov eax, 1
jmp 0x51a9e8
push ecx
mov ecx, esi
call fcn.004ffb50
cmp eax, edi
sete bl
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xd4]
call fcn.00407570
test bl, bl
je 0x51bd7e
lea ecx, [ebp - 0x40]
push ecx
push str.Modified
mov edx, dword [ebp - 0x30]
push edx
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51aaa6
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00506fa0
mov byte [ebp - 4], 0xd
cmp dword [eax], edi
je 0x51aa3e
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x51aa40
xor eax, eax
push eax
lea ecx, [ebp - 0x290]
call fcn.0040aa60
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x2bc]
push ecx
call fcn.004f91d0
add esp, 8
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ebx, dword [ebp - 0x50]
mov dword [ebx + 0xb74], ecx
mov dword [ebx + 0xb78], edx
mov dword [ebx + 0xb7c], esi
mov dword [ebx + 0xb80], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x290]
call fcn.00405700
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xdc]
call fcn.00407570
jmp 0x51aac3
xor eax, eax
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0xb74], eax
mov dword [ecx + 0xb78], eax
mov dword [ecx + 0xb7c], eax
mov dword [ecx + 0xb80], eax
mov dword [ebp - 0x60], edi
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x30]
cmp eax, edi
jne 0x51aadb
push 0x80004003
call fcn.0060f000
mov ebx, eax
mov esi, dword [eax]
lea ecx, [ebp - 0x60]
call fcn.00501bf0
push eax
push ebx
mov edx, dword [esi + 0x30]
call edx
cmp eax, edi
jge 0x51ab14
push str.pAgInfo__get_childNodes_pChildNodes_
push eax
lea ecx, [ebp - 0x234]
call fcn.0040de50
push 0x6ba4dc
lea eax, [ebp - 0x234]
push eax
call fcn.0060fb01
mov dword [ebp - 0x5c], edi
mov ecx, dword [ebp - 0x60]
cmp ecx, edi
jne 0x51ab28
push 0x80004003
call fcn.0060f000
call fcn.004ffc50
cmp dword [ebp - 0x5c], eax
jge 0x51bd6b
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x60]
cmp eax, edi
jne 0x51ab4e
push 0x80004003
call fcn.0060f000
mov ebx, eax
mov esi, dword [eax]
lea ecx, [ebp - 0x18]
call fcn.00501bf0
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
push ebx
mov edx, dword [esi + 0x1c]
call edx
cmp eax, edi
jge 0x51ab8b
push str.pChildNodes__get_item_i__pRoot_
push eax
lea ecx, [ebp - 0x1fc]
call fcn.0040de50
push 0x6ba4dc
lea eax, [ebp - 0x1fc]
push eax
call fcn.0060fb01
mov ebx, dword [ebp - 0x18]
cmp ebx, edi
jne 0x51ab9c
push 0x80004003
call fcn.0060f000
push edi
lea ecx, [ebp - 0x44]
call fcn.00506ee0
mov ecx, dword [ebx]
mov esi, dword [ebp - 0x44]
push esi
push ebx
mov edx, dword [ecx + 0x1c]
call edx
cmp eax, edi
jge 0x51abd7
push str.pRoot__get_nodeName_name.GetAddress___
push eax
lea ecx, [ebp - 0x224]
call fcn.0040de50
push 0x6ba4dc
lea eax, [ebp - 0x224]
push eax
call fcn.0060fb01
push str.Blocks
lea ecx, [ebp - 0x98]
call fcn.00404700
mov byte [ebp - 4], 0x11
mov ecx, dword [eax]
cmp esi, ecx
jne 0x51abf5
xor eax, eax
jmp 0x51ac41
cmp esi, edi
jne 0x51ac19
cmp ecx, edi
je 0x51ac10
mov eax, ecx
cmp dword [eax], edi
je 0x51ac10
mov ecx, dword [eax]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, edi
jne 0x51ac14
xor eax, eax
jmp 0x51ac41
or eax, 0xffffffff
jmp 0x51ac41
cmp ecx, edi
jne 0x51ac39
cmp dword [esi], edi
je 0x51ac2e
mov edx, dword [esi]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, edi
jne 0x51ac32
xor eax, eax
jmp 0x51ac41
mov eax, 1
jmp 0x51ac41
push ecx
mov ecx, esi
call fcn.004ffb50
cmp eax, edi
sete bl
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x98]
call fcn.00407570
test bl, bl
je 0x51b256
lea ecx, [ebp - 0x17c]
call fcn.0046a3d0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x40]
push ecx
push 0x678c90
mov edx, dword [ebp - 0x18]
push edx
call fcn.005bed70
add esp, 0xc
test al, al
jne 0x51ac99
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x17c]
call fcn.00452960
jmp 0x51bd50
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xd8]
call fcn.00506fa0
mov byte [ebp - 4], 0x13
cmp dword [eax], edi
je 0x51acb6
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x51acb8
xor eax, eax
push eax
lea ecx, [ebp - 0x80]
call fcn.0040bea0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xd8]
call fcn.00407570
lea ecx, [ebp - 0x40]
push ecx
push 0x678c80
mov edx, dword [ebp - 0x18]
push edx
call fcn.005bed70
add esp, 0xc
lea ecx, [ebp - 0x40]
call fcn.00501570
mov dword [ebp - 0x17c], eax
lea eax, [ebp - 0x40]
push eax
push 0x678c78
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.005bed70
add esp, 0xc
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebp - 0xa0]
call fcn.00506fa0
mov byte [ebp - 4], 0x16
mov ecx, eax
call fcn.00501350
push eax
lea ecx, [ebp - 0x158]
call fcn.00414a20
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xa0]
call fcn.00407570
mov dword [ebp - 0x54], edi
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x18]
cmp eax, edi
jne 0x51ad55
push 0x80004003
call fcn.0060f000
mov ebx, eax
mov esi, dword [eax]
lea ecx, [ebp - 0x54]
call fcn.00501bf0
push eax
push ebx
mov eax, dword [esi + 0x30]
call eax
cmp eax, edi
jge 0x51ad8e
push str.pRoot__get_childNodes_pChildNode_
push eax
lea ecx, [ebp - 0x18c]
call fcn.0040de50
push 0x6ba4dc
lea ecx, [ebp - 0x18c]
push ecx
call fcn.0060fb01
xor ebx, ebx
mov dword [ebp - 0x6c], ebx
mov ecx, dword [ebp - 0x54]
cmp ecx, edi
jne 0x51ada4
push 0x80004003
call fcn.0060f000
call fcn.004ffc50
cmp ebx, eax
jge 0x51b1bd
mov dword [ebp - 0x2c], edi
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x54]
cmp eax, edi
jne 0x51adc9
push 0x80004003
call fcn.0060f000
mov edi, eax
mov esi, dword [eax]
lea ecx, [ebp - 0x2c]
call fcn.00501bf0
push eax
push ebx
push edi
mov edx, dword [esi + 0x1c]
call edx
test eax, eax
jns 0x51ae03
push str.pChildNode__get_item_j__pCurrChildNode_
push eax
lea ecx, [ebp - 0x1bc]
call fcn.0040de50
push 0x6ba4dc
lea eax, [ebp - 0x1bc]
push eax
call fcn.0060fb01
mov edi, dword [ebp - 0x2c]
test edi, edi
sete al
test al, al
sete al
test al, al
je 0x51b19d
test edi, edi
jne 0x51ae26
push 0x80004003
call fcn.0060f000
push 0
lea ecx, [ebp - 0x70]
call fcn.00506ee0
mov ecx, dword [edi]
mov esi, dword [ebp - 0x70]
push esi
push edi
mov edx, dword [ecx + 0x1c]
call edx
test eax, eax
jns 0x51ae62
push str.pCurrChildNode__get_nodeName_bstr.GetAddress___
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0040de50
push 0x6ba4dc
lea eax, [ebp - 0x1cc]
push eax
call fcn.0060fb01
push str.Site
lea ecx, [ebp - 0xc8]
call fcn.00404700
mov byte [ebp - 4], 0x19
mov ecx, dword [eax]
cmp esi, ecx
jne 0x51ae80
xor eax, eax
jmp 0x51aecc
test esi, esi
jne 0x51aea4
test ecx, ecx
je 0x51ae9b
mov eax, ecx
cmp dword [eax], esi
je 0x51ae9b
mov ecx, dword [eax]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jne 0x51ae9f
xor eax, eax
jmp 0x51aecc
or eax, 0xffffffff
jmp 0x51aecc
test ecx, ecx
jne 0x51aec4
cmp dword [esi], ecx
je 0x51aeb9
mov edx, dword [esi]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jne 0x51aebd
xor eax, eax
jmp 0x51aecc
mov eax, 1
jmp 0x51aecc
push ecx
mov ecx, esi
call fcn.004ffb50
test eax, eax
sete bl
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xc8]
call fcn.00407570
test bl, bl
je 0x51b00e
lea ecx, [ebp - 0xf4]
call fcn.0054b320
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x40]
push ecx
push 0x678c64
mov edx, dword [ebp - 0x2c]
push edx
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51af4b
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xa8]
call fcn.00506fa0
mov byte [ebp - 4], 0x1b
cmp dword [eax], 0
je 0x51af2e
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x51af30
xor eax, eax
push eax
lea ecx, [ebp - 0xf4]
call fcn.004017e0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0xa8]
call fcn.00407570
lea ecx, [ebp - 0x40]
push ecx
push 0x678c54
mov edx, dword [ebp - 0x2c]
push edx
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51af72
lea ecx, [ebp - 0x40]
call fcn.005014d0
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0x40]
push eax
push str.inWhite
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51af99
lea ecx, [ebp - 0x40]
call fcn.00501380
mov byte [ebp - 0xe8], al
lea edx, [ebp - 0x40]
push edx
push str.Redir
mov eax, dword [ebp - 0x2c]
push eax
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51afed
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0xe4]
call fcn.00506fa0
mov byte [ebp - 4], 0x1c
cmp dword [eax], 0
je 0x51afd0
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x51afd2
xor eax, eax
push eax
lea ecx, [ebp - 0xf0]
call fcn.004017e0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0xe4]
call fcn.00407570
lea edx, [ebp - 0xf4]
push edx
lea ecx, [ebp - 0x178]
call fcn.00411680
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xf4]
jmp 0x51b198
push str.Process
lea ecx, [ebp - 0xb0]
call fcn.00404700
mov byte [ebp - 4], 0x1d
mov ecx, dword [eax]
cmp esi, ecx
jne 0x51b02c
xor eax, eax
jmp 0x51b078
test esi, esi
jne 0x51b050
test ecx, ecx
je 0x51b047
mov eax, ecx
cmp dword [eax], esi
je 0x51b047
mov eax, dword [eax]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jne 0x51b04b
xor eax, eax
jmp 0x51b078
or eax, 0xffffffff
jmp 0x51b078
test ecx, ecx
jne 0x51b070
cmp dword [esi], ecx
je 0x51b065
mov ecx, dword [esi]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jne 0x51b069
xor eax, eax
jmp 0x51b078
mov eax, 1
jmp 0x51b078
push ecx
mov ecx, esi
call fcn.004ffb50
test eax, eax
sete bl
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xb0]
call fcn.00407570
test bl, bl
je 0x51b19d
lea ecx, [ebp - 0x104]
call fcn.0054b320
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x40]
push eax
push str.Process
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b0f7
lea edx, [ebp - 0x40]
push edx
lea ecx, [ebp - 0xd0]
call fcn.00506fa0
mov byte [ebp - 4], 0x1f
cmp dword [eax], 0
je 0x51b0da
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x51b0dc
xor eax, eax
push eax
lea ecx, [ebp - 0x104]
call fcn.004017e0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xd0]
call fcn.00407570
lea eax, [ebp - 0x40]
push eax
push str.inWhite
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b11e
lea ecx, [ebp - 0x40]
call fcn.00501380
mov byte [ebp - 0xf8], al
mov dword [ebp - 0xfc], 1
lea edx, [ebp - 0x40]
push edx
push str.Hash
mov eax, dword [ebp - 0x2c]
push eax
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b17c
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0xb8]
call fcn.00506fa0
mov byte [ebp - 4], 0x20
cmp dword [eax], 0
je 0x51b15f
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x51b161
xor eax, eax
push eax
lea ecx, [ebp - 0x100]
call fcn.004017e0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xb8]
call fcn.00407570
lea edx, [ebp - 0x104]
push edx
lea ecx, [ebp - 0x168]
call fcn.00411680
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x104]
call fcn.004052c0
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x51b1b0
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
inc dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x6c]
xor edi, edi
jmp 0x51ad93
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x19c]
call fcn.004dd0f0
lea ecx, [ebp - 0x17c]
push ecx
lea edx, [ebp - 0x19c]
push edx
lea ecx, [ebp - 0x304]
call fcn.0046a580
mov byte [ebp - 4], 0x21
mov esi, dword [ebp - 0x50]
push edi
push eax
lea ecx, [esi + 0xb54]
call fcn.0051a430
push eax
lea eax, [ebp - 0x23c]
push eax
lea ecx, [esi + 0xb54]
call fcn.0046a930
mov byte [ebp - 4], 0x22
mov byte [ebp - 4], 0x23
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x2f4]
call fcn.00452960
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x54]
cmp eax, edi
je 0x51b236
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x80]
call fcn.004014a0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x17c]
call fcn.00452960
jmp 0x51bd50
push str.Properties
lea ecx, [ebp - 0xe0]
call fcn.00404700
mov byte [ebp - 4], 0x24
mov ecx, dword [eax]
cmp esi, ecx
jne 0x51b274
xor eax, eax
jmp 0x51b2c0
cmp esi, edi
jne 0x51b298
cmp ecx, edi
je 0x51b28f
mov eax, ecx
cmp dword [eax], edi
je 0x51b28f
mov eax, dword [eax]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, edi
jne 0x51b293
xor eax, eax
jmp 0x51b2c0
or eax, 0xffffffff
jmp 0x51b2c0
cmp ecx, edi
jne 0x51b2b8
cmp dword [esi], edi
je 0x51b2ad
mov ecx, dword [esi]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, edi
jne 0x51b2b1
xor eax, eax
jmp 0x51b2c0
mov eax, 1
jmp 0x51b2c0
push ecx
mov ecx, esi
call fcn.004ffb50
cmp eax, edi
sete bl
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xe0]
call fcn.00407570
test bl, bl
je 0x51bd50
lea ecx, [ebp - 0x1174]
call fcn.0050c3b0
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x28]
push ecx
push 0x678c90
mov edx, dword [ebp - 0x18]
push edx
call fcn.005bed70
add esp, 0xc
test al, al
jne 0x51b31f
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x28]
push eax
jmp 0x51bd3b
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00506fa0
mov byte [ebp - 4], 0x27
cmp dword [eax], edi
je 0x51b33c
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x51b33e
xor eax, eax
push eax
lea ecx, [ebp - 0x7c]
call fcn.0040bea0
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xc0]
call fcn.00407570
lea ecx, [ebp - 0x28]
push ecx
push 0x678c80
mov edx, dword [ebp - 0x18]
push edx
call fcn.005bed70
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.00501570
mov dword [ebp - 0x1174], eax
push str.USBFileSize
lea ecx, [ebp - 0x14]
call fcn.0040bea0
mov byte [ebp - 4], 0x2a
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b3b5
lea ecx, [ebp - 0x28]
call fcn.005014d0
mov dword [ebp - 0x116c], eax
push str.SpyOnUSB
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b3ed
lea ecx, [ebp - 0x28]
call fcn.00501430
mov byte [ebp - 0x1168], al
push 0x6776d8
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b425
lea ecx, [ebp - 0x28]
call fcn.00501430
mov byte [ebp - 0x1167], al
push str.CSLEnable
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b45d
lea ecx, [ebp - 0x28]
call fcn.00501430
mov byte [ebp - 0x1166], al
push str.CSWO
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b495
lea ecx, [ebp - 0x28]
call fcn.00501430
mov byte [ebp - 0x1164], al
push str.CSQuota
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b4cd
lea ecx, [ebp - 0x28]
call fcn.005014d0
mov dword [ebp - 0x1160], eax
push str.CSPeriod
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b505
lea ecx, [ebp - 0x28]
call fcn.005014d0
mov dword [ebp - 0x115c], eax
push str.SSLEnable
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b53d
lea ecx, [ebp - 0x28]
call fcn.00501430
mov byte [ebp - 0x1158], al
push str.SSWO
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b575
lea ecx, [ebp - 0x28]
call fcn.00501430
mov byte [ebp - 0x1157], al
push str.SSQuota
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b5ad
lea ecx, [ebp - 0x28]
call fcn.005014d0
mov dword [ebp - 0x1154], eax
push str.SUQuota
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b5e5
lea ecx, [ebp - 0x28]
call fcn.005014d0
mov dword [ebp - 0x1150], eax
push str.SSPeriod
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b61d
lea ecx, [ebp - 0x28]
call fcn.005014d0
mov dword [ebp - 0x114c], eax
push 0x6776e0
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b655
lea ecx, [ebp - 0x28]
call fcn.005014d0
mov dword [ebp - 0x1148], eax
push str.FSEXCL
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b68d
lea ecx, [ebp - 0x28]
call fcn.00501430
mov byte [ebp - 0x1144], al
push str.FSMA
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b71b
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x94]
call fcn.00506fa0
mov byte [ebp - 4], 0x2b
cmp dword [eax], edi
je 0x51b6d4
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x51b6d6
xor eax, eax
push eax
lea ecx, [ebp - 0x84]
call fcn.0040bea0
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x94]
call fcn.00407570
lea ecx, [ebp - 0x84]
call fcn.004014f0
push eax
lea ecx, [ebp - 0x1142]
push ecx
call fcn.005011a0
add esp, 8
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x84]
call fcn.004014a0
push str.FSMP
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b7a9
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x90]
call fcn.00506fa0
mov byte [ebp - 4], 0x2e
cmp dword [eax], edi
je 0x51b762
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x51b764
xor eax, eax
push eax
lea ecx, [ebp - 0x8c]
call fcn.0040bea0
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x90]
call fcn.00407570
lea ecx, [ebp - 0x8c]
call fcn.004014f0
push eax
lea ecx, [ebp - 0xd42]
push ecx
call fcn.005011a0
add esp, 8
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x8c]
call fcn.004014a0
push str.APPS
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b8a8
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xa4]
call fcn.00506fa0
mov byte [ebp - 4], 0x31
cmp dword [eax], edi
je 0x51b7f4
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x51b7f6
xor eax, eax
push eax
lea ecx, [ebp - 0x74]
call fcn.0040bea0
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0xa4]
call fcn.00407570
mov dword [ebp - 0x78], edi
xor esi, esi
mov dword [ebp - 0xb4], esi
lea ecx, [ebp - 0x78]
push ecx
push 0x671d24
lea edx, [ebp - 0x64]
push edx
lea ecx, [ebp - 0x74]
call fcn.0040d920
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0x64]
cmp dword [eax - 0xc], edi
jle 0x51b890
lea ecx, [ebp - 0x78]
push ecx
push 0x671d24
lea edx, [ebp - 0xac]
push edx
lea ecx, [ebp - 0x74]
call fcn.0040d920
mov byte [ebp - 4], 0x35
push eax
lea ecx, [ebp - 0x64]
call fcn.004078d0
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xac]
call fcn.004014a0
lea ecx, [ebp - 0x64]
call fcn.004014f0
push eax
call fcn.006115cb
add esp, 4
mov word [ebp + esi*2 - 0x942], ax
inc esi
mov dword [ebp - 0xb4], esi
jmp 0x51b832
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x64]
call fcn.004014a0
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x74]
call fcn.004014a0
push str.StartLog
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51b96c
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0xbc]
call fcn.00506fa0
mov byte [ebp - 4], 0x36
cmp dword [eax], edi
je 0x51b8f3
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x51b8f5
xor eax, eax
push eax
lea ecx, [ebp - 0x274]
call fcn.0040aa60
mov byte [ebp - 4], 0x37
push eax
lea edx, [ebp - 0x2cc]
push edx
call fcn.004f91d0
add esp, 8
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0x108], eax
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x274]
call fcn.00405700
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0xbc]
call fcn.00407570
lea eax, [ebp - 0x814]
push eax
lea ecx, [ebp - 0x114]
push ecx
call fcn.00425510
add esp, 8
push str.EndLog
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51ba30
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xc4]
call fcn.00506fa0
mov byte [ebp - 4], 0x38
cmp dword [eax], edi
je 0x51b9b7
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x51b9b9
xor eax, eax
push eax
lea ecx, [ebp - 0x2ac]
call fcn.0040aa60
mov byte [ebp - 4], 0x39
push eax
lea ecx, [ebp - 0x24c]
push ecx
call fcn.004f91d0
add esp, 8
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x128], eax
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x2ac]
call fcn.00405700
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0xc4]
call fcn.00407570
lea edx, [ebp - 0x80c]
push edx
lea eax, [ebp - 0x134]
push eax
call fcn.00425510
add esp, 8
push str.CLPQouta
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51ba68
lea ecx, [ebp - 0x28]
call fcn.005014d0
mov dword [ebp - 0x804], eax
push str.CLPFileSize
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51baa0
lea ecx, [ebp - 0x28]
call fcn.005014d0
mov dword [ebp - 0x800], eax
push str.CLPEnableFiles
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51bad8
lea ecx, [ebp - 0x28]
call fcn.00501430
mov byte [ebp - 0x7fc], al
push str.CLPEnable
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51bb10
lea ecx, [ebp - 0x28]
call fcn.00501430
mov byte [ebp - 0x7fb], al
push str.SNEnable
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51bb48
lea ecx, [ebp - 0x28]
call fcn.00501430
mov byte [ebp - 0x7fa], al
push str.SGray
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51bb80
lea ecx, [ebp - 0x28]
call fcn.00501430
mov byte [ebp - 0x7f9], al
push str.SQual
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51bbb8
lea ecx, [ebp - 0x28]
call fcn.00501430
mov byte [ebp - 0x7f8], al
push str.SAppAct
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51bbf0
lea ecx, [ebp - 0x28]
call fcn.00501430
mov byte [ebp - 0x7f7], al
push str.StartMessage
lea ecx, [ebp - 0x14]
call fcn.00403420
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x14]
call fcn.004014f0
push eax
push esi
call fcn.005bed70
add esp, 0xc
test al, al
je 0x51bc7e
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0xcc]
call fcn.00506fa0
mov byte [ebp - 4], 0x3a
cmp dword [eax], edi
je 0x51bc37
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x51bc39
xor eax, eax
push eax
lea ecx, [ebp - 0x88]
call fcn.0040bea0
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0xcc]
call fcn.00407570
lea ecx, [ebp - 0x88]
call fcn.004014f0
push eax
lea edx, [ebp - 0x77a]
push edx
call fcn.005011a0
add esp, 8
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x88]
call fcn.004014a0
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x124]
call fcn.004dd0f0
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x1ff4], ecx
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x1ff0], edx
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x1fec], eax
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x1fe8], ecx
lea edx, [ebp - 0x1174]
push edx
lea ecx, [ebp - 0x1fe4]
call fcn.0044c940
mov byte [ebp - 4], 0x3d
mov byte [ebp - 4], 0x3e
mov byte [ebp - 4], 0x3f
mov esi, dword [ebp - 0x50]
push edi
lea eax, [ebp - 0x1ff4]
push eax
lea ecx, [esi + 0xb64]
call fcn.0050f640
push eax
lea ecx, [ebp - 0x214]
push ecx
lea ecx, [esi + 0xb64]
call fcn.00451e90
mov byte [ebp - 4], 0x40
mov byte [ebp - 4], 0x41
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x1fe4]
call fcn.00448b90
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x14]
call fcn.004014a0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x7c]
call fcn.004014a0
mov byte [ebp - 4], 0x25
lea edx, [ebp - 0x28]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1174]
call fcn.00448b90
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x18]
cmp eax, edi
je 0x51bd63
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
inc dword [ebp - 0x5c]
jmp 0x51ab17
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x60]
cmp eax, edi
je 0x51bd7e
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x30]
cmp eax, edi
je 0x51bd91
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x70]
call fcn.00407570
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x44]
call fcn.00407570
inc dword [ebp - 0x58]
jmp 0x51a8b0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x4c]
cmp eax, edi
je 0x51bdc4
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
mov byte [ebp - 4], 6
lea eax, [ebp - 0x154]
push eax
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call esi
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x48]
cmp eax, edi
je 0x51bdea
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
mov byte [ebp - 4], 3
lea eax, [ebp - 0x144]
push eax
call esi
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40]
push ecx
call esi
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.005b2bb0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x68]
call fcn.005b2cc0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x51be42
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4