Function at 0x44c2f0
Capabilities:
Create shortcut via ishelllink
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57c9cd
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x250
push ebx
push esi
push edi
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], ecx
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x44cd13
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x50], eax
push str.Z2tONehcZdIR4SPCDo
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0
call fcn.0042f250
test al, al
jne 0x44c358
push 0x13
push str.Z2tONehcZdIR4SPCDo
lea ecx, [ebp - 0x50]
call fcn.0042f580
mov dword [ebp - 4], 1
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x44cd1d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x4c], eax
push str.Y3Rm3RwAGcAyYXWETk06CxsUQMwABNEg
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 2
call fcn.0042f250
test al, al
jne 0x44c39d
push 0x22
push str.Y3Rm3RwAGcAyYXWETk06CxsUQMwABNEg
lea ecx, [ebp - 0x4c]
call fcn.0042f580
mov byte [ebp - 4], 3
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x44cd27
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x48], eax
push str.algynaRkw6XRsetO0cdNNT1AIGwUq
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call fcn.0042f250
test al, al
jne 0x44c3df
push 0x1d
push str.algynaRkw6XRsetO0cdNNT1AIGwUq
lea ecx, [ebp - 0x48]
call fcn.0042f580
mov byte [ebp - 4], 5
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x44cd31
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x38], eax
push str.dDdBTRBteOJXlRIWzQ
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 6
call fcn.0042f250
test al, al
jne 0x44c421
push 0x13
push str.dDdBTRBteOJXlRIWzQ
lea ecx, [ebp - 0x38]
call fcn.0042f580
mov byte [ebp - 4], 7
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x44cd3b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x34], eax
push str.b3A5dNzw49flIbGNlZbYCxVL0Zw4EWUWgKkAktYEHS9a8WAsVnBBI3FVlZe5C00cQWxo
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call fcn.0042f250
test al, al
jne 0x44c463
push 0x45
push str.b3A5dNzw49flIbGNlZbYCxVL0Zw4EWUWgKkAktYEHS9a8WAsVnBBI3FVlZe5C00cQWxo
lea ecx, [ebp - 0x34]
call fcn.0042f580
mov byte [ebp - 4], 9
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x44cd45
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x30], eax
push str.ZWhhETDQdxBD4cGIQ84AABoH9LQYN9PikX5Gg4GOgsOXKABVDRBRDABwgoaWE0NtOQ
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call fcn.0042f250
test al, al
jne 0x44c4a5
push 0x45
push str.ZWhhETDQdxBD4cGIQ84AABoH9LQYN9PikX5Gg4GOgsOXKABVDRBRDABwgoaWE0NtOQ
lea ecx, [ebp - 0x30]
call fcn.0042f580
mov byte [ebp - 4], 0xb
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x44cd4f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x40], eax
push str.cHY3XWTMZYdCsVLF0M8FORhE4LREYsVDwvmE0UraHwRo3Oh8S3UmRVPLhE2HGRIK2fBwD
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xc
call fcn.0042f250
test al, al
jne 0x44c4e7
push 0x45
push str.cHY3XWTMZYdCsVLF0M8FORhE4LREYsVDwvmE0UraHwRo3Oh8S3UmRVPLhE2HGRIK2fBwD
lea ecx, [ebp - 0x40]
call fcn.0042f580
push dword [ebp + 0xc]
mov byte [ebp - 4], 0xd
push ecx
mov ecx, dword [ebp - 0x38]
mov esi, esp
mov dword [ebp - 0x44], esi
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [esi], eax
call fcn.00445470
add esp, 4
mov byte [ebp - 4], 0xe
push dword [eax]
lea eax, [ebp - 0x38]
push eax
call fcn.004218d0
mov byte [ebp - 4], 0xd
or ebx, 0xffffffff
mov edx, dword [ebp - 0x24]
add esp, 0xc
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44c542
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x44cd59
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
push 0x594764
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xf
call fcn.0042f250
test al, al
jne 0x44c580
push 0
push 0x594764
lea ecx, [ebp - 0x14]
call fcn.0042f580
mov byte [ebp - 4], 0x10
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x44cd63
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
push 0x594764
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x11
call fcn.0042f250
test al, al
jne 0x44c5c2
push 0
push 0x594764
lea ecx, [ebp - 0x10]
call fcn.0042f580
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x4c]
push ecx
add eax, 0xfffffff0
mov esi, esp
mov dword [ebp - 0x44], esi
mov ecx, eax
mov dword [ebp - 0x44], eax
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [esi], eax
call fcn.00445470
mov edi, eax
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
mov dword [ebp - 0x3c], esi
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [esi], eax
call fcn.00445470
add esp, 4
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x14
push ecx
lea ecx, [ebp - 0x10]
mov edx, edi
push ecx
lea ecx, [ebp - 0x38]
push ecx
mov ecx, eax
call fcn.00459010
mov edx, dword [ebp - 0x24]
add esp, 0xc
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44c648
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44c662
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x10]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44c67c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44c696
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 0x2c], 0
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x15
push eax
push 0x5848c0
push 0x17
push 0
push 0x5848d0
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, dword [ebp - 0x48]
test eax, eax
js 0x44caa2
lea eax, [ebp - 0x258]
push eax
push 0
push 0
push dword [ebp + 0x10]
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jns 0x44c841
mov ecx, dword [ebp + 0xc]
push ecx
push eax
push ecx
mov edi, esp
mov dword [ebp - 0x18], edi
mov ecx, dword [ebp - 0x34]
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [edi], eax
call fcn.00445470
add esp, 4
mov byte [ebp - 4], 0x16
push dword [eax]
lea eax, [ebp - 0x34]
push eax
call fcn.004218d0
mov byte [ebp - 4], 0x15
add esp, 0x10
mov edx, dword [ebp - 0x1c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44c740
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x44cd6d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
push 0x594764
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x17
call fcn.0042f250
test al, al
jne 0x44c77e
push 0
push 0x594764
lea ecx, [ebp - 0x10]
call fcn.0042f580
mov byte [ebp - 4], 0x18
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x44cd77
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
push 0x594764
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x19
call fcn.0042f250
test al, al
jne 0x44c7c0
push 0
push 0x594764
lea ecx, [ebp - 0x14]
call fcn.0042f580
push ecx
mov byte [ebp - 4], 0x1a
lea ecx, [esi - 0x10]
mov edi, esp
mov dword [ebp - 0x18], edi
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x28]
mov dword [edi], eax
call fcn.00445470
mov ebx, eax
mov ecx, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x18], edi
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [edi], eax
call fcn.00445470
add esp, 4
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x1c
push ecx
lea ecx, [ebp - 0x14]
mov edx, ebx
push ecx
lea ecx, [ebp - 0x34]
push ecx
mov ecx, eax
call fcn.00459010
mov edx, dword [ebp - 0x1c]
or ebx, 0xffffffff
add esp, 0xc
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44c839
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28]
jmp 0x44cbf4
lea eax, [ebp - 0x258]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
mov ecx, 0x104
lea eax, [ebp - 0x258]
nop dword [eax]
cmp word [eax], 0
je 0x44c86e
add eax, 2
sub ecx, 1
jne 0x44c860
mov edx, 0x104
mov dword [ebp - 0x1c], 0
mov eax, edx
mov edi, ecx
sub eax, ecx
neg edi
sbb edi, edi
and edi, eax
test ecx, ecx
mov eax, 0x80070057
cmovne eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
je 0x44c8e7
lea ecx, [ebp - 0x258]
lea ecx, [ecx + edi*2]
sub edx, edi
je 0x44c8cc
mov edi, dword [ebp - 0x28]
mov eax, SysReAllocString
mov esi, dword [edi]
sub esi, ecx
nop
test eax, eax
je 0x44c8c9
movzx edi, word [esi + ecx]
test di, di
je 0x44c8c9
mov word [ecx], di
dec eax
add ecx, 2
sub edx, 1
jne 0x44c8b0
mov esi, dword [ebp - 0x48]
test edx, edx
lea eax, [ecx - 2]
mov edi, 0x8007007a
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
xor eax, eax
test edx, edx
cmovne edi, eax
jmp 0x44c8ea
mov edi, dword [ebp - 0x1c]
push str..lnk
lea eax, [ebp - 0x258]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRenameExtensionW]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x18]
mov ecx, dword [eax]
push dword [edx]
push eax
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [eax]
push dword [edx]
push eax
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x2c]
push 0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x44]
mov ecx, dword [ebp + 8]
push dword [ecx]
push eax
call edx
mov eax, dword [ebp + 0x14]
mov edx, dword [eax]
cmp dword [edx - 0xc], 0
je 0x44c93f
mov eax, dword [ebp - 0x2c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x24]
push edx
push 0x584920
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x44c978
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x258]
push 1
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [ebp - 0x1d], 0
jmp 0x44cc43
mov ecx, dword [ebp + 0xc]
push ecx
push edi
push ecx
mov edi, esp
mov dword [ebp - 0x18], edi
mov ecx, dword [ebp - 0x30]
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [edi], eax
call fcn.00445470
add esp, 4
mov byte [ebp - 4], 0x1e
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.004218d0
mov byte [ebp - 4], 0x15
add esp, 0x10
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44c9ce
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x44cd81
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
push 0x594764
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x1f
call fcn.0042f250
test al, al
jne 0x44ca0c
push 0
push 0x594764
lea ecx, [ebp - 0x10]
call fcn.0042f580
mov byte [ebp - 4], 0x20
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x44cd8b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
push 0x594764
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x21
call fcn.0042f250
test al, al
jne 0x44ca4e
push 0
push 0x594764
lea ecx, [ebp - 0x14]
call fcn.0042f580
push ecx
mov byte [ebp - 4], 0x22
lea ecx, [esi - 0x10]
mov edi, esp
mov dword [ebp - 0x28], edi
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [edi], eax
call fcn.00445470
mov ebx, eax
mov ecx, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x28], edi
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [edi], eax
call fcn.00445470
add esp, 4
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x24
push ecx
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x30]
jmp 0x44cbc7
mov ecx, dword [ebp + 0xc]
push ecx
push eax
push ecx
mov edi, esp
mov dword [ebp - 0x18], edi
mov ecx, dword [ebp - 0x30]
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [edi], eax
call fcn.00445470
add esp, 4
mov byte [ebp - 4], 0x26
push dword [eax]
lea eax, [ebp - 0x40]
push eax
call fcn.004218d0
mov byte [ebp - 4], 0x15
add esp, 0x10
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44caf8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x44cd95
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
push 0x594764
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x27
call fcn.0042f250
test al, al
jne 0x44cb36
push 0
push 0x594764
lea ecx, [ebp - 0x10]
call fcn.0042f580
mov byte [ebp - 4], 0x28
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x44cd9f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
push 0x594764
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x29
call fcn.0042f250
test al, al
jne 0x44cb78
push 0
push 0x594764
lea ecx, [ebp - 0x14]
call fcn.0042f580
push ecx
mov byte [ebp - 4], 0x2a
lea ecx, [esi - 0x10]
mov edi, esp
mov dword [ebp - 0x24], edi
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [edi], eax
call fcn.00445470
mov ebx, eax
mov ecx, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x2b
mov dword [ebp - 0x24], edi
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [edi], eax
call fcn.00445470
add esp, 4
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x2c
push ecx
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x40]
push ecx
mov edx, ebx
mov ecx, eax
call fcn.00459010
mov edx, dword [ebp - 0x18]
or ebx, 0xffffffff
mov eax, ebx
add edx, 0xfffffff0
add esp, 0xc
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44cbf1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44cc0b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44cc25
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x10]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44cc3f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 0x1d], 1
mov byte [ebp - 4], 0x2e
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x44cc54
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x40]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44cc6e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44cc88
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x34]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44cca2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x38]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44ccbc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44ccd3
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x44]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44ccea
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x3c]
lock xadd dword [eax + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x44ccff
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp - 0x1d]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
int3