Function at 0x42ec9f
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fa0e7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x9c4
mov dword [ebp - 0x9d0], ecx
lea ecx, [ebp - 0x1c]
call fcn.004e3ec0
mov dword [ebp - 4], 0
mov dword [ebp - 0x30], 0
push 0x10000
call fcn.004bf27e
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x42ed2a
push 0
push 0x524308
push str.Cant_allocate_memory_to_generate_IDtable_binary_file
mov ecx, dword [ebp - 0x9d0]
call fcn.004e07ce
mov dword [ebp - 0x9bc], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004e3fb5
mov eax, dword [ebp - 0x9bc]
jmp 0x42f985
push 0x10000
push 0
mov eax, dword [ebp - 0x30]
push eax
call fcn.004be790
add esp, 0xc
push 0x208
push 0
lea ecx, [ebp - 0x238]
push ecx
call fcn.004be790
add esp, 0xc
mov edx, dword [ebp - 0x9d0]
add edx, 0x5b0
push edx
lea eax, [ebp - 0x238]
push eax
call fcn.004be9f0
add esp, 8
push 0x524348
lea ecx, [ebp - 0x238]
push ecx
call fcn.004bea00
add esp, 8
push 0x208
push 0
lea edx, [ebp - 0x650]
push edx
call fcn.004be790
add esp, 0xc
push 0x10
push 0x5433d0
lea eax, [ebp - 0x650]
push eax
call fcn.004bee30
add esp, 0xc
movsx ecx, byte [ebp - 0x650]
test ecx, ecx
jne 0x42edce
push 0x524354
lea edx, [ebp - 0x650]
push edx
call fcn.004be9f0
add esp, 8
cmp dword [0x5433b8], 0
je 0x42ee3a
push 0x52435c
lea eax, [ebp - 0x650]
push eax
call fcn.004bea00
add esp, 8
mov ecx, dword [ebp - 0x9d0]
add ecx, 0x2d6
push ecx
lea edx, [ebp - 0x650]
push edx
call fcn.004bea00
add esp, 8
movsx eax, byte [0x5433b4]
test eax, eax
je 0x42ee3a
push 0x524360
lea ecx, [ebp - 0x650]
push ecx
call fcn.004bea00
add esp, 8
push 0x5433b4
lea edx, [ebp - 0x650]
push edx
call fcn.004bea00
add esp, 8
lea eax, [ebp - 0x650]
push eax
lea ecx, [ebp - 0x238]
push ecx
call fcn.004bea00
add esp, 8
push 0x524364
lea edx, [ebp - 0x238]
push edx
call fcn.004bea00
add esp, 8
mov eax, dword [ebp - 0x9d0]
cmp dword [eax + 0x11ac0], 0
je 0x42ee89
push 0x524368
lea ecx, [ebp - 0x238]
push ecx
call fcn.004bea00
add esp, 8
jmp 0x42ee9d
push 0x524378
lea edx, [ebp - 0x238]
push edx
call fcn.004bea00
add esp, 8
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocStringLen
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x9b8], eax
cmp dword [ebp - 0x9b8], 0xffffffff
jne 0x42ef45
push 0x30c
push 0
lea ecx, [ebp - 0x9b0]
push ecx
call fcn.004be790
add esp, 0xc
lea edx, [ebp - 0x238]
push edx
push str.Cant_open__s__please_check.
lea eax, [ebp - 0x9b0]
push eax
call fcn.004bec9d
add esp, 0xc
push 0
push 0x5243a4
lea ecx, [ebp - 0x9b0]
push ecx
mov ecx, dword [ebp - 0x9d0]
call fcn.004e07ce
mov edx, dword [ebp - 0x30]
push edx
call fcn.004bf16d
add esp, 4
mov dword [ebp - 0x9c0], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004e3fb5
mov eax, dword [ebp - 0x9c0]
jmp 0x42f985
mov eax, dword [ebp - 0x9b8]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x1c]
call fcn.00432bd0
push 0x10000
mov ecx, dword [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004e418f
push 0x10
push 0
lea edx, [ebp - 0x6a0]
push edx
call fcn.004be790
add esp, 0xc
push 0x10
mov eax, dword [ebp - 0x30]
add eax, 0xeff0
push eax
lea ecx, [ebp - 0x6a0]
push ecx
call fcn.004bee30
add esp, 0xc
mov edx, dword [ebp - 0x9b8]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x208
push 0
lea eax, [ebp - 0x238]
push eax
call fcn.004be790
add esp, 0xc
mov ecx, dword [ebp - 0x9d0]
add ecx, 0x5b0
push ecx
lea edx, [ebp - 0x238]
push edx
call fcn.004be9f0
add esp, 8
push 0x5243ac
lea eax, [ebp - 0x238]
push eax
call fcn.004bea00
add esp, 8
lea ecx, [ebp - 0x650]
push ecx
lea edx, [ebp - 0x238]
push edx
call fcn.004bea00
add esp, 8
push str.IDtable.bin
lea eax, [ebp - 0x238]
push eax
call fcn.004bea00
add esp, 8
push 0x208
push 0
lea ecx, [ebp - 0x448]
push ecx
call fcn.004be790
add esp, 0xc
mov edx, dword [ebp - 0x9d0]
add edx, 0x5b0
push edx
lea eax, [ebp - 0x448]
push eax
call fcn.004be9f0
add esp, 8
push 0x5243c8
lea ecx, [ebp - 0x448]
push ecx
call fcn.004bea00
add esp, 8
push 0
lea edx, [ebp - 0x448]
push edx
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x42f102
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x690], eax
push 0x30c
push 0
lea ecx, [ebp - 0x9b0]
push ecx
call fcn.004be790
add esp, 0xc
mov edx, dword [ebp - 0x690]
push edx
lea eax, [ebp - 0x650]
push eax
push str.Cant_copy_file_from_.Firmware_sIDtable.bin_to_.DriveSettingMP_IDtable.bin__errorcode___d
lea ecx, [ebp - 0x9b0]
push ecx
call fcn.004bec9d
add esp, 0x10
push 0
push 0x524448
lea edx, [ebp - 0x9b0]
push edx
mov ecx, dword [ebp - 0x9d0]
call fcn.004e07ce
mov eax, dword [ebp - 0x30]
push eax
call fcn.004bf16d
add esp, 4
mov dword [ebp - 0x9c4], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004e3fb5
mov eax, dword [ebp - 0x9c4]
jmp 0x42f985
push 0
push 0x80
push 3
push 0
push 1
push 0xc0000000
lea ecx, [ebp - 0x448]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x9b8], eax
cmp dword [ebp - 0x9b8], 0xffffffff
jne 0x42f18d
push 0x30c
push 0
lea edx, [ebp - 0x9b0]
push edx
call fcn.004be790
add esp, 0xc
push 0
push 0x524450
push str.Cant_open_.DriveSettingMP_IDtable.bin__please_check.
mov ecx, dword [ebp - 0x9d0]
call fcn.004e07ce
mov eax, dword [ebp - 0x30]
push eax
call fcn.004bf16d
add esp, 4
mov dword [ebp - 0x9c8], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004e3fb5
mov eax, dword [ebp - 0x9c8]
jmp 0x42f985
push 0x10000
push 0
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004be790
add esp, 0xc
mov edx, dword [ebp - 0x9b8]
mov dword [ebp - 0x18], edx
lea ecx, [ebp - 0x1c]
call fcn.004e436c
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x654]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004e418f
mov edx, dword [ebp - 0x9d0]
cmp dword [edx + 0x11d84], 0
jne 0x42f1e8
mov eax, dword [ebp - 0x30]
mov byte [eax], 0x40
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 1], 0
jmp 0x42f222
mov edx, dword [ebp - 0x9d0]
cmp dword [edx + 0x11d84], 1
jne 0x42f206
mov eax, dword [ebp - 0x30]
mov byte [eax], 0x4a
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 1], 4
jmp 0x42f222
mov edx, dword [ebp - 0x9d0]
cmp dword [edx + 0x11d84], 2
jne 0x42f222
mov eax, dword [ebp - 0x30]
mov byte [eax], 0x8a
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 1], 0x84
cmp dword [0x5425b0], 1
jne 0x42f238
mov edx, dword [ebp - 0x30]
mov byte [edx], 0x40
mov eax, dword [ebp - 0x30]
mov byte [eax + 1], 0
push 8
push 0
lea ecx, [ebp - 0x240]
push ecx
call fcn.004be790
add esp, 0xc
mov edx, dword [ebp - 0x9d0]
movsx eax, byte [edx + 0x11d78]
test eax, eax
je 0x42f27f
push 8
mov ecx, dword [ebp - 0x9d0]
add ecx, 0x11d78
push ecx
lea edx, [ebp - 0x240]
push edx
call fcn.004bee30
add esp, 0xc
jmp 0x42f350
mov eax, dword [ebp - 0x6a0]
and eax, 0xff
cmp eax, 0x30
jl 0x42f338
mov ecx, dword [ebp - 0x6a0]
and ecx, 0xff
cmp ecx, 0x39
jg 0x42f338
push 0x10
push 0
lea edx, [ebp - 0x2c]
push edx
call fcn.004be790
add esp, 0xc
push 4
lea eax, [ebp - 0x6a0]
push eax
lea ecx, [ebp - 0x2c]
push ecx
call fcn.004bee30
add esp, 0xc
lea edx, [ebp - 0x2c]
push edx
call fcn.004bebe7
add esp, 4
mov dword [ebp - 0x6a4], eax
push 0x10
push 0
lea eax, [ebp - 0x2c]
push eax
call fcn.004be790
add esp, 0xc
push 6
lea ecx, [ebp - 0x69c]
push ecx
lea edx, [ebp - 0x2c]
push edx
call fcn.004bee30
add esp, 0xc
movsx eax, byte [ebp - 0x27]
cmp eax, 0x5f
jne 0x42f311
mov byte [ebp - 0x27], 0x20
lea ecx, [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x6a4]
sub edx, 0x790
push edx
push 0x524490
lea eax, [ebp - 0x240]
push eax
call fcn.004bec9d
add esp, 0x10
jmp 0x42f350
push 7
lea ecx, [ebp - 0x6a0]
push ecx
lea edx, [ebp - 0x240]
push edx
call fcn.004bee30
add esp, 0xc
mov dword [ebp - 0x668], 0
jmp 0x42f36b
mov eax, dword [ebp - 0x668]
add eax, 2
mov dword [ebp - 0x668], eax
cmp dword [ebp - 0x668], 8
jge 0x42f3e9
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x668]
mov edx, dword [ebp - 0x668]
mov al, byte [ebp + edx - 0x23f]
mov byte [ecx + 0x2e], al
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x668]
mov edx, dword [ebp - 0x668]
mov al, byte [ebp + edx - 0x240]
mov byte [ecx + 0x2f], al
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x668]
xor edx, edx
mov dl, byte [ecx + 0x2e]
test edx, edx
jne 0x42f3c5
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x668]
mov byte [eax + 0x2e], 0x20
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x668]
xor edx, edx
mov dl, byte [ecx + 0x2f]
test edx, edx
jne 0x42f3e4
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x668]
mov byte [eax + 0x2f], 0x20
jmp 0x42f35c
mov ecx, dword [ebp - 0x9d0]
cmp dword [ecx + 0x11df4], 0
jne 0x42f40b
mov edx, dword [ebp - 0x9d0]
cmp dword [edx + 0x11df0], 0
je 0x42f4f2
push 0x10
push 0
lea eax, [ebp - 0x664]
push eax
call fcn.004be790
add esp, 0xc
mov ecx, dword [ebp - 0x9d0]
cmp dword [ecx + 0x11df4], 0
je 0x42f44d
push 0x10
mov edx, dword [ebp - 0x9d0]
add edx, 0x11e09
push edx
lea eax, [ebp - 0x664]
push eax
call fcn.004bee30
add esp, 0xc
jmp 0x42f494
push 0x21
push 0
lea ecx, [ebp - 0x68c]
push ecx
call fcn.004be790
add esp, 0xc
push 0x10
mov edx, dword [ebp - 0x9d0]
add edx, 0x11df8
push edx
lea eax, [ebp - 0x68c]
push eax
call fcn.004bee30
add esp, 0xc
lea ecx, [ebp - 0x664]
push ecx
lea edx, [ebp - 0x68c]
push edx
call fcn.004ab225
add esp, 8
mov dword [ebp - 0x668], 0
jmp 0x42f4af
mov eax, dword [ebp - 0x668]
add eax, 2
mov dword [ebp - 0x668], eax
cmp dword [ebp - 0x668], 0x10
jge 0x42f4f2
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x668]
mov edx, dword [ebp - 0x668]
mov al, byte [ebp + edx - 0x663]
mov byte [ecx + 0xd8], al
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x668]
mov edx, dword [ebp - 0x668]
mov al, byte [ebp + edx - 0x664]
mov byte [ecx + 0xd9], al
jmp 0x42f4a0
mov ecx, dword [ebp - 0x9d0]
cmp dword [ecx + 0x11df0], 0
jne 0x42f54e
mov edx, dword [ebp - 0x9d0]
cmp dword [edx + 0x11df4], 0
jne 0x42f54e
cmp dword [0x543370], 0
jne 0x42f54e
cmp dword [0x543364], 0
jne 0x42f54e
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0xa9]
and cl, 0xfe
mov edx, dword [ebp - 0x30]
mov byte [edx + 0xa9], cl
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0xaf]
and cl, 0xfe
mov edx, dword [ebp - 0x30]
mov byte [edx + 0xaf], cl
jmp 0x42f578
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0xa9]
or cl, 1
mov edx, dword [ebp - 0x30]
mov byte [edx + 0xa9], cl
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0xaf]
or cl, 1
mov edx, dword [ebp - 0x30]
mov byte [edx + 0xaf], cl
push 0x208
push 0
lea eax, [ebp - 0x650]
push eax
call fcn.004be790
add esp, 0xc
mov ecx, dword [ebp - 0x9d0]
add ecx, 0x11d39
push ecx
call fcn.004bf680
add esp, 4
push eax
mov edx, dword [ebp - 0x9d0]
add edx, 0x11d39
push edx
lea eax, [ebp - 0x650]
push eax
call fcn.004bee30
add esp, 0xc
mov dword [ebp - 0x668], 0
jmp 0x42f5db
mov ecx, dword [ebp - 0x668]
add ecx, 2
mov dword [ebp - 0x668], ecx
cmp dword [ebp - 0x668], 0x3e
jge 0x42f65c
cmp dword [0x543130], 0
je 0x42f61f
mov edx, dword [ebp - 0x668]
movsx eax, byte [ebp + edx - 0x650]
test eax, eax
je 0x42f61f
mov ecx, dword [ebp - 0x668]
movsx edx, byte [ebp + ecx - 0x64f]
test edx, edx
jne 0x42f61f
mov eax, dword [ebp - 0x668]
mov byte [ebp + eax - 0x64f], 0x20
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x668]
mov edx, dword [ebp - 0x668]
mov al, byte [ebp + edx - 0x64f]
mov byte [ecx + 0x102], al
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x668]
mov edx, dword [ebp - 0x668]
mov al, byte [ebp + edx - 0x650]
mov byte [ecx + 0x103], al
jmp 0x42f5cc
mov ecx, dword [ebp - 0x9d0]
cmp dword [ecx + 0x12128], 0
je 0x42f681
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0x152]
or al, 1
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0x152], al
jmp 0x42f695
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0x152]
and al, 0xfe
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0x152], al
mov edx, dword [ebp - 0x9d0]
cmp dword [edx + 0x1212c], 0
je 0x42f6bb
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0xa4]
or cl, 2
mov edx, dword [ebp - 0x30]
mov byte [edx + 0xa4], cl
jmp 0x42f6e5
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0xa4]
and cl, 0xfd
mov edx, dword [ebp - 0x30]
mov byte [edx + 0xa4], cl
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0xaa]
and cl, 0xfd
mov edx, dword [ebp - 0x30]
mov byte [edx + 0xaa], cl
mov eax, dword [ebp - 0x9d0]
cmp dword [eax + 0x12130], 0
je 0x42f70b
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0x9d]
or dl, 1
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x9d], dl
jmp 0x42f735
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0x9d]
and dl, 0xfe
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x9d], dl
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0x9f]
and dl, 0xfe
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x9f], dl
mov ecx, dword [ebp - 0x9d0]
cmp dword [ecx + 0x12134], 0
je 0x42f75a
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0x99]
and al, 0xfd
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0x99], al
jmp 0x42f76e
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0x99]
or al, 2
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0x99], al
mov edx, dword [ebp - 0x9d0]
cmp dword [edx + 0x12138], 0
je 0x42f7a9
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0x9c]
and cl, 0xf7
mov edx, dword [ebp - 0x30]
mov byte [edx + 0x9c], cl
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0x9e]
and cl, 0xf7
mov edx, dword [ebp - 0x30]
mov byte [edx + 0x9e], cl
jmp 0x42f7be
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0x9c]
or cl, 8
mov edx, dword [ebp - 0x30]
mov byte [edx + 0x9c], cl
mov eax, dword [ebp - 0x9d0]
cmp dword [eax + 0x1213c], 0
je 0x42f7f9
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0xa4]
and dl, 0xdf
mov eax, dword [ebp - 0x30]
mov byte [eax + 0xa4], dl
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0xaa]
and dl, 0xdf
mov eax, dword [ebp - 0x30]
mov byte [eax + 0xaa], dl
jmp 0x42f80e
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0xa4]
or dl, 0x20
mov eax, dword [ebp - 0x30]
mov byte [eax + 0xa4], dl
cmp dword [0x5425b0], 1
jne 0x42f82b
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0xd4], 3
mov edx, dword [ebp - 0x30]
mov byte [edx + 0xd5], 0x60
cmp dword [0x543130], 0
je 0x42f8a8
mov eax, dword [ebp - 0x9d0]
cmp dword [eax + 0x12140], 0
je 0x42f85a
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0x8a]
or dl, 0x20
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x8a], dl
jmp 0x42f86f
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0x8a]
and dl, 0xdf
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x8a], dl
mov ecx, dword [ebp - 0x9d0]
cmp dword [ecx + 0x12144], 0
je 0x42f894
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0xee]
or al, 4
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0xee], al
jmp 0x42f8a8
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0xee]
and al, 0xfb
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0xee], al
cmp dword [0x5425b4], 0
je 0x42f8c5
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0x8a]
or al, 0x10
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0x8a], al
mov edx, dword [ebp - 0x9d0]
mov eax, dword [edx + 0xf2]
shl eax, 1
mov dword [ebp - 0x9b4], eax
mov ecx, dword [ebp - 0x9b4]
and ecx, 0xff
mov edx, dword [ebp - 0x30]
mov byte [edx + 0x1d4], cl
mov eax, dword [ebp - 0x9b4]
and eax, 0xff
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0x1d6], al
mov edx, dword [ebp - 0x9b4]
shr edx, 8
and edx, 0xff
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1d5], dl
mov ecx, dword [ebp - 0x9b4]
shr ecx, 8
and ecx, 0xff
mov edx, dword [ebp - 0x30]
mov byte [edx + 0x1d7], cl
lea ecx, [ebp - 0x1c]
call fcn.00432bd0
mov eax, dword [ebp - 0x654]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004e41c9
mov edx, dword [ebp - 0x9b8]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x30]
push eax
call fcn.004bf16d
add esp, 4
mov dword [ebp - 0x9cc], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004e3fb5
mov eax, dword [ebp - 0x9cc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret