Function at 0x432b90
Capabilities:
Copy file
Get common file path
Set environment variable

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x4f05b9
push eax
mov eax, 0x1484
mov dword fs:[0], esp
call fcn.004ded50
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x40], esi
call fcn.00472f80
lea ebp, [esi + 0x3c]
xor ebx, ebx
mov ecx, ebp
mov dword [esp + 0x149c], ebx
mov dword [esp + 0x28], ebp
call fcn.00433880
mov eax, 0x4fc0e4
mov byte [esp + 0x149c], 1
mov dword [ebp + 0xc], eax
cmp word [0x4fc0e4], 0xffff
mov ecx, 1
je 0x432c00
add eax, 4
inc ecx
cmp word [eax], 0xffff
jne 0x432bf5
lea edi, [ecx*8]
push edi
call fcn.004de48f
mov edx, eax
add esp, 4
cmp edx, ebx
mov dword [ebp + 0x10], edx
je 0x432c2d
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov dword [esi + 0x30], 0x4fc0e0
mov dword [esi + 0x34], 0x4fc0dc
mov dword [esi + 0x38], 0x4fb96c
mov eax, dword [0x50d0e0]
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], ebx
mov dword [esi + 0x64], 0xffffff
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], ebx
mov cl, byte [esp + 0x27]
mov dword [esi + 0xa4], ebx
mov dword [esi + 0xac], ebx
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xe8], ebx
mov dword [esi + 0xec], ebx
mov dword [esi + 0xf0], ebx
mov dword [esi + 0xf4], ebx
mov dword [esi + 0x11c], ebx
mov dword [esi + 0x120], ebx
mov dword [esi + 0x124], ebx
lea ebp, [esi + 0x790]
mov dword [esi + 0x14c], ebx
mov dword [esi + 0x150], ebx
mov dword [esi + 0x154], ebx
mov dword [esi + 0x158], ebx
mov dword [esi + 0x164], ebx
mov dword [esi + 0x168], ebx
mov dword [esi + 0x16c], ebx
mov dword [esi + 0x170], ebx
mov byte [ebp], cl
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
mov edx, dword [0x50d0e0]
mov dword [esi + 0xdc8], edx
mov eax, dword [0x50d0e0]
mov dword [esi + 0x1210], eax
mov ecx, dword [0x50d0e0]
mov dword [esi + 0x1214], ecx
mov edx, dword [0x50d0e0]
mov dword [esi + 0x1218], edx
mov eax, dword [0x50d0e0]
mov dword [esi + 0x121c], eax
mov ecx, dword [0x50d0e0]
mov dword [esi + 0x1220], ecx
mov edx, dword [0x50d0e0]
mov dword [esi + 0x1228], edx
mov dword [esi + 0x125c], ebx
mov dword [esi + 0x1260], ebx
mov dword [esi + 0x1264], ebx
mov dword [esi + 0x1268], ebx
mov dword [esi + 0x126c], ebx
mov dword [esi + 0x1270], ebx
mov eax, dword [0x50d0e0]
mov dword [esi + 0x1290], eax
mov ecx, dword [0x50d0e0]
mov dword [esi + 0x1294], ecx
mov edx, dword [0x50d0e0]
mov dword [esi + 0x1298], edx
mov eax, dword [0x50d0e0]
mov dword [esi + 0x12a0], eax
mov dword [esi], 0x4fc0cc
mov dword [esi + 0x30], 0x4fc0c8
mov dword [esi + 0x34], 0x4fc0c4
mov dword [esi + 0x38], 0x4fc0c0
mov ecx, dword [0x50d0e0]
mov dword [esp + 0x18], ecx
push str.SOFTWAREMicrosoftWindowsCurrentVersion_
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x1088]
mov byte [esp + 0x14a4], 0x10
call fcn.004c4470
mov edx, dword [0x50d0e0]
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x454]
rep stosd dword es:[edi], eax
mov dword [esp + 0x28], edx
lea eax, [esp + 0x454]
push 0x104
push eax
push str.CommonFilesDir
push 0x5209fc
lea ecx, [esp + 0x1090]
mov byte [esp + 0x14ac], 0x12
call fcn.004c44c0
test eax, eax
je 0x432e2b
lea ecx, [esp + 0x454]
lea edx, [esp + 0x18]
push ecx
push str._sQvodPlayerCodecs_
push edx
call fcn.004074f0
add esp, 0xc
jmp 0x432e3d
lea eax, [esp + 0x18]
push str.C:Program_FilesCommon_FilesQvodPlayerCodecs_
push eax
call fcn.004074f0
add esp, 8
mov ecx, dword [0x50d0e0]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x20]
push edx
push str._sFLVSplitter.ax
push eax
mov byte [esp + 0x14a8], 0x13
call fcn.004074f0
mov ecx, dword [esp + 0x2c]
push ebx
push ecx
call fcn.004e0280
add esp, 0x14
cmp eax, 0xffffffff
jne 0x432e7c
mov dword [0x525dbc], ebx
mov edx, dword [esp + 0x18]
push edx
push 0x50e548
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov edi, dword [sym.imp.USER32.dll_SetRectEmpty]
lea eax, [esi + 0xbc]
mov dword [esi + 0xa8], ebx
mov dword [esi + 0xb0], ebx
push eax
mov dword [esi + 0xb8], ebx
call edi
mov dword [esi + 0x1284], ebx
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xd8], ebx
push 0x230
mov dword [esi + 0xd4], ebx
call fcn.004de48f
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, ebx
mov byte [esp + 0x149c], 0x14
je 0x432eeb
mov ecx, eax
call fcn.00494f20
jmp 0x432eed
xor eax, eax
mov dword [esi + 0xe0], eax
mov dword [esi + 0xe4], ebx
mov dword [esi + 0xf8], ebx
mov dword [esi + 0xfc], ebx
mov dword [esi + 0x100], ebx
mov dword [esi + 0x104], ebx
mov dword [esi + 0x108], ebx
mov dword [esi + 0x10c], ebx
mov dword [esi + 0x110], ebx
mov dword [esi + 0x114], ebx
mov dword [esi + 0x118], ebx
mov byte [esi + 0x128], 0xff
mov dword [esi + 0x12c], 0x195
mov dword [esi + 0x130], ebx
mov dword [esi + 0x134], ebx
mov dword [esi + 0x138], ebx
mov dword [esi + 0x13c], ebx
lea eax, [esi + 0x14c]
mov dword [esi + 0x140], ebx
mov byte [esi + 0x144], bl
push eax
mov byte [esp + 0x14a0], 0x13
mov dword [esi + 0x148], ebx
call edi
mov dword [esi + 0x160], ebx
mov dword [esi + 0x78c], ebx
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 4]
cmp edi, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], edi
je 0x432fc1
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push edx
call fcn.00402090
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
add eax, 4
cmp eax, edi
mov dword [esp + 0x1c], eax
jne 0x432f99
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x14]
push eax
push edi
mov ecx, ebp
call fcn.0040e140
mov dword [ebp + 8], edi
lea edi, [esi + 0xdc8]
mov dword [esi + 0x7a4], ebx
mov dword [esi + 0x7a0], 0xffffffff
mov eax, dword [edi]
cmp dword [eax - 8], ebx
je 0x433036
mov edx, dword [eax - 0xc]
lea ecx, [eax - 0xc]
cmp edx, ebx
jl 0x43302a
mov edx, dword [0x50d0e4]
add eax, 0xfffffff4
cmp eax, edx
je 0x433036
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x433021
mov eax, dword [edi]
sub eax, 0xc
push eax
call fcn.004de3a6
add esp, 4
mov eax, dword [0x50d0e0]
mov dword [edi], eax
jmp 0x433036
push 0x5209fc
mov ecx, edi
call fcn.00406e00
mov dword [esi + 0x7a8], ebx
mov dword [esi + 0xdd0], ebx
mov dword [esi + 0xdc4], ebx
mov dword [esi + 0xd0], ebx
lea edi, [esi + 0xdf0]
mov ecx, 0x82
xor eax, eax
mov dword [esi + 0xdd4], ebx
mov dword [esi + 0xdd8], ebx
mov dword [esi + 0xddc], ebx
mov dword [esi + 0xde0], 0xffffffff
mov dword [esi + 0xde4], ebx
mov dword [esi + 0xde8], ebx
mov dword [esi + 0xdec], ebx
rep stosd dword es:[edi], eax
lea edi, [esi + 0xff8]
mov ecx, 0x82
rep stosd dword es:[edi], eax
push 1
push ebx
mov ecx, esi
call fcn.00466e60
push 0x5209fc
push SysReAllocStringLen
lea ecx, [esp + 0x664]
call fcn.004c4470
mov ecx, 0x104
xor eax, eax
lea edi, [esp + 0x44]
push 0x208
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x48]
mov byte [esp + 0x14a0], 0x15
push ecx
push ebx
push str.CLSIDA910849E_A9D9_4DE8_8265_7BDADA3478E0InprocServer32
lea ecx, [esp + 0x66c]
call fcn.004c44c0
test eax, eax
je 0x4330fa
lea edx, [esp + 0x44]
push ebx
push edx
mov ecx, esi
call fcn.00466e60
mov ecx, 0x104
xor eax, eax
lea edi, [esp + 0x44]
push 0x208
rep stosd dword es:[edi], eax
lea eax, [esp + 0x48]
lea ecx, [esp + 0x660]
push eax
push ebx
push str.CLSID48CF8992_4161_49D6_9A9B_F1FDB3BAE74DInprocServer32
call fcn.004c44c0
test eax, eax
je 0x433134
lea ecx, [esp + 0x44]
push ebx
push ecx
mov ecx, esi
call fcn.00466e60
mov ecx, 0x104
xor eax, eax
lea edi, [esp + 0x44]
lea edx, [esp + 0x44]
push 0x208
push edx
rep stosd dword es:[edi], eax
push ebx
push str.CLSID2324863E_4952_4F14_AF4B_5D8AB21E03ABInprocServer32
lea ecx, [esp + 0x66c]
call fcn.004c44c0
test eax, eax
je 0x43316e
lea eax, [esp + 0x44]
push ebx
push eax
mov ecx, esi
call fcn.00466e60
mov eax, dword [0x50d0e0]
mov dword [esp + 0x10], eax
mov ecx, dword [0x5257c4]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp ecx, ebx
mov byte [esp + 0x149c], 0x16
je 0x4334e6
cmp dword [0x525d7c], ebx
je 0x4334e6
cmp dword [eax - 8], ebx
je 0x433201
mov edx, dword [eax - 0xc]
lea ecx, [eax - 0xc]
cmp edx, ebx
jl 0x4331e2
mov edx, dword [0x50d0e4]
add eax, 0xfffffff4
cmp eax, edx
je 0x433201
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4331d6
mov ecx, dword [esp + 0x10]
lea eax, [ecx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
mov edx, dword [0x50d0e0]
mov dword [esp + 0x10], edx
jmp 0x433201
mov eax, 0x5209fc
test eax, eax
je 0x4331f2
push 0x5209fc
call edi
push 0x5209fc
push eax
lea ecx, [esp + 0x18]
call fcn.004021f0
mov ecx, dword [0x525768]
lea edx, [esp + 0x10]
push ecx
push str._sQvodInsert.dll
push edx
call fcn.004074f0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
push 1
push eax
call fcn.00466e60
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], ebx
je 0x43328e
mov edx, dword [eax - 0xc]
lea ecx, [eax - 0xc]
cmp edx, ebx
jl 0x43326f
mov edx, dword [0x50d0e4]
add eax, 0xfffffff4
cmp eax, edx
je 0x43328e
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x433263
mov ecx, dword [esp + 0x10]
lea eax, [ecx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
mov edx, dword [0x50d0e0]
mov dword [esp + 0x10], edx
jmp 0x43328e
mov eax, 0x5209fc
test eax, eax
je 0x43327f
push 0x5209fc
call edi
push 0x5209fc
push eax
lea ecx, [esp + 0x18]
call fcn.004021f0
mov ecx, dword [0x525768]
lea edx, [esp + 0x10]
push ecx
push str._sShareModule.dll
push edx
call fcn.004074f0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
push 1
push eax
call fcn.00466e60
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], ebx
je 0x43331b
mov edx, dword [eax - 0xc]
lea ecx, [eax - 0xc]
cmp edx, ebx
jl 0x4332fc
mov edx, dword [0x50d0e4]
add eax, 0xfffffff4
cmp eax, edx
je 0x43331b
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4332f0
mov ecx, dword [esp + 0x10]
lea eax, [ecx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
mov edx, dword [0x50d0e0]
mov dword [esp + 0x10], edx
jmp 0x43331b
mov eax, 0x5209fc
test eax, eax
je 0x43330c
push 0x5209fc
call edi
push 0x5209fc
push eax
lea ecx, [esp + 0x18]
call fcn.004021f0
mov ecx, dword [0x525768]
lea edx, [esp + 0x10]
push ecx
push str._sCodecs_asfsplliter.ax
push edx
call fcn.004074f0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
push 1
push eax
call fcn.00466e60
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], ebx
je 0x4333a8
mov edx, dword [eax - 0xc]
lea ecx, [eax - 0xc]
cmp edx, ebx
jl 0x433389
mov edx, dword [0x50d0e4]
add eax, 0xfffffff4
cmp eax, edx
je 0x4333a8
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x43337d
mov ecx, dword [esp + 0x10]
lea eax, [ecx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
mov edx, dword [0x50d0e0]
mov dword [esp + 0x10], edx
jmp 0x4333a8
mov eax, 0x5209fc
test eax, eax
je 0x433399
push 0x5209fc
call edi
push 0x5209fc
push eax
lea ecx, [esp + 0x18]
call fcn.004021f0
mov ecx, dword [0x525768]
lea edx, [esp + 0x10]
push ecx
push str._sCodecsColorFilter.ax
push edx
call fcn.004074f0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
push 1
push eax
call fcn.00466e60
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], ebx
je 0x433435
mov edx, dword [eax - 0xc]
lea ecx, [eax - 0xc]
cmp edx, ebx
jl 0x433416
mov edx, dword [0x50d0e4]
add eax, 0xfffffff4
cmp eax, edx
je 0x433435
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x43340a
mov ecx, dword [esp + 0x10]
lea eax, [ecx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
mov edx, dword [0x50d0e0]
mov dword [esp + 0x10], edx
jmp 0x433435
mov eax, 0x5209fc
test eax, eax
je 0x433426
push 0x5209fc
call edi
push 0x5209fc
push eax
lea ecx, [esp + 0x18]
call fcn.004021f0
mov ecx, dword [0x525768]
lea edx, [esp + 0x10]
push ecx
push str._sCodecspncrt.dll
push edx
call fcn.004074f0
mov ecx, 0x104
xor eax, eax
lea edi, [esp + 0xc7c]
add esp, 0xc
rep stosd dword es:[edi], eax
lea eax, [esp + 0xc70]
push 0x208
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov ecx, dword [0x50d0e0]
mov dword [esp + 0x14], ecx
lea edx, [esp + 0xc70]
lea eax, [esp + 0x14]
push edx
push str._spncrt.dll
push eax
mov byte [esp + 0x14a8], 0x17
call fcn.004074f0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add esp, 0xc
push 1
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov eax, dword [esp + 0x14]
mov edx, dword [0x50d0e4]
mov byte [esp + 0x149c], 0x16
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4334e6
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4334e6
mov edx, dword [esp + 0x14]
lea eax, [edx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
mov ecx, esi
call fcn.004681c0
mov eax, dword [0x525db4]
lea ecx, [esp + 0x10]
push eax
push str._sQvodPlayerCodecs_ts.dll
push ecx
call fcn.004074f0
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
push 1
push edx
call fcn.00466e60
mov eax, dword [0x525db4]
lea ecx, [esp + 0x10]
push eax
push str._sQvodPlayerCodecsmkx.dll
push ecx
call fcn.004074f0
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
push 1
push edx
call fcn.00466e60
cmp dword [0x5257c4], ebx
je 0x43365b
cmp dword [0x525d7c], ebx
jne 0x43365b
mov eax, dword [0x50d0e0]
push ecx
mov ebp, esp
mov ecx, 0x50faf8
test ecx, ecx
mov dword [esp + 0x20], esp
mov dword [esp + 0x18], ebp
mov dword [ebp], eax
je 0x433654
mov edx, ecx
shr edx, 0x10
jne 0x433604
xor ebp, ebp
mov eax, ecx
lea ecx, [esp + 0xa74]
mov bp, ax
push 0x100
push ecx
push ebp
call fcn.004189e0
mov edx, 0x100
sub edx, eax
cmp edx, 1
jle 0x4335b8
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xa74]
push eax
call fcn.00406e00
jmp 0x433654
mov ecx, dword [esp + 0x18]
push 0x1ff
mov edi, 0x200
call fcn.00407d70
cmp eax, ebx
je 0x4335f7
push edi
push eax
push ebp
call fcn.004189e0
mov ecx, edi
sub ecx, eax
cmp ecx, 1
jg 0x4335f7
mov ecx, dword [esp + 0x18]
add edi, 0x100
lea edx, [edi - 1]
push edx
call fcn.00407d70
cmp eax, ebx
jne 0x4335cf
mov ecx, dword [esp + 0x18]
push 0xffffffffffffffff
call fcn.00407e30
jmp 0x433654
push 0x50faf8
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, eax
cmp edi, ebx
je 0x433654
lea eax, [edi + edi + 0xe]
push eax
call fcn.004de48f
add esp, 4
cmp eax, ebx
je 0x433654
mov dword [eax], 1
lea ecx, [edi + edi]
mov word [eax + edi*2 + 0xc], bx
mov dword [eax + 4], edi
mov dword [eax + 8], edi
push ecx
lea edx, [edi + edi + 2]
add eax, 0xc
push 0x50faf8
push edx
push eax
mov dword [ebp], eax
call fcn.00402060
add esp, 0x10
mov ecx, esi
call fcn.00468700
lea eax, [esi + 0x125c]
mov dword [esi + 0x1204], ebx
push eax
mov dword [esi + 0x1208], ebx
mov dword [esi + 0x120c], 0xffffffff
mov dword [esi + 0x1224], ebx
mov dword [esi + 0x122c], 1
mov dword [esi + 0x1230], ebx
mov dword [esi + 0x1234], ebx
mov byte [esi + 0x123a], bl
mov byte [esi + 0x1239], bl
mov byte [esi + 0x1238], bl
mov word [esi + 0x123c], bx
mov dword [esi + 0x1244], ebx
mov dword [esi + 0x1240], ebx
mov dword [esi + 0x1248], ebx
mov dword [esi + 0x124c], ebx
mov dword [esi + 0x1250], ebx
mov dword [esi + 0xdc], ebx
mov dword [esi + 0x1254], 0x146
mov dword [esi + 0x1258], 0xfa
call dword [sym.imp.USER32.dll_SetRectEmpty]
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x36]
and eax, 0xffff
and edx, 0xffff
mov dword [esi + 0x1280], ebx
mov dword [esi + 0x1288], ebx
lea eax, [eax + eax*2]
mov dword [esi + 0x128c], ebx
mov dword [esi + 0x129c], ebx
mov dword [esi + 0x12a4], ebx
lea ecx, [eax + eax*4]
mov byte [esp + 0x149c], 0x15
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x38]
and ecx, 0xffff
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x3a]
and eax, 0xffff
lea eax, [eax + edx*8]
cdq
mov dword [esi + 0x1278], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x127c], edx
mov edx, dword [0x50d0e4]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x43379c
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x43379c
mov edx, dword [esp + 0x10]
lea eax, [edx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
lea ecx, [esp + 0x65c]
mov byte [esp + 0x149c], 0x13
call fcn.004c44b0
mov eax, dword [esp + 0x20]
mov edx, dword [0x50d0e4]
mov byte [esp + 0x149c], 0x12
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4337e7
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4337e7
mov edx, dword [esp + 0x20]
lea eax, [edx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
mov eax, dword [esp + 0x28]
mov edx, dword [0x50d0e4]
mov byte [esp + 0x149c], 0x11
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x433817
lea edi, [eax - 0xc]
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x433817
push edi
call fcn.004de3a6
add esp, 4
lea ecx, [esp + 0x1080]
mov byte [esp + 0x149c], 0x10
call fcn.004c44b0
mov eax, dword [esp + 0x18]
mov ecx, dword [0x50d0e4]
mov byte [esp + 0x149c], 0xf
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x433862
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x433862
mov eax, dword [esp + 0x18]
add eax, 0xfffffff4
push eax
call fcn.004de3a6
add esp, 4
mov ecx, dword [esp + 0x1494]
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x1490
ret