Function at 0x46cfb0
Capabilities:
Check for software breakpoints

Disassembly:
push 0xffffffffffffffff
push 0x4ef7aa
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x15c
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ecx, 0x20
xor eax, eax
lea edi, [esp + 0x4c]
rep stosd dword es:[edi], eax
mov ecx, 0x20
lea edi, [esp + 0xec]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0xc]
xor ebp, ebp
test eax, eax
mov dword [esp + 0x14], esi
mov byte [esp + 0x13], 0
jle 0x46e30d
cmp eax, dword [esi + 0x2c]
jg 0x46e30d
call fcn.00469a70
cmp al, 1
je 0x46e30d
cmp byte [esi + 0x28], 1
je 0x46e30d
call fcn.00469ec0
cmp al, 1
je 0x46e30d
mov al, byte [esi + 0x14]
test al, al
je 0x46d174
mov eax, esi
xor edi, edi
mov ecx, dword [eax + 0x20]
test ecx, ecx
jbe 0x46d174
mov ecx, esi
lea esi, [ecx + 0x18]
cmp byte [esp + 0x13], 2
jne 0x46d05c
mov ebp, edi
mov byte [esp + 0x13], 3
mov ecx, dword [esi + 8]
cmp ecx, edi
jb 0x46d091
mov eax, dword [esi + 4]
test eax, eax
je 0x46d091
mov al, byte [eax - 1]
test al, al
je 0x46d07f
cmp al, 0xff
je 0x46d07f
push 0
push ecx
mov ecx, esi
call fcn.00401d50
mov eax, dword [esi + 4]
test eax, eax
je 0x46d08a
mov byte [eax - 1], 0xff
mov eax, dword [esi + 4]
add eax, edi
jmp 0x46d096
mov eax, 0x4f4178
cmp byte [eax], 0x5f
jne 0x46d09f
inc byte [esp + 0x13]
mov ecx, dword [esi + 8]
mov ebx, edi
cmp ecx, edi
jb 0x46d0d6
mov eax, dword [esi + 4]
test eax, eax
je 0x46d0d6
mov al, byte [eax - 1]
test al, al
je 0x46d0c4
cmp al, 0xff
je 0x46d0c4
push 0
push ecx
mov ecx, esi
call fcn.00401d50
mov eax, dword [esi + 4]
test eax, eax
je 0x46d0cf
mov byte [eax - 1], 0xff
mov eax, dword [esi + 4]
add eax, edi
jmp 0x46d0db
mov eax, 0x4f4178
cmp byte [eax], 0x2c
je 0x46d0f0
mov edx, dword [esp + 0x14]
inc edi
cmp edi, dword [edx + 0x20]
jb 0x46d04e
jmp 0x46d0f3
lea ebx, [edi - 1]
test bp, bp
jle 0x46d174
test bx, bx
jle 0x46d174
cmp bx, bp
jle 0x46d174
movsx eax, bp
movsx ebx, bx
xor ebp, ebp
cmp eax, ebx
jg 0x46d16c
lea edx, [esp + 0xec]
mov ebp, ebx
sub edx, eax
sub ebp, eax
mov edi, eax
mov dword [esp + 0x18], edx
inc ebp
mov ecx, dword [esi + 8]
cmp ecx, edi
jb 0x46d15d
mov eax, dword [esi + 4]
test eax, eax
je 0x46d15d
mov al, byte [eax - 1]
test al, al
je 0x46d149
cmp al, 0xff
je 0x46d149
push 0
push ecx
mov ecx, esi
call fcn.00401d50
mov edx, dword [esp + 0x18]
mov eax, dword [esi + 4]
test eax, eax
je 0x46d154
mov byte [eax - 1], 0xff
mov ecx, dword [esi + 4]
mov eax, edi
add eax, ecx
jmp 0x46d162
mov eax, 0x4f4178
mov al, byte [eax]
mov byte [edx + edi], al
inc edi
cmp edi, ebx
jle 0x46d122
mov byte [esp + ebp + 0xec], 0
mov eax, dword [esp + 0x14]
xor ebp, ebp
or ebx, 0xffffffff
cmp dword [eax], ebp
jne 0x46df21
cmp byte [eax + 4], 1
jne 0x46d625
mov ecx, 0x20
xor eax, eax
lea edi, [esp + 0x4c]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.00469d80
add esp, 4
mov esi, eax
mov eax, dword [esi + 4]
mov dword [esp + 0x174], ebp
cmp eax, ebp
je 0x46d1e0
mov al, byte [eax - 1]
test al, al
je 0x46d1d0
cmp al, 0xff
je 0x46d1d0
mov edx, dword [esi + 8]
push ebp
push edx
mov ecx, esi
call fcn.00401d50
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x46d1db
mov byte [eax - 1], 0xff
mov esi, dword [esi + 4]
jmp 0x46d1e5
mov esi, 0x4f4178
movsx eax, byte [esi]
push eax
lea ecx, [esp + 0x50]
push 0x5098c8
push ecx
call fcn.004dbc12
mov eax, dword [esp + 0x2c]
add esp, 0xc
cmp eax, ebp
mov dword [esp + 0x174], ebx
je 0x46d227
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46d21e
cmp al, 0xff
je 0x46d21e
dec al
mov byte [ecx], al
jmp 0x46d227
push ecx
call fcn.004db420
add esp, 4
xor edi, edi
xor ebp, ebp
lea edx, [esp + 0x3c]
push edx
call fcn.0046a4e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x44]
add esp, 4
cmp ebp, edx
setb bl
cmp eax, edi
je 0x46d265
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46d25c
cmp al, 0xff
je 0x46d25c
dec al
mov byte [ecx], al
jmp 0x46d265
push ecx
call fcn.004db420
add esp, 4
test bl, bl
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
je 0x46d348
lea eax, [esp + 0x1c]
push eax
call fcn.0046a4e0
add esp, 4
mov esi, eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x174], 1
cmp ecx, ebp
jb 0x46d2c7
mov eax, dword [esi + 4]
cmp eax, edi
je 0x46d2c7
mov al, byte [eax - 1]
test al, al
je 0x46d2b5
cmp al, 0xff
je 0x46d2b5
push edi
push ecx
mov ecx, esi
call fcn.00401d50
mov eax, dword [esi + 4]
cmp eax, edi
je 0x46d2c0
mov byte [eax - 1], 0xff
mov esi, dword [esi + 4]
add esi, ebp
jmp 0x46d2cc
mov esi, 0x4f4178
movsx ecx, byte [esi]
push ecx
lea edi, [esp + 0x50]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x5098c4
lea edx, [esp + ecx + 0x54]
push edx
call fcn.004dbc12
mov eax, dword [esp + 0x2c]
xor esi, esi
add esp, 0xc
cmp eax, esi
mov dword [esp + 0x174], 0xffffffff
je 0x46d334
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46d32b
cmp al, 0xff
je 0x46d32b
dec al
inc ebp
mov byte [ecx], al
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
xor edi, edi
jmp 0x46d22b
push ecx
call fcn.004db420
add esp, 4
inc ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
xor edi, edi
jmp 0x46d22b
call fcn.0046a640
or ebp, 0xffffffff
lea edi, [esp + 0x4c]
mov ecx, ebp
xor eax, eax
sub esp, 8
repne scasb al, byte es:[edi]
fstp qword [esp]
not ecx
dec ecx
push str._V_.2f_
lea eax, [esp + ecx + 0x58]
push eax
call fcn.004dbc12
lea ecx, [esp + 0x2c]
push ecx
call fcn.00469850
add esp, 0x14
mov esi, eax
mov eax, dword [esi + 4]
mov dword [esp + 0x174], 2
test eax, eax
je 0x46d3bb
mov al, byte [eax - 1]
test al, al
je 0x46d3ab
cmp al, 0xff
je 0x46d3ab
mov edx, dword [esi + 8]
push 0
push edx
mov ecx, esi
call fcn.00401d50
mov eax, dword [esi + 4]
test eax, eax
je 0x46d3b6
mov byte [eax - 1], 0xff
mov esi, dword [esi + 4]
jmp 0x46d3c0
mov esi, 0x4f4178
movsx eax, byte [esi]
push eax
lea edi, [esp + 0x50]
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x5098c4
lea ecx, [esp + ecx + 0x54]
push ecx
call fcn.004dbc12
mov eax, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
mov dword [esp + 0x174], ebp
je 0x46d40f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46d406
cmp al, 0xff
je 0x46d406
dec al
mov byte [ecx], al
jmp 0x46d40f
push ecx
call fcn.004db420
add esp, 4
lea edx, [esp + 0x1c]
push edx
call fcn.00469850
add esp, 4
mov esi, eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x174], 3
cmp ecx, 1
jb 0x46d45e
mov eax, dword [esi + 4]
test eax, eax
je 0x46d45e
mov al, byte [eax - 1]
test al, al
je 0x46d44d
cmp al, 0xff
je 0x46d44d
push 0
push ecx
mov ecx, esi
call fcn.00401d50
mov eax, dword [esi + 4]
test eax, eax
je 0x46d458
mov byte [eax - 1], 0xff
mov esi, dword [esi + 4]
inc esi
jmp 0x46d463
mov esi, 0x4f4178
movsx eax, byte [esi]
push eax
lea edi, [esp + 0x50]
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x5098c8
lea ecx, [esp + ecx + 0x54]
push ecx
call fcn.004dbc12
mov eax, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
mov dword [esp + 0x174], ebp
je 0x46d4b2
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46d4a9
cmp al, 0xff
je 0x46d4a9
dec al
mov byte [ecx], al
jmp 0x46d4b2
push ecx
call fcn.004db420
add esp, 4
mov ebx, dword [esp + 0x14]
mov al, byte [ebx + 0x14]
test al, al
je 0x46d4fc
lea edi, [esp + 0xec]
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x46d4de
lea edx, [esp + 0xec]
push edx
push 0x5098b8
jmp 0x46d505
lea edi, [esp + 0x4c]
mov ecx, ebp
xor eax, eax
push str.0000
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x5098b8
lea ecx, [esp + ecx + 0x54]
push ecx
jmp 0x46d517
mov edx, dword [ebx + 0x10]
push edx
push str._08X_
lea edi, [esp + 0x54]
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + ecx + 0x54]
push eax
call fcn.004dbc12
add esp, 0xc
lea ecx, [esp + 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [esp + 0x2c]
cmp ax, 0x7d0
jbe 0x46d540
and eax, 0xffff
sub eax, 0x7d0
jmp 0x46d545
and eax, 0xffff
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x36]
and edx, 0xffff
and ecx, 0xffff
push edx
mov edx, dword [esp + 0x38]
and edx, 0xffff
push ecx
mov ecx, dword [esp + 0x3a]
push edx
mov edx, dword [esp + 0x3a]
and ecx, 0xffff
and edx, 0xffff
push ecx
push edx
push eax
lea edi, [esp + 0x64]
mov ecx, ebp
xor eax, eax
push str._02d_02d_02d__02d_02d_02d_BUG
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + ecx + 0x68]
push eax
call fcn.004dbc12
mov edi, str..txt
mov ecx, ebp
xor eax, eax
lea edx, [esp + 0x6c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x28
mov esi, edi
mov edi, edx
mov edx, ecx
mov ecx, ebp
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004dbc04
add esp, 0x24
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x174], 4
je 0x46d5eb
mov ecx, eax
call fcn.0046a7d0
jmp 0x46d5ed
xor eax, eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x174], ebp
push ecx
mov ecx, eax
mov dword [ebx], eax
call fcn.0046ac00
test eax, eax
jne 0x46df21
mov esi, dword [esp + 0x14]
mov ecx, dword [esi]
test ecx, ecx
je 0x46d61a
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi], 0
jmp 0x46e30d
mov cl, byte [eax + 5]
cmp cl, 1
mov ecx, 0x20
jne 0x46da94
xor eax, eax
lea edi, [esp + 0x4c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x1c]
push eax
call fcn.00469d80
add esp, 4
mov esi, eax
mov eax, dword [esi + 4]
mov dword [esp + 0x174], 5
cmp eax, ebp
je 0x46d686
mov al, byte [eax - 1]
test al, al
je 0x46d676
cmp al, 0xff
je 0x46d676
mov ecx, dword [esi + 8]
push ebp
push ecx
mov ecx, esi
call fcn.00401d50
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x46d681
mov byte [eax - 1], 0xff
mov esi, dword [esi + 4]
jmp 0x46d68b
mov esi, 0x4f4178
movsx edx, byte [esi]
push edx
lea eax, [esp + 0x50]
push 0x5098c8
push eax
call fcn.004dbc12
mov eax, dword [esp + 0x2c]
add esp, 0xc
cmp eax, ebp
mov dword [esp + 0x174], ebx
je 0x46d6cd
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46d6c4
cmp al, 0xff
je 0x46d6c4
dec al
mov byte [ecx], al
jmp 0x46d6cd
push ecx
call fcn.004db420
add esp, 4
lea ecx, [esp + 0x1c]
push ecx
call fcn.0046a4e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x24]
add esp, 4
cmp ebp, edx
setb bl
xor edi, edi
cmp eax, edi
je 0x46d709
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46d700
cmp al, 0xff
je 0x46d700
dec al
mov byte [ecx], al
jmp 0x46d709
push ecx
call fcn.004db420
add esp, 4
test bl, bl
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
je 0x46d7ea
lea edx, [esp + 0x3c]
push edx
call fcn.0046a4e0
add esp, 4
mov esi, eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x174], 6
cmp ecx, ebp
jb 0x46d76d
mov eax, dword [esi + 4]
cmp eax, edi
je 0x46d76d
mov al, byte [eax - 1]
test al, al
je 0x46d759
cmp al, 0xff
je 0x46d759
push edi
push ecx
mov ecx, esi
call fcn.00401d50
mov eax, dword [esi + 4]
cmp eax, edi
je 0x46d764
mov byte [eax - 1], 0xff
mov ecx, dword [esi + 4]
mov eax, ebp
add eax, ecx
jmp 0x46d772
mov eax, 0x4f4178
movsx eax, byte [eax]
push eax
lea edi, [esp + 0x50]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x5098c4
lea ecx, [esp + ecx + 0x54]
push ecx
call fcn.004dbc12
mov eax, dword [esp + 0x4c]
xor esi, esi
add esp, 0xc
cmp eax, esi
mov dword [esp + 0x174], 0xffffffff
je 0x46d7d8
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46d7cf
cmp al, 0xff
je 0x46d7cf
dec al
inc ebp
mov byte [ecx], al
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
jmp 0x46d6cd
push ecx
call fcn.004db420
add esp, 4
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
inc ebp
jmp 0x46d6cd
call fcn.0046a640
or ebp, 0xffffffff
lea edi, [esp + 0x4c]
mov ecx, ebp
xor eax, eax
sub esp, 8
repne scasb al, byte es:[edi]
fstp qword [esp]
not ecx
dec ecx
push str._V_.2f_
lea edx, [esp + ecx + 0x58]
push edx
call fcn.004dbc12
lea eax, [esp + 0x2c]
push eax
call fcn.00469850
add esp, 0x14
mov esi, eax
mov eax, dword [esi + 4]
mov dword [esp + 0x174], 7
test eax, eax
je 0x46d85d
mov al, byte [eax - 1]
test al, al
je 0x46d84d
cmp al, 0xff
je 0x46d84d
mov ecx, dword [esi + 8]
push 0
push ecx
mov ecx, esi
call fcn.00401d50
mov eax, dword [esi + 4]
test eax, eax
je 0x46d858
mov byte [eax - 1], 0xff
mov esi, dword [esi + 4]
jmp 0x46d862
mov esi, 0x4f4178
lea edi, [esp + 0x4c]
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
movsx edx, byte [esi]
not ecx
dec ecx
push edx
push 0x5098c4
lea eax, [esp + ecx + 0x54]
push eax
call fcn.004dbc12
mov eax, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
mov dword [esp + 0x174], ebp
je 0x46d8b1
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46d8a8
cmp al, 0xff
je 0x46d8a8
dec al
mov byte [ecx], al
jmp 0x46d8b1
push ecx
call fcn.004db420
add esp, 4
lea ecx, [esp + 0x1c]
push ecx
call fcn.00469850
add esp, 4
mov esi, eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x174], 8
cmp ecx, 1
jb 0x46d900
mov eax, dword [esi + 4]
test eax, eax
je 0x46d900
mov al, byte [eax - 1]
test al, al
je 0x46d8ef
cmp al, 0xff
je 0x46d8ef
push 0
push ecx
mov ecx, esi
call fcn.00401d50
mov eax, dword [esi + 4]
test eax, eax
je 0x46d8fa
mov byte [eax - 1], 0xff
mov esi, dword [esi + 4]
inc esi
jmp 0x46d905
mov esi, 0x4f4178
lea edi, [esp + 0x4c]
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
movsx edx, byte [esi]
not ecx
dec ecx
push edx
push 0x5098c8
lea eax, [esp + ecx + 0x54]
push eax
call fcn.004dbc12
mov eax, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
mov dword [esp + 0x174], ebp
je 0x46d954
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46d94b
cmp al, 0xff
je 0x46d94b
dec al
mov byte [ecx], al
jmp 0x46d954
push ecx
call fcn.004db420
add esp, 4
mov ebx, dword [esp + 0x14]
mov al, byte [ebx + 0x14]
test al, al
je 0x46d99e
lea edi, [esp + 0xec]
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x46d980
lea ecx, [esp + 0xec]
push ecx
push 0x5098b8
jmp 0x46d9a7
lea edi, [esp + 0x4c]
mov ecx, ebp
xor eax, eax
push str.0000
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x5098b8
lea eax, [esp + ecx + 0x54]
push eax
jmp 0x46d9b9
mov ecx, dword [ebx + 0x10]
push ecx
push str._08X_
lea edi, [esp + 0x54]
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [esp + ecx + 0x54]
push edx
call fcn.004dbc12
add esp, 0xc
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [esp + 0x2c]
cmp ax, 0x7d0
jbe 0x46d9e2
and eax, 0xffff
sub eax, 0x7d0
jmp 0x46d9e7
and eax, 0xffff
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x36]
and ecx, 0xffff
and edx, 0xffff
push ecx
mov ecx, dword [esp + 0x38]
and ecx, 0xffff
push edx
mov edx, dword [esp + 0x3a]
push ecx
mov ecx, dword [esp + 0x3a]
and edx, 0xffff
and ecx, 0xffff
push edx
push ecx
push eax
lea edi, [esp + 0x64]
mov ecx, ebp
xor eax, eax
push str._02d_02d_02d__02d_02d_02d
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [esp + ecx + 0x68]
push edx
call fcn.004dbc12
mov edi, str..txt
mov ecx, ebp
xor eax, eax
lea edx, [esp + 0x6c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x28
mov esi, edi
mov edi, edx
mov edx, ecx
mov ecx, ebp
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004dbc04
add esp, 0x24
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x174], 9
je 0x46deef
mov ecx, eax
call fcn.0046a7d0
jmp 0x46def1
xor eax, eax
lea edi, [esp + 0x4c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x1c]
push eax
call fcn.00469d80
add esp, 4
mov esi, eax
mov eax, dword [esi + 4]
mov dword [esp + 0x174], 0xa
cmp eax, ebp
je 0x46dae4
mov al, byte [eax - 1]
test al, al
je 0x46dad4
cmp al, 0xff
je 0x46dad4
mov ecx, dword [esi + 8]
push ebp
push ecx
mov ecx, esi
call fcn.00401d50
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x46dadf
mov byte [eax - 1], 0xff
mov esi, dword [esi + 4]
jmp 0x46dae9
mov esi, 0x4f4178
movsx edx, byte [esi]
push edx
lea eax, [esp + 0x50]
push 0x5098c8
push eax
call fcn.004dbc12
mov eax, dword [esp + 0x2c]
add esp, 0xc
cmp eax, ebp
mov dword [esp + 0x174], ebx
je 0x46db2b
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46db22
cmp al, 0xff
je 0x46db22
dec al
mov byte [ecx], al
jmp 0x46db2b
push ecx
call fcn.004db420
add esp, 4
xor edi, edi
xor ebp, ebp
lea ecx, [esp + 0x1c]
push ecx
call fcn.0046a4e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x24]
add esp, 4
cmp ebp, edx
setb bl
cmp eax, edi
je 0x46db69
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46db60
cmp al, 0xff
je 0x46db60
dec al
mov byte [ecx], al
jmp 0x46db69
push ecx
call fcn.004db420
add esp, 4
test bl, bl
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
je 0x46dc4c
lea edx, [esp + 0x3c]
push edx
call fcn.0046a4e0
add esp, 4
mov esi, eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x174], 0xb
cmp ecx, ebp
jb 0x46dbcb
mov eax, dword [esi + 4]
cmp eax, edi
je 0x46dbcb
mov al, byte [eax - 1]
test al, al
je 0x46dbb9
cmp al, 0xff
je 0x46dbb9
push edi
push ecx
mov ecx, esi
call fcn.00401d50
mov eax, dword [esi + 4]
cmp eax, edi
je 0x46dbc4
mov byte [eax - 1], 0xff
mov esi, dword [esi + 4]
add esi, ebp
jmp 0x46dbd0
mov esi, 0x4f4178
movsx eax, byte [esi]
push eax
lea edi, [esp + 0x50]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x5098c4
lea ecx, [esp + ecx + 0x54]
push ecx
call fcn.004dbc12
mov eax, dword [esp + 0x4c]
xor esi, esi
add esp, 0xc
cmp eax, esi
mov dword [esp + 0x174], 0xffffffff
je 0x46dc38
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46dc2f
cmp al, 0xff
je 0x46dc2f
dec al
inc ebp
mov byte [ecx], al
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
xor edi, edi
jmp 0x46db2f
push ecx
call fcn.004db420
add esp, 4
inc ebp
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
xor edi, edi
jmp 0x46db2f
call fcn.0046a640
or ebp, 0xffffffff
lea edi, [esp + 0x4c]
mov ecx, ebp
xor eax, eax
sub esp, 8
repne scasb al, byte es:[edi]
fstp qword [esp]
not ecx
dec ecx
push str._V_.2f_
lea edx, [esp + ecx + 0x58]
push edx
call fcn.004dbc12
lea eax, [esp + 0x2c]
push eax
call fcn.00469850
add esp, 0x14
mov esi, eax
mov eax, dword [esi + 4]
mov dword [esp + 0x174], 0xc
test eax, eax
je 0x46dcbf
mov al, byte [eax - 1]
test al, al
je 0x46dcaf
cmp al, 0xff
je 0x46dcaf
mov ecx, dword [esi + 8]
push 0
push ecx
mov ecx, esi
call fcn.00401d50
mov eax, dword [esi + 4]
test eax, eax
je 0x46dcba
mov byte [eax - 1], 0xff
mov esi, dword [esi + 4]
jmp 0x46dcc4
mov esi, 0x4f4178
lea edi, [esp + 0x4c]
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
movsx edx, byte [esi]
not ecx
dec ecx
push edx
push 0x5098c4
lea eax, [esp + ecx + 0x54]
push eax
call fcn.004dbc12
mov eax, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
mov dword [esp + 0x174], ebp
je 0x46dd13
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46dd0a
cmp al, 0xff
je 0x46dd0a
dec al
mov byte [ecx], al
jmp 0x46dd13
push ecx
call fcn.004db420
add esp, 4
lea ecx, [esp + 0x1c]
push ecx
call fcn.00469850
add esp, 4
mov esi, eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x174], 0xd
cmp ecx, 1
jb 0x46dd62
mov eax, dword [esi + 4]
test eax, eax
je 0x46dd62
mov al, byte [eax - 1]
test al, al
je 0x46dd51
cmp al, 0xff
je 0x46dd51
push 0
push ecx
mov ecx, esi
call fcn.00401d50
mov eax, dword [esi + 4]
test eax, eax
je 0x46dd5c
mov byte [eax - 1], 0xff
mov esi, dword [esi + 4]
inc esi
jmp 0x46dd67
mov esi, 0x4f4178
lea edi, [esp + 0x4c]
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
movsx edx, byte [esi]
not ecx
dec ecx
push edx
push 0x5098c8
lea eax, [esp + ecx + 0x54]
push eax
call fcn.004dbc12
mov eax, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
mov dword [esp + 0x174], ebp
je 0x46ddb6
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46ddad
cmp al, 0xff
je 0x46ddad
dec al
mov byte [ecx], al
jmp 0x46ddb6
push ecx
call fcn.004db420
add esp, 4
mov ebx, dword [esp + 0x14]
mov al, byte [ebx + 0x14]
test al, al
je 0x46de00
lea edi, [esp + 0xec]
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x46dde2
lea ecx, [esp + 0xec]
push ecx
push 0x5098b8
jmp 0x46de09
lea edi, [esp + 0x4c]
mov ecx, ebp
xor eax, eax
push str.0000
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x5098b8
lea eax, [esp + ecx + 0x54]
push eax
jmp 0x46de1b
mov ecx, dword [ebx + 0x10]
push ecx
push str._08X_
lea edi, [esp + 0x54]
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [esp + ecx + 0x54]
push edx
call fcn.004dbc12
add esp, 0xc
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [esp + 0x2c]
cmp ax, 0x7d0
jbe 0x46de44
and eax, 0xffff
sub eax, 0x7d0
jmp 0x46de49
and eax, 0xffff
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x36]
and ecx, 0xffff
and edx, 0xffff
push ecx
mov ecx, dword [esp + 0x38]
and ecx, 0xffff
push edx
mov edx, dword [esp + 0x3a]
push ecx
mov ecx, dword [esp + 0x3a]
and edx, 0xffff
and ecx, 0xffff
push edx
push ecx
push eax
lea edi, [esp + 0x64]
mov ecx, ebp
xor eax, eax
push str._02d_02d_02d__02d_02d_02d_OK
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [esp + ecx + 0x68]
push edx
call fcn.004dbc12
mov edi, str..txt
mov ecx, ebp
xor eax, eax
lea edx, [esp + 0x6c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x28
mov esi, edi
mov edi, edx
mov edx, ecx
mov ecx, ebp
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004dbc04
add esp, 0x24
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x174], 0xe
je 0x46deef
mov ecx, eax
call fcn.0046a7d0
jmp 0x46def1
xor eax, eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x174], ebp
push ecx
mov ecx, eax
mov dword [ebx], eax
call fcn.0046ac00
test eax, eax
jne 0x46df21
mov ecx, dword [ebx]
test ecx, ecx
je 0x46df16
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [ebx], 0
jmp 0x46e30d
lea eax, [esp + 0x3c]
push eax
call fcn.00469d80
push eax
lea ecx, [esp + 0x24]
push str.SerialNumber:
push ecx
mov dword [esp + 0x184], 0xf
call fcn.004551d0
add esp, 0x10
mov edi, dword [esp + 0x14]
xor ebp, ebp
push ebp
push eax
mov ecx, dword [edi]
mov byte [esp + 0x17c], 0x10
call fcn.0046b480
mov eax, dword [esp + 0x20]
cmp eax, ebp
je 0x46df85
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46df7c
cmp al, 0xff
je 0x46df7c
dec al
mov byte [ecx], al
jmp 0x46df85
push ecx
call fcn.004db420
add esp, 4
mov eax, dword [esp + 0x40]
or esi, 0xffffffff
cmp eax, ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x174], esi
je 0x46dfc0
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46dfb7
cmp al, 0xff
je 0x46dfb7
dec al
mov byte [ecx], al
jmp 0x46dfc0
push ecx
call fcn.004db420
add esp, 4
lea edx, [esp + 0xcc]
push edx
call fcn.00469fb0
push eax
lea eax, [esp + 0xe4]
push str.DisplayVersion:
push eax
mov dword [esp + 0x184], 0x11
call fcn.004551d0
add esp, 0x10
mov ecx, dword [edi]
push ebp
push eax
mov byte [esp + 0x17c], 0x12
call fcn.0046b480
mov eax, dword [esp + 0xe0]
cmp eax, ebp
je 0x46e027
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46e01e
cmp al, 0xff
je 0x46e01e
dec al
mov byte [ecx], al
jmp 0x46e027
push ecx
call fcn.004db420
add esp, 4
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xe0], ebp
cmp eax, ebp
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xe8], ebp
mov dword [esp + 0x174], esi
je 0x46e06b
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46e062
cmp al, 0xff
je 0x46e062
dec al
mov byte [ecx], al
jmp 0x46e06b
push ecx
call fcn.004db420
add esp, 4
mov dword [esp + 0xd0], ebp
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xd8], ebp
call fcn.0046a100
cmp eax, 1
push ebp
jne 0x46e092
push str.NewMcuFlag:TRUE
jmp 0x46e097
push str.NewMcuFlag:FALSE
mov ecx, dword [edi]
call fcn.0046b670
mov ecx, dword [edi]
push ebp
push str.________________________________________________________________________________________
call fcn.0046b670
mov ecx, dword [edi]
push 1
push 0x507280
call fcn.0046b670
mov ecx, dword [edi]
call fcn.0046b4a0
mov eax, dword [edi + 0xc]
xor esi, esi
cmp eax, ebp
jle 0x46e2da
mov ecx, dword [edi + 8]
lea eax, [ecx + esi]
mov cl, byte [ecx + esi]
cmp cl, 0x55
jne 0x46e2ce
mov cl, byte [eax + 1]
cmp cl, 0xaa
je 0x46e0fa
cmp cl, 0xbb
je 0x46e0fa
cmp cl, 0xcc
je 0x46e0fa
cmp cl, 0xdd
jne 0x46e2ce
xor ebx, ebx
mov dword [esp + 0x18], esi
mov bl, byte [eax + 2]
cmp ebx, ebp
jle 0x46e2ce
cmp ebx, 0xff
jg 0x46e2ce
lea edx, [ebx + ebx*2]
xor edi, edi
push edx
call fcn.004dbc04
mov ebp, eax
mov eax, dword [esp + 0x18]
add esp, 4
mov ecx, dword [eax + 8]
lea eax, [ecx + esi]
mov cl, byte [ecx + esi]
cmp cl, 0x55
jne 0x46e2ac
cmp byte [eax + 1], 0xaa
jne 0x46e1a5
mov edx, dword [esp + 0x14]
mov al, byte [edx + 0x30]
test al, al
jne 0x46e155
push str._nReq:
jmp 0x46e15a
push str.Req:
push 0x50963c
push ebp
call fcn.004dbc12
mov edi, eax
mov eax, dword [esp + 0x24]
add esi, 3
add ebx, eax
add esp, 0xc
cmp esi, ebx
jge 0x46e2ac
mov ecx, dword [esp + 0x14]
xor eax, eax
mov edx, dword [ecx + 8]
lea ecx, [edi + ebp]
mov al, byte [edx + esi]
push eax
push str.__02X
push ecx
call fcn.004dbc12
add esp, 0xc
add edi, eax
inc esi
cmp esi, ebx
jl 0x46e17b
jmp 0x46e2ac
cmp cl, 0x55
jne 0x46e2ac
cmp byte [eax + 1], 0xbb
jne 0x46e204
push str.Ans:
push 0x50963c
push ebp
call fcn.004dbc12
mov edx, dword [esp + 0x24]
add esi, 3
add ebx, edx
add esp, 0xc
cmp esi, ebx
mov edi, eax
jge 0x46e2ac
mov eax, dword [esp + 0x14]
xor edx, edx
mov ecx, dword [eax + 8]
lea eax, [edi + ebp]
mov dl, byte [ecx + esi]
push edx
push str.__02X
push eax
call fcn.004dbc12
add esp, 0xc
add edi, eax
inc esi
cmp esi, ebx
jl 0x46e1da
jmp 0x46e2ac
cmp cl, 0x55
jne 0x46e2ac
cmp byte [eax + 1], 0xcc
jne 0x46e25b
push str._nSend_Cmd_Time_:
push 0x50963c
push ebp
call fcn.004dbc12
mov ecx, dword [esp + 0x24]
add esi, 3
add ebx, ecx
add esp, 0xc
cmp esi, ebx
mov edi, eax
jge 0x46e2ac
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
lea edx, [edi + ebp]
movsx ecx, byte [eax + esi]
push ecx
push 0x5098c4
push edx
call fcn.004dbc12
add esp, 0xc
add edi, eax
inc esi
cmp esi, ebx
jl 0x46e235
jmp 0x46e2ac
cmp cl, 0x55
jne 0x46e2ac
cmp byte [eax + 1], 0xdd
jne 0x46e2ac
push str.Rece_Cmd_Time_:
push 0x50963c
push ebp
call fcn.004dbc12
mov edi, eax
mov eax, dword [esp + 0x24]
add esi, 3
add ebx, eax
add esp, 0xc
cmp esi, ebx
jge 0x46e2ac
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
lea ecx, [edi + ebp]
movsx eax, byte [edx + esi]
push eax
push 0x5098c4
push ecx
call fcn.004dbc12
add esp, 0xc
add edi, eax
inc esi
cmp esi, ebx
jl 0x46e288
mov edx, dword [esp + 0x14]
mov byte [edi + ebp], 0
push 0
push ebp
mov ecx, dword [edx]
dec esi
call fcn.0046b670
push ebp
call fcn.004db420
mov edi, dword [esp + 0x18]
add esp, 4
xor ebp, ebp
mov eax, dword [edi + 0xc]
inc esi
cmp esi, eax
jl 0x46e0cd
mov ecx, dword [edi]
push 1
push 0x507280
call fcn.0046b670
mov ecx, dword [edi]
mov byte [edi + 4], 0
mov byte [edi + 5], 0
call fcn.0046baa0
mov ecx, dword [edi]
cmp ecx, ebp
je 0x46e303
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [edi + 8]
mov dword [edi], ebp
mov dword [ecx], ebp
mov dword [edi + 0xc], ebp
mov ecx, dword [esp + 0x16c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x168
ret