Function at 0x420abb
Capabilities:
Clear file content

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
inc ebx
push dword [edi + 0x28]
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x420b14
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x420aeb
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x420af2
mov esi, 0x80004005
push esi
push 0x204
push 0x459d28
call fcn.004038ba
push 0x459f5c
push esi
call fcn.0043fb09
pop ecx
pop ecx
jmp 0x420e8d
push 0xffffffffffffffff
push dword [edi + 0x24]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x420b59
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x420b3b
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x420b42
mov esi, 0x80004005
push esi
push 0x20a
push 0x459d28
call fcn.004038ba
push 0x459f84
jmp 0x420b07
push dword [edi + 0x24]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x420b9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x420b7d
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x420b84
mov esi, 0x80004005
push esi
push 0x20f
push 0x459d28
call fcn.004038ba
push 0x459fb0
jmp 0x420b07
mov eax, dword [edi + 0x2c]
sub eax, 1
je 0x420bd7
sub eax, 4
je 0x420bcd
mov ebx, 0x8007139f
push ebx
push 0x21d
push 0x459d28
mov esi, ebx
call fcn.004038ba
push 0x459fd8
push ebx
jmp 0x420e83
mov esi, 0x80004004
jmp 0x420e8d
mov ebx, dword [ebp + 0xc]
push 0xfde9
push 0
push dword [ebx + 4]
push dword [edi + 0x34]
call fcn.004022b5
mov esi, eax
test esi, esi
jns 0x420c08
push dword [ebx + 4]
push 0x459ffc
push esi
call fcn.0043fb09
add esp, 0xc
jmp 0x420e8a
push dword [edi + 0x28]
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x420c4d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x420c2c
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x420c33
mov esi, 0x80004005
push esi
push 0x227
push 0x459d28
call fcn.004038ba
push 0x459f5c
jmp 0x420e82
push 0xffffffffffffffff
push dword [edi + 0x24]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x420c95
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x420c74
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x420c7b
mov esi, 0x80004005
push esi
push 0x22d
push 0x459d28
call fcn.004038ba
push 0x459f84
jmp 0x420e82
push dword [edi + 0x24]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x420cda
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x420cb9
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x420cc0
mov esi, 0x80004005
push esi
push 0x232
push 0x459d28
call fcn.004038ba
push 0x459fb0
jmp 0x420e82
mov eax, dword [edi + 0x2c]
dec eax
sub eax, 1
je 0x420d50
sub eax, 1
je 0x420d13
sub eax, 1
je 0x420d0c
sub eax, 1
je 0x420d02
mov ebx, 0x8007139f
push ebx
push 0x268
jmp 0x420bb6
mov esi, 0x80004004
jmp 0x420e8a
xor ebx, ebx
jmp 0x420e8d
push 1
push dword [ebx]
call fcn.004039df
mov dword [edi + 0x40], eax
test eax, eax
jne 0x420d42
mov esi, 0x8007000e
push esi
push 0x257
push 0x459d28
call fcn.004038ba
push 0x45a0b4
jmp 0x420e82
mov eax, dword [ebx]
and dword [edi + 0x48], 0
mov dword [edi + 0x44], eax
jmp 0x420e8a
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
push dword [edi + 0x38]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ecx, eax
mov dword [edi + 0x3c], ecx
cmp ecx, 0xffffffff
jne 0x420db0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x420d8c
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x420d93
mov esi, 0x80004005
push esi
push 0x23d
push 0x459d28
call fcn.004038ba
push dword [edi + 0x38]
push 0x45a01c
jmp 0x420bfa
mov eax, dword [ebx]
mov ebx, dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
push 0
push 0
cdq
push edx
push eax
push ecx
call ebx
test eax, eax
jne 0x420dfe
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x420ddd
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x420de4
mov esi, 0x80004005
push esi
push 0x244
push 0x459d28
call fcn.004038ba
push 0x45a038
jmp 0x420e82
push dword [edi + 0x3c]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x420e40
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x420e22
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x420e29
mov esi, 0x80004005
push esi
push 0x249
push 0x459d28
call fcn.004038ba
push 0x45a064
jmp 0x420e82
xor eax, eax
push eax
push eax
push eax
push eax
push dword [edi + 0x3c]
call ebx
test eax, eax
jne 0x420e8a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x420e66
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x420e6d
mov esi, 0x80004005
push esi
push 0x24f
push 0x459d28
call fcn.004038ba
push 0x45a080
push esi
call fcn.0043fb09
pop ecx
pop ecx
xor ebx, ebx
inc ebx
mov dword [edi + 0x30], esi
test esi, esi
jns 0x420e97
or ebx, 0xffffffff
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret 8