Function at 0x42d4a5
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f4974
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x88c
mov dword [ebp - 0x898], ecx
lea ecx, [ebp - 0x1c]
call fcn.004de760
mov dword [ebp - 4], 0
mov dword [ebp - 0x30], 0
push 0x10000
call fcn.004b9b1e
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x42d530
push 0
push 0x51dd88
push str.Cant_allocate_memory_to_generate_IDtable_binary_file
mov ecx, dword [ebp - 0x898]
call fcn.004db06e
mov dword [ebp - 0x884], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004de855
mov eax, dword [ebp - 0x884]
jmp 0x42e1f4
push 0x10000
push 0
mov eax, dword [ebp - 0x30]
push eax
call fcn.004b9030
add esp, 0xc
push 0x208
push 0
lea ecx, [ebp - 0x238]
push ecx
call fcn.004b9030
add esp, 0xc
mov edx, dword [ebp - 0x898]
add edx, 0x2dd
push edx
lea eax, [ebp - 0x238]
push eax
call fcn.004b9290
add esp, 8
push 0x51ddc8
lea ecx, [ebp - 0x238]
push ecx
call fcn.004b92a0
add esp, 8
push 0x208
push 0
lea edx, [ebp - 0x650]
push edx
call fcn.004b9030
add esp, 0xc
push 0x10
push 0x53c240
lea eax, [ebp - 0x650]
push eax
call fcn.004b96d0
add esp, 0xc
movsx ecx, byte [ebp - 0x650]
test ecx, ecx
jne 0x42d602
cmp dword [0x53b4b8], 0x979
jne 0x42d5e2
push 0x51ddd4
lea edx, [ebp - 0x650]
push edx
call fcn.004b9290
add esp, 8
jmp 0x42d602
cmp dword [0x53b4b8], 0x97a
jne 0x42d602
push 0x51dddc
lea eax, [ebp - 0x650]
push eax
call fcn.004b9290
add esp, 8
cmp dword [0x53c228], 0
je 0x42d66e
push 0x51dde4
lea ecx, [ebp - 0x650]
push ecx
call fcn.004b92a0
add esp, 8
mov edx, dword [ebp - 0x898]
add edx, 0x2d6
push edx
lea eax, [ebp - 0x650]
push eax
call fcn.004b92a0
add esp, 8
movsx ecx, byte [0x53c224]
test ecx, ecx
je 0x42d66e
push 0x51dde8
lea edx, [ebp - 0x650]
push edx
call fcn.004b92a0
add esp, 8
push 0x53c224
lea eax, [ebp - 0x650]
push eax
call fcn.004b92a0
add esp, 8
lea ecx, [ebp - 0x650]
push ecx
lea edx, [ebp - 0x238]
push edx
call fcn.004b92a0
add esp, 8
cmp dword [0x53b4b8], 0x979
jne 0x42d6cb
mov eax, dword [ebp - 0x898]
cmp dword [eax + 0x117e8], 0
je 0x42d6b5
push 0x51ddec
lea ecx, [ebp - 0x238]
push ecx
call fcn.004b92a0
add esp, 8
jmp 0x42d6c9
push 0x51ddfc
lea edx, [ebp - 0x238]
push edx
call fcn.004b92a0
add esp, 8
jmp 0x42d710
cmp dword [0x53b4b8], 0x97a
jne 0x42d710
mov eax, dword [ebp - 0x898]
cmp dword [eax + 0x117e8], 0
je 0x42d6fc
push 0x51de0c
lea ecx, [ebp - 0x238]
push ecx
call fcn.004b92a0
add esp, 8
jmp 0x42d710
push 0x51de1c
lea edx, [ebp - 0x238]
push edx
call fcn.004b92a0
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 - 0x880], eax
cmp dword [ebp - 0x880], 0xffffffff
jne 0x42d849
push 0x208
push 0
lea ecx, [ebp - 0x878]
push ecx
call fcn.004b9030
add esp, 0xc
cmp dword [0x53b4b8], 0x97a
jne 0x42d7ad
mov edx, dword [ebp - 0x898]
cmp dword [edx + 0x117e8], 0
je 0x42d790
lea eax, [ebp - 0x650]
push eax
push str.Cant_open_.Firmware_sISP2256RDT.bin__please_check.
lea ecx, [ebp - 0x878]
push ecx
call fcn.004b953d
add esp, 0xc
jmp 0x42d7ab
lea edx, [ebp - 0x650]
push edx
push str.Cant_open_.Firmware_sISP2256.bin__please_check.
lea eax, [ebp - 0x878]
push eax
call fcn.004b953d
add esp, 0xc
jmp 0x42d800
cmp dword [0x53b4b8], 0x979
jne 0x42d800
mov ecx, dword [ebp - 0x898]
cmp dword [ecx + 0x117e8], 0
je 0x42d7e5
lea edx, [ebp - 0x650]
push edx
push str.Cant_open_.Firmware_sISP2258RDT.bin__please_check.
lea eax, [ebp - 0x878]
push eax
call fcn.004b953d
add esp, 0xc
jmp 0x42d800
lea ecx, [ebp - 0x650]
push ecx
push str.Cant_open_.Firmware_sISP2258.bin__please_check.
lea edx, [ebp - 0x878]
push edx
call fcn.004b953d
add esp, 0xc
push 0
push 0x51df04
lea eax, [ebp - 0x878]
push eax
mov ecx, dword [ebp - 0x898]
call fcn.004db06e
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004b9a0d
add esp, 4
mov dword [ebp - 0x888], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004de855
mov eax, dword [ebp - 0x888]
jmp 0x42e1f4
mov edx, dword [ebp - 0x880]
mov dword [ebp - 0x18], edx
lea ecx, [ebp - 0x1c]
call fcn.004311f0
push 0x10000
mov eax, dword [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004dea2f
push 0x10
push 0
lea ecx, [ebp - 0x66c]
push ecx
call fcn.004b9030
add esp, 0xc
push 0x10
mov edx, dword [ebp - 0x30]
add edx, 0xeff0
push edx
lea eax, [ebp - 0x66c]
push eax
call fcn.004b96d0
add esp, 0xc
mov ecx, dword [ebp - 0x880]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x208
push 0
lea edx, [ebp - 0x238]
push edx
call fcn.004b9030
add esp, 0xc
mov eax, dword [ebp - 0x898]
add eax, 0x2dd
push eax
lea ecx, [ebp - 0x238]
push ecx
call fcn.004b9290
add esp, 8
push 0x51df0c
lea edx, [ebp - 0x238]
push edx
call fcn.004b92a0
add esp, 8
lea eax, [ebp - 0x650]
push eax
lea ecx, [ebp - 0x238]
push ecx
call fcn.004b92a0
add esp, 8
push str.IDtable.bin
lea edx, [ebp - 0x238]
push edx
call fcn.004b92a0
add esp, 8
push 0x208
push 0
lea eax, [ebp - 0x448]
push eax
call fcn.004b9030
add esp, 0xc
mov ecx, dword [ebp - 0x898]
add ecx, 0x2dd
push ecx
lea edx, [ebp - 0x448]
push edx
call fcn.004b9290
add esp, 8
push 0x51df28
lea eax, [ebp - 0x448]
push eax
call fcn.004b92a0
add esp, 8
push 0
lea ecx, [ebp - 0x448]
push ecx
lea edx, [ebp - 0x238]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x42da06
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x65c], eax
push 0x208
push 0
lea eax, [ebp - 0x878]
push eax
call fcn.004b9030
add esp, 0xc
mov ecx, dword [ebp - 0x65c]
push ecx
lea edx, [ebp - 0x650]
push edx
push str.Cant_copy_file_from_.Firmware_sIDtable.bin_to_.DriveSettingMP_IDtable.bin__errorcode___d
lea eax, [ebp - 0x878]
push eax
call fcn.004b953d
add esp, 0x10
push 0
push 0x51dfa8
lea ecx, [ebp - 0x878]
push ecx
mov ecx, dword [ebp - 0x898]
call fcn.004db06e
mov edx, dword [ebp - 0x30]
push edx
call fcn.004b9a0d
add esp, 4
mov dword [ebp - 0x88c], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004de855
mov eax, dword [ebp - 0x88c]
jmp 0x42e1f4
push 0
push 0x80
push 3
push 0
push 1
push 0xc0000000
lea eax, [ebp - 0x448]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x880], eax
cmp dword [ebp - 0x880], 0xffffffff
jne 0x42da91
push 0x208
push 0
lea ecx, [ebp - 0x878]
push ecx
call fcn.004b9030
add esp, 0xc
push 0
push 0x51dfb0
push str.Cant_open_.DriveSettingMP_IDtable.bin__please_check.
mov ecx, dword [ebp - 0x898]
call fcn.004db06e
mov edx, dword [ebp - 0x30]
push edx
call fcn.004b9a0d
add esp, 4
mov dword [ebp - 0x890], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004de855
mov eax, dword [ebp - 0x890]
jmp 0x42e1f4
push 0x10000
push 0
mov eax, dword [ebp - 0x30]
push eax
call fcn.004b9030
add esp, 0xc
mov ecx, dword [ebp - 0x880]
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x1c]
call fcn.004dec0c
mov dword [ebp - 0x654], eax
mov edx, dword [ebp - 0x654]
push edx
mov eax, dword [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004dea2f
mov ecx, dword [ebp - 0x898]
cmp dword [ecx + 0x11aa8], 0
jne 0x42daec
mov edx, dword [ebp - 0x30]
mov byte [edx], 0x40
mov eax, dword [ebp - 0x30]
mov byte [eax + 1], 0
jmp 0x42db26
mov ecx, dword [ebp - 0x898]
cmp dword [ecx + 0x11aa8], 1
jne 0x42db0a
mov edx, dword [ebp - 0x30]
mov byte [edx], 0x4a
mov eax, dword [ebp - 0x30]
mov byte [eax + 1], 4
jmp 0x42db26
mov ecx, dword [ebp - 0x898]
cmp dword [ecx + 0x11aa8], 2
jne 0x42db26
mov edx, dword [ebp - 0x30]
mov byte [edx], 0x8a
mov eax, dword [ebp - 0x30]
mov byte [eax + 1], 0x84
cmp dword [0x53b444], 1
jne 0x42db3c
mov ecx, dword [ebp - 0x30]
mov byte [ecx], 0x40
mov edx, dword [ebp - 0x30]
mov byte [edx + 1], 0
push 8
push 0
lea eax, [ebp - 0x240]
push eax
call fcn.004b9030
add esp, 0xc
mov ecx, dword [ebp - 0x898]
movsx edx, byte [ecx + 0x11a9c]
test edx, edx
je 0x42db82
push 8
mov eax, dword [ebp - 0x898]
add eax, 0x11a9c
push eax
lea ecx, [ebp - 0x240]
push ecx
call fcn.004b96d0
add esp, 0xc
jmp 0x42dc53
mov edx, dword [ebp - 0x66c]
and edx, 0xff
cmp edx, 0x30
jl 0x42dc3b
mov eax, dword [ebp - 0x66c]
and eax, 0xff
cmp eax, 0x39
jg 0x42dc3b
push 0x10
push 0
lea ecx, [ebp - 0x2c]
push ecx
call fcn.004b9030
add esp, 0xc
push 4
lea edx, [ebp - 0x66c]
push edx
lea eax, [ebp - 0x2c]
push eax
call fcn.004b96d0
add esp, 0xc
lea ecx, [ebp - 0x2c]
push ecx
call fcn.004b9487
add esp, 4
mov dword [ebp - 0x670], eax
push 0x10
push 0
lea edx, [ebp - 0x2c]
push edx
call fcn.004b9030
add esp, 0xc
push 6
lea eax, [ebp - 0x668]
push eax
lea ecx, [ebp - 0x2c]
push ecx
call fcn.004b96d0
add esp, 0xc
movsx edx, byte [ebp - 0x27]
cmp edx, 0x5f
jne 0x42dc14
mov byte [ebp - 0x27], 0x20
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x670]
sub ecx, 0x790
push ecx
push 0x51dff0
lea edx, [ebp - 0x240]
push edx
call fcn.004b953d
add esp, 0x10
jmp 0x42dc53
push 7
lea eax, [ebp - 0x66c]
push eax
lea ecx, [ebp - 0x240]
push ecx
call fcn.004b96d0
add esp, 0xc
mov dword [ebp - 0x658], 0
jmp 0x42dc6e
mov edx, dword [ebp - 0x658]
add edx, 2
mov dword [ebp - 0x658], edx
cmp dword [ebp - 0x658], 8
jge 0x42dcec
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x658]
mov ecx, dword [ebp - 0x658]
mov dl, byte [ebp + ecx - 0x23f]
mov byte [eax + 0x2e], dl
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x658]
mov ecx, dword [ebp - 0x658]
mov dl, byte [ebp + ecx - 0x240]
mov byte [eax + 0x2f], dl
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x658]
xor ecx, ecx
mov cl, byte [eax + 0x2e]
test ecx, ecx
jne 0x42dcc8
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 0x658]
mov byte [edx + 0x2e], 0x20
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x658]
xor ecx, ecx
mov cl, byte [eax + 0x2f]
test ecx, ecx
jne 0x42dce7
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 0x658]
mov byte [edx + 0x2f], 0x20
jmp 0x42dc5f
mov eax, dword [ebp - 0x898]
cmp dword [eax + 0x11b18], 0
je 0x42dd63
mov dword [ebp - 0x658], 0
jmp 0x42dd16
mov ecx, dword [ebp - 0x658]
add ecx, 2
mov dword [ebp - 0x658], ecx
cmp dword [ebp - 0x658], 0x10
jge 0x42dd63
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 0x658]
mov eax, dword [ebp - 0x898]
add eax, dword [ebp - 0x658]
mov cl, byte [eax + 0x11b2e]
mov byte [edx + 0xd8], cl
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 0x658]
mov eax, dword [ebp - 0x898]
add eax, dword [ebp - 0x658]
mov cl, byte [eax + 0x11b2d]
mov byte [edx + 0xd9], cl
jmp 0x42dd07
mov edx, dword [ebp - 0x898]
cmp dword [edx + 0x11b14], 0
jne 0x42ddbf
mov eax, dword [ebp - 0x898]
cmp dword [eax + 0x11b18], 0
jne 0x42ddbf
cmp dword [0x53c1e0], 0
jne 0x42ddbf
cmp dword [0x53c1d4], 0
jne 0x42ddbf
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0xa9]
and dl, 0xfe
mov eax, dword [ebp - 0x30]
mov byte [eax + 0xa9], dl
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0xaf]
and dl, 0xfe
mov eax, dword [ebp - 0x30]
mov byte [eax + 0xaf], dl
jmp 0x42dde9
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0xa9]
or dl, 1
mov eax, dword [ebp - 0x30]
mov byte [eax + 0xa9], dl
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0xaf]
or dl, 1
mov eax, dword [ebp - 0x30]
mov byte [eax + 0xaf], dl
push 0x208
push 0
lea ecx, [ebp - 0x650]
push ecx
call fcn.004b9030
add esp, 0xc
mov edx, dword [ebp - 0x898]
add edx, 0x11a5d
push edx
call fcn.004b9f20
add esp, 4
push eax
mov eax, dword [ebp - 0x898]
add eax, 0x11a5d
push eax
lea ecx, [ebp - 0x650]
push ecx
call fcn.004b96d0
add esp, 0xc
mov dword [ebp - 0x658], 0
jmp 0x42de4b
mov edx, dword [ebp - 0x658]
add edx, 2
mov dword [ebp - 0x658], edx
cmp dword [ebp - 0x658], 0x3e
jge 0x42decc
cmp dword [0x53bfa0], 0
je 0x42de8f
mov eax, dword [ebp - 0x658]
movsx ecx, byte [ebp + eax - 0x650]
test ecx, ecx
je 0x42de8f
mov edx, dword [ebp - 0x658]
movsx eax, byte [ebp + edx - 0x64f]
test eax, eax
jne 0x42de8f
mov ecx, dword [ebp - 0x658]
mov byte [ebp + ecx - 0x64f], 0x20
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 0x658]
mov eax, dword [ebp - 0x658]
mov cl, byte [ebp + eax - 0x64f]
mov byte [edx + 0x102], cl
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 0x658]
mov eax, dword [ebp - 0x658]
mov cl, byte [ebp + eax - 0x650]
mov byte [edx + 0x103], cl
jmp 0x42de3c
mov edx, dword [ebp - 0x898]
cmp dword [edx + 0x11e4c], 0
je 0x42def2
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0x152]
or cl, 1
mov edx, dword [ebp - 0x30]
mov byte [edx + 0x152], cl
jmp 0x42df07
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0x152]
and cl, 0xfe
mov edx, dword [ebp - 0x30]
mov byte [edx + 0x152], cl
mov eax, dword [ebp - 0x898]
cmp dword [eax + 0x11e50], 0
je 0x42df2d
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0xa4]
or dl, 2
mov eax, dword [ebp - 0x30]
mov byte [eax + 0xa4], dl
jmp 0x42df57
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0xa4]
and dl, 0xfd
mov eax, dword [ebp - 0x30]
mov byte [eax + 0xa4], dl
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0xaa]
and dl, 0xfd
mov eax, dword [ebp - 0x30]
mov byte [eax + 0xaa], dl
mov ecx, dword [ebp - 0x898]
cmp dword [ecx + 0x11e54], 0
je 0x42df7c
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0x9d]
or al, 1
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0x9d], al
jmp 0x42dfa4
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0x9d]
and al, 0xfe
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0x9d], al
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0x9f]
and al, 0xfe
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0x9f], al
mov edx, dword [ebp - 0x898]
cmp dword [edx + 0x11e58], 0
je 0x42dfca
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0x99]
and cl, 0xfd
mov edx, dword [ebp - 0x30]
mov byte [edx + 0x99], cl
jmp 0x42dfdf
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0x99]
or cl, 2
mov edx, dword [ebp - 0x30]
mov byte [edx + 0x99], cl
mov eax, dword [ebp - 0x898]
cmp dword [eax + 0x11e5c], 0
je 0x42e01a
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0x9c]
and dl, 0xf7
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x9c], dl
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0x9e]
and dl, 0xf7
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x9e], dl
jmp 0x42e02f
mov ecx, dword [ebp - 0x30]
mov dl, byte [ecx + 0x9c]
or dl, 8
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x9c], dl
mov ecx, dword [ebp - 0x898]
cmp dword [ecx + 0x11e60], 0
je 0x42e068
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0xa4]
and al, 0xdf
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0xa4], al
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0xaa]
and al, 0xdf
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0xaa], al
jmp 0x42e07c
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0xa4]
or al, 0x20
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0xa4], al
cmp dword [0x53b444], 1
jne 0x42e099
mov edx, dword [ebp - 0x30]
mov byte [edx + 0xd4], 3
mov eax, dword [ebp - 0x30]
mov byte [eax + 0xd5], 0x60
cmp dword [0x53bfa0], 0
je 0x42e116
mov ecx, dword [ebp - 0x898]
cmp dword [ecx + 0x11e64], 0
je 0x42e0c7
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0x8a]
or al, 0x20
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0x8a], al
jmp 0x42e0db
mov edx, dword [ebp - 0x30]
mov al, byte [edx + 0x8a]
and al, 0xdf
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0x8a], al
mov edx, dword [ebp - 0x898]
cmp dword [edx + 0x11e68], 0
je 0x42e101
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0xee]
or cl, 4
mov edx, dword [ebp - 0x30]
mov byte [edx + 0xee], cl
jmp 0x42e116
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0xee]
and cl, 0xfb
mov edx, dword [ebp - 0x30]
mov byte [edx + 0xee], cl
cmp dword [0x53b448], 0
je 0x42e134
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0x8a]
or cl, 0x10
mov edx, dword [ebp - 0x30]
mov byte [edx + 0x8a], cl
mov eax, dword [ebp - 0x898]
mov ecx, dword [eax + 0xf2]
shl ecx, 1
mov dword [ebp - 0x87c], ecx
mov edx, dword [ebp - 0x87c]
and edx, 0xff
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1d4], dl
mov ecx, dword [ebp - 0x87c]
and ecx, 0xff
mov edx, dword [ebp - 0x30]
mov byte [edx + 0x1d6], cl
mov eax, dword [ebp - 0x87c]
shr eax, 8
and eax, 0xff
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 0x1d5], al
mov edx, dword [ebp - 0x87c]
shr edx, 8
and edx, 0xff
mov eax, dword [ebp - 0x30]
mov byte [eax + 0x1d7], dl
lea ecx, [ebp - 0x1c]
call fcn.004311f0
mov ecx, dword [ebp - 0x654]
push ecx
mov edx, dword [ebp - 0x30]
push edx
lea ecx, [ebp - 0x1c]
call fcn.004dea69
mov eax, dword [ebp - 0x880]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004b9a0d
add esp, 4
mov dword [ebp - 0x894], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004de855
mov eax, dword [ebp - 0x894]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret