Function at 0x424fb9
Capabilities:
Link many functions at runtime

Disassembly:
push 0x10
mov eax, 0x4b49b8
call fcn.00485421
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [esi + 0x140c], eax
je 0x424ff2
and dword [esi + 0x10b8], 0
add esi, 0x109c
and dword [esi + 0x20], 0
mov dword [esi + 0x18], 0x3ed
jmp 0x42524c
lea ecx, [ebp - 0x14]
call fcn.00421e07
xor edi, edi
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], edi
call fcn.00421e07
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 8]
mov byte [ebp - 4], 1
call fcn.0041df1e
lea ebx, [esi + 0x109c]
add esp, 0xc
mov ecx, ebx
call fcn.0041e3be
cmp dword [esi + 0x1098], edi
jne 0x42522d
lea ecx, [ebp - 0x1c]
call fcn.0041db3c
test eax, eax
je 0x42522d
lea ecx, [ebp - 0x14]
call fcn.0041db3c
test eax, eax
je 0x42522d
cmp dword [esi + 0x1418], edi
jne 0x425114
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 0x4250fa
cmp dword [esi + 0x1420], ecx
je 0x4250fa
cmp dword [esi + 0x1424], ecx
je 0x4250fa
cmp dword [esi + 0x1428], ecx
je 0x4250fa
cmp eax, ecx
jne 0x425112
mov dword [esi + 0x1418], ecx
mov dword [ebx + 0x18], 0x3e8
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x20], ecx
jmp 0x42523a
xor edi, edi
push dword [ebp - 0x14]
call fcn.00421f06
pop ecx
cmp eax, edi
je 0x425130
mov dword [ebx + 0x18], 0x3ea
mov dword [ebx + 0x1c], eax
jmp 0x425237
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 0x4c0fe8
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.0041dc0a
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.00421e69
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.00421e69
lea eax, [esi + 0x10e8]
push eax
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.00424759
cmp eax, edi
je 0x42523a
push 0x14
lea eax, [esi + 0x1084]
push edi
push eax
call fcn.00484550
push esi
lea eax, [esi + 0x10e8]
push eax
push 0x424e1e
push 0x4246b6
push 0x42469d
push 0x42468b
push 0x424672
push 0x423294
push 0x424659
push 0x421a7f
push 0x421a7a
push 0x4246c8
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.00485811
push dword [ebp - 0x14]
call fcn.00485811
pop ecx
pop ecx
mov eax, esi
jmp 0x42524e
mov dword [ebx + 0x18], 0x3e9
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x20], edi
push dword [ebp - 0x1c]
call fcn.00485811
push dword [ebp - 0x14]
call fcn.00485811
pop ecx
pop ecx
xor eax, eax
call fcn.004854f9
ret 0x18