Function at 0x41a040
Capabilities:
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x4483a7
mov eax, dword fs:[0]
push eax
mov eax, 0x12ecc
call fcn.00435100
mov eax, dword [0x457a00]
xor eax, esp
mov dword [esp + 0x12ec8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x457a00]
xor eax, esp
push eax
lea eax, [esp + 0x12ee0]
mov dword fs:[0], eax
mov eax, dword [esp + 0x12ef0]
xor ebx, ebx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x12ee8], ebx
mov edi, dword [0x45b820]
xor eax, eax
cmp edi, ebx
mov dword [0x45b828], eax
mov dword [0x45b82c], eax
mov dword [0x45b830], eax
mov dword [0x45b80c], edx
mov dword [0x45b828], 0x4509e8
mov dword [0x45b82c], 0x18
mov byte [0x45b830], al
je 0x41a0ee
push 0x45b828
push ebx
call edi
mov edi, dword [0x45b820]
add esp, 8
mov esi, dword [esp + 0x12ef4]
shr esi, 1
push esi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x5c], esi
call fcn.004302de
add esp, 4
push esi
mov ebp, eax
push ebx
push ebp
mov dword [esp + 0x58], ebp
call fcn.00433570
xor eax, eax
xor esi, esi
add esp, 0xc
cmp edi, ebx
mov dword [0x45b828], eax
mov dword [0x45b82c], eax
mov dword [0x45b830], eax
mov dword [esp + 0x34], esi
mov dword [0x45b828], 0x450a04
mov dword [0x45b82c], 0xd
mov byte [0x45b830], 5
je 0x41a15a
push 0x45b828
push ebx
call edi
add esp, 8
mov eax, dword [esp + 0x12ef4]
mov edi, dword [esp + 0x54]
push ebp
push eax
lea ecx, [esp + 0x40]
lea edx, [esp + 0x60]
call fcn.004156f0
xor eax, eax
mov dword [0x45b828], eax
mov dword [0x45b82c], eax
mov dword [0x45b830], eax
mov eax, dword [0x45b820]
add esp, 8
cmp eax, ebx
mov dword [0x45b828], 0x450a14
mov dword [0x45b82c], 0x14
mov byte [0x45b830], 0xa
je 0x41a1b7
push 0x45b828
push ebx
call eax
add esp, 8
push 0xfff
lea ecx, [esp + 0x10ee1]
push ebx
push ecx
mov byte [esp + 0x37], 0x7e
mov byte [esp + 0x10ee8], 0
call fcn.00433570
add esp, 0xc
push 0xfff
lea edx, [esp + 0x11ee1]
push ebx
push edx
mov byte [esp + 0x11ee8], 0
call fcn.00433570
mov eax, 0x80e18ab3
mul dword [esp + 0x64]
add esp, 0xc
shr edx, 9
mov dword [esp + 0x30], ebx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x54], ebx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
lea eax, [esi + ebp]
lea ebp, [esi + ecx]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov eax, ebp
shr eax, 0x18
cmp ecx, ebx
mov dword [esp + 0x48], ebp
mov byte [esp + 0x17], al
je 0x41a250
mov edi, dword [esp + 0x24]
mov esi, edx
sub esi, ecx
sub edi, ecx
cmp esi, edi
jae 0x41a250
mov byte [edx], al
lea eax, [edx + 1]
mov dword [esp + 0x20], eax
jmp 0x41a27b
cmp ecx, edx
mov esi, edx
jbe 0x41a25b
call fcn.00430872
push esi
lea eax, [esp + 0x1c]
push eax
lea edx, [esp + 0x1f]
push edx
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x28]
call fcn.004242e0
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov ebx, ebp
shr ebx, 0x10
test esi, esi
mov byte [esp + 0x17], bl
je 0x41a2a5
mov edx, dword [esp + 0x24]
mov ecx, eax
sub ecx, esi
sub edx, esi
cmp ecx, edx
jae 0x41a2a5
mov byte [eax], bl
add eax, 1
mov dword [esp + 0x20], eax
jmp 0x41a2cc
cmp esi, eax
mov edi, eax
jbe 0x41a2b0
call fcn.00430872
push edi
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1f]
push ecx
lea edx, [esp + 0x88]
push edx
call fcn.004242e0
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov ebx, ebp
shr ebx, 8
test esi, esi
mov byte [esp + 0x17], bl
je 0x41a2f6
mov edx, dword [esp + 0x24]
mov ecx, eax
sub ecx, esi
sub edx, esi
cmp ecx, edx
jae 0x41a2f6
mov byte [eax], bl
add eax, 1
mov dword [esp + 0x20], eax
jmp 0x41a321
cmp esi, eax
mov edi, eax
jbe 0x41a301
call fcn.00430872
push edi
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1f]
push eax
lea ecx, [esp + 0x80]
push ecx
lea eax, [esp + 0x28]
call fcn.004242e0
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
test esi, esi
mov bl, byte [esp + 0x48]
mov byte [esp + 0x17], bl
je 0x41a34a
mov edx, dword [esp + 0x24]
mov ecx, eax
sub ecx, esi
sub edx, esi
cmp ecx, edx
jae 0x41a34a
lea edx, [eax + 1]
mov byte [eax], bl
mov dword [esp + 0x20], edx
jmp 0x41a375
cmp esi, eax
mov edi, eax
jbe 0x41a355
call fcn.00430872
push edi
lea eax, [esp + 0x1c]
push eax
lea edx, [esp + 0x1f]
push edx
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x28]
call fcn.004242e0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x58]
lea ecx, [eax + 0x3f9]
cmp ecx, esi
mov dword [esp + 0x60], ecx
jbe 0x41a392
sub esi, eax
movzx ebx, si
jmp 0x41a397
mov ebx, 0x3f9
mov esi, dword [esp + 0x1c]
test esi, esi
mov byte [esp + 0x17], bh
je 0x41a3c0
mov ecx, dword [esp + 0x24]
mov eax, edx
sub eax, esi
sub ecx, esi
cmp eax, ecx
jae 0x41a3c0
mov eax, edx
mov cl, bh
add eax, 1
mov byte [edx], cl
mov dword [esp + 0x20], eax
jmp 0x41a3eb
cmp esi, edx
mov edi, edx
jbe 0x41a3cb
call fcn.00430872
push edi
lea eax, [esp + 0x1c]
push eax
lea edx, [esp + 0x1f]
push edx
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x28]
call fcn.004242e0
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
test esi, esi
mov byte [esp + 0x17], bl
je 0x41a410
mov edx, dword [esp + 0x24]
mov ecx, eax
sub ecx, esi
sub edx, esi
cmp ecx, edx
jae 0x41a410
mov byte [eax], bl
add eax, 1
mov dword [esp + 0x20], eax
jmp 0x41a434
cmp esi, eax
mov edi, eax
jbe 0x41a41b
call fcn.00430872
push edi
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1f]
push ecx
lea edx, [esp + 0x70]
push edx
call fcn.004242e0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
movzx edi, bx
jne 0x41a443
xor eax, eax
jmp 0x41a445
sub eax, ecx
add eax, edi
lea ecx, [esp + 0x18]
call fcn.004243d0
mov ecx, dword [esp + 0x1c]
test ecx, ecx
mov edx, dword [esp + 0x20]
jne 0x41a460
xor eax, eax
jmp 0x41a464
mov eax, edx
sub eax, ecx
sub eax, edi
test ecx, ecx
mov esi, eax
je 0x41a472
sub edx, ecx
cmp esi, edx
jb 0x41a47b
call fcn.00430872
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
push edi
push eax
add ecx, esi
push ecx
call fcn.0043dca0
add esp, 0xc
push 0x1c
call fcn.0042501f
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
mov byte [esp + 0x12ee8], 1
mov ebp, 1
je 0x41a4bc
push ebp
push 0xf
push eax
lea ecx, [esp + 0x24]
call fcn.00423270
mov esi, eax
jmp 0x41a4be
xor esi, esi
mov dword [esp + 0x34], esi
mov byte [esp + 0x12ee8], 0
call fcn.00423af0
mov eax, dword [esi + 4]
test eax, eax
je 0x41a4dd
mov ecx, dword [esi + 8]
sub ecx, eax
jne 0x41a4e2
call fcn.00430872
mov edx, dword [esi + 4]
mov dword [esp + 0x40], edx
mov eax, dword [esi + 4]
test eax, eax
jne 0x41a4f6
mov dword [esp + 0x44], eax
jmp 0x41a4ff
mov ecx, dword [esi + 8]
sub ecx, eax
mov dword [esp + 0x44], ecx
cmp dword [0x45b81c], ebp
jne 0x41a512
mov edx, dword [esp + 0x50]
mov eax, dword [edx]
mov edi, dword [eax + 4]
jmp 0x41a518
mov ecx, dword [esp + 0x50]
mov edi, dword [ecx]
or ebx, 0xffffffff
cmp edi, ebx
je 0x41a7ab
lea edx, [esp + 0x2b]
mov dword [edi + 0x184], edx
mov dword [edi + 0x18c], ebp
mov dword [edi + 0x190], ebp
mov byte [edi + 0x194], 0
xor esi, esi
mov eax, dword [0x45b820]
test eax, eax
je 0x41a557
lea ecx, [esp + 0x40]
push ecx
push 2
call eax
add esp, 8
cmp byte [edi + 0x14], 0
jne 0x41a561
xor al, al
jmp 0x41a5bb
cmp byte [edi + 0x15], 0
mov eax, dword [esp + 0x44]
jne 0x41a579
mov edx, dword [esp + 0x40]
push edx
mov ecx, edi
call fcn.00422460
jmp 0x41a586
mov ecx, dword [esp + 0x40]
push eax
push ecx
mov eax, edi
call fcn.00422260
test al, al
jne 0x41a59e
push edi
call fcn.004226b0
test al, al
jne 0x41a59a
mov dword [edi + 0x298], ebx
xor al, al
jmp 0x41a5bb
lea edx, [esp + 0x30]
push edx
push 0x1000
lea edx, [esp + 0x10ee4]
mov ecx, edi
call fcn.00422bc0
test al, al
setne al
movzx eax, al
test eax, eax
mov dword [esp + 0x2c], eax
jne 0x41a5e0
cmp dword [edi + 0x298], ebx
jne 0x41a5d3
mov esi, 0x19
mov eax, esi
add esi, ebp
cmp eax, 0x19
jl 0x41a542
mov esi, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x48], 0x1000
mov edi, edi
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x50]
push eax
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x11ee8]
push ecx
push esi
lea edx, [esp + 0x10ef0]
push edx
push eax
call fcn.00423420
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jne 0x41a6a3
push esi
lea ecx, [esp + 0x10ee0]
push ebx
push ecx
call fcn.00433570
add esp, 0xc
push 0x1000
lea edx, [esp + 0x11ee0]
push ebx
push edx
call fcn.00433570
add esp, 0xc
push str.call_the_printfinfo....
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea eax, [esp + 0x30]
push eax
push 0x1000
lea edx, [esp + 0x10ee4]
mov ecx, edi
call fcn.00422bc0
movzx eax, al
test eax, eax
jne 0x41a686
cmp dword [edi + 0x298], 0xffffffff
jne 0x41a686
mov ebp, 0x19
mov ecx, ebp
xor ebx, ebx
add ebp, 1
cmp ecx, 2
mov dword [esp + 0x2c], ebx
jge 0x41a6a3
mov esi, dword [esp + 0x30]
cmp esi, 4
jge 0x41a5f0
mov esi, dword [esp + 0x34]
call fcn.00423e00
push esi
call fcn.0042504a
add esp, 4
test ebx, ebx
je 0x41ab63
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
cmp edi, eax
mov ebx, eax
jbe 0x41a6d8
call fcn.00430872
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
cmp edi, eax
lea esi, [esp + 0x18]
jbe 0x41a6e5
call fcn.00430872
push ebx
push esi
lea eax, [esp + 0x20]
push edi
push eax
lea edx, [esp + 0x7c]
push edx
mov ebx, eax
call fcn.00424370
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x60]
mov ebp, 1
add eax, ebp
test eax, eax
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
mov dword [esp + 0x34], esi
mov dword [esp + 0x54], eax
jge 0x41a722
fadd qword [0x451b50]
mov eax, dword [esp + 0x5c]
fild dword [esp + 0x5c]
test eax, eax
jge 0x41a734
fadd qword [0x451b50]
fdivp st(1)
xor eax, eax
mov dword [0x45b828], eax
mov dword [0x45b82c], eax
mov dword [0x45b830], eax
mov dword [0x45b828], 0x450a14
mov dword [0x45b82c], 0x14
fmul qword [0x451b58]
call fcn.00434cf0
add eax, 0xa
cmp eax, 0x64
mov byte [0x45b830], 0x64
jg 0x41a77a
mov byte [0x45b830], al
mov edi, dword [0x45b820]
test edi, edi
je 0x41a796
push 0x45b828
push 0
call edi
mov edi, dword [0x45b820]
add esp, 8
cmp esi, dword [esp + 0x58]
jae 0x41a80e
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x4c]
xor ebx, ebx
jmp 0x41a210
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
mov edi, eax
jbe 0x41a7c6
call fcn.00430872
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
mov esi, ecx
jbe 0x41a7d9
call fcn.00430872
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp esi, edi
je 0x41a7fa
sub eax, edi
test eax, eax
lea ebx, [eax + esi]
jle 0x41a7f6
push eax
push edi
push eax
push esi
call fcn.00431041
mov ecx, dword [esp + 0x2c]
add esp, 0x10
mov dword [esp + 0x20], ebx
test ecx, ecx
je 0x41a807
push ecx
call fcn.0042504a
add esp, 4
xor eax, eax
jmp 0x41ab86
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.00432210
xor eax, eax
add esp, 4
test edi, edi
mov dword [0x45b828], eax
mov dword [0x45b82c], eax
mov dword [0x45b830], eax
mov dword [0x45b828], 0x450a2c
mov dword [0x45b82c], 0xf
mov byte [0x45b830], 0x5a
je 0x41a856
push 0x45b828
push eax
call edi
add esp, 8
mov edx, dword [esp + 0x38]
push ebp
push edx
lea eax, [esp + 0x20]
call fcn.00423e60
push 0x1c
call fcn.0042501f
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
mov byte [esp + 0x12ee8], 2
je 0x41a894
push ebp
push 5
push eax
lea ecx, [esp + 0x24]
call fcn.00423270
mov esi, eax
mov dword [esp + 0x38], eax
jmp 0x41a89a
xor esi, esi
mov dword [esp + 0x38], esi
mov byte [esp + 0x12ee8], 0
call fcn.00423af0
mov eax, dword [esi + 4]
test eax, eax
je 0x41a8b5
mov ecx, dword [esi + 8]
sub ecx, eax
jne 0x41a8ba
call fcn.00430872
mov edx, dword [esi + 4]
mov dword [esp + 0x40], edx
mov eax, dword [esi + 4]
test eax, eax
jne 0x41a8ce
mov dword [esp + 0x44], eax
jmp 0x41a8d7
mov ecx, dword [esi + 8]
sub ecx, eax
mov dword [esp + 0x44], ecx
cmp dword [0x45b81c], ebp
jne 0x41a8ea
mov edx, dword [esp + 0x50]
mov eax, dword [edx]
mov edi, dword [eax + 4]
jmp 0x41a8f0
mov ecx, dword [esp + 0x50]
mov edi, dword [ecx]
or ebx, 0xffffffff
cmp edi, ebx
je 0x41ab63
lea edx, [esp + 0x2b]
mov dword [edi + 0x184], edx
mov dword [edi + 0x18c], ebp
mov dword [edi + 0x190], ebp
mov byte [edi + 0x194], 0
xor esi, esi
lea ebx, [ebx]
mov eax, dword [0x45b820]
test eax, eax
je 0x41a935
lea ecx, [esp + 0x40]
push ecx
push 2
call eax
add esp, 8
cmp byte [edi + 0x14], 0
jne 0x41a93f
xor al, al
jmp 0x41a999
cmp byte [edi + 0x15], 0
mov eax, dword [esp + 0x44]
jne 0x41a957
mov edx, dword [esp + 0x40]
push edx
mov ecx, edi
call fcn.00422460
jmp 0x41a964
mov ecx, dword [esp + 0x40]
push eax
push ecx
mov eax, edi
call fcn.00422260
test al, al
jne 0x41a97c
push edi
call fcn.004226b0
test al, al
jne 0x41a978
mov dword [edi + 0x298], ebx
xor al, al
jmp 0x41a999
lea edx, [esp + 0x30]
push edx
push 0x1000
lea edx, [esp + 0x10ee4]
mov ecx, edi
call fcn.00422bc0
test al, al
setne al
movzx eax, al
test eax, eax
mov dword [esp + 0x2c], eax
jne 0x41a9be
cmp dword [edi + 0x298], ebx
jne 0x41a9b1
mov esi, 0x19
mov eax, esi
add esi, ebp
cmp eax, 0x19
jl 0x41a920
mov esi, dword [esp + 0x30]
xor ebp, ebp
mov dword [esp + 0x48], 0x1000
lea esp, [esp]
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x50]
push eax
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x11ee8]
push ecx
push esi
lea edx, [esp + 0x10ef0]
push edx
push eax
call fcn.00423420
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jne 0x41aa7f
push esi
lea ecx, [esp + 0x10ee0]
push ebx
push ecx
call fcn.00433570
add esp, 0xc
push 0x1000
lea edx, [esp + 0x11ee0]
push ebx
push edx
call fcn.00433570
add esp, 0xc
push str.call_the_printfinfo....
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea eax, [esp + 0x30]
push eax
push 0x1000
lea edx, [esp + 0x10ee4]
mov ecx, edi
call fcn.00422bc0
movzx eax, al
test eax, eax
jne 0x41aa62
cmp dword [edi + 0x298], 0xffffffff
jne 0x41aa62
mov ebp, 0x19
mov ecx, ebp
xor ebx, ebx
add ebp, 1
cmp ecx, 2
mov dword [esp + 0x2c], ebx
jge 0x41aa7f
mov esi, dword [esp + 0x30]
cmp esi, 4
jge 0x41a9d0
mov esi, dword [esp + 0x38]
call fcn.00423e00
push esi
call fcn.0042504a
add esp, 4
test ebx, ebx
je 0x41ab63
lea ebx, [esp + 0x18]
call fcn.00424230
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x7d0
call ebx
mov ebp, dword [esp + 0x50]
xor esi, esi
mov dword [esp + 0x4c], esi
lea esp, [esp]
mov edi, dword [ebp]
call fcn.0041d9d0
push 0x3e8
mov dword [ebp], 0xffffffff
call ebx
lea edx, [esp + 0x17]
push edx
lea eax, [esp + 0xa0]
push eax
mov ecx, 1
mov byte [esp + 0x1f], 8
call fcn.004180f0
add esp, 8
cmp byte [esp + 0x17], 0
je 0x41ab2b
mov eax, 0x21c8
lea esi, [esp + 0x9c]
call fcn.00435100
mov ecx, 0x872
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00418290
mov esi, dword [esp + 0x2214]
add esp, 0x21c8
mov dword [ebp], eax
cmp dword [ebp], 0xffffffff
jne 0x41ab3f
mov ecx, esi
add esi, 1
cmp ecx, 0x19
mov dword [esp + 0x4c], esi
jl 0x41aac0
cmp esi, 0x19
jl 0x41ab70
mov eax, dword [0x45b820]
test eax, eax
mov dword [0x45b810], 0x450988
je 0x41ab63
push str.Hex_has_beed_downloaded__the_driver_may_be_changed__and_cant_find_the_valid_diagnostics_port.
push 3
call eax
add esp, 8
lea esi, [esp + 0x18]
call fcn.00423e00
xor eax, eax
jmp 0x41ab86
mov ecx, dword [ebp]
call fcn.00415e60
lea esi, [esp + 0x18]
call fcn.00423e00
mov eax, 1
mov ecx, dword [esp + 0x12ee0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x12ec8]
xor ecx, esp
call fcn.0042fb8f
add esp, 0x12ed8
ret