Function at 0x4b5960
Capabilities:
Check for time delay via gettickcount
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6a9e99
mov eax, dword fs:[0]
push eax
sub esp, 0x72c
mov eax, dword [0x7e2670]
xor eax, ebp
mov dword [ebp - 0x18], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x728], ecx
push str.CBpaCmd::DlRSABootFile
push 1
lea ecx, [ebp - 0x238]
call fcn.004aad40
mov dword [ebp - 4], 0
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0x100
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x728]
mov dword [eax + 0x58], 0
mov byte [ebp - 0x261], 1
mov byte [ebp - 0x255], 0
cmp dword [ebp + 0xc], 0
jne 0x4b5a86
mov ecx, dword [ebp - 0x728]
mov dword [ecx + 0x58], 0x205
xor eax, eax
jne 0x4b5a56
mov ecx, dword [ebp - 0x728]
mov edx, dword [ecx + 0x58]
mov dword [ebp - 0x720], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x238]
call fcn.0049b930
mov eax, dword [ebp - 0x720]
jmp 0x4b65c0
call fcn.004ab110
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x23c], 0
mov eax, dword [ebp - 0x260]
movzx ecx, byte [eax + 0x56]
test ecx, ecx
je 0x4b5ace
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + 0x60]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x260]
movzx edx, byte [ecx + 0x5e]
xor eax, eax
test edx, edx
setg al
mov byte [ebp - 0x255], al
jmp 0x4b5ad5
mov dword [ebp - 0x14], 0x1000
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x230], eax
push 0x722858
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00669fd1
add esp, 8
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
jne 0x4b5b17
mov edx, dword [ebp - 0x728]
mov dword [edx + 0x58], 0x204
xor ecx, ecx
jne 0x4b5b0e
jmp 0x4b6514
push 2
push 0
mov edx, dword [ebp - 0x228]
push edx
call fcn.00669e99
add esp, 0xc
mov eax, dword [ebp - 0x228]
push eax
call fcn.00669daa
add esp, 4
mov dword [ebp - 0x22c], eax
push 0
push 0
mov ecx, dword [ebp - 0x228]
push ecx
call fcn.00669e99
add esp, 0xc
mov edx, dword [ebp - 0x22c]
push edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ecx*4 + 0x7c4208]
push edx
push 0x722890
call fcn.004a4410
add esp, 0xc
mov eax, dword [ebp - 0x22c]
push eax
call fcn.00669543
add esp, 4
mov dword [ebp - 0x244], eax
mov ecx, dword [ebp - 0x22c]
push ecx
push 0
mov edx, dword [ebp - 0x244]
push edx
call fcn.006665c0
add esp, 0xc
mov eax, dword [ebp - 0x228]
push eax
mov ecx, dword [ebp - 0x22c]
push ecx
push 1
mov edx, dword [ebp - 0x244]
push edx
call fcn.00669b18
add esp, 0x10
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
cmp eax, dword [ebp - 0x22c]
jne 0x4b5be0
cmp dword [ebp - 0x268], 0
jne 0x4b5c36
mov ecx, dword [ebp - 0x228]
push ecx
call fcn.00669ba2
add esp, 4
mov dword [ebp - 0x228], 0
mov edx, dword [ebp - 0x728]
mov dword [edx + 0x58], 0x204
mov ecx, dword [ebp - 0x728]
call fcn.004ab380
push eax
mov eax, dword [ebp - 0x22c]
push eax
mov ecx, dword [ebp - 0x268]
push ecx
push str.warnning_nByteRead_d__nFileLen_d__lastErro_d_r_n
call fcn.0066610b
add esp, 0x10
xor eax, eax
jne 0x4b5c2d
jmp 0x4b6514
push 0x104
push 0
lea ecx, [ebp - 0x124]
push ecx
call fcn.006665c0
add esp, 0xc
push 0x104
lea edx, [ebp - 0x124]
push edx
call fcn.0049f360
add esp, 8
push str._authkey.dll
lea eax, [ebp - 0x124]
push eax
call fcn.00666bb0
add esp, 8
lea ecx, [ebp - 0x124]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4b5d3e
push str.GetAuthKey
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x26c], 0
je 0x4b5d3c
push 0x488
lea eax, [ebp - 0x6f4]
push eax
call dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x728]
mov dword [ecx + 0x58], eax
mov edx, dword [ebp - 0x728]
mov eax, dword [edx + 0x58]
push eax
push str.GetKey_return_:_d_r_n
call fcn.0066610b
add esp, 8
lea ecx, [ebp - 0x240]
push ecx
lea edx, [ebp - 0x224]
push edx
push 0x100
mov eax, dword [ebp - 0x244]
push eax
sub esp, 0x488
mov ecx, 0x122
lea esi, [ebp - 0x6f4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004bec80
add esp, 0x498
mov ecx, dword [ebp - 0x728]
mov dword [ecx + 0x58], eax
mov edx, dword [ebp - 0x728]
mov eax, dword [edx + 0x58]
push eax
push str.PvkHandleData_result:_d_r_n
call fcn.0066610b
add esp, 8
jmp 0x4b5d58
push str.authkey.dll_load_errr__r_n
call fcn.0066610b
add esp, 4
mov ecx, dword [ebp - 0x728]
mov dword [ecx + 0x58], 0x204
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x728]
cmp dword [eax + 0x58], 0
je 0x4b5d7c
jmp 0x4b6514
push 0x100
lea ecx, [ebp - 0x224]
push ecx
mov edx, dword [ebp - 0x244]
push edx
call fcn.00668860
add esp, 0xc
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x250], eax
mov ecx, 1
test ecx, ecx
je 0x4b622b
push 1
push 6
mov ecx, dword [ebp - 0x260]
call fcn.004a4810
mov edx, dword [ebp - 0x728]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 0x728]
cmp dword [eax + 0x58], 0
je 0x4b5dd9
jmp 0x4b6514
mov ecx, dword [ebp - 0x250]
cmp ecx, dword [ebp - 0x14]
jge 0x4b5df2
mov edx, dword [ebp - 0x250]
mov dword [ebp - 0x248], edx
jmp 0x4b5dfb
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x248], eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x72c], ecx
cmp dword [ebp - 0x72c], 8
je 0x4b5e22
cmp dword [ebp - 0x72c], 0x10000
je 0x4b5f17
jmp 0x4b617f
mov dword [ebp - 0x6fc], 0
mov dword [ebp - 0x700], 0
jmp 0x4b5e47
mov edx, dword [ebp - 0x700]
add edx, 1
mov dword [ebp - 0x700], edx
cmp dword [ebp - 0x700], 2
jge 0x4b5f0a
mov eax, dword [ebp - 0x260]
movzx ecx, byte [eax + 0x56]
test ecx, ecx
je 0x4b5e70
mov dl, byte [ebp - 0x255]
mov byte [ebp - 0x72d], dl
jmp 0x4b5e77
mov byte [ebp - 0x72d], 1
movzx eax, byte [ebp - 0x72d]
push eax
mov ecx, dword [ebp - 0x248]
push ecx
mov edx, dword [ebp - 0x244]
add edx, dword [ebp - 0x254]
push edx
mov ecx, dword [ebp - 0x260]
call fcn.004a5b60
mov ecx, dword [ebp - 0x728]
mov dword [ecx + 0x58], eax
cmp dword [ebp - 0x700], 0
jne 0x4b5ebf
mov edx, dword [ebp - 0x728]
mov eax, dword [edx + 0x58]
mov dword [ebp - 0x6fc], eax
mov ecx, dword [ebp - 0x728]
cmp dword [ecx + 0x58], 0
jne 0x4b5ed9
mov dword [0x7e47e4], 0
jmp 0x4b5f0a
mov dword [0x7e47e4], 1
cmp dword [ebp - 0x700], 1
jne 0x4b5f05
mov edx, dword [ebp - 0x728]
mov eax, dword [ebp - 0x6fc]
mov dword [edx + 0x58], eax
mov dword [0x7e47e4], 0
jmp 0x4b5e38
xor ecx, ecx
jne 0x4b5e22
jmp 0x4b618c
mov ecx, dword [ebp - 0x728]
call fcn.004ab3a0
cmp eax, 8
jne 0x4b600c
mov edx, dword [ebp - 0x728]
movzx eax, byte [edx + 0x260]
test eax, eax
jne 0x4b600c
mov dword [ebp - 0x704], 0
mov dword [ebp - 0x708], 0
jmp 0x4b5f65
mov ecx, dword [ebp - 0x708]
add ecx, 1
mov dword [ebp - 0x708], ecx
cmp dword [ebp - 0x708], 2
jge 0x4b5fff
push 0
mov edx, dword [ebp - 0x248]
push edx
mov eax, dword [ebp - 0x244]
add eax, dword [ebp - 0x254]
push eax
mov ecx, dword [ebp - 0x260]
call fcn.004a9960
mov ecx, dword [ebp - 0x728]
mov dword [ecx + 0x58], eax
cmp dword [ebp - 0x708], 0
jne 0x4b5fb4
mov edx, dword [ebp - 0x728]
mov eax, dword [edx + 0x58]
mov dword [ebp - 0x704], eax
mov ecx, dword [ebp - 0x728]
cmp dword [ecx + 0x58], 0
jne 0x4b5fce
mov dword [0x7e47e4], 0
jmp 0x4b5fff
mov dword [0x7e47e4], 1
cmp dword [ebp - 0x708], 1
jne 0x4b5ffa
mov edx, dword [ebp - 0x728]
mov eax, dword [ebp - 0x704]
mov dword [edx + 0x58], eax
mov dword [0x7e47e4], 0
jmp 0x4b5f56
xor ecx, ecx
jne 0x4b5f40
jmp 0x4b617d
mov dword [ebp - 0x70c], 0
jmp 0x4b6027
mov edx, dword [ebp - 0x70c]
add edx, 1
mov dword [ebp - 0x70c], edx
cmp dword [ebp - 0x70c], 2
jge 0x4b617d
mov eax, dword [ebp - 0x260]
movzx ecx, byte [eax + 0x56]
test ecx, ecx
je 0x4b6050
mov dl, byte [ebp - 0x255]
mov byte [ebp - 0x72e], dl
jmp 0x4b605c
mov al, byte [ebp - 0x261]
mov byte [ebp - 0x72e], al
movzx ecx, byte [ebp - 0x72e]
push ecx
mov edx, dword [ebp - 0x248]
push edx
mov eax, dword [ebp - 0x244]
add eax, dword [ebp - 0x254]
push eax
mov ecx, dword [ebp - 0x260]
call fcn.004a9960
mov ecx, dword [ebp - 0x728]
mov dword [ecx + 0x58], eax
mov edx, dword [ebp - 0x728]
cmp dword [edx + 0x58], 0
jne 0x4b60a2
jmp 0x4b617d
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x260]
movzx ecx, byte [eax + 0x56]
test ecx, ecx
je 0x4b60c6
mov dl, byte [ebp - 0x255]
mov byte [ebp - 0x72f], dl
jmp 0x4b60d2
mov al, byte [ebp - 0x261]
mov byte [ebp - 0x72f], al
movzx ecx, byte [ebp - 0x72f]
push ecx
mov edx, dword [ebp - 0x248]
push edx
mov eax, dword [ebp - 0x244]
add eax, dword [ebp - 0x254]
push eax
mov ecx, dword [ebp - 0x260]
call fcn.004a9960
mov ecx, dword [ebp - 0x728]
mov dword [ecx + 0x58], eax
mov edx, dword [ebp - 0x728]
cmp dword [edx + 0x58], 0
jne 0x4b6110
jmp 0x4b617d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x230]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x25c]
push eax
push str.writeHWConf2RAM_outtime___d_n
call fcn.0066610b
add esp, 8
call fcn.006684b5
add eax, 0x20
push eax
call fcn.00668459
add esp, 4
push 0
push 6
mov ecx, dword [ebp - 0x260]
call fcn.004a4810
mov ecx, dword [ebp - 0x728]
mov dword [ecx + 0x58], eax
mov edx, dword [ebp - 0x728]
cmp dword [edx + 0x58], 0
je 0x4b6170
jmp 0x4b6514
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4b6018
jmp 0x4b618c
mov eax, dword [ebp - 0x728]
mov dword [eax + 0x58], 0x20b
mov ecx, dword [ebp - 0x728]
cmp dword [ecx + 0x58], 0
je 0x4b619d
jmp 0x4b6514
mov edx, dword [ebp - 0x254]
add edx, dword [ebp - 0x248]
mov dword [ebp - 0x254], edx
mov eax, dword [ebp - 0x250]
sub eax, dword [ebp - 0x248]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x254]
imul eax, eax, 0x64
xor edx, edx
div dword [ebp - 0x22c]
mov dword [ebp - 0x6f8], eax
mov ecx, dword [0x7f7e14]
cmp ecx, dword [ebp - 0x6f8]
je 0x4b6216
mov edx, dword [ebp - 0x6f8]
mov dword [0x7f7e14], edx
mov eax, dword [0x7f7e14]
push eax
mov ecx, dword [ebp - 0x728]
mov edx, dword [ecx + 0x5c]
mov eax, dword [edx*4 + 0x7c4208]
push eax
push 0x722990
call fcn.004a4410
add esp, 0xc
mov ecx, dword [ebp - 0x254]
cmp ecx, dword [ebp - 0x22c]
jne 0x4b6226
jmp 0x4b622b
jmp 0x4b5da3
mov edx, dword [ebp + 8]
mov dword [ebp - 0x734], edx
cmp dword [ebp - 0x734], 8
je 0x4b624b
cmp dword [ebp - 0x734], 0x10000
je 0x4b626f
jmp 0x4b6293
lea eax, [ebp - 0x24c]
push eax
mov ecx, dword [ebp - 0x22c]
push ecx
mov ecx, dword [ebp - 0x260]
call fcn.004a67b0
mov edx, dword [ebp - 0x728]
mov dword [edx + 0x58], eax
jmp 0x4b62a4
lea eax, [ebp - 0x24c]
push eax
mov ecx, dword [ebp - 0x22c]
push ecx
mov ecx, dword [ebp - 0x260]
call fcn.004a6960
mov edx, dword [ebp - 0x728]
mov dword [edx + 0x58], eax
jmp 0x4b62a4
mov eax, dword [ebp - 0x728]
mov dword [eax + 0x58], 0x20b
xor edx, edx
jne 0x4b62a0
mov eax, dword [ebp - 0x728]
cmp dword [eax + 0x58], 0
je 0x4b62b9
xor edx, edx
jne 0x4b62b0
jmp 0x4b6514
cmp dword [ebp - 0x24c], 0
jne 0x4b6303
mov eax, dword [ebp - 0x728]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ecx*4 + 0x7c4208]
push edx
push str._s.wr0___r_n
call fcn.004a4410
add esp, 8
mov eax, dword [ebp - 0x728]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ecx*4 + 0x7c4208]
push edx
push str._s.wr100___r_n
call fcn.004a4410
add esp, 8
jmp 0x4b6514
mov byte [ebp - 0x70d], 0
mov dword [ebp - 0x714], 0
mov eax, 1
test eax, eax
je 0x4b6514
mov dword [ebp - 0x718], 0
mov dword [ebp - 0x71c], 0
jmp 0x4b6346
mov ecx, dword [ebp - 0x71c]
add ecx, 1
mov dword [ebp - 0x71c], ecx
cmp dword [ebp - 0x71c], 2
jge 0x4b63d8
lea edx, [ebp - 0x70d]
push edx
lea eax, [ebp - 0x714]
push eax
mov ecx, dword [ebp - 0x260]
call fcn.004a7370
mov ecx, dword [ebp - 0x728]
mov dword [ecx + 0x58], eax
cmp dword [ebp - 0x71c], 0
jne 0x4b638d
mov edx, dword [ebp - 0x728]
mov eax, dword [edx + 0x58]
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x728]
cmp dword [ecx + 0x58], 0
jne 0x4b63a7
mov dword [0x7e47e4], 0
jmp 0x4b63d8
mov dword [0x7e47e4], 1
cmp dword [ebp - 0x71c], 1
jne 0x4b63d3
mov edx, dword [ebp - 0x728]
mov eax, dword [ebp - 0x718]
mov dword [edx + 0x58], eax
mov dword [0x7e47e4], 0
jmp 0x4b6337
xor ecx, ecx
jne 0x4b6321
mov edx, dword [ebp - 0x728]
cmp dword [edx + 0x58], 0
je 0x4b63f5
xor ecx, ecx
jne 0x4b63ec
jmp 0x4b6514
mov edx, dword [ebp - 0x714]
mov dword [ebp - 0x738], edx
cmp dword [ebp - 0x738], 1
je 0x4b6421
cmp dword [ebp - 0x738], 2
je 0x4b6426
cmp dword [ebp - 0x738], 3
je 0x4b6485
jmp 0x4b64fc
jmp 0x4b650f
movzx eax, byte [ebp - 0x70d]
cmp eax, 0x64
jne 0x4b645a
movzx ecx, byte [ebp - 0x70d]
push ecx
mov edx, dword [ebp - 0x728]
mov eax, dword [edx + 0x5c]
mov ecx, dword [eax*4 + 0x7c4208]
push ecx
push 0x722a58
call fcn.004a4410
add esp, 0xc
jmp 0x4b6480
movzx edx, byte [ebp - 0x70d]
push edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ecx*4 + 0x7c4208]
push edx
push str._s.er_d___r_n
call fcn.004a4410
add esp, 0xc
jmp 0x4b650f
movzx eax, byte [ebp - 0x70d]
cmp eax, 0x64
jne 0x4b64b9
movzx ecx, byte [ebp - 0x70d]
push ecx
mov edx, dword [ebp - 0x728]
mov eax, dword [edx + 0x5c]
mov ecx, dword [eax*4 + 0x7c4208]
push ecx
push 0x722a78
call fcn.004a4410
add esp, 0xc
jmp 0x4b64df
movzx edx, byte [ebp - 0x70d]
push edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ecx*4 + 0x7c4208]
push edx
push str._s.wr_d___r_n
call fcn.004a4410
add esp, 0xc
movzx eax, byte [ebp - 0x70d]
cmp eax, 0x64
jne 0x4b64fa
mov ecx, dword [ebp - 0x728]
mov dword [ecx + 0x58], 0
jmp 0x4b6514
jmp 0x4b650f
mov edx, dword [ebp - 0x728]
mov dword [edx + 0x58], 0x207
xor ecx, ecx
jne 0x4b6509
jmp 0x4b6514
jmp 0x4b6314
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x230]
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x244], 0
je 0x4b6548
mov edx, dword [ebp - 0x244]
push edx
call fcn.00669233
add esp, 4
mov dword [ebp - 0x244], 0
cmp dword [ebp - 0x228], 0
je 0x4b656a
mov eax, dword [ebp - 0x228]
push eax
call fcn.00669ba2
add esp, 4
mov dword [ebp - 0x228], 0
mov ecx, dword [ebp - 0x728]
mov edx, dword [ecx + 0x58]
push edx
mov eax, dword [ebp - 0x25c]
push eax
mov ecx, dword [ebp - 0x728]
mov edx, dword [ecx + 0x5c]
mov eax, dword [edx*4 + 0x7c4208]
push eax
push str.status__s_time:__d_ms___error_code:__d__r_n
call fcn.004a4410
add esp, 0x10
mov ecx, dword [ebp - 0x728]
mov edx, dword [ecx + 0x58]
mov dword [ebp - 0x724], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x238]
call fcn.0049b930
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.006665ac
mov esp, ebp
pop ebp
ret 8