Function at 0x448a60
Capabilities:
Check for time delay via gettickcount
Get file size
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
push esi
push edi
xor eax, eax
push eax
push 0x80000080
push 3
push eax
push 1
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 8], eax
cmp eax, 0xffffffff
je 0x449617
lea ecx, [ebp - 0x2c]
push ecx
mov edx, eax
push edx
mov dword [ebp - 0x2c], 0
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push 1
push 0
mov esi, eax
mov eax, dword [ebp - 0x2c]
push 0
push eax
call fcn.00490d80
mov edi, eax
xor ecx, ecx
mov ebx, edx
add edi, esi
adc ebx, ecx
push 0x4e2d14
push 0x10000
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], ebx
call fcn.0048bb06
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x448b00
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x44962a
push 0x10000
xor esi, esi
mov ecx, eax
push esi
push ecx
call fcn.0048f0a0
mov eax, edi
shrd eax, ebx, 0x10
and edi, 0xffff
add esp, 0xc
shr ebx, 0x10
mov dword [ebp - 4], esi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], edi
test eax, eax
jle 0x448b9e
mov edi, eax
mov ebx, 0x10000
mov eax, dword [0x4e47ac]
test eax, eax
je 0x448b50
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x448b73
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
push 0
lea edx, [ebp - 4]
push edx
push ebx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4495e1
cmp dword [ebp - 4], ebx
jne 0x4495e1
inc esi
cmp esi, edi
jl 0x448b36
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x448c08
mov eax, dword [0x4e47ac]
test eax, eax
je 0x448bbf
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x448be2
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
push 0
lea edx, [ebp - 4]
push edx
push esi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4495e1
cmp dword [ebp - 4], esi
jne 0x4495e1
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 8]
push 0
push 0x80000080
push 3
push 0
push 1
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 8], eax
cmp eax, 0xffffffff
je 0x449617
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.0048de2f
add esp, 4
xor esi, esi
jmp 0x448c50
mov eax, dword [0x4e47ac]
test eax, eax
je 0x448c6a
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x448c8d
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
call fcn.0048de41
mov ecx, dword [ebp - 0xc]
mov byte [ecx + esi], al
sar eax, 0x10
mov byte [ecx + esi + 1], al
add esi, 2
cmp esi, 0x10000
jl 0x448c50
xor esi, esi
cmp dword [ebp - 0x14], esi
jle 0x448d21
mov edi, dword [ebp - 0x14]
mov ebx, 0x10000
mov eax, dword [0x4e47ac]
test eax, eax
je 0x448cd3
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x448cf6
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
push 0
lea ecx, [ebp - 4]
push ecx
push ebx
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4495e1
cmp dword [ebp - 4], ebx
jne 0x4495e1
inc esi
cmp esi, edi
jl 0x448cb9
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x448d8b
mov eax, dword [0x4e47ac]
test eax, eax
je 0x448d42
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x448d65
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
push 0
lea ecx, [ebp - 4]
push ecx
push esi
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4495e1
cmp dword [ebp - 4], esi
jne 0x4495e1
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp + 8]
push 0
push 0x80000080
push 3
push 0
push 1
push 0xc0000000
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 8], eax
cmp eax, 0xffffffff
je 0x449617
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x4e47ac]
or edi, 0xffffffff
lea esi, [eax + 1]
sub edi, eax
mov edi, edi
test ecx, ecx
je 0x448deb
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
mov ecx, dword [0x4e47ac]
mov eax, dword [0x4e47b0]
test eax, eax
je 0x448e14
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
mov ecx, dword [0x4e47ac]
mov al, byte [esi - 1]
mov dl, byte [esi]
mov byte [esi], al
mov byte [esi - 1], dl
add esi, 2
lea eax, [edi + esi]
cmp eax, 0x10000
jl 0x448dd0
xor edi, edi
cmp dword [ebp - 0x14], edi
jle 0x448ea7
mov ebx, dword [ebp - 8]
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x448e40
test ecx, ecx
je 0x448e51
push 0
push ecx
call esi
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x448e70
push 0
push eax
call esi
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
mov edx, dword [ebp - 0xc]
push 0
lea ecx, [ebp - 4]
push ecx
push 0x10000
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4495e1
cmp dword [ebp - 4], 0x10000
jne 0x4495e1
mov ecx, dword [0x4e47ac]
inc edi
cmp edi, dword [ebp - 0x14]
jl 0x448e40
mov esi, dword [ebp - 0x1c]
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test esi, esi
je 0x448f0a
test ecx, ecx
je 0x448ec5
push 0
push ecx
call edi
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x448ee4
push 0
push eax
call edi
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
push 0
lea eax, [ebp - 4]
push eax
push esi
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4495e1
cmp dword [ebp - 4], esi
jne 0x4495e1
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp + 8]
push 0
push 0x80000080
push 3
push 0
push 1
push 0xc0000000
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 8], eax
cmp eax, 0xffffffff
jne 0x448f50
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x44962a
push 0x4e2d14
push 0x10000
call fcn.0048bb06
mov ebx, eax
add esp, 8
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x449617
push 0x10000
push 0
push ebx
call fcn.0048f0a0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.0048de2f
add esp, 4
xor esi, esi
mov eax, dword [0x4e47ac]
test eax, eax
je 0x448fa6
push 0
push eax
call edi
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x448fc5
push 0
push eax
call edi
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
call fcn.0048de41
mov byte [ebx + esi], al
sar eax, 0x10
mov byte [ebx + esi + 1], al
add esi, 2
cmp esi, 0x10000
jl 0x448f90
push 0x4e2d14
push 0x10000
call fcn.0048bb06
mov esi, eax
add esp, 8
mov dword [ebp - 0x28], esi
test esi, esi
je 0x449617
push 0x10000
push 0
push esi
call fcn.0048f0a0
add esp, 0xc
cmp dword [ebp - 0x14], 0
jle 0x4490ba
mov edi, dword [ebp - 0x10]
jmp 0x449020
mov eax, dword [0x4e47ac]
test eax, eax
je 0x44903a
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x44905d
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
mov edx, dword [ebp - 8]
push 0
lea ecx, [ebp - 4]
push ecx
push 0x10000
push esi
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4495e1
cmp dword [ebp - 4], 0x10000
jne 0x4495e1
mov eax, edi
and eax, 0x80000001
jns 0x449096
dec eax
or eax, 0xfffffffe
inc eax
push 0x10000
je 0x4490a3
mov ecx, dword [ebp - 0xc]
push ecx
jmp 0x4490a4
push ebx
push esi
call fcn.00491f60
inc edi
add esp, 0xc
cmp edi, dword [ebp - 0x14]
jl 0x449020
mov dword [ebp - 0x10], edi
xor edi, edi
cmp dword [ebp - 0x1c], edi
je 0x449127
mov eax, dword [0x4e47ac]
cmp eax, edi
je 0x4490da
push edi
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
cmp eax, edi
je 0x4490fc
push edi
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, edi
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
push edi
lea edx, [ebp - 4]
push edx
mov edx, dword [ebp - 8]
push eax
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4495e1
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 4], eax
jne 0x4495e1
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00480ff0
push ebx
call fcn.00480ff0
push esi
mov dword [ebp - 0x24], edi
call fcn.00480ff0
mov edx, dword [ebp - 8]
add esp, 0xc
push edx
mov dword [ebp - 0x28], edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 8]
push edi
push 0x80000080
push 3
push edi
push 1
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 8], eax
cmp eax, 0xffffffff
je 0x449617
push 0x4e2d14
push 0xa000
call fcn.0048bb06
mov edi, eax
add esp, 8
mov dword [ebp - 0xc], edi
test edi, edi
je 0x449617
push 0xa000
push 0
push edi
call fcn.0048f0a0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.0048de2f
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
add esp, 4
xor esi, esi
jmp 0x4491c0
mov eax, dword [0x4e47ac]
test eax, eax
je 0x4491d6
push 0
push eax
call ebx
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x4491f5
push 0
push eax
call ebx
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
call fcn.0048de41
mov byte [edi + esi], al
sar eax, 0x10
mov byte [edi + esi + 1], al
add esi, 2
cmp esi, 0xa000
jl 0x4491c0
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
push 0
push 0xa000
push ecx
push edx
call fcn.0049da20
xor esi, esi
mov dword [ebp - 0x14], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
test eax, eax
jle 0x4492a1
mov eax, dword [0x4e47ac]
test eax, eax
je 0x449251
push 0
push eax
call ebx
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x449270
push 0
push eax
call ebx
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
mov ecx, dword [ebp - 8]
push 0
lea eax, [ebp - 4]
push eax
push 0xa000
push edi
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4495e1
cmp dword [ebp - 4], 0xa000
jne 0x4495e1
inc esi
cmp esi, dword [ebp - 0x20]
jl 0x44923b
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x449300
mov eax, dword [0x4e47ac]
test eax, eax
je 0x4492be
push 0
push eax
call ebx
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x4492dd
push 0
push eax
call ebx
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
mov eax, dword [ebp - 8]
push 0
lea edx, [ebp - 4]
push edx
push esi
push edi
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4495e1
cmp dword [ebp - 4], esi
jne 0x4495e1
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x4e47ac]
mov dword [ebp - 8], 0
test eax, eax
je 0x449327
push 0
push eax
call ebx
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x449346
push 0
push eax
call ebx
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
mov edx, dword [ebp + 8]
push 0
push 0x80000080
push 3
push 0
push 1
push 0xc0000000
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 8], esi
cmp esi, 0xffffffff
je 0x449617
push 0xa000
push 0
push edi
call fcn.0048f0a0
xor ebx, ebx
add esp, 0xc
cmp dword [ebp - 0x20], ebx
jle 0x4493f2
mov eax, dword [0x4e47ac]
test eax, eax
je 0x4493a1
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x4493c4
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
push 0
lea ecx, [ebp - 4]
push ecx
push 0xa000
push edi
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4495e1
cmp dword [ebp - 4], 0xa000
jne 0x4495e1
inc ebx
cmp ebx, dword [ebp - 0x20]
jl 0x449387
cmp dword [ebp - 0x18], 0
je 0x449458
mov eax, dword [0x4e47ac]
test eax, eax
je 0x449412
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x449435
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
mov ebx, dword [ebp - 0x18]
push 0
lea edx, [ebp - 4]
push edx
push ebx
push edi
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4495e1
cmp dword [ebp - 4], ebx
jne 0x4495e1
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x4e47ac]
mov dword [ebp - 8], 0
test eax, eax
je 0x449480
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x4494a3
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
mov eax, dword [ebp + 8]
push 0
push 0x80000080
push 3
push 0
push 1
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov dword [ebp - 8], ebx
cmp ebx, 0xffffffff
je 0x449617
push 0xa000
push 0
push edi
call fcn.0048f0a0
xor esi, esi
add esp, 0xc
cmp dword [ebp - 0x20], esi
jle 0x44958d
jmp 0x4494f0
mov eax, dword [0x4e47ac]
test eax, eax
je 0x44950a
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x44952d
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
push 0
lea ecx, [ebp - 4]
push ecx
push 0xa000
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4495e1
cmp dword [ebp - 4], 0xa000
jne 0x4495e1
mov ecx, dword [ebp - 0x10]
inc ecx
mov eax, 0x7efdfbf7
imul ecx
sub edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x7f
add ecx, eax
push 0xa000
push ecx
push edi
mov dword [ebp - 0x10], ecx
call fcn.0048f0a0
inc esi
add esp, 0xc
cmp esi, dword [ebp - 0x20]
jl 0x4494f0
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x449640
mov eax, dword [0x4e47ac]
test eax, eax
je 0x4495ae
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
mov eax, dword [0x4e47b0]
test eax, eax
je 0x4495c9
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4495e1
cmp eax, 0xffffffff
je 0x4495e1
push 0
lea ecx, [ebp - 4]
push ecx
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4495e1
cmp dword [ebp - 4], esi
je 0x449640
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xc]
push eax
call fcn.00480ff0
mov eax, dword [ebp - 0x24]
add esp, 4
test eax, eax
je 0x449607
push eax
call fcn.00480ff0
add esp, 4
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x449617
push eax
call fcn.00480ff0
add esp, 4
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x449636
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call fcn.00480ff0
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
add esp, 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44966f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret