Function at 0x555c1a
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x874388
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x38]
mov dword [esp + 0x14], esi
call fcn.0063b010
mov eax, dword [esp + 0x7c]
xor edi, edi
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x78], edi
call fcn.00617650
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x74], 1
push ecx
lea ecx, [esp + 0x3c]
call fcn.0063bd20
push 0x9b5220
lea ecx, [esp + 0x14]
call fcn.00617650
lea ebp, [esi + 0xe8]
push 0xffffffffffffffff
push edi
mov ecx, ebp
mov byte [esp + 0x7c], 2
call fcn.00412ca0
lea ebx, [esi + 0xfc]
push 0xffffffffffffffff
push edi
mov ecx, ebx
call fcn.00412ca0
lea ecx, [esi + 0x110]
call fcn.0082b7c5
push str.SDPropData
lea ecx, [esp + 0x3c]
mov dword [esi + 0xe0], edi
call fcn.0063bf30
test eax, eax
je 0x555ff8
push str.CommonSecurity
lea ecx, [esp + 0x3c]
call fcn.0063c060
test eax, eax
je 0x555efc
lea ecx, [esp + 0x38]
mov dword [esp + 0x20], 1
call fcn.0063c360
push str.SettingRight
lea ecx, [esp + 0x3c]
call fcn.0063c060
test eax, eax
je 0x555de1
lea ecx, [esp + 0x38]
call fcn.0063c360
push str.Region
lea ecx, [esp + 0x3c]
call fcn.0063c060
test eax, eax
je 0x555d46
lea edx, [esp + 0x7c]
lea ecx, [esp + 0x38]
push edx
call fcn.0063c4f0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 3
call fcn.00618070
lea ecx, [esp + 0x7c]
mov byte [esp + 0x74], 2
call fcn.00617ec0
lea eax, [esp + 0x24]
lea ecx, [esp + 0x10]
push eax
push 0
call fcn.00618b80
push eax
call dword [sym.imp.ole32.dll_CLSIDFromString]
push str.Level
lea ecx, [esp + 0x3c]
call fcn.0063c060
test eax, eax
je 0x555d9a
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x3c]
call fcn.0063c4f0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 4
call fcn.00618070
lea ecx, [esp + 0x1c]
mov byte [esp + 0x74], 2
call fcn.00617ec0
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x34]
push edx
push 0x933298
push eax
call fcn.005fc68e
add esp, 0xc
mov esi, dword [ebp + 8]
push 0xffffffffffffffff
lea ecx, [esi + 1]
push ecx
mov ecx, ebp
call fcn.00412ca0
mov eax, dword [ebp + 4]
lea edx, [esi + esi*4]
mov ecx, 5
lea esi, [esp + 0x24]
lea edi, [eax + edx*4]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x38]
call fcn.0063c390
push str.SettingRight
lea ecx, [esp + 0x3c]
call fcn.0063c060
test eax, eax
jne 0x555ce9
mov esi, dword [esp + 0x14]
push str.AccessRight
lea ecx, [esp + 0x3c]
call fcn.0063c060
test eax, eax
je 0x555eef
lea ecx, [esp + 0x38]
call fcn.0063c360
push str.Region
lea ecx, [esp + 0x3c]
call fcn.0063c060
test eax, eax
je 0x555e54
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [esp + 0x3c]
call fcn.0063c4f0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 5
call fcn.00618070
lea ecx, [esp + 0x7c]
mov byte [esp + 0x74], 2
call fcn.00617ec0
lea edx, [esp + 0x24]
lea ecx, [esp + 0x10]
push edx
push 0
call fcn.00618b80
push eax
call dword [sym.imp.ole32.dll_CLSIDFromString]
push str.Level
lea ecx, [esp + 0x3c]
call fcn.0063c060
test eax, eax
je 0x555ea8
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x38]
push eax
call fcn.0063c4f0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 6
call fcn.00618070
lea ecx, [esp + 0x1c]
mov byte [esp + 0x74], 2
call fcn.00617ec0
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x34]
push ecx
push 0x933298
push edx
call fcn.005fc68e
add esp, 0xc
mov esi, dword [ebx + 8]
push 0xffffffffffffffff
mov ecx, ebx
lea eax, [esi + 1]
push eax
call fcn.00412ca0
mov edx, dword [ebx + 4]
lea ecx, [esi + esi*4]
lea esi, [esp + 0x24]
lea edi, [edx + ecx*4]
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x38]
call fcn.0063c390
push str.AccessRight
lea ecx, [esp + 0x3c]
call fcn.0063c060
test eax, eax
jne 0x555df7
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x38]
call fcn.0063c390
mov edi, dword [esp + 0x20]
mov eax, dword [esi + 0xf0]
test eax, eax
jne 0x555f17
mov eax, dword [esi + 0x104]
test eax, eax
jne 0x555f17
mov ebp, 1
jmp 0x555f19
xor ebp, ebp
lea ecx, [esp + 0x38]
call fcn.0063c3d0
push str.FileList
lea ecx, [esp + 0x3c]
call fcn.0063c060
test eax, eax
je 0x555ff8
lea ecx, [esp + 0x38]
call fcn.0063c360
push 0x932a84
lea ecx, [esp + 0x3c]
call fcn.0063c060
test eax, eax
je 0x555fef
mov bl, 9
lea ecx, [esp + 0x38]
call fcn.0063c360
push str.Path
lea ecx, [esp + 0x3c]
call fcn.0063c060
test eax, eax
je 0x555fd0
lea eax, [esp + 0x20]
lea ecx, [esp + 0x38]
push eax
call fcn.0063c4f0
mov eax, dword [eax]
lea ecx, [esp + 0x7c]
push eax
mov byte [esp + 0x78], 7
call fcn.00831f5f
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], bl
call fcn.00617ec0
test ebp, ebp
je 0x555fb2
mov ecx, dword [esp + 0x7c]
push ecx
mov ecx, esi
call fcn.00556880
jmp 0x555fc2
lea edx, [esp + 0x7c]
lea ecx, [esi + 0x110]
push edx
call fcn.0082b972
lea ecx, [esp + 0x7c]
mov byte [esp + 0x74], 2
call fcn.00831eeb
lea ecx, [esp + 0x38]
call fcn.0063c390
push 0x932a84
lea ecx, [esp + 0x3c]
call fcn.0063c060
test eax, eax
jne 0x555f59
lea ecx, [esp + 0x38]
call fcn.0063c390
test esi, esi
je 0x556020
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x556020
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x556020
test edi, edi
je 0x556020
mov ecx, esi
call fcn.00556410
mov ecx, esi
call fcn.005592c0
lea ecx, [esp + 0x10]
mov byte [esp + 0x74], 1
call fcn.00617ec0
lea ecx, [esp + 0x18]
mov byte [esp + 0x74], 0
call fcn.00617ec0
lea ecx, [esp + 0x38]
mov dword [esp + 0x74], 0xffffffff
call fcn.0063b0a0
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x68
ret 8