Function at 0x557c10
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x75c
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x44], 0
push 4
call fcn.004749cc
add esp, 4
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x557c4d
push 0
mov ecx, dword [ebp - 0x24]
call fcn.0041ead0
mov dword [ebp - 0x28], eax
jmp 0x557c54
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x10], ecx
push 0x208
push 0
lea edx, [ebp - 0x75c]
push edx
call fcn.004fec20
add esp, 0xc
push 0x208
lea eax, [ebp - 0x75c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
lea ecx, [ebp - 0x75c]
push ecx
call fcn.0040b1b0
add esp, 8
mov dword [ebp - 0x4c], eax
push 0x594d08
mov edx, dword [ebp - 0x4c]
add edx, 2
push edx
call fcn.00509ae5
add esp, 8
lea eax, [ebp - 0x75c]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.00403d10
lea ecx, [ebp - 8]
call fcn.00403d10
lea ecx, [ebp - 8]
call fcn.004022c0
push eax
mov ecx, dword [ebp - 0x10]
call fcn.0041ebf0
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x20]
call fcn.004022c0
push eax
mov ecx, dword [ebp - 0x10]
call fcn.0041eb40
mov dword [ebp - 4], eax
lea ecx, [ebp - 8]
call fcn.00402370
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x20]
call fcn.00402370
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x10]
call eax
push 0xe8
call fcn.004749cc
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x557d64
xor ecx, ecx
mov dword [ebp - 0x50], ecx
push 0
lea ecx, [ebp - 0x50]
call fcn.0041ea40
push eax
push str.SOUIHOST
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 8]
call fcn.00402370
push eax
mov ecx, dword [ebp - 0x30]
call fcn.00422782
mov dword [ebp - 0x34], eax
jmp 0x557d6b
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0xc], ecx
lea ecx, [ebp - 0x14]
call fcn.00403d10
lea ecx, [ebp - 0x14]
call fcn.004022c0
push eax
mov ecx, dword [ebp - 0x10]
call fcn.0041ec10
mov dword [ebp - 4], eax
push str.theme_sys_res
push 0x594e24
push 0x594e30
lea ecx, [ebp - 8]
call fcn.00402370
push eax
lea ecx, [ebp - 0x98]
call fcn.0041ec30
lea ecx, [ebp - 0x14]
call fcn.00402370
mov dword [ebp - 0x38], eax
push 0
lea edx, [ebp - 0x98]
push edx
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x38]
mov eax, dword [edx + 0xc]
call eax
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x14]
call fcn.00402370
push eax
mov ecx, dword [ebp - 0xc]
call fcn.0042689f
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x14]
call fcn.0041ecc0
lea ecx, [ebp - 0x18]
call fcn.00403d10
lea ecx, [ebp - 0x18]
call fcn.004022c0
push eax
mov ecx, dword [ebp - 0x10]
call fcn.0041ec10
mov dword [ebp - 4], eax
push 0
push str.google.com
push str.uires.zip
lea ecx, [ebp - 8]
call fcn.00402370
push eax
lea ecx, [ebp - 0xb4]
call fcn.0041ec30
lea ecx, [ebp - 0x18]
call fcn.00402370
mov dword [ebp - 0x3c], eax
push 0
lea ecx, [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [eax + 0xc]
call edx
mov dword [ebp - 4], eax
push 1
push 6
push str._name_start
mov ecx, dword [ebp - 0xc]
call fcn.0042655c
push str.uidef:xml_init
lea ecx, [ebp - 0x18]
call fcn.00402370
push eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x10
call fcn.00420def
lea ecx, [ebp - 0x554]
call fcn.00557b10
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x554]
call fcn.00431307
push 0
push 0
push 0x110
lea ecx, [ebp - 0x318]
call fcn.0041ea80
mov eax, dword [ebp - 0x30c]
push eax
lea ecx, [ebp - 0x318]
call fcn.0041f141
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x7c]
call fcn.004026f0
lea ecx, [ebp - 0x7c]
call fcn.004025e0
cmp eax, 0x14
jbe 0x557f0f
push 0
lea ecx, [ebp - 0x318]
call fcn.0041eab0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x64], esp
lea edx, [ebp - 0x7c]
push edx
call fcn.004027b0
lea ecx, [ebp - 0x554]
call fcn.00556810
jmp 0x557f2e
push 1
lea ecx, [ebp - 0x318]
call fcn.0041eab0
mov eax, dword [ebp - 0x30c]
push eax
mov ecx, dword [ebp - 0xc]
call fcn.004283aa
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x7c]
call fcn.00402640
lea ecx, [ebp - 0x554]
call fcn.00557a70
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 0
je 0x557f60
push 1
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax]
call edx
mov dword [ebp - 0x58], eax
jmp 0x557f67
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x18]
call fcn.0041ecc0
lea ecx, [ebp - 8]
call fcn.0041ecc0
lea ecx, [ebp - 0x20]
call fcn.0041ecc0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
je 0x557f9a
push 1
mov ecx, dword [ebp - 0x40]
call fcn.0041ec70
mov dword [ebp - 0x5c], eax
jmp 0x557fa1
mov dword [ebp - 0x5c], 0
call dword [sym.imp.ole32.dll_OleUninitialize]
mov eax, dword [ebp - 0x44]
mov esp, ebp
pop ebp
ret 0x10