Function at 0x424f64
Capabilities:
Link many functions at runtime

Disassembly:
push 0x10
mov eax, 0x4b45a8
call fcn.0048501f
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [esi + 0x140c], eax
je 0x424f9d
and dword [esi + 0x10b8], 0
add esi, 0x109c
and dword [esi + 0x20], 0
mov dword [esi + 0x18], 0x3ed
jmp 0x4251f7
lea ecx, [ebp - 0x14]
call fcn.00421db5
xor edi, edi
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], edi
call fcn.00421db5
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 8]
mov byte [ebp - 4], 1
call fcn.0041decc
lea ebx, [esi + 0x109c]
add esp, 0xc
mov ecx, ebx
call fcn.0041e36c
cmp dword [esi + 0x1098], edi
jne 0x4251d8
lea ecx, [ebp - 0x1c]
call fcn.0041daea
test eax, eax
je 0x4251d8
lea ecx, [ebp - 0x14]
call fcn.0041daea
test eax, eax
je 0x4251d8
cmp dword [esi + 0x1418], edi
jne 0x4250bf
push str.Cabinet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.FCICreate
push eax
mov dword [esi + 0x1418], eax
call edi
push str.FCIAddFile
push dword [esi + 0x1418]
mov dword [esi + 0x141c], eax
call edi
push str.FCIFlushFolder
push dword [esi + 0x1418]
mov dword [esi + 0x1420], eax
call edi
push str.FCIFlushCabinet
push dword [esi + 0x1418]
mov dword [esi + 0x1424], eax
call edi
push str.FCIDestroy
push dword [esi + 0x1418]
mov dword [esi + 0x1428], eax
call edi
xor ecx, ecx
mov dword [esi + 0x142c], eax
cmp dword [esi + 0x141c], ecx
je 0x4250a5
cmp dword [esi + 0x1420], ecx
je 0x4250a5
cmp dword [esi + 0x1424], ecx
je 0x4250a5
cmp dword [esi + 0x1428], ecx
je 0x4250a5
cmp eax, ecx
jne 0x4250bd
mov dword [esi + 0x1418], ecx
mov dword [ebx + 0x18], 0x3e8
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x20], ecx
jmp 0x4251e5
xor edi, edi
push dword [ebp - 0x14]
call fcn.00421eb4
pop ecx
cmp eax, edi
je 0x4250db
mov dword [ebx + 0x18], 0x3ea
mov dword [ebx + 0x1c], eax
jmp 0x4251e2
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x10d0], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x10dc], eax
mov eax, dword [ebp + 0x10]
push 0x4c0f80
lea ecx, [esi + 0x1060]
mov dword [esi + 0x10e0], eax
mov dword [esi + 0x10d4], edi
mov dword [esi + 0x10d8], 1
mov dword [esi + 0x1068], edi
call fcn.0041dbb8
push dword [ebp + 0x14]
lea eax, [ebp - 0x1c]
push dword [ebp + 0x18]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.00421e17
push ecx
push ecx
lea eax, [ebp - 0x14]
mov ecx, esp
mov dword [ebp + 0x1c], esp
push eax
mov byte [ebp - 4], 2
call fcn.00421e17
lea eax, [esi + 0x10e8]
push eax
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.00424704
cmp eax, edi
je 0x4251e5
push 0x14
lea eax, [esi + 0x1084]
push edi
push eax
call fcn.00484150
push esi
lea eax, [esi + 0x10e8]
push eax
push 0x424dc9
push 0x424661
push 0x424648
push 0x424636
push 0x42461d
push 0x42323f
push 0x424604
push 0x421a2d
push 0x421a28
push 0x424673
push ebx
call dword [esi + 0x141c]
xor ecx, ecx
add esp, 0x40
push dword [ebp - 0x1c]
cmp eax, edi
setne cl
mov dword [esi + 0x1098], eax
mov esi, ecx
call fcn.0048540f
push dword [ebp - 0x14]
call fcn.0048540f
pop ecx
pop ecx
mov eax, esi
jmp 0x4251f9
mov dword [ebx + 0x18], 0x3e9
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x20], edi
push dword [ebp - 0x1c]
call fcn.0048540f
push dword [ebp - 0x14]
call fcn.0048540f
pop ecx
pop ecx
xor eax, eax
call fcn.004850f7
ret 0x18